trapo Giampaolo Trapasso

Sono laureato in Informatica e attualmente lavoro come Software Engineer in Databiz Srl. Mi diverto a programmare usando Java e Scala, Akka, RxJava e Cassandra. Qui mio modesto contributo su StackOverflow e il mio account su GitHub

All articles by trapo

 

Algoritmi genetici con Scala: La Gioconda

In questo post racconterò come realizzare la copia di un’immagine utilizzando un algoritmo genetico scritto con Scala. Per capire meglio cosa ho fatto, date un occhio al video del post, tre differenti algoritmi genetici stanno riproducendo con dei cerchi colorati la Monna Lisa di Leonardo sfruttando al meglio le risorse del processore con un cluster scritto in Akka....
Continue reading...  

Introduzione a Cassandra

Con questo post iniziamo una serie di tutorial su Cassandra, il database NoSql scelto da Facebook, Netflix, Spotify e tanti altri per gestire grandi quantità di dati. In questa introduzione a Cassandra vedremo i principi di fondamentali su cui si basa questo database....
Continue reading...  

Intervista alle Django Girls Roma

Intervista alle Django Girls Roma Oggi ospitiamo un’intervista alle Django Girls Rome che stanno preparando un workshop per il 12 dicembre. Anche se non abbiamo mai parlato di Python sulle pagine di CNJ ci è sembrata un’iniziativa interessante e, come nel nostro stile, siamo andati a vedere cosa c’è dietro le quinte. Ciao ragazze, potete innanzitutto spiegarci cos’è Django Girls...
Continue reading...  

Screencast – Intro a Scala

Screencast – Intro a Scala Riprendono dopo la pausa estiva gli screencast di CoseNonJaviste. Mercoledì 14 ottobre alle 22 faremo un live screencast introduttivo a Scala, il linguaggio di programmazione di cui abbiamo già parlato in passato qui su CNJ. Esamineremo quali sono le caratteristiche sintattiche interessanti di Scala e come semplifichi di molto la scrittura del codice, tramite la...
Continue reading...  

Scala Italy 2015

Venerdì 8 maggio 2015 torna Scala Italy, la conferenza Italiana dedicata a Scala, Akka e a tutto il mondo Typesafe. Il ritorno è in grande stile: sarà l’inventore di Scala, Martin Odersky a tenere il keynote iniziale....
Continue reading...  

LambdaCon visto da noi ovvero commenti non richiesti su un’ottima conferenza

CoseNonJaviste è stato a LambdaCon, la prima conferenza italiana sui linguaggi funzionali. Ecco il nostro resoconto....
Continue reading...  

Scala: le case class

Dopo aver visto come creare una classe in Scala e come utilizzare i costruttori ausiliari vediamo oggi le case class. C’è da dire subito che le case class non sono delle classi speciali ma sono un’abbreviazione sintattica tanto semplice quanto molto, molto comoda e diffusa ovunque nel codice scritto in Scala....
Continue reading...  

Vi è mai capitato di cercare qualche informazione tecnica su internet e scoprire un blog interessante scritto da un altro sviluppatore italiano? Oppure di vedere citato su LinkedIn un tutorial in lingua inglese per poi realizzare che è stato preparato da una persona che avete conosciuto ad una conferenza da qualche parte? Da oggi c’è una lista che raccoglie i blog degli sviluppatori italiani, BlogZinga!...
 

LambdaCon, la conferenza italiana sui linguaggi funzionali

Si terrà sabato 28 marzo 2015 a Bologna LambdaCon, la conferenza italiana sui linguaggi funzionali. Ospitiamo sulle pagine di CoseNonJaviste un’intervista agli organizzatori Massimiliano Atzori, Matteo Baglini, Luigi Berrettini, Gianluca Padovani e Vlad Saftoiu, per farci spiegare meglio di cosa si tratta....
Continue reading...  

RxJava – gestire i thread

Si conclude questa breve introduzione ai concetti fondamentali di RxJava. Vedremo come gestire i thread sia sull’Observable che sull’Observer. Faremo prima degli esempi minimali per poi usare quanto visto nelle chiamate REST del post precedente....
Continue reading...  

RxJava: trasformare una chiamata REST in un Observable

