PHP WIEDZA

0

Hejka.
Nasuwa mi się dużo pytań związanych z PHP, choć nie tyko...
Chciałbym poznać waszą opinie, wiedzę i doświadczenie...
Można czytać różnego rodzajów kursy, książki, ale tam zapewne nie ma wszystkiego.
O co właściwie mi chodzi?
Skąd wy czerpaliście wiedzę i doświadczenie, odnośnie różnego rodzaju: Pojęć, sposobów programowania, trików, ciekawostek, składni [to akurat jest w dokumentacji], różnego rodzaju ułatwień, wzorców projektowania[jakieś/ jakie?], Jakieś zabezpieczenia, Smarty, Frameworków i innych których być może nie znam, a chciałbym zaznajomić się z tą wiedzą. Jakie są jeszcze pojęcia praktycznie i użytecznie? (nie mówię tu o składni)
Czego polecacie się nauczyć, co jest użyteczne i przydatne, nakreślicie mi może ścieżkę opartą na naszym doświadczeniu.
Kurs php [składnia, obiektowość, bazy danych(uogólniam)] -> ... co dalej waszym zdaniem jest przydatne i użyteczne?

0

Nie jestem programistą PHP, ale uczyłem się C++ i Ci powiem uczyłem się z książki wspomagając się kursami na internecie (google/youtube) do tego rozwiazywalem sobie zadania z spoj albo inne tam konkursy pytałem się nauczycieli czy mogą mi dać jakieś zadania z C++ i tym oto sposobem uczę się dalej ("Programista uczy się całe życie") języka C++

3

Internet, w tym kursy php (tu pułapka - wiele jest przestarzałych/niskiej jakości - można się nauczyć złych nawyków), oczywiście dokumentacja.

Sporo dowiedziałem się na praktykach studenckich/stażu/pracy - chyba najwięcej, bo to najbardziej praktyczne. Trzeba jednak podejmować działania samemu wcześniej.

Podstaw sobie jasne cele - projekty, które chcesz zrealizować. Moje pierwsze projekty:

  • uploader plików z dir listingiem [podstawy + częściowo poznałem kwestie bezpieczeństwa]
  • zabezpieczenie tego na hasło [mechanizm sesji + bezpieczeństwo]
  • hm. pewien rodzaj formularza, dla graczy na lokalnym serwerze CS - gdzie ludzie uzupełniali informacje takie jak - nick[i], dane kontaktowe, ulubione mapy, bronie, preferowane godziny gry. tam też ogłoszenia jakichś większych turniejów. całość - na grafice imitującej okienka z gry cs (przyciski, inputy w tym stylu: http://is.gd/rWh1o5 - każdy wpis to było osobne "okienko"). [przechowywanie danych w plikach, bezpieczeństwo, podstawy cięcia grafiki]
  • (porzucony) system cms - całe szczęście, że porzucony, bo jednak z tamtą wiedzą przygotowałbym coś bardzo słabego o brzydkim kodzie [ale jednak: obsługa mysql, bezpieczeństwo]
  • mniej "poprawny" projekt (młody byłem) - kiedyś, za czasów popularności rapidshare i podobnych - były strony typu "rapidleech" - podajesz linka, to coś ściąga ten plik do siebie i podaje Ci direct linka. był też drugi, podobny system - który gorzej radził sobie ze ściąganiem - ale miał możliwość dzielenia plików na części (a pliki na rapidshare miały maksymalny rozmiar). samo rapidshare miało z kolei możliwość wrzucenia do 40 zadań pobrania plików z direct linków i zapisania ich na Twoje konto (stare zadania trzeba było kasować). napisałem więc bota, który: parsował rssy jakiejś stronki z filmami - wybierał z nich preferowane linki, dodatkowo - jeżeli była - obrazek/plakat oraz opis filmu. jeżeli tych danych nie było - wyszukiwał je na imdb - potem używając curla używał pierwszego leechera do pobrania takiego filmu. otrzymany link wysyłał do drugiego leechera. potem na drugim leecherze wywoływał opcje dzielenia pliku na części. potem logował się na rapidshare, usuwał ukończone zadania z remote uploadu (pobierając od razu wygenerowane linki do poprzednich zadań), wrzucał tam podzielone części. z zebranych danych (linki rapidshare i informacje o filmie - generował całe posty, które można było wrzucać na forumy). projekt porzuciłem po napisaniu obsługi logowania się na forumy phpbb i możliwości automatycznego wrzucania postów - na szczęście, bo choć całość była gotowa do pracy zdalnej - to jeszcze by mnie za to zamknęli :P brakowało przygotowania bazy danych forów, wraz z ID działów, do których powinno się te posty wrzucać. [tu sporo się nauczyłem: obsługa cURL (ogółem), parsowanie odpowiedzi (regexpy, z początku parsowanie robiłem dosyć.. żałośnie), obsługa logowania na inne strony poprzez skrypt, z żadnych api nie korzystałem (rapid chyba nie miał, imdb - nie wiem), całość na bieżąco pokazywała postęp wypluwając szereg tagów <script> w połączeniu z ob_flush - a tego zwyczaju nauczyłem się analizując kod rapidleecha (open source)]

A potem poszedłem do pracy ;) Naprostowałem złe nawyki nauczone wcześniej, nauczyłem się dużo nowego (np. jako takiej obiektowości - do tej pory wszystko strukturalnie)

Cały czas pogłębiam wiedzę - piszę (drugi) własny system CMS, w zasadzie już aplikację webową (wszystko w ajaxie) niż typową stronkę - dbam o najmniejszy szczegół kodu, po raz pierwszy korzystam z takich cudów jak klasy abstrakcyjne, dziedziczenie itd - do tej pory w firmach spotykałem się z kodem średniej jakości (z tego co wiem - prawie wszędzie tak jest) - bo się go produkuje szybiej (choć gorzej rozbudowuje), więc takie cuda jak klasy abstrakcyjne nie były w użyciu.

Więc - najlepiej postaw sobie szereg celów - potem bierz się za kursy i inne materiały - Internet w zupełności wystarczy - i dobieraj je tak, żeby realizować poszczególne cele. Całość zajmie Ci dużo czasu - jest dużo do nauki (wszak głupia strona to już znajomość HTML, CSS, JS [w tym AJAX], PHP, MYSQL - a każda dziedzina jest rozbudowana). Powodzenia :)

0

Pisz kod zrozumialy dla ludzi, nie tylko dla maszyn i staraj sie analizowac kazdy fragment czy nie da sie tego zrobic lepiej/wydajniej/ladniej, etc. W pracy nie bedziesz mial czasu na pisanie przyjemnego kodu, wiec lepiej od razu zaczynac ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1