LCC 305 - Dia critique

Épisode de Les Cast Codeurs Podcast par Emmanuel Bernard, Guillaume, Antonio, Arnaud, Katia · 15 janvier 2024 · 1 h 28 min

Cet épisode news discute de langages, de bibliothèques, d'intelligence artificielle bien sûr et même de Web. Et puis de challenge Java et même de Père Noël !

Enregistré le 12 janvier 2024

Téléchargement de l'épisode LesCastCodeurs-Episode-305.mp3

News

RIP Niklaus Wirth https://en.wikipedia.org/wiki/Niklaus_Wirth

Informaticien Suisse

Conception des langages ALGOL, Modula-2 et… Pascal

Plusieurs distinctions: Turing 1984, John Von Neumann 1994. Depuis 1987 un prix créé à son honneur

Plusieurs livres dont Algorithms + Data Structures = Programs 1976

La Loi de Wirth: La beauté d'un programme réside dans la clarté de sa structure. Niklaus Wirth a toujours prôné la simplicité, la lisibilité et la compréhensibilité. Approche pragmatique

https://recording.zencastr.com/lescastcodeurs/news-305

Langages

L'enfer sur terre: equals and hashCode pour les entitées JPA. Tout le monde a un avis, faire le sien est compliqué - https://vladmihalcea.com/hibernate-facts-equals-and-hashcode/ - https://vladmihalcea.com/how-to-implement-equals-and-hashcode-using-the-jpa-entity-identifier/ - https://vladmihalcea.com/the-best-way-to-implement-equals-hashcode-and-tostring-with-jpa-and-hibernate/ - https://jpa-buddy.com/blog/hopefully-the-final-article-about-equals-and-hashcode-for-jpa-entities-with-db-generated-ids/

Kotlin va t'il décliné en 2025, faute d'innovation et avec les nouvelles features de Java ? https://shiftmag.dev/kotlin-vs-java-2392/

Selon l'auteur, d'autres langages alternatifs pour la JVM ont décliné, comme Groovy et Scala

L'auteur pense qu'il y aura de moins en moins de différenciants par rapport à Java, et Kotlin n'a pas rajouté de fonctionnalités significatives depuis un an ou deux

Comment enlever des accents et autres marques diacritiques dans des chaines de caractères en Java https://glaforge.dev/posts/2024/01/url-slug-or-how-to-remove-accents-in-java/

Pour les URLs d'un blog post, par exemple, on souhaite avoir le titre dans l'URL, mais de manière URL-friendly, donc sans accents, en remplaçant les espaces par des tirets, etc

Guillaume propose une approche basée sur la normalisation de chaine unicode et les expressions régulières

Mais il évoque également la librairie Slugify qui est en plus capable de faire de la translitération (pour transformer aussi des idéogrammes et autre caractères non-ASCII)

Les "gatherers" de JDK 22 https://blog.soebes.io/posts/2024/01/2024-01-07-jdk-gatherer/

Nous avons mentionné récemment le JEP 461 pour Java 22 : Stream Gatherers, qui sera en preview

Permet de faire des choses qui étaient un peu compliquées à faire avec l'API stream avant, comme par exemple implémenter des fenêtres glissantes sur les données du stream

L'article parle des différentes capacités des gatherers, avec un Integrator, un Initializer et un Finisher, et enfin un Combiner, avec différents exemples de code pour les illustrer

Librairies

Le fonds tech souverain d'origine allemande sponsorise le développement de Log4J https://www.sovereigntechfund.de/news/log4j-investment

3 contributeurs pourront bosser dessus à temps plein

permet de sécuriser le développement du projet

réaction à l'impact de la CVE Log4shell qui avait bien marqué les esprits et fait bosser plein de gens le weekend pour tout patcher !

Cloud

Le glossaire de la Cloud Native Foundation a été traduit en Français https://glossary.cncf.io/fr/

Web

Sortie de Vue.JS 3.4 https://blog.vuejs.org/posts/vue-3-4

le parseur de composants (SFC) est 2x plus rapide

amélioration du système de réactivité en particulier pour les propriétés "computed" (recalculées)

le namespace JSX deprecated a été supprimé

Cédric Exbrayat de NinjaSquad couvre également les nouveautés dans cet article https://blog.ninja-squad.com/2023/12/29/what-is-new-vue-3.4/

Astro JS 4.1 https://astro.build/blog/astro-410/

Découverte de ce FW grâce à Petipois https://medium.com/front-end-weekly/create-a-website-using-astro-in-2024-f5963003c19c