In questa seconda parte dell’introduzione a RxJava vedremo come inserire una chiamata REST all’interno di un Observable. Questo risultato ci servirà poi nella terza parte per combinare le chiamate asincrone a più servizi in un unico Observable....
Continue reading...  

RxJava – Observable e Observer

RxJava è una tecnologia molto interessante che promette di liberarci delle callback e di farci gestire programmi asincroni e basati sugli eventi utilizzando delle sequenze chiamate Observable. In questo post introdurremo i primi concetti di RxJava: gli Observable e gli Observer....
Continue reading...  

Costruttori in Scala

Abbiamo visto come creare un classe in Scala, in questo post esaminiamo le caratteristiche del costruttore principale e di quelli ausiliari e un paio di semplificazioni sintattiche che ci permettono essere più flessibili nella costruzione di una classe....
Continue reading...  

Creare una classe in Scala

Creare una classe in Scala In questo post vedremo come creare una classe in Scala: avremo un approccio “morbido”, scriveremo una classe in Scala come se stessimo programmando in Java e via via la traghetteremo verso una sintassi da Scalista (?) navigato. In pochi semplici passi scopriremo come Scala ci permette di liberarci di molto codice, pur mantenendo la stessa...
Continue reading...  

GWTCon 2014, la prima conferenza italiana su GWT

A Firenze, il 5 novembre, si terrà la prima conferenza italiana su GWT, il GWTcon. Si parlerà di mGWT, del futuro di GWT secondo Google, dell’integrazione di GWT con Polymer, WebSocket, Angular JS. Andiamo a scoprire questo evento....
Continue reading...  

In questo post intervistiamo Francesca Tosi, fondatrice assieme Alberto Mancini del Google Developer Group di Firenze, co-founder di Jooink e Intel Software Innovator. Di recente Francesca è diventata moderatrice della community italiana su Google Plus dedicata a Google Web Toolkit, anche se ora il nome corretto sarebbe GWT Web Toolkit. Francesca da sempre tiene talk su questa tecnologia e, tra...
 

Decorator patten corretto lambda con Java 8

Il decorator pattern è uno dei design pattern classici che si usano in OOP. In questo post vediamo come implementarlo con le nuove lambda di Java 8 e confronteremo i due approcci....
Continue reading...  

Java 8 Day!

Oggi, 18 marzo, a distanza di quasi 3 anni dalla versione precedente, e con sei mesi di ritardo rispetto al previsto, esce ufficialmente Java 8. Qui, sulle pagine di CoseNonJaviste, ci siamo occupati dello sviluppo di questa major release già da un po’, riassumiamo velocemente le novità che ci aspettano....
Continue reading...  

Java 8: gli Optional

Java 8 introduce il nuovo tipo Optional, in questo post andremo a vedere quali sono le sue caratteristiche e come viene impiegato negli stream. ...
Continue reading...  

Java 8: uno sguardo agli stream

Nel abbiamo introdotto le lambda expression : funzioni anonime che possiamo utilizzare dove sia prevista un’interfaccia con un solo metodo astratto. In questo articolo useremo le lambda con gli stream, un nuovo strumento che ci permetterà di lavorare con le collezioni in maniera efficiente e compatta grazie proprio alla programmazione funzionale....
Continue reading...  

Java 8: lambda in 7 minuti (o quasi)

Java 8 verrà rilasciato il 18 marzo di quest’anno e, come abbiamo detto in questo , grandi cambiamenti ci attendono. Il più importante tra questi è l’introduzione delle lambda expression, finalmente Java colma il divario con altri linguaggi introducendo le funzioni all’interno della sintassi. Sicuramente ci sono molti temi da trattare e un solo post non basta, per cui in questo articolo andiamo a scalfire la superficie partendo dai concetti di base, le lambda expression appunto. ...
Continue reading...  

Gson, da Java a JSON e viceversa: alcuni casi “difficili”

In questo secondo post dedicato a Gson vedremo alcuni casi un po’ più particolari rispetto quelli esposti nella . Questa volta ci concentreremo esclusivamente su casi di deserializzazione: molto spesso, infatti, ci troviamo a consumare dei JSON prodotti da terze parti, sui quali non abbiamo il controllo. Dobbiamo quindi “ingegnarci” per sfruttare al meglio Gson per estrarre i dati voluti....
Continue reading...  

Gson, da Java a JSON e viceversa: primi passi

