Meetup di giugno: rilasciare funzionalità in modo progressivo

Ed eccoci arrivati al nostro appuntamento di giugno! L’argomento della serata saranno i “feature branch”, le “feature toggles” e le modalità di rilascio graduale, presentate da Fabio Mora.

Questa volta si è offerta di ospitarci Bene Assicurazioni, in zona Turro. Come al solito:

– porte aperte dalle 19
– si inizia con la presentazione alle 19:30
– estrarremo a sorte una licenza gentilmente offerta da JetBrains
– anche questa volta vedremo di distribuire qualche sticker del PUG…

Come al solito, vi raccomandiamo di fare RSVP sul nostro Meetup!

Ecco un breve riassunto della presentazione:

Nelle applicazioni web distribuite progettare, scrivere e validare la bontà di una nuova funzionalità è un processo che richiede cura ed attenzione. I programmatori hanno il rischio di introdurre debito tecnico, i manager del prodotto che hanno bisogno di imparare in fretta dai risultati degli esperimenti ed agli utenti dobbiamo garantire un livello servizio stabile e senza incoerenze.

Con inclinazione pratica ecco una delle possibili “ricette” per arrivare bilanciare queste esigenze e rilasciare feature significative in un contesto controllabile e misurabile. Il mix include il controllo del codice con il Feature Branching, il Feature Toggling con una piccola soluzione realizzata ad-hoc in PHP (rollout a quote, percentuale, on/off…), il monitoring attraverso dashboard e strumenti di telemetria, il collezionamento dei risultati lato client con una piattaforma di Analytics.

Il tutto con un po’ di teoria statistica su come fare un A/B testing in maniera significativa e brevi cenni di cose imparate durante la realizzazione e vari progetti, cosa è andato bene e cosa male.

Meetup di maggio — API in 2018 – REST vs RPC : buone pratiche e aggiornamenti

Al prossimo PUG avremo un “guest” speaker, presenterà Giulio De Donato (@liuggio) che ci parlerà di “API in 2018 – REST vs RPC: buone pratiche e aggiornamenti

“Una rivisitazione della storia del concetto di REST dai motivi della dissertazione di Roy Fielding, passando per i Maturity Model di Richardson, giustificando l’odio per RPC, fino ai giorni nostri con la riscoperta dell’RPC. C’è una bonus track alla fine pero'”

A seguire, una sessione di discussione aperta sull’argomento e l’estrazione della licenza PhpStorm in palio offerta da JetBrains !

Saremo ospitati da Mikamai e LinkMe in Via Venini 42, Milano.

L’incontro di Maggio sarà un po’ più avanti nel mese per la concomitanza del PHPDay a Verona; ci incontriamo quindi martedì 23! Come al solito, si apriranno le porte per le 19 circa, per poter poi iniziare la presentazione alle 19:30, vi aspettiamo!

Meetup di aprile: “Repository pattern: un buon design al servizio della testabilità”

Siete pronti per un altro incontro del PUG Milano? Questa volta Christian Nastasi ci racconterà di design e design pattern, con una presentazione mista a live coding.

Inoltre, per la prima volta ci ospiterà Microsoft Italia, nella loro nuova sede, sala Open Hub: la sede si trova in via Pasubio, una via che parte da Porta Garibaldi, quindi sarà facilmente raggiungibile usando la M2 (linea verde).

Come al solito, si apriranno le porte per le 19 circa, per poter poi iniziare la presentazione alle 19:30, vi aspettiamo! E non dimenticatevi di fare RSVP sul nostro Meetup!

Inizieremo la serata con una piccola presentazione di Paola Presutto (Sr Technical Evangelist di Microsoft), sul tema “Microsoft Azure App Service e PHP: un piccolo esempio della strategia Microsoft in ambito Open”.

A seguire, la presentazione di Christian sul repository design pattern; ecco l’abstract della presentazione:

