So di non sapere JavaScript – Scope e Closures

you-dont-know-js

Una delle frasi che hanno reso famoso il filosofo greco Socrate era: “Io so di non sapere”. Sicuramente non si riferiva a JavaScript, ma è il giusto approccio da tenere davanti a questo linguaggio che tutti noi crediamo di conoscere senza averlo mai studiato. Ebbene, dopo aver letto alcuni volumi della serie “You don’t know JavaScript“, posso dire di aver scoperto molte cose che non sapevo, come per esempio, udite udite, che JS è compilato e non interpretato!...
Continue reading...

A Ferrara per il primo Universal JS Day

L'evento è organizzato da Ferrara JS

A Ferrara per il primo Universal JS Day Sabato 16 Aprile a Ferrara si terrà il primo Universal JS Day. La conferenza organizzata da Ferrara JS vuole esplorare l’utilizzo di Javascript al di fuori delle classiche applicazioni Web. È un dato di fatto che ad oggi Javascript sia uscito dai browser e sia utilizzato ormai anche per sviluppo backend con...
Continue reading...

Introduzione a Jenkins

200 - featured image

Introduzione a Jenkins DevOps “delicate” e  il nostro maggiordomo Jenkins Agli inizi della mia carriera come sviluppatore mi sono imbattuto in una discussione (su una mailing list) tra altri sviluppatori che riguardava l’utilizzo di uno script bash particolarmente delicato su una macchina condivisa tra tutto il team di sviluppo. Questo script, per funzionare, richiedeva che fosse invocato con una speciale...
Continue reading...

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...

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...