Lo stato dell’arte di CI/CD con i container

Dopo le disavventure di giugno, eccoci pronti per il meetup di questo mese!

Approfitteremo di questo incontro per presentare un nuovo coordinatore che si è offerto di aiutarci nell’organizzazione degli incontri, Aurélien Lair; viene a sostituire il caro Oscar, che ci ha lasciati per trasferirsi all’estero.

Inoltre, avremo in palio ben DUE licenze JetBrains, ed un’altra copia autografata di Sviluppare in PHP 7 di Enrico Zimuel.

Detto questo, procederemo con una interessante presentazione di Stefano Torresi sulle varie opzioni che come sviluppatori PHP abbiamo a disposizione per fare Continuous Integration e Continuous Delivery delle nostre applicazioni, volendo usare i container (e Docker?) in produzione:

Jenkins, Travis, Circle, Drone, GitLab CI, Bitbucket Pipelines… abbiamo così tanti strumenti disponibili, che diventa rapidamente difficile prendere una decisione consapevole per implementare la pipeline CI/CD giusta per le proprie esigenze. In questo talk, daremo un’occhiata agli approcci più comuni, alle tendenze emergenti e vari trade-off e insidie che i DevOps potrebbero incontrare nel pericoloso viaggio che dovrebbe alla fine condurre ad una consegna più veloce e facile di software di alta qualità.

Come al solito, porte aperte dalle 19, si inizia alle 19:30, vi aspettiamo, e non dimenticatevi di fare RSVP!!

PHPDay 2018: recap & discussione

Anche questo mese posticipiamo il nostro meetup dalla seconda alla terza settimana… Questa volta perché altrimenti ci saremmo sovrapposti al JSDay e PHPDay, le annuali conferenze internazionali organizzate dal Grusp a Verona.

Visto che l’argomento ci tocca da vicino, approfitteremo del meetup di questo mese per raccontare e confrontarci su cosa è stato presentato al PHPDay, così da riportare i talk a chi (ahimè!) non è potuto venire, e per creare una piccola tavola rotonda di discussione sugli argomenti più interessanti.

Questa volta ci ospita MotorK! Come al solito, porte aperte alle 19, si inizia alle 19:30, vi aspettiamo! E mi raccomando fate RSVP su Meetup!

Mock comprensibili e dove trovarli

RSVP: https://www.meetup.com/it-IT/MilanoPHP/events/249185472/

Quando la codebase dei test si allarga spesso si assiste alla proliferazione di duplicazioni e in generale di quelle bad practice che tanto abbiamo cura di evitare quando scriviamo il codice di produzione.

Capire i test a distanza di tempo è importante per comprendere le intenzioni dello sviluppatore in un certo istante e mantenere il codice testabile e funzionante.

I mock object sono parte fondamentale della codebase perché ci permettono di simulare il comportamento delle nostre dipendenze: spesso però la loro creazione risulta onerosa e contribuisce ad aggiungere rumore alle nostre asserzioni.

Scopriremo con Angelo Giuffredi, Moka, una libreria che permette di scrivere meno codice durante la generazione dei mock object mantenendo confortevole la lettura dei test fornendo un livello di astrazione rispetto agli engine di generazione.

Lean Coffee di Marzo

RSVP: https://www.meetup.com/it-IT/MilanoPHP/events/248223782/

Torna il formato del “Lean Coffee”: chiacchierata libera ed autogestita, così da poter affrontare i temi che più ci interessano, senza dover preparare un argomento preciso.

Come funziona un Lean Coffee? Dopo essersi disposti in cerchio, ogni persona ha la libertà di proporre uno o più argomenti su dei post-it, che verranno raccolti e esposti agli occhi di tutti. Si passa quindi alle votazioni, e vengono scelti per alzata di mano uno o più argomenti da trattare.

Chi ha proposto l’argomento più votato può esporre brevemente il perchè della sua scelta, ed eventualmente avviare la discussione, ma non è obbligatorio: i temi scelti saranno discussi da chiunque voglia esprimere il proprio parere in merito.

E’ un formato leggero e piacevole, che riserva sempre sorprese.

Adding Event Sourcing to an existing PHP project (for the right reasons)

Pronti ad iniziare il 2018? Il PUG vi aspetta per il primo meetup dell’anno nuovo, con un talk di Alessandro Lai; come al solito, porte aperte dalle 19, il talk inizia alle 19:30, vi aspettiamo!! Ricordatevi di fare RSVP!

Abstract del talk:

“Event Sourcing”, assieme a “CQRS”, sono recentemente diventate metodologie “di moda”, ed ormai si trova tanta teoria e tante spiegazioni, presentazioni e tutorial in merito.

La maggior parte di tutto ciò però affronta il problema partendo da un assunto utopistico: dover scrivere un progetto da zero (greenfield), ma al tempo stesso con una complessità di dominio immediatamente alta, tale da poter giustificare l’uso di uno strumento come l’event sourcing, che si porta dietro una discreta complessità. La realtà però è ben diversa: i progetti nascono da prototipi, piccoli e semplici, ed accumulano complessità con l’andare del tempo e il crescere e l’evolvere delle specifiche e delle feature.

In questo talk proverò a raccontarvi (con poca teoria e molta pratica) come abbiamo deciso invece di **aggiungere** l’event sourcing ad un progetto già avviato da tempo (senza sradicare il resto né riscriverlo), per risolvere una problematica specifica (la reportistica e la sua storicizzazione) per cui questa metodologia si rivela la soluzione perfetta.