Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: PHP Naprawdę zaaawansowane
Forum PHP.pl > Forum > PHP
PotasK
Doszedłem do pewnego momentu w mojej przygodzie z PHP, kiedy artykuły z internetu przestają tak naprawdę wystarczać, kiedy "zaawansowane" porady / tutoriale / itp. okazują się nie tak bardzo zaawansowane. Staram się czytać książki, z których czasem coś nowego da się dowiedzieć, "bawię się" frameworkami, poznając ich budowę i złożoność. Obecnie czekam na książkę "PHP. Zaawansowane programowanie", którą zamówiłem w przedsprzedaży. Ciągle jednak czuję niedosyt, mógłbym całymi dniami siedzieć i poznawać kolejne aspekty PHP, jednak ostatnio coraz więcej czasu zajmuje mi odnajdywanie przydatnych informacji, przez co wychodzi na to, że kilka godzin przeglądam internet tylko po to, żeby przeczytać artykuły zajmujące mi nie więcej niż 30 minut i wprowadzające niewiele nowego.

Dlatego zwracam się do Was - ponieważ wiem, że na forum tym pojawiają się naprawdę dobrzy programiści - abyście pomogli mi w dalszym kształceniu.

Poszukuję artykułów, książek, czegokolwiek, związanego przede wszystkim z architekturą PHP, projektowaniem dużych, rozbudowanych systemów, a także opracowań pojedynczych aspektów związanych z PHP, takich jak HTTP request-response, czy też sprawy wydajnościowe.

Mam niesamowite łaknienie wiedzy pomimo tego, że (jak się wydaje) im więcej wiem, tym jeszcze więcej pojawia się niejasności.

Z góry dziękuję za wszelkie porady, linki, itp., itd.
Bardzo doceniam Waszą pomoc.
Fluke
Może zainteresował byś się inżynierią oprogramowania albo zaczął czytać książki na temat algorytmiki ?
tehaha
no i wzorce projektowe, jak dobrze przjerzysz dział książki to znajdziesz tam kilka ciekawych zaawansowanych pozycji Forum: Ksiazki
lukaskolista
http://php.net/manual/pl/index.php
To nie zart, przegladaj manual rozdzial po rozdziale, wtedy zobaczysz, jak wielu rzeczy nie wiesz. Przegladajac nie ograniczaj sie jedynie do naglowkow, czytaj tez komentarze i przyklady tworzone przez uzytkownikow. To na prawde duzo daje.

Niestety w manualu wzorce projektowe sa bardzo slabo omowione, praktycznie w ogole, wiec w tej kwestii pozostaja ksiazki. Jezeli nie doszedles jeszcze do etapu ksztalcenia sie na podstawie artykulow w jezyku angielskim to najwyzszy czas - po polsku faktycznie prawie nic nie ma, natomiast po angielsku jest calkiem sporo.
PotasK
@Fluke
Inżynierią oprogramowania zacznę się zajmować trochę bardziej poważnie od października (studia), natomiast co do algorytmiki mam kilka książek, które traktują praktycznie tylko o tym (najlepsza jaką czytałem to "Algorytmy, struktury danych i techniki programowania" Piotra Wróblewskiego).

@tehaha, @lukasolista
Z wzorcami stoję podobnie jak z algorytmami, czyli ciężko mi określić, czy wiem mniej, czy więcej, ale cały czas się kształcę, głównie przy pomocy książek.
Co do manuala, to przeglądam regularnie, włącznie z komentarzami. Jednak tutaj dzieje się to, o czym pisałem wcześniej - pół dnia szukania dla paru drobnych informacji.
A apropos artykułów anglojęzycznych, to czytuję ich chyba więcej niż polskich (bo tych polskich na wysokim poziomie prawie nie ma).

W każdym bądź razie - dziękuję za odpowiedzi i czekam na kolejne porady smile.gif
tehaha
to może napisz czego szukasz, bo napisałeś wcześniej:
Cytat
związanego przede wszystkim z architekturą PHP, projektowaniem dużych, rozbudowanych systemów, a także opracowań pojedynczych aspektów związanych z PHP
To jest właśnie inżynieria programowania i wzorce projektowe, bardzo obszerne i trudne tematy. Poza tym "znać" a "umieć zastosować praktycznie" to są 2 różne światy. To, że przeczytasz artykuł o jakimś konkretnym wzorcu to nie znaczy już go umiesz. Nauka programowania to wiedza teoretyczna + praktyczne zastosowanie. Więc musisz zacząć projektować i tworzyć duże systemy, a nie tylko przeczytać artykuł o tym.

