LCC 240 - Fuseaux horaires : la fontaine a bogues

Published: Oct. 17, 2020, 12:33 p.m.

Cet \xe9pisode consacre Java le langage et sa version 15 en particulier. On discute aussi l\u2019impact des m\xe9moires fautives sur la JVM, le r\xe9actif, les frameworks backends et bien d\u2019autres choses. Et nous avons deux crowdcasts! \U0001f57a

Enregistr\xe9 le 13 octobre 2020

T\xe9l\xe9chargement de l\u2019\xe9pisode LesCastCodeurs-Episode\u2013240.mp3

News Langages

Java 15 (plus de d\xe9tails par Remi Forax ).

  • unicode 13,
  • hidden classes (non-discoverable implementation details of the framework eg classes g\xe9n\xe9r\xe9es au runtime, d\xe9chargement aggressif),
  • TreeMap amelioration de perf,
  • check de revocation pour le jar signer,
  • sha\u20133 support,
  • nashorn enlev\xe9,
  • les lock biais\xe9s sont d\xe9sactiv\xe9s/d\xe9pr\xe9ci\xe9s,
  • ZGC pr\xeat pour la prod,
  • am\xe9lioration d\u2019ergo de G1 (on en avait parl\xe9),

Azul couvre JDK 15, avec un focus sur les Sealed classes, les Records, les Hidden classes.

Des bugs de timezone qui vous pouvez rencontrer dans vos applications.

  • Faire tourner son code sous une vieille version de JRE/JDK qui n\u2019est pas \xe0 jour au niveau des donn\xe9es de TimeZone.
  • Le serveur est peut-\xeatre dans votre TimeZone \xe0 vous, ou bien sur UTC, alors attention !
  • En stockant des dates en bases de donn\xe9es, il faut aussi prendre en compte la TimeZone configur\xe9e dans la DB !
  • Parfois aussi c\xf4t\xe9 affichage, on peut oublier de parser les dates avec les infos de TimeZone, ou c\xf4t\xe9 client la TimeZone ou l\u2019heure d\u2019\xe9t\xe9 peut \xeatre mal configur\xe9e\u2026

Enregistrements d\u2019Oracle Developer Live Java

Les crashs de JVM sont souvent des erreurs m\xe9moire. Pourquoi ?

  • La JVM on lui donne souvent beaucoup de m\xe9moire.
  • Les m\xe9tadonn\xe9es utilis\xe9es par le GC sont importantes.
  • Ces m\xe9tadonn\xe9es sont acc\xe9d\xe9es enti\xe8rement lors d\u2019un full GC.

Romain Manni-Bucau explique comment configurer Java Util Logging avec un formateur sur une ligne, pour que ce soit plus sympa dans un contexte prod Docker

Un rapport sur l\u2019\xe9cosyst\xe8me Groovy :

  • l\u2019outil le plus utilis\xe9 : Gradle (pour le build).
  • librairie la plus populaire : Spock (pour les tests).
  • framework le plus populaire : Grails.
  • beaucoup d\u2019utilisation de Groovy comme langage de script, d\u2019automatisation, mais aussi comme langage g\xe9n\xe9ral principal et comme Domain-Specific Language.
Librairies

Sortie de JUnit 5.7

  • Isolated tests.
  • New Enabled/DisabledIf execution conditions.
  • Custom disabled reasons.
  • New MethodOrderer.DisplayName.
  • New DisplayNameGenerator.Simple.
  • Java Flight Recorder support.
  • Improved EngineTestKit.

Quarkus vs Spring Boot dans des environnements de plus en plus contraints mais quel est le choix d\u2019\xe9quipe au final ?.

Sortie de Micronaut 2.1.

  • nouveau plugin Gradle qui facilite le build d\u2019image natives Graal et de containers Docker en couches.
  • support des fonctions Oracle Cloud.
  • support am\xe9lior\xe9 de Google Cloud Platform, avec le logging structur\xe9 de Stackdriver,
  • et le support natif du messaging avec Google Cloud Pub/Sub.
  • Plus d\u2019infos dans la doc dans la section des nouveaut\xe9s : https://docs.micronaut.io/2.1.0/guide/index.html#whatsNew

Sortie de Quarkus 1.8 (et on n\u2019avait pas annonc\xe9 1.7)

  • multiple persistence unit
  • Micrometer
  • int\xe9gration avec jbang
  • GraalVM 20.2
  • MongoDB pour Kotlin
  • Elasticsearch REST client (1.7)
  • Client vert.x Redis (1.7)
  • Hibernate Envers (1.7)
  • DB2 (1.7)
Infrastructure

