Artwork

Contenu fourni par Emmanuel Bernard, Guillaume Laforge, Vincent Massol, Antonio Goncalves, Arnaud Héritier, Emmanuel Bernard, Guillaume Laforge, Vincent Massol, Antonio Goncalves, and Arnaud Héritier. Tout le contenu du podcast, y compris les épisodes, les graphiques et les descriptions de podcast, est téléchargé et fourni directement par Emmanuel Bernard, Guillaume Laforge, Vincent Massol, Antonio Goncalves, Arnaud Héritier, Emmanuel Bernard, Guillaume Laforge, Vincent Massol, Antonio Goncalves, and Arnaud Héritier ou son partenaire de plateforme de podcast. Si vous pensez que quelqu'un utilise votre œuvre protégée sans votre autorisation, vous pouvez suivre le processus décrit ici https://fr.player.fm/legal.
Player FM - Application Podcast
Mettez-vous hors ligne avec l'application Player FM !

LCC 289 - La revanche des dinosaures

1:31:30
 
Partager
 

Manage episode 349385237 series 43620
Contenu fourni par Emmanuel Bernard, Guillaume Laforge, Vincent Massol, Antonio Goncalves, Arnaud Héritier, Emmanuel Bernard, Guillaume Laforge, Vincent Massol, Antonio Goncalves, and Arnaud Héritier. Tout le contenu du podcast, y compris les épisodes, les graphiques et les descriptions de podcast, est téléchargé et fourni directement par Emmanuel Bernard, Guillaume Laforge, Vincent Massol, Antonio Goncalves, Arnaud Héritier, Emmanuel Bernard, Guillaume Laforge, Vincent Massol, Antonio Goncalves, and Arnaud Héritier ou son partenaire de plateforme de podcast. Si vous pensez que quelqu'un utilise votre œuvre protégée sans votre autorisation, vous pouvez suivre le processus décrit ici https://fr.player.fm/legal.

Guillaume et Emmanuel discutent les nouvelles de novembre décembre: spring boot 3, AWS SnapStart, GitHub Copilot en procès… Et aussi des articles de fond: performance, SRE et l’auto résilience, comment utiliser Git, le Devops pour les décideurs, l’age et la tech et d’autres sujets encore. Résumé

Enregistré le 9 décembre 2022

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

News Langages

Comment choisir ses collections ? Entre les différentes listes, maps, queues, etc. https://www.baeldung.com/java-choose-list-set-queue-map

  • un bon rappel des fonctionalités des différentes collections (discuter le diagramme de choix)
  • et un bon rappel des ordres de grandeur d’insertion, de lecture etc
  • Attention o(n) ne veut pas dire plus lent que o(1), ca veut dire que ca scale linéraiement
  • Tester avec le volume attendu de données
  • Un bon viel Object[] et le traverser à chqaue fois peut etre bien plus efficace (moins gourmand en structure memoire, moins de jump memoire, etc)
Librairies

Spring Boot 3 est sorti https://spring.io/blog/2022/11/24/spring-boot–3–0-goes-ga

  • Java 17 de base
  • Support de GraalVM Native Image (au lieu de l’ancienne expérimentation de Spring Native)
  • Amélioration de la traçabilité avec Micrometer et Micrometer Tracing
  • JakartaEE 9 minimum et support de JakartaEE 10

Quarkus est 600 fois plus lent qu’un compétiteur, ou pas https://t.co/1c2sFSY9sE

  • discute le lien entre les résultats et l’environnement
  • Une erreur de code initiale
  • Puis une erreur de limite de système ou deux
  • Pour arriver au résultat
  • Bon retour sur l’approche méthodologique

Spring vault 3 https://spring.io/blog/2022/11/28/spring-vault–3–0-goes-ga

  • Java 17
  • Plus de clients supportés comme le client jtm réactif du jdk
  • Support du versionage des mots de passe pour les vaults clé valeur
Cloud

Mais pourquoi Twitter tourne t’il toujours malgré toutes les personnes renvoyées ? https://matthewtejo.substack.com/p/why-twitter-didnt-go-down-from-a

  • Grâce au long travail de SRE, de mise en place d’auto-réparation, de cache, de monitoring, de sur-provisioning. Donc beaucoup d’automatisation pour faire en sorte que le tout fonctionne “presque” tout seul sans trop d’intervention humaine.
  • C’est un article écrit par un des SRE qui travaillait en particulier sur le cache de Twitter.

