Domani Jug Roma Meeting

•Maggio 4, 2009 • Lascia un Commento

Domani Davide Cerbo e Stefano Linguerri presso Asset Data in Roma terranno 2 talk sull’utilizzo di Javascript come linguaggio Object Oriented e sul framework Google Web Toolkit.

Primo Talk (18:00-19:00 ca)

OBJECT ORIENTED JAVASCRIPT CON PROTOTYPE

Javascript viene sempre consiederato un linguaggio di serie B in cui
è impossibile seguire le buone regole della programmazione ad oggetti.
Ma non è così! In questa presentazione scopriremo come questo sia un
linguaggio in continua evoluzione e come sia possibile sviluppare
seguendo i paradigmi della programmazione ad oggetti. Scopriremo tool
e librerie che ci permetteranno di sviluppare creando batterie di
test, oggetti mock e inserire istruzioni di log nel nostro codice.
Durante questa presentazione illustreremo anche la libreria Prototype
che ci sarà di supporto durante gli esempi.

Secondo Talk (19:00-20:00 ca)

YAGTWO: Yet Another GWT Overview

La programmazione web sta facendo passi da gigante e oggi l’utente si
aspetta che l’esperienza di utilizzo si avvicini sempre di più a
quella a cui è abituato nei classici applicativi desktop.
Il mondo degli sviluppatori ha risposto inventanto una nuova sigla:
RIA, cioè Rich Internet Application.
Google non è stata a guardare e ha fornito la sua risposta a questa
esigenza donando alla community Google Web Toolkit.
Questo nuovo framework permette di sviluppare in Java tutta
l’interfaccia utente per poi ottenere un codice javascript che
funzionerà su qualsiasi browser web senza l’installazione di plugin
aggiuntivi.
In questa presentazione vedremo:

  • perchè sviluppare applicazioni RIA
  • perchè usare GWT
  • come GWT utilizza AJAX per comunicare con il server
  • le ottimizzazione che avremo utilizzando GWT
  • come uscire dal browser con Google Gear e Mozilla Prism
  • e non solo…

Alla fine della presentazione sarà disponibile anche il codice
sorgente degli esempi.

Per altre informazioni: http://www.jugevents.org/jugevents/event/15294

Working Capital Camp: Enterprise Social Network

•Aprile 28, 2009 • Lascia un Commento

Domani parteciperò al Working Capital Camp di Catania e parlerò di:

Enterprise Social Network

Javaday 2009: The Hitchhiker’s Guide to testable code

•Gennaio 30, 2009 • Lascia un Commento

Ecco le slide della presentazione che ho tenuto a Javaday di Roma il 24 gennaio 2009!.

The Hitchhiker’s Guide to testable code

Se volete lasciare commenti fatelo qui.

Grazie ;)

La dura legge di Demetra

•Novembre 18, 2008 • Lascia un Commento

La legge di Demetra (Law of Demeter o LoD o Principle of Least Knowledge) è una regola alla base della programmazione ad oggetti che consiglia di far conoscere ad un dato oggetto il minor numero di informazioni riguardo la struttura o le proprietà degli altri oggetti.

Ad esempio la seguente classe viola questa regola:

class WordDocument {
private String title;

WordDocument(HtmlDocument htmlDocument){
this.title = htmlDocument.getTitle();
}

}

Mentre il seguente esempio la rispetta:

Continua a leggere ‘La dura legge di Demetra’

Javascript: basta con l’alert per debuggare!

•Ottobre 15, 2008 • Lascia un Commento

Uno dei problemi più comuni dello sviluppo con Javascript sono il logging ed il debugging.

Il primo di questi problemi lo possiamo risolvere con Blackbird, un simpatico script js ed un css che una volta inseriti nella nostra pagina web ci daranno la possibilità di visualizzare una accativante console dove inserire i nostri messaggi di log tramite i classici metodi log.debug(…), log.warn(…), per capirci proprio come se stessimo usando il nostro amato log4j :D

Altro poblema molto comune è invece il debug. Qui non posso che consigliare uno dei migliori plugin per Firefox che la mente umana abbia mai partorito: Firebug.
Oltre a permettere l’inserimento di breakpoint nel codice javascript tramite questo plugin è anche possibile ispezionare visivamente il codice di una pagina html, editare in tempo reale i CSS e molte altre funzionalità utilissime nello sviluppo di applicativi web.

(p.s.: Questo sito parla per lo più di programmazione Java, ma è anche vero che spesso ci troviamo a lavorare con Javascript e quindi, ogni tanto, mi sembra anche giusto parlarne)

