MauroZambito.net

-personal web site-
Subscribe

Quando Orban si rifà la faccia…

19 maggio, 2009 Postato da: Mauro Zambito Categoria: Day by Day

Il gioco di parole serve sostanzialmente per annunciare che ho rifatto il trucco al sito del mio caro amico Giuseppe Clementi alias Dj Orban

Poche chiacchiere ed ecco a voi il link:

http://www.giuseppeclementi.it

Finalmente……. dottore in Informatica!!!!

06 aprile, 2009 Postato da: Mauro Zambito Categoria: Day by Day

“…, pertanto la proclamo dottore in Informatica.”

Ho aspettato quasi 5 anni per sentire queste parole, ma alla fine le ho sentite!!! Finalmente le scorso 30 marzo mi sono laureato e ho potuto vedere con i miei occhi come fanno i sogni a diventare realtà. Sono davvero felice e soddisfatto per come siano andate le cose lunedì, ma anche perché il giorno dopo arrivata la sera, mi sono reso conto che non dovevo più studiare dopo cena!!! WOOOOOOOOOOOOOWWWW!!!!

Nella mia tesi non ho avuto il tempo e la possibilità di scrivere un capitolo che potesse contenere un bel pò di ringraziamenti alle persone che mi sono state accanto in questi anni. E allora ho deciso di farlo qua, sperando di non dimenticare nessuno, e senza volere fare una classifica… :D

I primi che meritano un ringraziamento speciale sono senza dubbio i miei genitori, che hanno creduto in me dall’inizio alla fine. Se sono arrivato fin qui è anche grazie a loro che mi hanno sostenuto nei momenti difficili in cui volevo mollare. Poi ringrazio la mia sorellina, senza la quale le copie della tesi non avrebbero mai raggiunto le destinazioni necessarie. La mia dolce metà, Ilaria, che mi ha sostenuto e soprattutto sopportato negli ultimi tempi con grandissima pazienza, merita un bacio e uno specialissimo: GRAZIE AMO’ !!!

E poi ci sono gli amici di sempre, quelli che mi conoscono da una vita e che hanno condiviso con me tutti gli anni passati all’università tra i primi problemi di ambientamento, le successive soddisfazioni fino ad arrivare allo scorso 30 marzo. Anche a voi un GRAZIE grandissimo. :-P

E infine, ma non per ordine di cose, vorrei ringraziare a abbracciare virtualmente tutti i miei colleghi di università, con cui ho passato tanti anni bellissimi che mi porterò dietro per tutta la mia vita. Un grazie particolare anche ad infopa, ai suoi utenti e alle persone che mi hanno permesso di fare parte di questa splendida community e del suo staff. Sappiate che il mio non è un addio, ma un semplice ritorno alla “normalità” di accesso.

E adesso, che si fa? Bhè ho bisogno di un bel pò di riposo. Ho fatto uno sforzo grandissimo per arrivare a questo obiettivo e adesso devo rimettermi a lavoro con tranquillità. A tal proposito, un grazie doveroso anche ai miei superiori, per la loro disponibilità nel concedermi il tempo necessario alla tesi e alla laurea.

Spero proprio di non aver dimenticato nessuno, ma nel caso in cui l’avessi fatto con queste ultime righe voglio ringraziare proprio queste persone. Quindi adesso mi sa che devo proprio aggiornare la sezione qui a fianco relativa ad “about me”.

Seguirà qualche bella foto dell’evento appena sarà disponibile. Un abbraccio a tutti quanti!!!

Sembra proprio che ci siamo…

14 marzo, 2009 Postato da: Mauro Zambito Categoria: Day by Day

Tutti gli indizi sembrano confermare la stessa cosa. Non credevo che un giorno avrei potuto scrivere questo post tanto atteso sul mio blog. Ora è giunto il momento e anche se credo ancora di non esserne pienamente cosciente, devo dare l’annuncio ufficiale:

Il prossimo 30 o 31 marzo mi laureo!!!

Come non lo sai ancora? Succede anche questo nell’università italiana. A pochi giorni dal fatidico giorno non si sa ancora quale sia il giorno preciso per i vari iter burocratici che devono fare il loro corso. Ma penso che anche questo sarà un bel ricordo tra qualche giorno.

Contento? Si molto, ma soprattutto soddisfatto e ripagato dei sacrifici che sto facendo in questi mesi per lavorare e studiare contemporaneamente. L’unica cosa che non va è la mia stanchezza cronica direi, perché per arrivare a questo obiettivo le nottate non sono state poche. Quindi spero che il giorno tanto atteso da anni arrivi presto e che possa essere un giorno speciale da incorniciare.

Infine non mi resta che aspettare pazientemente questo giorno, per poter finalmente ascoltare le parole “… la proclamo dottore in Informatica…” :-)

Nel frattempo…. countdown…

Ciao sono un MAC…ed io un PC

28 febbraio, 2009 Postato da: Mauro Zambito Categoria: Cazzate

Visto il periodo, meglio farsi 2 risate…

P.S. Questi spot sono stati realmente mandati da Apple in America… :-P

Log4j: debug di applicazioni Java.

04 gennaio, 2009 Postato da: Mauro Zambito Categoria: Day by Day

Log4j, è una libreria java sviluppata dall’Apache Sofware Foundation, che permette di tenere sotto controllo il comportamento di un’applicazione Java, quando abbiamo necessità di memorizzare un evento (ad es. il login di un utente). Poiché mi sono trovato ad usare questa libreria durante il mio lavoro, ho voluto scrivere un piccolo esempio di utilizzo, facendo le dovute premesse.

Ho utilizzato questa libreria nell’ambito dello sviluppo di un’applicazione web tramite servlet e pagine jsp, utilizzando come IDE di sviluppo NetBeans.

