Blog

28 sierpnia 2015 Tomasz Tarnowski

Dutch PHP 2015 (cz. 1)

Tagi: ,

Dutch PHP 2015 (cz. 1)

W dniach 25-27 czerwca w Amsterdamie, jak co roku odbyła się konferencja DutchPHP, zrzeszająca pasjonatów i specjalistów z dziedziny programowania w języku PHP. Prelegentami są znane autorytety naszej branży, a tematyka jest związana zarówno z PHP jak i technologiami powiązanymi (np. JavaScript) oraz metodykami wytwarzania oprogramowania (Agile, Wzorce projektowe, Architektura aplikacji).

Podróż

W tym roku nasza firma jako przedstawicieli wystawiła czteroosobowy skład (Ja, Olek, Rafał i Andrzej). Naszą przygodę rozpoczęliśmy 25 czerwca od lotu do Eindhoven o 7 rano. Lot odbył się bezproblemowo, a dla części z nas była to pierwsza podróż samolotem i zarazem bardzo ciekawe przeżycie. Wylądowaliśmy zgodnie z czasem i po 30 minutach wyruszyliśmy autobusem z pod lotniska prosto do centrum Amsterdamu, co ciekawe nasza 120 kilometrowa podróż trwała prawie dwa razy dłużej niż lot. Kilka godzin później około 15 po kilku perypetiach związanych z zakwaterowaniem byliśmy już zameldowani w hotelu.

Amsterdam

Oficjalne otwarcie konferencji miało miejsce 26 czerwca, dzień wcześniej odbywa się wydarzenie o nazwie “Tutorial Day”, jest poświęcone warsztatom praktycznym i kończy się tzw. “DPC CodeNight” kiedy to developerzy dobierają się w zespoły i przez całą noc pracują nad projektami. Nasze uczestnictwo obejmowało jedynie samą konferencję, dlatego pierwszego dnia nasz czas przeznaczyliśmy na zwiedzanie miasta. Wspólnie postanowiliśmy, że pierwszym obiektem, który odwiedzimy będzie muzeum Heinekena – moim zdaniem wybór okazał się jak najbardziej trafny.

DSC_0134

DSC_0138

W cenie biletu jest oczywiście degustacja piwa, a dodatkowo istnieje możliwość załapania się na darmowy rejs kanałami miasta, co nam się szczęśliwie udało i pochłonęło resztę naszego popołudnia. Wieczór poświęciliśmy na zwiedzanie ulic ścisłego centrum, po czym udaliśmy się do hotelu na spoczynek w celu zregenerowania sił przed kolejnym dniem.

DSC_0155

Amsterdam, zrobił na mnie ogromne wrażenie, zachwyciła mnie urokliwa architektura – mosty kanały, niska zabudowa, kamienice, kawiarnie przy uliczkach, a także unikalny klimat – wspaniała atmosfera, wszechobecny luz, ogółem ma się wrażenie, że życie toczy się tam na niższych obrotach niż u nas. Z całą pewnością jeszcze nie raz tam wrócę.

DSC_0177

DSC_0176

Konferencja – Dzień I

Konferencja odbywała się w budynku hali Amsterdam RAI, o 9:00 pojawiliśmy się na miejscu. Po dokonaniu rejestracji i otrzymaniu plakietek umożliwiających wejście na teren wydarzenia, ruszyliśmy w kierunku stoisk sponsorów, których w tym roku nie było zbyt wiele. Moją uwagę zwróciły jedynie JetBrains z konkursem, w którym można było wygrać licencję PhpStorm, Silverstripe – firma z Nowej Zelandii rekrutująca developerów do pracy nad open source’owym cms’em o tej samej nazwie oraz stoisko Coolblue, gdzie przy pomocy smartfona można było zdalnie sterować małym samochodem.

Keynote

O godzinie 9:30 na głównej auli nastąpiło oficjalne otwarcie konferencji, na początku przedstawiono tegorocznych sponsorów oraz plan wykładów z kilkoma istotnymi informacjami, a następnie Josh Holmes wygłosił Keynote. Myślą przewodnią wystąpienia była zachęta do poszukiwania swojego mentora. Omówił zalety przedstawiając mentora jako osobę pozwalającą nam się ukierunkować, co ma sprzyjać szybszemu rozwojowi. Podążanie swoją ścieżką kariery wyłącznie na własną rękę porównał do błądzenia po omacku. Następnie przedstawił całą swoją ścieżkę kariery podzieloną na etapy, po czym do każdego przypisał człowieka, który mu wtedy towarzyszył i którego w tamtym momencie podziwiał. Stwierdził, iż gdyby nie jego mentorzy nigdy nie znalazłby się w miejscu, w którym obecnie jest. Przemówienie było zwięzłe, rzeczowe, pełne energii i w pewien sposób mnie zainspirowało, po zakończeniu wszyscy udali się do sal wykładowych.

Na DutchPHP wykłady tradycyjnie dzielą się na bloki (w pierwszym dniu było ich 6, w drugim 5) każdy z bloków to równocześnie odbywające się 5 prelekcji, z różnej dziedziny, można było wyróżnić takie obszary jak FrontEnd, DevOp, tematyka “z lotu ptaka”, a także niskopoziomowe zagadnienia typu Tipsy i Triki PhpStorma. Każdy z naszego 4 osobowego składu dokonał wyboru według własnych preferencji, z tym że były one na tyle różne, iż tylko kilka razy spotkaliśmy się na tych samych wystąpieniach. Moja ścieżka pierwszego dnia wyglądała następująco:

  • SOLID Refactoring
  • React.js: Super-fast Single Page Web Applications
  • The quest for global design principles
  • ElasticSearch in action
  • Asynchronous PHP
  • Deep Dive into Browser Performance

Wykłady

SOLID Refactoring (Scato Eggen)
Było to bardzo ciekawe przedstawienie polegające na refactoringu kodu “na żywo”. Na początku prowadzący przedstawił kawałek legacy kodu napisanego strukturalnie rozwiązującego pewien problem, z zamiarem zrefaktoryzowania go. Pierwszy krok rozpoczął od napisania testów w Behat pokrywających kod end-to-end, po czym małymi krokami przenosił kod, wydzielał klasy, metody i pola biorąc pod uwagę każde z pryncypiów zawartych w SOLIDzie z osobna, dodając od siebie krótki komentarz. Cała prezentacja spodobała mi się, prelegent zmieścił się w 45 minutach, testy na końcu przeszły prawidłowo, a technika refaktoryzacji, którą przedstawił na tyle mnie zaciekawiła, iż obecnie sam staram się stosować takie podejście w refaktoryzowanym przeze mnie kodzie. Jedyne zastrzeżenie jakie mam ze swojej strony to brak refaktoryzacji z użyciem TDD, ale zakładam, iż ciężko by było się po prostu zmieścić z tym wszystkim w tak krótkim czasie.

React.js: Super-fast Single Page Web Applications
Kolejne wystąpienie dotyczyło biblioteki react.js – ciekawa prezentacja mająca na celu przedstawienie zasad działania oraz możliwości rozwiązania. Z pewnością mogła zaciekawić kogoś mocno zaangażowanego w tematykę front-end.

DSC_0159

Global Design Principles (Mathias Noback)
Wykład odnosił się do przeniesienia wzorców i pryncypiów stosowanych w projektowaniu obiektów na poziom projektowania aplikacji, serwisów, czy api. Wiele poruszonych kwestii na pierwszy rzut oka wydawało się trywialnych jednak często w praktyce właśnie z tego powodu nie zwraca się na nie uwagi. Konkretnie zagadnienia były związane z tworzeniem i wysyłaniem wiadomości w kontekście CQS, zależności pomiędzy aplikacjami, niezmienności(mutability) obiektów, ukrywania szczegółów implementacji oraz metod tworzenia “odkrywalnego” api. Według mnie był to najlepszy wykład dnia pierwszego, każda poruszana kwestia była przedstawiona w jasny sposób i oparta o konkretny przykład.

ElasticSerach in action (Thijs Feryn)
Wprowadzenie i pokazanie możliwości silnika wyszukiwana tekstowego na praktycznych przykładach z wskazaniem na możliwość zastąpienia nim tradycyjnej relacyjnej bazy danych. Każdy ze slajdów ukazujących jakąś konkretną operacje(wyszukiwanie, filtrowanie, dodawanie danych do bazy) pokazywał odpowiednik zapytania SQL. Prowadzący skupił się również na kwestiach związanych ze skalowaniem. Prezentacja zwięzła, konkretna, z odrobiną humoru, jak najbardziej zachęciła mnie do dalszego zgłębiania informacji na temat ElasticSearch.

DSC_0161

Asynchronous PHP (Christopher Pitt)
Przedstawienie bibliotek/modułów PHP umożliwiających pisanie asynchronicznych aplikacji. Dla mnie wykład był raczej ciekawostką, udowodnił, że istnieje możliwość tworzenia asynchronicznego kodu. Moim zdaniem brak w tym praktycznego zastosowania, gdybym miał pisać asynchronicznie użyłbym node.js dlatego, że jest wydajniejszy (na wykładzie było porównanie – node.js jest kilkukrotnie szybszy od PHP) i został stworzony do pisania asynchronicznie, PHP natomiast sam w sobie nie jest asynchroniczny – należy niezależnie zainstalować reactphp oraz zastosować kilka bibliotek do obejścia operacji blokujących.

Deep Dive into Browser Performance (Ilia Alshanestky)
Ostatnia prelekcja tego dnia, było to przedstawienie kilku ciekawostek ze świata wydajności przeglądarek – prezentacja moim zdaniem bardzo dobra, jednak z racji tego, że nie jestem osobą związaną z front-endem ciężko mi powiedzieć czy wiedza tam przedstawiona była czymś nowym czy mogła zanudzić osoby, które są zaznajomione z tematem.

After party
Wykłady zakończyły się o godzinie 17:30, a my udaliśmy się w kierunku centrum do pubu “Akhnaton” na after party, gdzie można było w luźnej atmosferze wymienić się spostrzeżeniami, wiedzą, czy też zwyczajnie pogadać przy piwku.

DSC_0196

CDN…

Zobacz na blogu

09.09.2022
Marcin Jahn
It’s Not Just HTTP It’s Not Just HTTP

In today’s world of cloud-based solutions, distributed systems, and microservices-based architectures, network communication is a...

23.08.2022
Adam Mrowiec
Konferencja IPC 2022 Berlin Konferencja IPC 2022 Berlin

Pandemia wreszcie się kończy, dlatego w tym roku postanowiliśmy wrócić do naszych wyjazdów na konferencje....