16 Dec 2024 10:52

LCC 319 - le ramasse-miettes-charognes

Dans cet épisde en audio et en vidéo (youtube.com/lescastcodeurs), Guillaume et Emmanuel discutent des 15 ans de Go, d’une nouvelle approche de garbage collecting, de LLMs dans les applications Java, dobservabilité, d’une attaque de chaine d’approvisionnement via javac et d’autres choses.

Enregistré le 13 décembre 2024

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

News

Langages

Go fête son 15ème anniversaire ! https://go.dev/blog/15years

  • discute les 15 ans
  • la corrections de gotchas dans les for loops (notamment les variables étaient loop scoped)
  • le fait que la compile echoue si on attend une version de go superieure seulement depuis go 1.21 en parallele de la gestion de la chaine d’outil (c’est en 2023 seulement!)
  • opt-in telemetrie aussi recent

Construire OpenJDK à partir des sources sur macOS https://www.morling.dev/blog/building-openjdk-from-source-on-macos/

  • de maniere surprenante ce n’est pas tres compliqué

Papier sur l’aproche Mark-scavenge pour un ramasse miette https://inside.java/2024/11/22/mark-scavenge-gc/

  • papier de recherche
  • utiliser l’accessibilité pour preuve de vie n’est pas idéal: un objet peut etre atteignable mais ne sera jamais accedé par le programme
  • les regions les plus pauvres en objets vivant voient leurs objets bouger dans uen autre region et la regio libéré, c’est le comportement classique des GC
  • deux methodes: mark evaguate qui le fait en deux temps et la liveness peut evoluer ; et scavenge qui bouge l’objet vivant des sa decouverte
  • ont fait tourner via ZGC des experience pour voir les objects consideres vivants et bougés inutilement.
  • resultats montrent un gros taux d’objets bougés de maniere inutile
  • proposent un algo different
  • ils marquent les objets vivants mais ne les bougent pas avant le prochain GC pour leur donner une change de devenir unreachable
  • elimine beaucoup de deplacement inutiles vu que les objets deviennent non accessible en un cycle de GC
  • jusquà 91% de reduction ! Particulierement notable dans les machines chargées en CPU.

Les tokens d’accès court ou longs https://grayduck.mn/2023/04/17/refresh-vs-long-lived-access-tokens/

  • pourquoi des long access tokens (gnre refresh token) sont utilises pour des short lived dans oauth 2.0
  • refresh token simplifient la revocation: vu que seul le auth serveur a a verifier la révocation et les clients vérifient l’expiration et la validité de la signature
  • refresh token ne sont envoyés que entre endpoints alors que les access tokens se baladent pas mal: les frontières de confiance ne sont pas traversées
  • refresh token comme utilise infréquement, et donc peut etre protegee dans une enclave
  • les changements de grants sont plus simple tout en restant distribuable
  • histoire des access refresh token et access token permet de mieux tracer les abus / attaques
  • les inconvenients: c’est plus compliqué en flow, the auth serveur est un SPOF amis mitigeable

Java Advent est de retour https://www.javaadvent.com/calendar

  • backstage
  • Java integrite par defaut (et ses consequences sur l’ecosysteme)
  • timefold (sovler)
  • Les extensions JUNit 5
  • OpenTelemetry via Java Agent vs Micrometer
  • analyse statique de code
  • CQRS et les fonctionalités modernes de Java
  • java simple (sans compilatrion, sans objet
  • fullstack dev with quarkus as backend


Отзывы


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