PHPCon2015 oczami programisty…

W tym roku miałem przyjemność po raz drugi uczestniczyć w konferencji PHPCon – cyklicznej imprezie organizowanej przez Polish Linux User Group. W porównaniu z rokiem ubiegłym na uwagę zasługuje fakt, że liczba uczestników niemalże się podwoiła, tym samym organizator był niejako zmuszony znaleźć nowe, odpowiednie miejsce – Hotel Ossa w miejscowości Ossa (okolice Rawy Mazowieckiej).
W moim odczuciu miejsce bardzo dobre. Po całym dniu wykładów, przerywanych pysznymi posiłkami, można się było odpowiednio zregenerować w komfortowych, dobrze urządzonych pokojach.
Hotel jest ogromny – zdecydowanie największy w jakim kiedykolwiek byłem. Hitem wśród uczestników było publikowanie ilości kroków / dystansu przemierzanego każdego dnia podczas konferencji na wszelkiego rodzaju wykopach, twitterach czy googlach 😉
W tym roku FINGO wystawiło mocną 8-osobową ekipę, a dzięki uprzejmości Krzysztofa, którego poznaliśmy na ubiegłorocznej edycji PHPCona, część osób dotarła na miejsce jego samochodem.
Także dzięki uprzejmości Krzysztofa znajdziecie kilka zdjęć w treści.

spanie

Wykłady odbywały się równolegle i staraliśmy się jako tako dzielić w ramach FINGOwej grupy tak, aby skorzystać z jak największej ilości zajęć. Jak zwykle część była niezwykle interesująca, ale zdarzały się także te mniej ciekawe, co widać na załączonych zdjęciach.

Pierwszym wykładem, w którym uczestniczyłem, był „A complex ORM… faster than raw SQL?” Marco Pivetty – core developera dwóch bardzo znanych projektów phpowych – Doctrine ORM oraz Zend Framework. Wykład bardzo ciekawy, który utwierdził mnie w przekonaniu, że ORMa warto używać, ale… wiedząc jak działa i do jakich celów się nadaje (albo raczej: do jakich się nie nadaje). Autor starał się przekazać, że decydując się na ORMa, możemy a nawet powinniśmy część funkcjonalności, np. raportowanie realizować za pomocą optymalnych sqlowych kwerend. Przy okazji dosyć szczegółowo opowiedział o cache drugiego poziomu w Doctrine (L2 cache).

sala

Kolejną ciekawą prezentacją, prowadzoną przez duet Kacper Gunia i Mariusz Gil, był wykład na temat PSR-7, czyli umownej specyfikacji standardu HTTP w PHP, a konkretnie interfejsu Żądania i Odpowiedzi. Wraz z rozwojem mikroserwisów, SOA a szczególnie wraz z rosnącą w szalonym tempie liczbą frameworków i bibliotek phpowych kwestia rzeczywiście bardzo istotna i w pełni zgadzam się z prowadzącymi, że opracowanie / uzgodnienie takiego standardu pomiędzy programistami czołowych phpowych projektów jest wielkim sukcesem i wielką korzyścią dla całego środowiska. Przy okazji pojawiło się także trochę informacji na temat middlewarów i innych „technik” oraz w mojej ocenie trochę niepotrzebne wywody z Rubym w tle 😉

Sobotę rozpoczęliśmy od mocnego uderzenia czyli „PHP7 w praktyce”. Większość obecnych bardzo czekała na ten wykład. Aby jak najlepiej z niego skorzystać, zrobiliśmy gruntowne przygotowanie. Chyba nawet zbyt gruntowne, ponieważ niestety prowadzący zajęcia – Leszek Krupiński nie powiedział nic, czego już wcześniej nie wiedzielibyśmy. Podsumowując: wszyscy bardzo czekają na siódemkę, która z wielu powodów będzie przełomowa. Najważniejsze nowe możliwości to: opcjonalne statyczne typowanie argumentów i tego, co funkcje/metody zwracają, klasy anonimowe, nowe operatory, „wielkie sprzątanie” różnych dziwnych wynalazków z poprzednich wersji (np. tagi otwierania/zamykania skryptu czy konstruktory obiektów z wersji czwartej), a przede wszystkim bardzo, bardzo istotny wzrost wydajności języka w wielu sytuacjach, bijący na głowę facebookowy HHVM. Co ciekawe, wielu prelegentów prezentowało podczas wykładów fragmenty kodu wykorzystującego już teraz możliwości siódemki, a wiele projektów już teraz jest nie tyle kompatybilnych z siódemką, co wręcz przepisanych pod kątem nowych możliwości najnowszej wersji języka – która w dniu, kiedy trwała konferencja jeszcze nie została oficjalnie wypuszczona, natomiast oficjalnie wyszła 03. grudnia 2015r. (warto zapamiętać tę datę!)

Hexagonal architecture – message-oriented software design

Bardzo ciekawy wykład na temat architektury systemów/aplikacji Matthiasa Nobacka. W mojej ocenie znacznie poszerzający horyzonty programistów. Poruszone zostały m.in. aspekty separacji warstw oraz odpowiedniej interakcji warstw. Kilka case’ów bardzo czytelnie pokazało potencjalne problemy w przyszłości, jeśli architektura naszego systemu będzie niewłaściwa.

Doctrine ORM Good Practices and Tricks

Kolejny bardzo dobry, rzeczowy wykład Marco Pivetty. Tym razem konkretne omówienie budowy Doctrine ORM oraz zaprezentowanie wielu dobrych i złych przykładów użycia. Jednym z najważniejszych wniosków jest budowanie systemu w oparciu o model domenowy, a nie o model ORMowy. ORM to tylko warstwa wspomagająca zarządzania danymi.

Why Your Test Suite Sucks – Ciaran McNulty

Bardzo, bardzo dobry wykład. Wydawać by się mogło, że poświęcony głównie testowaniu, ale w istocie autor prezentacji chciał przekazać, że pisanie testów jednostkowych jest w stanie naświetlić wiele patologii w testowanym kodzie i zawczasu wymusić na programiście odpowiednie zrefaktorowanie, że nie musi być nielubianą, nudną i traktowaną jako zło konieczne czynnością, a może być po prostu pomocne w pisaniu dobrego kodu.

Redis – Sebastian Grodzicki

Moim zdaniem jeden z najlepszych wykładów podczas tegorocznej edycji. Bardzo rzeczowo i fachowo omówione konkretne przykłady użycia Redisa w aplikacji GoldenLine. Autor omówił typy natywne, m.in. mapę bitową, sety oraz porównał możliwości ich użycia i wynikające z tego korzyści w stosunku do Memcached.

Code review – jak krytykować – Maciej Iwanowski

Po nieco zbyt długim wstępie pojawiło się trochę konkretów oraz sporo interesujących liczb. Wniosek najważniejszy: warto robić code review.

Jak najbardziej polecam udział w tej konferencji. Każdy programista PHP znajdzie coś interesującego. W tym roku więcej prelekcji w porównaniu do poprzedniej edycji dotyczyło architektury systemów co mi osobiście bardzo odpowiada i może wskazywać pewien trend, bowiem agenda konferencji przygotowana jest w oparciu o głosy zarejestrowanych użytkowników.
Nie bez znaczenia dla takich wyjazdów jest również integracja po wykładach, która w tym roku przebiegła równie dobrze, co w ubiegłym.

after

Jakub Wrona
About

Software developer, husband, dad. I find myself pragmatic and solution oriented. Common sense passionate looking for the balance between strictness and looseness.