A co do studiów to nie licz, że nauczysz się tam profesjonalnie programować - studia mają bardzo obszerny program i są jedynie wprowadzeniem do wielu tematów na poziomie podstawowym. Jak chcesz się dobrze nauczyć programować to musisz to zrobić na własną rękę, na studiach oczywiście też poznasz sporo ciekawych i przydatnych rzeczy, ale nie będziedz przez 4 lata tylko programować w php.

I jeszcze apropo książki - to, że ona się nazywa "zaawansowane programowanie" to nie znaczy, że zawiera zaawansowany materiał. Szczerze mówiąc to wygląda dość słabo bo jest o wszystkim i o niczym. Porusza wiele tematów, ale każdy opisany na 1-3 stronach, czyli będzie to zaledwie wprowadzenie, czyli dowiesz się tylko, że coś takiego istnieje. Ponadto ona nie jest o programowaniu tylko ogólnie o webmasteringu. Tak jak już Ci pisałem, przejrzyj dział Książki na forum to znajdziesz kilka na prawdę zaawansowanych książek.
PotasK
Co do praktycznego zastosowania, to codziennie piszę, testuję, itd. Staram się każdy kod udoskonalać tak, że czasem jest przepisywany po kilkadziesiąt razy. Z wdrażaniem teorii w praktykę nie mam więc problemu. Tym bardziej, że powoli piszę frameworka (właśnie dla poszerzania swojej wiedzy), przy czym napotykam sporo problemów i muszę przyznać, że pozwala mi to dość dynamicznie się rozwijać, pomimo że na chwilę obecną przypomina to trochę syzyfowe prace.

O studiach - mam tego świadomość, jednak chodzi mi właśnie o to, że tam zostanę naprowadzony na pewne rzeczy, które mi się przydadzą w przyszłości.

To samo tyczy się książki. Są książki wyczerpujące temat i książki poruszające temat. Kupuję i jedne i drugie, bo dzięki tym drugim wiem czego szukać. Forum "Książki" właśnie przeglądam, jest tego dużo, więc chwilę mi to zajmie, ale tak jak mówisz, pewnie znajdę kilka pozycji dla siebie.
Pilsener
Nie za dużo wymagasz od PHP? Twoje oczekiwania niebezpiecznie ocierają się o obszar, w który wchodzą duże systemy (np. klasy ERP) gdzie nie wystarczy skrypt, lecz potrzebny jest program - w PHP da się oczywiście programować ale wciąż jest to język interpretowany a nie kompilowany, prosty, szybki, idealny tam gdzie jest zazwyczaj używany.

Cytat
abyście pomogli mi w dalszym kształceniu.
- chętnie pomogę, zainteresuj się językami w których powstają duże projekty (np. SAP), systemami używanymi w bankach i tak dalej. W PHP oprogramowania dla ZUS nie napiszesz thumbsdownsmileyanim.gif

Można się oczywiście PHP zachwycać, teoretyzować, ale nie zmieni to faktów a te są takie, że w PHP się tworzy rozwiązania pozostające poza głównym modelem biznesowym dużej firmy w związku z tym wymagania i pieniądze są dużo mniejsze.
Orzeszekk
zainteresuj się Javą / .NET to są jezyki do zastosowan enterprise...

programowac skomplikowane rzeczy w PHP mozna ale się nie oplaca bo jest to trudniejsze niz z wyzej wymienionych językach z racji tego ze php to nie jest jezyk do takich zastosowań. No i brakuje do niego narzędzi tak dobrych jak wyzej wymienione.

Php jest fajny jak sie stawia po kosztach stronki albo sklepy internetowe zmieniajac w nich arkusz css i przerabiajac jakis tam CMS, w momencie gdy przychodzi do napisania trudnej logiki biznesowej okazuje sie ze statycznie typowane jezyki z dobrze rozwinieta obiektowoscia są po prostu tansze bo wymagaja mniej wysilku od programistów niz open sourcowy php, pelen bledow i niescislosci.


w moim przypadku php wyrabia złe wzorce programistyczne, i przejscie na .net bylo jak odchamienie. nie wiem jak to sie dzieje ale w przypadku .net wzorcow i ogolnie dobrych praktyk uzywa sie bardziej naturalnie to wychodzi samo z siebie, natomiast w php robi sie jakies dziwne twory nawet jak chce sie dobrze.

