Sredinom maja, osmočlana ekipa je krenula put Verone sa namerom da poseti Italijansku PHP konferenciju - phpDay.
Preko Hrvatske i Slovenije uz usputna stajanja, u Veronu smo stigli tek oko ponoći, pa smo razgledanje grada morali da ostavimo za drugi dan.
Kao prostor za konferenciju određen je hotel San Marco koji se nalazio blizu našeg smeštaja. Reč je o hotelu sa 5 zvezdica koji u svakom smislu zadovoljava potrebe jednog ovakvog skupa.
Ispred ulaza u salu je bio standardan check-in, svako je dobio name tag i prigodne poklone od organizatora.
Za uvodni govor bio je zadužen član PHP core team-a i PHP 5.5 Relase Manager Julien Pauli. Nakon najave organizatora, Julien je govorio o novim mogućnostima PHP-a 5.5 kao što su generatori, password hashing API, finally keyword, list u foreachu i još mnoge drugi. Ovo predavanje je zainteresovalo mnoge da se uključe aktivno u razvoj php-a, a članove našeg tima da povedu diskusiju o tome koje je unapređenje najkorisnije. Ovo je bilo veoma informativno predavanje, kome se može zameriti malo slabije poznavanje engleskog jezika predavača.
Nakon ovog predavanja velika sala je podeljena na dva dela, pošto je zamisao organizatora bila da postoje dva tracka, tj. da se istovremeno održavaju dva predavanja a na posetiocu je da bira kojem će prisustvovati.
Ja sam se odlučio za In-Depth with Composer, koje je držao tvorac Composera Jordi Boggiano. Composer je inače dependancy management alatka za php. U jednom fajlu je potrebno da definišete koje bibilioteke su potrebne vašem projektu i jednom komandom Composer će ih povući. Uvod je bilo upoznavanje sa alatom i njegovim internim funkcionalnostima, da bi kasnije bilo reči o pratećim projektima, kao što je Satis, koji nam omogućavaju da imamo privatne repozitorijume sa sve paketima koje koristimo. Istina, ovo je bilo ne toliko fascinantno predavanje, ali definitivno jasno i sažeto, pogotovo kad o njemu govori sam tvorac alata na koji se tema odnosi.
Sledeće predavanje kojem sam prisustvovao je REST APIs made easy with Symfony2, a držao ga je Samuel Gordalina. Ovo je po meni bilo jedno jako interesovanje uz mnogo praktičnih primera sa kodom. Predavač je govorio o tome kako uz FOS (FriendsOfSymfony) bundle napraviti sopstveni REST servis i prilagoditi ga potrebama. Bundle u Symfony svetu označava nezavisnu komponentu koja se može lako uključiti u bilo koji Symfony projekat. Bilo je reči o osnovnim pojmovima REST-a, kreiranju akcija u kontroleru i serijalizaciji objekata. Semovo predavanje me je definitivno zainteresovalo za ovaj bundle kao i za Symfony uopšte.
Nakon ovog predavanja usledila je pauza za ručak, nakon koje je održano predavanje Caching and data analysis will move your Symfony2 application to the next level - Giulio De Donato. Ovo je bilo više predavanje koje se može svrstati u domen zabave nego u informativno i korisno predavanje. Predavač ja na simpatičan način uz mnogo šala i aluzija govorio o tehnikama za keširanje i uopšteno optimizaciju u Symfony 2. Bilo je malo teško za praćenje ali i opuštajuće.
Na red je došlo predavanje Build a Zend Framework 2 Application in less than a talk. Moram reći da sam od ovog predavanja očekivano mnogo više, između ostalog i zbog toga što ga je držao Enrico Zimmuel, član Zend Framework development tima. Predavanje je zamišljeno kao live coding session, nažalost sve je išlo jako sporo i tromo, a predavač se mnogo vremena zadržavao na jednostavnim stvarima. Kad su na red došle nove interesantne funkcionalnosti ZF2, kao što je service layer, bio je već kraj predavanju. Po meni, najslabije predavanje prvog dana.
Sledeće predavanje je bilo Scaling an API: From Reboots to Redis, how (not) to do it koje je držao Ciaran Rooney. Smatram da je i ovo predavanje moglo biti bolje. Autor je, manje više, samo izdeklamovao koje tehnologije koriste za šta u njegovoj kompaniji, mada, njegovo predavanje je trajalo samo pola sata tako da verovatno nije ni imao vremena za više.
Poslednje predavanje ovog dana je držala Lea Hansenberger, a tema je bila Elastic searching with PHP. Ovo je bilo pravo predavanje za kraj dana. Za početak je Lea objasnila da je Elastic RESTful engine za pretragu koji koristi Lucene. Kasnije je bilo reči o tome kako se koristi PHP ekstenzija Elastica, a za kraj je pomenut i FOS Symfony bundle za Elastic. Sve u svemu predavanje koje je zainteresovalo mnoge za ovu tehnologiju.
To je bilo sve za prvi dan. Otišli smo u razgledanje grada koji je te večeri bio poprilično pust.
Prvo predavanje drugog dana Windows Azure: What's hot, smo preskočili, tačnije namerno prespavali pošto nikog od nas preterano ne zanima Windows platforma.
Prvo predavanje koje smo slušali drugi dan je bilo High Performance PHP, a držao je Jonathan Klein. Ovo je po većini članova naše ekipe bilo i najbolje predavanje na celoj konferenciji. Predavač je na razumljiv način govorio o raznim optimizacijama, između ostalog smo saznali da mikro optimizacije (npr. razlika između velikih i malih navodnika) i nisu toliko bitne i da je bolje fokusirati se na delove aplikacije čija će nam optimizacije doneti značajnija poboljšanja. Posebno zanimljiv deo je bilo poređenje brzine vodećih frejmvorka, gde su Zend Framework 2 i Symfony 2 bili na samom dnu, dok je Phalcon frejmvork, koji je inače pisan kao C ekstenzija, bio na vrhu. Bilo je reči i o raznim alatkama, gde je autor predstavio xhprof, alat za profiling, kao i o uticaju optimizacije na poslovne procese. Mnogo smo korisnih informacija čuli na ovom predavanju.
Sledeće na redu je bilo Writing infinite scalability web applications with PHP and PostgreSQL, predavač je bio Gabriele Bartolini, jedan od prevodnika italijanskog Postgres udruženja. Takođe je i ovo predavanje bilo veoma interesantno, predstavljene su nam mogućnosti PostgreSQL baze 9.2 od kojih nas je najviše zainteresovala native podrška za JSON tip podataka i mogućnost za pisanje unit testova na nivou baze. Predavač nam je predstavio i osnovne koncepte skaliranja ove baze. Svakog člana ekipe je ovo predavanje zainteresovalo da se ubuduće više posveti Postgres-u.
Posle ovog predavanja sledila je pauza za ručak, a pridružila nam se i predstavnica JetBrains kompanije (firme koja pravi PhpStorm IDE). Zatim je došlo na red predavanje Automated acceptance testing with Behat and Mink, držao ga je Richard Tuin. Moj utisak je da je predavač imao ogromnu tremu i da je to u velikoj meri uticalo na kvalitet predavanja. Rečenice su bile nepovezane, a uz slajdove koji nisu bili naročito dobro obrađeni, bilo je jako teško pratiti. Tema je, inače, jako zanimljiva, radi se o acceptance testing frejmvorku Behat (koji liči na Cucumber iz Ruby sveta, koriste isti domain specific jezik za pisanje izraza - Gherkin), uz pomoć koga je moguće napraviti test u kome su opisane krajnje funkcionalnosti neke web aplikacije. Mink je wrapper aplikacija za browser emulatore kao što su Goutte, Selenium, Sahi. Po mom mišljenju (ne i po mišljenju kolega iz ekipe) ovo predavanje je moglo mnogo bolje da prođe. Nadam se da će Richard sledeći put savladati tremu i da ćemo ga opet slušati.
Naš kolega iz Zagrebačkog PHP udruženja Luka Kladarić je bio sledeći. Njegova tema je nosila naziv LAMP scaling 101, što je i bio pravi naziv za njegovo predavanje. Dakle bilo je reči o osnovama skaliranja, assets (css, js, slike) treba da budu na drugom serveru, memcache je korisna stvar, a Luka je pomenuo i načine za skaliranje baze, od čega je nama najinteresantnija bila tzv. db wenching. Solidan uvod u skaliranje.
Poslednje predavanje na kome smo prisustvovali toga dana jeste Giorgio Sironi - The test suite is slow. Bili smo već umorni, a tema nam se nije učinila previše interesantnom. Naime, radi se o paralelnom izvršavanju testova. Ako umoru dodamo i malo slabiji engleski predavača možemo reći da nas ovo predavanje nije fasciniralo.
Završnom keynote-u nismo prisustvovali, mada koliko vidim na twitteru i joind.in-u čini mi se da je bilo zanimljivo.
Ovo je bila jedna jako dobra konferencija, sa mnogo zanimljivih predavanja. Tačno je da su se najviše forsirali Zend Framework 2 i Symfony 2, ali sa druge strane moramo prihvatiti činjenicu da su to trenutno 2 vodeća frejmvorka u PHP svetu. Nadamo se da ćemo i sledeće godine ići na ovu konferenciju.