Prima di illustrarvi quello che ho combinato, vorrei dirvi dove poter scaricare la libreria Log4j, e dove trovare la documentazione ufficiale. Potete scaricare il file .zip contenete i sorgenti direttamente da qui, mentre la documentazione è disponibile al seguente indirizzo

Brevemente vi dico che Log4j ha quattro componenti principali: LOGGER, APPENDER e LAYOUT. Queste componenti lavorano tutte insieme per permettere allo sviluppatore di abilitare i messaggi di log secondo un certo tipo di messaggio e livelli degli stessi. Inoltre permettono di decidere a runtime come formattare questi messaggi e dove visualizzarli.

Nel mio esempio ho utilizzato la libreria Log4j per avere un file di log giornaliero dentro la cartella Logs. Per poter utilizzare la libreria è necessario scaricare e scompattare il file .zip, e quindi aggiungere il file log4j-1.2.15.jar al progetto sul quale vogliamo utilizzarla. Per utilizzare correttamente la libreria è necessario un file di configurazione .properties che io (molto fantasiosamente) ho chiamato Log4j.properties. Vediamo il suo contenuto:

###I differenti flussi sul quale visualizzare i log
log4j.rootLogger=DEBUG, R, stdout
 
### Settaggio del flusso stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{HH:mm:ss,SSS} %-5p [%-10.10c] %m%n
 
###Settaggio del flusso R
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.DatePattern=yyyy-MM-dd'.log'
log4j.appender.R.File=${Log4jLogFile}.log
log4j.appender.R.layout=org.apache.log4j.PatternLayoutlog4j.appender.R.layout.ConversionPattern=%d %-5p (%t) [%-10.10c] %m%n
log4j.appender.R.layout.ConversionPattern=%d %-5p (%t) [%-10.10c] %m%n

 

Vedremo più avanti come far capire a Log4j come trovare questo file, attraverso un altro file.
Adesso invece vediamo una servlet particolare che inizializza il file di log che vogliamo creare:

public class Log4jInit extends HttpServlet {
 
static private Logger logger = Logger.getLogger(Log4jInit.class.getName());
 
@Override
public void init() {
String basePath =  getServletContext().getRealPath("/");
String configFile = basePath + getInitParameter("Log4jConfig");
String logFile = basePath + getInitParameter("Log4jLogFile"); 
 
try {
System.setProperty("Log4jLogFile", logFile);
System.out.println("LogFile di Log4j: " + logFile);
} catch(Exception ex) {
System.out.println("Eccezione : " + ex.getMessage());
return;
}
if ( configFile != null ) {
PropertyConfigurator.configure(configFile);
System.out.println("Configurazione Log4j: " + configFile);
}
logger.info("File di log inizializzato con successo....");
}
}

Quando si sviluppano applicazioni web con le servlet e le pagine jsp (ovvero Java Web Application), si deve utilizzare un file xml (che solitamente si chiama web.xml), dove vengono dapprima dichiarate le servlet e poi viene fatto un vero e proprio mapping tra il nome della servlet e la sua posizione all’interno del progetto. Vi riporto il mio web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <servlet>
        <servlet-name>Test</servlet-name>
        <servlet-class>it.maurozambito.maurolog.test.Test</servlet-class>
    </servlet>
    <servlet>
        <servlet-name>Log4jInit</servlet-name>
        <servlet-class>it.maurozambito.maurolog.test.Log4jInit</servlet-class>
        <init-param>
            <param-name>Log4jConfig</param-name>
            <param-value>WEB-INF/Log4j.properties</param-value>
        </init-param>
        <init-param>
            <param-name>Log4jLogFile</param-name>
            <param-value>Logs/Example</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Test</servlet-name>
        <url-pattern>/Test</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
</web-app>

 

Soffermiamoci un attimo su questo file. Vengono dichiarate 2 servlet:
- Test, che vedremo tra poco, e che è l’unica ad essere mappata.
- Log4jInit, che è la servlet che abbiamo dichiarato sopra. Proprio per questa seconda servlet vengono anche specificati due parametri. Il primo parametro contiene il percorso del file Log4j.properties (vi comincia a tornare un pò tutto? Spero di si!!!), mentre il secondo parametro contiene il percorso ed il nome del file di log che creeremo giorno per giorno, con la data del giorno.

Ed infine ecco una servlet che sfrutta tutto quello che abbiamo fatto finora, semplicemente dichiarando un oggetto di tipo Logger, e richiamando un metodo per la stampa sulla console e sul file di log di tutto ciò che vogliamo:

public class Test extends HttpServlet {
 
private static Logger logger = Logger.getLogger(Test.class.getName());
 
@Override
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
logger.info("accettata connessione!!");
logger.info("Accettata connessione GET con il Client:"
+ request.getRemoteAddr() + "/"
+ request.getRemoteHost() );
 
logger.info("User Agent: " + request.getHeader("User-Agent"));
} finally {
out.close();
}
}
}

Adesso basterà far partire l’applicazione, e richiamare la servlet Test per vedere il file Example.log venir creato nella cartella Logs. Il primo file creato si chiamerà semplicemente Example.log, ma da giorno successivo (e non credo che ci sia bisogno di aspettare il giorno dopo), verrà creato un file Exampleyyyy-MM-dd.log.

Per adesso è proprio tutto, ma nei prossimi giorni, vorrei estendere questo piccolo tutorial anche alle pagine JSP, attraverso l’uso delle taglib. A prestissimo

  • Partner

  • Fai Una Donazione


  • Tag Cloud


  • Stats

      Visite totali dal 21-04-2008:

      Visite di oggi, 04-Jul-2009:

      Visitatori online:


  • Powered by

       

       

       

       

       

      Add to Technorati Favorites