Incontro di giugno 2014

In questo ultimo incontro prima della pausa estiva, avevamo programmato di dare un seguito un po’ più pratico al precedente incontro teorico sul DDD. Purtroppo un ritardo del nostro pur volenteroso relatore ci ha costretti a improvvisare un po’, alla fine abbiamo continuato sulla teoria: Leonardo ci ha quindi fatto un recap e ci ha poi spiegato una serie di riscontri pratici che nel mese intanto trascorso aveva riscontrato, in particolare applicando questa metodica a Symfony2. Al termine dell’incontro, che ci ha visto ospiti dei sempre gentili ragazzi di Edimotive, abbiamo proseguito con una cena all’aperto al vicino locale Beer Company.

Incontro di maggio 2014

Maggio è il mese del PHPDay e del JSDay, e quindi già solo le novità viste durante i quattro giorni delle due conferenze, a cui molti di noi hanno partecipato, sarebbero state un buon argomento di discussione, ma noi avevamo persino di più!
E quindi, riuniti ancora una volta nella “Sala legno” di Luiss Enlabs, Leonardo ci ha proposto di parlarci di come lui e Giorgio stanno mettendo in pratica ciò che hanno imparato del DDD: Leonardo ha tenuto un’interessantissima presentazione su come modellare gli oggetti di un dominio restando completamente agnostici rispetto alle altre componenti del sistema, framework in primis.

I motivi per farlo sono molteplici, ma possono essere riassunti sotto un cappello più importante di altri: disaccoppiamento (che di conseguenza porta indipendenza).

L’indipendenza consente di riusare o trasportare il codice di dominio, per esempio, da Symfony2 a Zend Framework senza toccare praticamente nulla, o anche di aggiornare il framework su cui gira l’applicazione con molti meno problemi: quanti di noi hanno dovuto tenere progetti in Symfony1 perché il passaggio a Symfony2 era troppo oneroso? Ma in realtà il dominio non era cambiato, era cambiato solo il framework, e se il dominio fosse stato slegato dal framework il passaggio sarebbe stato molto più semplice.

La presentazione ha quindi evidenziato i concetti di base del DDD e poi ha mostrato delle implementazioni pratiche con un piccolo caso di esempio, mostrando come il codice del dominio potesse essere scritto in maniera, appunto, agnostica, e come poi poteva essere utilizzato all’interno di un’applicazione Symfony2.

Leonardo ci ha promesso di fare un aggiornamento e farci vedere la stessa applicazione scritta in Symfony2 e in ZF con lo stesso codice di dominio: attendiamo il prossimo incontro per vedere i risultati!

Oltre all’implementazione pratica, di particolare interesse sono state le riflessioni sull’ubiquitous language, ovvero sull’importanza di dare, agli oggetti del dominio, un nome che sia condiviso e riconosciuto sia dagli sviluppatori che dagli esperti di dominio (che normalmente sono persone del cliente) e alcune osservazioni su come lo stesso oggetto può cambiare valenza se cambia il dominio di riferimento: una banconota da un dollaro vale come un’altra per una persona che la deve usare, ma nel dominio della Zecca che stampa i soldi, ogni singola banconota è diversa dalle altre, tant’è che ha un numero di serie.

Dopo la presentazione siamo andati a cena: per la prima volta la decisione sul posto in cui andare a mangiare è stata presa in anticipo, grazie a un sondaggio fatto nei giorni precedenti.
Niente stress per decidere all’ultimo e mettersi d’accordo, niente stress per prenotare, e soprattutto, per la gioia di molti e il dispiacere del nostro Presidente, niente “Nazzareno” :-)
Siamo invece andati al ristorante pizzeria “I Fratelli“, a San Lorenzo: carino, con un buon servizio e dal prezzo accettabile.

Nota storica: per la prima volta il nostro Presidente non ha potuto partecipare all’incontro, per un imprevisto dell’ultimo minuto. C’è chi maligna che in realtà il motivo sia stato il basso risultato del “Nazzareno” nei sondaggi, ma lui nega!

