di Gabriele Farina Commenta

Da qualche tempo mi sto occupando dello sviluppo di un semplice ODBMS in PHP da utilizzare per la persistenza degli oggetti in un Application Server. Mai come in questa situazione mi sono accorto di quanto sia fondamentale l'utilizzo di strumenti che facilitino il rilevamento di errori concettuali all'interno del codice. In PHP abbiamo a disposizione qualche funzione nativa per gestire il debugging di semplici script o siti internet, come l'error_reporiting, funzioni di logging, l'introspezione e qualche strumento di back-tracking delle chiamate. Purtroppo questi strumenti non bastano in applicazione più complesse ma fortunatamente possiamo sfruttare i debugger per facilitarci la vita. Un debugger è un programma (spesso una versione modificata di un compilatore/interprete oppure una libreria esterna scritta in codice nativo) che ci permette di eseguire il nostro codice passo passo, decidendo quando interrompere l'esecuzione per visualizzare lo stato corrente della nostra applicazione. Grazie a funzionalità di introspezione possiamo conoscere il contenuto dello scope corrente ed il valore di oggetti anche molto complessi. Spesso i linguaggi di programmazione forniscono un debugger nella loro distribuzione standard. PHP, a causa di alcune scelte progettuali, non fornisce questo strumento. Qualche volenteroso ha comunque deciso di rilasciare strumenti di debug per PHP. Personalmente utilizzo il debugger integrato in Zend Studio, ma possiamo trovare valide alternative nel panorama opensource. APD è un'estensione PECL che permette l'utilizzo di nuove funzioni in PHP per l'analisi ed i profiling dei nostri programmi. DBG è invece un debugger nativo molto utilizzato da IDE commerciali ed opensource grazie alla sua versatilità e completezza. Fino a qualche tempo fa utilizzavo l'estensione Xdebug, che è anch'essa ricca di funzionalità interessanti. Tutti questi strumenti necessitano di essere installati sul server sul quale il nostro programma è in esecuzione. Una valida ed interessante alternativa agli strumenti che vi ho elencato è Gubed, che spicca soprattutto per la particolare struttura che il programmatore ha deciso di seguire. Gubed infatti modifica il vostro codice PHP inserendo chiamate a funzione che vengono sfruttate per interrompere l'esecuzione e recuperare informazioni sul programma. Semplice ed efficace.

Tags: , ,

Il framework .NET mette a disposizione degli sviluppatori delle API (System.Configuration.ConfigurationSettings.AppSettings) per la lettura della sezione AppSettings dei files di configurazione tipo app.config o web.config. Ecco uno stralcio di codice di una tipica sezione AppSettings all'interno di un file .config: <configuration>   <appSettings>     <add key="ConnectionString" value="server=.;database=pubs;userID=sa;pwd=pippo;"/>     <add key="Debug" value="true"/>   </appSettings> </configuration> (more...)

Tags: ,
di Francesco de Francesco Commenta

Sono in molti a ritenere che una interfaccia uomo / macchina, che si tratti di un pannello di controllo di una lavastoviglie, il front-end di una applicazione o la home di un sito, dovrebbe avere due livelli di progettazione. Il primo livello dovrebbe essere prodotto da un team di psicologi, sociologi, esperti di scienze cognitive. Tale disegno garantirebbe la naturale comprensibilità ed interpretabilità dei criteri di manovrabilità e la coerenza della comunicazione tra le due entità in gioco, uomo e macchina. Il secondo livello sarebbe, a questo punto, quello dei progettisti tecnici che tradurrebbero le disposizioni del primo livello in architettura di sistema, componenti e specifiche tecniche in generale. (more...)

Tags:
di Alessandro Fulciniti Commenta

