Archives de
Year: 2021

Quarkus Tip : Comment NE PAS créer une extension Quarkus

Quarkus Tip : Comment NE PAS créer une extension Quarkus

Quand on développe une application composée de plusieurs composants, il est fréquent de vouloir partager du code dans une librairie externe, par exemple via un JAR externe intégré comme une dépendance de vos composants. Quarkus est un framework d’extension, chaque extension qu’il propose permet d’intégrer une technologie (client BDD, framework ORM, …) à Quarkus, pour qu’elle puisse être configurée globalement, utilisée facilement via CDI (injection de dépendances), fonctionner avec GraalVM, … Quarkus a son propre système de build, via son…

Lire la suite Lire la suite

Quarkus et les Google Cloud Functions

Quarkus et les Google Cloud Functions

Quarkus est un framework de développement de microservice pensé pour le cloud et les conteneurs. Il est pensé pour avoir une utilisation mémoire réduite et un temps de démarrage le plus court possible. Il se base principalement sur des standards (Jakarta EE, Eclipse MicroProfile, …) et permet l’utilisation de librairies Java matures et très répandues via ses extensions (Hibernate, RESTeasy, Vert.X, Kafka, …). Quarkus a été pensé pour le cloud dès sa conception, il permet le développement d’applications Cloud Ready…

Lire la suite Lire la suite

Quarkus Tip : Séléctionner un bean au runtime

Quarkus Tip : Séléctionner un bean au runtime

Lors du développement d’une application, il est très fréquent d’avoir plusieurs implémentations d’un service, et de devoir sélectionner l’une où l’autre en fonction de l’environnement sur lequel elle est déployée. Un exemple classique : un service qui appelle une API d’un partenaire externe qu’on veut appeler uniquement en production, et donc mocker sur les environnements de développement et de test / UAT / staging. Quarkus essaye de déporter au build time, via son plugin Maven ou Gradle, le plus de…

Lire la suite Lire la suite

Je suis Google Developer Expert (GDE) sur les technologies Google Cloud Platform (GCP)

Je suis Google Developer Expert (GDE) sur les technologies Google Cloud Platform (GCP)

J’ai été il y a peu reconnu comme Google Developer Expert (GDE) sur les technologies Google Cloud Platform (GCP). Tout d’abord, c’est quoi un GDE ? C’est une personne qui ne travaille pas chez Google, et qui est reconnue pour son activité et son expertise sur une technologie Google. C’est donc une reconnaissance sur une expertise technique et sur une activité dans la communauté sur le sujet. Comment ça c’est passé pour moi ? Depuis quelque temps, je suis référent…

Lire la suite Lire la suite

Devoxx France 2021 – l’édition 9 3/4

Devoxx France 2021 – l’édition 9 3/4

Cette semaine, c’est Devoxx France. Et pour la première fois depuis pas mal de temps, je sors de chez moi, et j’y vais ! Je vous écris ces mots dans le train de retour de la deuxième journée, pas de troisième pour moi cette année. J’ai assisté à quelques talks, j’ai pris des notes à certains, et pas à d’autre. J’ai aussi donné un talk : Créer une extension Quarkus, le replay devrait être disponible dans quelque temps. Devoxx fut…

Lire la suite Lire la suite

3 ans chez Zenika

3 ans chez Zenika

Avec un peu de retard, voici le bilan de ma troisième année chez Zenika. Pour ceux qui seraient intéressé par ce que j’avais fait l’année précédente, c’est ici : Ma deuxième année chez Zenika. Quelques chiffres : 7 articles sur mon blog perso, 2 dans le magazine Programmez et 2 sur le blog de Zenika. 11 sessions de formation données, dont 2 sessions pour la formation Développement d’applications Cloud Ready avec Quarkus que j’ai co-écrite, et 2 sessions pour la…

Lire la suite Lire la suite

Java 17 : quoi de neuf ?

Java 17 : quoi de neuf ?

Maintenant que Java 17 est features complete (Rampdown Phase Two au jour d’écriture de l’article), c’est le moment de faire le tour des fonctionnalités qu’apporte cette nouvelle version, à nous, les développeurs. Cet article fait partie d’une suite d’article sur les nouveautés des dernières versions de Java, pour ceux qui voudraient les lire en voici les liens : Java 16, Java 15, Java 14, Java 13, Java 12, Java 11, Java 10, et Java 9. Cette release ne contient pas beaucoup de JEP,…

Lire la suite Lire la suite

Debugger une image native GraalVM avec GDB

Debugger une image native GraalVM avec GDB

Dans un précédent article, j’avais évoqué comment profiler une image native GraalVM avec perf. Si vous ne connaissez pas l’outil GraalVM et les limitations qu’il apporte, je vous conseille de relire mon article, ou tout du moins son début. Comme vu dans mon article précédent, une image native va contenir une JVM minimaliste, appelée SubstrateVM, qui ne supporte pas JVM-TI, et ne permet donc pas l’utilisation de debugger Java. Pour débugger une image native, il faut donc un debugger système…

Lire la suite Lire la suite

Profiler une application Java dans un conteneur déployé dans kubernetes avec JFR – Java Flight Recorder

Profiler une application Java dans un conteneur déployé dans kubernetes avec JFR – Java Flight Recorder

La plupart des clients chez lesquels j’interviens aujourd’hui utilisent Kubernetes pour déployer leurs applications. Bien que Kubernetes soit un super outil, si on a besoin de ce type d’outil (qui est une discussion dans laquelle je ne rentrerais pas ici), il peut apporter une certaine complexité quant aux moyens de « regarder » le comportement de nos applications en cours de fonctionnement. Quand j’ai un problème de performance sur une application, j’utilise régulièrement un profiler Java. Il en existe de nombreux, mais…

Lire la suite Lire la suite

Introduction à Quickperf

Introduction à Quickperf

QuickPerf est une bibliothèque de test pour Java permettant d’évaluer et d’améliorer rapidement les performances de votre application. Le grand intérêt de Quickperf réside dans le fait que cela s’effecue via des tests unitaires, ce qui permet, après avoir détecté et corrigé un problème de performance, d’avoir des tests de non-régression pour que celui-ci ne revienne jamais ! Vous pouvez alors évaluer en continue les performances de votre application via votre environnement d’intégration continue ! Quickperf peut être utilisé pour…

Lire la suite Lire la suite