LCC 313 - 313 CCL

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

Katia, Guillaume, Emmanuel et Antonio discutent Kotlin, Micronaut, Spring Boot, Quarkus, Langchain4j, LLMs en Java, builds reproductible et la question AMA du jour, comment fait-on carrière de dev à 40 ans ?

Enregistré le 14 juin 2024

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

News

Langages

Android avec Kotlin Multiplatform our Flutter avec Dart ? https://developers.googleblog.com/en/making-development-across-platforms-easier-for-developers/

Des licenciements ont continué chez Google et l'équipe Flutter/Dart comme plein d'autres ont été touchées, mais sur les réseaux sociaux les gens ont pensé que Google désinvestissait dans Flutter et Dart.

Par ailleurs, côté Android, ils poussent plutôt du côté de Kotlin et KMP, mais naturellement aussi les gens se sont demandé si Google avait pris parti pour pousser plus Kotlin/KMP plutôt que Flutter/Dart.

Pour essayer de mieux faire comprendre aux développeurs l'intérêt des deux plateformes, et leurs avantages et inconvénients, les directeurs des deux plateformes ont rédigé un article commun.

Si l'on souhaite une expérience plus proche du hardware et des dernières nouveautés d'Android, et d'avoir aussi une UI/UX vraiment native Android, mieux vaut aller du côté de Kotlin/KMP.

Si l'on souhaite par contre une expérience multiplateforme Web, mobile, desktop avec une UX commune cross-plateforme, avec également le partage de business logic à partir d'une même base de code, Flutter et Dart sont plus adaptés.

Recap de KotlinConf https://x.com/gz_k/status/1793887581433971083?s=46&t=C18cckWlfukmsB_Fx0FfxQ

RPC multiplatform

la pres Grow with the flow montrant la reecriture en kotlin plus simple que des solutions complexes ailleurs

power-assert pour ecrire des tests

Kotlin 2.0 et les evolutions majeures

Kotlin multiplatforme mainteant stable

Kotlin Compose Multiplatform continue a amturer

Retour d'experience de la migration d'android jetpack vers Kotlin Multiplatform

use cases de coroutines et scope

Librairies

Quarkus veut aller dans une fondation https://quarkus.io/blog/quarkus-in-a-foundation/

ameliorer l'adoption (encore plus), ameliorer la transparence, et la collaboration, encourager la participatiopn multi vendeur

Premiere etape : une gouvernance plus overte

Deuxieme etape: bouger dans uen foundation

Echange avec la communaute sur la proposition et les fondations cibles