Google Developer Day

•Ottobre 13, 2008 • Lascia un Commento

Il 21 ottobre 2008 a Milano si svolgerà il

La partecipazione è totalmente gratuita. Il calendario sembra interessante, anche perchè oltre ad ascoltare si potrà anche mettere in pratica tramite dei laboratori.

JavaScript Object Notation ovvero JSON

•Agosto 19, 2008 • Lascia un Commento

JSON, è un formato di scambio dati che utilizza la notazione letterale fornita da JavaScript per rappresentare dati strutturati. È a tutti gli effetti un sottinsieme del linguaggio JavaScript. Ok, ma non esiste già il nostro simpaticissimo XML? Giusta osservazione, ma come vedremo JSON permette l’uso di dati che vengono interpretati direttamente come oggetti JavaScript o come array.
Quindi a differenza di XML, JSON fa uso di primitive ben supportate dai browser più comuni ce ne rendono estremamente efficiente la gestione.
Tutto ciò risulta molto comodo in Ajax, dove lo spreco di banda ed il parsing delle response sono sempre cruciali.

Continua a leggere ‘JavaScript Object Notation ovvero JSON’

GC Tweaks

•Luglio 23, 2008 • Lascia un Commento

Ho letto sul sito della Sun un HowTo su come settare alcuni parametri
riguardanti la garbage collection in modo da renderla meno
“penalizzante” su sistemi che hanno vincoli stringenti in termini di
troughput o tempi di risposta. Provo a sintetizzare quel che mi è
parso di capire.

Continua a leggere ‘GC Tweaks’

Attenti al synchronized

•Luglio 8, 2008 • 2 Commenti

La chiave synchronized è sicuramente la più usata quando vi è la necessità di gestire gli accessi concorrenti ad una porzione di codice. L’utilizzo di questa parola chiave ha però un costo elevato perchè lo scheduler della JVM deve pianificare degli accessi serializzati (cioè sequenziali) al blocco di codice e non concorrenti come di solito avviene, creando quindi delle possibili situazioni di stallo ed inoltre la JVM ha il costo del mantenimento della coda di thread in attesa, creando seri problemi di performance e scalabilità ai nostri applicativi.

Per iniziare una delle cose peggiori che possiamo fare è Continua a leggere ‘Attenti al synchronized’

Aspettando Maven…

•Luglio 7, 2008 • Lascia un Commento

Sto preparando un breve articolo che raccoglierà alcune info basilari per utlizzare Maven, ma nel frattempo che trovo il tempo di risistemare i miei appunti vi posto un piccolo script che ho realizzato.

Questo script SH si occupa di creare 2 progetti, uno che termina con “-lib” che conterrà le classi java del nostro applicativo ed uno con estensione “-web” che conterrà invece la parte web. Inoltre include già la configurazione per utilizzare l’application server JETTY in versione embedded.

Per utilizzare lo script posizionatevi nella cartella dove volete creare il progetto principale e digitate:

./mavenwebtool.sh [nomeCartellaProgetto] [group-id] [artifact-if] [0.1]

Dove dovrete sosituire i valori tra quadre come segue:

[nomeCartellaProgetto]: il nome della cartella dove verranno creati i due sotto progetti
[group-id]: il nome del gruppo del progetto
[artifact-id] il nome dell’artefatto, a questa sarà aggiunto in automatico “-web” e “-lib”
[1.0] la versione di partenza

Fatto questo all’interno della cartella [nomeCartellaProgetto] saranno create le sotto cartelle [artifact-id]-web e [artifact-id]-lib.

Se digitiamo mvn clean install e attendiamo che Maven scarica tutto ciò che ha bisogno (se è la prima volta che usate Maven non vi spaventate, dopo non impiegherà tutto questo tempo) e compila i due progetti, se tutto sarà andato bene apparirà a video la scritta BUILD SUCCEFUL.

Ora se ci posizioniamo sotto la cartella [artifact-id]-web e digitiamo mvn jetty:run partirà una versione embedded dell’applicazion server Jetty e accedendo all’indirizzo http://localhost:8000/[artifact-id] vedremo un piacevole Hello World, questo, naturalmente, se tutto ha funzionato correttamente:D

Visto che non posso allegare file vi incollo il testo del file sh, per utilizzarlo create un nuovo file e chiamatelo mavenwebtool.sh e incollateci il testo che trovate qui sotto.

Continua a leggere ‘Aspettando Maven…’