Incontro di aprile 2014

PUG Roma aprile 2014 PUG Roma aprile 2014 Per questo incontro ci siamo dati appuntamento dal sempre accogliente EnLabs, per parlare insieme della novità rappresentata da Hacklang. Dopo pochi minuti di introduzione all’argomento, siamo passati dalla teoria alla pratica: abbiamo affrontato tutti i passi previsti dall’apposito tutorial, commentandoli insieme e provando per alcuni diverse possibili soluzioni.
La serata si è conclusa con una bella tavolata nel vicino ristorante Nazzareno.

Incontro di marzo 2014

2014-03-25 20.17.14 Gentilmente ospitati nei locali di Edimotive, sotto la sapiente guida di Leonardo, abbiamo svolto un code dojo. Il kata scelto è stato volutamente semplice, per porre l’accento sulla scrittura dei test e quindi sulla buona pratica del TDD. L’ottimo Leo ci ha fornito un ambiente di base, installato il quale abbiamo potuto iniziare subito a scrivere test, vederli fallire, vederli passare e (si spera) rifattorizzare. Alla fine del tempo stabilito, ciascuna delle piccole squadre in cui ci siamo suddivisi ha esposto la logica di implementazione del proprio codice, prima dei test e poi della relativa implementazione. Un paio di squadre si sono contese il titolo di miglior realizzazione, ma alla fine tutti erano soddisfatti sia del lavoro svolto, che della successiva analisi collettiva. Per chi volesse dare un’occhiata, è tutto su github.
La parte gastronomica si è invece svolta nel vicino locale Bisteak.

Incontro di Febbraio 2014

Come lo scorso mese, anche l’incontro di Febbraio si è svolto all’interno dell’open space di iquii.

pug_roma

Questo mese abbiamo ascoltato ben due interventi entrambi dal tema non-PHP. Nel primo Simone Di Maulo fresco fresco di esame universitario ci ha illustrato le meraviglie dei linguaggi funzionali e le basi del loro funzionamento. Da questo talk, che ha lasciato più o meno tutti sgomenti di fronte a pratiche e strutture così diverse da quelle cui siamo abituati in php e javascript, è scaturita una interessante discussione sui campi di applicazione e le opportunità di questo tipo di linguaggi.

Per ulteriori dettagli qui trovate le slide pubblicate da Simone.

A seguire Andrea Giuliano ci ha illustrato in profondità come si comporta un database come MySql nel salvare ed accedere ai dati sul disco, e soprattutto come salva e accede agli indici. A partire da tutto questo Andrea ha condiviso con noi importanti indicazioni su come organizzare al meglio l’indicizzazione di tabelle di grandi dimensioni. Anche in questo caso, nonostante la fame che ormai iniziava a farla da padrona, è scaturito un vivace scambio di opinioni sulle migliori pratiche di individuazione delle chiavi primarie e delle colonne da indicizzare.

Qui trovate le slide pubblicate da Andrea.

Dalla riflessione riguardante l’incontro che è scaturita nella mailing list è emerso come i due talk lontani dal tema PHP abbiano costituito una grande occasione di arricchimento per tutto il gruppo. Cito qui le parole di Francesco Face che è intervento sul tema: Rimanere legati *solo* a PHP, *solo* a Symfony, e snobbare tutto il resto solo perché non si vede una immediata e diretta utilità, è un suicidio professionale a medio termine (sostituite *PHP* e *Symfony* con un altro linguaggio e un altro framework, e la frase resta comunque vera).

Finita la parte formativa dell’incontro ci siamo avventati sui carciofi fritti della Pizzeria San Marino.

Incontro di gennaio 2014

