Phpbenelux 2013

Feb 7, 2013

Vrijdag 25 januari en zaterdag 26 januari had ik de kans om samen met een aantal Intracto collega's naar PHPBenelux 2013 te gaan.
Hier vind je een kort verslag van de talks die ik heb gezien.

Vrijdag:

silex anatomy:

Silex is een microframework initieel ontwikkeld om Symfony2 componenten te testen. Igor startte zijn presentatie met te vertellen dat tegenwoording iedereen wel een eigen, nieuw framework maakt en dat die fragmentatie niet goed is. Om daarna te vertellen dat hij zelf ook een framework had gemaakt.
Natuurlijk is YOLO geen framework dat in productie gebruikt kan worden, het is eerder een fork van silex met een meer verbose syntax. Zijn presentatie was vooral bedoeld om een beetje een idee te krijgen van wat silex nu juist is en hoe het intern werkt.

Allowed memory size of X bytes exhausted

Julien Pauli gaf een erg technische en low-level presentatie over hoe PHP om gaat met geheugen-gebruik. In deze presentatie werd vooral gekeken naar hoe de onderliggende C-code geheuge gebruikt en wanneer het terug vrijgegeven wordt.
Het komt er vooral op neer om op te letten met het inlezen van grote bestanden, buffering is vaak een veel betere oplossing dan het volledig inlezen van een bestand. Je weet namelijk nooit hoe groot zo’n bestand kan zijn. Ook wist hij te zeggen dat een auto-loader te veel onnodige classes / bestanden inlaad wat nadelig kan zijn voor geheugengebruik. Je kan zijn slides op slideshare nalezen.

11 Tools for your devops stack

Een erg interessante talk van Kris Buytaert die niet echt samen te vatten valt.

Zaterdag:

Usability for developers

Een presenatie van Beth Tucker Long die spijtig genoeg nogal basic was. De catchphrase: Don't make it look like a unicorn puked all over your website. maakte wel heel erg duidelijk hoe belangrijk efficient kleurgebruik is. Er werd ook bijvoorbeeld ook aangetoond waarom een login-knop altijd rechts bovenaan moet staan. Beth toonde ook nog een aantal interessante usability eigenaardigheden op websites zoals facebook en gmail

Git and Github for ninjas

Ben Straub, zelf ontwikkelaar bij GitHub, kwam een aantal geavanceerde git-commando’s uitleggen zoals Rebase, bisect, Submodules en Filter-branch. Ben zette een Gist met alle commando's online.
Het interessantste was filter-branch. Met git filter-branch -f --tree-filter ‘rm -f security.txt’ -- --all kan je bijvoorbeeld de volledige history van het bestand security.txt volledig verwijderen. Git zal vergeten dat dit bestand ook bestaan heeft. Erg handig als je bijvoorbeeld een bestand met database-settings hebt gecommit naar een publieke repository.

Process any amounts of data, any time

Veel de technieken die Juozas Kaziukenas uit de doeken deed doorheen zijn presentatie waren gebaseerd op real-world problemen die hij tegen het lijf was gelopen waardoor zijn voorbeelden makkelijk, duidelijk en praktisch waren. Het principe van alles bufferen hadden we gisteren tijdens Julien’s talk ook al tegen gekomen. Juozas ging hier echter nog wat verder in door veel uitleg te geven over hoe je ook PHP5’s nieuwe yield kan gebruiken en hoe streams werken.

You thought Composer can’t do that

Nils Adermann kwam vertellen hoe composer in mekaar zit en hoe het kan gebruikt worden in projecten met complexe dependencies. Dit was een presentatie met veel rage-faces doorheen de slides wat het anders erg heftige onderwerp toch behapbaar maakte.
Het was interessant om ook meer te leren over satis.

Practical Design Patterns in PHP

Symfony’s Hugo Hamon kwam een uitleg geven over een 5-tal Design Patterns en hoe deze in PHP toe te passen. Een erg theoretische uiteenzetting met duidelijke voorbeelden uit de symfony2 codebase.

Debugging for beginners

Rob Allen had een aantal praktische tips over debuggen voor beginners, de dingen die ik er van heb meegenomen zijn: print “test”; exit; is en blijft de makkelijkste manier om te zien waar in je code er een fout zit. Daarnaast kan je XDEBUG installeren om een beter stacktrace te krijgen bij foutmeldingen. Nog een handige tip was deze: voeg in je versie controle systeem een tag toe bij het live zetten van features zodat je makkelijker kan terugkijken welke versie van je source-code nu wel of niet een bug bevatte.