phpDay 2010 – seconda giornata
Passata la prima giornata dedicata ai workshop eccoci giunti al secondo giorno del phpDay 2010 a Corropoli (Te) pronti a seguire un gran numero di talk interessanti. A volte è stato difficile fare delle scelte, ma non potendo seguire tutto qualcosa va sacrificato (pensavo di proporre per il prossimo anno un serialize dei talk per evitare collisioni, 16 ore di fila, che dite?).

YQL & PHP
Lasciatemi esordire così: che figata pazzesca! Se non avete mai sentito parlare di YQL vi consiglio caldamente di dargli un’occhiata, anche due. Giocate un po’ con la console e restate impressionati dalle 745 “tables” che vengono messe a disposizione gratuitamente. YQL permette di consumare o, volendo, esporre dati utilizzando una sintassi simile all’SQL senza doversi preoccupare di capire come le api di un dato servizio funzionino. Un unico modo per parlare con tutti i maggiori servizi web e creare così altre applicazioni/mashup o semplicemente utilizzare dei dati ignorando completamente ciò che realmente c’è sotto. Va provato per capirne la portata, ho visto gente perdere quasi il senno dopo il talk
Dependency Injection in PHP
Che il concetto di DI sia di una facilità e chiarezza disarmante era ormai chiaro. Molti sicuramente applicano giornalmente la DI anche senza saperlo, farlo con consapevolezza forse sarebbe ancora meglio. Non così semplice il concetto e l’applicazione dei DIC (dependency injection containers), nonostante Fabien habbia mostrato di essere capace di farlo con 40 righe di codice. Ma se la DI è una buona pratica da seguire i DIC vanno presi un po’ più con le molle e non si deve per forza cercare di applicarli ovunque visto che ci sono situazioni in cui è giusto vengano utilizzati mentre in altre occasioni sarebbe sbagliato.
Testare l’ignoto
Michele Orselli e Filippo De Santis, del team di Ideato, parlano di strumenti dedicati al testing funzionale ed unitaro per realizzare un ambiente di test per le proprie necessità. Nello specifico l’esperienza da cui hanno ricavato le informazioni è scaturita dalla necessità di testare eZPublish ricorrendo all’utilizzo di strumenti come Selenium IDE / RC e PHPUnit.
Come sempre conoscere esperienze reali di utilizzo di tecniche di testing, in ambienti eterogenei, è molto interessante. Confrontarsi porta a migliorarsi. Un problema sentito particolarmente, e che più di qualcuno ha evidenziato, è stato forse quello relativo al livello di complessità degli esempi affrontati: introduzione o percorso avanzato? Qualcuno già skillato sull’argomento spera sempre di spingersi oltre ai limiti attuali mentre chi è agli inizi o addirittura non ha mai affrontato l’argomento si augura che qualcuno lo prenda per mano e lo conduca in questo fantastico mondo.
Che sia il caso di trovare nuove forme di analisi per stabilire il livello di un talk coinvolgendo a priori i possibili spettatori? Credo ne scriverò in futuro.
Caching in PHP: get better perfomance for your web applications
Enrico Zimuel di Zend presenta un interessante carellata sugli attuali strumenti di caching presenti nel panorama PHP attraverso uno studio sulle performance che ha condotto personalmente negli ultimi mesi e che dovrebbe vedere la luce tra non molto. Visto l’alto numero di interventi da parte dei presenti non si è riusciti ad analizzare tutti i dati ricavati dallo studio, tuttavia ci si è accorti che APC, XCache e Zend Cache primeggiano su tutti quando si ha a che fare con un’infrastruttura a singola macchina; da valutare separatamente il caso di cluster in cui memcached dovrebbe ripagare ciò che perde in prestazioni grazie al fatto di poter gestire in modo centralizzato i dati per i vari nodi del cluster.
A brevissimo mi troverò ad utilizzare uno di questi prodotti per risolvere un po’ il problema inverso: contatori ad alta concorrenza. Quindi qualcosa che avrebbe bisogno di fare qualche migliaio di scritture al minuto sul db che chiaramente non è uno scenario auspicabile. Scrivere in memoria e ad intervalli recuperare il dato per aggiornare il database è la soluzione ideale. Vi farò sapere.




