LCC 295 - La librairie rentre dans le cadre

Épisode de Les Cast Codeurs Podcast par Emmanuel Bernard, Guillaume, Antonio, Arnaud, Katia · 15 mai 2023 · 1 h 32 min

Dans cet épisode, Arnaud, Antonio et Emmanuel décortiquent les nouvelles d'avril et mai. On y discute Java 20, ecrire un profiler de zéro, Quarkus 3 (encore !), Micronaut 4, Podman, JReleaser, GitHub, CloudEvent, GraphQL, licenciements (encore !), et de la question a 1000 francs: librarie vs framework, quelle différence? Mais pas que.

Enregistré le 12 mai 2023

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

News

Langages

Un descriptif du changement de paiement d'Oracle JDK https://horstmann.com/unblog/2023–02–23/

Cay Horstmann

Explique OpenJDK avec plusieurs distributeurs

Prefère Adoptium dont celle par défaut est Eclipse Temurin

Pour Oracle, beaucoup d'options de licenses (no-fee, binary code, OTM license)

Oracle depense beaucoup pour Java

La license en discussion est Java SE Universal Subscription Licensing

passage de license par CPU (Java SE advanced) vers license par employé (et une assiete large)

Bref si vous êtes concernés, passer sur OpenJDK: Adoptium, ou d'autres vendeurs

Java 20 est sorti : qu'y a t'il de nouveau dans Java 20 par rapport à Java 19 ? https://foojay.io/today/its-java–20-release-day-heres-whats-new/

L'article fait le point sur ce qu'il y a de nouveau par rapport à la précédente release :

4ème preview du pattern matching pour switch

2nde preview des record patterns

2nde preview des virtual threads

incubation des scoped values (similaire au thread locals mais pour les virtual threads)

2nde incubation de la structured concurrency

2nd preview de foreign function et memory API

5ème incubation de la vector API (pour utiliser les instructions vectorielles des processeurs)

La liste des JEPs : https://openjdk.org/projects/jdk/20/

Les release notes : https://jdk.java.net/20/release-notes

dans le pattern matching switch: guarde when

Record pattern: utilisation de var. utilisable dans les for aussi maintenant for (Delay(var timeInMS) : delays)

quelques changements autour de l'API Thread est non preview (main API)

Les ScopedValue sont comme les threadlocal par (virtual) thread mais elles sont immuables une fois écrites.

use cases: copie d'etat pour des données non changeantes pour le virtual thread

Serait interessant d'avoir des details dessus

PDF 2.0 maintenant un vrai format ISO ouvert et gratuit https://www.pdfa.org/sponsored-standards/

standard dispo sans cout

versions precedentes étaient payantes

clarifications et corrections de beaucoup de corner cases

Librairies

Écrire un Profiler en 240 lignes de Java https://mostlynerdless.de/blog/2023/03/27/writing-a-profiler-in–240-lines-of-pure-java/

Ce n'est peut-être pas si compliqué d'écrire soi même un Java Profiler ! Et justement cet article nous montre comment le faire, en créant un Java Agent, en analysant les stacks d'appel, et à la fin en créant même un flame-graph en HTML

Très didactique !

fondamentallement: appeler Threads:getAlStackStrace reguilerement et faire une liste des methodes visibles et créer un flamegraph a partir de ces données

L'équipe de Flutter partage les grands thèmes de sa roadmap https://flutter.dev/go/strategy–2023

Performance, interopérabilité, portabilité, écosystème, sécurité, fondamentaux (comme la documentation, la fidélité des UI natives, adresser les issues publiques)

Quarkus 3 est sorti https://quarkus.io/quarkus3/

on a deja couvert

Hibernate ORM 6.2

nouvelle DevUI et admin sur un port different

Support for Pact

quarkus deply et extensibilite de la CLI avec des nouveaux verbes

dev services for Kubernetes simule un Kube pour tester les calls vers l'API Kube

Java 11 et 17 (recommendé)

Jakarta EE

Eclipse MicroProfile 6

Une librairie en Java spécialement pour l'astronomie par Cédric Champeau https://melix.github.io/blog//2023/04–22-introducing-astro4j.html

différentes librairies et applications pour traiter les images issues de sol'ex qui permet de prendre des photos du soleil

Micronaut 4 milestone 2 est sorti. Les nouveautés de Micronaut 4 https://docs.micronaut.io/4.0.0-M2/guide/index.html#whatsNew

