Back

Explore every episode of the podcast Les Cast Codeurs Podcast

Dive into the complete episode list for Les Cast Codeurs Podcast. Each episode is cataloged with detailed descriptions, making it easy to find and explore specific topics. Keep track of all episodes from your favorite podcast and never miss a moment of insightful content.

Rows per page:

1–50 of 340

TitlePub. DateDuration
LCC 314 - 1000 fois 1000 dépendances16 Jul 202401:23:11

Emmanuel, Guillaume et Arnaud discutent des nouvelles de l'été. JEPs, transactional outbox pattern avec Spring, LLM dans Chrome, faille polyfill.io, TOTP, congés illimités et IDE payant ou pas payant ?

Enregistré le 12 juillet 2024

Téléchargement de l'épisode LesCastCodeurs-Episode-314.mp3

News Langages

Les fonctionnalités de JDK 23 ont été figées début Juin (release prévue en septembre) https://openjdk.org/projects/jdk/23/ https://www.youtube.com/watch?v=kzjGp7LmW0I

  • JEPs finales:
    • 467: Markdown Documentation Comments
    • 471: Deprecate the Memory-Access Methods in sun.misc.Unsafe for Removal
    • 474: ZGC: Generational Mode by Default
  • JEPs en incubation / preview
    • 455: Primitive Types in Patterns, instanceof, and switch (Preview)
    • 466: Class-File API (Second Preview)
    • 469: Vector API (Eighth Incubator)
    • 473: Stream Gatherers (Second Preview)
    • 476: Module Import Declarations (Preview)
    • 477: Implicitly Declared Classes and Instance Main Methods (Third Preview)
    • 480: Structured Concurrency (Third Preview)
    • 481: Scoped Values (Third Preview)
    • 482: Flexible Constructor Bodies (Second Preview)
Librairies

Le transactional outbox pattern avec Spring Boot https://www.wimdeblauwe.com/blog/2024/06/25/transactional-outbox-pattern-with-spring-boot/

  • transactional outbox permet d'éviter des 2PC ou des désynchronisations de resources: typiquement un commit dans une base et un envoie de message dans un bus
  • on ecrit le message dans une table de la base de données, et un process séparé récupère les messages et les envoient dans le bus
  • implémentation utilise Spring Integration
  • dans l'article, la seconde resource est l'envoie d'email
  • montre une approche de tests
  • le flow descrit pas psring integration est pas super trivial a lire quand on est pas familier mais cela poll la table toutes les secondes et envoie email et si succes de l'appel de service, vide le message de la table
  • Deuxieme exemple avec Spring modulith qui a un event bus interne qui peut être persisté
  • décrit les differences avec spring integration et les limites de l'approche modulith (message order, retry etc)

Comment tester des valeurs de propriétés différentes dans un test Quarkus https://quarkus.io/blog/overriding-configuration-from-test-code/

  • on a tendance a ne pas tester les propriétés de config
  • ce blog montre 5 (enfin 4 utiles) façons de le faire avec Quarkus.
  • les profils de test, mocker l'objet de config, les test components (experimental), l'injection dans les constructeurs

Quarkus 3.12 https://quarkus.io/blog/quarkus-3-12-0-released/

  • centralisation des configs TLS
  • support pour le load shedding (reject requests on service overload)
  • événements JFR specific a Quarkus
  • native image agent
  • support Spring Boot 3 (compat layer)
  • Support Kotlin 2
  • etc
Cloud

On vous parlait dans un épisode précédent de ce problème de coûts S3 sur des requêtes non autorisées. C'est Graphana Loki qui a mis ce problème sous les projecteurs https://grafana.com/blog/2024/06/27/grafana-security-update-grafana-loki-and-unintended-data-write-attempts-to-amazon-s3-buckets/

  • le problème venait des valeurs par défaut des buckets déclarés dans le chart helm de Loki, en particulier celui nommé 'chunks'
Data et Intelligence Artificielle

Guillaume avait partagé l'information sur la disponibilité prochaine d'un mini modele LLM dans chrome. C'est maintenant une réalité et vous pouvez le tester.

https://ai-sdk-chrome-ai.vercel.app/

  • Nécessite Chrome 127 (version stable à partir de mi-juillet)
  • Utilise le SDK Vercel AI

Guillaume nous parle de toutes les nouveautés liées au modèle Gemini de Google dans la dernière release de LangChain4j https://glaforge.dev/posts/2024/07/05/latest-gemini-features-support-in-langchain4j/

Outillage

1% des utilisateurs de Maven Central utilisent 83% de sa bande passante. Installez un repository manager qui fait proxy (et cela pour tous les types de dépendances)!!!

https://www.sonatype.com/blog/maven-central-and-the-tragedy-of-the-commons

  • rien n'est réellement gratuit et l'abus d'une minorité peut nuire à l'ensemble. Cela fait maintenant plus de 20 ans que les communautés le répète: installer un gestionnaire de dépendances dans votre infrastructure (nexus, artifactory, CodeArtifact, …). En plus de protéger le bien commun cela vous permet de raffiner le filtrage des dépendances, d'assurer la reproductibilité de vos builds, d'optimiser les performances (et réduire les coûts) en ne téléchargeant que depuis votre propre infrastructure, etc …
  • Maven Central est un commun qui ne coute rien à l'utilisteur
  • mais qui est indispensable à tous
  • 1000 milliards de téléchargements l'année dernière
  • 83% de la bande passante consommé par 1% des IPs
  • Beaucoup des ces IP viennent des companies les plus larges
  • proxy pour réduire charge sur central, réduire couts ingress/egress
  • ils vont implementer un mécanisme de throttling
  • question est-ce que la concentration des IPs veut juste dire que c'est le dernier noeud mais que cacher n'est pas effectif pour eux et qu'il y a des milliers de clients derrière une IP?
  • le trotting ferait mal
  • et le proxy ne marche plus dans un monde ou le dev est dans le cloud et distribue géographiquement

Comment mettre en place backstage, ici avec un projet Spring Boot utilisant CircleCi, Renovate, SonarCloud…

https://piotrminkowski.com/2024/06/13/getting-started-with-backstage/

  • Cet article explique comment utiliser backstage pour fournir à vos équipes un template d'une application spring-boot.
  • Elle est automatiquement crée sous forme d'un repository git(hub) avec les integrations classiques pour gérer la CI (via CircleCI), la qualité (via SonarCloud), la mise à jour de dépendances (via Renovate) et bien sur son référencement sur le portail backstage.
  • tutoriel tres complet
  • tres facilement remplacable pour un project avec votre technologie preferee (pas specifique a Spring Boot, ou Java)
Architecture

Que se passe t'il quand vous faites un push sur GitHub? https://github.blog/2024-06-11-how-we-improved-push-processing-on-github/

  • GitHub explique comment ils ont amélioré leur architecture, notamment en mettant en place Kafka pour distribuer les actions qui découlent d'un push sur GitHub.
  • paralelisation des taches (avant sequentiel)
  • limitation des dependances entre etapes effectuées lors d'un push
  • plus de taches peuvent faire un retry
  • un classique de decoupling via un EDA
Sécurité

Attaque du CDN polyfill.io https://sansec.io/research/polyfill-supply-chain-attack

  • polyfill c'est un support de nouvelles fonctionalites dans les ancien navigateurs
  • servi par cdn notamment
  • une societe chinoise a achete le domaine et le github
  • et injecte du malware qui pointe sur des serveurs qui servent le malware selectivement (device, admin ou pas, heure de la journée)
  • Fastly et Cloudflare on des deploiements alternatiuve

Une faille de sécurité, de type Remote Code Execution, vieille de 10ans, dans CocoaPods, un gestionnaire de dépendances très utilisé dans le monde Apple (macOS et iOS)

https://securityboulevard.com/2024/07/cocoapods-apple-vulns-richixbw/

  • https://cocoapods.org/ / https://cocoapods.org/ est un gestionnaire de dépendances pour les projets Xcode. Les dependances (Pods) sont publiées sous forme de Specs qui sont référencées dans un Specs Repo (une sorte de Maven central mais seulement avec des metadonnées)
  • CVE-2024-38366 est une vulnérabilité de type remote code execution avec un score CVSS de 10
  • La faille existait depuis 10 ans et a été corrigée en Sept 2023. Elle permettait d'avoir un accès root sur trunk.cocoapods.org qui stock les Specs. Elles auraient donc pu être modifiées sans que les auteurs ne s'en apperçoivent.
  • Pas de preuve pour l'instant que la faille ait été exploitée

Mieux comprendre la double authentification avec TOTP

https://hendrik-erz.de/post/understanding-totp-two-factor-authentication-eli5

  • Cet article revient sur le fonctionnement de TOTP et comment l'implementer avec des exemples en python
  • the QR code est une URL qui contient: le secret en base 32. le nom du totp, qui a fournit le TOTP, combien de chiffres et la durée de vie du TOTP
  • pour generer les chiffres, prends le secret, le temps et hash le tout, prendre 4 bytes et les convertir le chiffres
  • typiquement le serveur genere les deux d'avant, les deux d'apres et le courant pour comparer
Loi, société et organisation

L'équipe Apache Maven gagne le troisième prix BlueHats https://nlnet.nl/bluehatsprize/2024/3.html

  • le projet remporte un gain de 10000€. Ce prix est organisé par le gouvernement français afin de récompenser les projets open sources les plus impactants.

La clause de congés illimités en Europe

https://www.osborneclarke.com/insights/why-your-unlimited-vacation-policy-may-be-of-limited-use-in-europe

  • Les politiques de congés illimités, populaires aux États-Unis, ne sont pas aussi avantageuses en Europe.
  • En Europe, les employeurs doivent suivre les congés pris pour respecter les minima légaux de quatre semaines par an donc ils ne peuvent pas economiser sur le faire de ne plus les gérer.
  • Les congés illimités permettent aux US de ne plus à devoir les payer au départ de l'employé. En Europe les employeurs doivent payer les congés non utilisés lors de la fin du contrat.
  • Les employés européens pourraient prendre davantage de congés, car ils sont mieux protégés contre le licenciement.
  • Les jours de maladie sont plus cadrés en europe. Un employé qui souffre d'une maladie longue pourrait utiliser les congés illimités mais ce ne sont pas les même règles qui s'appliquent

OpenDNS n'est plus disponible en France et au Portugal

https://support.opendns.com/hc/en-us/articles/27951404269204-OpenDNS-Service-Not-Available-To-Users-In-France-and-Portugal

  • A priori Cisco qui opère openDNS en a marre des demandes de restrictions spécifiques à nos pays et préfère donc retirer entièrement l'accès au service plutôt que de se conformer à la nième demande de restrictions qui faisait suite à la plainte du groupe Canal+ portant sur l'accès à des sites illicites de streaming pour du sport
Ask Me Anything

Salut ! Êtes-vous plutôt IDE payants (ex : IJ Ultimate, ou des plugins payants), ou ne jurez-vous que par des outils gratuits ? Un peu des deux ? Si adaptes du payant, ça ne vous déprime pas qu'un nombre considérable d'employeurs rechignent à nous payer nos outils ? Que "de toute façon VSCode c'est gratuit" (à prononcer avec une voix méprisante) ? Quid du confort, ou de la productivité et/ou qualité accrue quand on maîtrise de tels outils ? Merci !

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/

LCC 313 - 313 CCL15 Jun 202401:19:45

Katia, Guillaume, Emmanuel et Antonio discutent Kotlin, Micronaut, Spring Boot, Quarkus, Langchain4j, LLMs en Java, builds reproductible et la question AMA du jour, comment fait-on carrière de dev à 40 ans ?

Enregistré le 14 juin 2024

Téléchargement de l'épisode LesCastCodeurs-Episode-313.mp3

News Langages

Android avec Kotlin Multiplatform our Flutter avec Dart ? https://developers.googleblog.com/en/making-development-across-platforms-easier-for-developers/

  • Des licenciements ont continué chez Google et l'équipe Flutter/Dart comme plein d'autres ont été touchées, mais sur les réseaux sociaux les gens ont pensé que Google désinvestissait dans Flutter et Dart.
  • Par ailleurs, côté Android, ils poussent plutôt du côté de Kotlin et KMP, mais naturellement aussi les gens se sont demandé si Google avait pris parti pour pousser plus Kotlin/KMP plutôt que Flutter/Dart.
  • Pour essayer de mieux faire comprendre aux développeurs l'intérêt des deux plateformes, et leurs avantages et inconvénients, les directeurs des deux plateformes ont rédigé un article commun.
  • Si l'on souhaite une expérience plus proche du hardware et des dernières nouveautés d'Android, et d'avoir aussi une UI/UX vraiment native Android, mieux vaut aller du côté de Kotlin/KMP.
  • Si l'on souhaite par contre une expérience multiplateforme Web, mobile, desktop avec une UX commune cross-plateforme, avec également le partage de business logic à partir d'une même base de code, Flutter et Dart sont plus adaptés.

Recap de KotlinConf https://x.com/gz_k/status/1793887581433971083?s=46&t=C18cckWlfukmsB_Fx0FfxQ

  • RPC multiplatform
  • la pres Grow with the flow montrant la reecriture en kotlin plus simple que des solutions complexes ailleurs
  • power-assert pour ecrire des tests
  • Kotlin 2.0 et les evolutions majeures
  • Kotlin multiplatforme mainteant stable
  • Kotlin Compose Multiplatform continue a amturer
  • Retour d'experience de la migration d'android jetpack vers Kotlin Multiplatform
  • use cases de coroutines et scope
Librairies

