Incontro di novembre 2014

PUG Roma novembre 2014 L’incontro di novembre si è tenuto, come di consueto, l’ultimo martedì del mese. A ospitarci, questa volta, di nuovo EnLabs. Come per la scorsa volta, anche qui abbiamo avuto un debutto, con il buon Claudio, che ci ha parlato di CRUD con Symfony (e altri framework) in 5 minuti. Il tempo è stato in realtà più lungo (i minuti si riferivano ovviamente a un ipotetico tempo di sviluppo) e ha scatenato un acceso dibattito sui pro e i contro dei CRUD, messi a confronto con il DDD (di cui già abbiamo parlato in precedenza quest’anno), il tutto ripreso in diretta grazie a Google Hangouts e attualmente archiviato sul nostro canale YouTube.

A seguire, per chi ha avuto la pazienza di aspettare un tavolo, cena presso RoadHouse Grill.

Incontro di ottobre 2014

È stato un incontro particolare, questo di ottobre 2014. Ci sono tre punti che probabilmente vanno evidenziati. Il primo è che, realizzando uno degli obiettivi che ci eravamo posti durante la nostra retrospettiva, abbiamo avuto un debutto alla presentazione: il buon Arnaldo ha condiviso con noi esperienze e prospettive della sua vita lavorativa. Ottimo. Il secondo punto è che, tradendo uno degli obiettivi posti nella retrospettiva medesima, non siamo riusciti a organizzare con buon anticipo l’incontro. Da rivedere. Il terzo, ultimo e forse più importante punto è una grande svolta tecnologica, che ha visto la nostra riunione trasmessa in diretta grazie a un hangout: il video completo resta a disposizione per i posteri su Youtube, nel canale del PUG inaugurato con l’occasione.

A mangiare, visto che eravamo da Edimotive, come probabilmente si intuisce dal video, siamo tornati a Bull Steak (ma non si chiamava Bisteak?). Oltre al nome hanno cambiato anche il menù, perché rispetto a Marzo scorso abbiamo mangiato molto meglio.

Incontro di settembre 2014

Vacanze finite, si torna agli incontri “seri” del gruppo, con un interessantissimo talk, ospitati dall’Ateneo Garden Palace. Stavolta tocca a Giorgio parlarci di un interessante soluzione per cercare contenuti eterogenei, cone una semplice interfaccia HTTP: si tratta di ElasticSearch. Un’esposizione molto pratica, in cui abbiamo toccato con mano le possibilità offerte da questo strumento.
A seguire, una breve discussione con il nostro Riccardo Fraioli, che è sempre alla ricerca di qualcuno che gli dia una mano a portare avanti progetti con potenziali clienti (contattatelo sul gruppo).
Per finire, votato a maggioranza con apposito Doodle, banchetto all’aperto (probabilmente l’ultimo che il clima di quest’anno ci concederà), presso il prospiciente Efeso il Barrocciaio.


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.