Guillaume et Arnaud discutent de tech en cette nouvelle année 2023. GraalVM dans OpenJDK, Rust, Webassembly, containers. postgres, ChatGPT, le rôle de l’architecte et la ribambelle de rétrospective 2022.

Enregistré le 13 janvier 2023

Téléchargement de l’épisode LesCastCodeurs-Episode-290.mp3

News

Langages

OpenJDK propose le projet Galahad pour fusionner dans OpenJDK certaines parties de GraalVM community edition https://www.infoq.com/news/2022/12/openjdk-galahad-Dec22/

Alex Snaps partage un article sur Rust pour le développeur Java https://wcgw.dev/posts/2023/rusty-java-intro/

  • Basé sur son talk sur le même thème qu’il a déjà présenté à Devoxx Maroc et Belgique.
  • Alex a également écrit une deuxième partie faisant suite à son article, dans lequel il parle un peu plus d’ownership, de borrowing, du trait Drop, etc. (c.-à-d. sur la gestion mémoire).
  • https://wcgw.dev/posts/2023/rusty-java-2/

Google a sorti sa formation interne sur Rust en libre accès https://google.github.io/comprehensive-rust/

Paul King du projet Apache Groovy partage sa rétrospective de l’année 2022 https://blogs.apache.org/groovy/entry/apache-groovy-2022-year-in

Webassembly pour le développeur Java https://www.javaadvent.com/2022/12/webassembly-for-the-java-geek.html

Un article assez critique sur TypeScript https://dev.to/wiseai/17-compelling-reasons-to-start-ditching-typescript-now-249b

  • On voit souvent des articles plutôt positifs sur TypeScript, mais est-ce que tout est tout rose tout le temps, pas forcément !
  • L’article cite 17 problèmes avec TypeScript, dont la courbe d’apprentissage, la baisse de productivité, la verbosité des types, le manque de flexibilité, le fait que ce n’est pas vraiment un sur-ensemble de JavaScript, la lenteur du temps de compilation…

Librairies

Sortie du Micronaut 3.8 https://micronaut.io/2022/12/27/micronaut-framework-3-8-0-released/

  • support de GraalVM 22.3.0,
  • possibilité d’annoter les records avec @RequestBean (pour binder les paramètres de requête et autre, aux paramètres de la méthode du controller),
  • amélioration du CorsFilter pour éviter certaines attaques,
  • également des améliorations sur le support de CRaC (Coordinated Restore at Checkpoint),
  • et plein d’autres upgrades de versions, nouveaux plugins et améliorations mineures.

Swing n’est pas mort ! Un nouveau DSL Java open source pour Swing dénommé Sierra, pour faciliter la création d’interfaces graphiques Swing https://github.com/HTTP-RPC/Sierra

Infrastructure

Comprendre root dans et en dehors des conteneurs https://www.redhat.com/en/blog/understanding-root-inside-and-outside-container

  • Un article pas récent, mais utile.
  • Qu’est-ce qu’un conteneur rootless ?
  • On peut être root et lancer le moteur de conteneur.
  • On peut être root dans le conteneur lui-même.
  • Quand on exécute en root le moteur, l’utilisateur extérieur et intérieur sont mappés (même numéro d’UID) ; par contre en non-root, l’UID de l’utilisateur du conteneur est mappé sur un nouvel UID
  • C’est top, car les utilisateurs dedans et dehors ne sont pas mappés, donc moins de risque en cas de sortie de bac à sable (sandbox escape).
  • C’est le cas pour podman, mais pour docker il y a un ajout : docker a un démon (root ou pas) et une CLI qui appelle ce demon (root ou pas). Ce qui importe, c’est le demon pour les risques de sécu.
  • L’idéal, c’est d’exécuter en non-root le moteur et d’être non-root dans le conteneur (même si encore beaucoup d’images s’attendent à être root les folles).

Cloud

Kubernetes 1.26 avec notamment une de corrélation de l’hébergement de la Registry par Google https://www.infoq.com/news/2022/12/kubernetes-1-26/?utm_campaign=infoq_content&utm_source=twitter&utm_medium=feed&utm_term=Devops

