Skip to main content.
October 1st, 2007

Costruire una applicazione enterprise con Terracotta DSO

Nell’ultimo anno mi sonTerracottao inbattuto in un progetto opensource, Terracotta, molto interessante.
Dopo numerosi studi e applicazioni di esempio, ho deciso di seguire un corso organizzato da loro per approfondire l’argomento.
Ho postato i miei appunti in un articolo tecnico.

Articolo su Terracotta DSO

Posted by Simone Federici as Post at 12:15 AM CEST

September 22nd, 2007

La mia prima pubblicazione : jdk 1.1.8

L’ho finalmente ritrovata,
nel 1999 per l’esame di sistemi operativi, pubblicai sul sito dell’università il mio primo progetto Java multithread (jdk 1.1.8)

Scambio di messaggi a lunghezza variabile

Posted by Simone Federici as Post at 3:58 PM CEST

July 20th, 2007

Star Wars meets JavaPolis

Il bejug, java user group del Belgio, ha annunciato il tema del javapolis 2007. Dopo 30 anni dal IV episodio, Star Wars incontra il Javapolis.

Chissa cosa stanno architettando per questo evento che sembra diventare sempre più ricco di spunti originali.

javapolis2007

Posted by Simone Federici as Eventi at 9:48 PM CEST

July 13th, 2007

Checked e Unchecked Exceptions

Esistono 2 tipi di eccezioni, Checked e Unchecked.
Le Checked Ex. (ossia controllabili) sono prevedibili, ad esempio invalid input, database error, ecc…

le Unchecked Ex. rappresentano invece degli errori che avvengono a runtime (potremmo definirli dei difetti del programma). Spesso sono causate da errori o dimenticanze di programmazione, o errato modo di usare un proprio oggetto/metodo.

E’ importante programmare usando il minimo possibile le eccezioni, la loro gestione impiega una grande quantità di CPU, memoria e risorse macchina.

Ogni qualvolta è necessario gestirne una, stabilire a chi spetta la sua gestione è importantissimo.

La domanda da porsi è: “chi conosce il come e chi conosce solo il cosa…”

E’ chiaro che delegare la gestione (catch) di una eccezione ad un componente che non conosce l’implementazione implica la creazione di un accoppiamento di troppo.

Un esempio nella vita reale potrebbe essere: chiedo a un professionista di ripararmi la lavatrice, dopo qualche giorno torno e lui mi risponde che il suo bancomat è scaduto.
E’ chiaro che questa risposta non ha senso, ma proviamo a ricostruire cosa è successo: andando a comprare i pezzi necessari per la lavatrice, non è riuscito a pagare perché aveva il bancomat scaduto.

Se tentiamo di modellare questo evento, ci accorgeremmo che l’eccezione “Bancomat scaduto” non doveva arrivare a me, (come lo gestisco?), il professionista avrebbe dovuto filtrare l’eccezione e dirmi, “il pezzo non è ancora disponibile”. (Legge di Demetra)

Se non è Chiaro, la SQLException in una jsp non ci deve arrivare!

Nella modellazione, quindi, è fondamentale impiegare le Checked Ex. in modo molto attento. (valgono tutti i principi OOP)
L’uso delle Unchecked exception (le runtime) o meglio catturare una eccezione di runtime,
in un sistema perfetto non dovrebbe essere mai fatto. dico in un sistema perfetto perche poi per pigrizia spesso e volentieri se ne abusa.

essendo delle eccezioni non dichiarate nelle firme dei metodi, queste eccezioni sono in grado di attraversare tutti i tiers della applicazione fino ad arrivare all’utente. Giusto pensare un sistema per non far vedere l’errore all’utente finale (lo sviluppatore invece le deve vedere).

Quando si crea una firma di un metodo, senza implementarlo, la soluzione migliore è fargli rilanciare una Uncheked Exception tipo “throw new NotYetImplementatedException()”

Insomma, queste eccezioni esulano dalla progettazione di un software, sono molto potenti e anche molto pericolose se lasciate proliferare. Esse dovrebbero sparire nella messa in esercizio.
Citazione dell’anipattern “programming by exception”
Una volta in Sud Africa ho visto un MVC che faceva uso di Una ForwardException
dove il getMessage() restituiva la url della jsp dove forwardare….. esempio lampante di
antipattern :-) NON FATELO…

