JUnit 5

Introduction

Junit 4 a sorti sa première version en février 2006 et sa dernière (4.12) en Décembre 2014. Il était donc grand temps de sortir une nouvelle version pour s'adapter aux standards de JAVA 8 (Et JAVA 9 qui vient de sortir) et aux besoins des développeurs en matière de tests. Cette version tant attendue est donc enfin sortie le 10 septembre 2017 et je vais donc vous présenter les grands axes de cette version et les choses qui ont retenu mon attention.

Java 8 Collectors: Comment faire des « groupy by », agrégations ou Collect?

Ce billet présente les collectors liés à la (belle) nouvelle API Collections de Java 8.
Hélas, peu de rappel théorique sera fait ici.
Incontestablement, l'API Collection de java 8 apporte un design totalement remanié en abandonnant l'iterator au profit des streams (programmation fonctionnelle).
Nous donnons ici un certain nombre de cas pratiques avec détails permettant de saisir la notion collector.
Et nous enchaînons dans la seconde partie sur des exemples avancés.

Devoxx 2017 : Retour sur « Soyez une ‘feign’asse quand vous écrivez un client REST Java »

J'ai eu l'opportunité de me rendre à la Devoxx 2017, durant laquelle j'ai pu participer à la conférence "Soyez une 'feign'asse quand vous écrivez un client REST Java" présentée par Alexandre NAVARRO, lead dev à la Société Générale.

L'objectif de cette présentation était de faire une démonstration de la librairie Feign, développée par Netflix. Cette librairie permet de simplifier grandement le développement d'un client REST en Java, afin de récupérer des données venant de services externes.

jOOQ : Faire du SQL en JAVA

Le framework jOOQ (Java Object Oriented Querying) permet de réaliser simplement des requêtes SQL en JAVA, et supportant les principaux SGBD (Postgres, MySQL, Oracle, H2...)

jOOQ repose sur un système de génération de code afin de créer les classes correspondant aux tables présentes en base. Afin d'en bénéficier il suffit d'ajouter le plugin jooq-codegen dans le pom.xml et d’exécuter le goal maven generate-sources.

Vavr.io : la bibliothèque objet-fonctionnelle

Vavr (anciennement Javaslang) est une bibliothèque objet-fonctionnelle, destinée aux applications codées en Java 8 et plus. Elle permet de réduire le nombre de lignes de code et d'augmenter sa qualité. Elle fournit notamment des collections immuables et des structures de contrôle orientées fonctionnelles ce qui permet de réduire les effets de bord. Nous verrons dans cet article quelques possibilité offertes par cette bibliothèque.

Apache Tika

Apache Tika est une librairie permettant d'extraire le contenu texte de nombreux type de fichiers (PDF, documents Office, documents iWorks, ...).
Il permet d'extraire leur METADATA mais aussi d'en déterminer le type, est-ce réellement un PDF ou un docx renommé ?