Web

Evan You, le créateur de Vue.js revient sur l’année 2022 https://blog.vuejs.org/posts/2022-year-in-review.html

  • C’est la grande migration de Vue 2 vers Vue 3.
  • Migration de l’API Composition de Vue 3 vers l’API Options de Vue 2 (mais supportée encore en 3).
  • La documentation de Vue propose Vue 3 par défaut depuis février.
  • Pendant la phase de transition, gros focus sur l’outillage et l’expérience développeur.
  • L’écosystème a bien adopté Vue 3 et continue de le faire au fur et à mesure.
  • Pour 2023, espère faire plus de releases mineures régulières et travail sur le “vapor mode” qui propose une stratégie de compilation plus rapide.

Data

Un article de Stephan Schmidt qui suggère d’utiliser PostgreSQL… pour tout ! https://www.amazingcto.com/postgres-for-everything/

  • pour du caching à la place de REDIS,
  • comme une queue de messages,
  • pour stocker des documents JSON au lieu de MongoDB,
  • pour faire des requêtes géo-spatiales,
  • pour le full-text search à la place d’ElasticSearch,
  • pour générer du JSON directement en base,
  • comme stockage / adaptateur pour GraphQL ou pour Timescale (base de données time-series).

Outillage

ChatGPT en action sur le design d’un nouveau langage de programmation https://judehunter.dev/blog/chatgpt-helped-me-design-a-brand-new-programming-language

ChatGPT, on lui attribue plus de magie qu’il n’en a https://arxiv.org/pdf/2212.03551.pdf

Github rajoute le scan des secrets dans vos repos publics aussi https://github.blog/2022-12-15-leaked-a-secret-check-your-github-alerts-for-free/

  • ça n’est plus seulement pour les organisations des entreprises,
  • aussi accessible pour les repos publics,
  • permet d’éviter de leaker des clés d’API et autre.

Les nouveautés de Java sur Visual Studio Code https://foojay.io/today/java-on-visual-studio-code-update-december-2022/

  • améliorations visuelles pour les extensions Spring Boot et aussi pour la visualisation de la mémoire utilisée,
  • complétion “post-fix” comme dans IntelliJ,
  • plus de raccourcis pour générer du code,
  • support de Lombok intégré,
  • support de l’annotation processing de Gradle,
  • meilleure visualisation des erreurs de build,
  • 2 millions de développeurs utilisent Visual Studio Code pour Java.

Encore un guide pour sortir de Vi https://thevaluable.dev/vim-advanced/

Le client HTTP de IntelliJ peut maintenant être utilisé en ligne de commande et dans un environnement d’intégration continue https://blog.jetbrains.com/idea/2022/12/http-client-cli-run-requests-and-tests-on-ci/

Architecture

L’évolution du rôle de l’architecte https://www.infoq.com/articles/architecture-architecting-role/

Le (très long) rapport des tendances 2023 par Didier Girard et Olivier Rafal https://www.linkedin.com/pulse/rapport-tendances-2023-didier-girard/?trackingId=wu9pJ4wNQAOKjh11R2UyjA%3D%3D

  • un prisme tech/orga/culture pour préparer l’entreprise aux enjeux,
  • un prisme produits/plateformes/data pour structurer notre approche d’un SI moderne,
  • couvre des tonnes de sujets de l’intelligence artificielle, les données, le cloud, le web1/2/3, mais aussi l’organisation des équipes, les rôles, etc.

Loi, société et organisation

Twitter n’apprécie guère Mastodon, et bride les tweets avec des liens vers Mastodon. La liberté d’expression façon Elon Musk ! https://twitter.com/bluxte/status/1603656787097534464

Dans la famille “les informaticiens ont des super-passions”, je voudrais Cédric Champeau, qui nous fait une magnifique rétrospective de ces clichés d’astrophotographie https://melix.github.io/blog//2022/12/astrophoto-2022.html

Conférences

La liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs :

Nous contacter

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/