LCC 256 - jTerrasse
Antonio et Emmanuel discutent entre autre de JavaDoc, Quarkus, Crypto dans le CI, bootstrap 5, Grafana, cloud de confiance sans oublier les crowdcasts sur Cypress et sur hack.commit.push du 29 mai.
Enregistré le 21 mai 2021
Téléchargement de l’épisode LesCastCodeurs-Episode-256.mp3
News
Langages
Un JEP pour améliorer la JavaDoc
- On va pouvoir référencer, par exemple, des morceaux de code dans un autre fichier, dans un test, et l’intégrer dans la JavaDoc d’une méthode, d’une classe. Ca permettra d’avoir de la doc vraiment à jour au niveau des bouts de code, vu que ce sera toujours le vrai code qui tourne qui sera inséré dans la JavaDoc.
- Il pourra y avoir également de la coloration syntaxique
- Il sera possible de définir des régions qui doivent être surlignées pour être bien visibles
- Il sera possible de modifier certaines parties d’un snippet de code, par exemple pour cacher une chaine de caractère de test dont on se moque de la valeur quand on explique ce bout de code
- Possibilité de rajouter des liens hypertextes sur certains bouts de code, pour pointer, par exemple, vers la JavaDoc d’une méthode utilisée dans ce bout de code
- Pourvu qu’ils reprennent le plus possible la syntaxe asciidoctor qui a déjà résolu ce problème
Discussion sur le raisons du besoin derrière Loom
- Article qui reste d’un premier niveau, il faut creuser, les bénéfices réels
- IO et synchro bloque un thread. Limite scalabilité. Le code asynchrone est plus dur à comprendre.
- Virtual threads don’t bien pour des taches qui passent beaucoup de temps à attendre
- Les API IO bloquantes parkent le virtual thread quand elles sont en attente
- Un poller (boucle d’évènements) regarde les IO et leur état et unpark les virtual threads correspondant
- Mécanisme similaire aux frameworks non-bloquants to de type vert.x mais avec une API bloquante
Librairies
Quarkus 2.0 alpha 1, 2 et 3 sont sortis
- Quarkus 2 parce que Vert.x 4 et MicroProfile 4, pas de “gros” breaking changes, mais quelques breaking changes pour les extensions
- Continuous Testing : dans la console, on voit les tests qui plantent. Et quand on fait un code change, uniquement les tests qui sont impactés sont joués (flow analysis).
- Lance aussi dans un container dédié les dépendances (e.g. une base de donnée pour les tests utilisant Hibernate). Le container pour les tests en continu est différent de celui pour le quarkus:dev qui tourne (pas de pollution).
- JDK 11 minimum
- support for @java 16 and @graalvm 21.1 on Micronaut Launch,
- huge improvements to Micronaut Data from @DenisStepanov,
- improved @OracleCloud integration
- and many other small improvements
Infrastructure
Les cryptomineurs tuent les CI gratuite
- Les mineurs de crypto monnaies abusent des services de CI qui offre des capacités de build gratuites
- Une des nouvelles astuces c’est d’utiliser les outils comme Pupetteer pour automatiser l’utilisation d’un navigateur web, pour miner de la crypto monnaie dans le navigateur qui tourne en headless sur la machine de CI
- À la grande époque d’OpenShift Online et d’OpenShift.io, on a beaucoup appris sur la detection des Bitcoin miners :)
- on a eu le soucis sur Codeship (la CI SaaS de CloudBees). Ils ont passé un max de temps à virer et protéger les builds. J’ai vu que GitHub avait eu aussi le soucis
Les 19 étapes facile pour écrire un dockerfile
- En vérifiant l’ordre de ses commandes, en limitant le scope de Copy, d’aligner les RUN d’installation de package, d’utiliser des images officielles, voire de se créer ses images de base, d’utiliser des tags spécifiques pour des images plus reproductibles, effacer le cache du package manager, de builder dans une image offrant un environnement cohérent, de récupérer ses dépendances dans une étape à part, de faire du multi-stage build… Ou d’utiliser les Cloud Native Buildpacks ! (sur lesquels Joe bosse)
- Article qui nous explique la complexité et les trade off impossibles. Et donc que buildpack c’est indispensable
Comparaison Apache Kafka et Apache Pulsar
- pulsar a des brokers sans état et derrière il y a des bookkeepers (qui stockent les data).
- Cela permet plus de flexibilité pour augmenter ou descendre le nombre de brokers. mais avec plus de “moving parts” et avec un hop de réseau supplémentaire.
- Mais l’architecture est plus flexible notamment pour Kubernetes
- Le stockage étagé et la géo-replication est plus facile dans Pulsar (par défaut). Le stockage étagé c’est par exemple stocker l’info dans un S3 quand elle est vieille.
- Pulsar est multi-tenant par design.
- Pulsar accepte des gros messages et sit les fragmenter au besoin
- plus grosse communauté sur Kafka mais il y a des composants non open source (Confluent).
Cloud
Red Hat OpenShift Streams for Apache Kafka : un service cloud de Kafkas managé
- C’est ce sur quoi emmanuel a bossé ses 9 derniers mois
- Essayer le Managed Kafka de red hat
- Red Hat OpenShift Streams for Apache Kafka : un cloud service de Kafka managés https://twitter.com/emmanuelbernard/status/1387686420903563264
- Super intégration avec Quarkus et utilise Quarkus à l’intérieur
Web
- New offcanvas component
- New accordion
- New and updated forms
- RTL is here
- Overhauled utilities
- New snippet examples
- Improved customizing
- Browser support
- Dropped Microsoft Edge Legacy
- Dropped Internet Explorer 10 and 11
- Dropped Firefox < 60
- Dropped Safari < 10
- Dropped iOS Safari < 10
- Dropped Chrome < 60
- Dropped Android < 6
- JavaScript
- No more jQuery!
- Le Guide de migration est ici
Crowdcast sur Cypress par Emmanuel Demey
La fin de Google AMP ou son intérêt devrait descendre
- AMP avait un avantage majeur. Celui d’être en premier sur les résultats du moteur de recherche.
- Et les médias passaient en AMP rien que pour ça parce que le traffic du moteur de recherche dominant est essentiel
- Mais AMP posait beaucoup de problèmes techniques et éthiques. Le contenu était hébergé et caché sur des pros idées edge et en pratique Google.
- Donc les mesures d’audience étaient plus compliquées
- Et les ads avaient aussi des bias pavers la régie google.
- Les prochains scoring de google search seront neutre ce qui risque faire baisser les pages AMP
- Les pages AMP avaient dû réinventer beaucoup de concepts du web
Outillage
JFrog garde Bintray JCenter en lecture seule y compris le miroir de Maven central
- Ca sent le truc planifie pour faire migrer et descendre le traffic et arriver en bon samaritain après. Cela dit ils étaient bons samaritains avec la version gratuite
- Au moins les builds anciens ne vont pas casser
Docker desktop : sauter une mise à jour devient une option payante
- à partir de Docker 3.3 on peut éviter l’installation d’une nouvelle version avec la souscription pro ou team. Si j’ai bien compris.
- Tu peux faire un rappel pour plus tard mais tu ne peux effectivement pas refuser définitivement une version donnée sans payer sinon ils te harcèlent (je ne connais pas la fréquence) pour upgrader.
- En gros si tu ne paies pas tu dois être sur latest. Ils ne vont pas faire du support sur d’anciennes versions pour les clients gratuits
- Ce qui est logique.
- Spock est rebasé sur JUnit Platform
- Support de l’exécution en parallèle des test specs et des test features
- Support de Groovy 3
- Améliorations des tests avec des données tabulaires
Sécurité
Bug de dénie de service dans snakeyml
- C’est dû à la capacité de faire des références qui contiennent une référence à un élément plus haut. Paf récursion infinie.
- à un moment, notre support YAML dans Groovy utilisait SnakeYaml il me semble, mais je viens de vérifier, on est passé à Jackson
Loi, société et organisation
Grafana, Loki et Tempo passent de ASL 2 à AGPL
- La AGPL c’est la GPL mais pour lequel un service est comme une distribution
- inspiré par MongoLab CoackroachDB etc
- Cela reste open source au moins même s’il y a des interprétations différentes du linkage et donc des risques
- Est-ce que un service qui utilise grafana doit entièrement être AGPL ?
Quand un troll de brevet attaque, cloudflare contre attaque
- cloud flare est attaqué par un troll de brevet et contre attaque pour la seconde fois en payant la recherche d’antériorité sur l’ensemble du portefeuille de brevets de cette entité.
- Pour lui faire perdre une bonne partie de la valeur. « You do not negotiate with terrorists or children »
BaseCamp perd 30% de ses employés après son ban de conversations sociétales
- La liste des noms d’employés « funny » est ressorti avec des relents racistes
- Les employés ont visiblement eu un débat dessus
- DHH et Fry on fait un mémo bannissant les conversations politiques et sociétale parce qu’elle n’amenaient pas de bien pour la société (resentment etc)
- Mais les employés le voient comme une façon de ne pas voir les sujets importants en face et les impactes des produits tech sur la société
- Ils ont offert un golden parachute à qui voulait partir
- Et boom 30 % ont dit oui
Stratégie nationale du cloud français
- cloud solution d’hébergement par défaut des services numériques d’état
- protégé de règlementation extracommunautaire
- contre le cloud act et autres lois
- label “Cloud de confiance” c’est comme le porc salut
- mise à jour du SecNumCloud de l’ANSSI
- solution hybride société Française ou Européenne en utilisant les briques logicielles de groupes américains
- serveurs en France
- opérée par des entreprises européennes
- détenues par des européens
- “les Américains sont les plus avancés”
- Google et Microsoft ont signé l’accord de licence
- donc pas Amazon
Cloud de Confiance en qui ? par Laurent Doguin
Outils de l’épisode
- Enfin la marque
- Promet des designers sur l’interface et des contributeurs
- Et de rester open source
- On va voir
Conférences
Devoxx france bougent au 29, 30 septembre et 1er octobre
Crowdcast d’Agathe sur hack.commit.push samedi 29 mai, inscrivez-vous !
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/