Testare features che accedono al database è sempre stato problematico: per applicare il principio di isolamento di ogni test è necessario ripulire e reinizializzare il database ogni volta. Questa operazione svolta su un numero alto di test è dispendioso e ne allunga notevolmente i tempi di esecuzione.
Il Domain Driven Design ci viene in aiuto, ed introduce il concetto di Repository: un’astrazione della persistenza che tratta i dati come una collezione di oggetti di dominio e definisce un interfaccia “CRUD” completamente indipendente dal modello di persistenza utilizzata (che potrebbe essere relazionale, documentale, in memory, su file o addirittura remota). Questo approccio ci permette quindi, attraverso l’utilizzo di repositories “in memory”, sia di eliminare la necessità di un database di test da ripulire ogni volta, sia di velocizzare enormemente i nostri test.
La sessione di live-coding partirà da un esempio semplice di codice “legacy” con test coverage al 100%. Attraverso l’interazione con il pubblico ed una serie di refactoring, si mostreranno le potenzialità del Repository Pattern.

Meetup di marzo: Docker e l’evoluzione dello stack LAMP in locale

Siete pronti per il PUG di marzo? Questa volta si parlerà di Docker!
Come al solito, trovate i dettagli dell’incontro sul nostro Meetup!

Presenterà un talk Oscar Fanelli, con questi argomenti:

– differenze con Vagrant e MAMP (parlando di OS X)
– Dockerfile e Docker Compose
– avvio live di un progetto in locale stack LAMP
– tips per ambiente locale
– use case: upgrade PHP da 5.6 a 7
– accenni su sistemi di orchestrazione

A seguire, una sessione di discussione aperta sull’argomento!

Resoconto della retrospettiva di gennaio

Mercoledì 11 gennaio il PUG si è riunito a ranghi ridotti, dopo un fine 2016 un po’ sottotono, per una retrospettiva in merito. Per la prima volta ci ha aperto le porte per ospitarci Ebay, offrendosi anche di ripetere l’esperienza, grazie!

Il PUG in retrospettiva

Si è parlato di tante cose, ma alla fine è emerso che il nostro, tutto sommato, è un PUG fortunato, perché non ha mai problemi di location (ci sono varie aziende che si offrono regolarmente per ospitarci, grazie!), e neanche il numero di presenti è mai un problema, visto che ai passati meetup si sono sempre presentate almeno 20-30 persone, con picchi di 40-60.

In realtà uno dei problemi principali dello scorso anno è stata la difficoltà di reperire speaker ed argomenti per le serate, e il fatto che questa responsabilità ricade unicamente sulle spalle del nostro presidente. Per questo motivo si è scelto di eleggere 3 nuovi coordinatori, che possano aiutare l’organizzazione dei singoli meetup, la ricerca di speaker e la manutenzione dei vari canali social e di comunicazione.

Dopo alcune candidature e una breve votazione, i tre eletti sono stati:

  • Alessandro Lai
  • Stefano Torresi
  • Francesco Laffi

I coordinatori rimarranno attivi per 6 mesi, al termine dei quali si valuterà se l’esperimento è riuscito e se, come suggerito durante la riunione, sarà cosa buona effettuare un ricambio graduale, per far si che il PUG abbia sempre forze fresche.

Sono state prese poi alcune rapide decisioni sul come manutenere gli attuali canali di comunicazione dedicati al PUG. I canali principali rimangono il canale #pug-mi dello Slack del Grusp e MilanoPHP su Meetup, su cui pubblichiamo tutti gli eventi e che si è rivelato molto proficuo nel corso dello scorso anno. Gli altri canali (questo blog, Twitter, Facebook..) verranno comunque mantenuti ma principalmente saranno delle casse di risonanza di quanto pubblicato/scritto sui due canali principali.

Come avrete visto, è stata decisa anche la data del prossimo meetup, per mercoledì 15 febbraio! Non mancate!!