GitHub passe à un versioning par date de son API REST https://github.blog/2022–11–28-to-infinity-and-beyond-enabling-the-future-of-githubs-rest-api-with-api-versioning/

  • au lieu de continuer avec une v4, v5, etc, utilisation de date comme 2022–12–25
  • chacune de ses versions seraient supportées a minima 2 ans
  • on peut spécifier la version avec un header HTTP spécial
  • pas de changement pour l’API GraphQL par contre
  • Stripes va encore plus loin en se rappelant la version utilisée au premier appel et le fixe par defaut
  • Les appels sans version explicite utilisent celle là, et on peut la faire evoluer

Amazon SnapStart pour lambda https://aws.amazon.com/blogs/aws/new-accelerate-your-lambda-functions-with-lambda-snapstart/

Outillage

Petit tip Git de Minko Gechev (monsieur Angular) https://twitter.com/mgechev/status/1594758205237706752

  • On peut faire un git clone [repo] —depth 1 pour dire qu’on ne veut que la dernière révision, et non pas tout l’historique du repo
  • C’est pratique en particulier en CI pour gagner du temps lorsqu’on a un gros repo avec beaucoup de révisions

Si vous luttez toujours avec git ce guide très détaillé peut vous aider. https://github.com/k88hudson/git-flight-rules

Faire tourner ses Github Actions en local avec le projet open source Act https://github.com/nektos/act

  • Pratique de vérifier en local le fonctionnement de son pipeline avant de le pousser sur Github en prod
  • Utilise Docker sous le capot pour faire tourner chaque étape
  • peut marcher sur podman mais pas garanti pour l’instant

Comment transformer n’importe quel site web ou webapp en application autonome https://glaforge.appspot.com/article/turning-a-website-into-a-desktop-application

  • utilisation d’une fonctionnalité de Chrome : création de raccourci avec ouverture dans une fenêtre “sans chrome”
  • fonctionne sur tous les OS
  • utilise le favicon comme icône pour l’application
  • le site web se retrouve dans votre barre des tâches comme une application normale, et on peut faire un ALT/CMD-Tab pour aller vers son application, etc.
Architecture

Six patterns pour les architectures event driven https://medium.com/wix-engineering/6-event-driven-architecture-patterns-part–1–93758b253f47

  • de Wix
  • Trois patterns dans cet article
  • Consume and project : vue dematerialisee copie des données chaudes consommées par beaucoup. Et ces vues sont focalisées sur un consommateur. Kafka et CDC au milieu pour découpler
  • Event driven de bout en bout : websocket utilise pour envoyer les demandes. Le web stocket serveur copie dans Kafka. Ces consommateurs font le job et un message est envoyé via le web socket serveur. Résilience, découplage
  • K/V store: et en m’articuler avec kafka qui permet d’être consommé en k/v basse latence et en consommation d’évènement
  • Peut être intéressant mais pas si simple a comprendre les usage dans cet article
Méthodologies

Un article sur quoi et pourquoi le DevOps (en fait englobant les bonnes pratiques du moment) https://enix.io/fr/blog/devops-benefices-difficultes/

  • les tech ne vont pas apprendre grand chose
  • mais c’est un article pour les managers ou plutot les execs pour les aider à voir la valeur
  • souvent plus facile de montrer la valeur par du contenu exterieur a l’entreprise percu comme neutre
  • autres articles sur Kubernetes pour les execs https://enix.io/fr/blog/kubernetes-benefices-difficultes/

Amazon et la methode “working backwards” pour un produit https://www.productplan.com/glossary/working-backward-amazon-method/

  • imagine le produit pret a etre releasé
  • ecrire la press release
  • evaluer l’opportunité (doit-on le construire)
  • découvrir les solution pour le faire et avoir l’appriobation des décideurs
  • construire la roadmap
  • construire le backlog
Sécurité

1.5 million de lignes de code dans Android sont maintenant en Rust https://security.googleblog.com/2022/12/memory-safe-languages-in-android–13.html?m=1

  • de plus en plus de code memory safe (Java, Kotlin, Rust)
  • Mais la majorité de nouveau code reste quand meme Java et C++
  • Et une correlation de baisse de vulnerabilités liées a la sureté de mémoire (moins de code de programme memory unsafe)
  • Ou maturation du code avec moins de vuln?
  • Autres efforts: outils de securisation de la memoire en C/C++, fuzzing
  • Zero vuln memoire dans le code rust en 2 ans et en moyenne 1 / kLOC dans le code historique)
  • Java -> JNI, Rust - unsafe {} pour les accès resource
Loi, société et organisation

