Dans cet épisode, Katia, Emmanuel et Arnaud explorent de nouvelles approches du Builder pattern en Java, l’introduction du Pattern Matching Primitives dans Java, et les déboires de l’intelligence artificielle avec des attaques de la chaîne d’approvisionnement sur Pytorch. Ils abordent aussi les licenciements dans diverses entreprises technologiques, l’évolution du trafic de Stackoverflow et donnent de conseils pratiques pour les développeurs, notamment sur les commits conventionnels, la mise à jour de dépendances avec Dependabot, Renovate et le déboggage des programmes Java. Ils terminent avec leur retour d’expérience sur la relecture des sujets de Devoxx France 2024.
Enregistré le 9 février 2024
Téléchargement de l’épisode LesCastCodeurs-Episode-306.mp3
Votre avis compte énormément pour nous ! 🎧 Nous voulons rendre Les Cast Codeurs encore plus genial, et c’est là que vous intervenez. 🌟 Aidez-nous en partageant vos idées, suggestions et souhaits pour 2024, dans notre tout nouveau formulaire de retour. C’est rapide, facile et ça ne prend que 2 minutes.
News LangagesUne approche différente du Builder pattern en Java, inspirée par ce qui se fait dans la communauté Golang https://glaforge.dev/posts/2024/01/16/java-functional-builder-approach/
- Les builders, surtout quand ils sont imbriqués les uns dans les autres, peuvent devenir un peu verbeux à lire
- Est-ce qu’on peut prendre une nouvelle approche ? Oui, en tirant parti des lambdas, avec des méthodes de mutation qui retournent des lambda qui effectuent la mutation
- On retrouve le plaisir de pouvoir construire une instance à l’aide d’un constructeur, plutôt qu’un builder
- En recherchant le sujet, Guillaume est aussi tombé sur une approche type safe du builder classique https://www.endoflineblog.com/type-safe-builder-pattern-in-java-and-the-jilt-library (qui est implémentée sous forme d’annotation processor dans le petit projet open source Jilt)
Pattern Matching Primitives (JEP 455) https://openjdk.org/jeps/455
-
Uniformité autorisant le pattern de type pour tous les types, qu’ils soient primitifs ou de référence et sécurité dans la conversion de types et éviter les erreurs runtime pour les conversions de type. Plus de robustesse
-
Ca l’explique bien ici. Les deux https://www.infoq.com/news/2024/02/java-enhances-pattern-matching/
-
Exemple:
-
Avant
if (i >= -128 && i <= 127) { byte b = (byte)i; ... b ... } -
Maintenant
if (i instanceof byte b) { ... b ... } byte b = 42; b instanceof int; // true (unconditionally exact) int i = 42; i instanceof byte; // true (exact) int i = 1000; i instanceof byte; // false (not exact)
-
News Java, le tour https://www.infoq.com/news/2024/02/java-news-roundup-jan29-2024/
- Open JDK avec preview de Classe File API
- JDK 22 et 23
- Glassfish, GraalVM, Spring, Quarkus, Infinispan, Hibernate, Grails, Vert.x… plein d’outils
- Keycloak
- Langchain
- Lire les détails dans l’article d’InfoQ
- etc.
Une attaque de supply chain sur Pytorch et l’IA https://johnstawinski.com/2024/01/11/playing-with-fire-how-we-executed-a-critical-supply-chain-attack-on-pytorch/
- Soumettre une PR avec une correction de typo
- ca leur a approuvé de faire tourner la CI automatiquement quand ils poussent la PR
- soumis une PR qui curl fetch un gist qui tournait sur un runner self-hosté
- et ils ont choppé les tokens pour plus tard publier les binaires dans les repos officiels
- et personne n’a rien vu
Support du modèle de génération d’image Imagen dans LangChain4j rajouté dans la dernière version du project https://glaforge.dev/posts/2024/02/01/image-generation-with-imagen-and-langchain4j/
- contribué par Guillaume
- on peut générer des images, mais aussi les éditer
Collab entre Google et Hugging Face https://www.infoq.com/news/2024/01/hugging-face-gcp-ai/
- intégration avec Vertex.ai et d’autres services Google
- Facilite deploy dans le cloud google et l’intégration avec Kubernetes
Guillaume a écrit un article et développé une application pour visualiser les tokens générés par les large language models dérivés du modèle PaLM https://glaforge.dev/posts/2024/02/05/visualize-palm-based-llm-tokens/
OutillageStackoverflow voit son traffic diminuer doucement depuis quelques années, mais depuis l’avènement de ChatGPT et consort, la chute s’accélère https://twitter.com/swyx/status/1753122780709871834
- mais apparemment, ce graphique ne serait pas correct selon StackOverflow, qui n’aurait perdu que 5% par rapport à l’année dernière
- https://stackoverflow.blog/2023/08/08/insights-into-stack-overflows-traffic/
- StackOverflow ont changé l’utilisation de Google Analytics, ce qui expliquerait en grande partie la tendance de ce graphe qui porte à confusoin
Amélie Benoit - Dependant Bot Visual way https://twitter.com/AmelieBenoit33/status/1754397434812203455
-
Un outil visuel pour dependant bot! tout est dans l’image!
-
Différences entre les bots Renovate et Dependabot https://docs.renovatebot.com/bot-comparison/
-
Tableau comparatif intéressant
Le pouvoir des “conventional commits” par Julien Ponce https://julien.ponge.org/blog/the-power-of-conventional-commits/
- Convention poussée par l’équipe Angular, à la base
- Pour standardiser et clarifier les messages de commits
- Mais aussi pratique pour les outils comme JReleaser pour automatiser les release notes d’un projet
Google vire encore des ingénieurs dans la division matérielle pixel, et dans les ingénieurs cœur https://www.nytimes.com/2024/01/11/technology/google-layoffs.html
- Kevin Bourrillon connu pour Guava entre autre fait partie des virés https://x.com/kevinb9n/status/1745890746350321818?s=46&t=C18cckWlfukmsB_Fx0FfxQ
Okta vire 400 personnes dont Matt Raible https://techcrunch.com/2024/02/01/okta-layoffs-400-employees/?guccounter=1&guce_referrer=aHR0cHM6Ly9kdWNrZHVja2dvLmNvbS8&guce_referrer_sig=AQAAANLn7NCOa2yn44ysU3fSCDK5s1hgzVrIQzmKFzBjufCMzQhGfyc8mah4EhiPv1I0eoVrzVWbdKn0q6yOYR6-ctpZ42jc6ic-mz-Cdz8lWGVEDLIzEeqsCCE4PfxnhrsnChPT26DJxixmykS1YfPigsyf4vmqqpbMd5tme_GrMBjA
- cela suit Microsoft (gaming), eBay, SAP, RIOT Games (League of Legend), Google, Amazon (prime, audible), Unity etc pleins d’autres. Tout ça juste en janvier.
Facebook fête ses 20 ans https://www.francetvinfo.fr/internet/reseaux-sociaux/facebook/facebook-a-20-ans-de-sit[…]la-lente-mutation-du-doyen-des-reseaux-sociaux_6323610.html https://www.bbc.com/news/technology-68109208
- Quoi à dire de plus que le temps passe vite … #old
Manuel de survie de la femme dans la tech https://www.duchess-france.fr/dossier/women%20in%20tech/alli%C3%A9s/2023/01/15/manuel-survie-femme-tech.html
Parfois vos programmes Java ont l’air bloqués. Vous pouvez effectuer un thread dump dans un autre terminal en récupérant le PID du process Java et en faisant un kill -3 PID https://www.digitalocean.com/community/tutorials/java-thread-dump-visualvm-jstack-kill-3-jcmd
ConférencesDans les coulisses du Call for Paper de Devoxx France 2024
La liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs :
- 8-9 février 2024 : Touraine Tech - Tours (France)
- 15-16 février 2024 : Scala.IO - Nantes (France)
- 6-7 mars 2024 : FlowCon 2024 - Paris (France)
- 14-15 mars 2024 : pgDayParis - Paris (France)
- 17-18 mars 2024 : Cloud Native Rejekts EU 2024 - Paris (France)
- 19 mars 2024 : AppDeveloperCon - Paris (France)
- 19 mars 2024 : ArgoCon - Paris (France)
- 19 mars 2024 : BackstageCon - Paris (France)
- 19 mars 2024 : Cilium + eBPF Day - Paris (France)
- 19 mars 2024 : Cloud Native AI Day Europe - Paris (France)
- 19 mars 2024 : Cloud Native StartupFest Europe - Paris (France)
- 19 mars 2024 : Cloud Native Wasm Day Europe - Paris (France)
- 19 mars 2024 : Data on Kubernetes Day - Paris (France)
- 19 mars 2024 : Istio Day Europe - Paris (France)
- 19 mars 2024 : Kubeflow Summit Europe - Paris (France)
- 19 mars 2024 : Kubernetes on Edge Day Europe - Paris (France)
- 19 mars 2024 : Multi-Tenancy Con - Paris (France)
- 19 mars 2024 : Observabiity Day Europe - Paris (France)
- 19 mars 2024 : OpenTofu Day Europe - Paris (France)
- 19 mars 2024 : Platform Engineering Day - Paris (France)
- 19 mars 2024 : ThanosCon Europe - Paris (France)
- 19 mars 2024 : Cloud Native Startup Fest Europe - Paris (France)
- 19 mars 2024 : PaaS Forward by OVHcloud | Rancher by SUSE - Paris (France)
- 19-21 mars 2024 : CloudNativeHacks - Paris (France)
- 19-21 mars 2024 : IT & Cybersecurity Meetings - Paris (France)
- 19-22 mars 2024 : KubeCon + CloudNativeCon Europe 2024 - Paris (France)
- 21 mars 2024 : IA & Data Day Strasbourg - Strasbourg (France)
- 22-23 mars 2024 : Agile Games France - Valence (France)
- 26-28 mars 2024 : Forum INCYBER Europe - Lille (France)
- 28-29 mars 2024 : SymfonyLive Paris 2024 - Paris (France)
- 28-30 mars 2024 : DrupalCamp Roazhon - Rennes (France)
- 4 avril 2024 : SoCraTes Rennes 2024 - Rennes (France)
- 4-6 avril 2024 : Toulouse Hacking Convention - Toulouse (France)
- 17-19 avril 2024 : Devoxx France - Paris (France)
- 18-20 avril 2024 : Devoxx Greece - Athens (Greece)
- 22 avril 2024 : React Connection 2024 - Paris (France)
- 23 avril 2024 : React Native Connection 2024 - Paris (France)
- 25-26 avril 2024 : MiXiT - Lyon (France)
- 25-26 avril 2024 : Android Makers - Paris (France)
- 3-4 mai 2024 : Faiseuses Du Web 3 - Dinan (France)
- 8-10 mai 2024 : Devoxx UK - London (UK)
- 16-17 mai 2024 : Newcrafts Paris - Paris (France)
- 22-25 mai 2024 : Viva Tech - Paris (France)
- 24 mai 2024 : AFUP Day Nancy - Nancy (France)
- 24 mai 2024 : AFUP Day Poitiers - Poitiers (France)
- 24 mai 2024 : AFUP Day Lille - Lille (France)
- 24 mai 2024 : AFUP Day Lyon - Lyon (France)
- 28-29 mai 2024 : Symfony Live Paris - Paris (France)
- 2 juin 2024 : PolyCloud - Montpellier (France)
- 6-7 juin 2024 : DevFest Lille - Lille (France)
- 6-7 juin 2024 : Alpes Craft - Grenoble (France)
- 7 juin 2024 : Fork it! Community - Rouen (France)
- 11-12 juin 2024 : OW2con - Paris (France)
- 12-14 juin 2024 : Rencontres R - Vannes (France)
- 13-14 juin 2024 : Agile Tour Toulouse - Toulouse (France)
- 14 juin 2024 : DevQuest - Niort (France)
- 19-20 juin 2024 : AI_dev: Open Source GenAI & ML Summit Europe - Paris (France)
- 27-28 juin 2024 : Agi Lille - Lille (France)
- 4-5 juillet 2024 : Sunny Tech - Montpellier (France)
- 8-10 juillet 2024 : Riviera DEV - Sophia Antipolis (France)
- 6 septembre 2024 : JUG Summer Camp - La Rochelle (France)
- 19-20 septembre 2024 : API Platform Conference - Lille (France) & Online
- 7-11 octobre 2024 : Devoxx Belgium - Antwerp (Belgium)
- 10 octobre 2024 : Cloud Nord - Lille (France)
- 10-11 octobre 2024 : Volcamp - Clermont-Ferrand (France)
- 10-11 octobre 2024 : Forum PHP - Marne-la-Vallée (France)
- 17-18 octobre 2024 : DevFest Nantes - Nantes (France)
- 6 novembre 2024 : Master Dev De France - Paris (France)
Pour réagir à cet épisode, venez discuter sur le groupe Google https://groups.google.com/group/lescastcodeurs
Contactez-nous via twitter https://twitter.com/lescastcodeurs Faire un crowdcast ou une crowdquestion Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs Tous les épisodes et toutes les infos sur https://lescastcodeurs.com/