LCC 322 - Maaaaveeeeen 4 !

Épisode de Les Cast Codeurs Podcast par Emmanuel Bernard, Guillaume, Antonio, Arnaud, Katia · 9 février 2025 · 1 h 17 min

Arnaud et Emmanuel discutent des nouvelles de ce mois. On y parle intégrité de JVM, fetch size de JDBC, MCP, de prompt engineering, de DeepSeek bien sûr mais aussi de Maven 4 et des proxy de répository Maven. Et d'autres choses encore, bonne lecture.

Enregistré le 7 février 2025

Téléchargement de l'épisode LesCastCodeurs-Episode-322.mp3 ou en vidéo sur YouTube.

News

Langages

Les evolutions de la JVM pour augmenter l'intégrité https://inside.java/2025/01/03/evolving-default-integrity/

un article sur les raisons pour lesquelles les editeurs de frameworks et les utilisateurs s'arrachent les cheveux et vont continuer

garantir l'integrite du code et des données en enlevant des APIs existantes historiquemnt

agents dynamiques, setAccessible, Unsafe, JNI

Article expliques les risques percus par les mainteneurs de la JVM

Franchement c'est un peu leg sur les causes l'article, auto propagande

JavaScript Temporal, enfin une API propre et moderne pour gérer les dates en JS https://developer.mozilla.org/en-US/blog/javascript-temporal-is-coming/

JavaScript Temporal est un nouvel objet conçu pour remplacer l'objet Date, qui présente des défauts.

Il résout des problèmes tels que le manque de prise en charge des fuseaux horaires et la mutabilité.

Temporal introduit des concepts tels que les instants, les heures civiles et les durées.

Il fournit des classes pour gérer diverses représentations de date/heure, y compris celles qui tiennent compte du fuseau horaire et celles qui n'en tiennent pas compte.

Temporal simplifie l'utilisation de différents calendriers (par exemple, chinois, hébreu).

Il comprend des méthodes pour les comparaisons, les conversions et le formatage des dates et des heures.

La prise en charge par les navigateurs est expérimentale, Firefox Nightly ayant l'implémentation la plus aboutie.

Un polyfill est disponible pour essayer Temporal dans n'importe quel navigateur.

Librairies

Un article sur les fetch size du JDBC et les impacts sur vos applications https://in.relation.to/2025/01/24/jdbc-fetch-size/

qui connait la valeur fetch size par default de son driver?

en fonction de vos use cases, ca peut etre devastateur

exemple d'une appli qui retourne 12 lignes et un fetch size de oracle a 10, 2 a/r pour rien

et si c'est 50 lignres retournées

la base de donnée est le facteur limitant, pas Java

donc monter sont fetch size est avantageux, on utilise la memoire de Java pour eviter la latence

Quarkus annouce les MCP servers project pour collecter les servier MCP en Java https://quarkus.io/blog/introducing-mcp-servers/

MCP d'Anthropic

introspecteur de bases JDBC

lecteur de filke system

Dessine en Java FX

demarrables facilement avec jbang

et testes avec claude desktop, goose et mcp-cli

permet d'utliser le pouvoir des librarires Java de votre IA

d'ailleurs Spring a la version 0.6 de leur support MCP https://spring.io/blog/2025/01/23/spring-ai-mcp-0

Infrastructure

Apache Flink sur Kibernetes https://www.decodable.co/blog/get-running-with-apache-flink-on-kubernetes-2

un article tres complet ejn deux parties sur l'installation de Flink sur Kubernetes

installation, setup

mais aussi le checkpointing, la HA, l'observablité

Data et Intelligence Artificielle

10 techniques de prompt engineering https://medium.com/google-cloud/10-prompt-engineering-techniques-every-beginner-should-know-bf6c195916c7

Si vous voulez aller plus loin, l'article référence un très bon livre blanc sur le prompt engineering https://www.kaggle.com/whitepaper-prompt-engineering

Les techniques évoquées :

Zero-Shot Prompting:

On demande directement à l'IA de répondre à une question sans lui fournir d'exemple préalable. C'est comme si on posait une question à une personne sans lui donner de contexte.

Few-Shot Prompting:

On donne à l'IA un ou plusieurs exemples de la tâche qu'on souhaite qu'elle accomplisse. C'est comme montrer à quelqu'un comment faire quelque chose avant de lui demander de le faire.

