Posts

Showing posts with the label sviluppo

Evoluzione del pair programming in un team (quasi) decennale

Image
I spoked ad Mini Agile Day in Trento , here you can find the slide of the talk. I present my experience with Team Nimbus at 7Pixel since 2009. From the "by the book" implementation to the "superpower" adaptation maked by the team. What is pair programming? How does it works?  How we have changed it? Errors and improvements of 9 years of pair programming. Evoluzione del pair programming in un team (quasi) decennale from Marco Fracassi

ScuolaXP 2017 - Com'è andata?

Image
Anche quest'anno ho avuto l'onore di poter fare il docente a ScuolaXP , insieme a me ci sono stati come l'anno scorso Alberto Brandolini , Antonio Carpentieri , Andrea Francia e quest'anno si è unito a noi anche Giuseppe Carnevali . Siamo ormai una bella squadra e ho percepito che il fatto di essere già rodati si sia visto durante la settimana. Erano presenti 25 ragazzi , 11 professionisti e 14 studenti (record di partecipanti) tutti molto attenti e interessanti. Abbiamo costituito 5 team eterogenei da 5 persone e poi abbiamo aperto le danze. Un susseguirsi di nuovi problemi  e scenari sempre in cambiamento. Ad ogni giornata ho visto un progresso dei partecipanti sempre più immersi nella filosofia e nelle pratiche di eXtreme Programming . Abbiamo messo in discussione molti concetti che ritenevano assodati e abbiamo aperto le porte per far entrare nuovi pensieri e nuovi approcci. E' sempre bello vedere come anche i professionisti riescano a mettersi in disc...

Workshop Sviluppo Applicazioni Web @upo 2017

Image
24 Marzo 2017 In collaborazione con l' Università d el Piemonte Orientale UPO  (grazie alla Professor Enea Parimbelli), ho tenuto un workshop sullo sviluppo di applicazioni web. Abbiamo visto come costruire una applicazione web in Java a partire da zero. Dopo il setup iniziale di IntelliJ IDEA, gli studenti hanno scaricato le librerie di Jetty ed abbiamo iniziato a scrivere un main con il minimo necessario per avviare un sito. Dopo un po' di teoria abbiamo messo in piedi l'html necessario per gestire una form per l'inserimento di indirizzi di una rubrica e per la visualizzazione della lista degli indirizzi salvati (su file, solo teoricamente abbiamo visto la persistenza su database).  Un po' di refactoring per organizzare meglio il routing e rimuovere la duplicazione nel mostrare le viste. Una giornata molto piacevole in cui spero di aver trasmesso, oltre a qualche conoscenza tecnica, anche un po' di entusiasmo per la professione dello sviluppat...

PostgreSQL: come visualizzare i primi N record di ogni gruppo

Image
Di recente mi è capitato di dover produrre un report dove si volevano, per ogni venditore inserito nei database aziendali, le prime 5 categorie merceologiche in cui vende più offerte. Il problema di scrivere una query per selezionare i primi N elementi di un gruppo non è banale. Semplificando al massimo il caso reale, si può vedere come se in gioco ci fosse un'unica tabella offers , dove ogni record è composto da: id venditore ( seller ) categoria dell'offerta ( category ) La richiesta non è facilmente esprimibile con una query ma, ho scoperto che da PostgreSQL 9.1 viene offerta una sintassi molto naif per realizzarla.  Bisogna combinare due window function , ovvero due funzioni che permettono di fare calcoli su insiemi di righe: row_number() : fornisce il numero di riga in un certo insieme, partendo da 1 select over partition : permette di selezionare qualcosa in una partizione di dati La query che risponde all'esigenza di avere le prime 5 categorie ...

Guida: preparare un ambiente di sviluppo Ruby On Rails su Windows 10 tramite Docker

Image
Viste le non poche difficoltà che ho avuto nel preparare un ambiente di sviluppo per una applicazione scritta con Ruby On Rails da una macchina Windows 10 sfruttando Docker , ho deciso di preparare questa guida sperando di far risparmiare un po' di tempo a qualche interessato ;) L'idea è quella di sviluppare l'applicazione scrivendo il codice direttamente sul filesystem della macchina Windows 10 . Volevo però avere avere l 'application server in containe r in modo da poter sfruttare tutte le potenzialità di Ruby e sopratutto di Rails. Inoltre volevo che l'applicazione si appoggiasse su un database MySql anch'esso in un container Docker. Come prima cosa bisogna installare Docker per Windows, il software è reperibile nel sito ufficiale di Docker, in particolare bisogna installare " Docker for Windows versione Stable ". Una volta scaricato bisognerà installarlo, al termine dell'installazione verrà proposto questo messaggio: Hyper-V feature ...

Workshop Sviluppo Applicazioni Web @unipv

Image
31 Maggio e 7 Giugno 2016 In collaborazione con l' Università degli Studi di Pavia  (grazie alla Professor Claudio Cusano), terrò in queste due giornate un workshop, insieme a Roberto Grandi, sullo sviluppo di applicazioni web. Affronteremo una prima parte più teorica per vedere come una richiesta HTTP a partire da un browser arriva ad un application server e come questo seve le risorse richieste. Nella prima giornata proveremo ad usare Java e Tomcat per scrivere e servire una Sevlet e una JSP. Nella seconda giornata proveremo invece a vedere qualche pratica agile applicata allo sviluppo di applicazioni web. Scarica le slide

Ha senso avere due test identici con dati diversi?

Image
Al seminario sul TDD e il pair programming che ho tenuto all' Università dell'Insubria di Varese  uno studente mi ha domandato: "Ho fatto il test T1 del metodo X poi è saltato fuori che con dati di input diversi, nonostante il test fosse verde, il comportamento non era più coerente...Allora ho scritto il test T2 uguale al test T1 ma con dati diversi... Ha senso avere due test identici con dati diversi ?" Io ho provato a rispondere con un esempio banale in pseudolinguaggio: test sum result = sum 1, 6 assert result is 7 sum a, b return 7 ---------- test another sum result = sum 2, 6 assert result is 8 sum a, b return a + b La mie domande al ragazzo sono state: "Ho fatto TDD?" e "Il secondo test è stato utile anche se uguale al primo?"... risposta "Certo!" Bene: in una domanda tanto banale e nella mio esempio forse ancor più banale, si nascondono alcuni retroragionamenti: - il primo test testa la somma, i...

Scuola XP 2016

Image
04-08 Aprile 2016 Parteciperò come trainer alla seconda edizione della Scuola XP organizzata da  7Pixel  in collaborazione con  Avanscoperta . La Scuola XP è più di un corso di formazione, è un'esperienza di apprendimento per coloro che si affacciano al mondo dello sviluppo agile e in particolare ad eXtreme Programming. In queste giornate i partecipanti avranno la possibilità di mettersi alla prova e di apprendere facendo. Per avere tutte le informazioni potete sbirciare  ScuolaXP: 5 giorni di sviluppo software professionale Per saperne di più