Cet épisode parle du coronavirus, des conférences annulées, de la popularité des langages, de GraphQL, de Ghostcat et pleins d’autres choses encore. L’intro date un peu : les infos sur le coronavirus étant encore plus fréquentes que les nouveaux frameworks JavaScript.

Enregistré le 13 mars 2020

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

News

Corona virus

Les actions des grosses boites

  • pas de meeting
  • conf annulées
  • limite du travail au bureau

Langages

RedMonk ranking - Le langage au top est…

  • JavaScript Python Java
  • Typescript dans le top 10
  • R monte
  • Rust stable comme Go (+1)
  • Kotlin 19, Scala 13

InfoQ meta sondage

  • Java 8 le plus déployé en prod, 25 % Java 11 et non LTS derrière
  • Spring 60-80 %
  • IntelliJ 60-80 %, Eclipse 20-25 %
  • maven vs Gradle 66-33 ou 50-50

Sondage sur Scala

Scala.js 1.0.0

  • 7 ans de dev
  • not binary compatible with 0.6 nor 1.0RCx
  • Écrire en scala des applications front
  • interop avec les libraries JavaScript

GraalVM se dote d’un advisory board

  • Gluon, Red Hat, Amazon, Microdoc, Shopify, Twitter, OCI, Neo4J, Pivotal, ARM et Oracle bien sûr

Gros round d’investissement dans Azul

  • investissement / achat: 340 M$

Librairies

Eclipse MicroProfile GraphQL 1.0

  • GraphQL : spec pour généraliser les endpoints en leur donnant de la flexibilité en termes de requêtage et graph retourné
  • make GraphSQL schema available
  • execute GraphQL requests
  • code first approach

Apache Camel 3.1 et 3.0 déprécié
Le guide de migration de Camel

  • amélioration de mémoire

Lightbend reçoit 25M d’investissement

  • de Dell capital
  • pour la partie reactive
  • spécifiquement pour le “serverless”
  • pas de mention de Scala

OPTIONNEL LightBend - Article sur pourquoi une architecture reactive est importante pour le cloud native

  • bonne piqure de rappel
  • data localisée par microservice
  • les avantages des systèmes event based

Middleware

ElasticSearch en prod, les choses a savoir

Infrastructure

La M&A de have i been p0wned: l’histoire de l’abandon

  • societe KPMG
  • due diligence
  • des milliards de questions
  • les doutes
  • exclusivité
  • le risque du changement de stratégie

Cloud

Les gens râlent car les clusters GKE vont avoir un cout de management de 10c/heure, ce qui change la relation du cluster au développeur (nombre de clusters en parallèle)
Une comparaison des prix des clusters en fonction de leur taille et de leur host provider

Amazon annonce Bottlerocket

  • Mise a jour par image recrée plutôt que par package mis a jour
  • plus immuable et donc facile en rollback
  • par contre chaque host goes down et up
  • si orchestrateur c’est ok

Outillage

IntelliJ Big Data Tools

  • un IDE pour le big data !
  • deja integration avec Zeppelin S3
  • nouveau Spark, HDFS, Paquet

Architecture

Les systèmes simples ont moins de downtime

  • facile à comprendre, facile à corriger
  • plus rapide de monter en competence
  • trouver la cause est plus rapide
  • solutions simples, plus d’alternatives disponibles
  • règles : les fonctionnalités ne justifient pas la complexité, les idées complexes amènent des implémentations complexes, modifier avant d’ajouter
  • challenge de l’automation pour faire avec moins de gens ?

OPTIONNEL 11 raisons pour lesquelles vous allez rater vos microservices

  • voir les titres de section

OPTIONNEL Retour d’expérience sur l’usage incorrect d’un outil bloom filters

  • problème idéal pour bloom filters
  • mais suspicieusement plus long que prévu
  • profilers
  • random access memory » sequential reading (trop grand pour L3)
  • alternative plus simple qui réduit le nombre le chargement memoire, pas la conso memoire

Méthodologies

Les trains de merge

  • rebasing, la course au collègue
  • garder master green pour la CD
  • impossible de faire trop de merge en parallèle ou doit faire pleins de rebase
  • merge train séquentialise et batch les merges

Retour sur le modèle GitFlow

  • pas intuitif (merge bidirectionnels dans le temps entre develop, feature branch, release branch, hotfix et master) et cout cognitif haut
  • risque grandi de merge conflit
  • peut pas rebaser
  • continuous delivery != trop de barrières
  • en cas de repos multiples ou mono repos, impossible a gérer (microservices)
  • ok pour des cycles de release par trimestre avec des équipes sur des releases en parallèle

Mesure de la complexité de code: une meilleure mesure

  • cyclomatic complexité est un mauvais oracle de la complexité de code
  • les logiques conditionnelles emboîtées utilisent notre mémoire de travail (~indentation)
  • les fonctions avec des dos d’ânes d’indentation multiples sont les pires
  • refactorer pour externaliser chaque

Dans Sonarqube cela s’appelle Cognitive Complexity. Voici un exemple sur du code XWiki ou l’on voit très bien visuellement ce que cela veut dire : https://sonarcloud.io/project/issues?id=org.xwiki.commons%3Axwiki-commons&issues=AWzY6RXo8pMOHxUYvkyE&open=AWzY6RXo8pMOHxUYvkyE

Sécurité

Ghostcat: la faille dans Tomcat de 6 à 9

  • dans le protocole Apache JServ (implicitement trusté par Tomcat (cs une requête)
  • peut lire le contenu des web apps
  • si la webapp peut uploader => activer un remote execution
  • upgrader Tomcat 7, 8, 9, si 6, vous êtes dans la merde
  • attention Tomcat est embarqué dans pleins d’outils comme Wildfly, Spring Boot etc

Letencrypt révoque 3 millions de certs a multiples domaines

Loi, société et organisation

Amicus brief sur le copyright d’API par IBM et Red Hat

  • computer interfaces ne sont pas copyrightable
  • moteur de l’économie du logiciel
  • va être entendu au printemps

Amicus brief de chercheurs attaqué par Oracle

  • payés par Google

OPTIONNEL Les hackers de Equifax condamnés pour crime

  • DOJ charge 4 militaires Chinois
  • Struts CVE

Rubrique débutant

La tonte de Yak appliquée à Donald Knuth

  • écrire un livre
  • écrire un programme pour écrire un livre
  • invente un langage de programmation pour écrire le programme
  • invente un mode de pagination
  • design une police de caractère
  • écrit un outil pour construire les polices de caractère
  • invente un système de version pour son programme
  • implémente un langage d’abstraction maison pour les documents imprimés

Conférences

ANNULÉ - Breizhcamp du 25 au 27 mars 2020
ANNULÉ - MiXiT du 29 au 30 avril 2020
VIRTUEL - GitHub Satellite les 6 et 7 mai
ANNULÉ - RivieraDev du 13 au 15 mai 2020
Devoxx UK du 13 au 15 mai 2020
NewCrafts les 28 et 29 mai 2020
AlpesCraft les 4 et 5 juin 2020
ANNULÉ - Best of Web les 4 et 5 juin 2020
DevFest Lille le 12 juin 2020 - (Le CFP est ouvert)
Voxxed Days Luxembourg du 17 au 19 juin 2020
ANNULÉ - Serverless Days Paris le 1 juillet 2020
NOUVELLE DATE - Devoxx France du 1 au 3 juillet 2020
Sunny Tech les 2 et 3 juillet 2020

Et encore plus sur Developers Conferences Agenda/List ….
Liste d’Aurélie

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/