Quarkus veut aller dans une fondation https://quarkus.io/blog/quarkus-in-a-foundation/

  • ameliorer l'adoption (encore plus), ameliorer la transparence, et la collaboration, encourager la participatiopn multi vendeur
  • Premiere etape : une gouvernance plus overte
  • Deuxieme etape: bouger dans uen foundation
  • Echange avec la communaute sur la proposition et les fondations cibles
  • Des criteres pour al foudnation (notamment la rapidite de delivery

Quarkus 3.11 https://quarkus.io/blog/quarkus-3-11-0-released/

  • Websocket.next en cours
  • Dev services pour observabilite (grafana, jaegel, open telemetry
  • extension infinispan cache
  • #38448 - Observability extensions - Dev Services, Dev Resources, LGTM
  • #39836 - Infinispan Cache Extension
  • #40309 - WebSockets Next: client endpoints
  • #40534 - WebSockets Next: initial version of security integration
  • #40273 - Allow quarkus:run to launch Dev Services
  • #40539 - Support for OIDC session expired page
  • #40600 - Introduce OidcRedirectFilter

LangChain4j 0.31 est sorti https://github.com/langchain4j/langchain4j/releases/tag/0.31.0

  • Recherche Web pour le RAG avec Google et Tavily
  • RAG avec les bases de données SQL (expérimental)
  • Récupération des resources remontées par le RAG lorsque AiServices retourne un Result
  • Observabilité LLM pour OpenAI pour être notifié des requêtes, réponses et erreurs
  • Intégration de Cohere (embedding), Jina (embedding et re-ranking scoring), Azuere CosmosDB comme embedding store
  • Mise à jour de Gemini avec le parallel function calling et les instructions système

Spring Boot 3.3.0 est sorti https://spring.io/blog/2024/05/23/spring-boot-3-3-0-available-now

  • support Class Data Sharing
  • Micrometer sipport de spantag etc
  • Amelioration Spring Security comme JwtAuthenticationCovnerter
  • support docker compose pour les images container bitnami
  • Virtual thread pour les websockets
  • Support sBOM via an actuator
  • SNI for embedded web servers
  • une nouvelle doc via antora

Micronaut 4.5 est sortie https://github.com/micronaut-projects/micronaut-platform/releases/tag/v4.5.0

  • Le serveur basé sur Netty inclus la détection d'opération bloquante et les modules l'utilisant indiqueront à l'utilisateur quand certaines opérations peuvent être redirigée plutôt sur un virtual thread ou dans le thread pool IO
  • Micronaut Data inclus le support de la multitenance avec partitionnement par discriminateur pour JDBC et R2DBC
  • Micronaut Data rajoute le pagination par curseur pour JDBC et R2DBC (important aussi pour Jakarta Data)
  • Support des annotations Jakarta Servlet pour configurer par exemple les servelet filters
  • Support virtual thread et HTTP/2
  • Un nouveau module JSON Schema pour générer des JSON Schemas pour les records Java
  • Un nouveau module Source Gen pour faire de la génération de source pour Java et Kotlin cross-language
  • Un nouveau module Guice pour importer des modules Guice existants
Web

Angular 18 est sorti https://blog.angular.dev/angular-v18-is-now-available-e79d5ac0affe

  • Support expérimental pour la détection de changement sans zone
  • Angular.dev est désormais le nouveau site pour les développeurs Angular
  • Material 3, les "deferrable views", le "built-in control flow" sont maintenant stables et intègrent une série d'améliorations
  • Améliorations du rendu côté serveur telles que le support de l'hydratation i18n, un meilleur débogage, le support de l'hydratation dans Angular Material, et la event replay qui utilise la même bibliothèque que Google Search.
Data et Intelligence Artificielle

Une version pure Java du LLM Llama3 de Meta https://github.com/mukel/llama3.java/tree/main

  • utilise la future API Vector de Java

JLama, un moteur d'exécution de LLM en Java avec l'api vector https://www.infoq.com/news/2024/05/jlama-llm-inference-java/

  • basé sur llama.c qui est un moteur d'inference de LLM (l'execution des requetes)
  • jlama implementé avec vector APIs et PamanaTensorOperations
  • plusisures alternatives (native binding, iml0ementation pure en java, scala, kotlin)

Target Speech Hearing https://www.infoq.com/news/2024/05/target-speech-hearing/

  • Nouveau algo Deep Learning de l'Université de Washington permet d'écouter une seule personne de ton choix et effacer tout le bruit autour
  • le système nécessite que la personne portant les écouteurs appuie sur un bouton tout en regardant quelqu'un parler ou simplement en le fixant pendant trois à cinq secondes
  • Permet à un modèle d'apprendre les schémas vocaux du locuteur et de s'y attacher pour pouvoir les restituer à l'auditeur, même s'il se déplace et cesse de regarder cette personne.
  • Selon les chercheurs, cela constitue une avancée significative par rapport aux écouteurs à réduction de bruit existants, qui peuvent annuler efficacement tous les sons, mais ne peuvent pas sélectionner les locuteurs en fonction de leurs caractéristiques vocales.
  • Actuellement, le système ne peut enregistrer qu'un seul locuteur à la fois. Une autre limitation est que l'enregistrement ne réussira que si aucune autre voix forte ne provient de la même direction.
  • L'équipe a mis en open source leur code et leur jeu de données afin de faciliter les travaux de recherche futurs pour améliorer l'audition de la parole cible.
Outillage

Utiliser LLM pour migrer du framework de testing https://www.infoq.com/news/2024/06/slack-automatic-test-conversion/

  • Slack a migré 15.000 tests de Enzyme à React Testing Library avec un succès de 80%
  • Migration nécessaire pour le manque de support de Enzyme pour React 18
  • L'équipe a essayé d'automatiser la conversion avec des transformations AST, mais n'a atteint que 45 % de succès à cause de la complexité des méthodes d'Enzyme et du manque d'accès aux informations contextuelles du DOM.
  • L'équipe a utilisé Claude 2.1 pour la conversion, avec des taux de réussite variant de 40 % à 60 %, les résultats dépendant largement de la complexité des tâches.
  • Suite aux résultats insatisfaisants, l'équipe a décidé d'observer comment les développeurs humains abordaient la conversion des tests unitaires.
  • Les développeurs humains utilisaient leurs connaissances sur React, Enzyme et RTL, ainsi que le contexte du rendu et les conversions AST de l'outil initial pour mieux convertir les tests unitaires.
  • Finalement les ingénieurs de Slack ont combiné transformations AST et LLM en intégrant des composants React rendus et des conversions AST dans les invites, atteignant un taux de réussite de 80 % démontrant ainsi la complémentarité de ces technologies.
  • Claude 2.1 est un modèle de langage de grande taille (LLM) annoncé en novembre 2023 par Anthropic. Il inclut une fenêtre contextuelle de 200 000 tokens, des réductions significatives des taux d'hallucination du modèle, des invites système et permet l'utilisation d'outils. Depuis, Anthropic a introduit la famille de modèles Claude 3, composée de trois modèles distincts, avec des capacités multimodales et une compréhension contextuelle améliorée.
  • Un arbre de syntaxe abstraite (AST) est une représentation arborescente de la structure syntaxique abstraite du code source écrit dans un langage de programmation. Chaque nœud de l'arbre représente une construction du code source. Un arbre de syntaxe se concentre sur la structure et le contenu nécessaires pour comprendre la fonctionnalité du code. Les AST sont couramment utilisés dans les compilateurs et les interpreters pour analyser et examiner le code, permettant diverses transformations, optimisations et traductions lors de la compilation.

IDE de test de JetBrains https://blog.jetbrains.com/qa/2024/05/aqua-general-availability/

  • Aqua, le premier IDE conçu pour l'automatisation des tests, supporte plusieurs langages (Java, Python, JavaScript, TypeScript, Kotlin, SQL) et frameworks de tests (Selenium, Playwright, Cypress).
  • Pourquoi ? Les tests d'applications nécessitent des compétences spécifiques. Aqua, un IDE adapté, est recommandé par les ingénieurs en automatisation des tests.
  • Aqua propose deux plans de licence : un gratuit pour les usages non commerciaux et un payant pour les usages commerciaux.
  • cam me parait un peu contre intuitif a l'heure du devops et du TDD de faire des outils dédiés et donc des equipes ou personnes dédiées
Méthodologies

Les 10 principes à suivre, selon le créateur de cURL, pour être un bon BDFL (Benevolent Dictator For Life) https://daniel.haxx.se/blog/2024/05/27/my-bdfl-guiding-principles/

  • Être ouvert et amical
  • Livrer des produits solides comme le roc
  • Être un leader de l'Open Source
  • Privilégier la sécurité
  • Fournir une documentation de premier ordre
  • Rester indépendant
  • Répondre rapidement
  • Suivre l'actualité
  • Rester à la pointe de la technologie
  • Respecter les retours d'information
  • Dans un vieil article de Artima, Guido Van Rossum, le créateur de Python et premier BDFL d'un projet, se remémore un échange de 1995 qui est à l'origine de ce concept https://www.artima.com/weblogs/viewpost.jsp?thread=235725
  • Guido Van Rossum a été le premier à endosser ce "rôle"

Un site compréhensif sur les build reproductibles https://reproducible-builds.org

  • longue doc
  • de la definition aux méthodes pour resoudre des problèmes spécifiques

Masterclass de Fabien Olicard: Le Palais Mental https://www.youtube.com/watch?v=u6wu_iY4xd8

  • Technique pour retenir de l'information plus longtemps que dans sa mémoire courte

Les APIs web ne devraient pas rediriger HTTP vers HTTPS https://jviide.iki.fi/http-redirects

  • grosso modo le risque majeur est d'envoyer des données confidentielles en clair sur le réseau
  • le mieux serait de ne pas rediriger vers HTTPS, mais par contre de retourner une vraie erreur explicite
  • notamment les clés d'API et c'est facile de ne pas le,voir vu les redirects.
Sécurité

Blog de GitHub sur la provenance et l'attestation https://github.blog/2024-04-30-where-does-your-software-really-come-from/

  • Discute les concepts de securisation de chainne d'approvisionnement de sogiciel et comment elles s'articulent entre elle. A haut niveau
  • discute les hash pour garantir le meme fichier
  • La signature asymetrique pour prouver que j'ai signé (e.g. le hash) et donc que je garantis.
  • L'attenstation qui declare des faits sur un artifact
  • attestation de provenance: source code et instructions de build (SLSA provenance)
  • mais il faut garantir les signature avec une autorite de certification et avec des certificats a courte vide idealement, c'est sigstore
  • MEtionne aussi The Update Framework pour s'appuyer sur cela et garantir des undates non compromis

Keycloak 25 est sorti https://www.keycloak.org/2024/06/keycloak-2500-released.html

  • Argon2 pour le hashing de mots de passe
  • Depreciation des adaptateurs (Tomcat, servlet etc)
  • Java 21 et depreciation de Java 17
  • session utilisatur persistente meme pour les instances online (pour survivre a une rotation de keycloak
  • ameliorations autour des passkeys
  • management et health endpoint sur un port different
  • Et plus
Demande aux cast codeurs

A 40 ans, tu peux encore être codeur reconnu ?

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/

LCC 304 - Dark punk18 Dec 202301:39:41

Dans cet épisode, Katia, Arnaud et Emmanuel discutent les nouvelles de cette fin 2023. Le gatherer dans les stream Java, les exceptions, JavaScript dans la JVM, recherche vectorielle, coût du cloud, Gemini, Llama et autres animaux fantastiques et pleins d'outils sympathiques pour fêter la fin de l'année.

Enregistré le 15 décembre 2023

Téléchargement de l'épisode LesCastCodeurs-Episode-304.mp3

News

Aide Les Cast Codeurs et remplis un petit formulaire pour nous guider l'année prochaine https://lescastcodeurs.com/sondage

Langages

Avec JEP 461, arrivée dans en preview dans Java 22 de la notion de "gatherer" pour les streams https://groovy.apache.org/blog/groovy-gatherers

  • dans cet article de Paul King, de l'équipe Groovy, il montre et contraste ce que l'on pouvait faire en Groovy depuis des années, comme des sliding windows, par exemple
  • explique l'approche des gatherers avec ses opérations intermédiaires
  • gatherer sont des operations intermediaires custom qui prennent un etat et le prochain element pour decided quoi faire, et meme changer le stream d'elements suivants (en publier) (via la fonction integrate
  • certains peuvent permettre de combiner les resultats intermediaires (pour paralleliser)
  • Examples : fenetres de taille fixe, fenettres glissantes

Joe Duffy, qui est CEO de Pulumi, mais qui avait travaillé chez Microsoft sur le project Midori (un futur OS repensé) parle du design des exceptions, des erreurs, des codes de retour https://joeduffyblog.com/2016/02/07/the-error-model/

  • Il compare les codes d'erreurs, les exceptions, checked et non-checked
  • il separe les bugs des erreurs attendues (bugs doivent arreter le process)
  • il raconte l'histoire des unchecked exception et leurs problemes et des checked exceptopns et poourquoi les developeurs java les detestent (selon lui)
  • long article maisn interessant dans ses retours
  • mais lon je ne suis pas allé au bout :smile:

Après la disparition de Nashorn dans le JDK, on peut se tourner vers le projet Javet https://www.caoccao.com/Javet/index.html

  • Javet permet d'intégrer JavaScript avec le moteur V8
  • Mais aussi carrément Node.js
  • c'est super comme capacité car on a les deux mielleurs moteurs, par contre le support hors x86 est plus limité (genre arm sous windows c'est non)
Librairies

Une partie de l'équipe Spring se fait lourder après le rachat effectif de Broadcom https://x.com/odrotbohm/status/1729231722498425092?s=20

  • peu d'info en vrai à part ce tweet
  • mais l'acquisition Broadcome n'a pas l'air de se faire dans le monde des bisounours

Marc Wrobel annonce la sortie de JBanking 4.2.0 https://www.marcwrobel.fr/sortie-de-jbanking-4-2-0

  • support de Java 21
  • possibilité de générer aléatoirement des BIC
  • amélioration de la génération d'IBAN
  • jbanking est une bibliotheque pour manipuler des structures typiques des banques comme les IBAN les BIC, les monnaies, les SEPA etc.

Hibernate Search 7 est sorti https://in.relation.to/2023/12/05/hibernate-search-7-0-0-Final/

  • Support ElasticSearch 8.10-11 et openSearch 2.10-11
  • Rebasé sur Lucerne 9.8
  • support sur Amazon OpenSearch Serverless (experimental)
  • attention sous ensemble de fonctionnalités sur Serverless, c'est un API first search cluster vendu a la lambda
  • En lien aussi sur la version 7.1 alpha1

Hibernate ORM 6.4 est sorti https://in.relation.to/2023/11/23/orm-640-final/

  • support pour SoftDelete (colonne marquant la suppression)
  • support pour les operations vectorielles (support postgreSQL initialement)
  • les fonctions vectorielles sont particulièrement utilisées par l'IA/ML
  • événement spécifiques JFR

Intégration de citrus et Quarkus pour les tests d'intégrations de pleins de protocoles et formats de message https://quarkus.io/blog/testing-quarkus-with-citrus/

  • permet de tester les entrees / sorties attendues de systèmes de messages (HTTP, Kafka, serveur mail etc)
  • top pour tester les application Event Driven
  • pas de rapport mais Quarkus 3.7 ciblera Java 17 (~8% des gens utilisaient Java 11 dans les builds qui ont activé les notifications)

Hibernate Search 7.1 (dev 7.1.0.Alpha1) avec dernière version de Lucene (9.8), Infinispan rajoute le support pour la recherche vectorielle.

Cloud

Comment choisir sa region cloud https://blog.scottlogic.com/2023/11/23/conscientious-cloud-pick-your-cloud-region-deliberately.html

  • pas si simple
  • le coût
  • la securité légale de vos données
  • la consommation carbone de la région choisie (la France est top, la Pologne moins)
  • la latence vs où sont vos clients
  • les services supportés
Web

Vers une standardisation des Webhooks ? https://www.standardwebhooks.com/

  • Des gens de Zapier, Twilio, Ngrok, Kong, Supabase et autres, se rejoignent pour essayer de standardiser l'approche des Webhooks
  • La spec est open source (Apache) sur Github https://github.com/standard-webhooks/standard-webhooks/blob/main/spec/standard-webhooks.md
  • Les objectifs sont la sécurité, la reliabilité, l'interopérabilité, la simplicité et la compatibilité (ascendante / descendante)
  • sans la spec, chaque webhook est different dans son comportement et donc les clients doivent s'adapter dans la sematique et les erreurs etc
  • la (meta-) structure de la payload, la taille, la securisation via signature (e.g. hmac), les erreurs (via erreurs HTTP), etc
Data et Intelligence Artificielle

Google annonce Gemini, son nouveau Large Language Model https://blog.google/technology/ai/google-gemini-ai/#sundar-note

Avec la sortie de Gemini, Guillaume a écrit sur comment appeler Gemini en Java https://glaforge.dev/posts/2023/12/13/get-started-with-gemini-in-java/

  • Gemini est multimodèle, donc on peut passer aussi bien du texte que des images, ou même de la vidéo
  • Il y a un SDK en Java pour interagir avec l'API de Gemini

Facebook, Purple Llama https://ai.meta.com/blog/purple-llama-open-trust-safety-generative-ai/

  • Opensource https://ai.meta.com/llama/
  • dans l'optique des modeles GenAI ouverts, Facebook fournit des outils pour faire des IA responsables (mais pas coupables :wink: )
  • notament des benchmarks pour evaluler la sureté et un classifier de sureté, par exemple pour ne pas generer du code malicieux (ou le rendre plus dur)
  • llama purple sera un projet parapluie
  • D'ailleurs Meta IBM, Red Hat et pleins d'autres ont annoncé l'AI Alliance pour une AI ouverte et collaborative entre académique et industriels. Sont notammenrt absent Google, OpenAI (pas ouvert) et Microsoft
  • Juste une annouce pour l'instant mais on va voir ce que ces acteurs de l'AI Alliance feront de concret
  • il y a aussi un guide d'utilisateur l'usage IA responsable (pas lu)

Apple aussi se met aux librairies de Machine Learning https://ml-explore.github.io/mlx/build/html/index.html

  • MLX est une librairie Python qui s'inspire fortement de NumPy, PyTorch, Jax et ArrayFire
  • Surtout, c'est développé spécifiquement pour les Macs, pour tirer au maximum parti des processeurs Apple Silicon
  • Dans un des repos Github, on trouve également des exemples qui font tourner nativement sur macOS les modèles de Llama, de Mistral et d'auters https://github.com/ml-explore/mlx-examples
  • non seulement les Apple Silicon amis aussi la memoire unifiee CPU/GPU qui est une des raisons clés de la rapidité des macs

Faire tourner Java dans un notebook Jupyter https://www.javaadvent.com/2023/12/jupyter-notebooks-and-java.html

  • Max Andersen explore l'utilisation de Java dans les notebooks Jupyter, au lieu du classique Python
  • il y a des kernels java selon vos besoins
  • mais il faut les installer dans la distro jupyter qu'on utilise
  • et c'est la que jbang installable via pip vient a la rescousse
  • il installe automatiquement ces kernels en quelques lignes
Outillage

Sfeir liste des jeux orientés développeurs https://www.sfeir.dev/tendances/notre-selection-de-jeux-de-programmation/

  • parfait pour Noël
  • mais c'est pour ceux qui veulent continuer a challenger leur cerveau après le boulot
  • jeu de logique, jeu de puzzle avec le code comme forme, jeu autour du machine learning, jeu de programmation assembleur

Les calendriers de l'Avent sont populaires pour les développeurs ! En particulier avec Advent of Code https://adventofcode.com/

Un super thread de Clara Dealberto sur le thème de la "dataviz" (data visualization) https://twitter.com/claradealberto/status/1729447130228457514

  • Beaucoup d'outil librement accessibles sont mentionnés pour faire toutes sortes de visualisations (ex. treemap, dendros, sankey…) mais aussi pour la cartographie
  • Quelques ressources de site qui conseillent sur l'utilisation du bon type de visualisation en fonction du problème et des données que l'on a
  • notemment celui du financial time qui tiens dans une page de PDF
  • Bref c'est cool mais c'est long a lire

Une petite liste d'outils sympas - jc pour convertir la sortie de commandes unix en JSON https://github.com/kellyjonbrazil/jc - AltTab pour macOS pour avoir le même comportement de basculement de fenêtre que sous Windows https://alt-tab-macos.netlify.app/ - gron pour rendre le JSON grep-able, en transformant chaque valeur en ligne ressemblant à du JSONPath https://github.com/tomnomnom/gron - Marker, en Python, pour transformer des PDF en beau Markdown https://github.com/VikParuchuri/marker - n8n un outil de workflow open source https://n8n.io/

  • gron en fait montre des lignes avec des assignments genre jsonpath = value
  • et tu peux ungroner apres pour revenir a du json
  • Marker utilise du machine learning mais il halklucine moins que nougat (nous voilà rassuré)

Docker acquiert Testcontainers https://techcrunch.com/2023/12/11/docker-acquires-atomicjar-a-testing-startup-that-raised-25m-in-january/

Architecture

Comment implémenter la reconnaissance de chanson, comme Shazam https://www.cameronmacleod.com/blog/how-does-shazam-work

Méthodologies

Un mémo de chez ThoughtWorks à propos du coding assisté par IA https://martinfowler.com/articles/exploring-gen-ai.html#memo-08

  • Avec toute une liste de questions à se poser dans l'utilisation d'un outil tel que Copilot
  • Il faut bien réaliser que malheureusement, une IA n'a pas raison à 100% dans ses réponses, et même plutôt que la moitié du temps, donc il faut bien mettre à jour ses attentes par rapport à cela, car ce n'est pas magique
  • La conclusion est intéressante aussi, en suggérant que grosso modo dans 40 à 60% des situations, tu peux arriver à 40 à 80% de la solution. Est-ce que c'est à partir de ce niveau là qu'on peut vraiment gagner du temps et faire confiance à l'IA ?
  • Ne perdez pas trop de temps non plus à essayer de convaincre l'IA de faire ce que vous voulez qu'elle fasse. Si vous n'y arrivez pas, c'est sans doute parce que l'IA n'y arrivera même pas elle même ! Donc au-delà de 10 minutes, allez lire la doc, chercher sur Google, etc.
  • notamment, faire genrer les tests par l'IA dans al foulée augmente les risques surtout si on n'est pas capable de bien relire le code
  • si on introduit un choix de pattern genre flexbox en CSS, si c'est sur une question de sécuriter, vérifier (ceinture et bretelle)
  • est-ce le framework de la semaine dernière? L'info ne sera pas dans le LLM (sans RAG)

Quelles capacités sont nécessaires pour déployer un projet AI/ML https://blog.scottlogic.com/2023/11/22/capabilities-to-deploy-ai-in-your-organisation.html

  • C'est le MLOps et il y a quelques modèles end to end Google, IBM mais vu la diversité des organisations, c'est difficile a embrasser ces versions completes
  • ML Ops est une métier, data science est un metier, donc intégrer ces competences
  • sachez gérer votre catalogue de données
  • Construire un process pour tester vos modèles et continuellement
  • La notion de culture de la recherche et sa gestion (comme un portefeuille financier, accepter d'arrêter des experience etc)
  • la culture de la recherche est peu présente en engineering qui est de construire des choses qui foncitonnent
  • c'est un monde pre LLM

Vous connaissez les 10 dark patterns de l'UX ? Pour vous inciter à cliquer ici ou là, pour vous faire rester sur le site, et plus encore https://dodonut.com/blog/10-dark-patterns-in-ux-design/

  • Parmi les dark patterns couverts
    • Confirmshaming
    • Fake Urgency and the Fear of Missing Out
    • Nagging
    • Sneaking
    • Disguised Ads
    • Intentional Misdirection
    • The Roach Motel Pattern
    • Preselection
    • Friend Spam
    • Negative Option Billing or Forced Continuity
  • L'article conclut avec quelques pistes sur comment éviter ces dark patterns en regardant les bons patterns de la concurrence, en testant les interactions UX, et en applicant beaucoup de bon sens !
  • les dark patterns ne sont pas des accidents, ils s'appuient sur la psychologie et sont mis en place specifiquement

Comment choisir de belles couleurs pour la visualisation de données ? https://blog.datawrapper.de/beautifulcolors/

  • Plutôt que de penser en RGB, il vaut mieux se positionner dans le mode Hue Saturation Brightness
  • Plein d'exemples montrant comment améliorer certains choix de couleurs
  • Mieux vaut éviter des couleurs trop pures ou des couleurs trop brillantes et saturées
  • Avoir un bon contraste
  • Penser aussi aux daltoniens !
  • j'ai personnellement eu toujours du mal avec saturationm vs brightness
  • faire que les cloueirs en noir et blanc soient separees evant de le remettre (en changeant la brightness de chaque couleur) ca aide les daltoniens
  • eviter les couleurs aux 4 coins amis plutot des couleurs complementaires (proches)
  • rouge orange et jaune (non saturé) et variations de bleu sont pas mal
  • les couleurs saturées sont aggressives et stressent les gens

Pourquoi vous devriez devenir Engineering Manager? https://charity.wtf/2023/12/15/why-should-you-or-anyone-become-an-engineering-manager/

  • L'article parle de l'évolution de la perception de l'engineering management qui n'est plus désormais le choix de carrière par défaut pour les ingénieurs ambitieux.
  • Il met en évidence les défis auxquels les engineering managers sont confrontés, y compris les attentes croissantes en matière d'empathie, de soutien et de compétences techniques, ainsi que l'impact de la pandémie de COVID-19 sur l'attrait des postes de management.
  • L'importance des bons engineering mnanagers est soulignée, car ils sont considérés comme des multiplicateurs de force pour les équipes, contribuant de manière significative à la productivité, à la qualité et au succès global dans les environnements organisationnels complexes.
  • L'article fournit des raisons pour lesquelles quelqu'un pourrait envisager de devenir Engineering Manager, y compris acquérir une meilleure compréhension de la façon dont les entreprises fonctionnent, contribuer au mentorat et influencer les changements positifs dans la dynamique des équipes et les pratiques de l'industrie.
  • Une perspective est présentée, suggérant que devenir Engineering manager peut conduire à la croissance personnelle et à l'amélioration des compétences de vie, telles que l'autorégulation, la conscience de soi, la compréhension des autres, l'établissement de limites, la sensibilité à la dynamique du pouvoir et la maîtrise des conversations difficiles. L'article encourage à considérer la gestion comme une occasion de développer et de porter ces compétences pour la vie.
Sécurité

LogoFAIL une faille du bootloader de beaucoup de machines https://arstechnica.com/security/2023/12/just-about-every-windows-and-linux-device-vulnerable-to-new-logofail-firmware-attack/

  • en gros en changeant les eimages qu'on voit au boot
  • permet d'executer du code arbitraire au tout debuit de la securisation du UEFI (le boot le plus utilisé)
  • donc c'est game over parce que ca demarre avant l'OS
  • c'est pas une exploitation a distance, il faut etre sur la machine avec des droits assez elevés deja mais ca peut etre la fin de la chaine d'attaque
  • et comme d'hab un interpreteur d'image est la cause de ces vulnerabilités
Conférences

L'IA au secours de conférences tech: rajoute des profile tech femme comme speaker au programme pour passer le test diversité online via des profiles fake. https://twitter.com/GergelyOrosz/status/1728177708608450705 https://www.theregister.com/2023/11/28/devternity_conference_fake_speakers/ https://www.developpez.com/actu/351260/La-conference-DevTernity-sur-la-technologie-s-e[…]s-avoir-cree-de-fausses-oratrices-generees-automatiquement/

  • j'avais lu le tweet du createur de cette conf qui expliquait que c'etait des comptes de tests et que pris dans le rush ils avaient oublié de les enlever
  • mais en fait les comptes de tests ont des profils "Actifs" sur le reseaux sociaux apparemment donc c'était savamment orchestré
  • Au final beaucoup de speakers et des sponsors se desengagent

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/

LCC 214 - L'édition Barbecue09 Jul 201901:39:42

Les Cast Codeurs se réunissent pour leur déjeuner annuel de tous les 18 mois à deux ans pour enregistrer cet épisode news. On y discute contribution OpenJDK, JIT, sérialisation, Quarkus, CloudEvent, AWS lambda, React, daltonisme, event sourcing, uml, loi extra territoriale et bien d'autres choses encore. Le mot Barbecue vient de l'embrochement du gibier "de la barbe au cul" avant de le faire chauffer dans les cheminées de cuisine.

Enregistré le 5 juillet 2019

Téléchargement de l'épisode LesCastCodeurs-Episode–214.mp3

News Langages

JDK 13 is now in Rampdown Phase One
Le flow des commits OpenJDK vers leurs distributions
Warm up d'applications sur la JVM avec Azuul

  • prend des metriques au premier run et les redonne en info aux seconds runs
  • cache la compilation et ses paramètres d'entrée pour garantir la sémantique de la spécification Java

Améliorer l'intégration entre JavaFX et les toolkits natifs
Une nouvelle sérialisation en Java en chantier

Scala 2.13.0

Librairies

Quarkus 0.18.0

  • GraalVM 19
  • Support for writting Kubernetes operator
  • Meilleur support Gradle
  • Kafka Streams
  • (0.17.0) plus d'extensions Camel
  • (0.17.0) Support Drools et jBPM

Configurer une application Quarkus

Middleware

CloudEvent s'approche de la 1.0
javax -> jakartaee renommage: le big bang préféré

Infrastructure

RPMs expliqués
Raspberry Pi 4 pour $35

  • vous l'utilisez pour quoi?

Running Custom Containers Under Chrome OS

HAProxy 2.0 and Beyond

Cloud

Retour d'expérience sur AWS lambda

  • contrôle de la stack (cf discussion avec Quentin)
  • long running connections genre web socket pas forcément adaptées
  • corrélation directe entre le CPU et la RAM
    • donc peu de RAM, veut dire CPU lent et donc tourner beaucoup plus longtemps
    • la lambda se facture par incrément de 100ms donc n'optimisez pas en dessous
  • latence: cloudfront - API Gateway - lamba est au moins 50ms
  • trace et cloudwatch: c'est cher et verbeux et la UI est merdique
  • les fonctions lambda doivent être idempotentes car peuvent être rejouées sur la même requête de temps en temps
  • chainer les lambda est lent (latence cumulée) 100ms par sous appel
  • debuger une lambda qui time out c'est la merde
  • cold starts de 3s
  • quand est-ce que les lambda sont utilses (pas user facing)

Clever Cloud lance Clever Grid

Web

Améliorer le temps de chargement de React

  • résumé au début

What's new in Angular 8.0?

Au delà des couleurs, des interfaces adaptées au daltonisme
Building the most inaccessible site possible with a perfect Lighthouse score
HTML can do that?

Firefox Now Available with Enhanced Tracking Protection by Default Plus Updates to Facebook Container, Firefox Monitor and Lockwise
Google Just Gave 2 Billion Chrome Users A Reason To Switch To Firefox
Google's new reCAPTCHA has a dark side

Data

Retour sur les erreurs en embrassant l'event sourcing

  • dans la meme base les projections et les changements
  • Event driven != event source
  • Utiliser l'event store en tant que bus d'évènement (entrainer melange des event business et techniques)
  • Séduit par la consistance au bout du compte
  • options
    • passés du modèle relationel à des blobs JSON pour les vues
    • ils utilisaient l'archi hexagonal donc les changements ont été doux
Outillage

Mark files as viewed

Architecture

Les diagrammes UML sous controle de source via PlantUML article 1 article 2 et real world plantuml

Méthodologies

Pourquoi les anciennes sociétés ont un IT pas aussi glamour que la silicon valley

  • longue histoire de centralisation, décentralisation et rachat
  • changements de cap et donc céder du pouvoir / du contrôle de la donnée est un risque pour le future moyen
  • externalisation des non "coeur de compétence" vers des fournisseurs non interessé à la modernisation
  • problème de confiance, les autres acteurs internes et externes de mauvaise foi
    • moins de problème de confiance dans une start up de 50 personnes vu que tu connais tout le monde
    • être agile veut-il dire se faire confiance?
Sécurité

Et voici Elastic SIEM

Loi, société et organisation

Rapport sur les loi extra-territoriales Américaines

  • parle des amandes (beaucoup de banques)
  • grande portée même en dehors de la sphère américaine
  • sanctions disproportionnées
  • procureurs américains demandant la discovery
  • poursuite engagées semblent etre motivées à but économique et cibles choisies
  • les lois extra territoriales ont permis des réduction de contrats avec corruption

Boeing's 737 Max Software Outsourced to $9-an-Hour Engineers

Libra : tout ce qu'il faut savoir sur la future cryptomonnaie propulsée par Facebook, Iliad, PayPal, Uber…

Délai trop court, absence du juge, définition floue : la loi contre la haine sur Internet alarme

La CNIL prête à céder au lobby des médias sur le RGPD

Outils de l'épisode

Durgod Taurus k320 clavier mécanique cherry bleu
The Definitive Guide to SonarQube 7.9 LTS

Conférences

JugSummerCamp le 13 septembre 2019.
DevFest Toulouse le 3 octobre 2019.
DevFest Nantes les 21 et 22 octobre 2019.
Voxxed Microservices 21 au 23 octobre 2019.
ScalaIO du 29 au 31 octobre a Lyon. Thème programmation fonctionelle.
Devoxx Belgique du 4 au 8 novembre 2019
Bdx.io le 15 novembre 2019.
DevOps D-Day les 13 et 14 novembre 2019 - Le CfP est ouvert.
Codeurs en Seine le 21 novembre 2019

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 213 - les re-10 ans des cast codeurs au RivieraDEV19 Jun 201900:42:26

Cet épisode en direct de RivieraDEV continue la séance Ask Me Anything débutée à Devoxx France.

Enregistré le 17 mai 2019

Téléchargement de l'épisode LesCastCodeurs-Episode–213.mp3

Le plus sympa pour vous sera quand même de voir l'épisode sur YouTube.

Session Ask Me Anything

RivieraDEV

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 212 - Echange gateaux contre jetons07 Jun 201901:14:36

Guillaume, Vincent et Emmanuel discutent des nouvelles autour de Java 12, Jakarta EE, Spring, Quarkus, la mairie de Paris et son data center. Mais aussi de web, de Huawei, du design des fichiers Dockerfile et bien d'autres choses encore.

Enregistré le 4 juin 2019

Téléchargement de l'épisode LesCastCodeurs-Episode–212.mp3

News Langages

JVM Ecosystem Survey 2019
Java 12 switch expressions
Images officielles AdoptOpenJDK sur Docker Hub
Don't fear the Java

Librairies

Jakarta EE and the great naming debate
Spring Boot 2.2 M3 available now
Utiliser les co-routines Kotlin pour utiliser Spring Reactive

  • structured concurrency
  • trade off entre approche visuellement imperative et l'approache reactive

GraalVM 19.0
Eclipse Vert.x 3.7.1
The JHipster Quarkus demo app

Quarkus 0.16.0

  • emails blocking et non blocking
  • Configuration profiles
  • CORS
  • Camel AWS SQS
  • Reactive PostgreSQL client

Introduction à JSON Web Tokens
Autre article sur JWT

Infrastructure

Fusion OpenTracing / OpenCensus -> OpenTelemetry: quid de Jaeger
On devrait éviter les Dockerfiles d'exemple qu'on voit un peu partout
DigitalOcean ferme l'infra d'une boite via un script de verification

  • les risques évoluent de gérer sa stack physique à gérer un prestataire et ses consequences de l'automatisation
  • pas de backup hors du prestataire…
Cloud

gVisor, un an après

Web

Flutter 1.5
Build your Angular application with Bazel
Build your own WebAssembly Compiler
W3C / WHATWG fusionnent
HTTP HEADERS du developpeur responsable

  • HSTS
  • Content-Security-Policy (upgrade insecure requests etc)
  • cache control, accept encoding (compression)
  • Accept and Accept CH
    • ramener un webp quand in .jpg est demandé
    • CH: tailles etc

Gluon reutilise GraalVM pour faire des applis mobiles native

Data

Elastic rend des fonctionnalités de sécurité gratuites mais pas open source
Changer le schéma de base de données automatiquement à SendGrid et à Square

Outillage

FreeCodeCamp quitte Medium

  • Medium pousse pour un paywall
  • les gens redecouvrent que les blogs sont distribués par nature
  • RSS FTW
Architecture

Pourquoi les microservices devraient vous faire plus peur

Méthodologies

GitHub sort GitHub Sponsors

  • sponsoriser un developer open source

Product placement sur Wikipedia

Loi, société et organisation

Google révoque la licence Android de Huawei : 5 questions pour comprendre ce que cela implique

Les développeurs chinois ont peur de perdre GitHub
La mairie de Paris vs créer son propre data center

  • Beaucoup de gens outrés qu'ils ne prennent pas OVH (securité, c'est un métier, etc)
  • Pourquoi c'est pas si con
    • durée de vie des données sur plus d'une vie humaine
    • marché public de ~ 5 ans max: bouger données tous les 5 ans bonjour
Conférences

BestOfWeb les 6 et 7 juin 2019
DevFest Lille le 14 juin 2019
Hack Commit Push 15 juin pour contribuer à de l'open source

  • presentation des projets au ParisJUG le 13 juin

Voxxed Days Luxembourg les 20 et 21 juin 2019
Sunny Tech les 27 & 28 juin 2019
JugSummerCamp le 13 septembre 2019 - Le CfP est ouvert.
DevFest Toulouse le 3 octobre 2019 - Le CfP est ouvert.
DevFest Nantes les 21 et 22 octobre 2019 - Le CfP est ouvert.
Voxxed Microservices 21 au 23 octobre 2019 et le CfP est ouvert.
ScalaIO du 29 au 31 octibre a Lyon. CFP ouvert jusqu'à fin juin. Thème programmation fonctionelle.
Devoxx Belgique du 4 au 8 novembre 2019
Bdx.io le 15 novembre 2019 - Le CfP est ouvert.
DevOps D-Day les 13 et 14 novembre 2019 - Le CfP est ouvert.
Codeurs en Seine le 21 novembre 2019

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/wdquestion](https://lescastcodeurs.com/crowdcasting/)
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 211 - Interview sur la virtualisation avec Quentin Adam27 May 201901:31:22

Quentin Adam (CEO de Clever Cloud) et Emmanuel discutent la stack de bas en haut, du physique au software sous l'angle de la virtualisation. Et bien sûr, une petite dérive de la conversation de temps en temps, parce qu'on le vaut bien.

Enregistré le 27 mars 2019

Téléchargement de l'épisode LesCastCodeurs-Episode–211.mp3

Interview Ta vie, ton oeuvre

@waxzce
Clever Cloud

Pourquoi virtualise-t-on ?

Para-virtualisation
Xen

Le processeur physique

CPU, registres, caches, bus mémoire
GPU

ASIC
CPU
FPGA

Protection ring

Le microcode

Un petit détour sur spectre et meltdown

Un OS et la virtualisation

Abstraction au hardware
Separation du temps CPU, memoire
Address virtuelle

QEMU
VirtIO
Spectre and Metldown

Container ("Isolateur")

Container vs zones vs jails vs VMs

Noyau en espace utilisateur

gVisor
ReiserFS
Kata Containers
WebAssembly

Et par rapport à Kata Containers par exemple ? ou KVM ?
Quels sont les avantages / inconvénients ?
(mémoire, sécurité/sandboxing, rapidité de démarrage…)

Modèle économique, recompilation pour le matériel physique et conclusion

Exherbo

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 210 - Javax is coming11 May 201901:42:47

Dans cet épisode, Guillaume, Arnaud et Audrey reviennent sur les derniers rebondissements des drama de la tech : le futur de Jakarta EE, Amazon vs l'Open Source … Et bien sûr on discute aussi technique avec les actualités de Elastic, JHipster, Micronaut, et plein d'autres.

Enregistré le 6 mai 2019

Téléchargement de l'épisode LesCastCodeurs-Episode–210.mp3

News

Apache Software Foundation joins GitHub open source community

Langages

La passation de support sur OpenJDK 8 et 11 d'Oracle à Red Hat (bug fixes et security ne viendront plus d'Oracle, comme prévu)
Support Docker dans Java 8
Baeldung propose plein d'articles sur Groovy avec des tutoriels sur des aspects variés des APIs proposées par le langage

Oracle ne veut plus qu'on utilise javax.

Librairies

Un nouveau framework de log… par Google
Introducing Spring Cloud Circuit Breaker
JHipster 6 est sorti

Middleware

Micronaut 1.1 released
Elastic Stack 7.0.0 released

Cloud

Essayer Java 11 sur Google App Engine et Java 8 sur Google Cloud Functions

GraalVM et Quarkus dispo sur Clever Cloud:

Azure tombe pour quelques heures

Web

Sortie de Node.js 12
Svelte3
Native image lazy-loading for the web!
Update Regarding Add-ons in Firefox

A Conspiracy To Kill IE6

Outillage

Développement remote avec VSCode

Architecture

You Are Not Google

Méthodologies

Les projets ont besoin de héros

  • 80% des commits fait par 20% de gens: ce sont les projets majoritaires sur GitHub
Sécurité

DockerHub hack et le risque sur les images

Loi, société et organisation

Rectificatif sur la bataille Elastic - AWS de l'épisode 208 avec l'aide de Fabien Baligand

AWS : il regarde si tu as du succès et pouf il te bouffe

La license anti abus du droit du travail en Chine

RGPD : la CNIL prévient qu'elle sera désormais moins conciliante

Defining a Distinguished Engineer

Trou noir : l'ingénieure Katie Bouman qui a contribué à la photo est victime de cyberharcèlement

Manifeste écologique des professionnel·le·s de l'informatique

Outils de l'épisode

Crowdcast Eclipse Che par Manuel Payet

Rubrique débutant

How to use the JavaScript console: going beyond console.log()

Conférences

Crowdcast Hack Commit Push à Paris le samedi 15 juin par Florent Biville

Dégaine - un compte à rebours à deux faces

Riviera Dev du 15 au 17 mai 2019
NCrafts les 16 et 17 mai 2019
Mix-it les 23 et 24 mai 2019
BestOfWeb les 6 et 7 juin 2019
DevFest Lille le 14 juin 2019
Voxxed Days Luxembourg les 20 et 21 juin 2019
Sunny Tech les 27 & 28 juin 2019 à Montpellier
JugSummerCamp le 13 septembre 2019 - Le CfP est ouvert.
DevFestNantes les 21 et 22 octobre 2019 - Le CfP est ouvert.
Codeurs en Seine le 21 novembre 2019

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/wdquestion](https://lescastcodeurs.com/crowdcasting/)
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 209 - Les 10 ans des cast codeurs à Devoxx France27 Apr 201900:45:52

Cet épisode en direct de Devoxx France est l'occasion pour la fine équipe de repondre aux questions que vous nous avez posé.

Enregistré le 19 avril 2019

Téléchargement de l'épisode LesCastCodeurs-Episode–209.mp3

Le plus sympa pour vous sera quand même de voir l'épisode sur YouTube.

Session Ask Me Anything

Devoxx France

Merci à JFrog pour la bière et la Nintendo Switch !
Le tirage au sort echo $[RANDOM%400]

Posez nous toutes vos questions pour l'épisode live des Cast Codeurs à Devoxx

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 208 - Si après 10 ans d'open source, t'as pas ta fondation, t'as raté ta vie08 Apr 201901:37:53

Dans cet épisode en tête à tête Arnaud et Audrey discutent des nouveautés de Java 12, des dernières versions de Vert.x, Kubernetes ou Traefik mais aussi open source et fondations, et bien d'autres choses encore.

Enregistré le 4 avril 2019

Téléchargement de l'épisode LesCastCodeurs-Episode–208.mp3

News

Posez nous toutes vos questions pour l'épisode live des Cast Codeurs à Devoxx
L'ASF a 20 ans

Langages

The arrival of Java 12!

JEP draft: Add detailed message to NullPointerException describing what is null

Frameworks

Spring Boot 2.2 M1
Utiliser JUnit 5 avec Spring-Boot

Librairies

Flight of the Flux 1 - Assembly vs Subscription

Middleware

Eclipse Vert.x 3.7.0 released!

Infrastructure

Testcontainers-java 1.11.0

Introducing Kraken, an Open Source Peer-to-Peer Docker Registry

Kubernetes 1.14: Production-level support for Windows Nodes, Kubectl Updates, Persistent Local Volumes GA

Pimp My Kubernetes Shell

Back to Traefik 2.0

Web

Mozilla lance WASI: WebAssembly System Interface

Preact X is here

Le TC39 a maintenant son repository GitHub

Introducing the OpenJS Foundation: The Next Phase of JavaScript Ecosystem Growth

Cache-Control for Civilians

Outillage

Nouvelle Continuous Delivery Foundation

Gradle Entreprise pour accélerer votre build maven

Creating a commit on behalf of an organization

Architecture

Nouvelle GraphQL Foundation

Loi, société et organisation

La guerre de l'open source continue :

Le parlement européen a voté pour la directive sur le droit d'auteur:

Après avoir viré les travailleurs en remote, IBM vire les vieux

Les effets des interruptions au travail

Turing Award Won by 3 Pioneers in Artificial Intelligence

Qui est Cédric O, nouveau secrétaire d'État au numérique et remplaçant de Mounir Mahjoubi ?

Outils de l'épisode

Peacock v1 Released

Conférences

Devoxx France du 17 au 19 avril 2019 - sold out
VoxxedCERN le 1er mai 2019
Riviera Dev du 15 au 17 mai 2019
NCrafts les 16 et 17 mai 2019
Mix-it les 23 et 24 mai 2019
BestOfWeb les 6 et 7 juin 2019
DevFest Lille le 14 juin 2019
Voxxed Days Luxembourg les 20 et 21 juin 2019
Sunny Tech les 27 & 28 juin 2019
JugSummerCamp le 13 septembre 2019 - Le CfP ouvre bientôt.
Codeurs en Seine le 21 novembre 2019

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 207 - Interview sur Quarkus avec Emmanuel Bernard26 Mar 201901:36:08

Dans cet épisode, Arnaud et Antonio discutent de Quarkus avec Emmanuel Bernard.

Enregistré le 13 mars 2019

Téléchargement de l'épisode LesCastCodeurs-Episode–207.mp3

Interview Ta vie, ton œuvre

@emmanuelbernard
Site web d'Emmanuel Bernard

  • D'où viens-tu ? Ta vie avant Red Hat.
  • Hibernate, Bean validation, Quarkus, mais tu fais quoi en fait chez Red Hat (IBM pardon) ?
Quarkus, pourquoi ?

Quarkus
GraalVM
Eclipse Reactive Messaging

  • C'est quoi ce nom ?

A Kubernetes Native Java stack tailored for GraalVM & OpenJDK HotSpot, crafted from the best of breed Java libraries and standards

  • Container first philosophy
    • Démarrage rapide
    • Emprunte mémoire (et disque) réduite
  • Que peut-on faire avec ?
    • Antonio peut faire des EJBs ? Hibernate peut-être ?
    • Quels sont les case d'usages ? Micro-Services, FAAS, Serverless, …
  • Comment le comparer avec Spring-Boot ? Micronaut ?
  • 100% open-source ?
    • Mais uniquement Red Hat ?
    • Pourquoi l'avoir caché ?
Quarkus, comment ?
  • La stack technique
    • Graal/SubstrateVM
    • OpenJDK
    • Kubernetes
    • Quoi d'autre ?
  • Java ou Kotlin ?
  • Programmation Reactive ou Imperative ?
  • Le développement: Live coding & Hot Reload
  • L'eco-systeme: CDI, JAX-RS, RestEasy, Eclipse MicroProfile, Vert.x, JTA, JPA, Apache Camel, …
    • Arnaud ne peut donc pas coder avec Spring(-Boot) and Spring-Data ?
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 206 - Les petits secrets du boss12 Mar 201901:28:19

Un épisode avec des news on ne peut plus fraîches puisqu'Antonio, Audrey et Vincent y parlent de Quarkus, mais aussi d'Elastic, de web et de sécu, mais aussi quelques réflexions sur le métier de développeur.

Enregistré le 8 mars 2019

Téléchargement de l'épisode LesCastCodeurs-Episode–206.mp3

News Langages

JDK12 First Release Candidate Java is Still Free 2.0.0

Quarkus

Frameworks

Spring Boot 2.1.3 available now

Middleware

Lancement de la Suite Elastic 6.6.0
Apache Kafka leaves the zoo

Infrastructure

Secret Design Docs: Multi-Tenant Orchestrator

Web

A plan for version 8.0 and Ivy
Funding ESLint's Future
Announcing the Ionic React Beta
Authentication in SPA (ReactJS and VueJS) the right way

Méthodologies

Arnaud Lemaire - Entre industrialisation et artisanat, le métier de développeur
Journée de travail, ou journée au travail ?

Sécurité

Top ten most popular docker images each contain at least 30 vulnerabilities
CVE–2019–3778: Spring Security OAuth 2.3.5, 2.2.4, 2.1.4, 2.0.17 Released
Kubernetes Security Announcement - v1.11.8, 1.12.6, 1.13.4 released to address medium severity CVE–2019–1002100
Runc and CVE–2019–5736

Loi, société et organisation

Ligue du LOL, contenus haineux en ligne, anonymat et pseudonymat

Directive droit d'auteur : les articles 11 et 13 ont été finalisés et c'est peut-être le moment de paniquer

Facebook ordered to stop combining WhatsApp and Instagram data without consent in Germany

Outils de l'épisode

Welcome to the universe of HyperText
Clance Impostor Phenomenon Test

Rubrique débutant

Every Linux networking tool I know

Conférences

Breizh Camp du 20 au 22 mars 2019
Greach (Madrid) du 28 au 30 Mars 2019
Devoxx France du 17 au 19 avril 2019 - sold out
VoxxedCERN le 1er mai 2019
Riviera Dev du 15 au 17 mai 2019
NCrafts les 16 et 17 mai 2019
Mix-it les 23 et 24 mai 2019
BestOfWeb les 6 et 7 juin 2019
DevFest Lille le 14 juin 2019 - Le CfP est ouvert.
Voxxed Days Luxembourg les 20 et 21 juin 2019
Sunny Tech les 27 & 28 juin 2019 à Montpellier

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 205 - Interview analyse de l'industrie avec Sacha Labourey21 Feb 201901:05:32

Emmanuel et Sacha discutent de l'état de l'industrie informatique aujourd'hui. Leur analyse pertinente n'engage que ceux qui y croient.

Enregistré le 19 février 2019

Téléchargement de l'épisode LesCastCodeurs-Episode–205.mp3

Interview Ta vie, ton œuvre

Sacha à CloudBees

IBM et Red Hat

L'acquisition de Red Hat et les discussions d'achat avec Microsoft, Google et Amazon

Les petits poissons dans un univers de méga plateformes a la AWS Les nouveaux standards : Jakarta EE, microprofiles Le JDK -> Les JDKs

Les JDK et autre, c'est moins mon dada

Kubernetes vs… y a-t-il autre chose ;) Les licences Common Clauses etc (MongoDB, Redis, Confluent, etc)

OSI

La prochaine consolidation, les développeurs qui reviennent sur le devant de la scène Conclusion

Les commerciaux ça ose tout, c'est à ça qu'on les reconnait !

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 303 - Interview sur Vert.x 4.5 avec Julien Viet04 Dec 202300:47:58

Ce qui a commencé comme un crowdcast a fini en interview de Julien Viet sur Vert.x 4.5.

Enregistré le 23 novembre 2023

Téléchargement de l'épisode LesCastCodeurs-Episode-303.mp3

