LCC 263 - Le maillot jaune du salon
Posté le 17/09/2021Deux A et un E discutent des nouvelles de l’été et de la rentrée. #JDK17 #scala #Kotlin #spring6 #dockerdesktop #fitdesk et encore d’autres sujets.
Enregistré le 10 septembre 2022
Téléchargement de l’épisode LesCastCodeurs-Episode-263.mp3
News
Langages
Au revoir AdoptOpenJDK, bonjour Adoptium
- Eclipse Temurin runtimes pour la partie JDK
- Grosse test suite
- License oracle (que AdoptOpenJDK avait perdu)
- Plus de OpenJ9 ni GraalVM (Oracle recule) mais IBM a Rapatrié OpenJ9 sous le nom IBM Semurin
- Nouvelles API (backward compatibles ?)
- Les anciens builds ne seront pas migrés
Une interview des architectes Java
- Java longevity: stability (not removing things), readability, ecosystem’ well-defined stable interfaces (JVM…)
- Nouvelles fonctionnalités : qu’est que qui ne peut être fait en dehors de la plateforme
- Rendre Java plus extensible (Valhalla)
- Bloque en Java 8
- Perds argent (meilleure mémoire, performance, temps de démarrage, pauses 2 ms G1 etc
- Sécurité
- Loom
- Réactive programming pour mieux utiliser le,hardware
- Mais opposé à certains designs de la JVM (error report, debug, flight recorder)
- Loom résout le même problème, mais en harmonie avec la JVM
- Api familières
- Next
- Valhalla, Panama
- Tail call recursion
- Etc
Article en passant sur l’utilisation du foreign API avec libsodium
- juste une mention
- Scala 3.0.1
- Syntaxe given simplifiée (pas de with)
@experimental
- Scala 3.1
- Experimental safer exception (checked exceptions, mais sans les ennuis)
- Warnings de compilation plus configurable
- Multiversal equality (des classes différentes qui peuvent être égales)
- annoncé en 2011, 1.0 en 2016, default Android en 2017
- pas théorique, problèmes pragmatiques
- multi plateforme encore experimental, on prend notre temps
- ajoutent features dans le core lib plus lentement que Java
- prochains 10 ans : multiplateforme, langage reste relevant, reactive programming et immuabilité du front vers le back
Librairies
Spring 6 / SpringBoot 3 annoncé à SpringOne
- Java 17 et plus
- Intègre Spring Native
- Tomcat 10 min
- Jakarta 9 avec cassage de packages
- Q4 2022
- Spring 5.3 et SpringBoot 2.7 seront en maintenance open source entendue
- Autre lien
- 2.2 Solidification (utilisabilité, doc, corriger problèmes)
- Mongodb service binding
- RESTEasy Réactive automatiquement choisi le thread bloquant ou non bloquant
- Plus facile quand on vient de RESTEasy Classic
- Détails ici
- 2.1
- Dev services pour keycloak
- SQLServer réactive a son extension
- Kotlin 1.5
- Blog post expliquant les nouvelles modularités de quarkus platform
- RxJava n’est plus une dépendance transitive (choix du moteur reactive streams)
- Utilisent Reactor en dessous
- Les annotations ne sont plus héritées par défaut
- Support Jakarta lifecycle annotations, Jakarta inject
- Injection qualifiée par le generic des arguments
- Filtres servers plus consistant (appelés une seule fois)
@Introspected
ne rajoute plus les métadonnées pour GraalVM, utiliser@ReflectiveAccess
- Ajout des resources passe du compile time au build time donc utilisez les plugins maven de Micronaut ou faite le vous-même
- Quelques autres breaking changes
- OpenRewrite règles changent le code pour migrer pour vous
Infrastructure
Comment debugger son script Ansible
--step
- In-line logging
- Ansible-lint
- Ansible-console
- Ansible debugger
Cloud
- Une analyse techniques
- Il y a deux choses distinctes
- Détecter les images d’une base de donnée pédophile avec du hash sur le téléphone et en alertant quand trop sont flagguées positive (avec check humain)
- Ça s’appuie sur iCloud photo, car sur leur cloud, mais pas un filtre serveur
- Base de donnée Baked dans chaque iOS
- NeuralHash
- Hash résiste au recadrage et autres ajustements de photos
- Threshold secret sharing
- Au bout de n rapports remontés, on a capacité à reconstituer la clef de chiffrement
- Et un troisième mécanisme pour éviter de montrer quelles photos intéressent Apple
- Quid d’une puissance étrangère qui veut rajouter des photos de dissidents ?
- Apple dit on n’acceptera pas
- Où attaque sur le neural hash
- Détection de nudité et demande si l’enfant veut voir avec alerte aux parents
- Ils se donnent quelques mois de retravaille au final
- démarre avec une region, un seul type d’instance et tout éphémère (pas de block storage)
- peu de feature et peu de details initialement
- prix a l’heure initialement qui était innovant
Data
La guerre de la recherche - Les clients Elastic Search ne seront pas compatible avec OpenSearch
- Elastic vs AWS - Clash numéro ? Dans ce dernier épisode, Elastic rajoute des contrôles dans ses APIs clientes pour ne se connecter qu’a ses propres clusters et empêcher de les utiliser avec OpenSearch.
- Risques d’incompatibilité
- Manque de chance ce changement bloque aussi l’utilisation de la version OSS d’Elasticsearch.
- De son côté AWS promet de faire son possible pour fournir des drivers qui resteront compatibles Elasticsearch 7.10.2 (la version à partir de laquelle ils ont forké) et OpenSearch
- Bref la guerre continue …
Outillage
AtomicJar release TestContainers 1.16
- https://www.atomicjar.com/2021/07/testcontainers-1-16-0-release/ Testcontainers 1.16.0 est la première release faite par AtomicJar, la société créée par les fondateurs du projet.
- Meilleure compatibilité Apple M1
- Couche de transport utilise Apache HTTP Client 5 au lieu de OKHTTP pour éviter la malediction Kotlin
- Meilleure stabilité et compatibilité sur Windows pour process natifs Windows et WSL 2
- docker.host peut être configuré dans $HOME/.testcontainers.properties
- Aussi Support Podman amélioré récemment
- donc pour les boites de plus de 250 personnes ou qui font 10 millions, tu dois payer pour Docker Desktop
- Des articles paraissent listant les alternatives à Docker Desktop
- Sur l’impact macOS
- How Docker broke in half
Les différentes manières de déclarer les dépendances dans son projet Gradle
- En particulier, les différences entre API, implementation, runtimeOnly, compileOnly, compileOnlyApi Avec des exemples concrets pour bien illustre ces différents scopes.
- Gradle regroupe les dépendances dans des ensembles appelés des “configurations”. Ces configurations définissent le classpath lors de la compilation ou le classpath pour le runtime lorsque votre code s’exécute.
- Gradle définit 3 types de configuration : api, implementation et runtimeOnly
- La configuration “api” est utilisée pour le classpath compilation et runtime et est exposée aux consommateurs de l’API aussi pour le classpath de compilation et runtime
- La configuration “implementation” est utilisée pour le classpath de compilation et runtime, mais est exposée pour le consommateur de l’API que pour le classpath au runtime
- La configuration “runtimeOnly” n’est utilisée que pour le classpath au runtime
- La configuration “compileOnly” est utilisée pour le classpath de compilation, mais n’est pas exposée pour les consommateurs
- Enfin la configuration “compileOnlyApi” est utilisée pour le classpath de compilation et est exposée aux consommateurs à la compilation de leur code quand les metadata Gradle sont utilisées
Méthodologies
Opinion sur Googlespeak et les pratiques anti concurrentielles
- Certains dont l’auteur voient Google utiliser Google Search pour placer hautement leurs propres services alternatifs. Google Flight etc
- Et les Googlers avec qui il interagissait trouvait ça « absurde » de penser ça.
- Chercher un hôtel
- Étude montre que Google offre 41% de sa première page à ses propres propriétés (inclus direct answers)
- Direct answer est mis rapide pour l’utilisateur, mais prend le contenu 3rd party (Wikipédia, IMDb etc) et nous fait rester sur une page Google.
- Googlespeak d’après Orwell. Si le langage ne permet pas d’exprimer, on ne pense pas aux choses.
- Pas dominant, mais succès. Pas barrière à l’entrée, marché, effet réseau qui sont taboo dans un contexte de tension antitrust
- Encourage à réfréner sa communication écrite.
- Comme beaucoup de sociétés américaines à cause du processus de discovery
- Market share -> user preference
- Apple et epic ont levés des docs similaires, mais Apple n’était pas gardé dans sa comm interne. Autour de l’app store.
- Google dans ses formations mention non monopoly car beaucoup de compétiteurs. Et se défini en termes très larges et donc avec de la compétition (dans la pub et dans la recuperation d’information).
- Quand le congrès leur demande, ils ne font pas d’analyse de marchés (sur les marchés dominants).
- 65 % des recherches n’entraînent pas un clic sur un site externe - valeur réfutée par Google
- C’est une réaction à la judiciarisation de la vie des entreprises.
Loi, société et organisation
Matt Asay quitte AWS et réflecte sur l’open source chez AWS
- pleins de petites équipes et pas de décisions top down
- en tout cas pas pour open source
- Un langage spécifique a Amazon pour convaincre
- Les Leadership Principles tendent à ne pas investir dans les elements side de type open source
- et quand on a Two-Pizza Teams, peut-on contribuer sans se sentir trop contraint en temps
- si c’est une équipe de 12 sur 200 équipes ça ne m’étonne pas trop 🙂
L’Open Source au secours du développeur (et de l’architecte) ?, un retour d’expérience très personnel, mais instructif pour ceux qui souhaiteraient se lancer …
- Pourquoi l’Open Source ?
- Par où commencer ?
- Le choix du premier projet pour sa première contribution ? (Le syndrome de l’imposteur)
- La première contribution
- Rythme de travail
Outils de l’épisode
- Antonio passe au Fit Desk pour travailler en pédalant
- Promis, il écrira un blog dans 4/6 mois avec du feedback
Rubrique débutant
- CISC roi quand la mémoire est chère, on crée des instructions haut niveau plus complexes
- RISC paye en mémoire, mais simplifie la chaîne de travail (instructions de taille fixe)
- RISC plus d’opérations et donc de CPU clock mais pipelining possible
- RISC compensé par plus de registers et par la compression d’instructions set
- register mémoire interne CPU de taille fixe
- CISC fait du hardware hyper threading
- RISC philosophiquement fait travailler les compilateurs beaucoup plus, mais on ne code plus en assembleur
Conférences
Crowdcast sur devfest Lille et CloudNord par Emmanuel Demey
Pas de Devoxx Belgique en 2021
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/
LCC 262 - Interview Cloud de Confiance avec Quentin Adam
Posté le 02/09/2021Quentin Adam de Clever Cloud et Emmanuel discutent du Cloud de Confiance et de ses impacts économiques et politiques.
Enregistré le 1 juillet 2021
Téléchargement de l’épisode LesCastCodeurs-Episode-262.mp3
Interview
Ta vie, ton œuvre
Clever cloud pour le contexte
Automatisation de l’infrastructure
Cloud souverain
“modèle de déploiement dans lequel l’hébergement et l’ensemble des traitements effectués sur des données par un service de cloud sont physiquement réalisés dans les limites du territoire national, par une entité de droit français et en application des lois et normes françaises”
Cloud de l’état : les technologies retenues à la fois en matière de cloud privé et public devront garantir la réversibilité, l’interopérabilité et la portabilité des applications.
Pourquoi
- Patriot act 2001
- Edward Snowden 2013
- Se protéger du cloud act 2018 :
- L’État américain a accès aux données hébergées par les clouds providers américains même hors du sol américain
Pour l’État, les collectivités et les sociétés françaises (espionnage) L’armée à probablement déjà ses trucs
Plan calcul Loi informatique et liberté 90s perte fondeurs et constructeurs
Un peu d’historique
Projet Andromède : Thales, dassault, Orange, Bull: 135 M€
Mais sort
- Numergy : dassault bull et Sfr
- Cloudwatt : Orange Thales
75 M€ chaque premier shot
GAIA-X : échelle européenne standards de sécurité, d’interopérabilité et de portabilité des données
Pendant ce temps-là
- OVH
- Clever Cloud
- Etc
Approche économique
Cloud de confiance
Protection contre réglementations extra communautaire
Le hard français, le soft américain
Ils ont le soft que l’on veut et que les gens utilisent vs Cloudwatt et Numergy
La certification et les petits éditeurs
Un cloud service est un cloud service est un cloud service
Quels sont les logiciels à enjeux :
- Mail, éditeur de Documents, tableur
- Progiciels
- Plateforme de développement de code spécifique
Bleu (licence Azure Orange + …)
Le point de vue de Quentin
C’est bien ou c’est pas bien cette stratégie ? Ça paraît pragmatique
Approche économique
https://cryptpad.fr/
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/
LCC 261 - Interview Doctolib avec David Gageot
Posté le 29/07/2021Guillaume et Antonio interviewent David Gageot à propos de Doctolib, l’entreprise, mais surtout ses différents produits, l’architecture et comment elle a géré la prise des rendez-vous pour les vaccins anti-covid.
Enregistré le 30 juin 2021
Téléchargement de l’épisode LesCastCodeurs-Episode-261.mp3
Interview
Ta vie, ton œuvre
Docker, Google, son arrivée chez Doctolib en octobre 2020.
Doctolib, l’entreprise
Les produits, les équipes, la distribution de l’entreprise, son organisation, le modèle business (licence vendue aux professionnels de la santé).
La sécurisation des données
End-to-End encryption pour les documents entre patients et médecins : ça veut dire que Doctolib techniquement ne peut pas lire les documents hébergés sur ses serveurs ? Mais comment ça marche, qui génère les clés de chiffrement, et où sont-elles stockées ?
Pourquoi AWS vs un OVH ou autre acteur français ? Ou un Google…
La stack technique
Le machine learning. Pourquoi ? Comment ?
Ruby on Rails, React, Postgres, S3…
Le sizing de l’infrastructure, 800 pods K8s qui font tourner le front Rails au-dessus d’une grosse base PostgreSQL
La méthode agile et l’organisation des développements pour cibler 3 déploiements par jour en moyenne.
CI sur 700 nœuds sur K8s avec de nombreux tests end-to-end. Feature-Flags sur les fonctionnalités.
La vaccination
Seulement 2 % de prises de rendez-vous pour les vaccins mais un public super exigeant.
Comment améliorer l’UX pour ce use-case spécifique ?
Quels ont été les défis de montée en charge pour les inscriptions ? Des flux anticipés, attendus, inattendus ?
L’impact de vite ma dose et tout l’écosystème qui s’est mis en place
Quelle est la relation avec vite ma dose ? Humaine, systèmes, etc. Impact des médias ? Impact de CovidTracker ?
Comment gérer la cohérence des données, la gestion des caches… ?
L’implantation de Doctolib
Quels secteurs (médecins généraux, kiné, hôpitaux) utilisent le plus Doctolib ?
Doctolib et l’administration française, la presse…
Comment s’est passé la relation avec l’administration ?
Comment gérer la tension sur des sujets importants comme la vie privée, la sécurité, la souveraineté…
Les questions des auditeurs
Que se passerait-il en cas de rachat ? Que deviendraient les données ?
Doctolib, la concurrence et le futur
En France, leader sur la prise de rendez-vous, mais en compétition sur de très nombreux autres produits (gestion de la patientèle…).
Tout reste à faire à l’étranger.
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/
LCC 260 - L'épisode généré par intelligence artificielle
Posté le 27/07/2021Antonio, Guillaume et Emmanuel discutent de pleins de choses dont des analyses de l’écosystème de la JVM, de la generation de code via intelligence Artificielle avec CoPilot, mais pas que.
Enregistré le 16 juillet 2021
Téléchargement de l’épisode LesCastCodeurs-Episode-260.mp3
News
Langages
Les prédictions d’Adam Bien pour la seconde moitié de 2021
- Kube a gagné la guerre. Les cloud providers fournissent des solutions dérivées plus simplifiées. La compatibilité kubernetes devient moins cruciale
- FaaS est utilisé pour son usage listener et point d’intégration et plus en général purpose tool
- Prix du cloud et repatriation. Bouger une app existante dans le cloud n’amène pas d’avantage. Le monolith devient une best practice
- Coût du cloud pousse a merger des microservices dans un cadre de cloud cost driven development
- Cloud deviennent intéressant pour les services uniques (text to speech, image recognition, etc). En parallèle la sécurité des cloud providers est reconnu. Donc boring load on prem, projects innovants dans le cloud.
- Serverless va être le trend de 2021 (fonction mais aussi db, workflow, event streams etc) idée est scale down to zero
- La montée des frameworks next gen Micronaut et Quarkus est indisputable. Build time deployment.
- La popularité de quarkus a explosé, difficile de trouver un développeur Java qui n’a pas expérimenté. Le cocktail GraalVM, API familières Jakarta EE et MicroProfile, sa do so mémoire et temps de démarrage lui donne un avantage. Mais la compétition ne dort pas (Helidon et micronaut)
- Moins de langages alternatifs parce que l’innovation dans Java a accéléré
- Lombok moins populaire parce que Java Records.
- Kafka sera plus un data store immuable et source de vérité qu’un remplacement pour JMS
- Kafka et réactive en combo va rendre la programmation réactive populaire
- Le projet Loom éliminera la programmation reactive pour les resources non-reactives
- ARM sur le serveur
- GraalVM pour remplacer OpenJDK car rapide et multi langage. Et competitor a GraalVM qui arrive
- Visual studio code et ses features pour Java pas forcément connu et donc va croître encore.
- Payara cloud serverless server ou l’app server est un opérateur Kube et on déploie un thin jar.
GraalVM offre des plugins Gradle et Maven pour la compilation native
- Tester les libraires en natif avec les tests JUnit 5 qui tournent en natif
- Après tourne les tests en JVM, ils sont loggués et ajoutés en réflexion et compilation native.
- Et un binaire de test est créé
- plugin Gradle
- License Oracle Universal Permissive
- probablement un dérivé de Universal Permissive License
Le rapport sur l’écosystème JVM par Snyk
- Sondage effectué durant six semaines (entre février et mars 2021) au prêt de 2000 développeurs et comparé à GitHub et Google Trends
- Mon (Emmanuel) intuition c’est qu’il y un biais dans les gens mesurés
- 44 % des Dev Java utilisent AdoptOpenJDK en prod. Oracle OpenJDK 28 et Oracle JDK 23 %
- 60 % utilisent Java 11 en prod, et 12 % la dernière. Mais encore 60 % de 8 en prod
- Java 91 %, kotlin 18 %, Groovy 13 % et Scala 10
- IntelliJ IDEA 70 %, Eclipse 25 %, et VSCode 23 %. 50 % sont bi-IDE
- Maven 76 %, Gradle 38 %, Ant 12 % yah
- Spring Boot 58 %, Spring MVC 29 %, Jakarta EE 13 % et Quarkus 11 %
Schedule :
- 2021/07/15 Rampdown Phase Two
- 2021/08/05 Initial Release Candidate
- 2021/08/19 Final Release Candidate
- 2021/09/14 General Availability
Features integrated in JDK 17:
- JEP 306: Restore Always-Strict Floating-Point Semantics
- JEP 356: Enhanced Pseudo-Random Number Generators
- JEP 382: New macOS Rendering Pipeline
- JEP 391: macOS/AArch64 Port
- JEP 398: Deprecate the Applet API for Removal
- JEP 403: Strongly Encapsulate JDK Internals (sauf pour
sun.misc.Unsafe
) - JEP 406: Pattern Matching for switch (Preview)
- JEP 407: Remove RMI Activation
- JEP 409: Sealed Classes
- JEP 410: Remove the Experimental AOT and JIT Compiler
- JEP 411: Deprecate the Security Manager for Removal
- JEP 412: Foreign Function & Memory API (Incubator)
- JEP 414: Vector API (Second Incubator)
- JEP 415: Context-Specific Deserialization Filters
Librairies
- Utilise Native testing de GraalVM
- Passe au plugin Gradle de l’équipe GraalVM
- Ahead of time proxies pour les classes
- Guide de migration mais les applis devraient essentiellement fonctionner (extensions ont plus de taf)
- JDK 11+ GraalVM 21.1
- Vert.x 4
- Microprofile 4
- Continuous testing : les tests impactes tournent automatiquement en Dev mode. Les tests qui cassent sur un changement sont visibles tout de suite et en continu. Comme infinitest mais sans plugin IDE.
- Quarkus a une CLI pour simplifier l’interaction vs les plugins Maven ou Gradle. Notamment création de projets.
- JDK 11+ GraalVM 21.1
- Vert.x 4
- Microprofile 4
- GraphQL client (smallrye), CDI decorators supportés, transaction pour MongoDB avec Panache,
- Support kotlin grandement amélioré : resteasy reactive, rest client, reactive messaging extensions supportent tous les coroutines
- Support d’Amazon services system manager
Crafting rolling releases for a Quarkus CLI application
- Y’a encore du chemin pour faire simplement des CLI avec graalVM en comparaison de go
- JReleaser outils permettant de livrer automatiquement des projets Java vers différentes plateformes (Homebrew, Snapcraft, Scoop)
- Inspiré de GoReleaser et jbang
- Le blog package l’outil
kcctl
créé par Gunnar avec JReleaser - Pas mal de conf (Windows vs Linux/MacOS) mais à la fin il y arrive
Infrastructure
Amazon sort son OpenSearch 1.0 et OpenSearch Dashboard, leur fork d’Elastic Search et Kibana
- 1.0 sortie de OpenSearch (GitHub)
- Suppression du code propriétaire
- Upgrading: mise a jour d’ElasticSearch et Kibana vers OpenSearch et OpenSearch Dashboard aussi simple qu’une mise a jour de version
- Compatibility : travaux de reflexion autour de la compatibilité avec les outils existants
- Testing: infrastructure de test moderne et flexible
- Supporte les architectures Linux ARM64
- Minimal artifacts for embedding of OpenSearch and OpenSearch Dashboards into existing products and services,
- Data stream support for OpenSearch Dashboards,
- Span attribute visibility and filtering in the Trace Analytics plugin,
- Scheduling and tenant support in the Reporting plugin.
- Aussi mentionne la roadmap
Kubernetes 1.22 enlève le support des vieilles versions de ressource
- Faites le ménage en continu pas des grosses migrations tous les 3 ans
- Release prévue en aout
- Ils vont supprimer des API qui étaient en beta
Cloud
Un tweet lance un faux service AWS InfiniDash qui a été repris par des devs et des boîtes
- La théorie est que la plupart des devs n’entendront parler de technologie que via les tweets et les articles.
- Aussi le métier de DevRel c’est de surfer la vague du social media. Les DevRels AWS ont continué la farce (je crois)
- Werner Vogels, oui pour sûr.
- gros effet boule de neige
Outillage
- IntelliSense boosté par les projets visible et hostés dans GitHub et autre données publiques
- via l’intelligence artificielle, essaie de comprendre l’intention via le contexte
- uniquement le fichier édité en contexte pour l’instant
- VSCode extension donc tourne partout où les plugins VSCode tournent
- 0,1 % de copie exacte
- le code nous appartient en tant qu’utilisateur
- le code contexte est transmis a GitHub qui l’utilise pour ses télémétries et améliorer les modèles ML
- pas toujours du code de qualité
- des secrets valides sont générés (du corpus original e.g. SendGrid)
- propose du code GPL (derivation?)
- attaque de sécurité vont venir :)
Audacity 3 spyware ou pas après le rachat
- la communauté “niveau 2” s’est emballée, a créé une dizaine de forks.
- C’était déjà annoncé et discuté avec la communauté Audacity.
- OS, pays, CPU, erreurs, rapports de crash
- Protection légale « law enforcement ». Les 13 ans, juste pour éviter des restrictions légales US
- 3.0.2 n’a pas le code des collections de données
- Avec feedback initial passe de Google Analytics à un hébergement propre.
- Quand compile le project c’est off par défaut (donc seuls les binaires distribués l’ont par défaut) donc pas dans les distros linux
Sécurité
LinkedIn la brèche qui donne des infos de 92% de ses utilisateurs y compris les salaires inférés
- API LinkedIn abusée.
- Email, noms, telephone et adresse physique de 700M d’utilisateurs
- Presque intéressé de fouiller pour voir mon salaire théorique :)
- Dispo sur le dark web
Loi, société et organisation
Lettre à ceux qui veulent faire tourner la France sur l’ordinateur de quelqu’un d’autre par Tariq Krim
- Télécharger l’ebook au format PDF. Très documenté et référencé
- Coulisses et manoeuvres pour installer les GAFAM au coeur de l’État
- 17 mai 2021, Bercy présente la nouvelle stratégie Cloud du Gouvernement
- GAM (Google Amazon Microsoft)
- À part OVH Cloud, aucun des acteurs français n’a été mentionné par les Ministres
- Les lois américaines dites FISA et Cloud Act permettent d’obliger les grandes sociétés US à fournir à la justice américaine les données situées sur leurs serveurs européens
- Si l’on met de côté les questions de souveraineté, les services de sociétés comme Amazon, Microsoft et Google sont très ergonomiques
- Les Américains offrent des services clé en main, les services “made in France” demandent de combiner plusieurs produits issus de sociétés différentes
- Apple, Google, Facebook, Amazon ont embauché des dizaines de milliers d’ingénieurs, dont de très talentueux Français
- Les clouds GAM pourraient décrocher le label SecNum Cloud (le plus haut niveau de sécurisation de l’État)
- Après avoir délocalisé notre industrie (le fameux “Fabless” de Serge Tchuruk ancien patron d’Alcatel), l’État et les grandes entreprises ont délocalisé leur informatique vers les grandes SSII qui se sont mises à produire des projets à la chaîne
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/
LCC 259 - Interview Software Heritage avec Roberto Di Cosmo et Charles Sabourdin
Posté le 08/07/2021Charles Sabourdin et Audrey interviewent Roberto Di Cosmo sur le projet Software Heritage, dont l’objectif est la collecte et la préservation des logiciels en tant que patrimoine culturel.
Enregistré le 22 Juin 2021
Téléchargement de l’épisode LesCastCodeurs-Episode-259.mp3
Interview
Ta vie, ton oeuvre
Ancien élève de la Scuola Normale Superiore de Pise, Roberto Di Cosmo a obtenu son doctorat en Informatique à l’Université de Pisa. Après avoir enseigné plusieurs années à l’École Normale Supérieure de Paris, il est devenu Professeur d’Informatique à l’Université Paris Diderot, où il a été directeur adjoint pour l’Informatique dans l’école doctorale ED 386 de 2005 à 2009. Président du conseil scientifique et du conseil d’administration d’IMDEA Software, membre du comité d’orientation pour la Science Ouverte en France, il est actuellement détaché chez Inria.
Il a une longue histoire de contributions à la recherche en Informatique, dans des domaines allant de la réécriture à la logique et de la programmation fonctionnelle à la programmation parallèle. Il s’intéresse maintenant aux problèmes nouveaux posés par l’essor du Logiciel Libre, et en particulier à l’analyse statique de grandes masses de code. Il a publié plus de 20 articles dans des revues internationales, et 50 articles dans des conférences internationales.
En 2008, il a créé et coordonné le projet de recherche européen Mancoosi, avec un budget de 4.4Me et 10 partenaires réunis pour travailler à améliorer la qualité des systèmes logiciels à base de paquets.
Suivant de près l’impact de l’Informatique sur la société, il prône depuis longtemps l’adoption du Logiciel Libre, notamment à partir de la publication de son best-seller Le Hold-Up Planétaire en 1998; plus récemment, il s’est intéressé aux questions soulevées par la problématique de la rémunération des artistes à l’ère d’Internet, avec l’ouvrage Manifeste Pour Une Création Artistique Libre Dans Un Internet Libre.
Il a créé le Groupe Thématique Logiciel Libre dans le Pole de compétitivité Systematic à Paris, qui a financé plus de 40 projets de R&D depuis 2007, et il dirige depuis 2010 l’IRILL, une structure de recherche de pointe sur le Logiciel Libre.
En 2015, il a été à l’origine de Software Heritage, une initiative qu’il dirige et qui vise à construire l’archive universelle de tout le code source publiquement disponible, en partenariat avec l’UNESCO.
Software Heritage
- origine de l’initiative
- comment gérez-vous les problématiques de licence ?
- ne sauvez-vous que des codes opensource ?
En pratique
- qu’est-ce qui est conservé ?
- quel type d’intégration (build, test unitaire…) avec quelle fréquence
- les soucis d’encodage ?
- les soucis d’architecture ?
- les soucis de licences ?
- sur l’infrastructure ?
- combien de serveur, dans combien de datacenter ?
- quel type de code ?
- quel composant utiliser/réutiliser ?
- combien de serveur, dans combien de datacenter ?
- un outil de recherche ?
- les tendances, les connaissances(bonnes pratiques, …)
- le KWC
Conclusion
- objectifs futurs
- comment aider
- une communauté ?
- des outils ?
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/
LCC 258 - Les mineurs de fond
Posté le 16/06/2021Arnaud, Antonio et Emmanuel discutent des actus du développeur en cette période pré-estivale. Du Spring Boot, du Hibernate, du Vert.x, du web qui tombe, du Gradle 7, des mineurs et des méthodologies autour des pull-requests.
Enregistré le 11 juin 2021
Téléchargement de l’épisode LesCastCodeurs-Episode-258.mp3
News
Langages
- Un interpréter Java en Java
- Plus simple a debugger
- Avant ils utilisaient hotspot
- Reste projet
- Java en tant que container de javas
- Mélanger ahead of time et classique Java
Librairies
- Support for Java 16
- Support for Gradle 7
- Enhanced Docker image building
- New mechanism for Datasource initialisation pour préparer R2DBC
- Les dépendances mises à jour (Spring data, hateoas’ spring Kafka et)
- En gros rien de révolutionnaire, beaucoup de mise à jour et du nettoyage
- Première sortie
- Ça ne nous rajeuni pas
- Reactive Microsoft SQLServer driver
- Vert.x HTTP proxy plutôt que de l’écrire soit même
- RxJava 3
- OpenTelemetry tracing
- Plus conforme à OAuth2 et OIDC
- Kotlin 1.5
- Flexibilité dans la configuration de pools (plusieurs event loops par pool, waiter cancellation, lock free impl, etc
- Web session stockée dans Infinispan
- Et plus au niveau sécurité, openapi, service proxy
Infrastructure
Un problème chez Fastly et l’internet tousse
- Fastly est un CDN
- héberge beaucoup d’artefacts de type NPM, Maven, JS resources etc
- consequence : sites defacés par manque de CSS ou JS, voir HTTP pages non accessibles
- bug déclenché par une config client => fait tomber 85 % du réseau
Cloud
- Et le défaut était très bien caché. Les experts AWS n’avaient pas fait gaffe
- C’était légal mais en tout petit dans les conventions
- Différence entre télémétrie et les données en propre en général. Pas pour les iA ;)
- Les services impacté AWS Terms 50.3 mention CodeGuru Profiler, Lex, Polly, Rekognition, Textract, Transcribe, and Translate. 60.4 also mentions this for SageMaker. 75.3 mentions this for Fraud Detector. 76.2 mentions this for Mechanical Turk and Augment AI.
Web
Vers un système unique et une API commune pour les extensions dans les navigateurs
- Des gens de Apple (Safari), Google (Chrome), Microsoft (Edge) et Mozilla (Firefox) vont collaborer ensemble, au sein du WECG
- Web extensions community group
- Base sur le travail de safari de supporter les extensions des autres navigateurs
- On a vu des défis et réduction de possibilités pour contrôler la sécurité et le tracking
- De toute façon tout le monde est sur Chromium haha
Outillage
Gradle 7 est sorti et Cédric nous fait un crowdcast
- D’ailleurs, Cédric quitte Gradle Inc après des années de bons et loyaux services
Prosus achète Stack Overflow pour 1,8 milliards
- Prosus avait déjà des parts dans des entreprises type Codeacademy, et Udemy, dans l’EDU/tech
- StackOverflow commence en 2008
- Migration vers SaaS d StackOverflow intéresse Prosus
- Jobs 50% du revenu
- Team collaboration tool bonne croissance
- C’est stackoverflow pour les équipes internes
docker hub autobuild, les crypto mineurs m’ont tué.
En avril, nous avons vu le nombre d’heures de construction augmenter de 2 fois notre charge habituelle et à la fin du mois, nous avions déjà désactivé ~ 10 000 comptes en raison d’abus de minage. La semaine suivante, nous avons eu environ 2 200 mineurs supplémentaires.
- Il faut contacter Docker pour les projets OSS de bonne volonté qui ont besoin de ce service
Méthodologies
Le temps moyen de PR entre Stripe et Mozilla
- Des jours à attendre le feedback vs 10 minutes
- C’est un débat assez fondamental je trouve. Comment organiser les équipes pour que les PR soient vues comme la chose importante. Plus que « le code ».
- Différence Service vs product
Loi, société et organisation
Un article de rappel sur la copie privée
- Copie privée basse sur les cassettes et VHS. Ensuite le stockage numérique explose
- 270 millions d’euros en France en 2017
- Une commission administrative fixe les règles. Composée. de 6 usagers, 6 vendeurs de stockage, 12 ayants droit et un président au droit de vote et pro ayant droit. Rapport de force clair
- Ils essayent de construire la vache à lait : prix basé sur la copie licite ou pas (cassé en 2008) ensuite argument de compression pour garder le barème haut
- En théorie que pour les particuliers et procédure de remboursement pour les pros. Mais difficile à appliquer donc quasi jamais fait.
- 25 % des gains financent des festivals et manifestations culturelles : instrument d’influence des élus locaux et pas si locaux
- Efforts pour taper sur tous les disques durs nus, faire entrer dans le champ le stream ripping
- Et maintenant la copie privée sur la vente d’occasion. La grande classe.
- Risque pour l’économie solidaire qui sont sur des populations fragiles
- Le sénat veut favoriser l’écologie de la seconde main et serait pour l’exclusion de la taxe dans ce cas-là.
- Les smartphones c’est 70 % de leurs revenus
Outils de l’épisode
Google ZX pour écrire des scripts en JavaScript
Conférences
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/
LCC 257 - Interview Java 16 avec José Paumard et Henri Tremblay - partie 2
Posté le 07/06/2021José (maintenant Java Advocate chez Oracle - le cachotier) et Henri échangent avec Emmanuel sur la sortie de Java 16. Cette deuxième partie voit l’équipe discuter de la propriété illegal access (JEP 396), de l’API vectorielle, de la foreign linker API et d’autres choses.
Enregistré le 8 avril 2021
Téléchargement de l’épisode LesCastCodeurs-Episode-257.mp3
Interview
Ta vie, ton oeuvre
Illegal access pass en deny par défaut (Henri)
JEP 396 (encapsulation force des parties internes du JDK).
FEATURE Make Lombok compatible with JDK 16 · Issue #2681 · rzwitserloot/lombok · GitHub
API vecteur
Les Vector
sont de retour ?!
Discussion autour du parallélisme au niveau CPU — Simple Instruction Multiple Data
Foreign Linker API
Pour projet Panama
Lier une méthode native avec du code Java
Du coup on a aussi un foreign memory access API ?
Project panama and jextract – Inside.java Jextract genera le code Java à partir du fichier de declaration C.
JVM sur d’autres plateformes
Alpine Linux et Musl
AArch64 (ARM) sous Windows
ZGC
Move ZGC thread-stack processing from safepoints to a concurrent phase.
Autres
- Mercurial -> git
- Return unused HotSpot class-metadata (i.e., metaspace) memory to the operating system more promptly, reduce metaspace footprint, and simplify the metaspace code in order to reduce maintenance costs.
Bonus Java 15
Shenandoah
Text blocks
Plus de Nashorn
Une discussion autour de GraalVM
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/
LCC 256 - jTerrasse
Posté le 24/05/2021Antonio 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/
LCC 255 - Interview Java 16 avec José Paumard et Henri Tremblay - partie 1
Posté le 10/05/2021José (maintenant Java Advocate chez Oracle – le cachotier) et Henri échangent avec Emmanuel sur la sortie de Java 16. Cette première partie couvre l’introduction, les records, le pattern matching, les sealed class, les hidden classes et le créateur d’installeur jpackage. La suite au prochain numéro.
Enregistré le 8 avril 2021
Téléchargement de l’épisode LesCastCodeurs-Episode-255.mp3
Interview
Ta vie, ton oeuvre
Java et sa cadence de release
Retour général sur la cadence de release: bien ou mal ?
Java 16
JDK 16
JDK 16 Arrived : Java 16 Released with New Features | TechGeekNext »
Records
Pattern matching
instanceof
Autres pattern patching qui sont arrivés?
Sealed classes (preview)
C’est quoi ?
Ça sert à quoi ?
Et les hidden classes ?
Un petit détour par le mégamorphisme
jpackage
Construire des installeurs d’applications Java
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/
LCC 254 - Fission acquisition
Posté le 20/04/2021Arnaud et Emmanuel discutent la sortie de Java 16, diverses distributions d’OpenJDK, des outils comme JHipster, JReleaser, la décision de la court suprême dans le procès des API Java entre Google et Oracle et le refactoring de Michael Dell avec la cession de VMWare.
Enregistré le 16 avril 2021
Téléchargement de l’épisode LesCastCodeurs-Episode-254.mp3
News
Langages
- La version longue des release notes
- Les fonctionnalités préférées des Java Champion
- Lombok en conflit avec openJDK sur –add-open
La plateforme Java moderne de 2021, selon James Ward
- James parle de Java la plateforme, donc y compris ses langages alternatifs, en particulier Kotlin et Scala dont il est fan
- Java a l’avantage d’avoir un outillage moderne, aussi bien niveau IDE (Intellij, VS code…) que des librairies de tests (Java, Testcontainers…)
- Pour les frameworks les plus utilisés, évidemment Spring vient en tête, mais il mentionne aussi Micronaut (avec l’injection de dépendance à la compilation) et Quarkus (avec son focus sur l’expérience développeur)
- James fait la part belle à l’approche “reactive”, en mentionnant par exemple les drivers de base de données R2DBC
- Pour continuer sur le thème réactif, il mentionne aussi le reactive streaming (au-dessus de Kafka par exemple), mais il parle aussi de CQRS et Event Sourcing, mais aussi les CRDTs
- Niveau conteneurisation, il cite les initiatives comme Jib, les cloud native Buildpacks, ou les images Distroless, pour faciliter et simplifier le packaging d’applis Java pour les environnements à base de conteneurs
- Côté “serverless”, James évoque GraalVM, pour transformer les applis Java en native, pour gagner en temps de premier chargement (le cold start, fréquent dans les environnements serverless)
- (Il aurait pu mentionner les approches comme Micronaut avec l’injection de dépendance à la compilation qui éviter une bonne partie du coût de démarrage du framework sous-jacent et diminue donc le cold start)
53 librairies Java pour résoudre vos problèmes
- Max Andersen avait demandé sur Twitter de donner des librairies Java utiles et pratiques qui résolvaient des problèmes concrets, Emmanuel a compilé la liste
- avec des librairies pour parser / générer du code Java, des structures de données, de conversion de format, pour parser des formats de données, pour le web aussi bien en tant que serveur que pour faire des requêtes, pour les tests de toutes sortes
La migration d’AdoptOpenJDK vers Eclipse Adoptium a commencé
Microsoft annonce sa distribution d’AdoptOpenJDK
- LTS gratuite et “sans coût”
- Support au sens patch jusqu’en 2024 de 11
- Utilisent en interne pour leurs clients et pour eux
- Ont aussi une version java 16 arm en preview
- utilise les tests adoptium
- ça peut dévier d’OpenDJK en termes de patchs
- Eclipse Adoptium pour Java 8
- docker image bientôt
- Azul vient de perdre un client
Librairies
Spring-Boot client app to access an Auth0 protected service (JWT).
JHipster release v7.0.0
Outils
Andrés Almiray annonce la release de… JReleaser, un projet qui permet de facilement livrer un projet Java sur des plateformes comme Homebrew, Snapcraft, Scoop, ou des registries de conteneurs.
Cloud
AWS announce OpenSearch, une communauté qui forke ElasticSearch et Kibana
- OpenSearch (derived from Elasticsearch 7.10.2) and OpenSearch Dashboards (derived from Kibana 7.10.2)
- ASL 2.0
- marque OpenSearch avec usage permissif
- Amazon OpenSearch Service
- Red Hat, SAP, Capital One, and Logz.io
- réutilise la marque OpenSearch que Amazon avait avant pour autre chose
Infrastructure
Pourquoi tous mes serveurs ont un fichier vide de 8 Go?
- rien de pire qu’un linux ou macOS avec zero espace disque, ca part en sucette
- donc 8 Go pour se donner du temps
- ca touche mon égo de développeur cette solution :)
Docker Desktop for Apple Silicon en preview
- ils offrent une alternative au framework de virt d’Apple qui tourne sur QEMU
- utilise encore rosetta 2 vu qu’il y a des libs qui utilisent encore Intel
- fait tourner les images ARM, et sinon ajouter la plateforme AMD64 mais les images AMD crashent QEMU parfois
- pour QEMU: “ping from inside a container to the Internet does not work as expected.” LOL
Levée de fond de 23 millions de dollar pour Docker
- Série B, ahahah
- Dégagement de fumée de 300 batteries de 25 kg
- Sgb1 et 3 coupés temporairement
Loi, société et organisation
Google chrome révèle le type de données collectées attachées à l’utilisateur. ( + Google Chrome 90 )
- Beaucoup plus important que Firefox ou Safari.
- Google a mis longtemps avant de donner ces infos.
- après c’est la course au nombre et beaucoup sont poussées par des fonctionnalités mais cela montre l’approche philosophique différente.
- Chrome acte comme un super-cookie.
- j’ai mis edge par défaut sur l’ordi de mon père
Fin du procès Oracle vs Google
- les API ne sont pas copyrightable
- Pas exactement. Ils disent que dans le cas de Google vs Oracle, c’est ok parce que les API sont devenues des choses familières aux développeurs et donc que dans ce cas c’est ok. Ils ne se positionnent pas exactement sur API vs implementation
- Que les API comme ça s’éloignent du cœur de la notion de copyright. Concept intéressant. Et d’où la notion de fair use.
- Mais ça dépend de comment le code est fait et utilisé
- “When a new interface, like an API or a spreadsheet program, first comes on the market, it may attract new users because of its expressive qualities, such as a better visual screen or because of its superior functionality. As time passes, however, it may be valuable for a different reason, namely, because users, including programmers, are just used to it. They have already learned how to work with it.”
Microsoft a regardé ses employés remote et c’est pas beau
- +52 % de messageries instantanées entre minuit et 6 heures
- 61 % des leaders sont super-efficaces vs 38 % pour les non leaders
- Moins de chances de voir les problèmes en remote
- 37 % pensent que la société les fait travailler trop dur et 41 % cherchent un nouvel employé
- consider how to reduce employee workloads, embrace a balance of synchronous and asynchronous collaboration, and create a culture where breaks are encouraged and respected
- Encourager les coupures y compris les vacances
- vente des 80 % détenus
- pour rembourser sa dette
- indépendance mieux pour les deux sociétés
- “stimuler l’innovation et préserver les synergies”
Conférences
Mix-IT (virtuel) les 18, 19 et 20 mai 2021
- 10 talks de 30 mn + 20mn de Q&A + 10 mn de pause
https://www.devoxx.fr/2021/02/25/preparation-du-programme-de-ledition-2021/
- reprend une partie du CfP de l’année dernière.
Outils de l’épisode
Pourquoi les prix d’AWS lambda sont trop élevés pour du batch
topgrade pour mettre à jour tous vos systèmes de packages. asdf pour gérer facilement différentes versions de vos outils en lignes de commande (java, maven, gradle, kubectl, help, …..).
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/