Java Annotation Processing

Nel lavoro di tutti i giorni può capitare di dover scrivere del codice boilerplate, senza valore aggiunto, magari ripetitivo o con classi che differiscono pochissimo tra loro. Se la logica è fatta in modo tale che non si riesce a mettere a fattor comune, magari conviene spostarsi ad un livello di programmazione dichiarativo con le annotations, interpretate tramite Reflection di...
Continue reading...

Testing di app Android con Dagger 2, Mockito e una rule JUnit

La Dependency Injection è la chiave per ottenere codice testabile, sfruttando questo costrutto è semplice sostituire un oggetto con un mock per cambiare e verificare il comportamento di una app Android o di un qualunque software. Dagger 2 è una libreria che permette di gestire le proprie classi sfruttando la depenncy injection, per le sue caratteristiche (prima fra tutte la...
Continue reading...

SPI: Java Service Provider Interface

Durante la programmazione in Java vi sarà capitato di imbattervi nell’acronimo SPI: non si tratta di un typo per API (la S è vici alla A d’altro canto…) ma di un altro acronimo, ovvero Service Provider Interface. Ma di cosa si tratta? In una parola, aderire a questo framework significa creare applicazioni “estendibili“, dove cioè si possono estendere certi servizi...
Continue reading...

JPA 2.1 Attribute Converters

Ormai si sa, molto spesso la piattaforma Java Enterprise prende, migliora e rende standard ciò che c’è di buono in giro e che alcuni vendor hanno sviluppato per spingere le specifiche Java EE sempre avanti con soluzioni praticamente già consolidate e apprezzate. Un esempio tra questi sono gli Attribute Converters JPA, già implementati in EclipseLink e a modo suo anche...
Continue reading...

IntelliJ & Android Studio shortcuts

IntelliJ IDEA è l’IDE sviluppato da JetBrains che sta diventando sempre più diffuso negli ultimi anni. La prima versione è del 2001 e storicamente è sempre stato un prodotto a pagamento. Soprattutto per questo motivo, ha avuto una nomea di prodotto di nicchia: non troppi utilizzatori ma molto contenti di pagare la licenza vista l’alta qualità del prodotto. Da un...
Continue reading...

TDD in javascript con RequireJS

TDD in Javascript con RequireJS Qualche tempo fa, scorrendo gli annunci di lavoro su LinkedIn, mi sono imbattuto in una descrizione molto simpatica (e significativa per l’argomento di questo post) di cosa era richiesto al candidato dalla società proponente. Tra le richieste più comuni (conoscenza delle tecnologie X e Y, approccio TDD, programmazione secondo i principi SOLID,….) spuntava in bella...
Continue reading...

Creazione di un plugin per Apache Cordova

Creazione di un plugin per Apache Cordova Di solito nello scegliere un framework per creare app mobile multipiattaforma ci si basa quasi esclusivamente sulla semplicità d’uso. In realtà la vera killer feature di questa tipologia di framework è un’altra: l’estendibilità attraverso plugin. Il motivo della centralità di questa caratteristica è presto detto: qualsiasi framework decideremo di utilizzare non potrà coprire...
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...