Devoxx 2019 - Jour 2
Table of contents
- Introduction
- Keynote : Le Bonheur au travail : au delà du bullshit.
- Conférence : La sécurité avec Kubernetes et les conteneurs Docker : une histoire sans fin
- Conférence : Comment perdre sa surcharge featurale ?
- Quickie : Les bombes à retardement de l’Event Sourcing / CQRS
- Conférence : Back to Basics : Ne perdez plus votre Temps avec les Dates
- Conférence : Les tests en charge en milieu hostile, ou comment tout faire au dernier moment et s’en sortir comme un prince
- Conférence : Applications web efficaces avec Spring Boot 2
- 20 choses à connaitre quand on fait du Kubernetes
- Dev environments: use the nix, Luke!
- Jest, et les tests JavaScript deviennent un plaisir
Introduction
Comme pour le jour 1 pas d’ordre de préférence, mais un ordre chronologique. Sauf que la journée a commencé par plusieurs Keynotes dont une exceptionnelle…
Keynote : Le Bonheur au travail : au delà du bullshit.
- Lien : vers le CFP
- Speaker : Christian Fauré et son Blog
- Feedback : Nul autre que Christian ne sait trouver le lien, les mots sur une notion aussi difficile à cerner que le bonheur au travail
Conférence : La sécurité avec Kubernetes et les conteneurs Docker : une histoire sans fin
- Liens: vers le CFP
- Speakers :
- Feedback :
- L’introduction devrait convaincre toute personne normalement constituée que la vraie question n’est pas “Y a-t-il des failles en PROD”, mais “Quelles sont les failles que j’ai mises en PROD ?”
- La réponse : AUTOMATISER
- Une faille dans une image Docker -> re-build -> redeploy
- idem pour toutes les couches suivantes
- La conférence présente tout une suite d’outils : buildpacks.io, Harbor, Clair Notary pour un vrai pipeline.
- Docker et K8S ne vous abstiennent pas (au contraire !!!) d’une vraie politique d’upgrade permanente
Conférence : Comment perdre sa surcharge featurale ?
- Liens :
- Speaker : Estelle Landry
- Feeback : Il faut bien distinguer la complexité accidentelle (code) de la complexité essentielle (métier)
- Une démarche est possible en utilisant les outils, questions et techniques issues de l’UX
- Quelques exemples:
- Golden Circle Why How What
- Persona -> personnifier l’applicatif lui donner une histoire, de buts, de freins…
- test des 5 secondes
- test utilisateur
- complétion de phrases
- 6 chapeaux de bono
- En résumé : des exercices, questions et ateliers issus de l’UX devraient être fait tout au long de la vie d’une application pour sauver les applications d’une fatale surcharge featurale.
Quickie : Les bombes à retardement de l’Event Sourcing / CQRS
- Liens :
- Speaker : Thomas Brouillet
- Feedback : Un quickie c’est court !
Il y a eu pourtant un maximum de bons conseils et de réels retour d’expérience
Conférence : Back to Basics : Ne perdez plus votre Temps avec les Dates
- Liens :
- Speaker : Frédéric Camblor
- Feedback : Un excellent talk qui permet de découvrir le moyen de ne jamais plus avoir de problème de date (je plaisante !)
- Les timezonedata changent régulièrement ! Il y a des maj pour java les os, les bases de donées
- Attention aux dates futures : conseil stocker TZ utilisateur + date heure pour redresser plus tard
- Avec le DST des heures n’existent pas
- les années ne font pas 365 jours et les jours ne font pas 24h
- en Java : Date equals est false si TZ sont différentes ! Le “isEqual” compare vraiment.
- En JavaScript avant 1970 les offset sont cassés
- Trè recommandé d’utiliser une lib comme momentjs, dayjs, …
- Bonnes pratiques (non exhaustif)
- Serveurs end UTC, DB en UTC, Java -Duser.timezone=UTC
- Une recherche par date cache souvent un range
- Stockez et recherchez vos date time en UTC
- attention aux heures locales : Stoker la TZ de l’utilisateur
- Si vous êtes sur de la tomezone stockez-la
- En compléments je propose :
Conférence : Les tests en charge en milieu hostile, ou comment tout faire au dernier moment et s’en sortir comme un prince
- Liens :
- Speaker : Guillaume Corré
- Feedback :
- Un scénario simple, capturé suffit à faire de bons tests (On peut faire de bon tests complexes Gatling/Scala mais ce n’est pas le scénario de la conférence)
- C’est profil d’injection qui va donner une charge
- Pas de test sans monitoring !
- Un véritable indicateur est par exemple : moins de x% de requêtes en échec
- et pour finir de très bons conseils pour faire plus (de charge) avec moins (un PC, une VM)
Conférence : Applications web efficaces avec Spring Boot 2
- Liens :
- Speakers :
- Feedback :
- Peut-on continuer à exposer un service “classique” et profiter du Reactive pour optimiser son code ?
- La réponse est clairement oui ! Et le résultat est clair et efficace.
- Sans doute le grand gagnant du ticket “Ce que je ferais en premier après Devoxx”
20 choses à connaitre quand on fait du Kubernetes
- Liens :
- Speaker : Alain Regnier
- Feedback : un vrai retour d’expérience sur K8S. 100% utile. Très orienté Google Cloud par moment
Dev environments: use the nix, Luke!
- Liens
- Speakers :
- Feedback : Un outil très utile pour Python et NodeJS (entre autres) qui permet un environnement isolé et reproductible
- avec son bash
- Oui, mais pour NodeJS on a nvm ! NVM est ok jusqu’au moment où on rencontre des dépendances système.
- Outil sympathique : node2nix prend un package.json pour en faire un .nix
- Ceci ouvre la porte à un vrai build déterministe
Jest, et les tests JavaScript deviennent un plaisir
- Liens :
- Feedback : Que du bonheur ! Un framework de test JS fait pour le confort des développeurs :
- Rapide (Jasmine Karma -> trop lent), JSDom (Pour se passer d’un browser)
- Pas de config obscure à la karma
- Mocks (facile !)
- Asserts
- Coverage (fonctionne même out-of-the-box avec IntelliJ)