starfish Ormai è tradizione, gennaio comincia con una retrospettiva. Ospitati nei nuovissimi uffici di Iquii vicino Villa Ada, ci siamo armati di pennarelli e post-it per ripercorrere e analizzare le attività fatte nel corso del 2013. Due sono state le attività che abbiamo condotto: una Timeline, per ricostruire insieme gli incontri e gli avvenimenti dell’anno passato, e una Starfish, che ci ha aiutato ad analizzare e discutere cose buone e meno buone. La Timeline è stata utile per cominciare subito a collaborare ricordando insieme le cose accadute: dalla fondazione ed esplosione di PUGX ai vari coding dojo; dagli incontri-racconti degli ospiti Odino e Cirpo agli eventi come Codemotion e soprattutto Symfony Day, che hanno impegnato molti membri del gruppo. In mezzo, tutti i nostri incontri, le community fiorite a partire dal PUG (ArduinoUserGroup e RomaJS), e le magliette ufficiali, arrivate (finalmente) a primavera. Con la Starfish abbiamo cominciato a discutere dei problemi e dei colli di bottiglia che ci impediscono di crescere, oltre a sottolineare le cose che ci piacciono del PUG e che vorremmo continuare a fare. Abbiamo diviso una board (e il nostro tempo) in cinque parti, per ognuna delle quali abbiamo raccolto idee e cominciato a proporre soluzioni. Riassumo qui sotto con uno schema i temi emersi:

Stop Doing…

  • Basta con gli interventi improvvisati: per portare più qualità, occorre che le persone possano prepararsi le cose a tempo debito.
  • Basta con le cene improvvisate: non sarebbe male se riuscissimo a capire prima quante persone rimarranno anche a mangiare, così che si possano fare scelte ragionate, e prenotare
  • Basta con le location in dubbio fino all’ultimo momento: meglio poter contare su posti sicuri o comunque confermati prima.
  • Basta a lasciare solo il Presidente con l’organizzazione degli incontri mensili: se si vuol crescere, non possiamo continuare ad aspettarci che il Prez faccia tutto lui.

Less of…

  • Symfony: immaginerete il perchè; introduciamo nuovi argomenti senza timore, e facciamoli partire dal basso.
  • Pizza Ciro e altri luoghi dediti a proporre antipasti costosissimi al pughista ignaro

Keep doing…

  • PUGX e tanti progetti opensource che possano farci collaborare
  • Eventi sia da organizzare che da seguire insieme
  • Regolarità degli incontri: sempre l’ultimo martedì del mese, ogni mese
  • Talk e coding Dojo: ci piace la formula (doppio?) talk o dojo e poi tutti a cena
  • Symfony day: orgainizzare anche questanno SFday

More of…

  • ancora più PUGX
  • ancora più Coding Dojo: l’anno scorso sono stati due, vedremo se si potranno portare a tre.
  • Nuovi speaker siano essi membri del gruppo che vogliono raccontarci qualcosa della loro esperienza (non per forza sf2), oppure ospiti con temi vicini a php.
  • Apertura insomma, verso altri framework, altri mondi, altri linguaggi, altri temi vicini al mondo dello sviluppo software e a quello dell’industra in cui lavoriamo.

Start doing…

  • Corsi fatti da pughisti per pughisti, su modello di quelli dell’AUG, che prevedano una quota minima così da poter contare su docenti preparati e spazi decenti.
  • PUGX hack night day una giornata (o serata) in cui fare millemila pull request a vecchi e nuovi progetti PUGX
  • Coinvolgere le aziende e business in momenti in cui confrontarsi
  • Discussione sui libri su modello dei book club: alcuni interventi potrebbero essere tavole rotonde su dei testi che abbiamo deciso sulla mailing list e letto nel corso dello stesso mese.
  • GAS ovvero gruppi di acquisto per hardware, libri o altre robe che possono venirci in mente
  • Nuovo sito del pug, che può essere utile come strumento per progettare gli incontri, mettere in agenda le cose e far conoscere i vari membri
  • Organizzazione di incontri extra oltre il solito ultimo martedì: se i temi sono così tanti e le persone volenterose, si potrebbero organizzare incontri del pug paralleli dove concentrare attività speciali (dojo, libri, business etc.)
  • Gita in montagna o dove vi pare :D

