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. Continua a leggere…

Categorie: os, Uncategorized Tag:, ,

Migrazione alla versione 5.5 di PHP

19 settembre 2013 Lascia un commento
Il problema

Molti di voi dopo aver letto il titolo di questo post, probabilmente avranno detto: “Mbhe, qual’è il problema ???”. Qualche tempo fa l’avrei detto anche io. Togli la versione corrente e installi l’ultima versione… e il gioco è fatto. È vero, questa è una soluzione, la più banale e lineare, ma non sempre applicabile, soprattutto quando la migrazione non va fatta per un’unico progetto e per un’unico sviluppatore, ma per tutta un’azienda e per tutti i progetti in manutenzione, evoluzione e progettazione.

Alcune Valutazioni

Partiamo dalle motivazioni che mi spingono verso la scelta di migrare ad una nuova versione del linguaggio. In prima istanza si tratta di performance. Da alcuni test che ho potuto svolgere e da altri riscontrati in rete l’ultima versione del PHP ha delle prestazioni superiori anche fino al 40% rispetto alla precedente. Già questa potrebbe essere una motivazione più che valida per affrontare il problema. La seconda motivazione, ed è quella che gioca un ruolo portante, è la compatibilità con le librerie. Con il tempo sempre più librerie, probabilmente quelle migliori, avranno come requisito questa ultima versione di PHP. Non allinearsi potrebbe realmente significare non poter utilizzare qualcosa di già pronto. Oggi è una libreria, domani magari un framework e quello che potervi fare in due ore sei costretto a dovertelo rifare da capo, per di più, con qualità anche inferiore. Non vorrei certo fare la fine di qualche società che sta ancora su PHP4 con la quale qualsiasi tipo di integrazione è impossibile. Continua a leggere…

Il nostro talk al codemotion 2013: Let’s test

Anche quest’anno ho avuto il piacere di partecipare come speaker al codemotion insieme al mio collega Andrea. A dirla tutta è lui che ha spinto per proporre un talk. Era talmente tanto entusiasta di quello che ha appreso in un anno ( da quando si è trasferito in dnsee) sulla pratica del “testing automatico” che aveva voglia di condividere con quante più persone possibile… e c’è riuscito. Continua a leggere…

Categorie: eventi Tag:, , , ,

Orient inglobato in Doctrine

21 gennaio 2013 1 commento

Pochi giorni prima del 2013 il progetto orient, iniziato senza alcuna pretesa, è entrato a far parte di doctrine-project.

doctrine-project

Per chi si fosse collegato solo ora:

The Doctrine Project is the home of a selected set of PHP libraries primarily focused on providing persistence services and related functionality. Its prize projects are a Object Relational Mapper and the Database Abstraction Layer it is built on top of….

Doctrine è l’organizzazione sotto la quale sono raccolte tutte le migliori librerie (in PHP) che riguardano la persistenza dei dati. Esempi sono ORM per i database relazionali, così come gli ODM per i database documentali.

Il progetto di cui sto parlando si chiamava Orient, ora rinominato orientdb-odm. Una libreria scritta in PHP per interfacciarsi con OrientDB. Il primo commit risale ormai a circa due anni fa, quando Alessandro, ancora ignaro del grande risultato che avremmo raggiunto, cominciava a buttare giù qualche riga di codice. Non ci è voluto poi molto prima che mi tirasse dentro al progetto.

Già ancora prima di essere inglobati, avevamo avuto l’opportunità di presentare la nostra libreria in diverse conferenze come il codemotion, la poland phpconf e altre minori. Avevamo avuto più volte la sensazione che la qualità del codice scritto fosse molto alta e attendibile, ma quest’ultimo evento ce ne dà la conferma.

Ringraziamento dovuto anche al nostro terzo compagno d’avventura Daniele, portato a noi grazie a github. Non siamo riusciti ancora a vederci in faccia … ma è uno dei prossimi obiettivi :D.

Il 2012 è finito alla grande. Di cose da fare ce ne sono ancora molte. Vedremo cosa ci porterà il 2013

Categorie: GraphDB, NoSQL, php Tag:, , , , ,

Passare da php 5.3 a php 5.4 e viceversa facilmente con brew

19 agosto 2012 2 commenti

Per qualcuno questo articolo potrebbe sembrare un pochino acerbo. Che bisogno c’è di passare ora al php54? “C’è tempo…” potrebbe rispondere qualcuno. Ma prima o poi quel momento (come ogni volta) arriva prima del previsto e ci piacerebbe tanto passare alla versione successiva del linguaggio, perché quella sua caratteristica proprio ci sarebbe comoda, ma chissa cosa potrebbe succedere passando alla versione nuova. Meglio non rischiare, qualcuno dice tipicamente, rimaniamo dove siamo.
Ora, questo è lo scenario che abitualmente ci circonda, non ditemi che non vi è capitato di vedere php4 ancora su qualche applicativo un po’ datato.

L’alternativa è che se fosse “molto facile” cambiare la versione del PHP sulla propria macchina di sviluppo, allora far girare di tanto in tanto i test dell’applicativo anche su questa istanza non sarebbe così complicato, nulla di impegnativo, ma almeno si potrebbe sapere fin dall’inizio in caso di incompatibilità, di cosa si tratta e scegliere come comportarsi.

Bhe questo modo “molto facile” esiste. Io l’ho trovato sul Mac attraverso un comando di brew. Sicuramente questo comportamento esisterà anche su Linux.

Comunque tornando a noi. E necessario aver installato php53 e php54, come si farebbe con i normali pacchetti (ormai uso brew praticamente per tutto) :

brew install php53

poi

brew install php54

Ed è a questo punto che scatta la magia. Utilizzando il comando switch, brew è in grado di scambiare la versione del pacchetto scelto. È quindi sufficiente eseguire: Continua a leggere…

Categorie: php Tag:, , , , ,

Uno schermo che fa la differenza: quello di Jenkins

12 luglio 2012 Lascia un commento

Capita di portare avanti un progetto con molte persone, parliamo di 6/7 persone, che magari sono distribuite in differenti team di lavoro (frontend/backend) e che per rendere le cose più semplici ( si fa per dire ) sono anche dislocate in diversi settori dell’ufficio. In questo contesto, quando i  tempi stringono ed è necessario tenere tutto sotto controllo, è molto produttivo mettere in piedi un sistema di continuous integration (da qui in poi CI) che sia in grado di stabilire quando c’è qualcosa che non va nell’eseguire la suite di test.

Bene, non è la prima volta che parlo di CI e soprattutto non è la prima volta che la metto in pratica per un progetto delicato. Ma questa volta c’è qualcosa di diverso, qualcosa di semplice, una mossa in più (anzi, due) che cambia tutto.

Continua a leggere…

Il nostro talk al codemotion 2012: GraphDB, time for serious staff

12 aprile 2012 Lascia un commento

Seppur con estremo ritardo metto a disposizione le slide dell’interveto che abbiamo fatto il mio collega Alessandro ed io al Codemotion 2012 che si è tenuto come al solito a Roma alla facoltà di ingegneria di Roma Tre.

Continua a leggere…

Iscriviti

Ricevi al tuo indirizzo email tutti i nuovi post del sito.

Unisciti agli altri 903 follower

%d blogger cliccano Mi Piace per questo: