Categorie
open source tecnologia

PHP and MongoDB Web Development Beginner’s Guide, una review

“PHP and MongoDB Web Development Beginner’s Guide” è un libro consigliato a chi vuole approciarsi a MongoDB con un approcio molto pragmatico ed orientato ad esempi concreti.

Nel libro, piuttosto che affrontare tutta la teoria dietro ai database documentali, si spiegano, capitolo per capitolo, le funzionalità che questo database NoSQL mette a disposizione degli sviluppatori e come possano essere sfruttate in piccoli progetti.

Ogni capitolo infatti tratta uno specifico aspetto di MongoDB, tralasciando i primi due capitoli più introduttivi alle funzionalità di base del sistema viene spiegato come usare Mongo per gestire (trasparentemente) le sessioni di PHP, geolocalizzazione di dati, storage di file con GridFS ed i log/analitiche del proprio sito. Viene dato anche un po’ di spazio alle pratiche di Map/Reduce anche se avrei approfondito il capitolo con qualche esempio più complesso.

Il libro è scritto abbastanza bene, e stranamente, gli esempi di codice PHP sono ad oggetti e vengono illustrati alcuni dei pattern usati. Unico limite del libro è che non vengono descritte le funzionalità avanzate di Mongo come sharding, load balancing e replicazione, ma da una beginners guide non ci si poteva aspettare altro.

Insomma, un buon punto di inizio, ma non di arrivo, per chi si vuole avvicinare a MongoDB.

Categorie
lifehack pensieri webdev

Sulla riusabilità del codice

Passando molto più tempo a gestire la (follia della) gente che sul codice ho iniziato a rivedere alcuni concetti a me cari durante la mia precedente, e forse futura, vita da sviluppatore. Uno di questi è la riusabilità del codice.

Il primo tarlo sull’argomento si è presentato quando, durante l’Agile Day di Roma, mi è stato chiesto se in ideato reinventavamo la ruota ogni volta e per ogni progetto. In quell’occasione la mia risposta, data di getto e senza pensarci troppo, fu: “utilizzeresti del codice (anche tuo) scritto 4 anni fa?“. Il principio di base è che in 4 anni la tecnologia (sul web) evolve tantissimo, ed allo stesso modo evolvono le competenze dei team, riutilizzare quindi codice obsoleto e potenzialmente legacy non fa altro che limitare le potenzialità di uno sviluppatore (riducendo in alcuni casi la qualità globale del progetto).

Categorie
pensieri tecnologia

HP cederà le linee di produzione dei pc?

Come qualcuno di voi avrà letto pare che dopo aver risentito della maledizione Palm (notate come tutte le aziende che comprano Palm o prodotti/marchi di Palm ad un certo punto, a prescindere dalla qualità insita del prodotto, lo dismettano?) HP abbia deciso di non produrre più hardware sul sistema operativo web oriented per eccellenza.

A seguito della notizia ne è arrivata una, a mio parere, più triste: HP sta valutando di dismettere anche la linea di produzione PC.

Categorie
lifehack php tecnologia webdev

Zend Server e WordPress 3.x

Collaborando con Zend Italia, e con il buon Enrico, alla preparazione di un micro-benchmark su WordPress è emerso, tra le altre cose, che il CMS in questione non ama particolarmente il sistema di Page Cache dello Zend Server.

Questo avviene perchè il primo, non potendo comunicare al secondo la modifica di una pagina (ad esempio dovuta ad un commento), riceve dal sistema di caching sempre e solo lo stesso contenuto. Dopo un paio d’ore di studio delle API dello Zend Server e delle action di WordPress è emerso un simpatico snipplet che permette di usare direttamente il CMS in situazioni di grosso carico di lavoro senza doversi appoggiare a plugin di caching (come ad esempio il pur sempre ottimo W3 Total Cache) e lasciando quindi l’installazione di WordPress la più pulita possibile.

Qui di seguito il proof-of-concept (funzionante) del codice in questione.

Categorie
lifehack tecnologia webdev

QR Code bookmarklet

fullo.netSe vi piacciono i QR Code, come quello che vedete qui a sinistra sappiate che google mette a disposizione un comodo tool per la generazione on-fly degli stessi.

Per comodità ho creato una piccola bookmarklet che invoca il servizio e genera automaticamente l’immagine.