Interview Ta vie ton oeuvre (présentation de l'interviewé)

Le site de Julien Viet
X (ancien twitter)

Vert.x 4.5

Vert.X 4.5 est sorti https://vertx.io/blog/whats-new-in-vert-x-4-5/

  • support des thread virtuels qui permet d'écrire le code synchrone pour des cas complexes et utiliser les thread locaux dans ces cas la. Cela ne remplacement pas le code de process des événements
  • le code put faire des future await qui ne bloqueront pas le thread principal
  • connection SQL dynamique: quand le host change dynamiquement dans l'application
  • support des proxies de niveau 7 pour les clients SQL
  • rotation certificats a chaud
  • des builders (HTTP, SQL connection)
  • extensions pour utiliser les coroutines kotlin
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/

LCC 204 - Silicon Valley, ton univers impitoyable10 Feb 201901:38:14

Dans cet épisode, les voisins d'Arnaud ont essayé de le réduire au silence tandis qu'Antonio tentait de faire taire Audrey. Les voisins d'Arnaud ont gagné grâce à la perceuse, mais Antonio, lui, a perdu. Résultat : un épisode news où deux cast codeurs et demi discutent de l'actualité de vos languages et frameworks préférés, mais aussi de l'actualité des géants de la tech, et ça, c'est pas toujours joli.

Enregistré le 8 février 2019

Téléchargement de l'épisode LesCastCodeurs-Episode–204.mp3

News Langages

JDK 11.0.2 General-Availability Release + JDK 12 RC
GraalVM 1.0-RC11
* GraalVM with Groovy and Grape - creating native image of a standalone script
Go 1.11.5 and Go 1.10.8 are released
* Un livre blanc pour démarrer en GO

Frameworks

Spring Framework 5.1.4, 5.0.12 and 4.3.22 available now

Netflix OSS and Spring Boot — Coming Full Circle

Middleware

JHipster release v5.8.0
Micronaut 1.0.4

Infrastructure

The future of Kubernetes is Virtual Machines

Web

Node v11.8.0
Angular 7.2.0

Vue 2.6 released
Lightning-fast templates & Web Components: lit-html & LitElement
React v16.8: The One With Hooks
Google Play Store now open for Progressive Web Apps
Browser diversity starts with us.
Le bloqueur de pubs de Chrome va être déployé globalement

Data

Infinispan 10.0.0 Alpha3 and 9.4.6 final

Outillage

Spring Framework's Migration from Jira to GitHub Issues
Spring Boot in Visual Studio Code
Travis CI joins the Idera family
Jenkins crée et rejoint la Continuous Delivery Foundation au sein de la Linux Foundation
GitLab 11.7
Gradle 5.2

Sécurité

Google DNS Service (8.8.8.8) Now Supports DNS-over-TLS Security

Loi, société et organisation

Oracle v. Google and the future of software development

AWS vs l'Open Source, la suite

Première amende pour non conformité au RGPD, de 50 millions d'euros à l'encontre de Google

Facebook continue à se distinguer …

Article 13 is back on – and it got worse, not better

Conférences

DevFest Du Bout du Monde le 22 février 2019
ConFoo Montreal 2019 du 13 au 15 Mars 2019
Breizh Camp du 20 au 22 mars 2019
Greach (Madrid) du 28 au 30 Mars 2019
Devoxx France du 17 au 19 avril 2019 - sold out
VoxxedCERN le 1er mai 2019
Riviera Dev du 15 au 17 mai 2019
NCrafts les 16 et 17 mai 2019
Mix-it les 23 et 24 mai 2019
BestOfWeb les 6 et 7 juin 2019
DevFest Lille le 14 juin 2019 - Le CfP est ouvert.
Voxxed Days Luxembourg les 20 et 21 juin 2019 - le CfP est ouvert.
Sunny Tech les 27 & 28 juin 2019 à Montpellier - Le CfP est ouvert.

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 203 - Panel sur l'Open Source au YAJUG24 Jan 201901:41:20

Audrey, Arnaud, Vincent et Emmanuel participent à un panel sur l’Open Source à l’occasion d’une session du YaJUG.

Enregistré le 18 décembre 2018

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

Interview

Les Cast Codeurs au YAJUG

Apache

Eclipse

CNCF

Confluent change de licence

Open source et sa crise de la quarantaine

Sustainable and free open source communities

OpenJDK

Code de conduite et comportement dans les communautés

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 202 - Marmotte, lutins et JDK14 Jan 201901:35:41

Dans cet épisode Guillaume, Audrey et Emmanuel reviennent sur les actualités de la fin d’année 2018 mais aussi des prédictions pour 2019. On discute JDK, management, open source mais aussi marmotte, licornes et lutins.

Enregistré le 9 janvier 2018

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

News

L’informatique devient une discipline avec son CAPES d’informatique et plus tard son agrégation d’informatique

La marmote est de retour

Langages

Java in 2019 - Some Predictions

Groovy 2.5.5 et 3.0-alpha–4

Red Hat support OpenJDK sous Windows

Garbage Collector Shenandoah dans JDK 12

Frameworks

Hystrix en maintenance

Micronaut ajoute le support du modele de programmation Spring Boot

Web

Edge rebase sur Chromium, WTF!

Outillage

Tactiques de déboguage

Gradle 5.1


  • Avec un teaser du support de Maven dans la version Enterprise

Docker Commands — The Ultimate Cheat Sheet

GitLab Security Release

New year, new GitHub!

AsciidoctorJ 1.6.0


  • ca va péter!

Deptective


  • casse le build si des packages dépendent de packages non autorisés

Architecture

L’art du diagramme d’architecture

Migrer de MongoDB vers Postgres: le proces du Guardian

Méthodologies

Le pendule manager/ingénieur
Et la suite Monter l’échelle our faire le pendule

Monorepos, please don’t

Sécurité

In January, the EU starts running Bug Bounties on Free and Open Source Software

Loi, société et organisation

Confluent change de licence

Open source confronts its midlife crisis

Sustainable Free and Open Source communities

Le deep fake, nouvelle menace de désinformation mais pas seulement

Pour une éthique des algorithmes

Outils de l’épisode

Scratch 3

Rubrique débutant

The mother of all demos

Conférences

Snowcamp du 23 au 26 Janvier 2019

Touraine Tech le 1er Février 2019

DevFest Paris le 8 Février 2019

DevFest Du Bout du Monde le 22 février 2019

ConFoo Montreal 2019 du 13 au 15 Mars 2019

Breizh Camp du 20 au 22 mars 2019 - Le CfP est ouvert jusqu’au 20 janvier.

CfP Greach (Madrid) du 28 au 30 Mars 2019

Devoxx France du 17 au 19 avril 2019 - sold out mais il y a une liste d’attente

Riviera Dev du 15 au 17 mai 2019

NCrafts les 16 et 17 mai 2019

Mix-it les 23 et 24 mai 2019 - Le CfP est ouvert jusqu’au 20 janvier.

BestOfWeb les 6 et 7 juin 2019

DevFest Lille le 15 juin 2019 - Le CfP est ouvert.

Sunny Tech les 27 & 28 juin 2019 à Montpellier - Le CfP est ouvert.

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 201 - Interview Kotlin avec Cédric Beust et Sébastien Deleuze22 Dec 201801:35:21

Dans cet épisode, Audrey et Emamnuel discutent de Kotlin avec Cédric Beust et Sébastien Deleuze. On y parle du langage de sa communauté et de son écosystème.

Enregistré le 12 octobre 2018

Téléchargement de l'épisode LesCastCodeurs-Episode–201.mp3

Interview Ta vie, ton oeuvre

Twitter Cédric
Twitter Sébastien

Kotlin en deux phrases

Kotlin is awesome
Try Kotlin!
Kotlin blog
Kotlin reference documentation
Kotlin Slack
Kotlinconf 2018 with videos
Talking Kotlin podcast
Kotlin + Spring Boot tutorial
My call for Kotlin as a major frontend language

Le langage

Quelles sont les fonctionnalités clés du langage
Null safety, extensions, data class, sealed class
Co-routines c'est quoi (zoom)
DSL

Quelles sont les inspirations de ce langage ?
Pourquoi JetBrains ont ils décidé de créer ce langage ? Avait on besoin d'un énième langage ?

Quel différenciateur vs reste
Early adopteurs, par rapport à la "concurrence" qu'est-ce qui vous a fait l'utiliser ?

Par rapport aux autres langages candidats modernes, votre point de vue

Le mix Object Oriented et fonctionnel, c'est le nouveau OO ?
Java 8, 9+ a atténué l'attrait?

Je peux mixer Kotlin et Java dans une même base de code ?
En particulier, tu peux même avoir des dépendances circulaires, genre une interface Java, une classe implémentée en Kotlin, et tu ré-étends cette classe en Java ? (et vice versa)
Est-ce que l'intégration Java / Kotlin est vraiment transparente, ou bien c'est plus compliqué que ça ?

Que quelles étapes parle-t-on pour rentre une API ou un framework "native" Kotlin ?

Sous le capot

Un langage de plus haut niveau: plus lent, plus gourmand en mémoire ?
Quid du boxing et type primitifs ?

Les utilisateurs type

Android
Gradle
Quels sont les utilisateurs type

L'écosystème

Build
Framework applicatif
Accès aux données
Tests : mock vs Mockito
Arrow

Y a-t-il une tendance "Kotlin native" (i.e. écrit en Kotlin)

L'influence sur les frameworks et les plateformes

Ecrire des APIs et des frameworks pour Kotlin, quel retour d'experience.

Communauté et futur 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 200 - Edition doublage05 Dec 201801:21:46

Guillaume, Vincent, Emmanuel et Arnaud passent en revue les 100 premiers épisodes des cast codeurs pour parler les nouvelles et des interviews les plus marquantes.

Enregistré le 4 decembre 2018

Téléchargement de l'épisode LesCastCodeurs-Episode–200.mp3

Top des nouvelles les plus marquantes
  • Episode –200 2000: EJB 1 et JSP 0.97
  • Episode 1 2009: IBM rachète Sun (ou pas) http://tech.yahoo.com/news/nm/20090318/tc_nm/us_sunmicro_takeover_ibm
  • Episode 1 2009: Project coin (JDK) http://openjdk.java.net/projects/coin/
  • Episode 1 2009: Java EE 6
  • Episode 3 2009: Oracle rachète Sun
  • Episode 20 2010: Gosling quitte Oracle, Kohsuke quitte Sun
  • Episode 18 2010: JDuchess France
  • Episode 22: Lettre de Steve Jobs sur Flash
  • Episode 30: IBM rejoins OpenJDK ** Du rififi au JCP (personnes démissionnent)
  • Episode 35 2011: Jenkins!
  • Episode 39 2011: Amazon EC2 tombe ** Hyper concentration
  • Episode 43–44–47: Ceylon et puis Kotlin et puis Dart ** https://flutter.io
  • Episode 79 2013: Java 8 retardé, Java EE 7 validé
  • Episode 86 2013: Spring Boot
Top des pires news
  • Episode 3 2009: Spring Roo
  • Episode 5 2009: Google Wave
  • Episode 69 2012: APIs et copyright
Top des interviews les plus marquantes
  • Episode 8 2009: Interview de Romain Guy sur Google Android
  • Episode 17 2010: Play Framework
  • Episodes 19–21 2010: Indépendants
  • Episode 23 2010: Git (David Gageot)
  • Episode 29 2010: LA forge logicielle (DeLoof, Arnaud et Vincent)
  • Episode 36 2011: OpenSource (par les cast codeurs)
  • Episode 45 2011: Méthodes agiles
  • Episode 63 2012: W3C (Alexandre Bertails)
  • Episode 80–82 2013: Rémi Forax sur la JVM les langages et le middleware
  • Episode 89 2013: Infrastructure as code Patrick Debois
  • Episode 98 2014: CQRS et EventSourcing (Jeremie Chassaing) (Guillaume)
  • Episode 100 2014: Interview Tariq Krim sur le rapport au gouvernement
Top des outils de l'épisode
  • Episode 3 2009: Mindmap
  • Episode 3 2009: Mercurial supérieur à Git
  • Episode 18 2010: Mitaines
  • Episode 30 2010: La bite et le couteau
  • Episode 55 2012: Byteman
  • Episode 86 2013: Tig
  • Episode 93 2013: Size Up
Premières mentions:
  • Episode 5 2009: Jigsaw
  • Episode 7 2009: G1
  • Episode 9 2009: Devoxx (vs Javapolis)
  • Episode 16 2010: premier meetup NoSQL en France
  • Episode 18 2010: HTML5
  • Episode 53 2012: SOPA PIPA ACTA
  • Episode 50 2011: Devoxx France
  • Episode 59 2012: vert.x
  • Episode 68 2012: Lambda
  • Episode 72 2013: Interview closure avec José et David G
  • Episode 69 2012: Burnout
  • Episode 93 2013: Code of Conduct
  • Episode 96 2014: Docker (Par Deloof)
  • Episode 99 2014: microservices
Autre
  • Episode 5 2009: première du normandie jug
  • Episode 9 2009: les programmeurs et la trentaine
  • Episode 26 2010: JUG Summer Camp
  • Episode 2011: Programming Motherfucker manifesto
  • Episode 48: Scala est-il dur (période)
  • Episodes ~70: Java et la sécurité
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 199 - Devoxx Belgique 201820 Nov 201801:02:05

Audrey, Guillaume et Emmanuel discutent des tendances et des présentations marquantes de Devoxx Belgique et de Voxxed Microservices.

Enregistré le 16 novembre 2018

Téléchargement de l'épisode LesCastCodeurs-Episode–199.mp3

News Voxxed Microservices

Voxxed Microservices

Keynote diversité

Keynote sur YouTube

Devoxx Les keynotes

Amazon Corretto
Keynote Venkat
La version du ParisJUG - part 1
La version du ParisJUG - part 2
Keynote Mark Reinhold

Patreon

Soutenir les cast codeurs
Porte jaretelle chaussette et chemises

Tendances

Kotlin
GraalVM
Reactive
Kubernetes (istio, tools…)
Microservices
Event driven / sources + Kafka
Micronaut Les handicaps

Des présentations spécifiques

Event Sourcing - You are doing it wrong
Next Generation Web Application End-to-End Testing (Cypress.io)
Introducing to Micronaut: Lightweight Microservices with Ahead of Time Compilation
Spring Boot with Kotlin, functional configuration and GraalVM - Sébastien Deleuze JaFu, KoFu
Flight of the Flux: a look at Reactor's execution model - Simon Baslé (Pivotal)
Ways of improv-ing work and life #DifferentKindOfTalk - Alexandros Zotos
Sitting Considered Deadly - Marek Stój
Less Process, more Guidance with a Team Playbook - Sven Peters
Why you're failing your remote workers - Vincent Kok (Atlassian)

Ignite : le code en chantant

Agile is a Dirty Word- James Birnie

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 198 - le mauvais open sourceur, il voit un code, et il opensource09 Nov 201801:27:35

Vincent, Guillaume et Arnaud enfilent leur slip des cast codeurs par dessus leur pantalons pour vous parler d'AdoptOpenJDK, de Spring Boot, de Micronaut, de Kubernetes, de Google App Engine, des vieux pôts de l'écosystème java dans lesquels ont fait les meilleures soupes, de piscem vorat maior minorem et d'un long outil de l'épisode sur TestContainers.

Enregistré le 6 novembre 2018

Téléchargement de l'épisode LesCastCodeurs-Episode–198.mp3

News Langages

The AdoptOpenJDK Java 11 builds
Présentations Java de Oracle Code One listées par Sharat Chandler
Running Java code from the source, un article d'Andres Almiray montrant comment on peut lancer du code Java directement sans pré-compilation

Focus sur les closures en JavaScript par Wassim Chegham qui continue sa série sur les bases de JavaScript

Librairies

Spring Boot 2.1.0 est sorti

Micronaut 1.0 est sorti

Infrastructure

Kubernetes 1.12 (What's new by Rancher)
Comment dockeriser facilement des applis Java avec Jib (outil que nous avions couvert avec David Gageot)

Cloud

Github Actions: c'est un peu le IFTTT de Github pour le CI/CD, pour automatiser le workflow de développement

Secrets in Serverless par Seth Vargo qui couvre différentes approches pour cacher des secrets (mots de passe, etc) quand on utilise des solutions Serverless .
Node 10 sur Google App Engine sorti en beta en même temps que la release de Node 10
Go 1.11 sur Google App Engine également disponible en beta

Data

Redis modules forked pre-common clause. GoodFORM va-t'il (sur)vivre?
MongoDB change sa licence pour tirer parti de la manne des installations cloud de MongoDB
Le problème des licences avec Copyleft

Outillage

JVM Ecosystem Report 2018 - Quel est le plus gros concurrent à JenkinsCI ?
Apache Maven 3.6.0 plus CI Friendly avec un usecase pour les releases incrémentales chez Jenkins

Sécurité

50 millions de comptes compromis chez Facebook
CERTFR–2018-ALE–011 - Vulnérabilité dans le client Git + Nombreux avis de sécurité sur CERT-FR

Loi, société et organisation

Publicis va acquérir Xébia France
IBM va acquérir Red Hat
VMware / Pivotal vont acquérir Heptio

Outils de l'épisode

TestContainers

Rubrique débutant

Apprendre Apache Maven, l'outil de gestion et d'automatisation de production des projets logiciels sur developpez.com (ou sur GitHub)

Conférences

DevFest Toulouse le 8 novembre 2018 - sold out.
Bdx.io le 9 novembre 2018 - sold out.
Devoxx Belgique du 12 au 16 novembre 2018 - sold out.

DEVOPS D-DAY 2018 le 15 Novembre à Marseille.
Codeurs en Seine le 22 novembre 2018.

Snowcamp du 23 au 26 Janvier 2019.

CfP DevFest Paris le 8 Février 2019
CfP ConFoo Montreal 2019 du 13 au 15 Mars 2019
CfP Greach (Madrid) du 28 au 30 Mars 2019

Le site du Paris JUG
Le CFP de la soirée Young Blood VI

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 197 - Interview SpringOne Platform avec Sébastien Deleuze et Brian Clozel13 Oct 201800:56:39
LCC 196 - CORS Lille debout T01 Oct 201801:14:53

Dans cet épisode, Emmanuel et Guillaume vous parlent de JDK 11, 12, 9, de GraalVM, de Kotlin, de Java et Jakarta EE, de serverless, de multi cloud, de consistance de données, de Linux, de l'Europe, de Bercy. Mais pas que !

Enregistré le 25 septembre 2018

Téléchargement de l'épisode LesCastCodeurs-Episode–196.mp3

News Langages

Comprendre Java 9 et plus, on recommence:

Java 11 sort aujourd'hui
Exemple d'utilisation de HttpClient de Java 11 (avec GSON pour marshalling JSON)
JShell en profondeur sur InfoQ
Concise method bodies

Le podcast sur la circoncision

Java reflection, but much faster, from OptaPlanner
The Graal Frenzy par Julien Ponge
Les co-routines en Kotlin et structured concurrency
Voir aussi Java project Loom

Runtimes

Mettez à jour vos Jackson à la version 2.9.7

La suite de test de Java EE est open source
La roadmap d'Eclipse Glassfish

Oracle annonce Helidon

Infrastructure

LogDevice de Facebook, un homologue de Apache Kafka
LogDevice vs Kafka

Cloud

Séries sur Spring Cloud sur GCP par Josh Long
Serverless best practices
Multi cloud is a trap

NewSQL échouent dans leurs garanties et j'accuse Spanner

Web

Axa supprime son appli mobile: voilà pourquoi ?
CORS un article explicatif

Outillage

Qui a la plus grande sur GitHub en Open Source

Méthodologies

Le désenchantement dans le développement logiciel

Sécurité

Protéger l'identité contre silhouette
Faille de sécurité dans la distribution alpine utilisée dans les images docker

Loi, société et organisation

Linux se dote d'un code de conduite

L'union Européenne adopte la directive sur le droit d'auteur:

Ouverture des « sources » du simulateur économique de Bercy

Outils de l'épisode

Pouvoir faire un checkout de la pull request GitHub

git config --global --add remote.origin.fetch "+refs/pull/*/head:refs/remotes/origin/pr/*" git fetch origin # And then git checkout pr/123 Rubrique débutant

Les changements d'états dans Git

Conférences

Paris Web les 4, 5 et 6 octobre 2018.
DevFest Nantes les 18 et 19 octobre 2018 - sold out.
Jenkins World Europe du 22 au 25 octobre 2018 à Nice - (utilisez le code JWAHERITIER pour obtenir 20% de réduction).
VoxxedDays Microservices du 29 au 31 octobre 2018.
DevFest Toulouse le 8 novembre 2018.
Devoxx Belgique du 12 au 16 novembre 2018 - sold out.
Bdx.io le 9 novembre 2018 - sold out.
Codeurs en Seine le 22 novembre 2018. Snowcamp du 23 au 26 janvier 2019.

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 195 - Interview panorama de l'écosystème Kubernetes avec David Gageot15 Sep 201800:40:30

Guillaume s'assoie avec David Gageot pour discuter une partie de l'écosystème Kubernetes. C'est probablement le premier épisode d'une série sur Kubernetes.

Enregistré le 11 septembre 2018

Téléchargement de l'épisode LesCastCodeurs-Episode–195.mp3

Interview

Merci aux premiers auditeurs qui ont sauté le pas en nous soutiennent sur Patreon https://www.patreon.com/LesCastCodeurs.

Ta vie, ton œuvre

David Gageot

Kubernetes

Orchestrateur open source de containeurs, avec déploiement, scaling et management automatisé.
Kubernetes

Istio

Un "service mesh" open source pour connecter, sécuriser, contrôler, monitorer vos applications sur Kubernetes.
Istio
Run El Capitan, macOS Sierra, High Sierra and Mojave on QEMU/KVM

Knative

Des blocs de construction de base, open source, pour créer des plateformes serverless sur Kubernetes, développé par Google, Pivotal, Red Hat, IBM, SAP et d'autres.
Knative

Skaffold

Outil open source en ligne de commande pour faciliter le développement continu sur d'applications sur Kubernetes.
Skaffold

Jib

Outil open source pour containeuriser des applications Java, avec plugins Maven et Gradle associés, pour builder rapidement, de manière reproductible, sans avoir recours au démon Docker.
Jib

Distroless

Images Docker légères ne contenant que le système d'exploitation, les dépendances, et l'application elle-même, supportant Java, Go, .Net, Python ou Go.
Distroless

Kaniko

Outil open source pour builder des images à partir d'un Dockerfile, dans un conteneur ou dans un cluster Kubernetes, sans avoir besoin du démon Docker.
Kaniko

Gvisor

Un noyau en user-space écrit en Go, pour créer des conteneurs sandboxés.
gvisor

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 302 - Amour, Gloire et OpenAI27 Nov 202301:34:26

Dans cet épisode, Emmanuel, Guillaume et Katia abordent les nouveautés Java, le lancement du langage Misty par Douglas Crockford, l'arrivée de WasmGC dans Chrome, la sortie de Spring Framework 6.1, des évolutions dans les bibliothèques comme Vert.x 4.5, et des conseils sur la création de langages de programmation. L'épisode couvre également des actualités dans les domaines de l'infrastructure avec le premier ordinateur cloud commercial par Oxide, des annonces sur les frameworks web comme Angular v17, des réflexions sur les architectures monolithiques versus microservices, et sans oublier le soap Opéra du moins de novembre avec OpenAI en vedette.

Enregistré le 23 novembre 2023

Téléchargement de l'épisode LesCastCodeurs-Episode-302.mp3

News Langages

Recap Javaiste https://www.infoq.com/news/2023/10/java-news-roundup-oct09-2023

  • la JEP 454 sur l'appel a la memoire et les API dites natives passera en target pour JDK 22 avec une façon d'ajouter les appels de méthodes restreintes sans le flag --enable-native-access (via un manifeste dans le JAR)
  • JDK 22 prévu pour mars 2024
  • Spring Framework 6.1 est sorti (RC2)
  • Tomcat a quelques CVE donc mettez à jour

Douglas Crockford, le papa de JSON, sort un nouveau langage dénommé Misty https://www.crockford.com/misty/

  • Utilise des caractères unicodes pour définir des chaînes de caractères avec des chevrons, ou pour les opérateurs de base (comparison, and/or)
  • Support de programmation concurrente avec les actors

WasmGC arrive dans Chrome, par l'intermédiaire de v8 https://v8.dev/blog/wasm-gc-porting

  • historiquement il fallait compiler le port du langage lui meme (et donc son GC)
  • Maintenant on peut compiler le code (java) dans des primitives Wasm et WasmGC
  • Java python et co ont des VM qui sont compilées pour toutes les architecture cibles (ARM, x86 etc) y compris le JIT, AOT
  • donc on peut définir comme backend WASM lui meme, c'est l'approche classique
  • WasmGC définit des structs et des array avec des champs dans lesquels on peut créer des instances, lire/écrire les champs, caster dans d'autres types et ces objects sont managés par WasmGC lui meme. on a un système de type du coup et des relations entre ces types
  • Donc on représenterait les objets Java en objets Wasm
  • avantage et inconvenient des deux approches
  • tous les codes de management d'objets ne sont plus nécessaires (y compris malloc) -> gain memoire
  • en mode GC dans le langage les liens object langage <-> objets Wasm sont inefficaces car le lien langage -> wasm définissent l'instance entière Wasm, donc des gros cycles d'objets ne sont pas GCed
  • Wasm sandbox empêche d'inspecter la stack et d'éliminer des objets plus efficacement, et il n'y a pas d'API pour aider donc seul WasmGC peut utiliser cet avantage.
  • un seul GC a des avantages: meilleure gestion de la pression memoire
  • mais on réutilise le GC du web (genre V8) vs celui de Java. (c'est moins un problème pour les autres langages avec des gc moins sophistiqués)
  • fragmentation memoire, est plus proéminent quand on a des modules de type C qui peur garder des gros blocs memoire "quasi vide" (opaque). c'est managé plus finement en WasmGC
  • Sémantiques de langage est plus dur a achevé vu qu'on map en concepts WasmGC, il y a de la transformation.
  • sémantiques chaine de caractère, nombres, etc peuvent être un peu ajusté
  • un port utilisant WasmGC n'est pas une réécriture de tout mais un gros morceau de la VM du langage cible est a réécrire
  • WasmGC peut optimiser comme les patterns en JVM mais en WasmMVP c'est la toolchain avant qui fait le travail d'optimisation (e.g. LLVM)
  • donc avec WasmGC, la toolchain fera les optimisations de langage et WasmGC fera les optimisations low level (inlining, constant propagation, dead code elimination)
  • puis d'autres optimisation specific a WasmGC comme les escape analysis,
  • et ils parlent d'optimisations dans V8 pour approcher les appels dynamique a la Java (pas défini a la compilation)

Ecrire un langage de programmation… ça prend du temps… beaucoup de temps https://yorickpeterse.com/articles/a-decade-of-developing-a-programming-language/

  • Évitez le gradual typing
  • Évitez le boostrapping de votre compilateur
  • Évitez d'écrire votre propre générateur de code, linker, etc
  • Évitez de tergiverser trop longtemps sur la syntaxe
  • La prise en charge multiplateforme est un défi
  • Les livres sur les compilateurs compilateurs ne valent pas l'argent que vous dépenserez dessus
  • Faire grandir et évoluer un langage de programmation est difficile
  • La meilleure suite de tests est une application réelle
  • Ne privilégiez pas les performances sur les fonctionnalités.
Librairies

Spring Boot rajoute le hot reload des certificats SSL pour embedded Netty et Tomcat https://spring.io/blog/2023/11/07/ssl-hot-reload-in-spring-boot-3-2-0

  • utilisez reload-on-update: true
  • et écoute les changements de fichiers
  • pas mal dans les déploiements non immuables (pas comme kubernetes)

VertX 4.5 est sorti https://vertx.io/blog/whats-new-in-vert-x-4-5/

  • support des thread virtuels qui permet d'écrire le code synchrone pour des cas complexes et utiliser les thread locaux dans ces cas la. Cela ne remplacement pas le code de process des événements
  • le code put faire des future await qui ne bloqueront pas le thread principal
  • connection SQL dynamique: quand le host change dynamiquement dans l'application
  • support des proxies de niveau 7 pour les clients SQL
  • rotation certificats a chaud
  • des builders (HTTP, SQL connection)
  • extensions pour utiliser les coroutines kotlin

Integration declarative de Langchain4j dans Quarkus https://quarkus.io/blog/quarkus-meets-langchain4j/

Infrastructure

Oxide sort le premier ordinateur cloud disponible commercialement https://oxide.computer/blog/the-cloud-computer

  • pas facile de séparer le buzz de la réalité
  • on dirait un ordi purpose built avec l'efficience et le cote compact en tete
  • ils poussent contre le mode location uniquement des cloud providers
  • en gros inspire des cloud providers qui construisent leurs propres ordis (et meme CPUs maintenant !)
  • construit le hardware et le software en co optimisation
  • c'est un rack entier, peu de bruit de ventilateur
  • pas de cable (seul E/S du rack)
  • donc ils ont leurs propres switch
  • compliqué de différencier l'avantage du désavantage

Les leçons tirées de 20 de Site Reliability Engineering par Google https://sre.google/resources/practices-and-processes/twenty-years-of-sre-lessons-learned/

  • Le risque d'une mitigation doit être proportionné à la gravité de la panne
  • Les mécanismes de récupération doivent être entièrement testés avant une urgence
  • Canarisez tous les changements
  • Avoir un "gros bouton rouge"
  • Les tests unitaires ne suffisent pas, des tests d'intégration sont également nécessaires
  • CANAUX DE COMMUNICATION ! ET CANAUX DE SECOURS !! ET DES SAUVEGARDES POUR CES CANAUX DE SECOURS !!!
  • Modes de dégradation intentionnelle des performances
  • Tester la résilience aux catastrophes
  • Automatisez vos mitigations
  • Réduisez le temps entre les déploiements, afin de diminuer la probabilité que le déploiement tourne mal
  • Une seule version matérielle globale est un point de défaillance unique

Karpenter une evolution de autoscaler pour les cluster kubernetes https://blog.ippon.fr/2023/11/07/mettez-a-lechelle-vos-clusters-kubernetes-de-maniere-efficace-et-faites-des-economies-avec-karpenter/

  • fonctionne uniquement pour AWS aujourd'hui et un projet AWS donc a voir la portabilité
  • permet d'ajouter ou de supprimer des noeuds au cluster kubernetes en dynamique pour right sizer ses clusters
  • bypass les API kube pour la creation d'instance et utilise les APIs AWS EC2 directement
  • permet des noeuds hétérogènes (pas homogène comme autoscaler)
  • et se right size rapidement (e.g. 30s pour éteindre un noeud)
  • besoin d'applis cloud native par elles vont être baladées
Web

Deno! https://www.infoq.com/news/2023/10/deno-jupyter-integration

  • Dev experience, jupyter notebook integration
  • Améliorations sur Visual Studio Code extension (compatible avec NodeJS)
  • Exec native sur Jupyter de javascript et typescript permet d'effectuer des analyses de données, construire des modèles d'apprentissage automatique et générer des rapports interactifs avec Deno
  • Visualisation dynamiques avec D3 dans le notebook
  • Connection à Deno KV
  • Plusieurs améliorations sur le testing, APIs etc

Lancement du nouveau site angular.dev et de la version v17 du framework https://blog.angular.io/announcing-angular-dev-1e1205fa3039

Outillage

Il est possible de signer et notariser des applications pour macOS sur des machines non-Apple https://gregoryszorc.com/blog/2022/08/08/achieving-a-completely-open-source-implementation-of-apple-code-signing-and-notarization/

  • implémenté en Rust
  • pratique pour son pipeline CI/CD basé sur Linux
  • a priori, il y a des outils similaires pour le monde Windows, qui permet de signer sur une machine non-Windows https://github.com/mtrojnar/osslsigncode

Lors de son Github Universe, Copilot fait le show ! https://github.blog/2023-11-08-universe-2023-copilot-transforms-github-into-the-ai-powered-developer-platform/

  • Copilot Chat sera GA en décembre, il utilise GPT4, il permet de guider le développeur, de générer du code, de détecter des erreurs et aide à les corriger, d'expliquer le code
  • Intégration à venir de Copilot Chat dans les IDEs de JetBrains
  • Copilot Chat va être intégrer sur github.com et dans l'appli mobile aussi
  • Introduction de GitHub Copilot Enterprise pour les sociétés, qui permettra de spécialisé le modèle sur le code de l'entreprise
  • Intégration de Copilot ans Workspace, donc quand on voudra adresser un bug, créer un pull request, Copilot pourra nous aider étape par étape, suggérer un plan d'action
  • Copilot Enterprise permettra de faire des recherches avec le contexte entier du code de l'entreprise, donc idéalement meilleur que le focus sur un repo de Copilot

Un guide sur OpenRewrite https://feeds.feedblitz.com//819402521/0/baeldungA-Guide-to-OpenRewrite

  • permet de refactorer le code via des règles
  • mise a jour de dependences, enlever usage d'api dépréciées, migration d'une bibliothèque a une autre, etc
  • migration java, migration framework, transformations spécifiques a votre société
  • OpenRewrite vient avec un écosystème de recettes
  • intégration via maven ou gradle
  • la suite montre des examples de migrations
Architecture

Article interessant sur Monolithe vs Microservices ! https://www.infoq.com/articles/monolith-versus-microservices/

  • Le débat monolithe vs microservices. Les monolithes reviennent, par exemple spring-modulith https://spring.io/projects/spring-modulith
  • Les microservices sont la solution à la complexité plutôt que la cause de celle-ci. Toutes les applications deviendront complexes ; au-delà d'un certain point, les microservices nous aideront à gérer cette complexité.
  • Les microservices comportent des coûts et des avantages. Si les avantages ne l'emportent pas sur les coûts, vous n'aurez pas une expérience positive avec les microservices.
  • Nous pouvons arrêter notre transition vers les microservices quelque part au milieu du spectre, ce que j'aime appeler le modèle hybride. À ce stade, nous pouvons avoir quelques gros services mélangés à quelques petits services. Nous pouvons avoir le meilleur des deux mondes : la simplicité et la commodité du monolithe combinées à la flexibilité et à la scalabilité des microservices.
  • Il n'y a pas de choix binaire entre monolithique et microservices. En réalité, il existe un spectre de possibilités entre les deux. Si vous vous êtes fixé à l'une des extrémités du spectre, vous passez à côté de la grande variété d'architectures intermédiaires.
  • Nous devrions cesser de parler de monolithe contre microservices et plutôt avoir un débat plus nuancé sur la taille appropriée des services.
  • les microservices mettent sur le devant de la scene la complexification du système, les monolithes le cachent sous le tapis
  • les microservices permette de manager cette complexité
  • automatisation est la clés dans l'adoption des microservices
  • bien aligner son architecture et son domain ou alors la douleur arrive
Sécurité

Une explication de la CVE sur HTTP/2 https://quarkus.io/blog/cve-2023-44487/

  • en fonction de l'implémentation, le risque est plus ou moins grand (de plus de CPU a un full DDOS)
  • au cœur du problème est la capacité d'envoyer pleins de requêtes en parallèle sur le meme pipeline HTTP/2
  • les serveurs ont en general une limite au streams en parallèle (genre 100)
  • la CVE est exploitée cote client en ouvrant et fermant rapidement une stream, c'est plus léger sur le client, le serveur a un delai dans sont processing
  • ce qui permet de bypasser la limit et affamer les resources du serveur
  • c'es catastrophique en cas de one thread per request (thread starvation)
  • en event loop, c'est une queue plus grande (donc le cas de quarkus)
  • pour mitiger, quarkus regarde le nombre de stream close requests par seconde pour détecter les abus (200 requêtes de fermeture sur une fetnetre de 30s)
Data / IA

Elon Musk annonce son LLM, appelé Grok https://x.ai/

  • Connectivité en temps réel avec Twitter !
  • Fenêtre de contexte de 25k characters
  • Le LLM garderait le contexte de la conversation (au lieu d'avoir à toujours renvoyer toute la discussion dans le contexte, à cause du côté sans état des LLMs habituellement)
  • Le style, la personnalité, du LLM, serait assez humoristique, voire carrément sarcastique, à la Musk… et déjà sur Twitter une personne commentait en disant que c'était le LLM "anti-woke"
  • Grok serait disponible pour les utilisateurs payants de Twitter

OpenAI fait 4 nouvelles annonces https://openai.com/blog/new-models-and-developer-products-announced-at-devday

  • GPT-4 Turbo : leur dernier et plus puissant LLM. Il offre un contexte de 128k tokens, des prix plus bas et des quotas plus élevés. 128k c'est comme Claude
  • Assistants API : une solution permettant de créer des mini assistants personnalisés et de les exposer via une API. L'objectif est de faciliter l'intégration des solutions GenAI dans les applications, avec des fonctionnalités de gestion des conversations, d'interprétation de code et de RAG.
  • API pour DALL•E 3 : un modèle de 3e génération pour la génération d'images.
  • GPTs : des versions personnalisées de ChatGPT, faciles à développer même sans compétences en programmation. Une place de marché sera disponible pour monétiser ces "GPTs".
  • Merci Didier et son X de résumer
  • un article plus complet de SFEIR https://www.sfeir.dev/ia/quand-lesprit-de-noel-sinvite-a-lopenai-devday/
  • Protection juridique en cas d'attaque de droits d'auteur
Loi, société et organisation

Les acteurs et la IA, deal pour arrêter a grève https://www.bbc.com/news/entertainment-arts-67364587

  • Les acteurs et les grands studios d'Hollywood ont conclu un accord le 8 novembre pour mettre fin à une grève qui a paralysé la production de films et de séries aux États-Unis pendant plusieurs mois.
  • L'accord prévoit une nouvelle convention collective de trois ans pour les acteurs (hormis les vedettes, les acteurs n'arrivent pas à gagner leur vie avec le streaming)
  • Revalorisation importante des salaires minimums ainsi que des des garde-fous contre le IA. Un système de primes pour les rediffusions en streaming.
  • Double mouvement social historique : acteurs sont entrés en grève mi-juillet, les scénaristes depuis début mai. La paralysie du secteur a coûté au moins 6 milliards de dollars.
  • Les acteurs craignaient que les studios utilisent l'IA pour cloner leur voix et leur image, les réutiliser à perpétuité, sans compensation ni consentement. Les conditions entourant les droits des studios sur l'image des acteurs stars après leur mort a été négocié.

Chute de WeWork, dépôt de bilan https://www.maddyness.com/2023/11/06/wework-impact-coworking-france/

  • La disparition annoncée du géant mondial du coworking marque un tournant pour le secteur, y compris en France.
  • Asphyxié par une dette de près de 3 milliards de dollars
  • Chute interminable entamée en 2019
  • WeWork était le leader mondial du secteur et, de par son statut de pionnier du coworking
  • WeWork propose 15 établissements en France, tous situés à Paris
  • Pourtant la demande pour le coworking ne cesse d'exploser
  • Startups domicilient leur siège (Qonto par exemple) dans un espace de co-working
  • Le modèle du coworking n'est pas remis en cause. WeWork, c'est un phénomène à part. Il y a eu une mauvaise gestion de départ d'une licorne qui croît à toute vitesse, en ne faisant absolument pas attention à son modèle économique de base (dit Clément Alteresco CEO de Morning)
  • Mauvaise publicité pour le marché et les concurrents, mais considèrent qu'ils vont s'en sortir

Les français, les utilisateurs twitter le plus violents d'Europe? https://www.huffingtonpost.fr/france/article/les-francais-sont-les-utilisateurs-de-twitter-les-plus-violents-d-europe_225331.html#:~:text=2023%2023%3A57-,Les%20Fran%C3%A7ais%20sont%20les%20utilisateurs%20de%20Twitter%20les%20plus%20violents,'Allemagne%20et%20l'Espagne.

  • Les signalements de contenus, suppressions et suspensions pour propos violents et haineux au sein de X sont les plus nombreux en France, loin devant l'Allemagne et l'Espagne.
  • 16.288 suppressions de messages contre 7.160 en Allemagne et 7.743 en Espagne
  • X explique avoir une « équipe internationale et inter-fonctionnelle » de « modérateurs humains », qui travaillent « 24 heures sur 24 avec la capacité de couvrir plusieurs langues ».

Sam Altman PDG d'OpenAI est débarqué par son conseil de surveillance https://thealgorithmicbridge.substack.com/p/why-openai-fired-sam-altman-and-what

Les groupes "Responsible AI" chez Google, Microsoft et plus récemment Meta https://www.theverge.com/2023/11/18/23966980/meta-disbanded-responsible-ai-team-artificial-intelligence?utm_source=substack&utm_medium=email sont détruits

  • meme débat chez OpenAI en fait.
  • difficile de comprendre les raisons, à part que la course s'est accélérée
  • l'article site les gouvernements qui veulent réguler mais je ne comprends pas en quoi cela influence
Conférences

Retrouvez les conférences sur le site Developers Conferences Agenda/List par Aurélie Vache.

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/

LCC 194 - C'est qui le patron?06 Sep 201801:31:23

Dans cet épisode Audrey et Arnaud font le point sur les actualités de cet fin d'été 2018 avec pas mal de nouveautés pour préparer la rentrée comme la version 1.0 d'Istio, TLS 1.3, l'arrivée imminente de Java 11, et sans oublier la "minute" web d'Audrey.
Il est aussi question d'outillage avec Gradle, Docker, GitHub et de sujets plus sérieux comme Redis et la Commons Clause.
Emmanuel, quant à lui sort de son hamac pour vous présenter notre nouveau système de financement participatif du poscast.

Enregistré le 31 août 2018

Téléchargement de l'épisode LesCastCodeurs-Episode–194.mp3

News Langages

JDK 11: First and last Release Candidate?
Java is still available at zero cost
Kotlin 1.3M2
Apache Releases Groovy 2.5 and Preview of Groovy 3.0

Middleware

10 Spring Boot Security Best Practices

Infrastructure

Istio 1.0
Run El Capitan, macOS Sierra, High Sierra and Mojave on QEMU/KVM

Web

Security Header Feature Policy
Experiences Using Micro Frontends at IKEA
Apps That Work Natively on the Web and Mobile
Babeljs 7 Released

Data

Redis et Commons Clause

Outillage

GitHub - Updates to protected branches
Docker 18.09 will support connecting to a remote daemon via SSH, without the TLS mess
Gradle 4.10

Méthodologies

SRE @Google - SLO before SLA

Sécurité

TLS 1.3

Crowdcast sur le financement participatif

Devenez un Patron des cast codeurs sur patreon.com/LesCastCodeurs

Loi, société et organisation

Even anonymous coders leave fingerprints
DefCon - Comment devenir administrateur des machines à voter aux USA
Le refactoring le plus difficile de ma carrière - Jérôme Petazzoni

Outils de l'épisode

Ora, une alternative à Jira pour gérer ses projets en s'appuyant sur les méthodes agiles

Conférences

Jug Summer Camp le 14 septembre 2018.
Paris Web les 4, 5 et 6 octobre 2018.
DevFest Nantes les 18 et 19 octobre 2018 - sold out.
Jenkins World Europe du 22 au 25 octobre 2018 à Nice - (utilisez le code JWAHERITIER pour obtenir 20% de réduction).
VoxxedDays Microservices du 29 au 31 octobre 2018.
DevFest Toulouse le 8 novembre 2018.
Devoxx Belgique du 12 au 16 novembre 2018 - sold out.
Bdx.io le 9 novembre 2018 - sold out.
Codeurs en Seine le 22 novembre 2018.

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 193 - Interview Apache Kafka avec Florent Ramière30 Jul 201801:33:44

Florent Ramière vient discuter avec Emmanuel d'Apache Kafka, de ses usages, son fonctionnement, son écosystème. Et roule ma poule sur piste noire.

Enregistré le 19 juillet 2018

Téléchargement de l'épisode LesCastCodeurs-Episode–193.mp3

Interview Ta vie, ton œuvre

Florent Ramière
@framiere
LinkedIn
Confluent

Kafka

Kafka en deux phrases
Apache Kafka
AMQP

Quels sont ses caractéristiques spécifiques Pourquoi pas A-MQ Discussion only-once delivery, at-least-once, exactly once

Les cas d'utilisations

Apache Spark Streaming
Apache flink

Partition

Discussion sur la dualité change event / table

Les blogs de Ben Stopford
Debezium - Change Data Capture

La compétition

L'utilisation

Comment Kafka s'utilise
Comment on l'installe

Definition des partitions

  • A quoi ça sert fonctionnellement le sharding
  • Comment choisir sa clé de sharding

Apache Zookeeper

Comment je publie un message ?
Je dois stocker l'index?

Protocol Kafka

Processing avec Kafka Streams
vs Spark Stream et Flink

Supervision
Démo de monitoring

Golden ratio

  • lag
  • partitions non répliquées
  • plusieurs leaders

Devoxx France Comment monitorer Kafka like a pro
Un tour de l'environnement Kafka

Sous la capot

Apache Zookeeper

Pourquoi ça scale ?
Réplication
Batching
Latence

Les top 5/10 problèmes que tu vois chez les clients

  • pas de monitoring
  • pas compris le système de partition: sous provisionner
  • gestion de l'ordre: lié à la production
  • codec: snappy

Producteurs
Présentation sur le producteur Kafka
Format des messages
Schema registry

Retention:

  • en temps
  • en byte

Compaction: avantages / inconvénients fonctionnels
Crypto-shredding

L'écosystème et la communauté

Kafka Connect
A Kafka Story

Kafka Stream
KSQL et son GitHub

Confluent Inc vs Apache Kafka

Apache Pulsar

Kafka Improvement Process

Ressources

Monitoring demo
A Kafka Story
Une démo complete kafka, broker, ksql, connect etc
Déployer la stack via ansible
KSQL
Microservices
Resources Kafka
Bouquin Kafka the definitive guide gratuit
Kafka Improvment process
Kafka protocol
Le blog de confluent
Apache Pulsar
Debezium

Nous contacter

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 192 - Les vétérans du podcast17 Jul 201801:13:51

Dans cet épisode, Emmanuel et Guillaume, les deux seuls casts codeurs encore présents discutent langages, architecture, nouveautés Kubernetes et font de l'archéologie du web et des gestionnaires de code source sous l'oeil attentif de Chouquette, le chat de Guillaume.

Enregistré le 13 juillet 2018.

Téléchargement de l'épisode LesCastCodeurs-Episode–192.mp3.

News Langages

JDK 11 is in Rampdown Phase One
.NET Core 2.0 EOL et 2.1 LTS
Apache Groovy 2.5 et 3.0 sur InfoQ
1ère RC de TypeScript 3
Comment lire les bronzes de fils (thread dumps)
Le prix du JDK Oracle dans le nouveau monde LTS / STS
Tests sur OpenJ9 pour l'IDE Eclipse
Java annotated monthly par Trisha Gee qui liste plein de news autour de l'écosystème Java

Librairies

Retour sur les bugs liés aux ORMs
Jonathan Giles sur le design d'API et les bonnes pratiques associées

Middleware

Micronaut milestone 2 avec support de Server-Sent-Events, metrics, OpenFaaS et plus
Micronaut: a Java framework for the future, now
Difference entre microprofile 1.4 et 2.0
JHipster 5.0.0
Crowdcast Camel par Bertrand Pinel

Infrastructure

Kubernetes 1.11
Guide de style pour bash par Google
Discussions sur Helm 3
Kubernetes sur Azure

Correction

Article sur Helm 3

Les templates GO seront toujours utilisables mais on pourra également se servir de Lua pour faire des scripts qui eux auront accès aux templates avant et après le rendering

Web

Les plus vieux noms de domaine

Data

Infinispan 9.3 est sorti
BlaBlaCar utilise CDC Debezium pour migrer leur monolith

Outillage

Introducing Git protocol version 2
CloudBees Raises $62 Million in Growth Funding as DevOps Market Soars

Pourquoi Atom ne peut pas remplacer Vim
Eclipse photon est sorti avec support for JDK 9 et 10
Stephen Colebourne content avec Photon et Java 9/10/11
Eclipse Che 6.6

Introduction à Google Jib — construire des images Docker Java (projet sur github)
First look at Jib, avec une comparaison de Jib et le plugin de Fabric8

Architecture

Migrer les utilisateurs de Facebook messenger
Les Golden Signaux du monitoring

Fun

Informatique quantique partie 1 et partie 2 sur InfoQ par Holly Cummins
Entanglion un jeu de plateau coopératif open source sur le thème quantique créé par des chercheurs de chez IBM Research

Loi, société et organisation

Directive Copyright : le Parlement européen dit non et reprend la main

Outils de l'épisode

Zulip

Rubrique débutant

Comment était la gestion de source avant Git

Conférences

Dev.tube permet de chercher les vidéos de plein de conférences pour se rattraper cet été sur la plage
Jug Summer Camp le 14 septembre 2018
Paris Web les 4, 5 et 6 octobre 2018
DevFest Nantes les 18 et 19 octobre 2018
Jenkins World Europe du 22 au 25 octobre 2018 à Nice - (utilisez le code JWAHERITIER pour obtenir 20% de réduction)
VoxxedDays Microservices du 29 au 31 octobre 2018
DevFest Toulouse le 8 novembre 2018
Devoxx Belgique du 12 au 16 novembre 2018
Bdx.io le 9 novembre 2018 la conférence est sold out mais le CfP est encore (https://cfp.bdx.io/) ouvert
Codeurs en Seine le 22 novembre 2018 - Le CfP est ouvert

 

LCC 191 - La quête du GraalVM16 Jun 201801:34:12

Dans cet épisode, Guillaume et Emmanuel discutent GraalVM, Java LTS, MS-DOS, gVisor, GitHub et microframeworks.

Enregistré le 14 juin 2018

Téléchargement de l'épisode LesCastCodeurs-Episode–191.mp3

News Correction

Article de performance SpringBoot classique vs réactif

L'article "SpringBoot 2 performance — servlet stack vs WebFlux reactive stack" est à prendre avec de grosses pincettes. Le client HTTP utilisé pour la version servlet est celui par défaut Java à base d'URLConnection. Pas de reused de la connection…. A 2500 users sur un benchmark IO bound avec un tel ratio wait/processing, il ne devrait pas avoir une telle différence de throughput.

  • Nicolas Labro
Langages

GraalVM
Les limitations de SubstrateVM
Retour d'impression sur GraalVM
GraalVM avec Play Framework

Java 11 more than just features
Replacing reflection with invokedynamic

Librairies

The rise of Microframeworks
The state of Java/Kotlin Microframeworks in 2018

L'équipe de Grails a sorti un nouveau micro-framework, Micronaut, basé sur Netty et sans Spring, pour plus de légèreté
Un workshop sur Micronaut pour démarrer avec Micronaut

Est-ce qu'on a toujours besoin de Spock avec l'arrivée de JUnit 5 ? TL;DR : oui :-)

Middleware

JakartaEE is officially out
Barre de progression de la contribution Oracle à Jakarta EE
The state of Spring Java in 2018
Camel et Bean Validation

  • débat Camel est l'option « no code »
Infrastructure

MS-DOS expliqué !

gVisor
Product Manager de Google expliquant que gVisor est utilisé par App Engine et Cloud Functions

Lancement de Skaffold pour automatiser le développement sur Kubernetes
Skaffold sur Github
Skaffold and Kaniko: Bringing Kubernetes to Developers

Cloud

Node 8 sur App Engine

Web

Angular 6

Les regrets de Ryan Dahl sur Node.JS (et lancement de son nouveau framework Deno)
Article sur ses regrets

On peut faire mieux que console.log()

Outillage

GitHub se fait gobber par Microsoft
L'équipe Java Mission Control virée par Oracle
Gradle 4.8

Méthodologies

Hiérarchie et documentation
Comment un agent public peut contribuer à l'Open Source

Sécurité

Custom domains on GitHub Pages gain support for HTTPS
Vulnérabilité dans Git amenant à une exécution à distance

Outils de l'épisode

Byteman et injection de faute
GitIgnore.io

Outil de crowdcasting de Pierre Carion

Rubrique débutant

Crowdcast de Pierre Carion
Pour un débutant qu'est-ce:

  • les forces de Java ou de la JVM
  • qui rend Java encore attractif
  • bon choix pour commencer un projet en 2018
Conférences

EclipseCon les 13 et 14 juin 2018
JHipster Conf le 21 juin
DevFest Lille le 21 juin 2018
Voxxed Luxembourg le 22 juin 2018
Sunny Tech les 28 et 29 juin 2018
Jenkins User Conference le 28 juin 2018
Jug Summer Camp le 14 septembre 2018 - Le CfP est ouvert.
Paris Web les 4, 5 et 6 octobre 2018
DevFest Nantes les 18 et 19 octobre 2018 - Le CfP est ouvert.
Jenkins World Europe du 22 au 25 octobre 2018 à Nice - (utilisez le code JWAHERITIER pour obtenir 20% de réduction).
VoxxedDays Microservices du 29 au 31 octobre 2018
DevFest Toulouse le 8 novembre 2018
Codeurs en Seine le 22 novembre 2018

Nous contacter

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 190 - Interview revue de code Gerrit et l'outil Vet avec Julien Béti et Réda Housni-Alaoui30 May 201800:34:57

Julien et Reda viennet nous parler de Gerrit et de son système de revue de code ; puis de l'outil Vet qu'ils ont open sourcé. Et José Paumard nous fait

try ( José josé = new José(2018) ) { Audio crowdcast = Stream.of( josé.interview(), josé.interview(), josé.interview(), josé.interview() ) .map( Audio::normalize ) .filter( a -> ! a.tooNoisy() ) .collect( AudioCollectors.joining( " fade out <-> fade in " ) ); return crowdcast; }

Enregistré le 15 mai 2018

Téléchargement de l'épisode LesCastCodeurs-Episode–190.mp3

Interview Ta vie, ton œuvre

Cosium
Julien Béti, CTO
Réda Housni-Alaoui, Architecte

Gerrit

Le sujet: notre passage à Gerrit et le client associé que nous avons mis en place: Vet. Un article sur le sujet que Réda avait écrit sur le sujet: https://medium.com/@rdahousnialaoui/abandoning-bitbucket-server-in-favor-of-gerrit-ee6b60e01795

BitBucket

La page GitHub de Vet, en full Java 9, avec utilisation de JLink \o/
Un plugin IntelliJ est en cours de développement

Dans l'interview, nous n'avons pas eu le temps de parler: De Vet et des workflows associés (via les commandes documentées sur la page GitHub) qui permettent de verrouiller les push sur le git remote. De l'aspect extensible de Gerrit qui permet, par exemple, d'appliquer automatiquement une PR lorsque l'ensemble des conditions sont réunies (+2 d'un reviewer, pas de –1 d'un reviewer, +1 de Jenkins) et ce quelque soit l'ordre d'arrivée.

Concernant la problématique que tu as évoqué de "commit annexe", il est en fait possible dans Gerrit de créer une dépendance entre PR. Nous n'utilisons pas cette fonction, il est donc possible que quelques modifications sur Vet soient nécessaire pour en tirer profit. Plus d'infos ici: https://gerrit-review.googlesource.com/Documentation/concept-changes.html#related-changes

Le crowdcast de José Paumard

@JosePaumard

Nous contacter

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/
Flattr-ez nous (dons) sur https://lescastcodeurs.com/
En savoir plus sur le sponsoring? sponsors@lescastcodeurs.com

LCC 189 - Conférences et tests par mutation18 May 201800:55:45

Les Cast Codeurs se retrouvent dans la même pièce pour discuter des dernières conférences et pour échanger sur le mutation testing.

Enregistré le 16 mai 2018

Téléchargement de l'épisode LesCastCodeurs-Episode–189.mp3

News Les conférences

Microsoft Build
Google I/O
Red Hat Summit
Devoxx UK

Opérateurs Kubernetes
Istio

ThornTail
ThornTail leçons apprises

Oracle Code One

Les tests par mutation ou mutation testing

Projet Stamp
Qu'est-ce que Stamp
GitHub de Stamp

Pitest
JaCoCo

Nous contacter

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/
Flattr-ez nous (dons) sur https://lescastcodeurs.com/
En savoir plus sur le sponsoring? sponsors@lescastcodeurs.com

LCC 188 - Devoxx France 201830 Apr 201800:48:54

Cet épisode clôture Devoxx France 2018 dans un mode expérimental : un mode Ignite (avancer les slides à temps réguler sans contrôle) avec l'outil Kahoot. C'est mieux de le regarder (voir lien ci dessous). Mais si vous n'écoutez ou ne regardez pas, on ne vous en voudra pas :)

Enregistré le 20 avril 2018

Téléchargement de l'épisode LesCastCodeurs-Episode–188.mp3

Devoxx

La vidéo (recommandé)
Devoxx France

Nous contacter

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/
Flattr-ez nous (dons) sur https://lescastcodeurs.com/
En savoir plus sur le sponsoring? sponsors@lescastcodeurs.com

LCC 187 - FullStack Attack sur dépassement de pile.com16 Apr 201800:57:43

Dans cet épisode Emmanuel, Audrey et Guillaume passent à la loupe les résultats du sondage 2018 de StackOverflow : on discute profils, technologies, valeurs et éthique dans le code.

Enregistré le 13 avril 2018

Téléchargement de l'épisode LesCastCodeurs-Episode–187.mp3

Le sondage 2018 de StackOverflow

StackOverflow Developer Survey Results 2018

Nous contacter

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/
Flattr-ez nous (dons) sur https://lescastcodeurs.com/
En savoir plus sur le sponsoring? sponsors@lescastcodeurs.com

LCC 186 - Le patron est de retour03 Apr 201802:07:18

Dans cet épisode Emmanuel est de retour et assure l'intérim de Guillaume sur les blagues tout en discutant Java 10, Kubernetes et son écosystème, départs, rachats et IPO mais aussi diversité et Facebook avec Arnaud, Audrey et Vincent. Merci à Morgan pour sa crowdquestion sur les logs !

Enregistré le 29 mars 2018

Téléchargement de l'épisode LesCastCodeurs-Episode–186.mp3

News Langages

The baby and the bathwater

The Oracle JDK (java.oracle.com) will not be freely available as of #JDK11. This is the one that has LTS. The #OpenJDK binary (GPLv2 with CPE license) will be free, but only have updates until the next release (6 months, 2 scheduled updates). Simon Ritter

Style Guidelines for Local Variable Type Inference in Java
Introducing Java SE 10
* JDK 10 General-Availability Release

A Proposal for Package Versioning in Go

Librairies

Apache Spark 2.3.0
Vavr one log 01

Middleware

SpringBoot 2 performance — servlet stack vs WebFlux reactive stack
Salesforce achete Mulesoft pour 6 milliards$
Pivotal lance son offre publique d'achat

Micronaut framework

Infrastructure

Retour utilisation Prometheus

Cloud

Solomon Hykes quitte Docker
Java 10 will no longer sucks on Docker
Kubernetes 1.10

Web

Polymer 3.0
Capacitor 1.0.0

Data

Facebook et les appels téléphoniques:

Outillage

Introducing Skaffold: Easy and repeatable Kubernetes development
Building Container Images Securely on Kubernetes
IntelliJ IDEA 2018.1: Kubernetes support
Jenkins X
Jenkins Configuration as Code Plugin
Gradle 4.6.0
Apache Maven 3.5.3
Open Source à la MAIF

Architecture

Que se passe-t-il quand vous appuyez sur lecture dans Netflix ?

Méthodologies

Greve perlee

Sécurité

GitHub survived the biggest DDOS attack ever recorded
ACME v2 and Wildcard Certificate Support is Live

TLS 1.3 ratifié :

Loi, société et organisation

A counterintuitive way to increase diversity in tech
Les nouveaux outils de Slack: un espion au service des patrons ?

Revealed: 50 million Facebook profiles harvested for Cambridge Analytica in major data breach

EU wants to require platforms to filter uploaded content (including code)
Oracle Wins Court Ruling Against Google in Multibillion-Dollar Copyright Case

Crowdquestion

Morgan Durand sur les logs

Conférences

Devoxx France du 18 au 20 avril 2018 - Le programme est publié dites nous ce qui vous plait ( mercredi, jeudi, vendredi )
MixIT le 19–20 avril 2018 à Lyon
Riviera Dev les 2, 3 et 4 mai 2018 à Sophia Antipolis
NCrafts les 18 et 19 mai 2018
Best Of Web les 7 et 8 juin 2018
EclipseCon les 13 et 14 juin 2018
JHipster Conf le 21 juin
DevFest Lille le 21 juin 2018 Voxxed Luxembourg le 22 juin 2018
Sunny Tech les 28 et 29 juin 2018
Jenkins User Conference le 28 juin 2018 - Le CfP est ouvert jusqu'au 15 avril.
Paris Web les 4, 5 et 6 octobre 2018
Jenkins World Europe du 22 au 25 octobre 2018 à Nice - Le CfP est ouvert jusqu'au 15 avril - Les inscriptions sont ouvertes (utilisez le code JWAHERITIER pour obtenir 20% de réduction).
DevFest Toulouse le 8 novembre 2018

Nous contacter

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/
Flattr-ez nous (dons) sur https://lescastcodeurs.com/
En savoir plus sur le sponsoring? sponsors@lescastcodeurs.com

LCC 185 - Interview sur le développement logiciel et la qualité du code avec Freddy Mallet19 Mar 201801:24:24

Dans cet épisode, Freddy Mallet nous explique les différents aspects de la qualité logicielle.

Enregistré le 08 mars 2018

Téléchargement de l'épisode LesCastCodeurs-Episode–185.mp3

Interview Freddy, Sa vie, son oeuvre Introduction à la qualité du code
  • C'est quoi un code de qualité ?
  • Est-ce que ce doit être la première priorité pour une équipe qui met en place son environnement de dev ?
  • Qu'est ce qui peut/doit aujourd'hui être automatisé ?
  • Comment améliorer en continue la qualité du code ?
  • Casser le build en raison d'un problème qualité, est-ce une bonne idée ?
SonarSource, son histoire, son business model et son évolution
  • SonarSource / @SonarSource
  • Deux mots sur sa genèse et des idées sur les raisons du succès actuel ?
  • C'est quoi son business model ?
  • SonarSource est une holacratie, fakenews ou pas ?
A propos des sujets qui fâchent
  • Mesurer la couverture par les tests unitaire a-t-il encore un quelconque intérêt avec la montée en puissance des outils de mutation testing ?
  • Détecter des problèmes dans le code a-t-il un quelconque intérêt si la qualité générale du design est très faible ?
  • L'utilité des outils d'analyse de code est inversement proportionnel à la robustesse des langages et par exemple avec des langages comme Rust, Typescript, GO, … y-a-t'il encore un intérêt ?
Qualité du code et deep learning, quid du futur ? Les produits SonarSource Nous contacter

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/
Flattr-ez nous (dons) sur https://lescastcodeurs.com/
En savoir plus sur le sponsoring? sponsors@lescastcodeurs.com

LCC 301 - Minoritaire ou majoritaire, là est la question!23 Oct 202301:45:39

Dans cet épisode, Emmanuel et Guillaume reviennent sur les nouveautés de l'écosystème Java (Java 21, SDKman, Temurin, JBang, Quarkus, LangChain4J, …) mais aussi sur des sujets plus généraux comme Unicode, WebAssembly, les bases de données vectorielles, et bien d'autres sujets orientés IA (LLM, ChatGPT, Anthropic, …).

Enregistré le 20 octobre 2023

Téléchargement de l'épisode LesCastCodeurs-Episode-301.mp3

News Langages

Gérer facilement des versions multiples de Java grâce à SDKman https://foojay.io/today/easily-manage-different-java-versions-on-your-machine-with-sdkman/

  • sdkman support java mais aussi graalVM, jbang, Quarkus, Micronaut etc (les CLIs)
  • la CLI UI est toujours un peu chelou donc cet article est utile pour un rappel

Tous les changements de Java 8 à Java 21 https://advancedweb.hu/a-categorized-list-of-all-java-and-jvm-features-since-jdk-8-to-21/

  • Nous avons déjà partagé ce lien par le passé, mais l'article est mis à jour à chaque release majeure de Java pour couvrir les dernières nouveautés. Et en particulier, Java 21 qui vient de sortir.

Eclipse Temurin ne va pas sortir son Java 21 tout de suite https://adoptium.net/en-GB/blog/2023/09/temurin21-delay/

  • Apparemment, une nouvelle licence pour le TCK (qui valide la compliance) doit être approuvée
  • Oracle semble avoir sorti de nouveaux termes, à quelques jours de la sortie officielle de Java 21
  • la mise a jour du TCK est arrivée le 9 octobre.
  • comment Microsoft a pu sortir le sien avant?

Le Financial Times propose un bel article avec des animations graphiques expliquant le fonctionnement de l'architecture de réseau de neurones de type transformers, utilisé dans les large language model https://ig.ft.com/generative-ai/

  • LLM via relation entre les mots
  • notion de transformer qui parse les "phrases" entières ce qui capture le contexte
  • discute le beam search vs greedy search pour avoir pas le prochain mot mais l'ensemble de prochains mots
  • parle d'hallucination
  • l'article parle de texte/vector embeddings pour représenter les tokens et leurs relations aux autres
  • il décrit le processus d'attention qui permet aux LLM de comprendre les associations fréquentes entre tokens
  • le sujet des hallucinations est couvert
  • et pour éviter des hallucinations, utilisation du "grounding"

The Absolute Minimum Every Software Developer Must Know About Unicode in 2023 https://tonsky.me/blog/unicode/

  • Un bel article qui explique Unicode, les encodings comme UTF-8 ou UTF-16, les code points, les graphèmes, les problèmes pour mesurer une chaîne de caractères, les normalisation de graphèmes pour la comparaison de chaîne
  • Si vous voulez mieux comprendre Unicode, c'est l'article à lire !
  • unicode c'est un mapping chiffre - caractère en gros
  • 1,1 millions disponibles dont 15% définis et 11% pour usage privé, il reste de la place. Et non les meojis ne prennent pas beaucoup de place.
  • usage prive est par exemple utilise par apple pour délivrer le logo apple dans les fonts du mac (mais pas ailleurs)
  • UTF est l'encoding du chiffre de l'unicode
  • UTF-32: 4 bytes tout le temps, UTF-8, encodage variable de 1 a 4 bytes (compatible avec ASCII) ; il a aussi un peu de détection d'erreurs (prefix des bytes différents),
  • optimise pour le latin et les textes techniques genre HTML
  • problème principal, on peut pas déterminer la taille en contant les bytes ni aller au milieu d'une chaine directement (variable)
  • UTF-16 utilise 2 ou plus de bytes et est plus sympa pour les caractères asiatiques
  • un caractère c'est en fait un graphème qui peut être fait de plusieurs codepoints : é = e U+0065 + ´ U+0301 ; ☹️ (smiley qui pleure) is U+2639 + U+FE0F
  • D'ailleurs selon le langage ":man-facepalming::skin-tone-3:".length = 5, 7 (java) ou 17 (rust) ou 1 (swift). Ça dépend de l'encodage de la chaine (UTF-?).
  • ""I know, I'll use a library to do strlen()!" — nobody, ever."
  • En java utiliser ICU https://github.com/unicode-org/icu
  • Attention java.text.BreakIterator supporte une vieille version d'unicode donc c'est pas bon.
  • Les règles de graphème change a chaque version majeure d'unicode (tous les ans)
  • certains caractères comme Å ont plusieurs représentations d'encodage, donc il ya de la normalisation: NFD qui éclate en pleins de codepoints ou NDC qui regroupe au max
  • normaliser avant de chercher dans les chaines
  • certains unicode sont représentés différemment selon le LOCALE (c'est la life)
  • et ça continue dans l'article

JBang permet d'appeler Java depuis Python via un pypi https://jbang.dev/learn/python-with-jbang/

  • c'est particulièrement interessant pour appeler Java de son Jupyter notebook
  • ça fait un appel a un autre process (mais installe jbang et java au besoin)
Librairies

Quarkus 3.4 est sorti https://quarkus.io/blog/quarkus-3-4-1-released/

  • un CVE donc mettez a jour vos Quarkus
  • support de Redis 7.2
  • plus de granularité sur la desactivation de flyway globalement ou par data source. Depuis l'activation transparente et automatique en 3.3
  • quarkus update est l'approche recommandée pour mettre à jour.

Comment tester si un thread virtuel "pin" https://quarkus.io/blog/virtual-threads-3/

  • exemple avec quarkus
  • comment générer la stackstrace
  • et un utilitaire JUnit qui fait échouer le test quand le thread pin
  • une série d'articles de Clements sur les threads virtuels et comment les utiliser dans quarkus https://quarkus.io/blog/virtual-thread-1/

À la découverte de LangChain4J, l'orchestration pour l'IA générative en Java https://glaforge.dev/posts/2023/09/25/discovering-langchain4j/

  • Guillaume nous parle du jeune projet LangChain4J, inspiré du projet Python LangChain, qui permet d'orchestrer différents composants d'une chaine d'IA générative
  • Grâce à ce projet, les développeurs Java ne sont pas en reste, et n'ont pas besoin de se mettre à coder en Python
  • LangChain4J s'intègre avec différentes bases vectorielles comme Chroma ou WeAviate, ainsi qu'une petite base en mémoire fort pratique
  • LangChain4J supporte l'API PaLM de Google, mais aussi OpenAI
  • Il y a différents composants pour charger / découper des documents et pour calculer les vector embeddings des extraits de ces documents
  • Vidéo enregistrée à Devoxx sur ce thème : https://www.youtube.com/watch?v=ioTPfL9cd9k
Infrastructure

OpenTF devient OpenTofu https://www.linuxfoundation.org/press/announcing-opentofu

Dans les Dockerfiles, on peut utiliser la notation "heredocs" < https://www.docker.com/blog/introduction-to-heredocs-in-dockerfiles/

  • C'est comme faire un seul RUN avec des commandes séparées par des &&, mais en plus sympa parce que ça ressemble à un script bash classique
  • Par contre, c'est spécifique Docker et n'est pas portable sur podman ou autre

Docker annonce un nouveau protocole pour signer ses images OpenPubkey https://www.linuxfoundation.org/press/announcing-openpubkey-project

  • sigstore répond https://blog.sigstore.dev/openpubkey-and-sigstore/
  • OpenPubkey s'appuie sur OIDC
  • c'est un repo GitHub pour l'instant
  • pas de partie de confiance en dehors du OIDC provider.
  • OIDC lie une identité a une clé de chiffrement via une extension du id token.
  • OIDC devient une preuve de possession
  • purement client side via la signature du id token
  • ils utilisent le nonce pour stocker la clé publique et la signer cryptographiquement
  • vs Sigstore: plus d'élément central comme le transparency log et l'autorité de certification
  • pour le projet sigstore, ils n'ont pas utilisé cette architecture parce que la privacy des identités notamment en cas de renommage et sur le long terme n'est pas respecté
  • la rotation de clés et la partie client side devient beaucoup plus complexe (OIDC quoi) et ouvre des risques de sécurité (bugs d'implémentation)
  • la clé des OIDC providers est rotaté et ce n'est pas expliqué dans le flow OpenPubkey
  • la complexité passe de server side a client side (vu que le nonce est la clé du système)
  • le client notamment va devoir tracker les clés de signature des providers OIDC tout le temps (ou un system devra le faire)
  • le id token typiquement a plus d'infos qui vont leaké en tant que certificat du truc signé (privacy)
Cloud

Oracle Cloud rajoute GraalOS https://blogs.oracle.com/java/post/introducing-graalos

  • plateforme serverless sans container
  • application native
  • en fait des applis compilées avec GraalVM native image
Web

Comment créer le plus petit conteneur qui sert du contenu statique https://lipanski.com/posts/smallest-docker-image-static-website

  • en utilisant les images Busybox
  • on peut descendre à environ 150kb
  • a voir la scalabilité
  • et les CVEs

The state of WebAssembly in 2023 https://blog.scottlogic.com/2023/10/18/the-state-of-webassembly-2023.html

  • Rust et JavaScript voient leur popularité lorsqu'ils ciblent wasm
  • Wasm est toujours beaucoup utilisé pour le développement web, mais aussi pour le serverless ou comme host pour système de plugins
  • L'étude montre que les développeurs sont intéressés par les threads, le garbage collection et le nouveau modèle de composants
  • Côté WASI, toutes les propositions sur le thème I/O retiennent l'attention, comme : le support de HTTP, du filesystem, ou les sockets… pourtant, c'est ce que l'approche WASIX proposait, même si elle n'a pas été très bien reçue par la communauté
Data & IA

AWS investit 4 milliars dans Anthropic.ai et devient actionnaire minoritaire https://twitter.com/didiergirard/status/1706226172428701896?s=61&t=cvEVELchNh1NmF0qxg2GgA

  • Depuis quelque temps, beaucoup de personnes se demandaient où en était AWS dans le domaine GenAI. La réponse vient de tomber.
  • Plutôt que de développer sa propre technologie comme le fait Google, Amazon adopte la stratégie de Microsoft avec OpenAI en investissant dans un pure player en lui fournissant de la puissance de calcul.
  • AWS deviendra le principal fournisseur cloud d'Anthropic, en fournissant son infrastructure à base de puces AWS Trainium et Inferentia
  • La technologie d'Anthropic sera ajoutée au catalogue d'Amazon Bedrock. Les entreprises pourront personnaliser et affiner les modèles sur AWS
  • Claude 2 propose une fenêtre contextuelle de 100 000 tokens, que les entreprises pourront utiliser.
  • Dans le cadre de cet investissement, Amazon acquiert une participation minoritaire dans @AnthropicAI. La structure de gouvernance d'Anthropic reste inchangée
  • l'annonce https://www.anthropic.com/index/anthropic-amazon
  • merci Didier Girard pour ce résumé

Article d'opinion : les bases de données vectorielles ne sont pas une catégorie de base de donnée séparée https://nextword.substack.com/p/vector-database-is-not-a-separate

  • On a vu l'émergence de nouvelles bases de données de type vectoriel ces deux dernières années : Pinecone, Milvus, Weaviate, Qdrant, etc
  • Mais les DB existantes sont toutes en train de rajouter le support des vecteurs dans leur moteur
  • Pour la "data gravity" : c'est plus facile d'avoir ses données au même endroit que d'en avoir dans différentes bases malgré leur corrélation
  • Pour capturer le use case de "Retrieval Augmented Generation", en utilisant les Large Language Model pour récupérer de l'info dans ces bases de données vectorielles
  • Je pense qu'on verra aussi les DB vectorielles ajouter également plus de fonctionnalités de requêtage qui leur manquent

Chat GPT: voix et image https://openai.com/blog/chatgpt-can-now-see-hear-and-speak

  • OpenAI a annoncé de nouvelles fonctionnalités vocales et d'image pour ChatGPT
  • OpenAI a publié un article décrivant leurs efforts de test avec GPT-4V. Ils ont utilisé le modèle dans un outil appelé Be My AI, qui aide les personnes malvoyantes en décrivant le contenu des images: https://cdn.openai.com/papers/GPTV_System_Card.pdf
  • L'article résume l'évaluation du modèle GPT-4V par OpenAI, qui inclut des tests de comportement, de sécurité, et de capacité médicale, mais conclut que le modèle n'est pas approprié pour des fonctions médicales.

L'IA c'est pas rentable https://www.tomshardware.com/news/microsoft-lost-money-on-ai

  • copilot dépense 20$ par utilisateur qui ramène 10$
  • donc il va y avoir de la rationalisation après l'acquisition rush d'utilisateurs
  • En augmentant les prix
  • en mettant des limites plus restrictives
  • En utilisant des modèles plus simples et plus légers
  • peut être avec du hardware plus optimisé en coût
  • c'est intéressant que l'IA est déjà trop puissante pour son coût et pas encore assez pour être suffisante. Loi de Moore ?
  • MS dit que ce chiffre est faux mais ne donne pas le vrai chiffre.
Outillage

Amazon acquiert Fig https://techcrunch.com/2023/08/29/amazon-fig-command-line-terminal-generative-ai/

  • on en parlait recemment
  • C'est un terminal boosté à l'IA

Introduction de TestContainer Desktop https://www.infoq.com/news/2023/09/testcontainers-desktop/

  • vient de l'appli proprio TestContainer Cloud Descktop donnée
  • permet de mettre les ports fixes (plus facile a debuger)
  • le gel des container pour laisser le container tourner pour l'inspection
  • supporte les moteurs de containers alternatifs a Docker (dont podman et d'autres que je ne connaissais pas)

Nouvelle version 1.7 de jq, l'outile de ligne de commande pour examiner / modifier vos documents JSON https://github.com/jqlang/jq/releases

  • utilisation des nombres décimaux pour ne pas perdre de précision
  • une fonction pick(stream) pour faire des projections et ne garder que les champs qui nous intéressent
  • une fonction debug() pour logguer des message sur stderr
  • une fonction abs() pour calculer la valeur absolue
  • et plein d'autres petits raffinements et correctifs de bugs
  • la version d'avant datait de novembre 2018

Pratiques de Dogfooding: utiliser tes propres outils comme GitHub utilise GitHub actions pour son propre système CI https://www.infoq.com/news/2023/10/running-GitHub-using-actions/

  • avoir des runners plus larges
  • donner l'acces a des resources privées au runner via une gateway qui reçoit un token OIDC specific au runner
  • workflow réutilisables
  • sortie de workflow réutilisable pour optimiser si le git id est le meme qu'un run ancien

Sondage de la communauté TestContainer https://www.atomicjar.com/2023/09/state-of-local-development-and-testing-2023/

  • TestContainer pour plus de 10 languages, pas juste Java
  • RDBMS puis message brokers et les bases nosql sont la majorite des usages
  • mais pas que (serveur web, emulateur de cloud, microservices internes)
  • 40% des utilisateurs utilisent autres chose que Docker Desktop (docker engine, podman, rancher etc)
  • testcontainer au moment du dev et pas que pour les tests
Architecture

Vous êtes plutôt logging ou plutôt tracing ? https://andydote.co.uk/2023/09/19/tracing-is-better/

  • l'article essaie de démontrer que le tracing, c'est mieux que le logging
  • l'imbrication des traces permet de mieux voir la corrélation que des logs
  • les traces donnent des informations de durées, pas que des timestamp
  • on peut rajouter des attributs à ses traces, ce qui rend plus facile le requettage, plutôt que de faire des greps sur des messages de log
Méthodologies

On a construit un produit top et ca a échoué Earthly.dev raconte https://earthly.dev/blog/shutting-down-earthly-ci/

  • outil de CI/CD qui evite de repeter les taches etc
  • comme startup tu ne release aps un produit mature et complet en fonctionalité
  • mais peut etre 10x sur une chose specifique qui peut faire oublier les manques a certains
  • quand tu captures ces premiers, tu investis et etend, et tu repetes
  • si au debut ce differentiateur n'attire personne, ajouter des features ne va pas aider, c'est une recette pour construire quelque chose que personne ne veut
  • ils ont construit leur plan de domination en etapes independantes, des pproduits plus focalisés
  • et le premier produit "gratuit" ne canibalisait pas les seconds produits car ils addressaient des problemes differents (donc pas de risque sur le business model)
  • le premier produit construit par une personne a ete beaucoup adopté
  • le deuxieme (remote workers) a aaussi été adopté avec des gens qui faisaient en DIY, et quand ils ont fait une offre managée, les gens sont venus
  • les CI traditionels lancaient le job et le reste était délégué a Earthly et Earthly Sattelite (le coeur du build)
  • il ne restait plus qu'a allumer le troisieme etage Earthly CI mais c'est parti en cacahuete
  • la population interessée n'était pas des fans qui avaient deja fait le job du produit, ils demandaient en quoi la CI etait differente et le cout de migration et ils n'ont jamais pu gagner
  • au lieu d'une grass root install, il y avait un long mur de migration a passer
  • la clé c'est que vendre aux devs avec un GTM direct ne marche aps, ils doivent essayer et adopter par eux meme
  • developpeurs vont acheter un outil de dev mais tu ne peux pas leur vendre

horcrux : chiffrer un fichier en plusieurs morceaux, et il faut avoir un certain nombre de fragments pour rassembler le fichier entier, mais ne nécessite aucun mot de passe https://github.com/jesseduffield/horcrux

Sécurité

Des pseudos chercheurs en sécurité utilisent Bard pour reporter un CVE pour le projet cURL https://hackerone.com/reports/2199174

  • Heureusement, Daniel Steinberg (le créateur de cURL) et les mainteneurs du projet ont rapidement détecté la supercherie
  • Les LLMs sont super créatifs : ils ont déjà vu dans leur corpus d'entrainement des pages de CVE, et sont donc capables d'en imaginer aussi !
  • Mais imaginez le temps perdu par les mainteneurs de projet OSS s'ils doivent du coup perdre leur temps à vérifier de telles inepties ?
  • au nez et à la bard de l'IA
Loi, société et organisation

Cisco achète Splunk pour 28 milliards https://techcrunch.com/2023/09/21/cisco-to-acquire-splunk-in-28b-mega-deal/

  • bouge cisco plus dans le software
  • "synergetique"
  • Objectif, un geant de l'obnservabilité et la sécurité
  • avec de l'IA parce que c'est comme ca qu'on justifie ces achats
  • encore a valider cet achat par les autorités concurencielles
  • quelque part en 2024

Les fondations comme Eclipse ont peur du Cyber Résilience Act Européen tel que présenté jusqu'à présent https://newsroom.eclipse.org/news/announcements/cra-should-support-open-practices-open-source-and-development-european-open

  • ils demandent une clarification sur les contraintes réglementaires
  • notamment d'exclure les fondation / associations et laisser le poids sur les sociétés qui fourniraient les projet open sources des fondations dans le cadre d'un accord commercial, pas juste de le fournir en téléchargement
  • réutiliser la validation de compliance des sociétés commerciales par les fondations
  • autre article de la linux foundation https://www.linuxfoundation.org/blog/understanding-the-cyber-resilience-act
  • fourniture de matchs, auditing, fournir des mises a jour
  • bouge responsabilité de l'utilisateur vers le développeur du logiciel
  • un individu qui ne reçoit pas de contribution ni ne fait de consulting > exclu
  • fondations et sociétés commerciales, inclues
  • défini des classes de logiciels de non critique a classe 1 et 2
  • doit faire un risk assessment avant de livrer (pas de bug de sécurité, secure par défaut, security update)
  • de la doc sur le process d'évaluation des risques et un SBOM notamment
  • notifier d'ici 24h d'une vulnerabilité
  • il y a une campagne #fixthecra

Des protestations contre l'ouverture des modèles d'IA de Meta https://spectrum.ieee.org/meta-ai

  • ouvrir les modèles et leurs poids permets aux acteurs de bypasser les restrictions (biais etc)
  • donc des gens de Meta protestent contre la politique open source de Meta dans ce domaine
  • l'argument c'est qu'un modele derrière une API peut êtres éteint
  • les partisans de l'avis contraire pointent que contourner les restrictions de ChatGPT ont été triviales jusqu'à présent
  • et que l'obscurité amène a un déficit de transparence, de connaissance du public.
  • va affecté les chercheurs indépendants
  • cela dit ce n'est pas open source pur car les sources et comment le modele est entrainé est peu publié
  • OSI travaille a une définition d'OpenSource AI

Un site pour mettre une pause à l'IA: https://pauseai.info/

  • NOUS RISQUONS DE PERDRE LE CONTRÔLE
  • NOUS RISQUONS L'EXTINCTION DE L'HUMANITÉ
  • NOUS AVONS BESOIN D'UNE PAUSE
  • NOUS DEVONS AGIR IMMÉDIATEMENT
  • Il y a un agenda des manifestations a travers le monde (Londres, Bruxelles, SFO… mais où est Paris?)
  • Twitter/Discord/Facebook/TikTok/LinkedIn
  • Alors qui va gagner la course à l'extinction de l'humanité? la guerre, le réchauffement climatique ou l'IA?
  • Sarah Connor !!!
Outils de l'épisode

Un querty adapté pour les lettres à accent https://altgr-weur.eu/ (via Thomas Recloux)

Conférences

Toutes les vidéos de Devoxx Belgique sont disponibles https://www.youtube.com/@DevoxxForever

Hacktoberfest, édition 10 https://hacktoberfest.com/

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/

LCC 184 - Mais tu observes ou tu écoutes ?06 Mar 201801:17:32

Dans cet épisode Antonio, Audrey et Guillaume commentent l'actualité du mois de février : beaucoup de nouveautés dans les librairies et côté front mais également des nouvelles de Java 10 et 11 et de Kotlin bien sûr !

Enregistré le 1er mars 2018

Téléchargement de l'épisode LesCastCodeurs-Episode–184.mp3

News Langages

Première release candidate pour le JDK 10
JDK 11 en early access
Java 8 ne recevra plus de mises à jour et de correctifs de sécurité à partir de janvier 2019
JDBC Next: A New Asynchronous API for Connecting to a Database

Librairies

Introducing Kotlin Support in Spring Framework 5.0
SpringBoot 1.5.10
SpringBoot 2.0 GA
Vert.x 3.5.1
Tensorflow 1.5
Apache Beam 2.3.0
Elastic 6.2.0
Elastic open source X-Pack

Middleware

Java EE devient Jakarta EE
Infinispan 9.2.0.CR3

Infrastructure

Cloudbees acquiert Codeship

Cloud

CoreOS agrees to join Red Hat
Debugging "FROM scratch" on Kubernetes

Web

Webpack 4
Parcel 1.5.0
NPM 5.7
JHipster 4.14.0
TypeScript 2.7

Angular-CLI 1.7

AngularJS 1.7 LTS

Nuxt.js 1.0 Web Components Todo
Flutter beta 1

Outillage

Gradle 4.5.0

Méthodologies

Effective Use of Slack

Sécurité

Chrome marquera tous les sites HTTP "non sûrs" à partir de Juillet 2018

Loi, société et organisation

The unwinding of net neutrality will begin on April 23rd
Socle interministériel des logiciels libres 2018
Elon Musk quitte le conseil d'administration de son centre sur l'intelligence artificielle

Conférences

BreizhCamp du 28 au 30 Mars 2018
Devoxx France du 18 au 20 avril 2018
MixIT le 19–20 avril 2018 à Lyon
Riviera Dev les 2, 3 et 4 mai 2018 à Sophia Antipolis
NCrafts les 18 et 19 mai 2018 - Le CfP est ouvert.
Best Of Web les 7 et 8 juin 2018
EclipseCon les 13 et 14 juin 2018 - Le CfP est ouvert.
JHipster Conf le 21 juin
DevFest Lille le 21 juin 2018 - Le CfP est ouvert.
Voxxed Luxembourg le 22 juin 2018
Sunny Tech les 28 et 29 juin 2018 - Le CfP est ouvert.
Jenkins User Conference le 28 juin 2018 - Le CfP est ouvert.

Nous contacter

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/
Flattr-ez nous (dons) sur https://lescastcodeurs.com/
En savoir plus sur le sponsoring? sponsors@lescastcodeurs.com

LCC 183 - L'épisode où Audrey apprends à mixer01 Feb 201801:42:09

Dans cet épisode, Audrey se lance dans le mixage et discute avec Vincent et Arnaud Spectre, Meltdown, Neutralité du Net et bien sûr des dernières nouveautés techniques.

Enregistré le 25 janvier 2018

Téléchargement de l'épisode LesCastCodeurs-Episode–183.mp3

News

Pour bien démarrer 2018, les Cast Codeurs sont maintenant sur #deezer et #spotify

Langages

Effective Java, 3rd edition
Whats Next After Java 9
What's next for the Groovy language: The 2018 roadmap
Kotlin 1.2.20

  • Attention au bug dans Spring Data.
Librairies

Sneak peek at Reactor-Core 3.2 with Milestone 1

Middleware

Hadoop 3.0

Infrastructure

James Strachan, James Rawlings, Rob Davies, (fabric8) rejoignent CloudBees

Cloud

Kubernetes 1.9
Chaoskube pour tester vos environnements Kubernetes
Scanning vulnerabilities in Docker Images

Web

The Top JavaScript Trends to Watch in 2018
Angular 5.2
Nouvel incident opérationnel pour NPM
Mozilla active les custom components par défaut
BootStrap 4

Outillage

Publier une librairie open source sur Maven Central

Méthodologies

5 Things to Learn about Building a Successful Team
The Best Advice For Remote Work Success From 10 Global Teams

Sécurité

Spectre et Meltdown, les failles cachées dans nos processeurs:

Loi, société et organisation

La FCC enterre la neutralité du net aux Etats Unis:

Eric Schmidt quitte Alphabet
Google parie sur la France
Des intelligences artificielles plus fortes que l'humain lors d'un test de lecture
L'efficacité d'un logiciel censé prédire la récidive à nouveau critiquée

Conférences

Tips for Effective Conference Proposals
FOSDEM les 3 et 4 février 2018
Touraine Tech le 23 février 2018
BreizhCamp du 28 au 30 Mars 2018
Devoxx France du 18 au 20 avril 2018
MixIT le 19–20 avril 2018 à Lyon
Riviera Dev les 2, 3 et 4 mai 2018 à Sophia Antipolis - Le CfP est ouvert.
NCrafts les 18 et 19 mai 2018 - Le CfP est ouvert.
Best Of Web les 7 et 8 juin 2018 - Le CfP est ouvert.
DevFest Lille le 21 juin 2018 - Le CfP est ouvert.
Voxxed Luxembourg le 22 juin 2018 - Le CfP est ouvert.
Sunny Tech les 28 et 29 juin 2018 - Le CfP est ouvert.
Developers Conferences Agenda/List

Nous contacter

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/
Flattr-ez nous (dons) sur https://lescastcodeurs.com/
En savoir plus sur le sponsoring? sponsors@lescastcodeurs.com

LCC 182 - Black Friday code - une ligne dupliquée pour une achetée03 Dec 201701:11:57

Guillaume et Vincent commentent les nouvelles du mois dans le métaverse java-developicte. Un épisode avec beaucoup d'outils discutés. Félicitation à Guillaume, nouveau Java Champion !

Enregistré le 27 novembre 2017

Téléchargement de l'épisode LesCastCodeurs-Episode–182.mp3

News Langages

JDK 10 Early Access Build
Guillaume est un Java Champion
Built-in HTTP server dans JDK 6+

Librairies

Spring Boot 2.0.0m6
ElasticSearch 6.0.0

Middleware

Kafka 1.0
Infinispan 9.2.0 beta et 9.1.3

Cloud

Process de certification Kubernetes lancé par la CNCF
Service Mesh data plane vs control plane

Web

Angular 5.0.0
What's new in Angular 5.0
What's new in Angular CLI 1.5
Firefox Quantum

Data, Machine Learning

Intro à TensorFlow
Stephan Janssen et les twitter spam bots de Russie

Outillage

Gradle vs Maven, et Gradle en Groovy ou en Kotlin

Une cartographie du code dupliqué sur Github
Github qui utilise du machine learning pour alerter sur des problèmes de dépendance
Github rajoute une feature de discussion

Github ajoute teletype à Atom pour collaboration temps réel
Visual Studio Live Share

Mastering VIM quickly

Les pages MAN mais simplifiées et par l'exemple

Outils de l'épisode

Sibbell par Reda ABDI (Crowdcast)
Artifact listener

Rubrique débutant Bazar / fun / geek

Tesla annonce un nouveau roadster
Tesla annonce aussi un camion

CommitStrip ont fait une super méga fresque

Fixing the MacBook Pro

Conférences

3eme édition du Paris OpenSource Summit les 6 & 7 Décembre
Snowcamp 2018 du 24 au 27 janvier
Touraine Tech le 23 février 2018 - Le CfP est ouvert.
Devoxx France du 18 au 20 avril 2018 - Le CfP est ouvert.
MixIT le 19–20 avril 2018 à Lyon - Le CfP est ouvert.
Riviera Dev les 2, 3 et 4 mai 2018 à Sophia Antipolis - Le CfP est ouvert.

Nous contacter

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/
Flattr-ez nous (dons) sur https://lescastcodeurs.com/
En savoir plus sur le sponsoring? sponsors@lescastcodeurs.com

LCC 181 - Retour sur Devoxx Belgique 201721 Nov 201700:42:35
LCC 180 - Encore une petite news02 Nov 201702:05:03

Dans cet épisode Audrey et Arnaud sont ensemble en même temps! Et nous parlent de… tout. Plus particulièrement, de Java 9, de ce que veut dire une version, de Spring 5, de la domination de Kubernetes, de la réécriture de React sans tout casser et surtout de comment reprendre la main sur un terminal donc la connexion ssh s'est cassée et qui semble ne servir plus à rien. Et bien d'autres choses encore.

Enregistré le 30 octobre 2017

Téléchargement de l'épisode LesCastCodeurs-Episode–180.mp3

News Langages

Java 9.0.1 est dispo

Version-string schemes for the Java SE Platform and the JDK (JEP–223)
Secure Coding Guidelines for Java SE (9)

Librairies

Spring 5.0.0
Spring Boot 2.0 M5
Vert.x 3.5.0
Introducing the Natural Language Processing Library for Apache Spark

Middleware

Marathon 1.5
Wildfly 11

Infrastructure

Resources for Getting Started with Distributed Systems

Cloud

Kubernetes has won. Docker Enterprise Edition will support rival container-wrangling tech
Docker Swarm et Kubernetes sont dans un bateau
Jenkins & Kubernetes
Google Cloud vs AWS

Web

Vue.js is now open collective
Upcoming TypeScript Changes in Vue 2.5

6 Best Practices & Pro Tips when using Angular CLI

React 16.0
What's New With Server-Side Rendering in React 16

TL;TR; Redux

Mozilla Developer Network (MDN) lance un Product Advisory Board, Microsoft et Google le rejoigne.

Microsoft adds multithreading to Node.js

Outillage

Apache Maven 3.5.2 is out
Gradle 4.2.1 aussi

Méthodologies

Mocking is a code smell
React 16: A look inside an API-compatible rewrite of our frontend UI library
Your step-by-step guide to more effective documentation
Git rebase ou pas ?
Tagger ses images Docker - Semver #oupas

Sécurité

Faille de sécurité dans WPA2

Autre

Spotify's Discover Weekly: How machine learning finds your new music
Google unveils AI that learns on its own
Retour sur le DevFest Nantes

Loi, société et organisation

Annulation de l'obligation de déclarer tous ses identifiants en ligne
Bruxelles est contre les backdoors… mais invite les États à partager leur savoir-faire en déchiffrement
Rémi Mathis quitte Wikimédia France

Uber Movement veut séduire Paris grâce à son trésor de données sur la circulation

Outils de l'épisode

Git identities and ssh
Octolinker
octobox.io
Devdocs.io
Asciidoc et Maven pour générer ses supports de cours

Astuce de l'épisode

If you've got a frozen terminal from a dropped SSH connection, hit Enter then ~ then .

Conférences

Scala.io le 2 et 3 novembre à Lyon - Inscriptions
Devoxx Belgique du 6 au 10 novembre
Codeurs en Seine à Rouen le 23 novembre
7ème édition de SoftShake - Genève (seulement 3h de Paris en train !)
3eme édition du Paris OpenSource Summit les 6 & 7 Décembre
Snowcamp 2018 du 24 au 27 janvier
Devoxx France du 18 au 20 avril 2018
MixIT le 19–20 avril 2018 à Lyon

Nous contacter

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/
Flattr-ez nous (dons) sur https://lescastcodeurs.com/
En savoir plus sur le sponsoring? sponsors@lescastcodeurs.com

LCC 179 - Interview sur Keycloak avec Sébastien Blanc16 Oct 201701:26:41

Dans cet épisode, Sébastien Blanc nous fait découvrir l'univers de l'authentification et de l'autorisation et en particulier Keycloak.

Enregistré le 12 juillet 2017

Téléchargement de l'épisode LesCastCodeurs-Episode–177.mp3

Interview Ta vie, ton œuvre

Twitter de Sébastien

Qu'est-ce que Keycloak ?

Le site de Keycloak
Le code de Keycloak
Des quickstarts
Le Jira
La mailing list

Tools-in-action de Sébastien à DevoxxFR
Live coding à SpringIO

LDAP
Authentification
Autorisation ?
Gestion d'identité
Quid de ma connection Google Account ou Facebook Connect
FranceConnect

Bannir des utilisateurs
Remember me
Authentification par certificat client ?
Détection de patterns suspects ? fail2ban
les attaques classiques

One time password
PBKDF2

Un survol des normes de sécurité

Realm

Comment ça marche et dans quel contexte cela s'utilise ?

Le talk de Hubert sur les JWT

Le développement

Moi développeur d'application web Spring Boot, quelles sont les étapes concrètes pour rajouter la sécurité ?
Quel est l'identifiant partagé entre l'application et Keycloak pour définir l'utilisateur
Et mon application voit quoi de l'utilisateur (nom, email, mot de passe ?)
Et mon application Angular 2 avec un backend node.js ?
Et mon application iOS ?
AeroGear
TLS, agnostique ou pas ?
Comment je définis le TTL de mon authentification

Avec quoi vous vous intégrez ?
Security proxy ?

Sous le capot

C'est fait comment en pratique ?
Je change de domaine ?
Comment le clustering est fait
TLS, reverse proxy, etc
Tout est en mémoire ?
Et la partie client, qu'est-ce qui est fait en intégration particulière
Les extensions sont pour faire quoi ?

Vous garder comment les mots de passe (hash, salt, evolution, etc )

Écosystème et communauté

C'est quoi la concurrence ?
Spring Security, cryptomator, Google Keyczar, Bouncy Castle, Apache Shiro ?
Active Directory ?

Auth0 (SaaS) ForgeRock

Le futur
Istio
Vert.x
Keycloak

Nous contacter

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/
Flattr-ez nous (dons) sur https://lescastcodeurs.com/
En savoir plus sur le sponsoring? sponsors@lescastcodeurs.com

LCC 178 - All YOUR CODES ARE BELONG TO OPEN SOURCE01 Oct 201701:31:09

La sortie de Java 9, la mise en open source d'une mégachiée de projets, la sortie d'une tétrachiée de framework webs et bien d'autres choses encore.

Enregistré le 26 septembre 2017

Téléchargement de l'épisode LesCastCodeurs-Episode–178.mp3

News Langages

Java 9 est sorti avec plein de choses dedans
9 Java Champions on Java 9:

Mark Reinhold sur le changement de rythme de Java
Inférence de type locale avec var pour Java 10
Langages de programmation et sécurité chez noLimitSécu

Les outils proprio d'Oracle JDK open sourcés et donnés à OpenJDK ?
Au revoir Java Embedded

IBM open source sa JVM J9

JShell a aussi une API pour son intégration

Middleware

Première Release Candidate pour Reactor Core 3.1

Java EE rejoins la fondation Eclipse
IBM open source Webshere Liberty sous openliberty.io

Web

Angular 4.4
The Past, Present, and Future of the Angular CLI

Yarn 1.0
Brace yourself, Babel 7.0 is coming

Relicensing React, Jest, Flow, and Immutable.js

Pourquoi j'ai choisi vue.js vs react ou Angular 2

Polymer 3.0 arrive
* Les vidéos du Polymer Summit

Ionic passe aux Web Components

Webhooks vs WebSub par notre Audrey !!!

Outillage

IntelliJ et Java 9
junit 5 est sorti
Intégrer des screenshots à ses tests Geb

Méthodologies

Strategie de branche de l'equipe Spring Data
Le papier original sur la methodologie Waterfall

Sécurité

Equifax et la faille de securite d'Apache Struts

Loi, société et organisation

World Wide Web Consortium abandons consensus, standardizes DRM with 58.4% support, EFF resigns
Annonce de l'EFF qui demissionne du W3C sur l'API video DRM

Biased Algorithms Are Everywhere, and No One Seems to Care

Oracle a tué Sun
Le brevet sur GraphQL
La promesse de brevet de Red Hat
La GPL testée en proces et confirmée

Loi de sécurité intérieure : des conséquences pour la vie numérique de tous

Outils de l'épisode

Filtrer les emails GitHub
Garder macOS propre
Stride
Keybase Teams

Conférences

Devops REX le 2 octobre à Paris
DevFest Nantes les 19 & 20 Octobre - Inscriptions
Scala.io le 2 et 3 novembre à Lyon - Inscriptions
Devoxx Belgique du 6 au 10 novembre - Inscriptions
Codeurs en Seine à Rouen le 23 novembre
7ème édition de SoftShake le 26–27 octobre à Genève (seulement 3h de Paris en train !) le CfP est ouvert
3eme édition du Paris OpenSource Summit les 6 & 7 Décembre
Snowcamp 2018 du 24 au 27 janvier ; le CFP est ouvert

Nous contacter

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/
Flattr-ez nous (dons) sur https://lescastcodeurs.com/
En savoir plus sur le sponsoring? sponsors@lescastcodeurs.com

LCC 177 - Interview sur les devs à Singapour à Voxxed Days Eponyme16 Sep 201700:50:35

A l'occasion de Voxxed Days Singapore, Guillaume et Emmanuel discutent avec des expatriés de Singapour (Alan, Germain, Mathieu, Nida) sur leur vie de développeur là bas.

Enregistré le 18 juillet 2017

Téléchargement de l'épisode LesCastCodeurs-Episode–177.mp3

Interview Ta vie ton œuvre

Alan Menant
Redmart
Marina Bay Sands

Germain Potet
Zenika Singapore

Mathieu François
While 42

Nida Bouzid
Active Viam

Voxxed Days Singapore

Voxxed Days Singapore

Singapour

While 42
Singlish
Work holiday pass
Minostry of manpower

Niveaux de vie:

  • salaire
  • loyer
  • nourriture
  • retraite / santé
  • jours de vacances (14 à 21 jours)
  • voiture
G1 et le retour d'expérience Active Viam

Jean-Claude Van Damme
malloc

Nous contacter

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/
Flattr-ez nous (dons) sur https://lescastcodeurs.com/
En savoir plus sur le sponsoring? sponsors@lescastcodeurs.com

 

LCC 176 - Le paradoxe de la fondation04 Sep 201701:06:34

Antonio, Arnaud, Vincent et Emmanuel commentent les informations de l'été: diversité, java dans un container, Java EE dans une fondation, les licences Facebook vs la fondation Apache et plus.

Enregistré le 1 septembre 2017

Téléchargement de l'épisode LesCastCodeurs-Episode–176.mp3

Comment faire un crowdcasting

News

Les épisodes des cast codeurs en licence Creative Commons by-nc-nd

Langages

Java Still Number One, But What's Taking Over?
Le guide Bash ultime
Ceylon rejoint Eclipse

Server JRE
Garbage Collecteur G1 et comment le maitriser la bête dans tes microservices
Java vs Docker: comment configurer sa JVM (Java SE support for Docker CPU and memory limits)

Les principaux paradigmes de programmation
Excel est un Nonmonotonic dataflow programming :)

Légal

Facebook et sa licence BSD + brevet (react.js et RockDB):

Middleware

Java EE dans une fondation ?
Bean Validation approuvé
Java EE 8 approuvé aussi

Web

Bootstrap passe en béta

Loi, société et organisation

France: un pays de gros lourds
Elles inventent un co-fondateur homme pour leur start-up, et c'est « le jour et la nuit »

Cefcys
L'épisode de NoLimitSecu sur le Cefcys

Google et le mémo sur la chambre a echo de Google:

How to Raise a Feminist Son

Outils de l'épisode

Un Chromebook pour coder
Site Reliability Engineering book

Conférences

JUGSummerCamp 15 septembre
devops REX le 2 octobre à Paris
DevFest Nantes les 19 & 20 Octobre - Inscriptions
Scala.io le 2 et 3 novembre à Lyon - Inscriptions
Devoxx Belgique du 6 au 10 novembre - Inscriptions
BDX.io 10 novembre
Devoxx Maroc 14–16 novembre
Codeurs en Seine à Rouen le 23 novembre
7ème édition de SoftShake - Genève (seulement 3h de Paris en train !) le CfP est ouvert
3eme édition du Paris OpenSource Summit les 6 & 7 Décembre (CfP ouvert jusqu'au 15 septembre) Snowcamp 2018 du 24 au 27 janvier ; le CFP est ouvert

Nous contacter

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/
Flattr-ez nous (dons) sur https://lescastcodeurs.com/
En savoir plus sur le sponsoring? sponsors@lescastcodeurs.com

LCC 175 - Interview sur la build avec Cédric Champeau et Arnaud Héritier - partie 211 Aug 201701:28:01

Guillaume, Cédric et Arnaud se retrouvent autour du micro pour parler pendant une session marathon de 3h30 du build, de Maven et de Gradle. Dans cette deuxième partie, on y discute tests puis on aborde des questions spécifiques à chaque outil. On aborde enfin le dilemme: migrer ou ne pas migrer, telle est la question. Le tout basé sur les questions posées sur la mailing list des cast codeurs : merci à vous !

Enregistré le 19 juillet 2017

Téléchargement de l'épisode LesCastCodeurs-Episode–175.mp3

Interview

 

Ta vie ton œuvre

Cédric Champeau
Gradle Inc.
Arnaud Héritier
Cloudbees

Gradle
Maven

Les tests

Gradle / Maven: Quelle est la philosophie officielle des deux outils pour la gestion des tests au delà des tests unitaires (une fois les différents modules assemblés et déployés) ?
Dans des projets maven par exemple, je vois des fois des modules dédiés, en scope test ou scope runtime et lancés à la main, d'autres fois des projets indépendants. Chaque équipe a plus ou moins sa propre façon de gérer la chose mais rien n'a l'air vraiment normalisé (ou du moins partagé par la communauté).

Gradle / Maven: Quels sont les 'best practices' pour faire du 'test and watch' (genre infinitest) avec maven et gradle ?

Les intégrations

Gradle: Pourquoi je ne peux pas faire de Run Tests sur un projet en Gradle dans IntelliJ alors qu'avec Maven je peux ?
Gradle / Maven: Pour les deux, qu'en est il de l'intégration dans les différents IDE ? J'ai été agréablement surpris par l'intégration de Gradle dans Netbeans, mais je n'ai pas beaucoup joué avec.
Gradle / Maven: "Quid de l'intégration dans mon IDE préféré ?"
Gradle / Maven: "Quid de l'intégration dans mon continuous build préfére ?"

Gradle en profondeur

Gradle: Y'a moyen de voir en Gradle à quel test je suis rendu ?

Gradlew/mvnw
  • Gradle: Pourquoi mvnw et gradlew ne downloadent par leurs jars au lieu de nous forcer à les mettre dans .mvn et gradle ?
  • Gradle: Pour Gradle, vous ne trouvez pas affreux ces fichiers "gradlew" et "gradlew.bat" à la racine de chaque projet dans github ?
Scripting vs XML
  • Gradle: Est-il prevu de pouvoir avoir un fichier build.gradle a chaque niveau de la hierarchie de tes modules au lieu d'avoir besoin de decrire manuellement tous les paths dans un fichier settings.gradle ? C'est un point que j'ai trouvé penible (par ex https://github.com/xwiki/xwiki-commons/blob/master/settings.gradle et là je ne liste que qq modules - en pratique il y en a des centaines ds le build xwiki).
  • Gradle: Est-ce que Gradle travaille a essayer d'homogénéiser encore plus les builds Gradle ? Qd j'ai essayé de convertir le build Maven de XWiki en Gradle, j'ai lu la doc puis j'ai regarde 4–5 builds differents en gradle pour voir les bonnes practices. Et la j'ai ete embete car chacun avait des pratiques un peu differentes. Au debut j'etais meme paumé et puis apres qq heures de recherches j'ai commencé à identifier des patterns communs mais qd meme avec pas mal de variations. Du coup je n'ai pas su trouver facilement les best practices et j'ai du me les faire et en consequence le build Gradle XWiki est lui aussi encore un peu different des autres probablement. Qu'est-il prevu sur le sujet ? En gros comme simplifier encore plus l'onboarding Gradle ?
BOM

Gradle: Le BOM de maven est-il une invention du malin ? Et quel est son équivalent pour Gradle ?

Android

Gradle: Pourquoi l'intégration de ces outils dans Android Studio est-elle aussi pathétiquement mauvaise ? (je suis obligé d'utiliser ce sous-outil, et j'ai mal à mon gradle : je ne peux pas voir mes dépendances facilement, et l'intégration se résume à une lecture de la liste des tâches et à leur lancement).

Maven en profondeur

Maven: Quand est-ce que le bogue Maven du shade plugin qui ne remplace pas le jar d'origine pas le jar shadé sera corrigé? (et que donc l'équipe Maven reviendra à la raison) ?
Maven: Pour revenir au cycle de vie de Maven, serait-il possible de configurer des cycles de vies (notion de descripteurs de cycles de vie). En gros, pouvoir dire que mon projet suit un cycle de vie à 3 phases qui sont "resource, compile, install" et qu'un autre avec X phases comme compile, "prepare, …, install, deploy-maven-repository, deploy-env")
Maven: Pour Maven encore, il y avait il me semble un projet polyglot pour les descripteurs, qu'en est-il ? Pourrait on imaginer des descripteurs en yaml et/ou json ?
Maven: y'a t'il beaucoup de boites qui dev leurs petits plugins Maven perso pour adapter à leurs problématiques ?

Granularité / découpage de modules avec Maven

Maven: comment gérer les builds où l'appli finale est la résultante de nombreux multi-module Maven project, chacun dans un repo git perso avec leur version. Nous avons des problèmes pour gérer les évolutions de versions de chacun de ces multi-modules et faire en sorte que les modules qui en dépendent se MAJ vers la nouvelle version. Les BOM Maven sont une piste mais c'est pas clair…
Maven: est-ce une bonne pratique de considérer comme absolue la règle selon laquelle tous les modules d'un multi-module Maven project doivent avoir le même numéro de version ?
Maven: est-ce bien une mauvaise pratique que de mettre dans le même repo Git 2 multi-module Maven projects qui ne partagent pas le même parent ?
Maven: les devs familiers avec Maven n'ont ils pas trop tendance à découper leurs appli en modules Maven alors qu'ils pourraient se contenter des package Java ? Je me rend compte que c'est mon cas perso…
Maven: Pour des grosses applis, faites-vous plusieurs petits builds et un meta-build d'assemblage final agrégeant les petits morceaux ? Ou alors faites-vous un bon gros build qui dure longtemps mais recompile/repackage tout ? Ou alors vous laissez-vous le choix en faisant en sorte de pouvoir faire les 2 (sur Jenkins)

Maven: "classpath too long": c'est la résultante du point précédant. Nous commençons à nous heurter à des problèmes de "classpath too long" sous Windows pour des Proof of Concepts mixant de nombreux projets. Le point de non-retour est-il proche ? (Pour info, nous contournons temporairement le problème en ayant utilisé la commande mklink pour simlinker le repo Maven sur c:\repo et gagner quelques caractères sur chaque dépendance… oui, c'est tres moche)
Maven: quid du paramétrage du build ? Par exemple actuellement nous avons une phase de packaging assez générique qui prend en entrée un numéro de version de l'application à packager. Merci Jenkins.

Migration

Migrer vers Gradle, mais pourquoi (pas) ? Et la valeur du build dans tout ça …
Gradle: Pourquoi est-ce que depuis 3 ans, je vais voir une prez de Cédric sur Gradle, et j'en ressors en me disant "Gradle, ça a l'air quand même vachement bien", et que l'année qui suit, je retourne voir une prez de Cédric l'année suivante sans avoir rien changé sur mes projets Java ?
Gradle: Suis-je tellement fainéant dans mon petit confort de build Maven pour reposer sur mes acquis et ne pas switcher ? Je veux dire … à chaque fois j'ai de bons arguments apportés par Cédric pour migrer, et pourtant, le switch ne se fait finalement pas.
Gradle / Maven: Considère-t-on aujourd'hui le build comme accessoire sur un projet Java pour ne pas vouloir engager un investissement de migration ? (je parle beaucoup de mon cas perso ici, mais j'ai l'impression qu'il n'est pas si isolé que ça) Ou au contraire, est-ce tellement critique et relativement assez peu agile qu'on a trop peur d'en changer? Si on reprend le cas de Ant vs Maven, pas mal de gens ont traine a migrer, c'etait trop risque, les bonnes pratiques etaient encore peu connues, tout le monde avait peur de crasher son projet a cause de ca… Personne ne veut essuyer les platres d'une "nouvelle" techno de build avec son projet.
Gradle: Peut-etre Gradle en est-il encore la et a du mal a passer le cap des Early-Adopters (ceci dit, avec Android et son armee de developpeurs d'apps ca devrait changer vite si c'est le cas; tant qu'Android l'infidele decide de rester sur Gradle :P
Gradle: Et enfin, LE point-cle: est-ce que la migration de Maven a Gradle amene une valeur ajoutee suffisante pour justifier l'effort et le risque? J'ai pas l'impression de lire beaucoup de retour d'experience de projets qui disent avoir gagne drastiquement en productivite en en qualite grace a une migration Maven->Gradle.
Gradle / Maven: "je démarre un projet, Gradle ou Maven ?"

Conclusion

Gradle / Maven: les devs et le build: généralement, la grande majorité des devs ne s'y intéressent pas. A titre perso, je trouve ça fondamental, si le build est mal fait, ça handicap tout le projet sans que les gens ne s'en aperçoivent malgré les effets négatifs, ils ne voient pas comment faire autrement => est-ce un ressenti que vous avez ?

Nous contacter

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/
Flattr-ez nous (dons) sur https://lescastcodeurs.com/
En savoir plus sur le sponsoring? sponsors@lescastcodeurs.com

LCC 300 - Interview de Jean-Michel Doudoux sur Java 21 par Charles Sabourdin18 Sep 202301:26:09

Dans cet épisode Charles Sabourdin interview Jean-Michel Doudoux sur la sortie de la nouvelle version LTS de Java en 2023: Java 21.

Enregistré le 5 septembre 2023

Téléchargement de l'épisode LesCastCodeurs-Episode-300.mp3

Java 21

The art of long-term support and what LTS means for the Java ecosystem

JDK 21 À propos de Jean-Michel Doudoux À propos de ParisJug
  • https://www.parisjug.org/
  • https://www.jchateau.org/
  • https://javaday.parisjug.org/
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/

LCC 174 - Interview sur la build avec Cédric Champeau et Arnaud Héritier - partie 101 Aug 201701:52:38

Guillaume, Cédric et Arnaud se retrouvent autour du micro pour parler pendant une session marathon de 3h30 du build, de Maven et de Gradle. A première partie pose les bases: introduction, java 9, performance, gestion de dépendances, cycle de vie

Enregistré le 18 juillet 2017

Téléchargement de l'épisode LesCastCodeurs-Episode–174.mp3

Interview Ta vie ton œuvre

Cédric Champeau
Gradle Inc.
Arnaud Héritier
Cloudbees

Liens généraux

Gradle
Gradle Enterprise
Maven

Guide modules Java 9 :

Liens Gradle

Maven vs Gradle (features)
Maven vs Gradle (performance)
Migrer vers Gradle
Nebula plugins (Netflix)
Plugin Go (gogradle)
Spring Dependency Management
Builds composites
Build Cache

Définition et histoires

Ant

Pour s'échauffer, bon alors, c'est qui le plus fort Gradle ou Maven ?
Est-ce que Gradle et Maven ont de la couleur dans la console ?
Gradle / Maven: un pitch de 30 secs max pour chacun pour me faire faire mon choix

Support de Java 9

Gradle / Maven: Quand est-ce qu'ils vont supporter Java 9? Et la compilation multi-modules:

Gradle / Maven: Avez-vous eu de l'aide d'Oracle pour faire marcher Java 9?
Gradle / Maven: Qu'est-ce que n'est pas prêt pour Java 9?

La performance

C'est quoi le build cache de Gradle ? C'est gratuit ou c'est que dans la version payante ?
Parle nous un peu plus de Gradle Enterprise, il y a quoi dedans ?
Gradle Entreprise

J'ai fumé la moquette

Quid de l'intégration avec jshell : je veux écrire mon script de build en Java pas en Groovy (désolé) ou en Kotlin (désolé), et surtout que cela soit un fucking REPL (Rémi Forax)

La totale depuis la ML Les projets

Maven, le projet
Maven: Pour Maven, qui tient les rênes du projet ?
Maven: La dernière version de Maven est récente, avec quelque bugfix (il semble…) La précédente version date de fin 2015 : Maven meurt il à petit feu ?
Maven: Qu'est-ce qui fait que Maven n'évolue que très très très peu ? En particulier en terme de performance. Il est mort le projet ou quoi ?
Maven: Qui paye le hosting de Maven Central ?

Gradle, le projet, Gradle.inc, l'entreprise
Gradle: Gradle Inc propose des guides, des outils pour entreprise : Gradle veut devenir l'outil de build de référence en entreprise ?
Gradle: Groovy va rester le langage principale des scripts Gradle (et Kotlin une alternative) ? Va cohabiter avec Kotlin ? va se voir remplacer par Kotlin ?
Gradle: Les dernières versions de Gradle se focalisent beaucoup sur les performances de build. Vers quoi l'outil va s'orienter par la suite ?
Gradle: Gradle peut builder des projets en C, des projets Java, Android…. Il y aura un focus sur un écosystème en particulier ou Gradle va continuer à essayer de tout builder, quitte à se disperser ?
Gradle: Quelle est la proportion de projet utilisant Gradle pour construire des projets autres que des projets Java/Android ?
Gradle: Gradle est indirectement poussé par Google car utilisé pour construire les applications Android. Gradle est également utilisé par Linkedin. Comment ces acteurs influent sur Gradle en terme de fonctionnalité ?

Et les autres (outils de builds)

Gradle / Maven: Ou en sont les autres, les javascripteurs ? sont-ils toujours à réinventer x fois la roue ? Ou ont-ils des outils dont Gradle et Maven pourrait s'inspirer ?
Gradle / Maven: Qu'est-ce qui a bien pu pousser les javascripteurs à se dire qu'ils pourraient faire un outil intelligent quand ils semblent dépourvus du moindre bon sens ?
Gradle / Maven: Il serait aussi sympa de comparer ces outils a ce qui se fait dans d'autres silos techniques (genre JS avec npm ou autre, C# avec dotnet et NuGet…), voir ce qui est mieux ou moins bien ailleurs.
Gradle / Maven: Comment faire du build polyglotte, par exemple avec un mixe de Scala, Kotlin, Groovy, Java, et des sous projets Web (angular cli, webpack, gulp, …) ?
Gradle / Maven: Pourquoi les outils de build apparaissent aussi facilement que les champignons en automne ?
Gradle / Maven: Qu'est-ce qui a fait le succès de maven et gradle ? (aussi bien techniquement que d'un point de vue marketing)

La gestion des dépendances

Gradle / Maven: une question plus fondamentale sur gestion de deps vs build : à un moment, dans le monde JS, il y avait une séparation assez nette entre gestion de dépendance (avec Bower ou npm je crois) et un outil de build/packaging (genre Gulp il me semble) et des fichiers de conf distincts; maintenant il semble que la mode n'ait pas pris et que npm règne en maitre et mélange les 2 sujets dans une meme conf. Est-ce que les experts de build Java pourraient partager leur avis sur la question: pourquoi on mélange gestion de dépendances et gestion de build ? Est-ce que c'est vraiment un choix de design ou juste que c'est pragmatiquement suffisant et plus efficace?
Gradle / Maven: comment les outils de build permettent de gérer les dépendances non-Java ? Tant qu'on reste dans du Java, c'est simple, mais dés que l'on sort un peu de là ça se complique (nous on a du natif Windows/Linux, j'imagine que pour les devs Android c'est encore plus compliqué). Peut t'il y avoir des interactions avec des repository non Maven-compliant ? On entend beaucoup parler de Conan pour les artefacts C/C++ ces temps-ci… Que permet Gradle sur le sujet ? Pouvez-vous nous briefer sur le monde Android qui doit avoir ces problématiques ?

Le cycle de vie de l'application

Gradle / Maven: Sujet qui pourrait être intéressant à débattre : comment est-ce que les deux outils abordent la livraison "en production" ? Où est-ce qu'ils s'arrêtent dans leur philosophie (on peut assez facilement imaginer un DSL gradle par exemple pour gérer les déploiements) ?
En particulier, quid des environnements où les plateformes de production n'ont pas accès à internet (et donc pas accès aux dépôts officiels et pas de miroir disponible/accessible, j'ai vu ça chez les opérateurs télécom). La solution mise en place ici, c'est livraison sous forme d'iso/de cd sur lesquels il y a toutes les dépendances, et cette iso est montée comme un repo à partir duquel on installe la solution.
Et à partir de là, viennent d'autres problèmes d'ordre juridiques : comment est pensée la gestion des licences, en particulier en ce qui concerne les dépendances transitives ?
Gradle / Maven: Un peu lié : quelles différences dans les deux outils pour la construction d'applis orientées serveur vs. appli orientées client ?

Nous contacter

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/
Flattr-ez nous (dons) sur https://lescastcodeurs.com/
En savoir plus sur le sponsoring? sponsors@lescastcodeurs.com

 

LCC 173 - Fais tourner la Hash Table14 Jul 201701:35:16

Audrey, Guillaume et Emmanuel vous parlent de serverless, de sécurité, de calculs de disponibilité, de hash table et d'autres sujets tip top.

Enregistré le 13 juillet 2017

Téléchargement de l'épisode LesCastCodeurs-Episode–173.mp3

Comment faire un crowdcasting

News Langages

Java 9 et Jigsaw passent le JCP
No swan song for Java: 10 influencers weigh in on its reputation, rivals and adoption

Matériel

le simulateur d'ordinateur quantique d'Atos
Intel Skylake/Kabylake et le bug dans l'hyperthreading

Middleware

Les framework Java populaires selon Redmonk
Spring Cloud Function
Les nouveautés de JPA 2.2
Le guide de developpement asynchrone avec vert.x
AWS Lambda et Java
Elastic Stack 5.5.0
Des tests d'intégration avec Elastic

Web

Release de JHipster 4.6.1
Node.js security release

Infrastructure

La bataille sur NTP
Raters: la face cachée de l'IA ?
Les choses à savoir quand on utilise Ansible
OVH et les sites webs critiques sur un VPS
Comment fonctionne Kerberos
Distroless Docker image avec rien dedans

Outillage

Blog sur JUnit 5
ˋgit filter-branch` expliqué à ta grand-mère

Architecture

Papier sur la disponibilité et les 9 par Google
L'intérêt des data stream dans les applications non monolithe
Serverless vs Micro-Service avec infrastructure "maison"
Gestion des logs chez Algolia

Sécurité

Two-factor via your mobile phone – should you stop using it?

Loi et société et organisation

La démission de Travis Kalanick, le CEO d'Uber
Mercredi 12 juillet - Journée d'action pour la neutralité du net aux USA

Rubrique débutants

Qu'est-ce qu'une Hash Table ?

Conférences

Jug Summer Camp le 15 Septembre à La Rochelle
DevFest Toulouse le 28 septembre - Inscriptions et CfP ouvert
DevFest Nantes les 19 & 20 Octobre - Inscriptions
Scala.io le 2 et 3 novembre à Lyon - Inscriptions et CfP ouvert (jusqu'au 8 sept)
Devoxx Belgique du 6 au 10 novembre - Inscriptions
Codeurs en Seine à Rouen le 23 novembre - CfP ouvert (jusqu'au 31 août)
7ème édition de SoftShake - Genève (seulement 3h de Paris en train !) 26–27 octobre 2017 le CfP est ouvert

Nous contacter

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/
Flattr-ez nous (dons) sur https://lescastcodeurs.com/
En savoir plus sur le sponsoring?

LCC 172 - Interview sur Docker avec Jean-Laurent Morlhon et David Gageot03 Jul 201700:57:04

Antonio, Vincent et Guillaume sont allé dans les bureaux de Docker France pour interviewer Jean-Laurent et David sur l'univers Docker et leur aventure Docker France.

Enregistré le 17 mai 2017

Téléchargement de l'épisode LesCastCodeurs-Episode–172.mp3

Interview Ta vie ton œuvre

Jean-Laurent Morlhon
David Gageot
Docker Inc.

Docker

Docker Machine
Docker for Mac
Docker for Windows

Open Source vs edition entreprise

Moby
Docker EE
Docker Trusted Registry

Infinit racheté par Docker

Usage Docker

Multi stage build
containerd
LinuxKit
InfraKit

Nous contacter

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/
Flattr-ez nous (dons) sur https://lescastcodeurs.com/
En savoir plus sur le sponsoring? sponsors@lescastcodeurs.com

 

© My Podcast Data