Archivio per la categoria 'Tecnologia'

Git, Mercurial e Bazaar a confronto

Ho discusso in un precedente blog i limiti di CVS e Subversion. In particolare ho evidenziato come i branch risultano difficili con CVS/SNV e di conseguenza poco utilizzati dai programmatori, anche se il loro utilizzo porterebbe diversi vantaggi.

La soluzione a questi problemi è arrivata negli ultimi anni da tre strumenti - Git, Mercurial e Bazaar - che si pongono come obiettivo non solo di semplificare il branching ma di dare una nuova prospettiva all’intero concetto di versionamento.
Leggi il testo completo »

Prestazioni di iBatis rispetto a JDBC

Ho fatto un veloce test per verificare l’overhead di iBatis rispetto a dei semplici statement JDBC. Ho scritto una query che estrae un solo record dato l’id. Ho scritto un programmino Java per far girare la query 100 mila volte sia in modo iBatis che in modo JDBC. L’id del record è sempre rimasto uguale: questo per garantire che il db utilizzasse sempre la sua cache in memoria. Il db utilizzato è stato Postgresql.

Ho ripetuto l’esperimento più volte e fatto la media. I tempi registrati (in microsecondi) sono stati i seguenti:

  • iBatis: 312usec
  • JDBC: 304usec

Quindi, sì, iBatis ha un impatto sulle prestazioni ma è solo del 3%, quindi minimo.

Un’ultima osservazione: facendo girare la query in psql e registrando i tempi con “explain analyze” i tempi sono costantemente di 51 microsecondi. Cioè Java vede tempi sei volte più lunghi di quello che il db è in grado di fornire. Hmmmm…

Perché CVS e Subversion non sono adatti ad un buon sviluppo del software

CVS e Subversion (SVN) sono strumenti di versionamento diffusissimi in ambito software. In quanto strumenti, dovrebbero aiutare il programmatore sollevandolo da compiti ripetitivi e proni a errori. In questo blog mostro come, utilizzando CVS e SVN al meglio, si ottenga esattamente l’effetto opposto, cioè un aggravio per il programmatore.
Leggi il testo completo »

Commons BeanUtils: accedere ai JavaBean con minimo sforzo

Apache Commons è una famiglia di progetti mirati a creare componenti Java di facile uso e riuso. Si tratta di componenti generici, piuttosto di base e generalmente ben testati di cui è utile conoscere l’esistenza per risparmiare tempo ed evitare di reinventare la ruota nei nostri progetti.

In questo blog mostro l’utilità di Commons BeanUtils, una libreria fondamentale della famiglia Commons. Leggi il testo completo »

Trascrizione del panel dal Java IDE Day di Genova

Ho messo on-line la trascrizione del panel dal Java IDE Day di Genova dove i tre panelist - Roman Strobl (Sun Microsystems), Paolo Ramasso (Oracle) e Vaclav Pech (JetBrains) - ci rivelano i loro pensieri sul futuro delle IDE per Java.

Java IDE Day Genova

Primi utilizzi di IntelliJ IDEA: refactoring di un metodo

Dopo la positiva esperienza del Java IDE Day, ho scaricato e cominciato ad utilizzare IntelliJ IDEA di JetBrains. So che è un’IDE molto potente e quindi la mia aspettativa è di apprenderla poco per volta. In questo blog analizzo una sola funzionalità, il refactoring di un metodo, per illustrare un po’ la filosofia di IDEA e alcune differenze rispetto alle altre IDE.

Leggi il testo completo »

Foto di gruppo

Foto di gruppo dal Java IDE Day.
Foto di gruppo dal Java IDE Day - Genova

Grande partecipazione al Java IDE Day di Genova

Si è svolto ieri a Genova il primo Java IDE Day italiano che ha messo a confronto tre degli IDE più popolari (NetBeans, JDeveloper, IntelliJ IDEA). La partecipazione ha raggiunto quota 130-140 persone (i dati ufficiali saranno pubblicati presto), il che rende l’IDE Day il più importante evento Java a Genova da molto tempo a questa parte.

Un grazie agli speaker Roman Stobl, Paolo Ramasso e Vaclav Pech, e a tutte le persone che sono intervenute.

Ora la palla passa Roma che domani, 12 Marzo, ospiterà la seconda giornata. Se siete in zona, l’evento si svolgerà alla Facoltà di Ingegneria dell’Università Roma TRE. Istruzioni su come raggiungere la facoltà sono sul sito.

Presto, su questo e altri blog, saranno disponibili resoconti e foto dell’evento genovese.

Ottimizzare prestazioni e compatibilità di NetBeans

NetBeans richiede circa 200 MB memoria fisica libera per il programma e i dati. Se questa è disponibile, l’ambiente di sviluppo è performante anche su macchine non recentissime. Molti utenti però si accorgono che, con progetti grandi e utilizzando più funzionalità contemporaneamente, l’IDE rallenta. Da qui la necessità di ottimizzarne le prestazioni.

Nota: questo blog spiega come velocizzare NetBeans, non come ottimizzare un generico programma Java. Certe considerazioni hanno comunque carattere generale e possono tornare utili in altri contesti.

Leggi il testo completo »

Si avvicina il Java IDE Day

Mancano ormai otto giorni al Java IDE Day che si terrà nel pomeriggio di Lunedì 10 Marzo 2008 alla facoltà di Ingegneria di Genova. Nell’attesa, segnalo i blog di due degli speaker internazionali:

Ricordo che la partecipazione all’IDE Day è libera. Sul sito ufficiale è possibile registrarsi e avere informazioni ulteriori su come raggiungere il luogo dell’evento.