LCC 247 - Cette fois-ci nous n'avons pas perdu Guillaume!
Dans ce premier épisode news de l’année Guillaume est de retour et sans accrocs (enfin presque). Accompagné d’Arnaud ils parcourent les nouvelles techniques de fin 2020, début 2021. Ils nous parlent de Java (Hashcode, Loom, records), des news Spring (SpringBoot, SpringCloud, JHipster), du changement de license chez Elastic, de CSS (Bootstrap, Tailwind.CSS), de Gradle et d’autres sujets : Sécurité, Architecture et Méthodologie.
Enregistré le 15 janvier 2021
Téléchargement de l’épisode LesCastCodeurs-Episode-247.mp3
News
Langages
- Comment les hashcodes sont générés en Java. Et non ce ne sont pas les adresses mémoires. Le code utilises un modèle sans contention et très rapide. Quasi comme celui qui ramène une valeur constante.
- Utiliser les Java Records avec Jackson (et Spring Boot) (Mais pas pour la persistence avec JPA/Hibernate)
- Project Loom & Jetty: 1000000 Virtual Thread oui mais pas avec une stack de taille décente. Et ça fait de la poubelle à collecter. loom ne remplace pas l’usage des thread pool pour la contention de resources autre que les threads (DB connection, mémoire, CPU). Les VirtualThreads ne sont pas encore optimisées pour les ThreadLocals. Donc VirtualThread pas forcément l’unité de montée en charge naturelle. (Une partie 3 de ce blog est prévue dans quelques semaines)
Librairies
- JHipster 7.0.0 avec pas mal d’incompatibilités.
- Spring Cloud Contract 3.0: Incremental Test Generation for Maven, Resolves Credentials from settings.xml, Rewrite Groovy to Java, Allow to Extend Contract & Stubs, New [Custom] Mode of Test Generation, Experimental GRPC Support, GraphQL Support, Stub Runner Boot Thin JAR, Messaging Polyglot Support, Messaging with Existing Middleware, Gradle Plugin rewrite.
- Spring Cloud 2020.0.0, enfin la version compatible avec Spring Boot 2.4.x. Nouveau versioning comme annoncé il y a quelques mois.. Attention à la fonctionnalité de bootstrap qui est désactivée par défaut. Attention si vous utilisez Spring Cloud GCP le projet a déménagé et n’est plus dans le release train
- TOML 1.0 est dispo et TOML Schema en route.
Infrastructure
- Elastic suit MongoDB et remplace la license ASF 2.0 pour Elasticsearch et Kibana au profit d’un dual licensing Elastic License + SSPL. Tout comme mongo le but est de se protéger des AWS et consorts en empêchant le hosting sans recontribution vers la « communauté »
Web
- Bootstrap 5.0.0 passe en beta 1.
- Le CSS version Bootstrap (approche composants) vs le CSS version Tailwind.CSS (approche boite à outils).
Outillage
- Gradle 6.8 est la dernière release avant la version 7. La version 6.8 apporte d’importantes améliorations des performances dans la version Kotlin, des améliorations sur les caches (notamment les plugins checkstyle, pmd, codenarc, jacoco). Améliorations sur la feature toolchain, les composites builds et la gestion des dépendances …
- Le problème avec Gradle article de Cédric Champeau, dev Gradle en réponse à Le problème avec Gradle de Bruce Eckel. On y parle des principes de bases (taches et dépendances), configuration vs programmation du build, Groovy, DSL, de faire la même chose de 36 manières, de magie et de cycle de vie
Architecture
- un retour intéressant sur Amazon qui est passé de Sun à Linux / x86 pendant la bulle de 2000 au lieu de rester dans son modèle existant. Ça explique un choix intéressant : en cas de crise, soit tu pousses à te réinventer avec le risque d’échouer et de couler rapidement, soit tu optimises ce que tu as avec le risque d’être balayé « a petit feu ». Amazon n’avait plus que quelques trimestres devant eux et ont arrêté les features pendant la transition.
Méthodologies
- It’s pull from production, not push to production avec CDN sur le front et serverless sur le back, la prod est juste un changement de DNS. Toutes les branches peuvent être en prod.
main
n’est pas la prod mais l’accord des fonctionnalités partagées. - Comment prendre des notes … pour ne pas faire un cimetière de notes mais réellement un référentiel personnel de connaissances.
Sécurité
- Attaque SolarWinds. Une attaque étatique hack plusieurs agences américaines, microsoft et 18000 autres entités. Des articles commencent à cibler Jetbrains Teamcity comme vecteur d’attaque utilisé pour infester SolarWinds mais JetBrains s’en défend (article 1, article 2)
Conférences
- Web Stories le 5/2 en ligne https://webstoriesconf.com/
- Le Devfest Lille le 11/6 en présentiel https://devfest.gdglille.org/
- Devoxx France du 30 juin au 2 juillet en présentiel https://www.devoxx.fr
Nous contacter
Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs
Faire un crowdcast ou une crowdquestion
Contactez-nous via twitter https://twitter.com/lescastcodeurs
sur le groupe Google https://groups.google.com/group/lescastcodeurs
ou sur le site web https://lescastcodeurs.com/