È stata insomma una serata pienissima di spunti e di propositi, in cui io mi son divertito molto nel ruolo per me inedito di “facilitatore” (oltre che a provvedere a scrausissimi post-it cinesi). Non sarebbe venuta una così bella retrospettiva senza i consigli di Pierluigi Pugliese che ha saputo darmi degli ottimi consigli, e dell’essenziale supporto in real time di David Funaro.

Ecco allora i temi e le cose che sono venute fuori dalla nostra retrospettiva.

Ora a lavoro, PUG Roma!

Incontro di dicembre 2013

Come nel precedente incontro la location è stata offerta dall’Ateneo Garden Palace.

Oda (Rino) ci ha parlato di un Nestedset di Doctrine per la rappresentazione di un albero e relativa implementazione con il bundle StofDoctrineExtensionsBundle per Symfony2.
Poi ci ha intrattenuti con un giochino curioso da nerd-prestigiatore davvero molto divertente e binarioso.

team_caos_2013-12-17 20.35.24Successivamente è stata effettuata una riffa da @toretto460 per assegnare una t-shirt bellissima con la scritta SensioLabs del valore di 7 milioni di dollari offerta da @liuggio in ricordo del SymfonyCon Warsaw 2013 vinta da @euxpom con il numero 17 e sempre @liuggio ci ha fatto recapitare dei bellissimi adesivi che i più veloci si sono messi in tasca! :D

 

Come consuetudine scegliamo un posto dove andare a cena e si decide per la Griglieria Pizzeria Porca Vacca dove le bistecche e le tagliate hanno fatto il fumo.

Si ringrazia @ingdavidino per le foto.
Auguri e Buone Feste a tutto il @PUG_Roma

Incontro di novembre 2013

Per questo incontro era stato programmato un intervento del presidente (scrivente). A un ritardo causato da problemi di traffico è stato brillantemente posto rimedio con una presentazione improvvisata del nostro Rino, che ha illustrato in dettaglio le questioni salienti dell’ereditarietà di Doctrine2.
A seguire, l’intervento di cui sopra, con una dissertazione sulle possibili soluzioni per gestire le librerie di frontend in un progetto PHP (con alcune note specifiche relative a Symfony2).
Ai partecipanti di questo incontro è stata offerta, per un fortunato estratto a sorte, una licenza gratuita di PhpStorm, sponsorizzata gentilmente da JetBrains.


Incontro di ottobre 2013

A distanza di 11 mesi da quel fatidico incontro in cui ci salutò, il mitico Cirpo è tornato brevemente nella Capitale, proprio per parlarci della sua esperienza malese, sia dal punto di vista tecnico che da quello più generale della gestione. Anche stavolta, solo posto in piedi da EnLabs (non in sala grande, eh!)
Cirpo + President A seguire, magnata romana nel vicino ristorante Aquila Nera. Cirpo ci ha salutati di nuovo, stavolta se ne va a Dubai, dove ritroverà una nostra vecchia conoscenza. Ancora una volta, in bocca al lupo Cirpo!

SymfonyDay 2013

PUG Roma - SymfonyDay 2013 Venerdì scorso si è tenuta la seconda edizione del SymfonyDay, l’evento principale italiano relativo al noto framework. Se l’anno scorso il nostro PUG aveva dato un decisivo contributo di speaker e partecipanti, quest’anno ha dato un ancor più sostanzioso contributo: l’organizzazione. Sia nella parte di preparazione che in quella di svolgimento, alcuni volontari del gruppo si sono prestati egregiamente per far sì che l’evento avesse il successo che poi effettivamente ha avuto. È stata veramente una bella esperienza, che speriamo di ripetere negli anni a venire. Per chi l’avesse perso, sul sito ufficiale saranno a breve pubblicate le slide e (un po’ meno a breve, diamo al GrUSP il tempo di elaborarli) i video dell’evento.