Un post pubblicato di recente su IEBlog inizia a rivelare alcuni dettagli implementativi di IE7. Ma facciamo un attimo un passo indietro, dato che tutto è iniziato in questa calda estate. Il 27 luglio 2005 IEblog annuncia la beta 1 di IE7 (ricordo che per versione beta di un software si intende una versione in fase di test, e lontano dall' essere definitiva). La beta di IE7 è però disponibile solo agli sviluppatori con abbonamento a MSDN... il che la rende quasi una beta privata. (more...)

di Cesare Lamanna 3 Commenti

Il titolo del link con cui l'ho scovato su del.icio.us era di quelli ambigui: The coolest DHTML/JavaScript Calendar. Boooom! Sarà vero? Ci vado o non ci vado? Sono andato e devo dire che questo calendario è davvero il più bello e funzionale che abbia finora visto in questa categoria di widget per pagine web. Offre tutte le possibilità di personalizzazione desiderabili, sia nella gestione delle date sia nell'aspetto grafico. Ha un ottimo supporto cross-browser. Last but not least, è un progetto open source. La pagina della demo è il punto di partenza ideale per scoprirne tutti i possibili usi e gli scenari di implementazione (provate anche a cambiare la skin dal menu in alto a destra...).Il sito di DynArch è comunque pieno di altre sorprpese, a partire dal menu a tendina principale, e offre altri prodotti (per lo più commerciali). La cosa fastidiosa è che per aprire certi link richiede di disattivare il blocco delle popup.

La Francia non ci sta: dopo aver istituito un progetto alternativo a Google Print ed aver rilanciato la cosa anche in seguito all'apertura del progetto in Europa, oltralpe ora intendono fare qualcosa di ben più radicale: lanciare un motore di ricerca in grado di proporsi come alternativa ai motori statunitensiLa battaglia francese non è prettamente anti-Google, ma più specificatamente contro l'egemonia culturale che gli States impongono a tutto il mondo filtrando la conoscenza tramite i propri algoritmi di ricerca. La Googlepédie (così avevamo a suo tempo chiamato con un neologismo l'idea francese) si estende dunque ora a "Quaero", nome usato oggi per identificare l'idea del motore europeo. (more...)

Tags: ,

La bustina blu del Notifier GMail arriva anche sui Mac. Google ha infatti lanciato una versione apposita per gli utenti Apple ed il download è ora duplice: uno per ambiente Windows e uno per "Mac OS X 10.3.8+ (including Tiger)". Con questa novità sarà molto più accessibile agli utenti Mac il servizio GMail, che con il Notifier riesce ad andare ben oltre una semplice webmail.Sul sito dell'Help Center del servizio Google preannuncia ulteriori novità per il piccolo tool che segnala le mail in arrivo (peraltro sostituito recentemente da una analoga funzione predisposta dall'instant messenger Google Talk). Nell'elenco si evidenziano il supporto per più account sullo stesso pc, l'uso di connessioni HTTPS e la possibilità di cambiare il browser predefinito in uso dal servizio.

Tags: , ,

SQL Server 2000 non ha integrato nessun meccanismo per prevenire l'eliminazione di una tabella. Questa situazione non è del tutto remota, un bug all'interno di uno scripts SQL, un collega troppo sicuro di sè, un click "allegro" su Enterprise Manager o Query Analyzer e voilà il gioco è fatto! Per evitare simili situazioni, ecco un semplice suggerimento su come proteggere una tabella da una DROP non prevista: CREATE VIEW dbo.V_ProteggiAutori WITH SCHEMABINDING AS SELECT COUNT(*) AS Count FROM dbo.Authors GO La creazione della vista V_ProteggiAutori con l'opzione WITH SCHEMABINDING implica la creazione di una dipenza diretta tra la vista e la sottostante tabella dbo.Authors a cui fa riferimento.A questo punto l'eliminazione diretta della tabella Authors non è più possibile se non dopo aver eliminato la vista dbo.V_ProteggiAutori oppure dopo aver modificato la stessa rimuovendo l'opzione SCHEMABINDING.Non rimane che ricorrere alla saggezza popolare: Uomo avvisato mezzo salvato!

di Cesare Lamanna Commenta

Dai browser ai client di e-mail, dagli anti-spyware alle utility per rinominare file, dai programmi di grafica a quelli per navigare anonimamente in rete.Sono le 46 categorie di applicazioni rigorosamente free per le quali Gizmo ha assegnato i suoi personalissimi Oscar.Rimanendo in tema, segnalo anche TinyApps, un curiosissimo sito che elenca solo programmini leggeri leggeri per ogni esigenza. La categoria Internet la trovate qui.