NVidia rach\xe8te ARM \xe0 SoftBank pou 40Md$, \xe7a va faire un sacr\xe9 concurrent \xe0 Intel et AMD. (https://www.anandtech.com/show/16080/nvidia-to-acquire-arm-for-40-billion)

Retour d\u2019experience sur l\u2019utilisation de Kubernetes. Java et ses probl\xe8mes (sp\xe9cialement 8, toujours grosse conso m\xe9moire), mettre \xe0 jour Kubernetes (ils cr\xe9ent des nouveaux clusters), corriger un index au d\xe9marrage vs liveness probe, exposer des IPs externes et la limite de connections parall\xe8les.

Project Natick: Datacenter mis sous l\u2019eau en 2018 par Microsoft.

  • 864 servers, 27.6 petabytes de stockage, 117 pieds au fond de l\u2019ocean (Ecosse).
  • Aux dires de Microsoft, c\u2019est un succ\xe8s.

Google est neutre en carbone, et a m\xeame rachet\xe9 sa dette carbone depuis sa cr\xe9ation.

  • (1) We were the first major company to become carbon neutral in 2007. \u2192 Google a \xe9t\xe9 \u201cneutre\u201d par compensation, chaque ann\xe9e depuis 2007, notamment en achetant autant d\u2019\xe9nergie renouvelable que d\u2019\xe9nergie carbon\xe9e.
  • (2) We were the first major company to match our energy use with 100 percent renewable energy in 2017\u2026 We\u2019re eliminating our entire carbon legacy, effective today. \u2192 Depuis 2017, Google a en plus achet\xe9 autant d\u2019\xe9nergie renouvelable l\u2019ann\xe9e N que d\u2019\xe9nergie carbon\xe9e consomm\xe9e l\u2019ann\xe9e N+1. En Septembre 2020, Google a fini fini par \xeatre totalement \u201cneutre\u201d en ayant consomm\xe9 autant d\u2019\xe9nergie renouvelable que d\u2019\xe9nergie carbon\xe9e depuis la cr\xe9ation de Google.
  • (3) We are the first major company to make a commitment to operate on 24/7 carbon-free energy in all our data centers and campuses worldwide\u2026 by 2030. \u2192 Dans 10 ans, Google esp\xe8re ne plus consommer d\u2019\xe9nergie carbon\xe9e du tout.
Data

CrunchyDB offre un PostgresSQL as a service qui est cross clouds.

Outillage

Github sort la version 1.0 de son outil en ligne de commande pour g\xe9rer ses projets Github.

Architecture

Un vieux truc, le memo de Bezos sur la service oriented company.
Jonas Boner annonce les 8 principes r\xe9actifs.

  • I. Stay Responsive : Always respond in a timely manner.
  • II. Accept Uncertainty : Build reliability despite unreliable foundations.
  • III. Embrace Failure : Expect things to go wrong and design for resilience.
  • IV. Assert Autonomy : Design components that act independently and interact collaboratively.
  • V. Tailor Consistency : Individualize consistency per component to balance availability and performance.
  • VI. Decouple Time : Process asynchronously to avoid coordination and waiting.
  • VII. Decouple Space : Create flexibility by embracing the network.
  • VIII. Handle Dynamics : Continuously adapt to varying demand and resources.
M\xe9thodologies

Les recommendations de Red Hat aux Red Hatters sur la contribution \xe0 l\u2019Open Source

S\xe9curit\xe9

Jenkins vient avec pleins de fix de s\xe9curit\xe9 comme tous les mois (voire 2 fois par mois).

Loi, soci\xe9t\xe9 et organisation

Est-ce que le Hacktoberfest de Digital Ocean fait mal \xe0 l\u2019Open Source ?

Bye bye Stop Covid qui va devenir Alerte Covid. L\u2019application ne r\xe8gle en rien les probl\xe8mes en terme d\u2019efficacit\xe9 et de vie priv\xe9e d\xe9j\xe0 d\xe9cri\xe9s dans le pass\xe9 mais veut rajouter des usages en ciblant notamment l\u2019utilisation dans les bars et restaurants et en y diminuant la dur\xe9e d\u2019exposition utilis\xe9e comme indicateur de contact. Elle devrait aussi pouvoir vous notifier d\u2019alerte locale (le gouvernement dans votre poche).

Outils de l\u2019\xe9pisode

Un \xe9cran 49" 32:9 https://www.samsung.com/us/computing/monitors/gaming/49-crg9-dual-qhd-curved-qled-gaming-monitor-lc49rg90ssnxza/

Rubrique d\xe9butant

Si vous d\xe9butez en Docker, il est important de comprendre les diff\xe9rences entre les instructions RUN, CMD, et ENTRYPOINT de vos Dockerfiles.

  • RUN est ex\xe9cut\xe9 quand on build l\u2019image.
  • CMD est l\u2019instruction par d\xe9faut lanc\xe9e au d\xe9marrage de votre image.
  • ENTRYPOINT permet plus de flexibilit\xe9 que CMD en supportant les param\xe8tres en entr\xe9e.
Conf\xe9rences

Codeurs En Seine 2020 - Edition en ligne

  • En novembre, les mardis \xe0 19h et les jeudis \xe0 21h
  • 45 minutes de conf\xe9rences + environ 15 minutes de questions
  • En ligne sur Twitch + rediffusion Youtube

Crowdcast de Emmanuel Demey sur les conf\xe9rences \xe0 venir dans le Nord.

Nous contacter

Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs
Faire un crowdcast ou une crowdquestion
Contactez-nous via twitter https://twitter.com/lescastcodeurs
sur le groupe Google https://groups.google.com/group/lescastcodeurs
ou sur le site web https://lescastcodeurs.com/