Astro est le framework web pour la construction de sites web axés sur le contenu tels que les blogs, le marketing et le commerce électronique. Astro est surtout connu pour être le pionnier d'une nouvelle architecture frontend afin de réduire la surcharge et la complexité de JavaScript par rapport aux autres frameworks

Architecture en "Astrot Islands" (interface en composants isolés)

SSG et SSR (Static Site Generator ey Server Side Rendering)

0 Javascript si tu veux

Tu utilises React, Angular ou Vue pour tes composants

Lis plus ici : https://kinsta.com/fr/blog/astro-js/

React à 10 ans… et là ma découverte de React Server Components https://www.joshwcomeau.com/react/server-components/#introduction-to-react-server-components-3

"At a high level, React Server Components is the name for a brand-new paradigm. In this new world, we can create components that run exclusively on the server."

L'idée est de n'est pas faire des composants entiers en react dans le backend, et de n'est pas déléguer aux rendering client pour ces composants

Prédictions 2024 https://thenewstack.io/2024-predictions-by-javascript-frontend-framework-maintainers/

Angular: Optional Zone.JS

Next.js (nouveau compilateur, + backend ?)

React: adoption de React Server Components, SPA ne suffit pas. React auto-memorizing (useCallback/useMemo deprecate)

Solid 2.0 viendra après SolidStart (framework web)

Data et Intelligence Artificielle

Retour d'experience sur faire du RAG avec des LLMs https://x.com/taranjeetio/status/1742587923189596531?s=20

Gunnar Morling a lancé le 1 billion row challenge : https://www.morling.dev/blog/one-billion-row-challenge/

L'idée est de calculer le min / max, la moyenne, de températures, indiquées ligne par ligne dans un énorme fichier

Il y a énormément de contributions. Les plus rapides ont utilisé des memory mapped files, ou bien des instructions SIMD

Le challenge était en pur Java, mais d'autres personnes ont tenté l'expérience avec diverses bases de données ou autres langages de programmation

Didier Girard parle de Shadow AI https://www.linkedin.com/posts/didiergirard_shadowai-genai-gouvernance-activity-7150031627006464000-IF1G/

Comme on a parlé de "shadow IT" à une époque, la nouvelle ombre du jour, c'est l'intelligence artificielle

Pour être plus productifs, les employés utilisent l'IA, sans forcément le dire à leur employeur

Le problème étant qu'avec certains système d'IA, les données que vous envoyées peuvent être sauvegardées et utilisées pour ré-entrainer l'IA… et potentiellement, l'IA pourrait recracher verbatim du texte provenant de ces données à d'autres utilisateurs. D'où une brèche dans la sécurité des données de l'entreprise

Appel de fonction avec le LLM Gemini de Google https://glaforge.dev/posts/2023/12/22/gemini-function-calling/

Les Large Language Model sont limités par les connaissances qu'ils ont acquises lors de leur entrainement

Une approche possible pour se baser sur une base documentaire est d'utiliser l'approche Retrieval Augmented Generation (RAG) où l'on utilise une base de données vectorielle pour récupérer des passages de texte qui correspondent à la requête demandée

Mais il existe aussi une approche intéressante qui permet d'appeler des systèmes externes (APIs, service local, etc) en permettant au LLM de savoir qu'il peut répondre à une demande donnée en se basant sur l'appel d'une fonction. Dans cette approche, le LLM répond qu'il faudrait appeler une fonction (par exemple pour connaitre la météo à Paris) et il indique quels paramètres passer ("Paris"). Le développeur ensuite appel cette fonction et retourne le résultat de l'invocation au LLM, qui va ensuite pouvoir générer du texte avec ces données.

C'est l'approche "function calling" qui permet d'étendre à un LLM pour lui donner accès à des données live, derrière une API, etc

Méthodologies

Une video sur le père Noël et la pensé critique de la Tronce en Biais https://youtu.be/tqlYKO_asFw?si=g1Fq5OfCvQONNb2i

Vidéo interessante pour comprendre comment nous, dans la tech, on peut tomber facilement sur des croyances qui sont doutantes si on développe pas l'esprit critique.

Autres épisodes de « Les Cast Codeurs Podcast »

À propos du podcast

Les Cast Codeurs : le podcast en français de, par et pour les développeurs. Prenez connaissance des dernières nouvelles de la sphère Java et du développement en général. Plongez sur un sujet précis avec les épisodes interview. Supportez les radotages de vos hôtes : Emmanuel Bernard (ex Red Hat,…

Les Cast Codeurs Podcast

Épisodes similaires

Tous les épisodes de Les Cast Codeurs Podcast · Plus de podcasts Actualités