16 Jul 2024 09:17

LCC 314 - 1000 fois 1000 dépendances

Emmanuel, Guillaume et Arnaud discutent des nouvelles de l’été. JEPs, transactional outbox pattern avec Spring, LLM dans Chrome, faille polyfill.io, TOTP, congés illimités et IDE payant ou pas payant ?

Enregistré le 12 juillet 2024

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

News

Langages

Les fonctionnalités de JDK 23 ont été figées début Juin (release prévue en septembre) https://openjdk.org/projects/jdk/23/ https://www.youtube.com/watch?v=kzjGp7LmW0I

  • JEPs finales:
    • 467: Markdown Documentation Comments
    • 471: Deprecate the Memory-Access Methods in sun.misc.Unsafe for Removal
    • 474: ZGC: Generational Mode by Default
  • JEPs en incubation / preview
    • 455: Primitive Types in Patterns, instanceof, and switch (Preview)
    • 466: Class-File API (Second Preview)
    • 469: Vector API (Eighth Incubator)
    • 473: Stream Gatherers (Second Preview)
    • 476: Module Import Declarations (Preview)
    • 477: Implicitly Declared Classes and Instance Main Methods (Third Preview)
    • 480: Structured Concurrency (Third Preview)
    • 481: Scoped Values (Third Preview)
    • 482: Flexible Constructor Bodies (Second Preview)

Librairies

Le transactional outbox pattern avec Spring Boot https://www.wimdeblauwe.com/blog/2024/06/25/transactional-outbox-pattern-with-spring-boot/

  • transactional outbox permet d’éviter des 2PC ou des désynchronisations de resources: typiquement un commit dans une base et un envoie de message dans un bus
  • on ecrit le message dans une table de la base de données, et un process séparé récupère les messages et les envoient dans le bus
  • implémentation utilise Spring Integration
  • dans l’article, la seconde resource est l’envoie d’email
  • montre une approche de tests
  • le flow descrit pas psring integration est pas super trivial a lire quand on est pas familier mais cela poll la table toutes les secondes et envoie email et si succes de l’appel de service, vide le message de la table
  • Deuxieme exemple avec Spring modulith qui a un event bus interne qui peut être persisté
  • décrit les differences avec spring integration et les limites de l’approche modulith (message order, retry etc)

Comment tester des valeurs de propriétés différentes dans un test Quarkus https://quarkus.io/blog/overriding-configuration-from-test-code/

  • on a tendance a ne pas tester les propriétés de config
  • ce blog montre 5 (enfin 4 utiles) façons de le faire avec Quarkus.
  • les profils de test, mocker l’objet de config, les test components (experimental), l’injection dans les constructeurs

Quarkus 3.12 https://quarkus.io/blog/quarkus-3-12-0-released/

  • centralisation des configs TLS
  • support pour le load shedding (reject requests on service overload)
  • événements JFR specific a Quarkus
  • native image agent
  • support Spring Boot 3 (compat layer)
  • Support Kotlin 2
  • etc

Cloud

On vous parlait dans un épisode précédent de ce problème de coûts S3 sur des requêtes non autorisées. C’est Graphana Loki qui a mis ce problème sous les projecteurs https://grafana.com/blog/2024/06/27/grafana-security-update-grafana-loki-and-unintended-data-write-attempts-to-amazo


Отзывы


Podcastly – лучшая платформа для любителей подкастов. Более 10 миллионов аудио контента доступных на Android/iOS/Web/Desktop и Telegram.