-
Come funziona la JVM
Volevo segnalare questo interessante articolo dal titolo Understanding JVM Internals originariamente pubblicato sul blog Cubrid e riportato poi da DZone relativo al funzionamento della JVM vista “dall’interno”, perchè come dice l’autore: Non credo ci sia bisogno di conoscere il modo in cui JAVA è stato sviluppato per utilizzare bene JAVA. Moltissimi sviluppatori JAVA sviluppano grandi applicazioni e ottime librerie senza conoscere JAVA nel suo profondo. Tuttavia se si comprende come funziona la JVM si comprendere meglio anche JAVA.
-
Server Push sul Web utilizzando la tecnica del Long Polling
Il modo più semplice per simulare lo streaming in tempo reale di informazioni è quello di interrogare il server ogni N secondi, e visualizzare le informazioni (se presenti). Il numero N determinerà quanto in tempo reale il flusso risultante di aggiornamenti cercherà e visualizzerà le informazioni. Questo modello si chiama semplicemente polling. La tecnica del polling è abbastanza problemativa perché cause continue connessione e disconnessioni al server che quando si scala su migliaia di utenti viene messo a dura prova. Questo problema diventa ancora più evidente nei casi in cui il Poller non ritorna i dati per la maggior parte delle volte. Il frammento di jQuery mostrato di seguito eseguo…
-
Riavvia le tue interfacce web con “Bootstrap”
Oggi voglio farvi conoscere una nuova suite di librerie, tra: componenti HTML, JavaScript basati su JQuery e CSS, che consente lo sviluppo di interfacce web, leggere, veloci e molto eleganti, ispirate a quella di Twitter, non a caso l’autore di questo progetto è Mark Otto che è anche uno dei designer del famoso social network. Il progetto di cui parliamo è “Bootstrap” da cui il titolo di questo post. Bootstrap comprende come detto una serie di strumenti per facilitare la costruzione di interfacce web, con componenti già pronti come menu dropdown, menu, tabber, bottoni, etc., CSS per costruire layout basati sul sistema grid (940px), stilizzazione di componenti HTML di base,…
-
Rilasciato JQuery Mobile 1.0 Beta 2
Questa nuova beta apporta una discreto numero di miglioramenti alla libreria includendo: widgets separati in modo da poter includere nel progetto solo quelli di cui si ha effettivamente bisogno, sfruttamento della cache per il DOM per un minor utilizzo di memoria, un’opzione per il pre-cache della pagina, struttura delle pagine più flessibile, design delle check box e dei radio button migliorato, funzionalità avanzate per gli sviluppatori di web sites dinamici basati su JavaScript e supporto per dispositivi mobili ancora più ampio. Per il changelog completo è le caratteristiche in dettaglio fare riferimento al sito web ufficiale raggiungibile alla URL: http://jquerymobile.com/blog/2011/08/03/jquery-mobile-beta-2-released/
-
Java design patterns: Observer
Eccoci ad una nuova puntata della serie dedicata ai design patterns, implementati in particolare utilizzando il linguaggio JAVA, parleremo dell’Observer pattern. Con questo pattern un oggetto, definito “il soggetto”, mantiene una lista di oggetti dipendenti, definiti “osservatori”, che vengono notificati istantaneamente di ogni cambiamento nello stato del “soggetto” stesso, normalmente chiamando uno dei loro metodi. Principalmente è utilizzato per implementare sistemi distribuiti di gestione degli eventi. Nella figura che segue lo schema UML relativo al pattern “Observer”. Nell’esempio pratico di implementazione in JAVA del pattern, l’input ogni linea di input da tastiera viene trattata come un evento, l’esempio è basato sulla libreria di classi java.util.Observer e java.util.Observable. Quando viene acquisita…
-
IxEdit, costruire visualmente le interazioni nelle applicazioni Web 2.0
Gironzolando periodicamente sul web, consultanto i diversi siti tecnici di riferimento per gli sviluppatori, ho trovato questo tool per adesso gratuito, molto interessante, soprattutto per chi sviluppa applicazioni web 2.0 basate su JQuery, parliamo di IxEdit. IxEdit è uno strumento che consente allo sviluppatore di definire visualmente le interazioni tra le componenti dell’interfaccia dell’applicazione che si sta sviluppando, lo strumento è completamente basato su JavaScript. Lo sviluppatore può sperimentare le modifiche al DOM della pagina senza scrivere una riga di codice, può spostare, cambiare, aggiungere o trasformare elementi sulla pagina web dinamicamente. In particolare IxEdit è utile in fase di realizzazione del prototipo della web application. Per chi non lo…
-
Realizziamo un tool di services monitoring multipiattaforma, puntata 1
Puntata 1 Introduzione Requisiti del Software Le Specifiche Funzionali Introduzione Con questa prima puntata iniziamo una serie di articoli la cui conclusione ci porterà alla realizzazione di un tool di monitoraggio multi-piattaforma e multi-servizio, distribuito e ridondato, qualcuno di voi penserà, ma farà anche il caffè?, vedremo… Requisiti del software Cominciamo innanzitutto con lo stabilire quali devono essere i requisiti per l’oggetto software che andremo a costruire, innanzitutto lo strumento che svilupperemo sarà multi piattaforma, affidabile, estendibile e modulare, possibilmente semplice da installare, configurare e gestire. Per quanto riguarda il requisito “multi piattaforma”, per realizzarlo come non pensare a JAVA, linguaggio che io in particolare apprezzo, e che ho quindi…
-
Rilasciato JQuery Mobile 1.0 Alpha 3
JQuery Mobile: Framework Web per Smartphone e Tablets, ottimizzato per la tecnologia touch Un’interfaccia unificata tra le principali piattaforme per dispositivi mobili, basata sulla solidissime librerie JQuery e JQuery UI. Il suo codice leggerissimo costruito e migliorato continuamente, con un design flessibile e facilmente personalizzabile. Realmente multi-piattaforma e multi-dispositivo Il Framework JQuery mobile porta la filosofia “scrivi meno, fai di più” al livello più alto: invece di scrivere applicazioni uniche per ciascun dispositivo mobile o sistema operativo, consente di disegnare una singola applicazione, altamente caratterizzata e personalizzata, che funziona su tutte le maggiori piattaforme smartphone e tablets. per la griglia di compatibilità browser/OS, consultare questo link. Per maggiori dettagli consultate…
-
Caricare jars e classi Java dinamicamente
Java fornisce una funzionalità in cui è possibile modificare le variabili di ambiente di sistema utilizzando l’oggetto System. Quindi non si può modificare il classpath e risolvere il problema? No! il problema sta proprio qui, il classloader di sistema viene inizializzato proprio all’inizio della sequenza di avvio e copia il in esso classpath. Quindi, non servirebbe modificare dinamicamente il classpath visto che il classloader di sistema avrebbe già letto il classpath “vecchio” e caricato le classi di conseguenza. C’è una soluzione a tutto cio?…. Sì! i class loaders … Ma prima entrare nel dettaglio, facciamo una veloce disamina dei class loaders. Il caricamento di una classe è gestito dai class loaders della JVM, il Bootstrap loader è il loader principale che carica tutte le classi Java di base durante la fase di avvio, come molti sviluppatori Java già sanno non ci sono passi separati di linking come avviene in altri linguaggi di programmazione (vedi linguaggio C). Quando…
-
Java design patterns: il Singleton
Oggi iniziamo con una sorta di rubrica dedicata ai design patterns relativamente alla programmazione Java, faccio questa precisazione visto che un design pattern come recita anche Wikipedia è “un modo formale di documentare una soluzione a un problema di progettazione in un particolare campo di competenza“. Infatti i design patterns possono essere applicati all’architettura così come allo sviluppo del software, visto il mio lavoro e la mia dedizione a Java, ho deciso di scrivere una serie di articoli sui patterns che preferisco. Un software design pattern è una soluzione generale a un problema comune nella progettazione del software, è una descrizione o un template che indica come risolvere un problema,…