Tanti vantaggi con Vagrant

In questo articolo vedremo come attraverso Vagrant una macchina virtuale diventa un vantaggio per un team di sviluppo.

Il punto è semplicemente quello di avere una macchina virtuale come ambiente di sviluppo. Già il concetto è semplice, la fruizione, almeno fino all’arrivo di Vagrant un po’ meno.

La prima volta che ho cercato di applicare questo concetto ero ancora all’università. Stavo studiando per l’esame di “sistemi operativi”. Il sistema operativo in questione era linux. Parte del programma era quello di scrivere programmi in C. Io a quel tempo avevo appena acquistato un mac ( ultima versione dei RISC prima degli intel ). Il C è un linguaggio portabile, ma noi stavamo talmente tanto a basso livello che il risultato dei programmi su mac e linux era diverso. Da qui l’idea di montare una macchina virtuale con linux dentro. Tutto bene? insomma. Le performance non erano il punto forte e l’ambiente visuale era decisamente lento, non che mancante del mio IDE preferito (al tempo TextMate). Dovevo trovare un’altro modo: Attraverso ssh l’accesso alla shell era garantito, per compilare avevo risolto. Ma per l’ide, vim non era ancora mio amico. Macfuse con sshfs facevano al caso mio. Praticamente attraverso questo strumento ero riuscito a montare su una directory del Mac l’accesso ai file di Linux, in questo modo potevo aprire i file sul mio IDE preferito e compilare i sorgenti direttamente dalla shell.
Molto macchinoso ma alla file funzionante. Continue reading “Tanti vantaggi con Vagrant”

Symfony: Quando i filtri non fanno parte del modello

L’admin generator di symfony è un componente fenomenale, se non ci fosse bisognerebbe inventarlo. Permette di creare un’applicazione basica (CRUD di tutti i modelli) in pochissimo tempo. In più man mano che lo si utilizza si impara sempre meglio a personalizzarlo per i propri scopi.

Ultimamente mi è capitato di dover filtrare la lista di risultati di un modello non in base ad uno dei suoi attribuiti (quindi una delle sue colonne) ma in base ad un attributo di un altro modello strettamente collegato a quello di interesse.

Immaginate di avere tre differenti modelli: nazione, regione, città. Tra nazione e regione una relazione uno a molti cosi come pure tra regione e città. Ma se volessimo sapere tutte le città di una nazione senza impostare una regione, come bisognerebbe comportarsi con i filtri del modello città? Continue reading “Symfony: Quando i filtri non fanno parte del modello”

Una shell più agile!

Come sapete uso un mac per sviluppare. In symfony, il framework php che utilizzo per sviluppare applicazioni web, è necessario interagire molto con la shell. La shell (per stesse storcendo la bocca) è il terminale , la più classica linea di comando.

Ora premesso che a me la linea di comando piace moltissimo, in symfony ci sono molti lunghissimi comandi che non è sempre piacevole impartire n volte. Quando si fanno i test, quando si rigenerano le build dei modelli. Insomma, i comandi si ripetono molte volte.

uno dei comandi piu lunghi è il seguente:


php symfony doctrine:build --all --and-load --no-confirmation

Continue reading “Una shell più agile!”

Hudson + Symfony: insidie nascoste.

Tutto perfetto, tutto ok, commit solo con test verdi, hudson non rileva problemi da almeno 20 build. Si fa il checkout svn e giu con il build–all. Ma … si inchioda tutto, non riesce a buildare perché dice che gli manca una classe (base). Che cosa sarà mai successo???

Questo è lo scenario che si è creato qualche giorno fa sul progetto sul quale stiamo lavorando. Fortunatamente stiamo ancora in fase di test, quindi nessun problema, ma è stato proprio un fulmine a cel sereno.

Continue reading “Hudson + Symfony: insidie nascoste.”

Continuous Integration con Hudson

Avessi avuto la stessa passione anche per gli argomenti che trattavano a scuola sarei stato il primo della classe!

Non è un post storico! Stavo ripensando agli Specch che ho seguito al phpday 2010.  E stato un continuo prendere appunti: software, modelli di sviluppo, tool. Insomma ho veramente fatto tesoro di tutto quello che ho potuto ascoltare. E senza pensarci su, tornato nella mia quotidianità ho cominciato piano piano a mettere in pratica tutto il possibile.

Continue reading “Continuous Integration con Hudson”

Il mio phpday2010

Quest’anno per la prima volta, preso un po’ da questa onda social che non si era mai presentata in me, ho partecipato al #phpday2010.
Quest’anno posso dire: “C’ero anche io!”. Non che prima non conoscessi questa manifestazione, anzi, diciamo che l’ho sempre seguita … solo che a posteriori, su blog, riviste e quant’altro (in fondo sviluppo in php da quasi 10 anni).

Continue reading “Il mio phpday2010”