Kotlin 1.8.0

Experimental Support for Kotlin Symbol Processing (KSP)

Apache Groovy 4.0

Core Changes

Java 17 Baseline

Improved Modularity

GraalVM Metadata Repository and Runtime Initialization

Completed javax to jakarta Migration

Expression Language

Injection of Maps

Arbitrary Nesting of Configuration Properties

Improved Error Messages for Missing Configuration

Improved Error Messages for Missing Beans

Tracking of Disabled Beans

HTTP Changes

Initial Support for Virtual Threads (Loom)

Rewritten HTTP layer

Annotation-Based HTTP Filters

JDK HTTP Client

Infrastructure

5 choses à savoir sur Podman Desktop pour un utilisateur Docker https://podman-desktop.io/blog/5-things-to-know-for-a-docker-user

Une UI unique pour travailler avec différents moteur de conteneurs, et pas uniquement Docker

Compatible avec Docker avec un mode adapté pour fonctionner aussi avec la docker CLI ou docker.sock pour les sockets

Support de Compose

Support de Kubernetes

Securité : on peut utilisé rootless sans avoir les privilèges root

socket est particulierement utile pour TestContainer

compose n'est pas supporte en tant que tel mais on pout faire utiliser podman par compose

podman peut emuiler / executer des definitions de pods

si besoin d'exposer des ports

Keycloak rejoins la CNCF https://www.tfir.io/keycloak-cloud-native-iam-for-cloud-native-applications-joins-the-cncf/?utm_campaign=shareaholic&utm_medium=linkedin&utm_source=socialnetwork

IAM complete au sein de la CNCF

Keycloak sur base Quarkus : "cloud natif"

Cloud

Un petit article court de chez Baeldung qui liste des distributions Kubernetes légères () et partage leurs avantages et inconvénients respectifs https://www.baeldung.com/ops/kubernetes-lightweight-distributions

Minikube (que des clusters à noeud unique)

MicroK8S (à jour avec les releases Kubernetes, mais pas de support des CPUs ARM32)

Kind (conteneurs considérés comme des noeuds, plus difficile à configurer avec autre chose que Docker)

K3S (moins de consommation de resources)

Il y a la liste des 100 trucs annoncés : https://blog.google/technology/developers/google-io–2023–100-announcements/

Bard, le concurrent de ChatGPT, disponible dans 180 pays… sauf les pays européens

Pixel 7a, Pixel Tablet et Pixel Fold

Plein d'annonces autour de l'AI avec l'API PaLM (utilisée dans Bard), plein de Generative AI de partout dans les produits (search, workspace,..), y compris un modèle de code (qui comprends même le Groovy) qui va être intégré aux IDE, VSCode, etc

Outillage

Connaissiez vous le flag –json de curl ? https://glaforge.dev/posts/2023/03/22/curl-s-json-flag/

Ca va simplifier nos interactions avec les APIs qui utilisent du JSON

Plus besoin de passer les headers de content-type et d'accept, c'est moins verbeux

Rajouté il y a un an dans curl 7.82 (pour info, sur mon mac, par exemple, je suis en 7.86)

curl --json '{ "drink": "coffe" }' [https://example.com](https://example.com) ou curl --json @prepared [https://example.com](https://example.com) pour pointer vers un fichier

Rétropédalage chez Docker https://www.docker.com/blog/no-longer-sunsetting-the-free-team-plan/

Github supprime le sponsoring par Paypal… et plein de développeurs Open Source perdent leurs sponsorships https://github.com/orgs/community/discussions/45183

Juste un très cours blog post dans le changelog indiquant ce changement https://github.blog/changelog/2023–01–23-github-sponsors-will-stop-supporting-paypal/

peut etre suite au piratage de Paypal et aux risques de paiements frauduleux et de réputation?

Github a mis à jour sa clé RSA SSH Host https://github.blog/2023–03–23-we-updated-our-rsa-ssh-host-key/

Apparemment, ils ont committé brièvement leur clé privée, oops !

Potentielle disruption pour certains, avec impossibilité de committer son code

Il faut alors "oublier" l'ancienne clé publique et mémoriser la nouvelle

Personnellement, j'ai committé du code à partir de Visual Studio Code et je n'ai pas eu de soucis

que sur RSA et pas sur les clés a courbe elliptique

clef porivée aurait pu faire du spoofing ou de dechiffremetn de flux en ssh via RSA vers github

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