Posted by Simone Federici as Post at 6:21 PM CEST

May 1st, 2007

JugRoma and Terracotta

JugRoma built-in Terracotta

Posted by Simone Federici as Eventi at 3:41 PM CEST

February 6th, 2007

OpenCamp - Free software, Open Source and Open Minds

On 14 Aprile 2007 in Rome will take place “OpenCamp” a GNU-like BarCamp. I’ll be there!
OpenCamp

organized by LSLug “La Sapienza” Linux User Group
Help us to find sponsor and supporters.
Join up OpenCamp Group

But what is a BarCamp?
A BarCamp is an ad-hoc gathering born from the desire for people to share and learn in an open environment. It is an intense event with discussions, demos, and interaction from participants. There are 8 very important rules:

Posted by Simone Federici as Eventi at 8:32 PM CET

January 20th, 2007

Ancora Antipattern! per chi non l’avesse seguito…

jc06 antipatternIn the next JugRoma’s meeting, Giorgio Vinci and me will hold again Antipattern’s conference.
Following up the popularity of java conference 2006, we replied the same conference in Verona and Novara’s Javadays.

Now last chance, on 25 January 2007 in Rome, here we are again!
Take part in Jugroma’s meeting and hear us.

Pay attention: if you don’t know what antipattern is, you’ll not keep off it! :-P
Al prossimo meeting del JugRoma, Replicherò ancora lo speeach sugli Antipatterns.

Dopo la popolarita del seminario raggiunta grazie alla java conference 2006,Giorgio Vinci ed io abbiamo replicato il seminario ai JavaDay di Verona e Novara.

Ora l’ultima occasione per vederlo, il 25 Gennaio 2007 in Rome!

Attenzione perché: “se l’antipattern non lo conosci, non lo eviterai” :-P

Posted by Simone Federici as Eventi at 11:24 AM CET

January 14th, 2007

BarCamp: A Web 2.0 un-conference in Rome, Italy

RomeCamp_RomeUn occasione per visitare Roma? venite al barcamp sul web 2.0, social networking, business models, net economy, buzzing, geeks, blogging, conversational media…

Oppure unisciti al RomeCamp Skypecast (audio conference) mercoledì 10 gennaio, 22:00 (CET: Rome, Paris and Berlin time). Per partecipare  è necessario installare Skype e unirsi alla conference.

Posted by Simone Federici as Eventi at 4:42 PM CET

January 7th, 2007

Javapolis 2006: I was there!

simone_javapolis
Grandioso evento, una marea di gente di tutta europa e qualche pazzo del nuovo mondo. Tanti speeches molti interessanti, livello tecnologico alto e una splendida organizzazione!

Cos’è il Javapolis? Cosa posso dire riguardo ad esso? se non sei mai stato al JavaPolis non lo saprai mai!
Chi c’è dietro al JavaPolis? Stephan Janssen insieme al suo Java User Group (BeJug) , ha replicato quest’anno la quinta edizione del più grande evento europeo su java. Ad Anversa, nel Cinema Metropolis c’era una sala espositiva piena di grandi nomi e sei sessioni parallele.
Nella foto (sinistra->destra) Paolo Arcangeli (K-Tech), io e Peter Meijer (Interface 21). Non stiamo parlando ovviamente di Spring 2.0!

Ci vediamo il prossimo anno  al javapolis!

Posted by Simone Federici as Eventi at 2:18 PM CET

January 6th, 2007

XPLabs Tour

xplabsAre you a good developer?

Increase the Software’s productivity.
This meeting is thought for teachers and students to permit a best-informed choose on eXtreme Programming.

Wednesday 17 January 2007
9:00 - 13:00

Università Roma 3 - Facoltà di Ingegneria
Via della Vasca Navale, 79 - Aula N10
Roma, Italy

Posted by Simone Federici as Eventi at 7:43 PM CET

« Previous Entries  Next Entries »