Gson è una libreria molto potente per la serializzazione/deserializzazione JSON realizzata da Google. In questo tutorial suddiviso in due parti, vedremo come utilizzarla per le trasformazioni più semplici fino ad arrivare a casi più complessi....
Continue reading...  

Pragma Conference 2013

Sedici sessioni tecniche su due track parallele, questi sono i numeri con cui si presenta la #pragma Conference 2013 un evento completamente dedicato allo sviluppo iOS e OS X che si terrà a Milano sabato 26 ottobre....
Continue reading...  

ScalaDay Italy 2013, la prima conferenza italiana su Scala

Sabato scorso si è tenuto a Milano, presso il Dipartimento di Informatica dell’Università, lo Scala Day Italia, il primo evento in Italia dedicato a Scala e a ciò che gli ruota intorno. Questo post ne è un breve resoconto informale per chi fosse curioso di sapere di cosa si è parlato e perché Scala è così promettente....
Continue reading...  

Divide et impera: spremere il processore con il framework Fork/Join

Fork/Join è un piccolo framework introdotto in Java7 che permette di ottimizzare l’utilizzo del processore parallelizzando algoritmi CPU-based. In questo articolo verrà spiegato come utilizzare Fork/Join e i principi del suo funzionamento....
Continue reading...  

Il primo ScalaDay italiano

Il 25 maggio presso il Dipartimento di Informatica dell’Università degli Studi di Milano si terrà il primo ScalaDay italiano. Quattro talk dedicati al linguaggio progettato da Martin Odersky a cura di Scala Italy....
Continue reading...  

Java 8? Non prima del 2014

Lo sviluppo di Java 8 è ritardato dai problemi di sicurezza. Mark Reinhold, Chief Architect di Java conferma lo spostamento della release al 18 marzo 2014. ...
Continue reading...  

A inizio anno, come tanti altri, anche noi facciamo un po’ di bilanci e ci siamo chiesti quali sono stati gli articoli pubblicati nel 2012 che sono stati visitati di più. Prima di pronunciare il classico “and the winners are..”, è doveroso un ringraziamento a tutti gli autori dei post e ricordare che CoseNonJaviste è aperto a chiunque voglia apportare un contributo....
 

Il Java che verrà: una breve introduzione alle espressioni lambda

Il Progetto Lambda ha lo scopo di portare in Java le espressioni lambda ed è il “piatto forte” delle novità che si vedranno in Java 8. La nuova release del linguaggio è programmata per Settembre 2013 ma già entro Gennaio le funzionalità saranno congelate in vista della Developer Preview. Diamo quindi un assaggio anticipato di quello che ci aspetta anche perché, con questa modifica, il linguaggio cambierà come non faceva dai tempi dei Generics....
Continue reading...  

WhyMCA 2012: il secondo giorno alla mobile developer conference

Dopo il post di Fabio sulla prima giornata del WhyMCA, a me il compito di fare il resoconto sulla seconda e ultima parte dell’evento. Da qualche mese sto sviluppando per iOS, quindi ho dedicato tutto il mio tempo a seguire argomenti a sfondo Apple. Ecco cosa ho ascoltato quest’anno alla mobile developer conference....
Continue reading...  

4 pezzi facili sulle WeakHashMap

In questo post vediamo come funzionano le WeakHashMap, con attenzione alla differenza tra strong e weak reference, quali siano i vantaggi nell’utilizzo di questo tipo di mappa e quali piccole insidie possano nascondere....
Continue reading...  

Le classi immutabili in Java

In questo post saranno esaminate le classi immutabili in Java e come queste siano ideali per scrivere codice più sicuro e performante. Saranno analizzati, inoltre, quali siano i vincoli da rispettare per essere sicuri di avere realizzato una classe immutabile....
Continue reading...  

Dai costruttori al Builder Pattern in Java

I Design Pattern (soluzioni progettuali generali a un problema ricorrente) sono molto inportanti nel software, a prescindere dal linguaggio di programmazione. In questo post vediamo insieme l’utilizzo del Builder Pattern in Java come alternativa all’utilizzo dei costruttori in overloading. L’obiettivo è quello di rimpiazzare costruttori poco leggibili e scomodi da utilizzare con una classe che si preoccupa della creazione dell’oggetto, fornendo metodi appropriati per i parametri e la validazione....
Continue reading...