Des criteres pour al foudnation (notamment la rapidite de delivery

Quarkus 3.11 https://quarkus.io/blog/quarkus-3-11-0-released/

Websocket.next en cours

Dev services pour observabilite (grafana, jaegel, open telemetry

extension infinispan cache

#38448 - Observability extensions - Dev Services, Dev Resources, LGTM

#39836 - Infinispan Cache Extension

#40309 - WebSockets Next: client endpoints

#40534 - WebSockets Next: initial version of security integration

#40273 - Allow quarkus:run to launch Dev Services

#40539 - Support for OIDC session expired page

#40600 - Introduce OidcRedirectFilter

LangChain4j 0.31 est sorti https://github.com/langchain4j/langchain4j/releases/tag/0.31.0

Recherche Web pour le RAG avec Google et Tavily

RAG avec les bases de données SQL (expérimental)

Récupération des resources remontées par le RAG lorsque AiServices retourne un Result

Observabilité LLM pour OpenAI pour être notifié des requêtes, réponses et erreurs

Intégration de Cohere (embedding), Jina (embedding et re-ranking scoring), Azuere CosmosDB comme embedding store

Mise à jour de Gemini avec le parallel function calling et les instructions système

Spring Boot 3.3.0 est sorti https://spring.io/blog/2024/05/23/spring-boot-3-3-0-available-now

support Class Data Sharing

Micrometer sipport de spantag etc

Amelioration Spring Security comme JwtAuthenticationCovnerter

support docker compose pour les images container bitnami

Virtual thread pour les websockets

Support sBOM via an actuator

SNI for embedded web servers

une nouvelle doc via antora

Micronaut 4.5 est sortie https://github.com/micronaut-projects/micronaut-platform/releases/tag/v4.5.0

Le serveur basé sur Netty inclus la détection d'opération bloquante et les modules l'utilisant indiqueront à l'utilisateur quand certaines opérations peuvent être redirigée plutôt sur un virtual thread ou dans le thread pool IO

Micronaut Data inclus le support de la multitenance avec partitionnement par discriminateur pour JDBC et R2DBC

Micronaut Data rajoute le pagination par curseur pour JDBC et R2DBC (important aussi pour Jakarta Data)

Support des annotations Jakarta Servlet pour configurer par exemple les servelet filters

Support virtual thread et HTTP/2

Un nouveau module JSON Schema pour générer des JSON Schemas pour les records Java

Un nouveau module Source Gen pour faire de la génération de source pour Java et Kotlin cross-language

Un nouveau module Guice pour importer des modules Guice existants

Web

Angular 18 est sorti https://blog.angular.dev/angular-v18-is-now-available-e79d5ac0affe

Support expérimental pour la détection de changement sans zone

Angular.dev est désormais le nouveau site pour les développeurs Angular

Material 3, les "deferrable views", le "built-in control flow" sont maintenant stables et intègrent une série d'améliorations

Améliorations du rendu côté serveur telles que le support de l'hydratation i18n, un meilleur débogage, le support de l'hydratation dans Angular Material, et la event replay qui utilise la même bibliothèque que Google Search.

Data et Intelligence Artificielle

Une version pure Java du LLM Llama3 de Meta https://github.com/mukel/llama3.java/tree/main

utilise la future API Vector de Java

JLama, un moteur d'exécution de LLM en Java avec l'api vector https://www.infoq.com/news/2024/05/jlama-llm-inference-java/

basé sur llama.c qui est un moteur d'inference de LLM (l'execution des requetes)

jlama implementé avec vector APIs et PamanaTensorOperations

plusisures alternatives (native binding, iml0ementation pure en java, scala, kotlin)

Target Speech Hearing https://www.infoq.com/news/2024/05/target-speech-hearing/

Nouveau algo Deep Learning de l'Université de Washington permet d'écouter une seule personne de ton choix et effacer tout le bruit autour

le système nécessite que la personne portant les écouteurs appuie sur un bouton tout en regardant quelqu'un parler ou simplement en le fixant pendant trois à cinq secondes

Permet à un modèle d'apprendre les schémas vocaux du locuteur et de s'y attacher pour pouvoir les restituer à l'auditeur, même s'il se déplace et cesse de regarder cette personne.

Selon les chercheurs, cela constitue une avancée significative par rapport aux écouteurs à réduction de bruit existants, qui peuvent annuler efficacement tous les sons, mais ne peuvent pas sélectionner les locuteurs en fonction de leurs caractéristiques vocales.

Actuellement, le système ne peut enregistrer qu'un seul locuteur à la fois. Une autre limitation est que l'enregistrement ne réussira que si aucune autre voix forte ne provient de la même direction.

L'équipe a mis en open source leur code et leur jeu de données afin de faciliter les travaux de recherche futurs pour améliorer l'audition de la parole cible.

Outillage

Utiliser LLM pour migrer du framework de testing https://www.infoq.com/news/2024/06/slack-automatic-test-conversion/

Slack a migré 15.000 tests de Enzyme à React Testing Library avec un succès de 80%

Migration nécessaire pour le manque de support de Enzyme pour React 18

L'équipe a essayé d'automatiser la conversion avec des transformations AST, mais n'a atteint que 45 % de succès à cause de la complexité des méthodes d'Enzyme et du manque d'accès aux informations contextuelles du DOM.

L'équipe a utilisé Claude 2.1 pour la conversion, avec des taux de réussite variant de 40 % à 60 %, les résultats dépendant largement de la complexité des tâches.

Suite aux résultats insatisfaisants, l'équipe a décidé d'observer comment les développeurs humains abordaient la conversion des tests unitaires.

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