Per usarla, copiate questo codice all’interno di un bookmark:
[code]javascript:window.open(‘http://chart.apis.google.com/chart?cht=qr&chs=150×150&choe=UTF-8&chld=H&chl=’+document.location);void(0);[/code]

o, più semplicemente, trascinate questa QR Code Bookmarklet sulla vostra barra degli indirizzi.

ciuaz

Categorie
lifehack pensieri webdev

Il problema del refactoring

Dare una stima dei costi per il refactoring di un progetto, senza prima averlo analizzato sarebbe come cercare di curare una malattia senza investire tempo e denaro in analisi mediche.

Fullo, mail a cliente anonimo

Sempre più spesso in Ideato ci arrivano richieste per riprogettare, rifattorizzare ed ottimizzare software già in produzione. Ovviamente chi chiede informazioni sui costi si ferma ad un misero «ma quanto mi costa?» senza però ascoltare le due/tre cose che sappiamo sull’argomento (mica ci abbiamo scritto un libro sul refactoring per hobby, no?).

Uno degli ultimi casi che mi è capitato riguarda la riprogettazione (a tutti i livelli, dall’UX alla sistemistica) di un portale da fare in partnership con altre aziende con cui stiamo lavorando già da tempo. Solo la fase di preventivazione di massima è costata a tutti parecchio tempo perchè, come al solito, non c’erano idee chiare da parte del cliente che è stato accompagnato mano nella mano in tutta l’attività.

Il quale, però, è ovviamente caduto dal pero vedendo che nel preventivo di analisi mancava la stima dei costi per il refactoring.

Ecco quindi spiegata la metafora che introduce questo post.

Categorie
eventi tecnologia

Don’t touch the slow parts

Ed ecco le slide del talk fatto con Federico Galassi durante il BetterSoftware 2010, se vi siete persi il talk e/o magari volete rivederlo in una veste più tecnica venite al phpDay 2010… ;)

ciuaz

Categorie
eventi php

phpDay 2010 alle porte!

No, non sono di nuovo scomparso nel limbo dei blogger stanchi di scrivere, è che negli ultimi mesi sono stato un po’ preso tra il lavoro ufficiale e quello ufficioso.

Ebbene si, manca solo un mese al prossimo phpDay!

Categorie
eventi php tecnologia

ITDEVCon, IPC e AgileDay

Finalmente torno a girare un po’ per conferenze, e che conferenze. Questa settimana sarò impegnato come relatore all’ITDevCon, conferenza dedicata al mondo Delphi e PHP che mi vedrà nella duplice veste di php-ista ed agilista con due talk leggeri sul TDD e i maggiori misunderstand riguardanti lo sviluppo agile.

La cosa che mi rende contento dell’ITDevCon, è che parteciperò ad un evento su quello che è l’evoluzione di uno dei linguaggi che più mi ha divertito ai tempi delle medie, il Turbo Pascal e che tuttora si porta dietro qualche strascico come il tema per Zend Studio con sfondo blu… :)

Al ritorno dall’ITDevCon farò un salto in quel di Karlsruhe per partecipare all’edizione invernale della phpConference 2009, uno dei più importanti eventi europei per PHP che ogni anno vede le migliori teste del globo a cercare (riuscendoci) di farmi ubriacare parlare di tutto ciò che gravita intorno al mondo dello sviluppo su web ai massimi livelli.

Infine a Bologna, si terrà il 20 novembre, la nuova edizione dell’AgileDay, che quest’anno mi vedrà nei panni di relatore durante un breve talk intitolato Agile === Dinamico . Onestamente partecipare a questa conferenza attivamente, e non come spettatore, mi spaventa un po’ ma cercherò, nel mio (ph)piccolo di svecchiare qualche preconcetto sull’agile e sui linguaggi interpretati ;).

Che dire.. ci vediamo in giro! :)

Categorie
altri linguaggi eventi

HTML5 Coding Dojo presso Ideato

Events

Ideato presenta il primo coding dojo su HTML5, durante l’evento verrà presentato il linguaggio ed realizzato un kata sui web workers di javascript risolveremo il secondo problema del progetto Eulero.

La giornata inizierà alle 14.30 con 4-5 mini interventi su HTML 5 proposti dai partecipanti per poi proseguire con il kata sull’esercizio tratto dal progetto Eulero, consiglio a tutti di provare a risolverlo con javascript o altro linguaggio per poi poterlo ri-affrontare usando i workers.

L’evento è aperto al pubblico ma a numero chiuso, sono gradite birre e cibarie da condividere con gli altri partecipanti.

Per prepararvi all’evento vi consigliamo la lettura di Dive into HTML 5!