Les dinosaures de la tech commencent à 40 ans? https://www.linkedin.com/pulse/non-nous-ne-sommes-pas-des-dinosaures-de-la-tech-pass%C3%A9-ramade/

  • Commentaire intéressant de Benjamin Marron qui explique “s’être restreint aux technos de son coeur d’activité car trop de veille technologique hétérogène l’avait épuisé et avait renforcé son sentiment d’être complètement obsolète et dépassé” https://twitter.com/bmarron/status/1596136098828148736
  • âge median des devs entre 28 et 31 ans chez Google ms Facebook
  • Mais 50 ans c’est 30% de la force de travail
  • Avantages seniors
  • Expérience
  • Mentorat (comm, interaction interpersonnelle, (atlassian un 40 ans dans chaque équipe
  • rétention Moins de changement de travail tous les 3 ans
  • Flexibilité : les vieux ont leurs enfants partis
  • Aide à faire des produites pour les personnes de même âge
  • pas souvent dans les politiques de DE&I

GitHub copilot menacé par un procès https://www.infoq.com/news/2022/11/lawsuit-github-copilot/?utm_source=twitter&utm_medium=link&utm_campaign=calendar

  • aux États Unis
  • Class action contre copilot GitHub, ms et OpenAI
  • Violation de copyright et notamment des licenses open source
  • Hypothèse est que humain ou AI, même responsabilité face à la license
  • Discussion autour de fair use vs rupture de contrat DMCA etc
  • Piratage de logiciel à une échelle sans précédant
  • Pour avoir des conséquences fortes sur l’IA et son utilisation des sources ouvertes pour construire du contenu
  • Et Antonio va devoir recorder à la main
Rubrique débutant

Différentes méthodes d’interpolation des chaines en Java https://www.baeldung.com/java-string-interpolation

  • la concatenation avec +
  • la methode format() souvent intimidante mais plus optimisée et sure
  • StringBuilder le plus flexible notamment dans les cas de if et autre variations mais moins sur que format. et plus rapide
  • MessageFormat pour les chaines de caractère utilisateur (multi langage)
  • Apache Commons (pas sur qu’il y ait beaucoup d’usage dans les JDK modernes
Conférences

La liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs :

Nous contacter

Pour réagir à cet épisode, venez discuter sur le groupe Google https://groups.google.com/group/lescastcodeurs

Contactez-nous via twitter https://twitter.com/lescastcodeurs Faire un crowdcast ou une crowdquestion Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs Tous les épisodes et toutes les infos sur https://lescastcodeurs.com/

  continue reading

308 episodes

Artwork
iconPartager
 
Manage episode 349385237 series 43620
Contenu fourni par Emmanuel Bernard, Guillaume Laforge, Vincent Massol, Antonio Goncalves, Arnaud Héritier, Emmanuel Bernard, Guillaume Laforge, Vincent Massol, Antonio Goncalves, and Arnaud Héritier. Tout le contenu du podcast, y compris les épisodes, les graphiques et les descriptions de podcast, est téléchargé et fourni directement par Emmanuel Bernard, Guillaume Laforge, Vincent Massol, Antonio Goncalves, Arnaud Héritier, Emmanuel Bernard, Guillaume Laforge, Vincent Massol, Antonio Goncalves, and Arnaud Héritier ou son partenaire de plateforme de podcast. Si vous pensez que quelqu'un utilise votre œuvre protégée sans votre autorisation, vous pouvez suivre le processus décrit ici https://fr.player.fm/legal.

Guillaume et Emmanuel discutent les nouvelles de novembre décembre: spring boot 3, AWS SnapStart, GitHub Copilot en procès… Et aussi des articles de fond: performance, SRE et l’auto résilience, comment utiliser Git, le Devops pour les décideurs, l’age et la tech et d’autres sujets encore. Résumé

Enregistré le 9 décembre 2022

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

News Langages

Comment choisir ses collections ? Entre les différentes listes, maps, queues, etc. https://www.baeldung.com/java-choose-list-set-queue-map

  • un bon rappel des fonctionalités des différentes collections (discuter le diagramme de choix)
  • et un bon rappel des ordres de grandeur d’insertion, de lecture etc
  • Attention o(n) ne veut pas dire plus lent que o(1), ca veut dire que ca scale linéraiement
  • Tester avec le volume attendu de données
  • Un bon viel Object[] et le traverser à chqaue fois peut etre bien plus efficace (moins gourmand en structure memoire, moins de jump memoire, etc)
Librairies

Spring Boot 3 est sorti https://spring.io/blog/2022/11/24/spring-boot–3–0-goes-ga

  • Java 17 de base
  • Support de GraalVM Native Image (au lieu de l’ancienne expérimentation de Spring Native)
  • Amélioration de la traçabilité avec Micrometer et Micrometer Tracing
  • JakartaEE 9 minimum et support de JakartaEE 10

Quarkus est 600 fois plus lent qu’un compétiteur, ou pas https://t.co/1c2sFSY9sE

  • discute le lien entre les résultats et l’environnement
  • Une erreur de code initiale
  • Puis une erreur de limite de système ou deux
  • Pour arriver au résultat
  • Bon retour sur l’approche méthodologique

Spring vault 3 https://spring.io/blog/2022/11/28/spring-vault–3–0-goes-ga

  • Java 17
  • Plus de clients supportés comme le client jtm réactif du jdk
  • Support du versionage des mots de passe pour les vaults clé valeur
Cloud

Mais pourquoi Twitter tourne t’il toujours malgré toutes les personnes renvoyées ? https://matthewtejo.substack.com/p/why-twitter-didnt-go-down-from-a

  • Grâce au long travail de SRE, de mise en place d’auto-réparation, de cache, de monitoring, de sur-provisioning. Donc beaucoup d’automatisation pour faire en sorte que le tout fonctionne “presque” tout seul sans trop d’intervention humaine.
  • C’est un article écrit par un des SRE qui travaillait en particulier sur le cache de Twitter.

GitHub passe à un versioning par date de son API REST https://github.blog/2022–11–28-to-infinity-and-beyond-enabling-the-future-of-githubs-rest-api-with-api-versioning/

  • au lieu de continuer avec une v4, v5, etc, utilisation de date comme 2022–12–25
  • chacune de ses versions seraient supportées a minima 2 ans
  • on peut spécifier la version avec un header HTTP spécial
  • pas de changement pour l’API GraphQL par contre
  • Stripes va encore plus loin en se rappelant la version utilisée au premier appel et le fixe par defaut
  • Les appels sans version explicite utilisent celle là, et on peut la faire evoluer

Amazon SnapStart pour lambda https://aws.amazon.com/blogs/aws/new-accelerate-your-lambda-functions-with-lambda-snapstart/

Outillage

Petit tip Git de Minko Gechev (monsieur Angular) https://twitter.com/mgechev/status/1594758205237706752

  • On peut faire un git clone [repo] —depth 1 pour dire qu’on ne veut que la dernière révision, et non pas tout l’historique du repo
  • C’est pratique en particulier en CI pour gagner du temps lorsqu’on a un gros repo avec beaucoup de révisions

Si vous luttez toujours avec git ce guide très détaillé peut vous aider. https://github.com/k88hudson/git-flight-rules

Faire tourner ses Github Actions en local avec le projet open source Act https://github.com/nektos/act

  • Pratique de vérifier en local le fonctionnement de son pipeline avant de le pousser sur Github en prod
  • Utilise Docker sous le capot pour faire tourner chaque étape
  • peut marcher sur podman mais pas garanti pour l’instant

Comment transformer n’importe quel site web ou webapp en application autonome https://glaforge.appspot.com/article/turning-a-website-into-a-desktop-application

  • utilisation d’une fonctionnalité de Chrome : création de raccourci avec ouverture dans une fenêtre “sans chrome”
  • fonctionne sur tous les OS
  • utilise le favicon comme icône pour l’application
  • le site web se retrouve dans votre barre des tâches comme une application normale, et on peut faire un ALT/CMD-Tab pour aller vers son application, etc.
Architecture

Six patterns pour les architectures event driven https://medium.com/wix-engineering/6-event-driven-architecture-patterns-part–1–93758b253f47

  • de Wix
  • Trois patterns dans cet article
  • Consume and project : vue dematerialisee copie des données chaudes consommées par beaucoup. Et ces vues sont focalisées sur un consommateur. Kafka et CDC au milieu pour découpler
  • Event driven de bout en bout : websocket utilise pour envoyer les demandes. Le web stocket serveur copie dans Kafka. Ces consommateurs font le job et un message est envoyé via le web socket serveur. Résilience, découplage
  • K/V store: et en m’articuler avec kafka qui permet d’être consommé en k/v basse latence et en consommation d’évènement
  • Peut être intéressant mais pas si simple a comprendre les usage dans cet article
Méthodologies

Un article sur quoi et pourquoi le DevOps (en fait englobant les bonnes pratiques du moment) https://enix.io/fr/blog/devops-benefices-difficultes/

  • les tech ne vont pas apprendre grand chose
  • mais c’est un article pour les managers ou plutot les execs pour les aider à voir la valeur
  • souvent plus facile de montrer la valeur par du contenu exterieur a l’entreprise percu comme neutre
  • autres articles sur Kubernetes pour les execs https://enix.io/fr/blog/kubernetes-benefices-difficultes/

Amazon et la methode “working backwards” pour un produit https://www.productplan.com/glossary/working-backward-amazon-method/

  • imagine le produit pret a etre releasé
  • ecrire la press release
  • evaluer l’opportunité (doit-on le construire)
  • découvrir les solution pour le faire et avoir l’appriobation des décideurs
  • construire la roadmap
  • construire le backlog
Sécurité

1.5 million de lignes de code dans Android sont maintenant en Rust https://security.googleblog.com/2022/12/memory-safe-languages-in-android–13.html?m=1

  • de plus en plus de code memory safe (Java, Kotlin, Rust)
  • Mais la majorité de nouveau code reste quand meme Java et C++
  • Et une correlation de baisse de vulnerabilités liées a la sureté de mémoire (moins de code de programme memory unsafe)
  • Ou maturation du code avec moins de vuln?
  • Autres efforts: outils de securisation de la memoire en C/C++, fuzzing
  • Zero vuln memoire dans le code rust en 2 ans et en moyenne 1 / kLOC dans le code historique)
  • Java -> JNI, Rust - unsafe {} pour les accès resource
Loi, société et organisation

Les dinosaures de la tech commencent à 40 ans? https://www.linkedin.com/pulse/non-nous-ne-sommes-pas-des-dinosaures-de-la-tech-pass%C3%A9-ramade/

  • Commentaire intéressant de Benjamin Marron qui explique “s’être restreint aux technos de son coeur d’activité car trop de veille technologique hétérogène l’avait épuisé et avait renforcé son sentiment d’être complètement obsolète et dépassé” https://twitter.com/bmarron/status/1596136098828148736
  • âge median des devs entre 28 et 31 ans chez Google ms Facebook
  • Mais 50 ans c’est 30% de la force de travail
  • Avantages seniors
  • Expérience
  • Mentorat (comm, interaction interpersonnelle, (atlassian un 40 ans dans chaque équipe
  • rétention Moins de changement de travail tous les 3 ans
  • Flexibilité : les vieux ont leurs enfants partis
  • Aide à faire des produites pour les personnes de même âge
  • pas souvent dans les politiques de DE&I

GitHub copilot menacé par un procès https://www.infoq.com/news/2022/11/lawsuit-github-copilot/?utm_source=twitter&utm_medium=link&utm_campaign=calendar

  • aux États Unis
  • Class action contre copilot GitHub, ms et OpenAI
  • Violation de copyright et notamment des licenses open source
  • Hypothèse est que humain ou AI, même responsabilité face à la license
  • Discussion autour de fair use vs rupture de contrat DMCA etc
  • Piratage de logiciel à une échelle sans précédant
  • Pour avoir des conséquences fortes sur l’IA et son utilisation des sources ouvertes pour construire du contenu
  • Et Antonio va devoir recorder à la main
Rubrique débutant

Différentes méthodes d’interpolation des chaines en Java https://www.baeldung.com/java-string-interpolation

  • la concatenation avec +
  • la methode format() souvent intimidante mais plus optimisée et sure
  • StringBuilder le plus flexible notamment dans les cas de if et autre variations mais moins sur que format. et plus rapide
  • MessageFormat pour les chaines de caractère utilisateur (multi langage)
  • Apache Commons (pas sur qu’il y ait beaucoup d’usage dans les JDK modernes
Conférences

La liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs :

Nous contacter

Pour réagir à cet épisode, venez discuter sur le groupe Google https://groups.google.com/group/lescastcodeurs

Contactez-nous via twitter https://twitter.com/lescastcodeurs Faire un crowdcast ou une crowdquestion Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs Tous les épisodes et toutes les infos sur https://lescastcodeurs.com/

  continue reading

308 episodes

Tous les épisodes

×
 
Loading …

Bienvenue sur Lecteur FM!

Lecteur FM recherche sur Internet des podcasts de haute qualité que vous pourrez apprécier dès maintenant. C'est la meilleure application de podcast et fonctionne sur Android, iPhone et le Web. Inscrivez-vous pour synchroniser les abonnements sur tous les appareils.

 

Guide de référence rapide