Nelle giornate del 12 e 13 Maggio 2017 a Verona si è tenuto il PhpDay 2017, un evento organizzato dagli amici del GrUSP.
All’evento hanno partecipato i nostri Danilo e Francesco, che ci raccontano quello che hanno visto di interessante.


Quest’anno come location è stato scelto l’Hotel San Marco che ha portato in dote meetings rooms ampie e comode.

Ecco un rapido resoconto dei talk più interessanti della prima giornata, cliccate sul titolo del talk per leggere l’abstract.

Code Manifesto (Graham Daniels)

Il Code Manifesto è un insieme di valori, creati nella speranza di guidare la nostra comunità verso un luogo accogliente, sicuro e per tutti.
Il talk puntava a presentare il manifesto e a sensibilizzare le persone ai valori di questo ambiente di lavoro.

 

The most exciting features of PHP 7.1 (Enrico Zimuel)

Abbiamo visto in pratica alcuni degli strumenti e delle novità messe a disposizione degli sviluppatori  che utilizzano PHP 7.1 come ad esempio:

  • cattura di eccezioni multiple
  • supporto di curl HTTP/2 server push
  • tipi di ritorno null e tipi null
  • visibilità delle costanti dichiarate nelle classi
  • criptazione delle autenticazioni in OpenSSL con GCM e CCM

Per saperne di più ecco il link alle slide.

 

Climbing the Abstract Syntax Tree (James Titcumb)

Pur con un approccio molto tecnico e a tratti accademico, il buon James ci ha presentato come PHP 7 compila il codice in modo abbastanza comprensibile per tutti i presenti, vista anche la complessità dell’argomento. Forse per questioni di tempo la cosa è rimasta su un piano esclusivamente teorico, sarebbe stato interessante presentare qualche caso d’uso reale con cui capire capire come PHP lavora internamente, per saperne di più su come migliorare le performance o semplicemente il proprio code style. Per i dettagli ecco il link alle slide.

 

“Writing code that lasts” … or writing code you won’t hate tomorrow (Rafael Dohms)

Il relatore, molto simpatico e preparato, ci ha presentato una serie di consigli e best practices da applicare ai nostri progetti piccoli o grandi che siano. A dispetto del titolo il concetto base è stato… se rileggendo il codice che hai scritto mesi o anni prima non lo odierai o non penserai di volerlo cambiare.. allora significa che ti sei fermato professionalmente! Ecco il Link alle slide.

 

Dockerize your unit tests for faster feedback (Michelangelo van Dam)

Con una dettagliata descrizione su come ha raggiunto il seguente risultato, il relatore ci ha mostrato come poter parallelizzare i test utilizzando i gruppi di docker, ottenendo così un notevole abbattimento dei tempi e di conseguenza migliorando la produttività dello sviluppatore:

for i in `./vendor/bin/phpunit –list-groups | grep “^ -” | awk {‘print $2’}`; do echo $i; done | time parallel docker run -d -v “$PWD”:/var/run/phpunit -w / var/run/phpunit –name pu-docker-{} php:7.0-cli /var/ run/phpunit/vendor/bin/phpunit –group {} && for i in `./vendor/bin/phpunit –list-groups | grep “^ -” | awk {‘print $2’}`; do docker wait pu-docker-$i | grep -c 0 > /dev/null || docker logs pu-docker-$i && docker rm -f pu-docker-$i > /dev/null; done;

Per tutti i dettagli date un’occhiata alle slide.

 

Basic CQRS and Event Sourcing with Prooph (Marco Pivetta)

Grazie ad un esercizio pratico abbiamo avuto il piacere di conoscere questo approccio di programmazione adatto in particolari condizioni. Davvero molto interessante e istruttivo. Se volete giocarci fate un giro sul repository github del progetto.

 

Containing Chaos with Kubernetes (Terrence Ryan)

Talk con esempi pratici di utilizzo di Kubernetes che ci consente di orchestrare container multipli in maniera semplice ed efficiente. Link alle slide.

 

Feature Toggles (Denis Brumann)

Quando si sviluppa in un ciclo veloce oppure quando si dispone di un progetto con un sacco di configurazioni specifiche, è possibile evitare infiniti ‘if’ basandosi su di un sistema che buone pratiche per introdurre condizioni di commutazione più complesse, come separare comportamenti nuovi da quelli vecchi e come eliminarli quando non se ne ha più bisogno. Per saperne di più date un’occhiata alle slide.

 

NoEstimates: The 10 new principles for Software Projects – predicting without estimating (Vasco Duarte)

Talk su alcuni principi che permettono di prevedere la data di rilascio di un software basandosi solo su dati facilmente accessibili. Link alle slide

 

The formula to creating awesome docs (Jonathan Reinink)

Consigli utili per potere produrre una perfetta documentazione del nostro software, in particolar modo quando si ha a che fare con progetti open source. Link alle slide.

 

The Science of Code Reviews (Rick Kuipers)

Il giovante Rick, con un energia e un’ironia coinvolgenti, ci ha mostrato un’interessante lista di consigli su come eseguire la revisione del nostro codice. Link alle slide.

 

Face detection in PHP (Michelle Sanve)

Seppur PHP non sia nato esplicitamente per scopi come il riconoscimento facciale, grazie a Michelle abbiamo scoperto come sia invece possibile farlo implementando librerie scritte in C++ tramite PHP per arrivare a riconoscere il numero di volti presenti su di una foto con una buona precisione.

 

JWT – To authentication & beyond (Luis Cobucci)

Una chiara e rapida introduzione ai Json Web Tokens e di come sia possibile implementare un sistema di autenticazione sicuro in tempi rapidi senza dover scomodare protocolli più esosi. Link alle slide.

 

A bird’s eye view on API development (Frederick Vanbrabant)

Dopo un’introduzione a cos’è un API e come va progettata, si è soffermato su alcuni punti interessanti come le possibili alternative per gestire l’autorizzazione, riprendendo da dove aveva lasciato il talk precedente, e alcune strategie per ‘versionare’ le proprie API. Conclude dicendoci: quando state sviluppando un API la prima regola è “Never trust your users”. Link alle slide.

 

Extremely defensive PHP (Marco Pivetta)

Indicazioni precise su come scrivere codice che sia resistente, altamente testabile, sicuro e manutenibile. Link alle slide.

 

Long running PHP processes (Giorgio Sironi)

Con le dovute accortezze ed entro certi limiti, PHP può prestarsi molto bene per processi. Link all’articolo dell’autore

Alcune foto dell’evento