i ta odwieczna choroba programistów php "pisze wlasny framework".. zabawa w duze systemy nie polega na pisaniu wlasnych rozwiazan tylko adoptowaniu juz istniejacych standardow dzieki czemu duze zespoly moga z soba wspolpracowac. nie tędy droga.. naucz sie dobrych frameworków zamiast tworzyc własne, to bedzie duzo bardziej rozwijajace niz odkrywanie koła na nowo. Mówie z autopsji. Jak koniecznie chcesz zostac przy PHP, to zainteresuj sie chociaz symfony 2, bo ono ze wszystkich frameworkow php jest najbardziej nastawione na pisanie aplikacji typu enterprise, zamiast na zrobienie na szybko prostej stronki w jak najprotszy sposob wymagajac od programisty jak najmniej wiedzy.

jednak nie rozumiem dlaczego mialbys chciec tak bardzo zostac przy PHP, java/net to jezyki w pelni przenosne (znasz jeden, napiszesz wszystko, zarowno apke na smartfona jak i desktop jak i www), a nie tylko webowy, zarobki są wieksze, mozliwosci rozwoju tez, piszac w php napotkasz w pewnym momencie sciane poza ktora bedzie ci ciezko wyjsc bez przekwalfikowywania sie, a wtedy bedzie ci szkoda juz zrobionych w PHP lat. To jest oczywiscie moja subiektywna opinia, i nie musi sie pokrywac z ogolnie przyjetymi wierzeniami, natomiast ja bardzo szczesliwy jestem, że nigdzie na programiste PHP mnie nie chcieli i w koncu trafilem do firmy zajmujacej sie .NETem, z prostego powodu. w PHP robi sie rzeczy budzetowe, jak sie ma kase to sie inwestuje w jave albo asp.net, a jak klient ma kase to i dla programistów wiecej kasy zostanie, niz przy budzetowym projekcie. wole pracowac dla tych bogatszych niz dla ludzi ktorych nie stac na hosting asp.net bo skad taki klient ma miec kase na dobrą płace dla programisty, ew skąd firma żyjąca z takich ludzi ma dac dobry hajs swoim pracownikom?

co do IO, to bardzo dobre materialy i po polsku sa na stronie "Ważniak" uniwersytetu warszawskiego. Wpisz w gogle wazniak mimuw i na pewno ci znajdzie.

no i szukaj stazy/pracy jak najszybciej, praca np na II/III roku studiow nawet za biedne pieniądze, da ci w pare miesiecy wiecej wiedzy programistycznej niz 5 lat studiów, i w konsekwencji znacznie lepsze zarobki w przyszlosci. Nie zdziwilbym sie gdyby osoby ktore skoncza informatyke, na trójach, chlając cale studia i nie interesując sie niczym, zasilily szeregi lamentujacych "po studiach pracuje za 1000zł!". Placa tyle ile umiesz, bedac na 2 czy 3 roku te tysiac czy 2 tys zl idzie jeszcze przezyc, ba nawet wtedy to niezla kasa, natomiast po skonczeniu studiow czlowiek ma juz wymagania, wiec lepiej wziac sie za prace jak najwczesniej zeby pozniej nie bylo zdziwienia.

najlepiej to pojsc na stazyste do jakiejs dobrej firmy, kolega tak trafil za smieszne pieniadze, za to jest zauroczony tym ile sie tam nauczyl i jakie mu ten staż dał wielkie mozliwosci rozwoju. Ma opieke starszych doswiadczonych programistow i inzynierow, ktorzy niejednokrotnie maja znacznie wieksza wiedze i perspektywy niz twoi wykladowcy na uczelni, i moga go tez znacznie wiecej tego nauczyc. no i kolega na codzien tam obcuje z systemami ERP, wiec musial sie bardzo szybko douczyc wielu dobrych praktyk zeby siasc do takich duzych projektow, ale spokojnie, we wszystkim mu pomogli. mozna powiedziec ze firma dostrzegla w chlopaku potencjał i "wychowuje" sobie programistę.

Mam takiego kolege ktory byl na tyle przewidujący ze zaczal pracowac na 1 roku w .net, obecnie konczy magisterke no i w zasadzie ze stazu wychodzi mu senior programista, ja bedac 2 lata mlodszy nie mam takiego stazu, a o pieniadzach ktore mu ostatnio zaproponowali poki co moge pomarzyć tongue.gif i mysle ze od takich ludzi wlasnie biora sie miejskie legendy ze o - programista, skonczyl studia, i zaraz dostal od razu po skonczeniu studiów! 10 tysiecy na miesiac! super studia pojdziesz bedziesz mial kupe pieniedzy po nich! owszem - bedziesz mial. jak dobrze te 5 lat wykorzystasz. samo studiowanie raczej nie wystarczy, polskie uczelnie to nie MIT ani stanford
lukaskolista
Cytat
programowac skomplikowane rzeczy w PHP mozna ale się nie oplaca bo jest to trudniejsze niz z wyzej wymienionych językach z racji tego ze php to nie jest jezyk do takich zastosowań
Przeczytalem caly Twoj post i nie znalazlem nigdzie argumentu, ktorym potwierdzilbys swoje zdanie. Zajrzyj do manuala, przeyjrzyj biblioteki dostepne dla php a dopiero pozniej pisz, ze ten jezyk nic nie potrafi.