System Prompting:

On définit le contexte général et le but de la tâche pour l'IA. C'est comme donner à l'IA des instructions générales sur ce qu'elle doit faire.

Role Prompting:

On attribue un rôle spécifique à l'IA (enseignant, journaliste, etc.). C'est comme demander à quelqu'un de jouer un rôle spécifique.

Contextual Prompting:

On fournit des informations supplémentaires ou un contexte pour la tâche. C'est comme donner à quelqu'un toutes les informations nécessaires pour répondre à une question.

Step-Back Prompting:

On pose d'abord une question générale, puis on utilise la réponse pour poser une question plus spécifique. C'est comme poser une question ouverte avant de poser une question plus fermée.

Chain-of-Thought Prompting:

On demande à l'IA de montrer étape par étape comment elle arrive à sa conclusion. C'est comme demander à quelqu'un d'expliquer son raisonnement.

Self-Consistency Prompting:

On pose plusieurs fois la même question à l'IA et on compare les réponses pour trouver la plus cohérente. C'est comme vérifier une réponse en la posant sous différentes formes.

Tree-of-Thoughts Prompting:

On permet à l'IA d'explorer plusieurs chemins de raisonnement en même temps. C'est comme considérer toutes les options possibles avant de prendre une décision.

ReAct Prompting:

On permet à l'IA d'interagir avec des outils externes pour résoudre des problèmes complexes. C'est comme donner à quelqu'un les outils nécessaires pour résoudre un problème.

Les patterns GenAI the thoughtworks https://martinfowler.com/articles/gen-ai-patterns/

tres introductif et pre RAG

le direct prompt qui est un appel direct au LLM: limitations de connaissance et de controle de l'experience

eval: evaluer la sortie d'un LLM avec plusieurs techniques mais fondamentalement une fonction qui prend la demande, la reponse et donc un score numerique

evaluation via un LLM (le meme ou un autre), ou evaluation humaine

tourner les evaluations a partir de la chaine de build amis aussi en live vu que les LLMs puvent evoluer.

Decrit les embedding notament d'image amis aussi de texte avec la notion de contexte

DeepSeek et la fin de la domination de NVidia https://youtubetranscriptoptimizer.com/blog/05_the_short_case_for_nvda

un article sur les raisons pour lesquelles NVIDIA va se faire cahllengert sur ses marges

90% de marge quand meme parce que les plus gros GPU et CUDA qui est proprio

mais des approches ardware alternatives existent qui sont plus efficientes (TPU et gros waffle)

Google, MS et d'autres construisent leurs GPU alternatifs

CUDA devient de moins en moins le linga franca avec l'investissement sur des langages intermediares alternatifs par Apple, Google OpenAI etc

L'article parle de DeepSkeek qui est venu mettre une baffe dans le monde des LLMs

Ils ont construit un competiteur a gpt4o et o1 avec 5M de dollars et des capacites de raisonnements impressionnant

la cles c'etait beaucoup de trick d'optimisation mais le plus gros est d'avoir des poids de neurores sur 8 bits vs 32 pour les autres.

et donc de quatizer au fil de l'eau et au moment de l'entrainement

beaucoup de reinforcemnt learning innovatifs aussi

et des Mixture of Expert

donc ~50x moins chers que OpenAI

Donc plus besoin de GPU qui on des tonnes de vRAM

ah et DeepSeek est open source

un article de semianalytics change un peu le narratif

le papier de DeepSkeek en dit long via ses omissions

par ensemple les 6M c'est juste l'inference en GPU, pas les couts de recherches et divers trials et erreurs

en comparaison Claude Sonnet a coute 10M en infererence

DeepSeek a beaucoup de CPU pre ban et ceratins post bans evalués a 5 Milliards en investissement.

leurs avancées et leur ouverture reste extremement interessante

Une intro à Apache Iceberg http://blog.ippon.fr/2025/01/17/la-revolution-des-donnees-lavenement-des-lakehouses-avec-apache-iceberg/

issue des limites du data lake. non structuré et des Data Warehouses aux limites en diversite de données et de volume

entrent les lakehouse

Et particulierement Apache Iceberg issue de Netflix

gestion de schema mais flexible

notion de copy en write vs merge on read en fonction de besoins

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