Devoxx Paris - Récap jeudi 30/09/2021

devoxx

Récap de ma journée du Jeudi 30/09/2021 au Devoxx Paris 2021.

Dans cet article, je vais lister les slots auquels j'ai assisté cette journée. Pour chacun d'eux, je vais:

  • Faire un récap rapide
  • Donner une note de 1 à 4, à l'image de note d'entretiens de recrutement
    • 1: strong no-go
    • 2: no-go
    • 3: go
    • 4: strong go
  • Indiquer ce qui aurait amélioré la note
  • Donner quelques liens quand j'en ai

Sommaire:


13:00 - 16:00 Les Méthodes Synthétiques Rêvent-elles à des Switch Expressions Électriques - José PAUMARD, Remi FORAX

Récap

Dans ce slot ont été présentées les nouveautés du langage Java en version 17, ainsi que certaines fonctionnalités actuellement en preview dans java 18, ou en cours d'élaboration.

Voici pour une liste non-exhaustive:

  • Le cycle de release passant de 3 ans à 2 ans
  • Les stirng blocks
  • Les listes, la nullabilité, l'immutabilité
  • Des nouveautés sur l'interface Stream:
    • mapMulti, ou comment gérer des checked exceptions dans ses Stream sans utiliser Try de Vavr
    • toList()
  • Les records
  • Le Pattern-Matching

La conférence était assez longue et après la pause, j'avais particulièrement du mal à suivre. Aussi je n'ai pas pris de notes claires sur les features en preview. présente -jar Je citerais pèle-mèle:

  • Dans le sujet du pattern-matching
    • la "deconstruction" pour exposer l'état interne d'un objet
    • le pattern matching sur des Optionals
    • sur des hiérarchies d'interface -> en preview, à tester
  • Le Projet Amber
  • Le garbage collector ZGC et les nouveaux garbage collector
  • Les "compact strings"

Notes & Améliorations

J'aurais donné une note de 2/4 en notant les voies d'amélioration suivantes

  1. Quelques slides et illustrations auraient aider les "non-initiés" à comprendre les features en preview, en cours d'élaboration, etc. de Java 18+

Liens et ressources


16:30 - 17:15 Spring Boot's boot : plongée dans la séquence de démarrage - Benjamin BARGETON

Récap

Pour reprendre la description du slot, il a été détaillé la séquence de démarrage d'une application SpringBoot, depuis java -jar au message "Started {} in {} seconds".

Pèle-mèle:

  • Bootstrap Context
  • spring.factories
  • Des listeners réagissant à l'émission d'event du contexte d'application SpringBoot
  • L'environnement
  • La création d'un logger
  • BeanDefinition
  • les post-processeurs de beans
  • le refresh du contexte

Notes & Améliorations

J'aurais donné une note de 2/4.

  • Un peu "death by powerpoint"
  • Un cruel manque d'ilustrations. Ca devait être clair pour le speaker et pour les gens connaissant bien le sujet, mais un "dev lambda", comme moi, ça n'était pas clair
  • Expliciter p-e plus clairement, pour le speaker et pour l'audience, les pré-requis attendu par l'audience pour comprendre la présentation
  • Pas réussi à retrouver les slides, ou un contact pour joindre le speaker. Rien vu sur le site de Devoxx, je suis peut-être passé à côté

Liens et ressources

Pas trouvé en un temps raisonnable de ressource équivalente à la présentation du speaker. Sinon les liens suivants sont intéressants, avec un focus sur le fonctionnament de l'auto-configuration et autres tips:


17:30 - 18:00 Property based testing : de la théorie à la pratique - Nicolas Dubien

Récap

Un slot intéressant sur le property-based testing. J'ai pris moins de notes, il me semble qu'il n'y avait pas de hands-on cependant.

Quelques points que j'ai pu noter:

Le terme "example-based testing" était utilisé pour nommer les tests (unitaires, intégration, end-to-end, etc.) que l'on code traditionnellement.

"example-based" et "property-based" sont complémentaires, il n'y a pas de bataille entre l'un et l'autre approche. Il n'y en a pas une qui serait fondamentalement meilleure que l'autre. Donc utilisons les 2 ensembles.

Je note aussi l'utilisation de "property-based testing" pour des tests end-to-end, au niveau de la UI. C'est quelque chose que le speaker semble faire un peu moins, mais il montrait que c'est tout à fait possible et que ça a du sens.

Cette présentaiton m'a donné envie de me (re)mettre au PBT pour pouvoir l'utiliser de manière productive au travail et l'introduire à une équipe. Même chose pour mutation testing

Notes & Améliorations

Je mettrais une note de 3/4 en mettant les points d'amélioration suivants:

  • peut-être difficile pour ceux qui n'ont jamais entendu parler de property-based testing
  • Avoir un hands-on / démo avec repo github associé (ça devrait être la norme de toute présentation / conf technique à mon humble avis)

Liens et ressources


18:15 - 18:45 Mieux maîtriser la performance applicative avec QuickPerf - Jean Bisutti

Récap

Une présentation accompagnée d'un hands-on sur un outil permettant d'effectuer des tests sur des éléments de performances. Exemples:

  • @ExpectSelect(1): vérifier le nombre de select effectuées par la base de donnée lors du test
  • @HeapSize(value = 1, unit = AllocationUnit.GIGA_BYTE) : vérifier que l'action effectué pendant le test ne va pas prendre plus de 1Go de heap.
  • On peut juste avoir des mesures sur la JVM ou la base de données et ne pas faile les tests
  • Des problèmes de performance potentiels, des suggestions d'amélioration, des liens vers des articles et posts stackoverflow sont écrits dans les logs.

2 outils ont été présenté:

  1. QuickPerf -> à utiliser dans des classes de test
  2. QuickPerf Live -> à utiliser dans une appli SpringBoot, mais serait déconseillé en production

Vraiment impressioné et séduit par l'outil. Je pense que ça pourrait vriament révolutionner la manière d'écrire du code et de vérifier sa performance.

Je compte bien jouer avec et évaluer cet outil. Affaire à suivre

Notes & Améliorations

Je donnerais une note de 4/4. Pas grand chose à ajouter honnêtement.

Liens et ressources

Previous Post