Cytat
.NET to są jezyki do zastosowan enterprise...
Popisales sie wlasnie swoja wiedza. .net to nie jezyk.

Cytat
no i szukaj stazy/pracy jak najszybciej, praca np na II/III roku studiow nawet za biedne pieniądze, da ci w pare miesiecy wiecej wiedzy programistycznej niz 5 lat studiów
Niekoniecznie, jak bedziesz robil proste skrypciki na stronki to raczej nie.
d3ut3r
// offtop start

coś ostatnio zrobiła się moda na przepychanki php vs reszta świata smile.gif Jako programiści nie możemy zamykać się na jedną technologię dzisiaj PHP a jutro można próbować napisać coś w PERL albo na platformie .NET z większym doświadczeniem łatwiej rozwiązywać problemy które nam stają na drodze. Ale wątków o tym na forum jest bardzo wiele nie ma sensu tutaj startować z kolejną dyskusją.

// offtop stop smile.gif

Do autora, być może czas na rozszerzenie horyzontów, poczytaj / poeksperymentuj np z node.js, mongoDB, sphinx. Trudno określić co dokładnie już wiesz a czego jeszcze nie smile.gif
PotasK
Muszę się zgodzić co do tego, że PHP ma pewne ograniczenia. Stwierdziłem jednak, że jako najpowszechniejszy język, może się okazać przydatny jeśli poznam go naprawdę dobrze.

Wcześniej trochę pisałem w C++, czy C# (o Pascalu nie będę wspominał nawet tongue.gif), ale był to jakieś proste programiki. Jedynie w C# raz napisałem prosty komunikator internetowy (prosty, dla 2 osób, na zasadzie jedna osoba hostuje serwer, a druga jest "klientem" i mogą między sobą przesyłać krótkie wiadomości tekstowe).

Apropos rozwijania się w kierunku innych języków, ostatnio zastanawiam się nad Javą. Może jakoś niedługo się za to zabiorę. Poza tym chciałbym trochę się obeznać z frameworkami takimi jak RoR, czy wspomniany .NET.

Co do studiów już się wypowiedziałem - mam świadomość, że tam dostanę tylko zalążek tego, co mi potrzebne, jednak zamierzam iść na staż(e?), nawet bezpłatne, bo w tym momencie wiedza jest dla mnie ważniejsza od pieniędzy. Ale to są plany na przyszłość, bo jak na razie nie znam nawet wyników matury, a co dopiero o studiach mówić - jeszcze 4 miesiące samokształcenia mnie czekają.

Cytat
coś ostatnio zrobiła się moda na przepychanki php vs reszta świata

Jak tak patrzę, to te przepychanki już 4 lata temu były tongue.gif Wcześniej nie wiem, bo się tak nie interesowałem.
darko
Poczytaj o:
- programowaniu TDD i pisaniu testów jednostkowych
- PHP i CI (continuos integration: CruiseControl, Xinc, php-under-control, phing, ant)
- budowaniu własnych rozszerzeń PHP i rozszerzaniu silnika Zend
- projektowaniu dobrego API i własnego systemu templatów
- integracji php z usługami zdalnymi
- o php w środowisku rozproszonym
Mogę Ci polecić książkę George Schlossnagle - Advanced PHP programming
//edit
Zapomniałbym o jakiś skomplikowanych wyrażeniach regularnych smile.gif
irmidjusz
Wiele bardzo wartościowego materiału na interesujące Cię tematy przyswoisz sobie czytając książki poświęcone Javie lub wykorzystujące ten język do pisania przykładów, więc skoro szukasz czegoś rozwojowego, to nie ograniczaj się do PHP w tytule wink.gif I jak Fluke już napisał, ogólnie temat inżynierii oprogramowania też może być Ci pomocny.

Poza tym, oburącz podpisuję się pod poradą darko!
greycoffey
Jeśli znasz angielski na poziomie jako takim (nawet nie trzeba mieć dobrego słuchu do języka, są napisy) to zapraszam na coursera.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.