Filtrar por gênero
Les Cast Codeurs Podcast
Restez informes sur les sujets brulants de l industrie Java. Plongez sur un sujet precis avec l interview de l episode. Supportez les radotages de vos hôtes : Emmanuel Bernard (JBoss, Hibernate), Arnaud Héritier (CloudBees, Jenkins), Guillaume Laforge (Google, Groovy), Antonio Goncalves (freelance, auteur), Vincent Massol (XWiki, Maven), Audrey Neveu (Saagie, Devoxx4Kids).
- 319 - LCC 318 - La faille sous la faille sous la faille
Cet épisode est relativement pauvre en IA, ouaissssssss ! Mais il nous reste plein de Spring, plein de failles, plein d’OpenTelemetry, un peu de versionnage sémantique, une astuce Git et bien d’autres choses encore.
Enregistré le 8 novembre 2024
Téléchargement de l’épisode LesCastCodeurs-Episode–318.mp3
News LangagesLe createur de Fernflower in decompilateur qui a relancé l’outillage autour de Java 8 est mort, un hommage d’IntelliJ IDEA https://blog.jetbrains.com/idea/2024/11/in-memory-of-stiver/
les decompilateurs s’appuyaient sur des patterns reconnus et étaient fragiles et incomplets surtout quand Java 8 a changé le pattern try catch et ajouté des concepts comme les annotations le champ était moribond quand Stiver s’est lancé dommage l’article n’explique pas comment le control-flow graph est genere a partir du bytecode pour ameliorer la decompilation LibrairiesOn peut maintenant utiliser Jakarta Data Repository dans Quarkus https://in.relation.to/2024/11/04/data-in-quarkus/
petit article avec un projet example aussi un lien sur la presentation de Jakarta Data par Gavin à Devoxx BelgiqueQuarkus 3.16 https://quarkus.io/guides/opentelemetry-logging
logs distribués avec OpenTelemetry (preview) deserialiseurs Jackson sans reflection des améliorations dans la stack de sécurité TLS registry a ratjouté graphql client et keycloak admin client LEs logs des container devservice et des access http sont visible dans la DevUI Les extensions peuvent maintenant ecrire leur doc en markdown (c’etait juste asciidoc avant)Un artcile sur comment débuter en Spring Batch https://www.sfeir.dev/back/planifier-des-taches-avec-spring-batch/
Le support OAuth2 pour RestClient arrive dans Security 6.4 / Boot 3.4. Plus de hack de WebClient dans vos applications Spring-Web ! https://spring.io/blog/2024/10/28/restclient-support-for-oauth2-in-spring-security–6–4
RestClient a été ajouté dans Spring Framework 6.1 API Fluide Spring Security 6.4 simplifie la configuration OAuth2 avec le nouveau client HTTP synchrone RestClient. RestClient permet des requêtes de ressources sans dépendances réactives, alignant la configuration entre applications servlet et réactives. La mise à jour facilite la migration depuis RestTemplate et ouvre la voie à des scénarios avancés.Marre des microservices ? Revenez au monoliths avec Spring Modulith 1.3RC1, 1.2.5 et 1.1.10 https://spring.io/blog/2024/10/28/spring-modulith–1–3-rc1–1–2–5-and–1–1–10-released
Spring Modulith 1.3 RC1, 1.2.5, and 1.1.10 sont disponibles. La version 1.3 RC1 inclut des nouvelles fonctionnalités : archiving event publication completion mode compatibilité avec MariaDB et Oracle avec JDBC-based event publication registry Possibilité d’externaliser des événements dans des MessageChannels de Spring. Expressions SpEL dans @Externalized validation d’architecture technique jMolecules. Les versions 1.2.5 et 1.1.10 apportent des correctifs et mises à jour de dépendances.Spring gRPC 0.1 est sorti https://github.com/spring-projects-experimental/spring-grpc
c’est tout nouveau et explorationel si c’est un probleme qui vous gratte, ca vaut le coup de jeter un coup d’oeil et participer. Spring Boot 3.3Integrer Spring avec Open Telemetry (OTLP protocole) https://spring.io/blog/2024/10/28/lets-use-opentelemetry-with-spring
rappel de la valeur de ce standard Open Telemetry comment l’utiliser dans vos projets SpringComment utiliser ollama avec Spring AI https://spring.io/blog/2024/10/22/leverage-the-power-of–45k-free-hugging-face-models-with-spring-ai-and-ollama
permet d’acceter aux 45k modeles de Hugging faces qui supportent le deploiement sur ollama il y a un spring boot starter c’est vraiment pour debuter CloudGoogle Cloud Frankfort a subit 12h d’interruption https://t.co/VueiQjhCA3
Google Cloud a subi une panne de 12 heures dans la région europe-west3 (Francfort) le 24 octobre 2024. La panne, causée par une défaillance d’alimentation et de refroidissement, a affecté plusieurs services, y compris Compute Engine et Kubernetes Engine. Les utilisateurs ont rencontré des problèmes de création de VM, des échecs d’opérations et des retards de traitement. Google a conseillé de migrer les charges de travail vers d’autres zones. il y a eu une autre zone Europeenne pas mal affectée l’année dernière et des clients ont perdu des données :sweat: WebLa fin de la World Wild Web Foundation https://www.theregister.com/2024/09/30/world_wide_web_foundation_closes/
la Fondation World Wide Web ferme ses portes. Les cofondateurs estiment que les problèmes auxquels est confronté le Web ont changé et que d’autres groupes de défense peuvent désormais prendre le relais. Ils estiment également que la priorité absolue doit être donnée à la passion de Tim Berners-Lee pour redonner aux individus le pouvoir et le contrôle de leurs données et pour construire activement des systèmes de collaboration puissants (Solid Protocol - https://solidproject.org/).Release du https://www.patternfly.org/ 6
Fw opensource pour faire de UI, sponsor RH Interessant à regarder Data et Intelligence ArtificielleTSMC arrête des ventes à un client chinois qui aurait revenu un processeur à Huawei et utilise dans sa puce IA https://www.reuters.com/technology/tsmc-suspended-shipments-china-firm-after-chip-found-huawei-processor-sources–2024–10–26/
Taiwan Semiconductor Manufacturing Company (TSMC) a suspendu ses livraisons à Sophgo, un concepteur de puces chinois, après la découverte d’une puce fabriquée par TSMC dans un processeur AI de Huawei (Ascend 910B). Cette découverte soulève des préoccupations concernant des violations potentielles des contrôles d’exportation des États-Unis, qui restreignent Huawei depuis 2020. Sophgo, lié à Bitmain, a nié toute connexion avec Huawei et affirme se conformer aux lois applicables. Toutefois, l’incident a conduit à une enquête approfondie de TSMC et des autorités américaines et taïwanaisesOpen AI et Microsoft, de l’amour à la guerre https://www.computerworld.com/article/3593206/microsoft-and-openai-good-by-bromance-hel[…]m_source=Adestra&huid=4349eeff–5b8b–493d–9e61–9abf8be5293b
on a bien suivi les chants d’amour entre Sam Altman et Satia Nadella ca c’est tendu ces derniers temps deja avec le coup chez openAI où MS avait sifflé la fin de la récré “on a le code, les données, l’IP et la capacité, on peut tout recrée” OpenAi a un competiteur de Copilot et essaie de courtises ses clients les apétits d’investissements d’OpenAI et une dispute sur la valeur de la aprt de MS qui a donné des crédits cloud semble etre aui coeur de la dispute du momentDebezium 3 est sorti https://debezium.io/blog/2024/10/02/debezium–3–0-final-released/
Java 17 minimum pour les connecteurs et 21 pour le serveur, l’extension quarkus outbox et pour l’operateur nettoyage des depreciations metriques par table maintenant support for mysql 9 y compris vector data type oracle, default mining strategie changée ehcache off-heap ajouté amelioarations diverses Oracle (offline RAC node flush, max string size for Extended PostgreSQL PGVector etc (Spanner, vitess, …)NotebookLlama: une version Open Source de NotebookLM https://github.com/meta-llama/llama-recipes/tree/main/recipes/quickstart/NotebookLlama
Si vous avez été impressionné par les démo de Gemini Notebook, en créant des podcasts à partir de différentes resources, testez la version llama Tutoriel étape par étape pour transformer un PDF en podcast. OutillageVous aimez Maven? Bien évidemment! Vous aimez asciidoctor? Absolument! Alors la version 3.1.0 du plugin asciidoctor pour maven est pour vous !! https://github.com/asciidoctor/asciidoctor-maven-plugin
Le plugin permet soit de convertir des documents asciidoc de manière autonome, soit de les gérer via le site mavenGitHub Universe: de l’IA, de l’IA et encore de l’IA https://github.blog/news-insights/product-news/universe–2024-previews-releases/
GitHub Universe 2024 présente les nouveautés de l’année, notamment la possibilité de choisir parmi plusieurs modèles d’IA pour GitHub Copilot (Claude 3.5, Gemini 1.5 Pro, OpenAI o1). Nouvelles fonctionnalités : GitHub Spark pour créer des micro-applications, révisions de code assistées par Copilot, sécurité renforcée avec Copilot Autofix. Simplification des workflows avec les extensions GitHub Copilot Facilitation de la création d’applications IA génératives avec GitHub Models MéthodologiesLes blogs de developpeurs experts Java recommandés par IntelliJ https://blog.jetbrains.com/idea/2024/11/top-java-blogs-for-experienced-programmers/
pas forcement d’accord avec toute la liste mais elle donne de bonnes options si vous voulez lire plus de blogs JavaKeycloak revient au semantic versioning après avoir suivi le versionage à la Google Chrome https://www.keycloak.org/2024/10/release-updates
ne pas savoir si une mise a jour était retrocompatible était problématique pour les utilisateurs aussi les librairies clientes seront délivrées séparément et supporteront toutes les versions serveur de keycloak supportés SécuritéUn exemple d’attaque de secure supply chain théorique identifiée dans le quarkiverse et les détails de la résolution https://quarkus.io/blog/quarkiverse-and-smallrye-new-release-process/
dans le quarkiverse, les choses sont automatisées pour simplifier la vie des contributeurs d’extension occasionels mais il y avait un défaut, les secrets de signature et d’accès à maven central étaient des secrets d’organisation ce qui veut dire qu’un editeur d’extension malicieux pouvait ecrire un pluging ou un test qiu lisait ses secrets et pouvait livrer de faux artifacts la solution est de séparer la construction des artifacts de l’etape de signature et de release sur maven central comme cela les cles ne sont plus accessibleAvec Okta pus besoin de mot de passe quand tu as un identifiant long :face_with_hand_over_mouth: https://trust.okta.com/security-advisories/okta-ad-ldap-delegated-authentication-username/
LOL Une vulnérabilité a été découverte dans la génération de la clé de cache pour l’authentification déléguée AD/LDAP. Les conditions: MFA non utilisé Nom d’utilisateur de 52 caractères ou plus Utilisateur authentifié précédemment, créant un cache d’authentification Le cache a été utilisé en premier, ce qui peut se produire si l’agent AD/LDAP était hors service ou inaccessible, par exemple en raison d’un trafic réseau élevé L’authentification s’est produite entre le 23 juillet 2024 et le 30 octobre 2024 Fixé le 30 octobre, 2024La revanche des imprimantes !! Linux ne les aime pas, et elles lui rendent bien. https://www.theregister.com/2024/09/26/cups_linux_rce_disclosed/
Après quelques heures / jours de rumeurs sur une faille 9.9/10 CVSS il s’avère que cela concerne que les système avec le système d’impression CUPS et cups-browsed Désactivez et/ou supprimez le service cups-browsed. Mettez à jour votre installation CUPS pour appliquer les mises à jour de sécurité lorsqu’elles sont disponibles. Envisagez de bloquer l’accès au port UDP 631 et également de désactiver le DNS-SD. Cela concerne la plupart des distributions Linux, certaines BSD, possiblement Google ChromeOS, Solaris d’Oracle et potentiellement d’autres systèmes, car CUPS est intégré à diverses distributions pour fournir la fonctionnalité d’impression. Pour exploiter cette vulnérabilité via internet ou le réseau local (LAN), un attaquant doit pouvoir accéder à votre service CUPS sur le port UDP 631. Idéalement, aucun de vous ne devrait exposer ce port sur l’internet public. L’attaquant doit également attendre que vous lanciez une tâche d’impression. Si le port 631 n’est pas directement accessible, un attaquant pourrait être en mesure de falsifier des annonces zeroconf, mDNS ou DNS-SD pour exploiter cette vulnérabilité sur un LAN. Loi, société et organisationLa version 1.0 de la definition de l’IA l’Open Source est sortie https://siliconangle.com/2024/10/28/osi-clarifies-makes-ai-systems-open-source-open-models-fall-short/
L’Open Source Initiative (OSI) a clarifié les critères pour qu’un modèle d’IA soit considéré comme open-source : accès complet aux données de formation, au code source et aux paramètres d’entraînement. La plupart des modèles dits “open” comme ceux de Meta (Llama) et Stability AI (Stable Diffusion) ne respectent pas ces critères, car ils imposent des restrictions sur l’utilisation commerciale et ne rendent pas publiques les données de formation c’est au details de données de formation (donc pas forcement les données elle meme. “In particular, this must include: (1) the complete description of all data used for training, including (if used) of unshareable data, disclosing the provenance of the data, its scope and characteristics, how the data was obtained and selected, the labeling procedures, and data processing and filtering methodologies; (2) a listing of all publicly available training data and where to obtain it; and (3) a listing of all training data obtainable from third parties and where to obtain it, including for fee.” C’est en echo a la version d’open source AI de la linux fondationEn parlant de cela un article sur l’open source washing dans les modèles https://www.theregister.com/2024/10/25/opinion_open_washing/
L’open washing désigne la pratique où des entreprises prétendent que leurs produits ou modèles sont open-source, bien qu’ils ne respectent pas les critères réels d’ouverture (transparence, accessibilité, partage des connaissances). De grandes entreprises comme Meta, Google et Microsoft sont souvent accusées d’utiliser cette stratégie, ce qui soulève des préoccupations concernant la clarté des définitions légales et commerciales de l’open source, surtout avec l’essor de l’IA. Rubrique débutantUn petit article fondamental sur REST https://www.sfeir.dev/rest-definition/
there de Roy Fielding en reaction aux protocoles lourds comme SOAP 5 verbes (GET PUT, POST. DELETE, PATCH) JSON mais pas que (XML et autre pas d’etat inter requete Ask Me AnythingMorgan de Montréal Comment faire cohabiter plusieurs dépôts Git ?
Je m’explique : dans mon entreprise, nous utilisons notre dépôt Git (Bitbucket) configuré pour notre dépôt d’entreprise. Lorsque je souhaite contribuer à un projet open source, je suis obligé de modifier ma configuration globale Git (nom d’utilisateur, email) pour correspondre à mon compte GitHub. Il arrive souvent que, lorsque je reviens pour effectuer un commit sur le dépôt d’entreprise, j’oublie que je suis en mode “open source”, ce qui entraîne l’enregistrement de mes configurations “open source” dans l’historique de Bitbucket… Comment gérez-vous ce genre de situation ?
Comment gérer différents profiles git https://medium.com/@mrjink/using-includeif-to-manage-your-git-identities-bcc99447b04b
ConférencesLa liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs :
8 novembre 2024 : BDX I/O - Bordeaux (France) 13–14 novembre 2024 : Agile Tour Rennes 2024 - Rennes (France) 16–17 novembre 2024 : Capitole Du Libre - Toulouse (France) 20–22 novembre 2024 : Agile Grenoble 2024 - Grenoble (France) 21 novembre 2024 : DevFest Strasbourg - Strasbourg (France) 21 novembre 2024 : Codeurs en Seine - Rouen (France) 21 novembre 2024 : Agile Game Toulouse - Toulouse (France) 27–28 novembre 2024 : Cloud Expo Europe - Paris (France) 28 novembre 2024 : OVHcloud Summit - Paris (France) 28 novembre 2024 : Who Run The Tech ? - Rennes (France) 2–3 décembre 2024 : Tech Rocks Summit - Paris (France) 3 décembre 2024 : Generation AI - Paris (France) 3–5 décembre 2024 : APIdays Paris - Paris (France) 4–5 décembre 2024 : DevOpsRex - Paris (France) 4–5 décembre 2024 : Open Source Experience - Paris (France) 5 décembre 2024 : GraphQL Day Europe - Paris (France) 6 décembre 2024 : DevFest Dijon - Dijon (France) 19 décembre 2024 : Normandie.ai 2024 - Rouen (France) 22–25 janvier 2025 : SnowCamp 2025 - Grenoble (France) 30 janvier 2025 : DevOps D-Day #9 - Marseille (France) 6–7 février 2025 : Touraine Tech - Tours (France) 28 février 2025 : Paris TS La Conf - Paris (France) 20 mars 2025 : PGDay Paris - Paris (France) 25 mars 2025 : ParisTestConf - Paris (France) 3 avril 2025 : DotJS - Paris (France) 10–12 avril 2025 : Devoxx Greece - Athens (Greece) 16–18 avril 2025 : Devoxx France - Paris (France) 7–9 mai 2025 : Devoxx UK - London (UK) 16 mai 2025 : AFUP Day 2025 Lille - Lille (France) 16 mai 2025 : AFUP Day 2025 Lyon - Lyon (France) 16 mai 2025 : AFUP Day 2025 Poitiers - Poitiers (France) 11–13 juin 2025 : Devoxx Poland - Krakow (Poland) 12–13 juin 2025 : DevLille - Lille (France) 24 juin 2025 : WAX 2025 - Aix-en-Provence (France) 26–27 juin 2025 : Sunny Tech - Montpellier (France) 1–4 juillet 2025 : Open edX Conference - 2025 - Palaiseau (France) 18–19 septembre 2025 : API Platform Conference - Lille (France) & Online 6–10 octobre 2025 : Devoxx Belgium - Antwerp (Belgium) 9–10 octobre 2025 : Volcamp - Clermont-Ferrand (France) 16–17 octobre 2025 : DevFest Nantes - Nantes (France) 23–25 avril 2026 : Devoxx Greece - Athens (Greece) 17 juin 2026 : Devoxx Poland - Krakow (Poland) Nous contacterPour 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/
Fri, 08 Nov 2024 - 1h 23min - 318 - LCC 317 - les nouvelles paramétriques
De Java 23 à WebAssembly, en passant par l’IA et les design patterns, on a tout passé au crible #java #swift #webassembly #wordpress #webcomponents #llm #mongodb #keycloak #fairsource
Enregistré le 18 octobre 2024
Téléchargement de l’épisode LesCastCodeurs-Episode–317.mp3
News LangagesJava 23 est sorti ! InfoQ liste toutes les JEPs intégrées à la nouvelle version https://www.infoq.com/news/2024/09/java23-released/ Et FooJay plonge dans le détail https://foojay.io/today/java–23-has-arrived-and-it-brings-a-truckload-of-changes/
JEP 455: Primitive Types in Patterns, instanceof, and switch (Preview) JEP 466: Class-File API (Second Preview) JEP 467: Markdown Documentation Comments JEP 469: Vector API (Eighth Incubator) JEP 471: Deprecate the Memory-Access Methods in sun.misc.Unsafe for Removal JEP 473: Stream Gatherers (Second Preview) JEP 474: ZGC: Generational Mode by Default JEP 476: Module Import Declarations (Preview) JEP 477: Implicitly Declared Classes and Instance Main Methods (Third Preview) JEP 480: Structured Concurrency (Third Preview) JEP 481: Scoped Values (Third Preview) JEP 482: Flexible Constructor Bodies (Second Preview) StringTemplate s’en vaUn article sur l’API ClassFile qui sera un standard dans le JDK pour manipuler des classes (ala ASM) https://www.unlogged.io/post/class-file-api-not-your-everyday-java-api
article long mais qui revient sur les raisons notamment parce que ASM est dans le JDK et qu’ils sont un problème de poule et d’oeuf et sur la forme de l’API a des exemples d’usage tout cela reste en preview dans le JDK des optimisation comme le lazy parsing et le constant pool sharing (en gros faire de la reference sur ce qui n’a pas changéTip and Tail is back: cette fois une JEP https://openjdk.org/jeps/14
plus qu’une keynote provocative au language summit maintenant une JEP dite informative le language est un pu flou sur l’objectif entre regarder tip and tail pour vos librairies c’est bien et adoptons tous le meme tip du JDK jusqu’aux stack applicativesApple annonce la sortie de son language Swift en version 6 https://www.swift.org/blog/announcing-swift–6/
Nouvelles plateformes : Swift 6 s’étend à de nouvelles plateformes (tous les grands OS déjà supportés), y compris les systèmes embarqués (sous ARM et Risc V). Swift Testing : Swift 6 introduit Swift Testing, une nouvelle bibliothèque de tests conçue pour Swift. Concurrence : Détection de data race en tant qu’erreur de compilation.Apple annonce travailler sur l’interopérabilité Swift / Java https://github.com/swiftlang/swift-java
comme jextract mais dans l’autre sensThe news Java https://www.infoq.com/news/2024/10/java-news-roundup-oct07–2024/
JDK 24 : Un calendrier pour la sortie de JDK 24 a été proposé. La première phase de réduction des fonctionnalités commencera le 5 décembre 2024. La version finale sera disponible le 18 mars 2025. JDK 24 introduira des mises à jour avec deux nouvelles API. La Vector API (JEP 489) facilitera les opérations sur des vecteurs, tandis que la Class-File API (JEP 484) permettra une manipulation plus efficace des fichiers de classes Java. Un changement de sécurité important est proposé avec JEP 486. Il prévoit de désactiver définitivement le Security Manager, qui a été déprécié. Cette décision signifie que cette fonctionnalité ne sera plus disponible dans les futures versions, car elle est considérée comme obsolète. Apache Tomcat et Cassandra : Les nouvelles versions de Tomcat (11.0.0) et de Cassandra (5.0.0) sont sorties. Elles incluent des améliorations et des corrections de bogues. Spring Framework : Des mises à jour pour Spring Framework (versions 3.4.0-M2, 3.3.3 et 3.2.8) ont été publiées. Elles intègrent le support d’une nouvelle API qui aide à la gestion de la mémoire. Quarkus : Red Hat a sorti la version 3.15 de Quarkus, qui apporte des corrections et des améliorations. Une nouvelle version, la 3.16, est prévue pour la fin octobre. Commonhaus Foundation : Une nouvelle organisation, la Commonhaus Foundation, a été créée pour aider les projets open source à être durables. Quarkus a rejoint cette fondation. Cassandra, Camel, Lamgchain, Micronaut, OpenLibery, JHipster, Ktor etc.Design patterns revisited: https://www.youtube.com/watch?v=kE5M6bwruhw
Design and design patterns. Optional: patterns and anti-patterns. Iterator pattern. Lightweight Strategy. Factory Method using default methods. Laziness using Lambda Expressions. Decorator using Lambda Expressions. Creating Fluent interfaces. Execute Around Method Pattern. Creating a Closed Hierarchy with sealed classes.Popularité des langages de programmation https://www.techspot.com/news/105157-python-most-popular-coding-language-but-challengers-gaining.html
Python reste le langage de programmation le plus populaire, surtout dans des domaines comme la science des données et le développement web. Il est apprécié pour sa simplicité et le grand nombre de bibliothèques disponibles, ce qui le rend facile à apprendre et à utiliser. De nombreuses entreprises, y compris des startups, utilisent Python pour diverses applications. Malgré sa dominance, d’autres langages comme JavaScript, Java et Go gagnent en popularité et pourraient défier la position de leader de Python. (Java est monté du poste 4 au 3, en 1 an) Les développeurs qui codent occasionnellement préfèrent Python, montrant ainsi son attrait au-delà des programmeurs professionnels. L’émergence d’outils comme ChatGPT facilite l’accès à la programmation, ce qui pourrait influencer les tendances futures en matière de langages de programmation. LibrairiesParamétrer ses tests JUnit 5 avec @CsvSource https://mikemybytes.com/2021/10/19/parameterize-like-a-pro-with-junit–5-csvsource/
l’annotation permet d’avoir ses données de test au plus près de la méthode on écrit les données de test sous forme de CSV (éventuellement avec des délimiteurs de son choix pour plus de lisibilité, pour bien séparer les valeurs) par exemple -> ou maps to les valeurs peut être les paramètres de la method mai aussi les valeur de description du test InfrastructureTurbocharged Development: The Speed and Efficiency of WebAssembly par Danielle Lancashire https://devsummit.infoq.com/presentation/munich2024/turbocharged-development-speed-and-efficiency-webassembly
L’utilisation de WebAssembly avec Serverless. Faire tourner des applications plus facilement dans le cloud.WebAssembly est rapide et sûr pour exécuter du code. Cela aide à déployer les applications plus rapidement et à utiliser moins de ressources. De nombreuses entreprises utilisent WebAssembly pour des tâches comme le traitement d’images et de données. Des plateformes comme Cloudflare Workers et AWS Lambda. La communauté autour de WebAssembly granèit. De nouveaux outils et bibliothèques sont créés. Cependant, il y a encore des défis à relever, comme la compatibilité et les performances. Malgré cela, l’avenir de WebAssembly est prometteur. WebC’est la guerre chez Wordpress https://techcrunch.com/2024/09/26/wordpress-vs-wp-engine-drama-explained/
une boite nommée WP Engine fait du hosting de WordPress mais ne contribue pas Automatic, les gens derrière WordPress leur onbt demandé de résoudre ce probleme, soit en payant des droits de trademark soit en contribuant de l’engineering upstream à auteur de 8% de leurs revenus WP Engine dit non Automatic coupe l’accès aux mises a jours de thèmes et de plugins à WP Engine mettant des sites à risque (securité) WP Engine dit que c’est un abus de position du CEO d’Automatic sur les accès WordPress.org Bref c’est le drame le CEO d’automatic propose à ses employés 6 mois de salaire si ils ne sont pas d’accord avec la stratégie https://www.cio.com/article/3550331/one-twelfth-of-automattic-staff-leave-over-wordpress-wp-engine-spat.html 8% ont pris l’offreLes WebComposants ne sont pas le fuitur https://dev.to/ryansolid/web-components-are-not-the-future–48bh
un article d’un auteur proéminent de framework JavaScript Discute les avantages et les inconvenients de la standardisation qui permet d’élever le débat mais aussi bloque des avenues d’optimisations beaucoup d’exemples d’inovations en frameworks JS qui auraient été bloqués Les commentaires apres l’article sont interessants aussi (en contre perspective) mais tout le monde n’est pas d’accord avec cet article https://www.abeautifulsite.net/posts/web-components-are-not-the-future-they-re-the-present/ Data et Intelligence ArtificielleConseils et bonnes pratiques lors de l’intégration de LLM dans une application https://glaforge.dev/posts/2024/09/23/some-good-practices-when-integrating-an-llm-in-your-application/
management de prompt effectif versionnage et externalisation des prompts fixer la version des modèles optimisation et caching mettre en place des rails de sécurité évaluer et monitorer le comportement et la performance prioriser la sécurité des données privéesEncore une nouvelle version de LangChain4j, avec la version 0.35 ! Guillaume couvre les nouveautés côté Gemini et Google Cloud https://glaforge.dev/posts/2024/09/29/lots-of-new-cool-gemini-stuff-in-langchain4j/
Support des toutes nouvelles versions de Gemini 1.5 (version 002) Un “document loader” pour charger des documents à partir de Google Cloud Storage Un “scoring model” qui permet de faire du “reranking” de résultat, pour trouver les résultats les plus pertinents pour une requête donnée Support de nouveaux paramètres des embedding models (choix de la dimensionalité des vecteurs, du troncage des textes en entrée) Ajout d’un “embedding model” pour le module Google AI Gemini Un estimateur de token pour Google AI Gemini Support des chat listeners Support des enums pour la sortie structurée JSON Et plein de mise à jour de la documentation pour refleter tous ces changements et aditionsSelf Correction Algo LLM https://www.infoq.com/news/2024/10/google-deepmind-score/
Google DeepMind a récemment publié SCoRe, une nouvelle méthode d’auto-correction pour les modèles de langage (LLM). Elle améliore la capacité des LLM à corriger leurs erreurs lorsqu’ils résolvent des problèmes de mathématiques ou de programmation. Contrairement aux méthodes antérieures, SCoRe utilise des données générées par le modèle lui-même pour créer des dialogues d’auto-correction. Cela permet au modèle de s’améliorer via un processus d’apprentissage par renforcement (RL) en deux étapes. Les modèles ajustés avec cette technique ont montré des améliorations significatives, surpassant les performances des modèles de base. Cette méthode pourrait ouvrir de nouvelles pistes pour rendre les LLM plus précis et robustes dans leurs réponses.MongoDB 8 est sorti https://www.mongodb.com/products/updates/version-release
La version 8.0 est plus rapide, avec des lectures plus rapides, une meilleure gestion des mises à jour et des agrégations de séries temporelles jusqu’à 60 % plus rapides. De nouvelles fonctionnalités incluent le support des Query pour les données chiffrées, rendant le traitement des données sensibles plus facile. Beaucoup d’ameliorations pour la performance et scalabilitéGuillaume explore les techniques avancées de Retrieval Augmented Generation pour améliorer la qualité des résultats de recherche dans ses propres documents, avec les LLMs https://glaforge.dev/talks/2024/10/14/advanced-rag-techniques/
Présentations et vidéos données lors de la conférence Devoxx Belgique Code des exemples disponibles sur Github Techniques de chunking : sliding window, hypothetical questions, semantic chunking, context retrieval chunking Techniques de retrieval : hypothetical document embedding, query compression, metadata filtering OutillageArticle sur les cache alias en Infinispan https://infinispan.org/blog/2024/10/07/cache-aliases-redis-databases
Explique comment on peut utiliser Infinispan pour remplacer Redis Explique la différence entre les database de Redis et les caches d’Infinispan Explique l’utilité des alias en général Explique comment on peut avoir un mapping des databases de Redis vers des caches d’Infinispan SécuritéKeycloak 26 est sorti: https://www.keycloak.org/2024/10/keycloak–2600-released
Organizations feature: permet aux administrateurs de créer et gérer des structures organisationnelles, facilitant la gestion des rôles et des permissions. Persistent user sessions: Les sessions des utilisateurs sont maintenant stockées par default dans la base de donnée ce qui améliore la cohérence, surtout avec plusieurs instances. Login Theme: Offre un design plus propre et une option de mode sombre qui s’adapte aux préférences des utilisateurs. L’amélioration du déploiement multi-sites renforce la fiabilité et réduit le temps d’arrêt lors des demandes des utilisateurs. Admin recovery: une méthode simple pour récupérer l’accès administrateur si tous les comptes sont bloqués, en créant un compte temporaire via des variables d’environnement. Pour les utilisateurs qui migrent vers cette version, il est important de prêter attention aux changements liés à la gestion des caches et aux sessions persistantes. Loi, société et organisationIntroduction des licences fair source https://techcrunch.com/2024/09/22/some-startups-are-going-fair-source-to-avoid-the-pitfalls-of-open-source-licensing/
Certaines startups utilisent des licences “fair source” pour partager leur code tout en protégeant leurs intérêts commerciaux. Les licences FSL (Functional Source License) et BUSL (Business Source License) permettent d’ouvrir le code après 2 ou 4 ans. Ces licences empêchent les concurrents de vendre des produits similaires tout de suite, offrant une protection temporaire. Certains critiques pensent que ces licences sont compliquées et pourraient limiter l’innovation, car elles ne sont pas totalement ouvertes. Le “fair source” est encore un concept nouveau, mais il pourrait devenir un bon compromis entre open source et logiciel privé. definition de fair source: code lisible publique, peut etre utilise et modifié avec des “restrictions minimales” pour proteger le business modele du producteur ; et devient open source de maniere deferée “any purpose other than a Competing Use. A Competing Use means use of the Software in or for a commercial product or service that competes with the Software or any other product or service we offer using the Software as of the date we make the Software available” Outils de l’épisodeUn petit outil sympa pour les utilisateurs de Macs avec un écran “wide”, pour partager un écran virtuel : https://github.com/Stengo/DeskPad
les écrans larges sont partagés entierement et ceui fait un rendu 16:9 pour les gens qui le voient cet écran acte comme un écran mais il est virtuel et on peut mettre les applications que l’on veut dedans on ne l’a pas testé ConférencesLa liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs :
17–18 octobre 2024 : DevFest Nantes - Nantes (France) 17–18 octobre 2024 : DotAI - Paris (France) 30–31 octobre 2024 : Agile Tour Nantais 2024 - Nantes (France) 30–31 octobre 2024 : Agile Tour Bordeaux 2024 - Bordeaux (France) 31 octobre 2024–3 novembre 2024 : PyCon.FR - Strasbourg (France) 6 novembre 2024 : Master Dev De France - Paris (France) 7 novembre 2024 : DevFest Toulouse - Toulouse (France) 8 novembre 2024 : BDX I/O - Bordeaux (France) 13–14 novembre 2024 : Agile Tour Rennes 2024 - Rennes (France) 16–17 novembre 2024 : Capitole Du Libre - Toulouse (France) 20–22 novembre 2024 : Agile Grenoble 2024 - Grenoble (France) 21 novembre 2024 : DevFest Strasbourg - Strasbourg (France) 21 novembre 2024 : Codeurs en Seine - Rouen (France) 27–28 novembre 2024 : Cloud Expo Europe - Paris (France) 28 novembre 2024 : Who Run The Tech ? - Rennes (France) 2–3 décembre 2024 : Tech Rocks Summit - Paris (France) 3 décembre 2024 : Generation AI - Paris (France) 3–5 décembre 2024 : APIdays Paris - Paris (France) 4–5 décembre 2024 : DevOpsRex - Paris (France) 4–5 décembre 2024 : Open Source Experience - Paris (France) 5 décembre 2024 : GraphQL Day Europe - Paris (France) 6 décembre 2024 : DevFest Dijon - Dijon (France) 22–25 janvier 2025 : SnowCamp 2025 - Grenoble (France) 30 janvier 2025 : DevOps D-Day #9 - Marseille (France) 6–7 février 2025 : Touraine Tech - Tours (France) 25 mars 2025 : ParisTestConf - Paris (France) 3 avril 2025 : DotJS - Paris (France) 10–12 avril 2025 : Devoxx Greece - Athens (Greece) 16–18 avril 2025 : Devoxx France - Paris (France) 7–9 mai 2025 : Devoxx UK - London (UK) 12–13 juin 2025 : DevLille - Lille (France) 24 juin 2025 : WAX 2025 - Aix-en-Provence (France) 18–19 septembre 2025 : API Platform Conference - Lille (France) & Online 9–10 octobre 2025 : Volcamp - Clermont-Ferrand (France) Nous contacterPour 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/
Mon, 21 Oct 2024 - 1h 21min - 317 - LCC 316 - Devoxx Belgique 2024 - On rase gratis
Cet épisode est une série de mini interviews et de mini moments capturés tout au long de Devoxx Belgique 2024.
Enregistré le 11 octobre 2024
Téléchargement de l’épisode LesCastCodeurs-Episode-316.mp3
InterviewLivre langchain4j par Antonio aussi disponible sur Amazon. Toutes les présentations langchain4j
Keynote Brian Goetz sur la complexité et les fonctionalités de Java Keynote sur les plateformes
Presentation sur Jakarta Data and Jakarta Persistence par Gavin King
Presentation sur Gradle 9 par Louis Jacomet
Presentation sur 1BRC (one billion rows challenge Deep dive sur 1BRC
Presentation code review Presentation sur Developer Productivity Engineering Presentation sur Developer Productivity Engineering de Trisha
Presentation IntelliJ en tant que moteur de jeu
Presentation Intelligent GitHub bots
Presentation Quarkus et Langchain4j Presentation Guillaume sur RAG Deep Dive sur Langchain4j et sur Quarkus + Langchain4J Presentatio Agentic application avec langchain4j et Quarkus
Nous contacterPour 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/
Sun, 13 Oct 2024 - 55min - 316 - LCC 315 - les températures ne sont pas déterministes
JVM summit, virtual threads, stacks applicatives, licences, déterminisme et LLMs, quantification, deux outils de l’épisode et bien plus encore.
Enregistré le 13 septembre 2024
Téléchargement de l’épisode LesCastCodeurs-Episode–315.mp3
News LangagesNetflix utilise énormément Java et a rencontré un problème avec les Virtual Thread dans Java 21. Les ingénieurs de Netflix analysent ce problème dans cet article : https://netflixtechblog.com/java–21-virtual-threads-dude-wheres-my-lock–3052540e231d
Les threads virtuels peuvent améliorer les performances mais posent des défis. Un problème de locking a été identifié : les threads virtuels se bloquent mutuellement. Cela entraîne des performances dégradées et des instabilités. Netflix travaille à résoudre ces problèmes et à tirer pleinement parti des threads virtuels.Une syntax pour indiquer qu’un type est nullable ou null-restricted arriverait dans Java https://bugs.openjdk.org/browse/JDK–8303099
Foo! interdirait null Foo? indiquerait que null est accepté Foo?[]! serait un tableau non-null de valeur nullable Il y a aussi des idées de syntaxe pour initialiser les tableaux null-restricted JEP: https://openjdk.org/jeps/8303099Les vidéos du JVM Language Summit 2024 sont en ligne https://www.youtube.com/watch?v=OOPSU4LnKg0&list=PLX8CzqL3ArzUEYnTa6KYORRbP3nhsK0L1
Project Leyden Update Project Babylon - Code Reflection Valhalla - Where Are We? An Opinionated Overview on Static Analysis for Java Rethinking Java String Concatenation Code Reflection in Action - Translating Java to SPIR-V Java in 2024 Type Specialization of Java Generics - What If Casts Have Teeth ? (avec notre Rémi Forax national !) aussi tip or tail pour tout l’ecosysteme quelques liens sur Babylon: Code reflection pour exprimer des langages etranger (SQL) dans Java: https://openjdk.org/projects/babylon/ et sont example en emulation de LINQ https://openjdk.org/projects/babylon/articles/linq LibrairiesMicronaut sort sa version 4.6 https://micronaut.io/2024/08/26/micronaut-framework–4–6–0-released/
essentiellement une grosse mise à jour de tonnes de modules avec les dernières versions des dépendancesMicroprofile 7 faire quelques changements et evolution incompatibles https://microprofile.io/2024/08/22/microprofile–7–0-release/#general
enleve Metrics et remplace avec Telemetry (metrics, log et tracing) Metrics reste une spec mais standalone Microprofile 7 depende de Jakarta Core profile et ne le package plus Microprofile OpenAPI 4 et Telemetry 2 amenent des changements incompatiblesQuarkus 3.14 avec LetsEncrypt et des serialiseurs JAckson sans reflection https://quarkus.io/blog/quarkus–3–14–1-released/
Hibernate ORM 6.6 Serialisateurs JAckson sans reflection installer des certificats letsencrypt simplement (notamment avec la ligne de commande qui aide sympa notamment avec ngrok pour faire un tunnel vers son localhost retropedalage sur @QuarkusTestResource vs @WithTestResource suite aux retour de OOME et lenteur des tests mieux isolésLes logs structurées dans Spring Boot 3.4 https://spring.io/blog/2024/08/23/structured-logging-in-spring-boot–3–4
Les logs structurées (souvent en JSON) vous permettent de les envoyer facilement vers des backends comme Elastic, AWS CloudWatch… Vous pouvez les lier à du reporting et de l’alerting. Spring Boot 3.4 prend en charge la journalisation structurée par défaut. Il prend en charge les formats Elastic Common Schema (ECS) et Logstash, mais il est également possible de l’étendre avec vos propres formats. Vous pouvez également activer la journalisation structurée dans un fichier. Cela peut être utilisé, par exemple, pour imprimer des journaux lisibles par l’homme sur la console et écrire des journaux structurés dans un fichier pour l’ingestion par machine. InfrastructureCockroachDB qui avait une approche Business Software License (source available puis ALS 3 ans apres), passe maintenant en license proprietaire avec source available https://www.cockroachlabs.com/blog/enterprise-license-announcement/
Polyform project offre des licences standardisees selon les besoins de gratuit vs payant https://polyformproject.org/
CloudAzure fonctions, comment le demarrage a froid est optimisé https://www.infoq.com/articles/azure-functions-cold-starts/?utm_campaign=infoq_content&utm_source=twitter&utm_medium=feed&utm_term=Cloud
fonctions ont une latence naturelle forte toutes les lantences longues ne sont aps impactantes pour le business les demarrages a froid peuvent etre mesures avec les outils du cloud provider donc faites en usage faites des decentilers de latences experience 381 ms cold et 10ms apres tracing pour end to end latence les strategies keep alive pings: reveiller la fonctione a intervalles reguliers pour rester “warm” dans le code de la fonction: initialiser les connections et le chargement des assemblies dans l’initialization configurer dans host.json le batching, desactiver file system logging etc deployer les fonctions as zips reduire al taille du code et des fichiers (qui sont copies sur le serveur froid) sur .net activer ready to run qui aide le JIT compiler instances azure avec plus de CPU et memoire sont plus cher amis baissent le cold start dedicated azure instances pour vos fonctions (pas aprtage avec les autres tenants) ensuite montre des exemples concrets WebSortie de Vue.js 3.5 https://blog.vuejs.org/posts/vue–3–5
Vue.JS 3.5: Nouveautés clés Optimisations de performance et de mémoire: Réduction significative de la consommation de mémoire (–56%). Amélioration des performances pour les tableaux réactifs de grande taille. Résolution des problèmes de valeurs calculées obsolètes et de fuites de mémoire. Nouvelles fonctionnalités: Reactive Props Destructure: Simplification de la déclaration des props avec des valeurs par défaut. Lazy Hydration: Contrôle de l’hydratation des composants asynchrones. useId(): Génération d’ID uniques stables pour les applications SSR. data-allow-mismatch: Suppression des avertissements de désynchronisation d’hydratation. Améliorations des éléments personnalisés: Prise en charge de configurations d’application, d’API pour accéder à l’hôte et au shadow root, de montage sans Shadow DOM, et de nonce pour les balises. useTemplateRef(): Obtention de références de modèle via l’API useTemplateRef(). Teleport différé: Téléportation de contenu vers des éléments rendus après le montage du composant. onWatcherCleanup(): Enregistrement de callbacks de nettoyage dans les watchers. Data et Intelligence ArtificielleOn entend souvent parler de Large Language Model quantisés, c’est à dire qu’on utilise par exemple des entiers sur 8 bits plutôt que des floatants sur 32 bits, pour réduire les besoins mémoire des GPU tout en gardant une précision proche de l’original. Cet article explique très visuellement et intuitivement ce processus de quantisation : https://newsletter.maartengrootendorst.com/p/a-visual-guide-to-quantization
Guillaume continue de partager ses aventures avec le framework LangChain4j. Comment effectuer de la classification de texte : https://glaforge.dev/posts/2024/07/11/text-classification-with-gemini-and-langchain4j/
en utilisant la classe TextClassification de LangChain4j, qui utilise une approche basée sur les vector embeddings pour comparer des textes similaires en utilisant du few-shot prompting, sous différentes variantes, dans cet autre article : https://glaforge.dev/posts/2024/07/30/sentiment-analysis-with-few-shots-prompting/ et aussi comment faire du multimodal avec LangChain4j (avec le modèle Gemini) pour analyser des textes, des images, mais également des vidéos, du contenu audio, ou bien des fichiers PDFs : https://glaforge.dev/posts/2024/07/25/analyzing-videos-audios-and-pdfs-with-gemini-in-langchain4j/Pour faire varier la prédictibilité ou la créativité des LLMs, certains hyperparamètres peuvent être ajustés, comme la température, le top-k et le top-p. Mais est-ce que vous savez vraiment comment fonctionnent ces paramètres ? Deux articles très clairs et intuitifs expliquent leur fonctionnement : https://medium.com/google-cloud/is-a-zero-temperature-deterministic-c4a7faef4d20 https://medium.com/google-cloud/beyond-temperature-tuning-llm-output-with-top-k-and-top-p–24c2de5c3b16
la tempoerature va ecraser la probabilite du prochain token mais il reste des variables: approximnation des calculs flottants, stacks differentes effectuants ces choix differemment, que faire en cas d’egalité de probabilité entre deux tokens mais il y a d’atures apporoches de configuiration des reaction du LLM: top-k (qui evite les tokens peu frequents), top-p pour avoir les n des tokens qui totalient p% des probabilités temperature d’abord puis top-k puis top-p explique quoi utiliser quandOSI propose une definition de l’IA open source https://www.technologyreview.com/2024/08/22/1097224/we-finally-have-a-definition-for-open-source-ai/
gros debats ces derniers mois utilisable pour tous usages sans besoin de permission chercheurs peuvent inspecter les components et etudier comment le system fonctionne systeme modifiable pour tout objectif y compris chager son comportement et paratger avec d’autres avec ou sans modification quelque soit l’usage Definit des niveaux de transparence (donnees d’entranement, code source, poids)Une longue rétrospective de PostgreSQL a des volumes de malades et les problèmes de lock https://ardentperf.com/2024/03/03/postgres-indexes-partitioning-and-lwlocklockmanager-scalability/
un article pour vous rassurer que vous n’aurez probablement jamais le problème histoire sous forme de post mortem des conseils pour éviter ces falaises OutillageUn premier coup d’oeil à la future notation déclarative de Gradle https://blog.gradle.org/declarative-gradle-first-eap
un article qui explique à quoi ressemble cette nouvelle syntaxe déclarative de Gradle (en plus de Groovy et Kotlin) Quelques vidéos montrent le support dans Android Studio, pour le moment, ainsi que dans un outil expérimental, en attendant le support dans tous les IDEs L’idée est d’éviter le scripting et d’avoir vraiment qu’une description de son build Cela devrait améliorer la prise en charge de Gradle dans les IDEs et permettre d’avoir de la complétion rapide, etc c’est moi on on a Maven là?Support de Firefox dans Puppeteer https://hacks.mozilla.org/2024/08/puppeteer-support-for-firefox/
Puppeteer, la bibliothèque d’automatisation de navigateur, supporte désormais officiellement Firefox dès la version 23. Cette avancée permet aux développeurs d’écrire des scripts d’automatisation et d’effectuer des tests de bout en bout sur Chrome et Firefox de manière interchangeable. L’intégration de Firefox dans Puppeteer repose sur WebDriver BiDi, un protocole inter-navigateurs en cours de standardisation au W3C. WebDriver BiDi facilite la prise en charge de plusieurs navigateurs et ouvre la voie à une automatisation plus simple et plus efficace. Les principales fonctionnalités de Puppeteer, telles que la capture de journaux, l’émulation de périphériques, l’interception réseau et le préchargement de scripts, sont désormais disponibles pour Firefox. Mozilla considère WebDriver BiDi comme une étape importante vers une meilleure expérience de test inter-navigateurs. La prise en charge expérimentale de CDP (Chrome DevTools Protocol) dans Firefox sera supprimée fin 2024 au profit de WebDriver BiDi. Bien que Firefox soit officiellement pris en charge, certaines API restent non prises en charge et feront l’objet de travaux futurs.Guillaume a créé une annotation @Retry pour JUnit 5, pour retenter l’exécution d’un test qui est “flaky” https://glaforge.dev/posts/2024/09/01/a-retryable-junit–5-extension/
Guillaume n’avait pas trouvé d’extension par défaut dans JUnit 5 pour remplacer les Retry rules de JUnit 4 Mais sur les réseaux sociaux, une discussion intéressante s’ensuit avec des liens sur des extensions qui implémentent cette approche Comme JUnit Pioneer qui propose plein d’extensions utiles https://junit-pioneer.org/docs/retrying-test/ Ou l’extension rerunner https://github.com/artsok/rerunner-jupiter Arnaud a aussi suggéré la configuration de Maven Surefire pour relancer automatiquement les tests qui ont échoué https://maven.apache.org/surefire/maven-surefire-plugin/examples/rerun-failing-tests.html la question philosophique est: est-ce que c’est tolerable les tests qui ecouent de façon intermitente ArchitectureUn ancien fan de GraphQL en a fini avec la technologie GraphQL et réfléchit aux alternatives https://bessey.dev/blog/2024/05/24/why-im-over-graphql/
Problèmes de GraphQL: Sécurité: Attaques d’autorisation Difficulté de limitation de débit Analyse de requêtes malveillantes Performance: Problème N+1 (récupération de données et autorisation) Impact sur la mémoire lors de l’analyse de requêtes invalides Complexité accrue: Couplage entre logique métier et couche de transport Difficulté de maintenance et de tests Solutions envisagées: Adoption d’API REST conformes à OpenAPI 3.0+ Meilleure documentation et sécurité des types Outils pour générer du code client/serveur typé Deux approches de mise en œuvre d’OpenAPI: “Implementation first” (génération de la spécification à partir du code) “Specification first” (génération du code à partir de la spécification) retour interessant de quelqu’un qui n’utilise pas GraphQL au quotidien. C’était des problemes qui devaient etre corrigés avec la maturité de l’ecosysteme et des outils mais ca a montré ces limites pour cette personne.Prensentation de Grace Hoper en 1980 sur le future des ordinateurs. https://youtu.be/AW7ZHpKuqZg?si=w_o5_DtqllVTYZwt
c’est fou la modernité de ce qu’elle décrit Des problèmes qu’on a encore aujourd’hui positive leadership Elle décrit l’avantage de systèmes fait de plusieurs ordinateurs récemment declassifiéLeader election avec les conditional writes sur les buckets S3/GCS/Azure https://www.morling.dev/blog/leader-election-with-s3-conditional-writes/
L’élection de leader est le processus de choisir un nœud parmi plusieurs pour effectuer une tâche. Traditionnellement, l’élection de leader se fait avec un service de verrouillage distribué comme ZooKeeper. Amazon S3 a récemment ajouté le support des écritures conditionnelles, ce qui permet l’élection de leader sans service séparé. L’algorithme d’élection de leader fonctionne en faisant concourir les nœuds pour créer un fichier de verrouillage dans S3. Le fichier de verrouillage inclut un numéro d’époque, qui est incrémenté à chaque fois qu’un nouveau leader est élu. Les nœuds peuvent déterminer s’ils sont le leader en listant les fichiers de verrouillage et en vérifiant le numéro d’époque. attention il peut y avoir plusieurs leaders élus (horloges qui ont dérivé) donc c’est à gérer aussi MéthodologiesGuillaume Laforge interviewé par Sfeir, où il parle de l’importance de la curiosité, du partage, de l’importance de la qualité du code, et parsemé de quelques photos des Cast Codeurs ! https://www.sfeir.dev/success-story/guillaume-laforge-maestro-de-java-et-esthete-du-code-propre/
SécuritéComment crowdstrike met a genoux windows et de nombreuses entreprises https://next.ink/144464/crowdstrike-donne-des-details-techniques-sur-son-fiasco/
l’incident vient de la mise à jour de la configuration de Falcon l’EDR de crowdstrike https://www.crowdstrike.com/blog/falcon-update-for-windows-hosts-technical-details/ qu’est ce qu’un EDR? Un système Endpoint Detection and Response a pour but de surveiller votre machine ( access réseaux, logs, …) pour detecter des usages non habituels. Cet espion doit interagir avec les couches basses du système (réseau, sockets, logs systems) et se greffe donc au niveau du noyau du système d’exploitation. Il remonte les informations en live à une plateforme qui peut ensuite adapter les réponse en live si l’incident a duré moins de 1h30 coté crowdstrike plus de 8 millions de machines se sont retrouvées hors service bloquées sur le Blue Screen Of Death selon Microsoft https://blogs.microsoft.com/blog/2024/07/20/helping-our-customers-through-the-crowdstrike-outage/ cela n’est pas la première fois et était déjà arrivé il y a quelques mois sur Linux. Comme il s’agissait d’une incompatibilité de kernel il avait été moins important car les services ITs gèrent mieux ces problèmes sous Linux https://stackdiary.com/crowdstrike-took-down-debian-and-rocky-linux-a-few-months-ago-and-no-one-noticed/Les benchmarks CIS, un pilier pour la sécurité de nos environnements cloud, et pas que ! (Katia HIMEUR TALHI) https://blog.cockpitio.com/security/cis-benchmarks/
Le CIS est un organisme à but non lucratif qui élabore des normes pour améliorer la cybersécurité. Les référentiels CIS sont un ensemble de recommandations et de bonnes pratiques pour sécuriser les systèmes informatiques. Ils peuvent être utilisés pour renforcer la sécurité, se conformer aux réglementations et normaliser les pratiques. Loi, société et organisationMicrosoft signe un accord avec OVHCloud pour qu’il arretent leur plaine d’antitrust https://www.politico.eu/article/microsoft-signs-antitrust-truce-with-ovhcloud/
la plainte était en Europe mermet a des clients de plus facilement deployer les solutions Microsoft dans le fournisseur de cloud de leur choix la plainte avait ete posé à l’été 2021 ca rendait faire tourner les solutions MS plus cheres et non competitives vs MSElasticSearch et Kibana sont de nouveau Open Source, en ajoutant la license AGPL à ses autres licences existantes https://www.elastic.co/fr/blog/elasticsearch-is-open-source-again
le marché d’il y a trois ans et maintenant a changé AWS est une bon partenaire le flou Elasticsearch vs le produit d’AWS s’est clarifié donc retour a l’open source via AGPL Affero GPL Elastic n’a jamais cessé de croire en l’open source d’après Shay Banon son fondateur Le changement vers l’AGPL est une option supplémentaire, pas un remplacement d’une des autres licences existantes et juste apres, Elastic annonce des resultants decevants faisant plonger l’action de 25% https://siliconangle.com/2024/08/29/elastic-shares-plunge–25-lower-revenue-projections-amid-slower-customer-commitments/ https://unrollnow.com/status/1832187019235397785 et https://www.elastic.co/pricing/faq/licensing pour un résumé des licenses chez elastic Outils de l’épisodeMailMate un client email Markdown et qui gere beaucoup d’emails https://medium.com/@nicfab/mailmate-a-powerful-client-email-for-macos-markdown-integrated-email-composition-e218fe2accf3
Emmanuel l’utilise sur les boites email secondaires un peu lent a demarrer (synchro) et le reste est rapide boites virtuelles (par requete) SpamSieve Que macOS je croisTrippy, un analyseur de réseau https://github.com/fujiapple852/trippy
Il regroupe dans une CLI traceroute et ping ConférencesLa liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs :
17 septembre 2024 : We Love Speed - Nantes (France) 17–18 septembre 2024 : Agile en Seine 2024 - Issy-les-Moulineaux (France) 19–20 septembre 2024 : API Platform Conference - Lille (France) & Online 20–21 septembre 2024 : Toulouse Game Dev - Toulouse (France) 25–26 septembre 2024 : PyData Paris - Paris (France) 26 septembre 2024 : Agile Tour Sophia-Antipolis 2024 - Biot (France) 2–4 octobre 2024 : Devoxx Morocco - Marrakech (Morocco) 3 octobre 2024 : VMUG Montpellier - Montpellier (France) 7–11 octobre 2024 : Devoxx Belgium - Antwerp (Belgium) 8 octobre 2024 : Red Hat Summit: Connect 2024 - Paris (France) 10 octobre 2024 : Cloud Nord - Lille (France) 10–11 octobre 2024 : Volcamp - Clermont-Ferrand (France) 10–11 octobre 2024 : Forum PHP - Marne-la-Vallée (France) 11–12 octobre 2024 : SecSea2k24 - La Ciotat (France) 15–16 octobre 2024 : Malt Tech Days 2024 - Paris (France) 16 octobre 2024 : DotPy - Paris (France) 16–17 octobre 2024 : NoCode Summit 2024 - Paris (France) 17–18 octobre 2024 : DevFest Nantes - Nantes (France) 17–18 octobre 2024 : DotAI - Paris (France) 30–31 octobre 2024 : Agile Tour Nantais 2024 - Nantes (France) 30–31 octobre 2024 : Agile Tour Bordeaux 2024 - Bordeaux (France) 31 octobre 2024–3 novembre 2024 : PyCon.FR - Strasbourg (France) 6 novembre 2024 : Master Dev De France - Paris (France) 7 novembre 2024 : DevFest Toulouse - Toulouse (France) 8 novembre 2024 : BDX I/O - Bordeaux (France) 13–14 novembre 2024 : Agile Tour Rennes 2024 - Rennes (France) 16–17 novembre 2024 : Capitole Du Libre - Toulouse (France) 20–22 novembre 2024 : Agile Grenoble 2024 - Grenoble (France) 21 novembre 2024 : DevFest Strasbourg - Strasbourg (France) 21 novembre 2024 : Codeurs en Seine - Rouen (France) 27–28 novembre 2024 : Cloud Expo Europe - Paris (France) 28 novembre 2024 : Who Run The Tech ? - Rennes (France) 2–3 décembre 2024 : Tech Rocks Summit - Paris (France) 3 décembre 2024 : Generation AI - Paris (France) 3–5 décembre 2024 : APIdays Paris - Paris (France) 4–5 décembre 2024 : DevOpsRex - Paris (France) 4–5 décembre 2024 : Open Source Experience - Paris (France) 5 décembre 2024 : GraphQL Day Europe - Paris (France) 6 décembre 2024 : DevFest Dijon - Dijon (France) 22–25 janvier 2025 : SnowCamp 2025 - Grenoble (France) 30 janvier 2025 : DevOps D-Day #9 - Marseille (France) 6–7 février 2025 : Touraine Tech - Tours (France) 3 avril 2025 : DotJS - Paris (France) 16–18 avril 2025 : Devoxx France - Paris (France) Nous contacterPour 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/
Tue, 17 Sep 2024 - 1h 50min - 315 - LCC 314 - 1000 fois 1000 dépendances
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 LangagesLes 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) LibrairiesLe 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 constructeursQuarkus 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 CloudOn 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 ArtificielleGuillaume 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 AIGuillaume 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/
Outillage1% 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éographiquementComment 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) ArchitectureQue 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 alternatiuveUne 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éeMieux 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 organisationL’é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
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’appliquentOpenDNS n’est plus disponible en France et au 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 AnythingSalut ! Ê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érencesLa liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs :
6 septembre 2024 : JUG Summer Camp - La Rochelle (France) 6-7 septembre 2024 : Agile Pays Basque - Bidart (France) 17 septembre 2024 : We Love Speed - Nantes (France) 17-18 septembre 2024 : Agile en Seine 2024 - Issy-les-Moulineaux (France) 19-20 septembre 2024 : API Platform Conference - Lille (France) & Online 25-26 septembre 2024 : PyData Paris - Paris (France) 26 septembre 2024 : Agile Tour Sophia-Antipolis 2024 - Biot (France) 2-4 octobre 2024 : Devoxx Morocco - Marrakech (Morocco) 7-11 octobre 2024 : Devoxx Belgium - Antwerp (Belgium) 8 octobre 2024 : Red Hat Summit: Connect 2024 - Paris (France) 10 octobre 2024 : Cloud Nord - Lille (France) 10-11 octobre 2024 : Volcamp - Clermont-Ferrand (France) 10-11 octobre 2024 : Forum PHP - Marne-la-Vallée (France) 11-12 octobre 2024 : SecSea2k24 - La Ciotat (France) 16 octobre 2024 : DotPy - Paris (France) 16-17 octobre 2024 : NoCode Summit 2024 - Paris (France) 17-18 octobre 2024 : DevFest Nantes - Nantes (France) 17-18 octobre 2024 : DotAI - Paris (France) 30-31 octobre 2024 : Agile Tour Nantais 2024 - Nantes (France) 30-31 octobre 2024 : Agile Tour Bordeaux 2024 - Bordeaux (France) 31 octobre 2024-3 novembre 2024 : PyCon.FR - Strasbourg (France) 6 novembre 2024 : Master Dev De France - Paris (France) 7 novembre 2024 : DevFest Toulouse - Toulouse (France) 8 novembre 2024 : BDX I/O - Bordeaux (France) 13-14 novembre 2024 : Agile Tour Rennes 2024 - Rennes (France) 20-22 novembre 2024 : Agile Grenoble 2024 - Grenoble (France) 21 novembre 2024 : DevFest Strasbourg - Strasbourg (France) 21 novembre 2024 : Codeurs en Seine - Rouen (France) 27-28 novembre 2024 : Cloud Expo Europe - Paris (France) 28 novembre 2024 : Who Run The Tech ? - Rennes (France) 3-5 décembre 2024 : APIdays Paris - Paris (France) 4-5 décembre 2024 : DevOpsRex - Paris (France) 4-5 décembre 2024 : Open Source Experience - Paris (France) 6 décembre 2024 : DevFest Dijon - Dijon (France) 22-25 janvier 2025 : SnowCamp 2025 - Grenoble (France) 16-18 avril 2025 : Devoxx France - Paris (France) Nous contacterPour 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/
Tue, 16 Jul 2024 - 1h 23min - 314 - LCC 313 - 313 CCL
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 LangagesAndroid 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 LibrairiesQuarkus 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 deliveryQuarkus 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 OidcRedirectFilterLangChain4j 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èmeSpring 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 antoraMicronaut 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 WebAngular 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 ArtificielleUne version pure Java du LLM Llama3 de Meta https://github.com/mukel/llama3.java/tree/main
utilise la future API Vector de JavaJLama, 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. OutillageUtiliser 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éthodologiesLes 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écifiquesMasterclass 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 courteLes 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 compromisKeycloak 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 codeursA 40 ans, tu peux encore être codeur reconnu ?
ConférencesLa liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs :
12-14 juin 2024 : Rencontres R - Vannes (France) 13-14 juin 2024 : Agile Tour Toulouse - Toulouse (France) 14 juin 2024 : DevQuest - Niort (France) 18 juin 2024 : Mobilis In Mobile 2024 - Nantes (France) 18 juin 2024 : BSides Strasbourg 2024 - Strasbourg (France) 18 juin 2024 : Tech & Wine 2024 - Lyon (France) 19-20 juin 2024 : AI_dev: Open Source GenAI & ML Summit Europe - Paris (France) 19-21 juin 2024 : Devoxx Poland - Krakow (Poland) 26-28 juin 2024 : Breizhcamp 2024 - Rennes (France) 27 juin 2024 : DotJS - Paris (France) 27-28 juin 2024 : Agi Lille - Lille (France) 4-5 juillet 2024 : Sunny Tech - Montpellier (France) 8-10 juillet 2024 : Riviera DEV - Sophia Antipolis (France) 6 septembre 2024 : JUG Summer Camp - La Rochelle (France) 6-7 septembre 2024 : Agile Pays Basque - Bidart (France) 17 septembre 2024 : We Love Speed - Nantes (France) 17-18 septembre 2024 : Agile en Seine 2024 - Issy-les-Moulineaux (France) 19-20 septembre 2024 : API Platform Conference - Lille (France) & Online 25-26 septembre 2024 : PyData Paris - Paris (France) 26 septembre 2024 : Agile Tour Sophia-Antipolis 2024 - Biot (France) 2-4 octobre 2024 : Devoxx Morocco - Marrakech (Morocco) 7-11 octobre 2024 : Devoxx Belgium - Antwerp (Belgium) 8 octobre 2024 : Red Hat Summit: Connect 2024 - Paris (France) 10 octobre 2024 : Cloud Nord - Lille (France) 10-11 octobre 2024 : Volcamp - Clermont-Ferrand (France) 10-11 octobre 2024 : Forum PHP - Marne-la-Vallée (France) 11-12 octobre 2024 : SecSea2k24 - La Ciotat (France) 16 octobre 2024 : DotPy - Paris (France) 17-18 octobre 2024 : DevFest Nantes - Nantes (France) 17-18 octobre 2024 : DotAI - Paris (France) 30-31 octobre 2024 : Agile Tour Nantais 2024 - Nantes (France) 30-31 octobre 2024 : Agile Tour Bordeaux 2024 - Bordeaux (France) 31 octobre 2024-3 novembre 2024 : PyCon.FR - Strasbourg (France) 6 novembre 2024 : Master Dev De France - Paris (France) 7 novembre 2024 : DevFest Toulouse - Toulouse (France) 8 novembre 2024 : BDX I/O - Bordeaux (France) 13-14 novembre 2024 : Agile Tour Rennes 2024 - Rennes (France) 20-22 novembre 2024 : Agile Grenoble 2024 - Grenoble (France) 21 novembre 2024 : DevFest Strasbourg - Strasbourg (France) 27-28 novembre 2024 : Cloud Expo Europe - Paris (France) 28 novembre 2024 : Who Run The Tech ? - Rennes (France) 3-5 décembre 2024 : APIdays Paris - Paris (France) 4-5 décembre 2024 : DevOpsDays Paris - Paris (France) 4-5 décembre 2024 : Open Source Experience - Paris (France) 6 décembre 2024 : DevFest Dijon - Dijon (France) 22-25 janvier 2025 : SnowCamp 2025 - Grenoble (France) 16-18 avril 2025 : Devoxx France - Paris (France) Nous contacterPour 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/
Sat, 15 Jun 2024 - 1h 19min - 313 - LCC 312 - Dans la ferme de Mathurin IA IA IO !
Dans ce long…. épisode, Emmanuel, Guillaume et Arnaud discutent de l’actualité avec Chicori (un runtime WASM en Java), Jakarta Data, Quarkus 3.10, Spring AI, Hibernate 6.5, mais aussi quelques retours aux basiques (timezones, rate limiting, …). Gros focus sur les nouveautés annoncées à Google I/O 2024 et dans l’écosystème IA en général avec les annonces d’OpenAI, Claude, Grok et d’autres. Différents outils sont aussi couverts comme Git, IntelliJ, ASDF, BLD, S3. Et enfin des sujets sur la haute disponibilité de Keycloak, la ré-indexation sans downtime, les challenges des implémentations alternatives, le mode vigilant dans GitHub, Redis et les changements de license, et les investissements de Microsoft et AWS en France dans le cadre du programme #ChooseFrance. N’hésitez pas à nous soumettre vos questions sur https://lescastcodeurs.com/ama nous y répondrons dans les prochains épisodes.
Enregistré le 17 mai 2024
Téléchargement de l’épisode LesCastCodeurs-Episode-312.mp3
News LangagesUn runtime WASM en Java https://github.com/dylibso/chicory
Projet tout nouveau, encore loin de la maturité Mais intéressant à suivre pour exécuter du code WebAssembly dans une application Java le projet n’a pas 15 jours non plus quand même :) Faire tourner des plugins WASM dans la JVM (e.g. plugins)On peut faire des heap dump en cas de OutOfMemoryException en compilation native https://quarkus.io/blog/heapdump-oome-native/
depuis JDK 21 Un exemple avec Quarkus Et le GC epsilon100 exercices pour se mettre à Rust https://rust-exercises.com/
LibrairiesHibernate 6.5 est sorti https://in.relation.to/2024/04/25/orm-650/
cache full pour les entités et leur collections (le défaut est shallow) Java record pour les @IdClass Les filtres peuvent être auto activés par défaut (vs à faire sur chaque session). Les filtres sont pas mal pour gérer par exemple des soft delete Keybased pagination pour éviter les trous de résultant en cas de modification d’entités en parallèle de.une recherche paginée. S.appuie sur une clé unique et ordonnée genre ISBN Une tech preview de Jakarta DataEn parlant de Jakarta Data, deux articles sur le sujet https://in.relation.to/2024/04/01/jakarta-data-1/ https://in.relation.to/2024/04/18/jakarta-data-1/
concept de repository pas lié à une entité mais à une relation logique entre les recherches interagit via stateless session et est un bean CDI Code généré bien sur 4 opérateur crud et les requêtes save est up sert Type sage au sens ou le nom des méthodes n’est pas la logique de recherche Annotation et nom des paramètres et c’est type safe via un annotation processor ou string dans @Query qui est type safe aussi via le processeur discute plus de type safety et paginationQuarkus 3.10 avec quelques nouveautés https://quarkus.io/blog/quarkus-3-10-0-released/
flyway 10 arrive avec support natif Hibernate search supporte le standalone POJO mapper notamment pour elastic search (pas que ORM) Modification des propriétés Quarkus.package automatiquement remplacées par quarkus update et Quarkus 3.9 a fait son grand renommage réactif https://quarkus.io/blog/quarkus-3-9-1-released/ Clarifier que les extensions réactive n’imposent pas des apis réactives et seulement leur cœur implémenté en réactif ou offre optionellement des apis reacrive Les gens pensaient à tors que les réactives imposaient le modèle de programmation la encore quarkus update à la rescousseUn article sur l’api structured output pour Spring AI https://spring.io/blog/2024/05/09/spring-ai-structured-output
un article descriptif sur quand cette api est utilisée Et les détails de son usageComment passer une TimeZone dans spring boot et ce que cela impacte en terme de composants https://www.baeldung.com/spring-boot-set-default-timezone
du basique mais toujours utile Task ou app Programmatiquement Sur certains lifecycles de Spring InfrastructureUn article et la vidéo de Devoxx France sur la haute disponibilité de Keycloak, comment c’est implémenté https://www.keycloak.org/2024/05/keycloak-at-devoxx-france-2024-recap
l’infra d’identité est une infra clé Donc gérer la haute disponibilité est critique C’est un article qui pointe sur une vidéo de Devoxx France et la doc de keycloak sur comment tout cela est implémenté CloudComment se ruiner avec des buckets S3 https://medium.com/@maciej.pocwierz/how-an-empty-s3-bucket-can-make-your-aws-bill-explode-934a383cb8b1
Amazon fait payer pour les requêtes non autorisées Il suffit de connaître le nom d’un bucket pour faire payer son propriétaire Amazon travaille pour fournir une solution / un fix. il est tombé par hasard sur un nom de bucket utilisé « pour de faux » par un outil open source populaire Bien rajouter un suffixe à ses buckets peut réduire le risque Mais pas l’éliminer un fix a été livré par amazon https://aws.amazon.com/about-aws/whats-new/2024/05/amazon-s3-no-charge-http-error-codes/ Data et Intelligence ArtificielleGuillaume résume GoogleIO https://x.com/techcrunch/status/1790504691945898300?s=61&t=WImtt07yTQMhhoNPN6lYEw
AI overview plus besoin d’aller sur les sitesGoogle I/O 2024
Google I/O 2024 résumé en vidéo de 10 minutes https://www.youtube.com/watch?v=WsEQjeZoEng et en 100 bullet points https://blog.google/technology/ai/google-io-2024-100-announcements/ Message de Sundar Pichai https://blog.google/inside-google/message-ceo/google-io-2024-keynote-sundar-pichai/#creating-the-future Project Astra, un assistant universel, sur smartphone avec qui on peut avoir une conversation normale et à qui montrer avec la caméra ce qui nous entoure https://www.theverge.com/2024/5/14/24156296/google-ai-gemini-astra-assistant-live-io Nouveau modèle Gemini 1.5 Flash, quasi aussi performant que le nouveau Gemini 1.5 Pro, mais beaucoup plus rapide (premiers tokens dans la seconde) et aussi moins cher https://blog.google/technology/developers/gemini-gemma-developer-updates-may-2024/ Gemini 1.5 Pro est Gemini 1.5 Flash sont disponibles avec une fenêtre de contexte d’un million de tokens, mais il y a une liste d’attente pour tester une fenêtre de 2 millions de tokens https://aistudio.google.com/app/waitlist/97595554 https://cloud.google.com/earlyaccess/cloud-ai?e=48754805&hl=en PaliGemma un nouveau modèle de vision ouvert dans la famille Gemma (pour faire du Q&A du sous-titrage) et preview de Gemma 2, avec une version à 27 milliards de paramètres https://developers.googleblog.com/en/gemma-family-and-toolkit-expansion-io-2024/ Gemini disponible dans les IDEs : Android Studio, IDX, Firebase, Colab, VSCode, Cloud and Intellj Gemini AI Studio enfin disponible en Europe Gemini supporte le parallel function calling et l’extraction de frame dans les vidéos Trillium, la 6ème version des TPU (Tensor Processing Unit), les processeurs spécifiques ML dans Google Cloud, 5 fois plus puissant que la génération précédente et 67% plus efficace en énergie https://cloud.google.com/blog/products/compute/introducing-trillium-6th-gen-tpus Le projet NotebookLM rajoute une fonctionnalité de Audio Overview qui permet de discuter avec son corpus de documents avec une conversation vocale https://notebooklm.google.com/ On peut appliquer le “grounding” avec Google Search pour l’API Gemini, pour que le modèle Gemini puisse chercher des informations complémentaires dans Google Search https://cloud.google.com/blog/products/ai-machine-learning/vertex-ai-io-announcements Annonce de Imagen 3, la future version de du modèle de génération d’images Imagen qui améliore la qualité et possède un très bon support du texte dans les images (objectif de disponibilité à l’été) https://blog.google/technology/ai/google-generative-ai-veo-imagen-3/#Imagen-3 https://deepmind.google/technologies/imagen-3/ DeepMind annonce Veo, un nouveau modèle de génération de vidéo très convaincant qui peut faire des vidéos en 1080p de 60s, mais en combinant plusieurs prompts successifs, il peut générer des vidéos plus longues qui s’enchainent https://deepmind.google/technologies/veo/ VideoFX, ImageFX et MusicFX, des expérimentations de Google AI intégrant Imagen 3 et Veo (pas encore disponibles en Europe) https://blog.google/technology/ai/google-labs-video-fx-generative-ai/ Gemini Advanced https://blog.google/products/gemini/google-gemini-update-may-2024/#context-window Les utilisateurs de Gemini Advanced (l’application web) utilisent Gemini 1.5 Pro avec la fenêtre de contexte de 1 million de tokens, la possibilité de charger des documents de Google Drive, et bientôt la possibilité de générer des graphiques. Gemini Advanced rajoute aussi la capacité de générer des itinéraires de voyage (avec intégration de Google Flights, etc) Fonctionnalité Gemini Live pour avoir une conversation vocale naturelle avec Gemini https://blog.google/products/gemini/google-gemini-update-may-2024/#gemini-live Gem : des plugins pour Gemini Advanced pour créer ses propres assistants personnalisés https://blog.google/products/gemini/google-gemini-update-may-2024/#personalize-gems Ask Photos, on peut poser à Google Photos des questions plus complexes comme “quelle est ma plaque d’immatriculation” et Photos devine que parmi toutes les photos de voitures lequelle est certainement la nôtre et extrait le numéro de plaque https://blog.google/products/photos/ask-photos-google-io-2024/ Même dans Google Messages vous pourrez échanger avec Gemini Google Search https://blog.google/products/search/generative-ai-google-search-may-2024/ Rajout d’un modèle Gemini spécial search intégré qui permet à Google Search de répondre aux questions de la barre de recherche avec une raisonnement multi-étapes, en étant capable de faire de la planification, en mode multimodal (texte, image, vidéo, audio) Planning de repas et de voyage, supporté dans Gemini, va arriver aussi dans Search Gemini 1.5 Pro est disponible dans le panneau latéral de Gmail, Docs, Sheets, Drive https://blog.google/products/workspace/google-gemini-workspace-may-2024-updates/ SynthID va même fonctionner pour du texte https://deepmind.google/discover/blog/watermarking-ai-generated-text-and-video-with-synthid/ Gemini Nano bientôt disponible dans les prochaines version de Chrome, pour utiliser le LLM directement dans le navigateur Android Seconde béta d’Android 15 https://android-developers.googleblog.com/2024/05/the-second-beta-of-android-15.html Private space pour garder des apps secures avec un niveau d’authentification supplémentaire Google collabore avec Samsung et Qualcomm sur la réalité augmentée dans Android https://developers.googleblog.com/en/google-ar-at-io-2024-new-geospatial-ar-features-and-more/ Project Gameface arrive sur Android (pour diriger Android avec les yeux, avec les expressions du visage, pour l’accessibilité) https://developers.googleblog.com/en/project-gameface-launches-on-android/ Gemini Nano va passer en multimodal, pas juste du texte Circle to search étendu à 100 millions de téléphones supplémentaires supportant Nano et va permettre de poser des questions, par exemple pour l’aide aux devoirs des enfants https://blog.google/products/android/google-ai-android-update-io-2024/#circle-to-search Detect phone scam on device with Gemini Nano Talkback, l’application pour l’accessibilité dans Android, va tirer parti de la multimodalité de Gemini Nano Bientôt de la génération d’image qu’on pourra intégrer dans ses mails, ses messages Wear OS https://android-developers.googleblog.com/2024/05/whats-new-in-wear-os-io-24.html Travail sur l’économie d’énergie pour faire durer les montres plus longtemps avant la prochaine recharge. Par exemple, 20% de consommation en moins lorsqu’on court un marathon ! Plus de type de données pour les activités physiques Project IDX accessible sans liste d’attente https://developers.googleblog.com/en/start-building-with-project-idx-today/ Firebase annonce 3 nouveaux produits https://developers.googleblog.com/en/whats-new-in-firebase-io-24/ Data Connect, un backend-as-a-service avec PostgreSQL https://firebase.google.com/products/data-connect App Hosting, hosting d’application Next et Angular https://firebase.google.com/products/app-hosting Genkit, a GenAI framework for app developers https://firebase.google.com/products/genkit Dart 3.4 avec support de Wasm comme target de compilation https://medium.com/dartlang/dart-3-4-bd8d23b4462aOpenAI lance son nouveau modèle: gpt-4o http://openai.com/index/hello-gpt-4o/
https://x.com/openaidevs/status/1790083108831899854?s=46&t=GLj1NFxZoCFCjw2oYpiJpw Audio, vision et reconnaissance de texte en realtime Plus rapide et 50% moins cher que son prédécesseur 4-turbohttps://claude.ai/ est disponible en europe
Claude, le modèle est créé par Anthropic: Claude est un assistant IA basé sur un grand modèle de langage entraîné selon des principes éthiques stricts. Il accorde une grande importance à l’honnêteté, l’impartialité et le respect de l’être humain. Son raisonnement repose sur une compréhension profonde des concepts plutôt que sur de simples associations statistiques. Il cherche activement à corriger les éventuels biais ou erreurs. Claude est polyvalent et peut s’adapter à différents styles de communication et niveaux de complexité selon le contexte. Il maîtrise de nombreux domaines académiques et scientifiques. Il est capable d’introspection sur ses propres processus de pensée et ses limitations. La vie privée et la confidentialité sont des priorités pour lui. Claude continue d’apprendre et de s’améliorer grâce aux interactions avec les humains. Son but est d’être un assistant fiable, éthique et bienveillant. quelqu’un sait comment ils font pour raisonner et pas juste LLM statistiquer? Comment ils prouvent cela ? C’est du code à part?Grok le modèle de X/Twitter/Musk est aussi dispo en Europe https://x.com/x/status/1790917272355172401?s=46&t=GLj1NFxZoCFCjw2oYpiJpw
un truc unique c’est qu’il utilise les tweet comme reference sur ce qu’il dit. Par exemple demande les meilleurs Java Champions et c’est sur les tweet recents , probablement une sorte de RAG ou une sorte de fine tuning sur les derniers tweets, je ne sais pasL’algorithm des modeles de diffusion expliqués https://x.com/emmanuelbernard/status/1787565568020619650
deux articles, un general et lisible l’autre plus abscon mais avec certains details interessants sur le downsizing étapes ajout de bruit à des images (learning) pour après appliquer le process opposé le reverse diffusion process On prédit le bruit à enlever, on l’enlève et on repère le processus. Et tout cela est influencé par le prompt.Reindexation sans downtime des données de documentation de Quarkus, en quarkus bien sûr https://quarkus.io/blog/search-indexing-rollover/
utilise hibernate search Utilisé Elasticsearch / opensearch Article qui explique une des approches pour reindexer sans downtime via index alias OutillageUn article qui parle de l’outil de build bld, peu connu, qui permet d’écrire ses builds simplement dans une classe Java https://sombriks.com/blog/0070-build-with-bld-and-why-it-matters/
IntelliJ 2024.1 est sorti https://blog.jetbrains.com/idea/2024/05/what-s-new-in-intellij-idea-ultimate-2024-1/
complétion de ligne entière (deep learning) Assistant AI amélioré Spring Boot support amélioré sur bean completion et génération de diagramme Support de dev containers simplifié Amélioration support quarkus avec notamment icône dev ui et config des tests Support OpenRewrite Server wiremock et plein d’autres chosesEn version beta public, Homebrew permet de vérifier la provenance des packages (bottles) https://blog.trailofbits.com/2024/05/14/a-peek-into-build-provenance-for-homebrew/
Basé sur le système “build provenance” de sigstore https://docs.sigstore.dev/verifying/attestation/#validate-in-toto-attestations qui repose sur les attestations in-toto https://in-toto.io/Mettez à jour git en version 2.45.1 pour fixer des failles de sécurité https://github.blog/2024-05-14-securing-git-addressing-5-new-vulnerabilities/
CVE-2024-32002 (Critique, Windows & macOS) : Les repos Git avec des sous-modules peuvent tromper Git pour lui faire exécuter un hook (élément de script) à partir du répertoire .git/ pendant une opération de clonage, permettant l’exécution de code à distance (Remote Code Execution). CVE-2024-32004 (Important, machines multi-utilisateurs) : Un attaquant peut concevoir un repo local qui exécute du code arbitraire lors du clonage. CVE-2024-32465 (Important, toutes les configurations) : Le clonage à partir de fichiers .zip contenant des repos Git peut contourner les protections, et potentiellement exécuter des hooks malveillants. CVE-2024-32020 (Faible, machines multi-utilisateurs) : Les clones locaux sur le même disque peuvent permettre à des utilisateurs non approuvés de modifier des fichiers liés physiquement (hard link) dans la base de données des objets du repo cloné. CVE-2024-32021 (Faible, machines multi-utilisateurs) : Le clonage d’un repo local avec des liens symboliques (symlinks) peut entraîner la création de liens physiques vers des fichiers arbitraires dans le répertoire objects/. ArchitectureVisualisation des algorithmes de rate limitation https://smudge.ai/blog/ratelimit-algorithms
MéthodologiesLe problème de l’implémentation alternative https://pointersgonewild.com/2024/04/20/the-alternative-implementation-problem/
Article par un développeur qui a développé des Just-in-Time compiler pour différents langages Remarqué que développer une implémentation alternative d’un langage (par exemple) n’a jamais vraiment rencontré le succès Les gens préfèrent l’original à une alternative qui est dépendante de / a peine à suivre l’implémentation d’origine Pour son cas, sur le JIT, il a travaillé sur un JIT intégré directement dans CRuby (plutôt que faire son implémentation alternative comme TruffleRuby), et sont JIT est intégré maintenant dedans directement Plus facile de rejoindre / s’intégrer au projet plutôt que d’être une alternative pour laquelle il faut convaincre les gens de l’adopterLe mode vigilant dans GitHub https://x.com/emmanuelbernard/status/1790026210619068435
c’est la suite du blog wsur la signature des commits que j’ai fait ul y a quelques temps https://emmanuelbernard.com/blog/2023/11/27/git-signing-ssh/ Maintenant, GitHub rajoute de plus en plus d’infos si les signatures ne matchent pas ou ne sont pas présentes Loi, société et organisationUne perspective sur Redis et les changements de license par un devrel AWS OpenSearch https://www.infoworld.com/article/3715247/the-end-of-vendor-backed-open-source.html
les sociétés regardent l’impact légal des licenses source available pour elles même en usage interne Ça casse l’écosystème de spécialisations au dessus du produit (logz.io au dessus d’elastic démarré avant le changement de license) Redis top 10 contribs à AWS et Alibaba er Huawei et 3 redis. Donc c’est pas redis qui contribue tout. La plupart des ingénieurs de redislab ne bossent pas sur redis OSS, mais sur cloud et entreprise Peut être la fin des single vendor oss Il n’y a que les cloud providers qui peuvent fournir du OSS sans affecter leur structure du coût C’est un ex AWS en fait. Maintenant indépendantMicrosoft va investir 4 milliards en France (datacenters et IA) https://news.microsoft.com/fr-fr/2024/05/13/microsoft-announces-the-largest-investment-to-date-in-france-to-accelerate-the-adoption-of-ai-skilling-and-innovation/
Il ne sont pas les seuls dans le cadre du programme #chooseFrance https://www.info.gouv.fr/actualite/choose-france-un-record-de-15-milliards-deuros-dinvestissements-etrangers Mais cela n’est pas sans laisser de questions sur l’avenir de notre activité avec les US qui externalisent désormais leur silicon valley https://www.cybernetica.fr/la-france-laboratoire-de-la-silicon-valley-2-0/ Outils de l’épisodeASDF un gestionnaire de version multi-runtime https://asdf-vm.com
Arnaud l’avait recommandé mais je restais sur rvm apres des deboires, je suis passé a asdf, qui fonctionne mais pour le jdk j’utilise sdkman pour les javaistes ca parrait plus poussé ConférencesLes videos de Devoxx France sont en ligne https://www.youtube.com/playlist?list=PLTbQvx84FrARars1vXos7mlPdvYJmsEoK
La liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs :
16-17 mai 2024 : Newcrafts Paris - Paris (France) 22 mai 2024 : OpenInfra Day France - Palaiseau (France) 22-25 mai 2024 : Viva Tech - Paris (France) 24 mai 2024 : AFUP Day Nancy - Nancy (France) 24 mai 2024 : AFUP Day Poitiers - Poitiers (France) 24 mai 2024 : AFUP Day Lille - Lille (France) 24 mai 2024 : AFUP Day Lyon - Lyon (France) 28-29 mai 2024 : Symfony Live Paris - Paris (France) 1 juin 2024 : PolyCloud - Montpellier (France) 6 juin 2024 : WAX 2024 - Aix-en-Provence (France) 6-7 juin 2024 : DevFest Lille - Lille (France) 6-7 juin 2024 : Alpes Craft - Grenoble (France) 7 juin 2024 : Fork it! Community - Rouen (France) 11 juin 2024 : Cloud Toulouse - Toulouse (France) 11-12 juin 2024 : OW2con - Paris (France) 11-12 juin 2024 : PGDay Lille - Lille (France) 12-14 juin 2024 : Rencontres R - Vannes (France) 13-14 juin 2024 : Agile Tour Toulouse - Toulouse (France) 14 juin 2024 : DevQuest - Niort (France) 18 juin 2024 : Mobilis In Mobile 2024 - Nantes (France) 18 juin 2024 : BSides Strasbourg 2024 - Strasbourg (France) 18 juin 2024 : Tech & Wine 2024 - Lyon (France) 19-20 juin 2024 : AI_dev: Open Source GenAI & ML Summit Europe - Paris (France) 19-21 juin 2024 : Devoxx Poland - Krakow (Poland) 26-28 juin 2024 : Breizhcamp 2024 - Rennes (France) 27 juin 2024 : DotJS - Paris (France) 27-28 juin 2024 : Agi Lille - Lille (France) 4-5 juillet 2024 : Sunny Tech - Montpellier (France) 8-10 juillet 2024 : Riviera DEV - Sophia Antipolis (France) 6 septembre 2024 : JUG Summer Camp - La Rochelle (France) 6-7 septembre 2024 : Agile Pays Basque - Bidart (France) 17 septembre 2024 : We Love Speed - Nantes (France) 19-20 septembre 2024 : API Platform Conference - Lille (France) & Online 25-26 septembre 2024 : PyData Paris - Paris (France) 26 septembre 2024 : Agile Tour Sophia-Antipolis 2024 - Biot (France) 2-4 octobre 2024 : Devoxx Morocco - Marrakech (Morocco) 7-11 octobre 2024 : Devoxx Belgium - Antwerp (Belgium) 10 octobre 2024 : Cloud Nord - Lille (France) 10-11 octobre 2024 : Volcamp - Clermont-Ferrand (France) 10-11 octobre 2024 : Forum PHP - Marne-la-Vallée (France) 11-12 octobre 2024 : SecSea2k24 - La Ciotat (France) 16 octobre 2024 : DotPy - Paris (France) 17-18 octobre 2024 : DevFest Nantes - Nantes (France) 17-18 octobre 2024 : DotAI - Paris (France) 30-31 octobre 2024 : Agile Tour Nantais 2024 - Nantes (France) 30-31 octobre 2024 : Agile Tour Bordeaux 2024 - Bordeaux (France) 31 octobre 2024-3 novembre 2024 : PyCon.FR - Strasbourg (France) 6 novembre 2024 : Master Dev De France - Paris (France) 7 novembre 2024 : DevFest Toulouse - Toulouse (France) 8 novembre 2024 : BDX I/O - Bordeaux (France) 13-14 novembre 2024 : Agile Tour Rennes 2024 - Rennes (France) 21 novembre 2024 : DevFest Strasbourg - Strasbourg (France) 28 novembre 2024 : Who Run The Tech ? - Rennes (France) 3-5 décembre 2024 : APIdays Paris - Paris (France) 4-5 décembre 2024 : Open Source Experience - Paris (France) 22-25 janvier 2025 : SnowCamp 2025 - Grenoble (France) 16-18 avril 2025 : Devoxx France - Paris (France) Nous contacterPour 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/
Tue, 21 May 2024 - 1h 53min - 312 - LCC 311 - Tu changes ta licence et tu vends
Cet épisode news revient sur le rachat de Hashicorp par IBM, sur le changement de license Redis, sur le bug macos 14.4 et Java, sur la faille de de chaine d’approvisionnement sur XZ. Et nous débutons notre subrique Ask Me Anything. N’hésitez pas à nous soumettre vos question sur https://lescastcodeurs.com/ama.
Enregistré le 26 avril 2024
Téléchargement de l’épisode LesCastCodeurs-Episode-311.mp3
News LangagesAttendez peut-être avant d’upgrader macOS à la version 14.4, si vous faites du Java ! Attention le crash ! https://blogs.oracle.com/java/post/java-on-macos-14-4
Bug à suivre https://bugs.java.com/bugdatabase/view_bug?bug_id=8327860 À été fixé en 14.4.1 https://blogs.oracle.com/java/post/java-on-macos-14-4 c’était lié à un changement de comportement dans l’execution de code dynamique (compilé après le lancement du process) Au lieu de recevoir signal, SIGBUS or SIGSEGV et de le gérer SIGKILL était lancé et forcément ça marchait moins bien Apple a corrigé le comportementArticle de Gunnar Morling sur la nouvelle API de “gatherer” de Java 22, pour améliorer les streams, ici en montrant une implémentation d’un “zipper” qui assemble les éléments de 2 streams 2 à 2 https://www.morling.dev/blog/zipping-gatherer/
on a parlé des gatherers déjà qui permet de faire de faire des opérateurs intermediaries custom par rapport à ce que je JDK offre ici Gunnar montrer un zipper qui n’est pas présent par défautJulien Ponge est Java champion, félicitations !
JFR 9 est sorti https://hirt.se/blog/?p=1477
peut tourner dans Eclispe Support de arm64 pour Linux et macOS Dark mode ! Des améliorations de performance Support graalvm native image Nouveau afficheur de flame graph G1 pause target compliance LibrairiesNouvelle version de Jilt, l’annotation processor qui implémente les builders https://www.endoflineblog.com/jilt-1_5-released
Evite les hacks à la Lombok Une nouvelle méthode toBuilder() pour obtenir un builder d’un bean déjà configuré Support des méta-annotations, histoire de pas répéter sur chaque type comment on souhaite définir ses builders Possibilité de mettre l’annotation @Builder sur les constructeurs privés Support agnostique de @Nullable quel que soit l’origine de cette annotation InfrastructureIBM pourrait racheter Hashicorp https://www.reuters.com/markets/deals/ibm-nearing-buyout-deal-hashicorp-wsj-reports-2024-04-23/
rien n’est fait Hashicorp qui a été dans la tourmente après le passage de Terraform en closed source mais les revenus sont là. C’est fait https://www.hashicorp.com/blog/hashicorp-joins-ibm WebGoogle intègre son framework interne Wiz dans Angular https://blog.angular.io/angular-and-wiz-are-better-together-91e633d8cd5a
Wiz est un framework interne à Google utilisé dans des produits comme Google Search ou Photos, très axé sur la performance Wiz va amener plus de performance à Angular, tout en gardant la super interactivité d’Angular Wiz historiquement sur la perf et peu d’interactions utilisateur, angular sur interactions riches et super experience developer Wiz server side rendering first et streamé, ce qui élimine le javascript dans le chemin de charge initial des fonctions comme deferred views sont venu vers angular et signals sont venu a wiz vont merger au fur et a mesure des prochaines années via Angular comme receptacle open Data et Intelligence ArtificielleRedis aussi se met à changer sa licence pour une licence pas tout à fait open source. Un fork nommé Valkey, animé par des mainteneurs de Redis, rejoint la fondation Linux https://www.linuxfoundation.org/press/linux-foundation-launches-open-source-valkey-community
AWS, Google, Oracle, Ericsson et Snap sont nommés dans l’effort Open Source fight back mais via des grands acteurs qui ont un interet dans la version “gratuite” pour le cloud les infos de Redis https://redis.com/blog/redis-adopts-dual-source-available-licensing/ En gros releasé sous SSPL (comme MongoDB) ou une license spécifique Redis RSAL est source available license (dont pas open source) et SSPL est pas reconnu comme open source par l’OSI car elle impose des restrictions à l’usage du coup certaines fonctions closed sources deviennent source available Met les cloud provider en cause du problème, ils font de l’argent et commodetize Redis sans redonner du revenu aux développeurs de Redis est-ce que les gens seront ok de continuer a coder pour du code pas open, juste disponible et évidemment ca casse l’écosystème redis ou open source qui voulait utiliser redis en tant qu’open pas autorisé de faire du support sur un produit qui derive de redis sans payer une license si c’est “compétitif”Elon Musk tient sa promesse et ouvre son Large Language Model, Grok https://x.ai/blog/grok-os
Modèle de 314 milliards de paramètres (Pi !) Architecture MoE (Mixture of Experts) qui fait qu’il n’y a que 25% des neurones actifs à l’inférence (efficace et rapide) C’est un modèle “pre-trained”, de base, non-finetuné, donc pas très utilisable en l’état (il faut le finetuner en mode “instruct” et/ou “chat” pour qu’il soit vraiment utilisable) Le code dans le repo Github, ainsi que les poids du réseau de neurones, sont OSS sous licence Apache 2 L’entrainement a été effectué avec JAX et Rust ! La cut-off date est Octobre 2023 OutillageOracle lance son extension VSCode pour Java https://devclass.com/2024/03/19/java-22-is-out-and-oracle-is-pushing-its-own-extension-for-vs-code-over-not-very-good-red-hat-alternative/
une extension en competition avec l’extension officielle et historique Java faite par MS et Red Hat Oracle estime l’extension pas tres bonne cafr basée sur le compilateur Eclipse 33M de telechargements quand même La nouvelle s’appuie sur javac donc proche de la verite par definition et en avance par definition de la facon dont Oracle release quand il veut aligné avec le timing de simplification de Java pour les débutants SécuritéRémi Forax nous partage cet article sur les puces M1/M2/M3 d’Apple, qui utilisent un nouveau “prefetcher” un peu trop agressif qui permet de leaker les clés utilisées lors des opérations cryptographiques : https://arstechnica.com/security/2024/03/hackers-can-extract-secret-encryption-keys-from-apples-mac-chips/
comme d’hab pour les side channels attaques de de type c’est su un autre process peut tourner sur la machine et être adversaire lié a un data dependent memory fetcher dans ce cas, un champ est soit une valeur, soit un pointeur et Appel pre-fetch dans le cas où c’est un pointeur et c’est attaquable en injectant des variables qui ressemblent a des pointeurs vers des données controlées et on peut en déduire la clés secrete si cette variable et la clé ont des opérations mais le code peut désactiver cette optimisation si j’ai bien comprisL’histoire d’une porte dérobée dans le projet open source XZ qui a failli mettre à mal toutes les connexions sous Open SSH, avec pour tâche de fond la fragilité de projets open source maintenu par des individuels bénévoles à bout de souffle https://uwyn.net/@rusty@piaille.fr/112190942187106096
ArsTechnica détaille l’histoire https://arstechnica.com/security/2024/04/what-we-know-about-the-xz-utils-backdoor-that-almost-infected-the-world/ https://www.minimachines.net/actu/la-menace-xz-ou-comment-le-ciel-a-failli-tomber-sur-nos-tetes-125967Les impacts de laisser trainer son secret client dans les connections Keycloak https://medium.com/@benjaminbuffet/dis-keycloack-cest-grave-si-je-laisse-tra%C3%AEner-mon-client-secret-d371a0f657ee
un article qui explique les raison plutôt que de dire c’est mal car c’est secret quand on utilise un mot de passe du client (et pas un JWT signé ou une clé privé) si ca se perd, c’est l’usurpation de l’identité d’un utilisateur via son usage de client qui est en jeu (donc joué en tant que) ou usurper l’identité client en tant que telle (plus facile) et quelques conseils pour réduire ce risque Loi, société et organisationJavaOne serait de retour pour de vrai ? https://www.oracle.com/javaone/
En mars 2025, c’est dans un an, on a le temps ! Ça se déroulera sur le campus d’Oracle dans la Silicon Valley peu d’infos et de détail, pas sur que cela soit le JavaOne de nos souvenirs.Des infos concretes sur l’IA souveraine Albert https://x.com/emile_marzolf/status/1783072739630121432
AMA, Ask Me AnythingHamza:
“Comment être un rockstar dans le domaine, s’il vous plaît une réponse détaillée sur le plan d’action veille, auto formation, side projets …… depuis vos expériences personnelles. Merci d’avance”
ConférencesLa liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs :
3-4 mai 2024 : Faiseuses Du Web 3 - Dinan (France) 8-10 mai 2024 : Devoxx UK - London (UK) 16-17 mai 2024 : Newcrafts Paris - Paris (France) 22 mai 2024 : OpenInfra Day France - Palaiseau (France) 22-25 mai 2024 : Viva Tech - Paris (France) 24 mai 2024 : AFUP Day Nancy - Nancy (France) 24 mai 2024 : AFUP Day Poitiers - Poitiers (France) 24 mai 2024 : AFUP Day Lille - Lille (France) 24 mai 2024 : AFUP Day Lyon - Lyon (France) 28-29 mai 2024 : Symfony Live Paris - Paris (France) 1 juin 2024 : PolyCloud - Montpellier (France) 6 juin 2024 : WAX 2024 - Aix-en-Provence (France) 6-7 juin 2024 : DevFest Lille - Lille (France) 6-7 juin 2024 : Alpes Craft - Grenoble (France) 7 juin 2024 : Fork it! Community - Rouen (France) 11 juin 2024 : Cloud Toulouse - Toulouse (France) 11-12 juin 2024 : OW2con - Paris (France) 11-12 juin 2024 : PGDay Lille - Lille (France) 12-14 juin 2024 : Rencontres R - Vannes (France) 13-14 juin 2024 : Agile Tour Toulouse - Toulouse (France) 14 juin 2024 : DevQuest - Niort (France) 18 juin 2024 : Mobilis In Mobile 2024 - Nantes (France) 18 juin 2024 : BSides Strasbourg 2024 - Strasbourg (France) 18 juin 2024 : Tech & Wine 2024 - Lyon (France) 19-20 juin 2024 : AI_dev: Open Source GenAI & ML Summit Europe - Paris (France) 19-21 juin 2024 : Devoxx Poland - Krakow (Poland) 26-28 juin 2024 : Breizhcamp 2024 - Rennes (France) 27 juin 2024 : DotJS - Paris (France) 27-28 juin 2024 : Agi Lille - Lille (France) 4-5 juillet 2024 : Sunny Tech - Montpellier (France) 8-10 juillet 2024 : Riviera DEV - Sophia Antipolis (France) 6 septembre 2024 : JUG Summer Camp - La Rochelle (France) 6-7 septembre 2024 : Agile Pays Basque - Bidart (France) 19-20 septembre 2024 : API Platform Conference - Lille (France) & Online 26 septembre 2024 : Agile Tour Sophia-Antipolis 2024 - Biot (France) 2-4 octobre 2024 : Devoxx Morocco - Marrakech (Morocco) 7-11 octobre 2024 : Devoxx Belgium - Antwerp (Belgium) 10 octobre 2024 : Cloud Nord - Lille (France) 10-11 octobre 2024 : Volcamp - Clermont-Ferrand (France) 10-11 octobre 2024 : Forum PHP - Marne-la-Vallée (France) 11-12 octobre 2024 : SecSea2k24 - La Ciotat (France) 16 octobre 2024 : DotPy - Paris (France) 17-18 octobre 2024 : DevFest Nantes - Nantes (France) 17-18 octobre 2024 : DotAI - Paris (France) 30-31 octobre 2024 : Agile Tour Nantais 2024 - Nantes (France) 31 octobre 2024-3 novembre 2024 : PyCon.FR - Strasbourg (France) 6 novembre 2024 : Master Dev De France - Paris (France) 7 novembre 2024 : DevFest Toulouse - Toulouse (France) 8 novembre 2024 : BDX I/O - Bordeaux (France) 13-14 novembre 2024 : Agile Tour Rennes 2024 - Rennes (France) 28 novembre 2024 : Who Run The Tech ? - Rennes (France) 3-5 décembre 2024 : APIdays Paris - Paris (France) 4-5 décembre 2024 : Open Source Experience - Paris (France) 22-25 janvier 2025 : SnowCamp 2025 - Grenoble (France) 16-18 avril 2025 : Devoxx France - Paris (France) Nous contacterPour 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/
Mon, 29 Apr 2024 - 1h 15min - 311 - LCC 310 - Les Cast Codeurs à Devoxx France 2024 : sous-titre édition
La clôture de Devoxx France 2024 avec les cast codeurs. L’année où le sous-titrage était un personnage à part entière de Devoxx France. Vous aurez beaucoup plus de plaisir et de contexte en regardant la vidéo qu’en écoutant cet épisode. Les sous titres jouent un rôle important. Donc pour une fois ne nous écoutez pas, regardez nous :o)
Enregistré le 19 avril 2024
Téléchargement de l’épisode LesCastCodeurs-Episode–310.mp3
NewsL’enregistrement en direct de Devoxx France 2024.
Nous contacterPour 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/
Wed, 24 Apr 2024 - 52min - 310 - LCC 309 - React a 10 ans
React a 10 ans. 10 Ans de Révolution dans le Développement Web avec Amélie Benoît (@AmelieBenoit33) et Manuel Cartier (@neolectron).
Enregistré le 04 mars 2024
Téléchargement de l’épisode LesCastCodeurs-Episode-309.mp3
React a 10 ans, longue vie à React !Dans cet épisode, nous avons comme invités Amelie Benoît et Manuel Cartier. Les deux explorent l’évolution de React au cours de la dernière décennie, mettant en lumière ses principaux principes et son impact sur le développement web. Amélie et Manuel discutent des caractéristiques fondamentales de React, comme la composition des composants et l’utilisation de la virtual DOM, ainsi que des tendances émergentes telles que l’adoption de React Hooks, et les React Server Components. Enfin, nous avons ses conclusions sur l’avenir de React et son rôle continu dans le paysage du développement web.
Amélie BenoîtAmélie Benoit est une développeuse web avec une expérience d’environ 10 ans dans le domaine. Son expertise se concentre principalement sur React et React Native, qu’elle maîtrise tant en JavaScript qu’en TypeScript.
En plus de son travail de développement, Amélie est une entrepreneuse communautaire active. Elle a fondé deux Meetups, dont l’un est dédié à React & React Native, démontrant ainsi son engagement envers la diffusion des connaissances et le développement de la communauté. Elle a également organisé des conférences, notamment lors de l’événement BDX I/O. Elle a aussi été oratrice a Devoxx France parmi d’autres conférences.
Actuellement, Amélie occupe le poste de tech lead manager chez Busbud, une scale-up canadienne spécialisée dans la comparaison et la vente de billets de bus inter-cités en ligne. Son rôle en tant que leader technique et manager la place au cœur des opérations de développement et de gestion de projet au sein de l’entreprise.
Grâce à son expertise technique, son engagement communautaire et son leadership, Amélie Benoit apporte une contribution significative au monde du développement web et de la technologie.
Manuel CartierManuel est un développeur passionné, initié à l’art du code dès l’âge de 13 ans. Animé par cette passion précoce, il entreprend des études en développement de logiciels et gestion de projets, couronnées par l’obtention d’un BTS. Son parcours exceptionnel le conduit à se distinguer dès 2015 à l’école “42” de Paris, où il se classe premier parmi tous les candidats.
Avec une solide expertise en C++, Manuel s’investit dans l’encodage vidéo et audio chez Ateme, contribuant ainsi à un transcodeur utilisant des bibliothèques faites maison, équivalentes à x264. Passionné par la diffusion en direct, il partage régulièrement ses connaissances en informatique et donne des cours de développement web sur Twitch et YouTube.
Toujours avide d’apprendre et de repousser ses limites, Manuel se lance actuellement dans l’exploration de Rust, encouragé par la migration des projets C++ vers Rust chez Facebook. Parallèlement, il explore le développement d’applications mobiles avec Ionic Framework et AngularJS, expérience acquise lors de la création d’une start-up en 2015.
Son dernier rôle en tant que développeur Fullstack chez SigFox lui permet d’approfondir sa compréhension des mécanismes de l’IoT. Aujourd’hui, son attention se porte sur l’écosystème JavaScript et l’amélioration de l’expérience utilisateur, ainsi que sur le rendu 3D sur le web avec des technologies innovantes telles que Three.js et React-Three-Fiber.
Nous contacterPour 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/
Thu, 04 Apr 2024 - 1h 14min - 309 - LCC 308 - Après c'est avant
Cet épisode discute du retour d’experience Java de Netflix, de jQuery, de gouvernance open source, d’Elon Musk, de Kubernetes, de Mistral (gagnant?), d’attaque des LLMs, de developpement de carrière et de Trouble du Déficit de l’Attention avec ou sans Hyperactivité.
Enregistré le 15 mars 2024
Téléchargement de l’épisode LesCastCodeurs-Episode-308.mp3
NewsLes cast codeurs veulent essayer quelque chose de nouveau et le sondage montre que vous aussi. On lance donc une section Ask Me Anything, posez nous une question sur https://lescastcodeurs.com/ama et nous prendrons certaines questions pour donner notre réponse. Lancez-vous, on pense que cette section pourra être sympa :)
LangagesRetour d’experience de Netflix sur ZGC https://netflixtechblog.com/bending-pause-times-to-your-will-with-generational-zgc-256629c9386b
moins de tail latency ce qui veut dire moins de charge sur le systeme (moins de retry) aussi plus facile de trouver les vrais probleme de latence (plus cachés dans les latences de GC) et sans consommation superieure de CPU pour les memes perfs malgré les barrieres differentes de ZGC pas de tuning explicit de leur part (enfin presque) meme si les pointeurs ne sont pas compresses, l’efficacite du GC compense LibrairiesSortie de Spock 2.4-M2 https://spockframework.org/spock/docs/2.4-M2/release_notes.html
Support de plusieurs librairies de mocking Meilleur support dans les IDEs Et plein d’autres petites améliorationsjQuery 4 est sorti ! jQuery est de retour ! https://www.infoq.com/news/2024/03/jquery-4-beta-release-note/
On parle régulièrement du dernier framework JavaScript à la mode, mais jQuery est toujours là Première release majeure depuis 8 ans Suppression de plein de features qui étaient deprecated et maintenant fournie souvent par défaut par les moteurs JavaScript des navigateurs jQuery continue d’être téléchargé de plus en plus au fil du temps, mais peut-être parce qu’il bénéficie du succès des projets qui l’utilisent comme Cypress, WordPress ou Drupal)Quarkus sort sa deuxieme LTS https://quarkus.io/blog/quarkus-3-8-released/
explique les changements importants depuis la LTS 3.2 InfrastructureLinkerd ou plutôt la boîte derrière va faire payer pour accéder aux builds stable du projet. Cela crée des conversations au sein de la CNCF https://www.techtarget.com/searchitoperations/news/366571035/Linkerd-paywall-prompts-online-debate-CNCF-TOC-review
deploy envoy, c’est plus dur Buyoant est le principal contributeur derriere Linkerd et ils ont edcider de mettre les distributions stables derriere un paywall pour les societes de plus de 50 employés ($2000 par cluster) les gens se trouve floués par aider au succces et ensuite de trouver piégé La license reste ASL mais la version stable est derriere un paywall, comme red hat enterprise linuix recemment un autre exemple de projet open source qui vire commercial questionne la gouvernance open source, la CNCF va inestiguer et peut etre durcir ces criteres de graduiation Weavework (FLux) a fermé ces dernieres semaines aussiCloudflare a reecrit un proxy HTTP en rust https://blog.cloudflare.com/how-we-built-pingora-the-proxy-that-connects-cloudflare-to-the-internet/
ils ont utilise NGinx pendant longtemps mais le single worker modele ne permetait pas ceratins optims et ils ont des besolins specifiques bref ils ont reecrit en rust, multi threaded et avec work stealing et ils sont contentLe guide du “hater” sur Kubernetes https://paulbutler.org/2024/the-haters-guide-to-kubernetes/
L’auteur se plaint régulièrement de Kubernetes pour sa grande complexité mais reconnait que c’est quand même un grand morceau de technologie A utiliser surtout quand on a besoin de : Exécuter plusieurs processus/serveurs/tâches planifiées. Les exécuter de manière redondante et répartir la charge entre eux. Les configurer, ainsi que les relations entre eux, sous forme de code. L’auteur liste ensuite les fonctionnalités qu’il utilise, qu’il fait attention quand il les utilise, et celles qu’il préfère éviter Utilise : deployments, services, cron jobs, config maps et secrets Attention : stateful set, persistent volume et RBAC Evite : le YAML à la main, les opérateurs et resources customs, Helm, tout ce qui est mesh, les resources ingress, essayer de répliquer la stack K8S complète localement sur sa machine Data et Intelligence ArtificielleMistral AI et Microsoft font un accord sur le modele le plus puissant de Mistral et certains ne sont pas content https://www.latribune.fr/technos-medias/informatique/l-alliance-entre-mistral-et-micr[…]usion-de-l-independance-technologique-europeenne-991558.html
Mistral avancait son approche open source mais son modele le plus puissant ne l’est pas ils ont un partenariat exclusif avec Microsoft pour le distribuer Et MS rentre dans le capital Au revoir l’independance de l’IA européenne Au revoir les modeles open source larges cela va a l’encontre du loby et de son positinnement aupres de la commission europeenne ca fait grincer des dents a bruxelles qui avait alléger les contraintes sur les modeles fondamentaux a la demande de Mistral qui menacait de de voir s’allier avec MS si ce n’était pas le cas. Mistral était un fer de lance des modeles open sources pour eviter les biais ils en garderont masi pas les modeles specialisés ou optimisés cela reste une bonne decisione conomique pour MistralInfinispan 15 est sorti https://infinispan.org/blog/2024/03/13/infinispan-15
JDK 17 Redis Hot Replacement donnant: multi thread, clustering, replication cross site, diff stores de persistence en disk, avoir des caches differentes en namespace différentes avec des règles appliquées à chaque cas d’usage Recherche Vectorielle et stockage des embeddings Integration avec Langchain (Python), Langchain4j, et Quarkus Langchain Améliorations du search, replication cross site, la console, tracing, l’Operateur Kubernetes … Support du Protobuf 3 avec la release de Protostream 5 et meilleur API OutillageNe pas signer ses commits cryptographiquement ? https://blog.glyph.im/2024/01/unsigned-commits.html
L’article cite comme seul avantage d’avoir le petit badge vert sur Github indiquant “vérifié” Responsabilité future inconnue et potentiellement illimitée pour les conséquences de l’exécution du code dans un commit que vous avez signé. Renforcement implicite de GitHub en tant qu’autorité de confiance centralisée dans le monde de l’open source. Introduction de problèmes de fiabilité inconnus dans l’infrastructure qui repose sur les signatures de commit. Une violation temporaire de vos identifiants GitHub entraîne désormais des conséquences potentiellement permanentes si quelqu’un parvient à y introduire une nouvelle clé de confiance. Nouveau type de surcharge de processus continu : les clés de signature de commit deviennent une nouvelle infrastructure permanente à gérer, avec de nouvelles questions comme « que faire des clés expirées », « à quelle fréquence dois-je les renouveler », etc. on peut empecher de pousser des commits non signés SécuritéDes modèles avec des backdoors uploadés sur hugging faces non détecté. https://arstechnica.com/security/2024/03/hugging-face-the-github-of-ai-hosted-code-that-backdoored-user-devices/
par les chercheurs de JFrog Une centaine détectés dont 10 malicieux Des tests de chercheurs mais un faisant un reverse ssh S’appuye sur le format de serialisation pickle en python. Populaire mais connu comme dangereuxUne première side attack channel sur les LLMs https://arstechnica.com/security/2024/03/hackers-can-read-private-ai-assistant-chats-even-though-theyre-encrypted/
cela s’appuie sur la taille des packets chiffrés envoyés et leur timing pour détecter la longueur des tokens Ensuite un LLM spécialisé reconstruit la suite de mots la plus probable vu la longueur C’est du à l’UX qui envoie les tokens au fil de l’eau Ć’est facilement corrigeable en rendant les paquets de taille fixe et en ajoutant du hasard de délai d’envoie. Mais c’est rigolo comment les LLMs peuvent amplifier les side channel attacks ArchitectureNetflix et Java https://www.infoq.com/presentations/netflix-java/
Netflix est un java shop La “stack NEtflix” connue du public a beaucoup evolué Pleins de microservices Gen1: groovy en gateway front end for backend , RxJava et Histrix Gen2: GraphQL et GraphQL federé ; plus de reactif sand dans la gateway Java 17 : 2800 apps java utilisent Azul JDK avait du Java 8 sur du guice et app custom utilisent G1, Java 17 = -20% CPU et Shenandoah pour la gateway Zuul Plans pour Java 21 (ZGC, virtual threads) apres speculatif Ils ont standardisé sur Spring Boot il n’y a pas si longtempsUn long article sur les microservices https://mcorbin.fr/posts/2024-02-12-microservice/
encore un me direz vous oui amis si vous etre en pleine crise existentielle avec votre equipe c’est du mon materiel il va sur les points importants comme synchrone vs asynchrone, les patterns de communication, la copie de données, comment tester le “monotithe” ou plutot comment ne pas le faire etc c’est un peu long mais ca recadre bien MéthodologiesOpinion: est-ce qu’on peut devenir dev à partir de 40 ans https://www.codemotion.com/magazine/dev-life/can-you-become-a-programmer-after-40/?utm_source=ActiveCampaign&utm_medium=email&utm_content=5+Frontend+Trends+we+Didn+t+See+Coming+in+2024&utm_campaign=NL_EN_240215+%28Copy%29&vgo_ee=sFCRn4bbw8NuvJwlxj4PgXiVS4eICnA1ZPdkH4DGKyhNNwh6NQ%3D%3D%3Au3g96%2Fz3Uf7kZHAF7tezy9Y0ZJ6paAsE
programmeur de CSS a 40 ans, je sais pas :stuck_out_tongue_winking_eye: l’auteur regrette les pubs pour devenir ev a 40 ansd facilement developpeur c’est beaucoup de connaissance et de travail et doit etre un choix, pas un choix pas default ou facile ils decrit certains biais comme un 20 ans sans experience est plus pardonné qu’à 40, le temps a y consacré est différent etc compensé par des actes de motivation (GitHub, participation open source, meetups etc) mais le temps d’apprendre de ces erreurs n’as pas vraiment de court circuit bref une fonrmation c’est bien mais aps suffisantNavigate your own way https://www.infoq.com/presentations/lessons-opportunities-carrier/
IBMer for 21 years. I’m a Java champion Réfléchir à sa carrière en mode time box, chercher sa promotion ? Tu peux décider ton chemin Momentum pandémie ça lui a fait bcp réfléchir sur sa vie et où elle était. Moment où elle quittait IBM pour aller vers RH (cœur se brise) Essentiels pour prendre ton propre chemin Se connaître soit même, reconnaître les différences avec les autres connaître tes valeurs: c’est quoi important pour toi, c’est quoi qui te motive, ce qui te démotive. Écrire des mots Se fixer des objectifs avec l’aide des autres Repusher ses limites, sur des sujets dont tu penses que ce n’est pas possible pour toi Participe activement, entoure toi bien Un talk très personnel et inspirantUn article sur le trouble TDAH chez le développeur adulte https://rlemaitre.com/fr/posts/2023/11/hacker-le-tdah-strat%C3%A9gies-pour-le-d%C3%A9veloppeur-moderne/
Diagnostiqué à 44 ans Schéma d’inattention et d’hyperactivite/implusivite qui interfere avec le fonctionnement Affecte le fonctionnement social scolaire ou professionnel Non diagnistiqué: burn out anxiété ou depression Souvent non diagnostiqué jusqu’à ce que se propres enfants soient diagnostiqués Mais cela amène du positif: hyperfocus, resolution creative de problèmes, adaptation rapide aux changements qui sont du pain béni Le négatif c’est la gestion du temps, organisation, instabilité Discute ensuite les phénomènes dans le cerveau Et donne des techniques et des pièges à éviter Vous avez sûrement des collègues TDAH ou l’êtes-vous meme ConférencesLa liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs :
14-15 mars 2024 : pgDayParis - Paris (France) 17-18 mars 2024 : Cloud Native Rejekts EU 2024 - Paris (France) 19 mars 2024 : AppDeveloperCon - Paris (France) 19 mars 2024 : ArgoCon - Paris (France) 19 mars 2024 : BackstageCon - Paris (France) 19 mars 2024 : Cilium + eBPF Day - Paris (France) 19 mars 2024 : Cloud Native AI Day Europe - Paris (France) 19 mars 2024 : Cloud Native StartupFest Europe - Paris (France) 19 mars 2024 : Cloud Native Wasm Day Europe - Paris (France) 19 mars 2024 : Data on Kubernetes Day - Paris (France) 19 mars 2024 : Istio Day Europe - Paris (France) 19 mars 2024 : Kubeflow Summit Europe - Paris (France) 19 mars 2024 : Kubernetes on Edge Day Europe - Paris (France) 19 mars 2024 : Multi-Tenancy Con - Paris (France) 19 mars 2024 : Observabiity Day Europe - Paris (France) 19 mars 2024 : OpenTofu Day Europe - Paris (France) 19 mars 2024 : Platform Engineering Day - Paris (France) 19 mars 2024 : ThanosCon Europe - Paris (France) 19 mars 2024 : PaaS Forward by OVHcloud | Rancher by SUSE - Paris (France) 19-21 mars 2024 : CloudNativeHacks - Paris (France) 19-21 mars 2024 : IT & Cybersecurity Meetings - Paris (France) 19-22 mars 2024 : KubeCon + CloudNativeCon Europe 2024 - Paris (France) 21 mars 2024 : IA & Data Day Strasbourg - Strasbourg (France) 22-23 mars 2024 : Agile Games France - Valence (France) 26-28 mars 2024 : Forum INCYBER Europe - Lille (France) 27 mars 2024 : La Conf Data | IA - Paris (France) 28-29 mars 2024 : SymfonyLive Paris 2024 - Paris (France) 28-30 mars 2024 : DrupalCamp Roazhon - Rennes (France) 4 avril 2024 : SoCraTes Rennes 2024 - Rennes (France) 4-6 avril 2024 : Toulouse Hacking Convention - Toulouse (France) 8 avril 2024 : Lyon Craft - Lyon (France) 9 avril 2024 : Unconf HackYourJob - Lyon (France) 11 avril 2024 : CI/CDay - Paris (France) 17-19 avril 2024 : Devoxx France - Paris (France) 18-20 avril 2024 : Devoxx Greece - Athens (Greece) 22 avril 2024 : React Connection 2024 - Paris (France) 23 avril 2024 : React Native Connection 2024 - Paris (France) 25-26 avril 2024 : MiXiT - Lyon (France) 25-26 avril 2024 : Android Makers - Paris (France) 3-4 mai 2024 : Faiseuses Du Web 3 - Dinan (France) 8-10 mai 2024 : Devoxx UK - London (UK) 16-17 mai 2024 : Newcrafts Paris - Paris (France) 22-25 mai 2024 : Viva Tech - Paris (France) 24 mai 2024 : AFUP Day Nancy - Nancy (France) 24 mai 2024 : AFUP Day Poitiers - Poitiers (France) 24 mai 2024 : AFUP Day Lille - Lille (France) 24 mai 2024 : AFUP Day Lyon - Lyon (France) 28-29 mai 2024 : Symfony Live Paris - Paris (France) 1 juin 2024 : PolyCloud - Montpellier (France) 6-7 juin 2024 : DevFest Lille - Lille (France) 6-7 juin 2024 : Alpes Craft - Grenoble (France) 7 juin 2024 : Fork it! Community - Rouen (France) 11-12 juin 2024 : OW2con - Paris (France) 12-14 juin 2024 : Rencontres R - Vannes (France) 13-14 juin 2024 : Agile Tour Toulouse - Toulouse (France) 14 juin 2024 : DevQuest - Niort (France) 18 juin 2024 : Tech & Wine 2024 - Lyon (France) 19-20 juin 2024 : AI_dev: Open Source GenAI & ML Summit Europe - Paris (France) 19-21 juin 2024 : Devoxx Poland - Krakow (Poland) 27 juin 2024 : DotJS - Paris (France) 27-28 juin 2024 : Agi Lille - Lille (France) 4-5 juillet 2024 : Sunny Tech - Montpellier (France) 8-10 juillet 2024 : Riviera DEV - Sophia Antipolis (France) 6 septembre 2024 : JUG Summer Camp - La Rochelle (France) 19-20 septembre 2024 : API Platform Conference - Lille (France) & Online 2-4 octobre 2024 : Devoxx Morocco - Marrakech (Morocco) 7-11 octobre 2024 : Devoxx Belgium - Antwerp (Belgium) 10 octobre 2024 : Cloud Nord - Lille (France) 10-11 octobre 2024 : Volcamp - Clermont-Ferrand (France) 10-11 octobre 2024 : Forum PHP - Marne-la-Vallée (France) 16 octobre 2024 : DotPy - Paris (France) 17-18 octobre 2024 : DevFest Nantes - Nantes (France) 17-18 octobre 2024 : DotAI - Paris (France) 6 novembre 2024 : Master Dev De France - Paris (France) 7 novembre 2024 : DevFest Toulouse - Toulouse (France) 8 novembre 2024 : BDX I/O - Bordeaux (France) Nous contacterPour 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/
Tue, 19 Mar 2024 - 1h 22min - 308 - LCC 307 - Interview sur la passion, la créativité et le fun sur le long terme avec Holly Cummins et Mark Jane
Enregistré le 27 février 2024
Téléchargement de l’épisode LesCastCodeurs-Episode-307.mp3
InterviewLes Cast Codeurs accueillent deux invités spéciaux pour explorer un aspect crucial de la carrière informatique : comment conserver la passion, la créativité et le plaisir au fil du temps.
Holly Cummins et Mark JaneHolly Cummins est dans l’open-source depuis 20 ans. Elle est Java Champion et JavaOne Rock Star. Elle a co-écrit le livre ‘Enterprise OSGi in Action’ chez Manning et a présenté des conférences dans divers événements renommés tels que JavaOne, Devoxx, et JAX London. Elle travaille chez Red Hat en 2024, et contribue principalement sur Quarkus.
Mark Jane, est un acteur accompli et improvisateur chevronné depuis 1994. Il rejoint la troupe Eux en 2016, jouant dans le spectacle Bio à Paris, et Pilote et Chaos en 2024. Il a écrit le livre “Jeux et enjeux: La boîte à outils de l’improvisation théatrale”.
Les deux naviguent leur carrière avec passion, créativité et fun depuis +20 ans.
Naviguer sa carrière professionnelle avec passion, créativité et fun sur le long termeDans ce podcast, Holly et Mark partagent leurs conseils et expériences uniques, découvrant de nombreux points communs malgré l’apparente disparité entre leurs deux professions.
Nous contacterPour 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/
Mon, 04 Mar 2024 - 45min - 307 - LCC 306 - Alors tu squash ou tu pointes ?
Dans cet épisode, Katia, Emmanuel et Arnaud explorent de nouvelles approches du Builder pattern en Java, l’introduction du Pattern Matching Primitives dans Java, et les déboires de l’intelligence artificielle avec des attaques de la chaîne d’approvisionnement sur Pytorch. Ils abordent aussi les licenciements dans diverses entreprises technologiques, l’évolution du trafic de Stackoverflow et donnent de conseils pratiques pour les développeurs, notamment sur les commits conventionnels, la mise à jour de dépendances avec Dependabot, Renovate et le déboggage des programmes Java. Ils terminent avec leur retour d’expérience sur la relecture des sujets de Devoxx France 2024.
Enregistré le 9 février 2024
Téléchargement de l’épisode LesCastCodeurs-Episode-306.mp3
Votre avis compte énormément pour nous ! 🎧 Nous voulons rendre Les Cast Codeurs encore plus genial, et c’est là que vous intervenez. 🌟 Aidez-nous en partageant vos idées, suggestions et souhaits pour 2024, dans notre tout nouveau formulaire de retour. C’est rapide, facile et ça ne prend que 2 minutes.
News LangagesUne approche différente du Builder pattern en Java, inspirée par ce qui se fait dans la communauté Golang https://glaforge.dev/posts/2024/01/16/java-functional-builder-approach/
Les builders, surtout quand ils sont imbriqués les uns dans les autres, peuvent devenir un peu verbeux à lire Est-ce qu’on peut prendre une nouvelle approche ? Oui, en tirant parti des lambdas, avec des méthodes de mutation qui retournent des lambda qui effectuent la mutation On retrouve le plaisir de pouvoir construire une instance à l’aide d’un constructeur, plutôt qu’un builder En recherchant le sujet, Guillaume est aussi tombé sur une approche type safe du builder classique https://www.endoflineblog.com/type-safe-builder-pattern-in-java-and-the-jilt-library (qui est implémentée sous forme d’annotation processor dans le petit projet open source Jilt)Pattern Matching Primitives (JEP 455) https://openjdk.org/jeps/455
Uniformité autorisant le pattern de type pour tous les types, qu’ils soient primitifs ou de référence et sécurité dans la conversion de types et éviter les erreurs runtime pour les conversions de type. Plus de robustesse
Ca l’explique bien ici. Les deux https://www.infoq.com/news/2024/02/java-enhances-pattern-matching/
Exemple:
Avant
if (i >= -128 && i <= 127) { byte b = (byte)i; ... b ... }Maintenant
if (i instanceof byte b) { ... b ... } byte b = 42; b instanceof int; // true (unconditionally exact) int i = 42; i instanceof byte; // true (exact) int i = 1000; i instanceof byte; // false (not exact)News Java, le tour https://www.infoq.com/news/2024/02/java-news-roundup-jan29-2024/
Open JDK avec preview de Classe File API JDK 22 et 23 Glassfish, GraalVM, Spring, Quarkus, Infinispan, Hibernate, Grails, Vert.x… plein d’outils Keycloak Langchain Lire les détails dans l’article d’InfoQ etc. Data et Intelligence ArtificielleUne attaque de supply chain sur Pytorch et l’IA https://johnstawinski.com/2024/01/11/playing-with-fire-how-we-executed-a-critical-supply-chain-attack-on-pytorch/
Soumettre une PR avec une correction de typo ca leur a approuvé de faire tourner la CI automatiquement quand ils poussent la PR soumis une PR qui curl fetch un gist qui tournait sur un runner self-hosté et ils ont choppé les tokens pour plus tard publier les binaires dans les repos officiels et personne n’a rien vuSupport du modèle de génération d’image Imagen dans LangChain4j rajouté dans la dernière version du project https://glaforge.dev/posts/2024/02/01/image-generation-with-imagen-and-langchain4j/
contribué par Guillaume on peut générer des images, mais aussi les éditerCollab entre Google et Hugging Face https://www.infoq.com/news/2024/01/hugging-face-gcp-ai/
intégration avec Vertex.ai et d’autres services Google Facilite deploy dans le cloud google et l’intégration avec KubernetesGuillaume a écrit un article et développé une application pour visualiser les tokens générés par les large language models dérivés du modèle PaLM https://glaforge.dev/posts/2024/02/05/visualize-palm-based-llm-tokens/
OutillageStackoverflow voit son traffic diminuer doucement depuis quelques années, mais depuis l’avènement de ChatGPT et consort, la chute s’accélère https://twitter.com/swyx/status/1753122780709871834
mais apparemment, ce graphique ne serait pas correct selon StackOverflow, qui n’aurait perdu que 5% par rapport à l’année dernière https://stackoverflow.blog/2023/08/08/insights-into-stack-overflows-traffic/ StackOverflow ont changé l’utilisation de Google Analytics, ce qui expliquerait en grande partie la tendance de ce graphe qui porte à confusoinAmélie Benoit - Dependant Bot Visual way https://twitter.com/AmelieBenoit33/status/1754397434812203455
Un outil visuel pour dependant bot! tout est dans l’image!
Différences entre les bots Renovate et Dependabot https://docs.renovatebot.com/bot-comparison/
Tableau comparatif intéressant
MéthodologiesLe pouvoir des “conventional commits” par Julien Ponce https://julien.ponge.org/blog/the-power-of-conventional-commits/
Convention poussée par l’équipe Angular, à la base Pour standardiser et clarifier les messages de commits Mais aussi pratique pour les outils comme JReleaser pour automatiser les release notes d’un projet Loi, société et organisationGoogle vire encore des ingénieurs dans la division matérielle pixel, et dans les ingénieurs cœur https://www.nytimes.com/2024/01/11/technology/google-layoffs.html
Kevin Bourrillon connu pour Guava entre autre fait partie des virés https://x.com/kevinb9n/status/1745890746350321818?s=46&t=C18cckWlfukmsB_Fx0FfxQOkta vire 400 personnes dont Matt Raible https://techcrunch.com/2024/02/01/okta-layoffs-400-employees/?guccounter=1&guce_referrer=aHR0cHM6Ly9kdWNrZHVja2dvLmNvbS8&guce_referrer_sig=AQAAANLn7NCOa2yn44ysU3fSCDK5s1hgzVrIQzmKFzBjufCMzQhGfyc8mah4EhiPv1I0eoVrzVWbdKn0q6yOYR6-ctpZ42jc6ic-mz-Cdz8lWGVEDLIzEeqsCCE4PfxnhrsnChPT26DJxixmykS1YfPigsyf4vmqqpbMd5tme_GrMBjA
cela suit Microsoft (gaming), eBay, SAP, RIOT Games (League of Legend), Google, Amazon (prime, audible), Unity etc pleins d’autres. Tout ça juste en janvier.Facebook fête ses 20 ans https://www.francetvinfo.fr/internet/reseaux-sociaux/facebook/facebook-a-20-ans-de-sit[…]la-lente-mutation-du-doyen-des-reseaux-sociaux_6323610.html https://www.bbc.com/news/technology-68109208
Quoi à dire de plus que le temps passe vite … #old Rubrique débutantManuel de survie de la femme dans la tech https://www.duchess-france.fr/dossier/women%20in%20tech/alli%C3%A9s/2023/01/15/manuel-survie-femme-tech.html
Parfois vos programmes Java ont l’air bloqués. Vous pouvez effectuer un thread dump dans un autre terminal en récupérant le PID du process Java et en faisant un kill -3 PID https://www.digitalocean.com/community/tutorials/java-thread-dump-visualvm-jstack-kill-3-jcmd
ConférencesDans les coulisses du Call for Paper de Devoxx France 2024
La liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs :
8-9 février 2024 : Touraine Tech - Tours (France) 15-16 février 2024 : Scala.IO - Nantes (France) 6-7 mars 2024 : FlowCon 2024 - Paris (France) 14-15 mars 2024 : pgDayParis - Paris (France) 17-18 mars 2024 : Cloud Native Rejekts EU 2024 - Paris (France) 19 mars 2024 : AppDeveloperCon - Paris (France) 19 mars 2024 : ArgoCon - Paris (France) 19 mars 2024 : BackstageCon - Paris (France) 19 mars 2024 : Cilium + eBPF Day - Paris (France) 19 mars 2024 : Cloud Native AI Day Europe - Paris (France) 19 mars 2024 : Cloud Native StartupFest Europe - Paris (France) 19 mars 2024 : Cloud Native Wasm Day Europe - Paris (France) 19 mars 2024 : Data on Kubernetes Day - Paris (France) 19 mars 2024 : Istio Day Europe - Paris (France) 19 mars 2024 : Kubeflow Summit Europe - Paris (France) 19 mars 2024 : Kubernetes on Edge Day Europe - Paris (France) 19 mars 2024 : Multi-Tenancy Con - Paris (France) 19 mars 2024 : Observabiity Day Europe - Paris (France) 19 mars 2024 : OpenTofu Day Europe - Paris (France) 19 mars 2024 : Platform Engineering Day - Paris (France) 19 mars 2024 : ThanosCon Europe - Paris (France) 19 mars 2024 : Cloud Native Startup Fest Europe - Paris (France) 19 mars 2024 : PaaS Forward by OVHcloud | Rancher by SUSE - Paris (France) 19-21 mars 2024 : CloudNativeHacks - Paris (France) 19-21 mars 2024 : IT & Cybersecurity Meetings - Paris (France) 19-22 mars 2024 : KubeCon + CloudNativeCon Europe 2024 - Paris (France) 21 mars 2024 : IA & Data Day Strasbourg - Strasbourg (France) 22-23 mars 2024 : Agile Games France - Valence (France) 26-28 mars 2024 : Forum INCYBER Europe - Lille (France) 28-29 mars 2024 : SymfonyLive Paris 2024 - Paris (France) 28-30 mars 2024 : DrupalCamp Roazhon - Rennes (France) 4 avril 2024 : SoCraTes Rennes 2024 - Rennes (France) 4-6 avril 2024 : Toulouse Hacking Convention - Toulouse (France) 17-19 avril 2024 : Devoxx France - Paris (France) 18-20 avril 2024 : Devoxx Greece - Athens (Greece) 22 avril 2024 : React Connection 2024 - Paris (France) 23 avril 2024 : React Native Connection 2024 - Paris (France) 25-26 avril 2024 : MiXiT - Lyon (France) 25-26 avril 2024 : Android Makers - Paris (France) 3-4 mai 2024 : Faiseuses Du Web 3 - Dinan (France) 8-10 mai 2024 : Devoxx UK - London (UK) 16-17 mai 2024 : Newcrafts Paris - Paris (France) 22-25 mai 2024 : Viva Tech - Paris (France) 24 mai 2024 : AFUP Day Nancy - Nancy (France) 24 mai 2024 : AFUP Day Poitiers - Poitiers (France) 24 mai 2024 : AFUP Day Lille - Lille (France) 24 mai 2024 : AFUP Day Lyon - Lyon (France) 28-29 mai 2024 : Symfony Live Paris - Paris (France) 2 juin 2024 : PolyCloud - Montpellier (France) 6-7 juin 2024 : DevFest Lille - Lille (France) 6-7 juin 2024 : Alpes Craft - Grenoble (France) 7 juin 2024 : Fork it! Community - Rouen (France) 11-12 juin 2024 : OW2con - Paris (France) 12-14 juin 2024 : Rencontres R - Vannes (France) 13-14 juin 2024 : Agile Tour Toulouse - Toulouse (France) 14 juin 2024 : DevQuest - Niort (France) 19-20 juin 2024 : AI_dev: Open Source GenAI & ML Summit Europe - Paris (France) 27-28 juin 2024 : Agi Lille - Lille (France) 4-5 juillet 2024 : Sunny Tech - Montpellier (France) 8-10 juillet 2024 : Riviera DEV - Sophia Antipolis (France) 6 septembre 2024 : JUG Summer Camp - La Rochelle (France) 19-20 septembre 2024 : API Platform Conference - Lille (France) & Online 7-11 octobre 2024 : Devoxx Belgium - Antwerp (Belgium) 10 octobre 2024 : Cloud Nord - Lille (France) 10-11 octobre 2024 : Volcamp - Clermont-Ferrand (France) 10-11 octobre 2024 : Forum PHP - Marne-la-Vallée (France) 17-18 octobre 2024 : DevFest Nantes - Nantes (France) 6 novembre 2024 : Master Dev De France - Paris (France) Nous contacterPour 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/
Tue, 13 Feb 2024 - 1h 32min - 306 - LCC 305 - Dia critique
Cet épisode news discute de langages, de bibliothèques, d’intelligence artificielle bien sûr et même de Web. Et puis de challenge Java et même de Père Noël !
Enregistré le 12 janvier 2024
Téléchargement de l’épisode LesCastCodeurs-Episode-305.mp3
NewsRIP Niklaus Wirth https://en.wikipedia.org/wiki/Niklaus_Wirth
Informaticien Suisse Conception des langages ALGOL, Modula-2 et… Pascal Plusieurs distinctions: Turing 1984, John Von Neumann 1994. Depuis 1987 un prix créé à son honneur Plusieurs livres dont Algorithms + Data Structures = Programs 1976 La Loi de Wirth: La beauté d’un programme réside dans la clarté de sa structure. Niklaus Wirth a toujours prôné la simplicité, la lisibilité et la compréhensibilité. Approche pragmatiquehttps://recording.zencastr.com/lescastcodeurs/news-305
LangagesL’enfer sur terre: equals and hashCode pour les entitées JPA. Tout le monde a un avis, faire le sien est compliqué - https://vladmihalcea.com/hibernate-facts-equals-and-hashcode/ - https://vladmihalcea.com/how-to-implement-equals-and-hashcode-using-the-jpa-entity-identifier/ - https://vladmihalcea.com/the-best-way-to-implement-equals-hashcode-and-tostring-with-jpa-and-hibernate/ - https://jpa-buddy.com/blog/hopefully-the-final-article-about-equals-and-hashcode-for-jpa-entities-with-db-generated-ids/
Kotlin va t’il décliné en 2025, faute d’innovation et avec les nouvelles features de Java ? https://shiftmag.dev/kotlin-vs-java-2392/
Selon l’auteur, d’autres langages alternatifs pour la JVM ont décliné, comme Groovy et Scala L’auteur pense qu’il y aura de moins en moins de différenciants par rapport à Java, et Kotlin n’a pas rajouté de fonctionnalités significatives depuis un an ou deuxComment enlever des accents et autres marques diacritiques dans des chaines de caractères en Java https://glaforge.dev/posts/2024/01/url-slug-or-how-to-remove-accents-in-java/
Pour les URLs d’un blog post, par exemple, on souhaite avoir le titre dans l’URL, mais de manière URL-friendly, donc sans accents, en remplaçant les espaces par des tirets, etc Guillaume propose une approche basée sur la normalisation de chaine unicode et les expressions régulières Mais il évoque également la librairie Slugify qui est en plus capable de faire de la translitération (pour transformer aussi des idéogrammes et autre caractères non-ASCII)Les “gatherers” de JDK 22 https://blog.soebes.io/posts/2024/01/2024-01-07-jdk-gatherer/
Nous avons mentionné récemment le JEP 461 pour Java 22 : Stream Gatherers, qui sera en preview Permet de faire des choses qui étaient un peu compliquées à faire avec l’API stream avant, comme par exemple implémenter des fenêtres glissantes sur les données du stream L’article parle des différentes capacités des gatherers, avec un Integrator, un Initializer et un Finisher, et enfin un Combiner, avec différents exemples de code pour les illustrer LibrairiesLe fonds tech souverain d’origine allemande sponsorise le développement de Log4J https://www.sovereigntechfund.de/news/log4j-investment
3 contributeurs pourront bosser dessus à temps plein permet de sécuriser le développement du projet réaction à l’impact de la CVE Log4shell qui avait bien marqué les esprits et fait bosser plein de gens le weekend pour tout patcher ! CloudLe glossaire de la Cloud Native Foundation a été traduit en Français https://glossary.cncf.io/fr/
WebSortie de Vue.JS 3.4 https://blog.vuejs.org/posts/vue-3-4
le parseur de composants (SFC) est 2x plus rapide amélioration du système de réactivité en particulier pour les propriétés “computed” (recalculées) le namespace JSX deprecated a été supprimé Cédric Exbrayat de NinjaSquad couvre également les nouveautés dans cet article https://blog.ninja-squad.com/2023/12/29/what-is-new-vue-3.4/Astro JS 4.1 https://astro.build/blog/astro-410/
Découverte de ce FW grâce à Petipois https://medium.com/front-end-weekly/create-a-website-using-astro-in-2024-f5963003c19c Astro est le framework web pour la construction de sites web axés sur le contenu tels que les blogs, le marketing et le commerce électronique. Astro est surtout connu pour être le pionnier d’une nouvelle architecture frontend afin de réduire la surcharge et la complexité de JavaScript par rapport aux autres frameworks Architecture en “Astrot Islands” (interface en composants isolés) SSG et SSR (Static Site Generator ey Server Side Rendering) 0 Javascript si tu veux Tu utilises React, Angular ou Vue pour tes composants Lis plus ici : https://kinsta.com/fr/blog/astro-js/React à 10 ans… et là ma découverte de React Server Components https://www.joshwcomeau.com/react/server-components/#introduction-to-react-server-components-3
“At a high level, React Server Components is the name for a brand-new paradigm. In this new world, we can create components that run exclusively on the server.” L’idée est de n’est pas faire des composants entiers en react dans le backend, et de n’est pas déléguer aux rendering client pour ces composantsPrédictions 2024 https://thenewstack.io/2024-predictions-by-javascript-frontend-framework-maintainers/
Angular: Optional Zone.JS Next.js (nouveau compilateur, + backend ?) React: adoption de React Server Components, SPA ne suffit pas. React auto-memorizing (useCallback/useMemo deprecate) Solid 2.0 viendra après SolidStart (framework web) Data et Intelligence ArtificielleRetour d’experience sur faire du RAG avec des LLMs https://x.com/taranjeetio/status/1742587923189596531?s=20
Gunnar Morling a lancé le 1 billion row challenge : https://www.morling.dev/blog/one-billion-row-challenge/
L’idée est de calculer le min / max, la moyenne, de températures, indiquées ligne par ligne dans un énorme fichier Il y a énormément de contributions. Les plus rapides ont utilisé des memory mapped files, ou bien des instructions SIMD Le challenge était en pur Java, mais d’autres personnes ont tenté l’expérience avec diverses bases de données ou autres langages de programmationDidier Girard parle de Shadow AI https://www.linkedin.com/posts/didiergirard_shadowai-genai-gouvernance-activity-7150031627006464000-IF1G/
Comme on a parlé de “shadow IT” à une époque, la nouvelle ombre du jour, c’est l’intelligence artificielle Pour être plus productifs, les employés utilisent l’IA, sans forcément le dire à leur employeur Le problème étant qu’avec certains système d’IA, les données que vous envoyées peuvent être sauvegardées et utilisées pour ré-entrainer l’IA… et potentiellement, l’IA pourrait recracher verbatim du texte provenant de ces données à d’autres utilisateurs. D’où une brèche dans la sécurité des données de l’entrepriseAppel de fonction avec le LLM Gemini de Google https://glaforge.dev/posts/2023/12/22/gemini-function-calling/
Les Large Language Model sont limités par les connaissances qu’ils ont acquises lors de leur entrainement Une approche possible pour se baser sur une base documentaire est d’utiliser l’approche Retrieval Augmented Generation (RAG) où l’on utilise une base de données vectorielle pour récupérer des passages de texte qui correspondent à la requête demandée Mais il existe aussi une approche intéressante qui permet d’appeler des systèmes externes (APIs, service local, etc) en permettant au LLM de savoir qu’il peut répondre à une demande donnée en se basant sur l’appel d’une fonction. Dans cette approche, le LLM répond qu’il faudrait appeler une fonction (par exemple pour connaitre la météo à Paris) et il indique quels paramètres passer (“Paris”). Le développeur ensuite appel cette fonction et retourne le résultat de l’invocation au LLM, qui va ensuite pouvoir générer du texte avec ces données. C’est l’approche “function calling” qui permet d’étendre à un LLM pour lui donner accès à des données live, derrière une API, etc MéthodologiesUne video sur le père Noël et la pensé critique de la Tronce en Biais https://youtu.be/tqlYKO_asFw?si=g1Fq5OfCvQONNb2i
Vidéo interessante pour comprendre comment nous, dans la tech, on peut tomber facilement sur des croyances qui sont doutantes si on développe pas l’esprit critique. Le père Noël, véritable complot planétaire des adultes, magasins, médias … d’un mensonge Un enfant qui essaie d’appliquer le procédé épistémologique, il n’a pas d’autre source pour vérifier que le père noël n’existe pas, tous ses sources fiables duquel il apprend le monde (parents, profs, medias, histoires, medias) valident que le père noël existe. Expliquer les incoherences par la magie, c’est quelque chose de complément banal dans l’univers d’un enfant à qui on parle en permanence de magie La découverte de la mensonge aux alentours de 7 ans, l’age de la raison, est une bonne opportunité pour aborder l’esprit critique avec les enfants Loi, société et organisationEU AI Act cheat sheet https://www.linkedin.com/posts/yann-lecun_eu-ai-act-cheat-sheet-understand-activity-7139980837013331971-TDqI?utm_source=share&utm_medium=member_ios
Les entreprises vont avoir 1 ou 2 ans pour s’y conformer Basics: Definition de l’AI, extraterritorialité, exceptions (oss, r&D, mais aussi défense …), classification par niveaux de risks (Prohibited > High Risk > Limited Risk > Minimal Risk) Prohibited: Biometrique, social credit scoring, detection d’emotions, renforcement des lois basées sur l’identification biometrique en public High (des régles sont définies pour controler ces usages: transparence, qualité, risque …): Le matériel médical, les véhicules, l’éducation, les élections, … General: Transparence et informationChatGPT n’est pas un super médecin https://x.com/drhughharvey/status/1736308984288563550?s=46&t=C18cckWlfukmsB_Fx0FfxQ
ces d’utilisation ChatGPT en copilote Trop de non déterminisme dans les réponses à la même question 41% des réponses dans le consensus médical 7% dangereuse Faire du rag n’a monté que de quelques pourcents 5Transcription de la conférence donnée PGConf EU par Laetitia Avrot et Karen Jex (expertes Postgresql): Trying to be Barbie in Ken’s Mojo Dojo Casa House https://karenjex.blogspot.com/2023/12/trying-to-be-barbie-in-kens-mojo-dojo.html
Il s’agit d’une conférence en sociologie. En sociologie, il suffit que quelque chose soit vrai pour la majorité des cas pour être considéré comme une vérité, car cela repose sur des statistiques. Sujet donné pour susciter de l’attention sur un problème qui existe bien dans la tech. Elles ont réalisé que la grande majorité de la population n’en était pas consciente (barbie)! Le film Barbie les a fait comprendre qu’elles doivent expliquer ce à quoi les femmes sont confrontées au quotidien, afin que les autres puissent comprendre à quel point cela peut être épuisant. Très bien documenté avec bcp de liens et références au delà de l’expérience personnelle Transcription et slides dans l’article Lien entre film Barbie et la place des femmes dans la tech. Idées non neuves mais cela a été un impact Les biais en général ne sont pas particuliers à un genre, sont globales. Test sur les biais implicites Il existe un déficit de talents technologiques (estimé atteindre de 1,4 million à 3,9 millions de personnes d’ici 2027 dans les pays de l’UE-27), qui pourrait potentiellement être comblé en doublant la proportion de femmes dans le secteur technologique. Cependant, la part des femmes dans les rôles technologiques connaît sa plus basse représentation dans les domaines en pleine croissance tels que DevOps et le cloud. plus de la moitié des femmes quittent l’industrie technologique 10 à 20 ans après le début de leur carrière, soit le double du taux des hommes. (manque d’opportunités, difficultés face aux biais, se sentir comme une outsider etc…) La part des femmes dans les rôles technologiques en Europe risque de diminuer pour atteindre 21% d’ici 2027. Solutions: roles modèles, combattre nos biais (si on ne les reconnait pas, on ne peut pas le combattre), mentoring, faire attention à donner de la voix etc…New York Times porte plainte à open ai https://www.bbc.com/news/technology-67826601
réclame des billions en copy right, suit aussi Microsoft et Bing qui utilise open ai on peut trouver des extraits des articles avec suscription disponibles Si on demande à chat gpt sur des news actuelles, reprend des explications tirés du NYT sans le mentionner Sur bing on peut trouver aussi des extraits sans citer ni linker la source Conséquences pour NYT: moins d’accès à leur site, moins de consultations, moins des clicks, chute des suscriptions, pertes monétaires importantes Réponse de OpenAI au NYT https://openai.com/blog/openai-and-journalism We collaborate with news organizations and are creating new opportunities Training is fair use, but we provide an opt-out because it’s the right thing to do “Regurgitation” is a rare bug that we are working to drive to zero The New York Times is not telling the full story Outils de l’épisodeUserscripts https://github.com/quoid/userscripts: extension pour changer le CSS et JS des sites dans votre navigateur
Rubrique débutantGuillaume a publié 2 “codelabs” pour démarrer sur LangChain4J, en utilisant le LLM PaLM de Google https://glaforge.dev/posts/2023/12/18/get-hands-on-codelabs-to-dabble-with-llms/
Ces 2 tutoriels pratiques permettent de découvrir les deux modèles text et chat de PaLM Différentes tâches sont illustrées pour faire de simples questions/réponses, de simples chat, mais aussi comment extraire des données structurées d’un texte, comment faire de la classification (avec un exemple d’analyse de sentiment)Google Summer of Code - appel aux projets https://summerofcode.withgoogle.com/
ConférencesLa liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs :
31 janvier 2024-3 février 2024 : SnowCamp - Grenoble (France) 1 février 2024 : AgiLeMans - Le Mans (France) 6 février 2024 : DevFest Paris - Paris (France) 8-9 février 2024 : Touraine Tech - Tours (France) 15-16 février 2024 : Scala.IO - Nantes (France) 6-7 mars 2024 : FlowCon 2024 - Paris (France) 14-15 mars 2024 : pgDayParis - Paris (France) 19 mars 2024 : AppDeveloperCon - Paris (France) 19 mars 2024 : ArgoCon - Paris (France) 19 mars 2024 : BackstageCon - Paris (France) 19 mars 2024 : Cilium + eBPF Day - Paris (France) 19 mars 2024 : Cloud Native AI Day Europe - Paris (France) 19 mars 2024 : Cloud Native Wasm Day Europe - Paris (France) 19 mars 2024 : Data on Kubernetes Day - Paris (France) 19 mars 2024 : Istio Day Europe - Paris (France) 19 mars 2024 : Kubeflow Summit Europe - Paris (France) 19 mars 2024 : Kubernetes on Edge Day Europe - Paris (France) 19 mars 2024 : Multi-Tenancy Con - Paris (France) 19 mars 2024 : Observabiity Day Europe - Paris (France) 19 mars 2024 : OpenTofu Day Europe - Paris (France) 19 mars 2024 : Platform Engineering Day - Paris (France) 19 mars 2024 : ThanosCon Europe - Paris (France) 19-21 mars 2024 : IT & Cybersecurity Meetings - Paris (France) 19-22 mars 2024 : KubeCon + CloudNativeCon Europe 2024 - Paris (France) 21 mars 2024 : IA & Data Day Strasbourg - Strasbourg (France) 22-23 mars 2024 : Agile Games France - Valence (France) 26-28 mars 2024 : Forum INCYBER Europe - Lille (France) 28-29 mars 2024 : SymfonyLive Paris 2024 - Paris (France) 28-30 mars 2024 : DrupalCamp Roazhon - Rennes (France) 4-6 avril 2024 : Toulouse Hacking Convention - Toulouse (France) 17-19 avril 2024 : Devoxx France - Paris (France) 18-20 avril 2024 : Devoxx Greece - Athens (Greece) 22 avril 2024 : React Connection 2024 - Paris (France) 23 avril 2024 : React Native Connection 2024 - Paris (France) 25-26 avril 2024 : MiXiT - Lyon (France) 25-26 avril 2024 : Android Makers - Paris (France) 8-10 mai 2024 : Devoxx UK - London (UK) 16-17 mai 2024 : Newcrafts Paris - Paris (France) 22-25 mai 2024 : Viva Tech - Paris (France) 24 mai 2024 : AFUP Day Nancy - Nancy (France) 24 mai 2024 : AFUP Day Poitiers - Poitiers (France) 24 mai 2024 : AFUP Day Lille - Lille (France) 24 mai 2024 : AFUP Day Lyon - Lyon (France) 2 juin 2024 : PolyCloud - Montpellier (France) 6-7 juin 2024 : DevFest Lille - Lille (France) 6-7 juin 2024 : Alpes Craft - Grenoble (France) 11-12 juin 2024 : OW2con - Paris (France) 12-14 juin 2024 : Rencontres R - Vannes (France) 14 juin 2024 : DevQuest - Niort (France) 27-28 juin 2024 : Agi Lille - Lille (France) 4-5 juillet 2024 : Sunny Tech - Montpellier (France) 19-20 septembre 2024 : API Platform Conference - Lille (France) & Online 7-11 octobre 2024 : Devoxx Belgium - Antwerp (Belgium) 10-11 octobre 2024 : Volcamp - Clermont-Ferrand (France) 10-11 octobre 2024 : Forum PHP - Marne-la-Vallée (France) 17-18 octobre 2024 : DevFest Nantes - Nantes (France) 6 novembre 2024 : Master Dev De France - Paris (France) Nous contacterPour 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/
Mon, 15 Jan 2024 - 1h 27min - 305 - LCC 304 - Dark punk
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
NewsAide Les Cast Codeurs et remplis un petit formulaire pour nous guider l’année prochaine https://lescastcodeurs.com/sondage
LangagesAvec 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 glissantesJoe 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) LibrairiesUne 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 bisounoursMarc 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 alpha1Hibernate 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 JFRInté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.
https://hibernate.org/search/releases/7.1/ https://infinispan.org/blog/2023/12/13/infinispan-vector-search Hibernate Search permet maintenant la recherche vectorielle La dernière version est intégrée en Infinispan 15 (dev) qui sortira La recherche vectoriolle et stockage de vecteurs, permettent convertir Infinispan en Embedding Store (langchain) CloudComment 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 WebVers 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 ArtificielleGoogle annonce Gemini, son nouveau Large Language Model https://blog.google/technology/ai/google-gemini-ai/#sundar-note
modèle multimodal qui peut prendre du texte, en entrée, mais aussi des images, du son, des vidéos d’après les benchmarks, il est largement aussi bon que GPT4 plusieurs tailles de modèles disponible : Nano pour être intégré aux mobiles, Pro qui va être utilisé dans la majeure partie des cas, et Ultra pour les besoins de réflexion les plus avancés Android va rajouter aussi des librairies AICore pour utiliser Gemini Nano dans les téléphones Pixel https://android-developers.googleblog.com/2023/12/a-new-foundation-for-ai-on-android.html Gemini Pro va être disponible dans Bard (en anglais et dans 170 pays, mais l’Europe va devoir attendre un petit peu pour que ce soit dispo) Gemini Ultra devrait aussi rejoindre Bard, dans une version étendue https://blog.google/products/bard/google-bard-try-gemini-ai/ Gemini va être intégré progressivement dans plein de produits Google DeepMind parlant de Gemini https://deepmind.google/technologies/gemini/#introduction Un rapport de 60 pages sur Gemini https://storage.googleapis.com/deepmind-media/gemini/gemini_1_report.pdf Gemini a permis aussi de pouvoir développer une nouvelle version du modèle AlphaCode qui excelle dans les compétitions de coding https://storage.googleapis.com/deepmind-media/AlphaCode2/AlphaCode2_Tech_Report.pdf Liste de petites vidéos sur YouTube avec des interviews et démonstrations des capacités de Gemini https://www.youtube.com/playlist?list=PL590L5WQmH8cSyqzo1PwQVUrZYgLcGZcG malheureusement certaines des annonces sont un peu fausse ce qui a amené un discrédit (non du) sur Gemini par exemple la video “aspirationelle” était vendue comme du réel mais ce n’est pas le cas. et ultra n’est pas disponible encore ausso la comparaison de ChatGPT sur la page (initialement au moins) comparait des choux et des carottes, meme si le papier de recherche était correctAvec 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 GeminiFacebook, 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 macsFaire 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 OutillageSfeir 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 assembleurLes calendriers de l’Avent sont populaires pour les développeurs ! En particulier avec Advent of Code https://adventofcode.com/
Mais il y a aussi l’Advent of Java https://www.javaadvent.com/ Ou un calendrier pour apprendre les bases de SVG https://svg-tutorial.com/ Le calendrier HTML “hell” https://www.htmhell.dev/adventcalendar/ qui parle d’accessibilité, de web components, de balises meta, de toutes les choses qu’on peut très bien faire en HTML/CSS sans avoir besoin de JavaScript Pour les développeurs TypeScript, il y a aussi un calendrier de l’Avent pour vous ! https://typehero.dev/aot-2023Un 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 lireUne 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/
Annonce par AtomicJar https://www.atomicjar.com/2023/12/atomicjar-is-now-part-of-docker/ Annonce par Docker https://www.docker.com/blog/docker-whale-comes-atomicjar-maker-of-testcontainers/ ArchitectureComment implémenter la reconnaissance de chanson, comme Shazam https://www.cameronmacleod.com/blog/how-does-shazam-work
il faut d’abord passer en mode fréquence avec des transformées de Fourrier pour obtenir des spectrogrammes puis créer une sorte d’empreinte qui rassemble des pics de fréquences notables à divers endroits de la chanson d’associer ces pics pour retrouver un enchainement de tels pics de fréquence dans le temps l’auteur a partagé son implémentation sur Github https://github.com/notexactlyawe/abracadabra/blob/e0eb59a944d7c9999ff8a4bc53f5cfdeb07b39aa/abracadabra/recognise.py#L80 Il y avait également une très bonne présentation sur ce thème par Moustapha Agack à DevFest Toulouse https://www.youtube.com/watch?v=2i4nstFJRXU les pics associés sont des hash qui peut etre comparés et le plus de hash veut dire que les chansons sont plus similaires MéthodologiesUn 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 LLMVous 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 specifiquementComment 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 gensPourquoi 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érencesL’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 desengagentLa liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs :
31 janvier 2024-3 février 2024 : SnowCamp - Grenoble (France) 1 février 2024 : AgiLeMans - Le Mans (France) 6 février 2024 : DevFest Paris - Paris (France) 8-9 février 2024 : Touraine Tech - Tours (France) 15-16 février 2024 : Scala.IO - Nantes (France) 6-7 mars 2024 : FlowCon 2024 - Paris (France) 14-15 mars 2024 : pgDayParis - Paris (France) 19 mars 2024 : AppDeveloperCon - Paris (France) 19 mars 2024 : ArgoCon - Paris (France) 19 mars 2024 : BackstageCon - Paris (France) 19 mars 2024 : Cilium + eBPF Day - Paris (France) 19 mars 2024 : Cloud Native AI Day Europe - Paris (France) 19 mars 2024 : Cloud Native Wasm Day Europe - Paris (France) 19 mars 2024 : Data on Kubernetes Day - Paris (France) 19 mars 2024 : Istio Day Europe - Paris (France) 19 mars 2024 : Kubeflow Summit Europe - Paris (France) 19 mars 2024 : Kubernetes on Edge Day Europe - Paris (France) 19 mars 2024 : Multi-Tenancy Con - Paris (France) 19 mars 2024 : Observabiity Day Europe - Paris (France) 19 mars 2024 : OpenTofu Day Europe - Paris (France) 19 mars 2024 : Platform Engineering Day - Paris (France) 19 mars 2024 : ThanosCon Europe - Paris (France) 19-21 mars 2024 : IT & Cybersecurity Meetings - Paris (France) 19-22 mars 2024 : KubeCon + CloudNativeCon Europe 2024 - Paris (France) 26-28 mars 2024 : Forum INCYBER Europe - Lille (France) 28-29 mars 2024 : SymfonyLive Paris 2024 - Paris (France) 4-6 avril 2024 : Toulouse Hacking Convention - Toulouse (France) 17-19 avril 2024 : Devoxx France - Paris (France) 18-20 avril 2024 : Devoxx Greece - Athens (Greece) 25-26 avril 2024 : MiXiT - Lyon (France) 25-26 avril 2024 : Android Makers - Paris (France) 8-10 mai 2024 : Devoxx UK - London (UK) 16-17 mai 2024 : Newcrafts Paris - Paris (France) 24 mai 2024 : AFUP Day Nancy - Nancy (France) 24 mai 2024 : AFUP Day Poitiers - Poitiers (France) 24 mai 2024 : AFUP Day Lille - Lille (France) 24 mai 2024 : AFUP Day Lyon - Lyon (France) 2 juin 2024 : PolyCloud - Montpellier (France) 6-7 juin 2024 : DevFest Lille - Lille (France) 6-7 juin 2024 : Alpes Craft - Grenoble (France) 27-28 juin 2024 : Agi Lille - Lille (France) 4-5 juillet 2024 : Sunny Tech - Montpellier (France) 19-20 septembre 2024 : API Platform Conference - Lille (France) & Online 7-11 octobre 2024 : Devoxx Belgium - Antwerp (Belgium) 10-11 octobre 2024 : Volcamp - Clermont-Ferrand (France) 10-11 octobre 2024 : Forum PHP - Marne-la-Vallée (France) 17-18 octobre 2024 : DevFest Nantes - Nantes (France) Nous contacterPour 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/
Mon, 18 Dec 2023 - 1h 39min - 304 - LCC 303 - Interview sur Vert.x 4.5 avec Julien Viet
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.5Vert.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 contacterPour 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/
Mon, 04 Dec 2023 - 47min - 303 - LCC 302 - Amour, Gloire et OpenAI
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 LangagesRecap 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 à jourDouglas 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 actorsWasmGC 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. LibrairiesSpring 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 kotlinIntegration declarative de Langchain4j dans Quarkus https://quarkus.io/blog/quarkus-meets-langchain4j/
InfrastructureOxide 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ésavantageLes 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 uniqueKarpenter 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 WebDeno! 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 etcLancement du nouveau site angular.dev et de la version v17 du framework https://blog.angular.io/announcing-angular-dev-1e1205fa3039
nouvelle doc, nouveaux tutoriels, et bac à sable un nouveau logo aussi mais cette version v17 est la continuation d’Angular, pas une toute nouvelle version qui casse tout le nouveau “control flow” devient GA, et propose des conditionals (if, else…) https://blog.angular.io/meet-angulars-new-control-flow-a02c6eee7843 le blog d’Angular mentionne les nouveautés, au-delà du revamp de la documentation https://blog.angular.io/introducing-angular-v17-4d7033312e4b Cédric Exbrayat mets les mains dans le cambouis et couvre les nouveautés techniques dans le blog des Ninja Squad https://blog.ninja-squad.com/ Et les nouveautés aussi du côté de la CLI https://blog.ninja-squad.com/2023/11/09/angular-cli-17.0/ beaucoup de focus sur l’apprentissage et la manipulation concrete avec le bac a sable et les tutoriaux le site lui meme est maintenant open source (il ne l’était pas avant?) le logo est nouveau et adaptable par les communautés OutillageIl 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/osslsigncodeLors 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 CopilotUn 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 ArchitectureArticle 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 / IAElon 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 TwitterOpenAI 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 organisationLes 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 sortirLes 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
ça a surpris le monde la silicone valley dans lequel Altman est adulé. N ancien cofondateur a aussi été écarté à un poste périphérique mais a décidé de quitter le navire. C’est du à des tensions dans la boîte entre la partie lucrative et non lucrative d’OpenAI. Le conseil travail pour une AI sûre et pour le bien de l’humanité Sam Altman avait fait prendre le virage for du business depuis quelques années Il n’a selon le communiqué pas été franc et transparent avec son conseil de surveillance. Microsoft qui a misé sur ce cheval (OpenAI) n’était pas au courant, ni la plupart des employés d’OpenAI Quelques employés de OpenAI ont déjà démissionné la reduction des recherches fondamentales vs la productization a joué un role surement Et il n’est pas le seul à partir https://x.com/hellokillian/status/1725797467315486902?s=46&t=GLj1NFxZoCFCjw2oYpiJpw Encore mieux que Dallas le board négocie son retour au bout de 24h https://www.theverge.com/2023/11/18/23967199/breaking-openai-board-in-discussions-with-sam-altman-to-return-as-ceo Et le board saute: https://twitter.com/rowancheung/status/1726342477874102604?s=21&t=O1MqQ7XEw5hIAezn-npoQA Finalement, Satya Nadella annonce que Sam Altman et Greg Brockman rejoignent Microsoft dans une nouvelle équipe de recherche IA https://twitter.com/satyanadella/status/1726509045803336122 et finalement avec un nouveau board, Sam Altman retourne chez open AI https://x.com/sama/status/1727207458324848883?s=20Les 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érencesRetrouvez les conférences sur le site Developers Conferences Agenda/List par Aurélie Vache.
Nous contacterPour 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/
Mon, 27 Nov 2023 - 1h 34min - 302 - LCC 301 - Minoritaire ou majoritaire, là est la question!
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 LangagesGé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 rappelTous 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’articleJBang 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) LibrairiesQuarkus 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 InfrastructureOpenTF devient OpenTofu https://www.linuxfoundation.org/press/announcing-opentofu
Dans les Dockerfiles, on peut utiliser la notation “heredocs”
Mon, 23 Oct 2023 - 1h 45min - 301 - LCC 300 - Interview de Jean-Michel Doudoux sur Java 21 par Charles Sabourdin
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 21The art of long-term support and what LTS means for the Java ecosystem
JDK 21 444: Virtual Threads 453: Structured Concurrency (Preview) 446: Scoped Values (Preview) 440: Record Patterns 441: Pattern Matching for switch 430: String Templates (Preview) 443: Unnamed Patterns and Variables (Preview) 445: Unnamed Classes and Instance Main Methods (Preview) 431: Sequenced Collections 439: Generational ZGC 451: Prepare to Disallow the Dynamic Loading of Agents 452: Key Encapsulation Mechanism API 442: Foreign Function & Memory API (Third Preview) 448: Vector API (Sixth Incubator) 449: Deprecate the Windows 32-bit x86 Port for Removal À propos de Jean-Michel Doudoux Développons en Java https://www.jmdoudoux.fr http://blog.sciam.fr/. À propos de ParisJug https://www.parisjug.org/ https://www.jchateau.org/ https://javaday.parisjug.org/ Nous contacterPour 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/
Mon, 18 Sep 2023 - 1h 26min - 300 - LCC 299 - Katia est dans la place !
Dans cet épisode de rentrée, Antonio et Arnaud ont le plaisir d’accueillir Katia Aresti dans l’équipe. Ils passent en revue les dernières nouveautés et sujets chauds de cette rentrée, notamment la sortie de Java 21, les nouvelles versions de Quarkus, Micronaut, Hibernate, NodeJS, Redis, et bien d’autres encore. Ils discutent de sujets plus généraux tels que l’observabilité, la nouvelle tendance “Platform Engineering”, et la productivité des développeurs. Ils abordent aussi les sujets sur la sécurité, tels que les failles sur les CPUs Intel et AMD, ainsi que la vie privée, avec les Tracking APIs de Chrome, Firefox et le projet de loi SREN. Le tout est agrémenté de sa dose d’IA, avec des librairies telles que Semantic Kernel, ainsi que des sujets plus haut niveau tels que Google Gemini, Meta GPT, LLama 2, et les biais et la consommation énergétique de l’IA.
Enregistré le 8 septembre 2023
Téléchargement de l’épisode LesCastCodeurs-Episode–299.mp3
News LangagesApache Groovy a 20 ans! https://twitter.com/ApacheGroovy/status/1695388098950217909
L’annonce du lancement du projet par James Strachan https://web.archive.org/web/20030901064404/http://radio.weblogs.com/0112098/2003/08/29.html Le projet a depuis énormément évolué et après plusieurs vies a été adopté par la fondation Apache en 2015Java 21 arrive le 19 septembre https://www.infoworld.com/article/3689880/jdk–21-the-new-features-in-java–21.html.
C’est la nouvelle LTS Pas mal de nouvelles fonctionnalités comme les virtual threads, le pattern matching sur les switch, sequenced collections … Retrouvez le 19 septembre une interview de Jean-Michel Doudoux par Charles Sabourdin pour l’épisode 300 des castcodeurs! LibrairiesSemantic Kernel pour Java est (en train de) sorti: https://devblogs.microsoft.com/semantic-kernel/introducing-semantic-kernel-for-java/
Framework OSS pour faire de l’IA .Net et Python Java 0.2.7 Alpha est publié Kernel car il est tout petit Se connecte à plusieurs fournisseurs (aujourd’hui OpenAI, Azure AI, Hugging Face), plusieurs DB vectorielles, plusieurs template de prompt (suit la specification de OpenAI)OpenSSL qui committe https://www.openssl.org/blog/blog/2023/07/17/who-writes-openssl/
en majorité des OSS payés puis des gens payés par leur boite et enfi des contributeurs non payés c’est ne passant rapide mais ca montre que depuis heartbleed, ca a changéMicronaut 4.1.0 https://micronaut.io/2023/09/01/micronaut-framework–4–1–0-released/
Bean Mappers pour créer automatiquement une correspondance entre un type et un autre un Introspection Builder l’annotation @Introspected pour générer un builder dynamique si un type ne peut être construit que via un modèle builder améliorations pour les développeurs utilisant Kotlin Symbol Processing (KSP)Quarkus 3.3.1 / 3.3.2
https://quarkus.io/blog/quarkus–3–3–1-released/
https://quarkus.io/blog/quarkus–3–3–2-released/
Pas mal de fixes https://github.com/quarkusio/quarkus/releases/tag/3.3.1 https://github.com/quarkusio/quarkus/releases/tag/3.3.2 Il est important de noter qu’un problème de dégradation des performances et de la mémoire a été introduit dans Quarkus 3.3. Ce problème est corrigé dans Quarkus 3.3.2.Hibernate ORM 6.3.0 et 6.2.8 https://hibernate.org/orm/ et Hibernate Reactive 2.0.5
un support initial de la spécification Jakarta Persistence 3.2 Un nouveau guide d’introduction Hibernate 6, un nouveau guide de syntaxe et de fonctionnalités pour le langage de requête Hibernate (Hibernate Query Language) Annotation @Find sur des méthodes -> créer des méthodes de recherche similaires aux méthodes de requête Reactive compatible avec Hibernate ORM 6.2.8.Final, certains changements d’api InfrastructureUne série d’articles sur l’observabilité par Mathieu Corbin
Observability: tout ce que vous avez toujours voulu savoir sur les métriques: https://www.mcorbin.fr/posts/2023–07–04-metriques/
Tracing avec Opentelemetry: pourquoi c’est le futur (et pourquoi ça remplacera les logs): https://www.mcorbin.fr/posts/2023–08–20-traces/
L’auteur reprend les bases sur l’observabilité.
Qu’est ce qu’une métrique ? Les labels, les cardinalités
Les types de métriques (Compteurs, jauges, quantiles et histogrammes)
C’est quoi le tracing ?
Traces, Spans, Resources, Scopes qu’est ce que c’est?
Les Events pour remplacer les logs?
WebNodeJS 20.6.0 est disponible et ajoute le support des fichiers .env https://philna.sh/blog/2023/09/05/nodejs-supports-dotenv/
Configurable avec l’option --env-file Le fichier .env peut contenir des variables d’environnement et commentaires # Attention par contre: pas de lignes multiples ni d’extension de variables Vous pouvez par exemple configurer NODE_OPTIONS avec ce système DataRedis 7.2 est sorti ! https://redis.com/blog/introducing-redis–7–2/
Auto-tiering : cette nouvelle fonctionnalité permet de stocker les données sur des supports de stockage différents, en fonction de leur importance et de leur fréquence d’accès. Cela permet d’améliorer les performances et la scalabilité de Redis. RESP3 : cette nouvelle version du protocole RESP permet une communication plus efficace entre Redis et les clients. Improvements to performance : de nombreuses améliorations de performances ont été apportées à Redis 7.2, notamment pour les opérations de lecture et d’écriture. New commands : plusieurs nouvelles commandes ont été ajoutées à Redis 7.2, notamment : CLIENT NO-TOUCH : cette commande permet d’empêcher un client d’être touché par une opération AOF ou RDB. WAITAOF : cette commande permet d’attendre que l’AOF soit écrite avant de poursuivre l’exécution.Dans le podcast sont cités les hot replacement des Redis, comme https://www.dragonflydb.io/
ArchitectureArticle sur Google Gemini et sa capacité a battre ChatGPT https://www.semianalysis.com/p/google-gemini-eats-the-world-gemini
Google a raté les premiers pas (ils avient le meilleur LLM public avant ChatGPT 3) ET les chercheurs qui invente le champs des LLMs Google va 5x ChatGPT–4 avant al fin de l’année, mais vont-il les publier les chercheurs se tirent la bourre sur le nombre de GPU (H100) auxquels ils ont accès ; ce sont lers grosses orga comme Meta OpenAI Google et les autres qui lutent avec des GPU qui n’ont pas assez de VRAM et ce qu’ils vont faire c’est de la merde et sans consequence le peuple utilise le modele dense de LLAMA mais pour les environnements contraints ca serait mieux des sparse models et du speculative decoding. ils devraient se concentre sur la performance de modele qui utilise plus de compute et memoire en evitant de consommer de la bande passante de memoire, c’est ce que l’edge a besoin les benchmarks public ne mesurent pas des choses utiles meme hugging faces est dans la category des pauvres de GPU Nvidia est entrain de se construire une machine de guerre (service) la chine et les us vont etre en competition mais l’europe qui fait du GPU pauvre ne va pas s’en sortir les startups ne peuvent pas payer les GPU en actiosn, il faut du cash Tout le monde rempli les poches de NVidia, sand Google Gogole grossi exponentiellement ses propres GPUsMeta GPT https://www.infoq.com/news/2023/08/metagpt-agent-collaboration/
IA: les biais et énergie qui consomme par Leslie Miley tech advisor du CTO de Microsoft https://www.infoq.com/presentations/ai-bias-sustainability
nouvels infranstructures consommation énergétique et d’eau des data center pour IA est terriblement coûteuse l’impact des infrastructures sur les comunautés (bruit) explique bien son point de vu sur les problèmes d’amplification des biais du IA propose des stratégies pour mitiger l’impact negatifKubeflow toolkit pour deployer machine learning (ML) workflow en Kubernetes est accepté par la CNCF (Cloud Native Computing Foundation) https://www.infoq.com/news/2023/08/kubeflow-cncf-project
MéthodologiesMeasuring developer productivity? A response to McKinsey by Kent Beck and Gergely Orosz (pragmaticengineer.com) https://tidyfirst.substack.com/p/measuring-developer-productivity
McKinsey a sorti un article où ils expliquent la recette miracle recherchée par tous les managers comme le graal: Comment mesurer la productivité des développeurs? (faut bien vendre du conseil) Kent et Gergely partent d’un model mental de description de la création de valeur par le développeur pour ensuite voir quels sont les besoins de mesurer la productivité et comparent cela avec d’autres secteurs (la vente, le support, le recrutement). Ils concluent cette première partie avec les compromis à faire pour que ce type de mesures ait un intérêt sans impacter trop négativement les développeurs un autre article dans la même lignée de Martin Fowler https://martinfowler.com/bliki/CannotMeasureProductivity.htmlEt si on parlait de Platform Engineering ?
DevOps vs. SRE vs. Platform Engineering (humanitec.com)
What is platform engineering? (gartner.com) / What is platform engineering? (platformengineering.org)
Engineering Effectiveness (thoughtworks.com) and Maximize your tech investments with Engineering Effectiveness (thoughtworks.com)
Ces différents articles retracent la génèse du concept de Platform Engineering
L’activité de Platform Engineering vient en réponse à la charge cognitive rajoutée aux équipes techs dans des transitions DevOps loupées (You build it, you run it … et vous vous débrouillez).
Cela conduit à la création de golden paths et d’une Internal Developers Platform qui doit proposer en interne les services nécessaires aux équipes pour livrer leurs produits le lus efficacement possible tout en suivant les critères de qualité, de compliance de l’entreprise.
Pour en savoir plus, une table ronde à laquelle Arnaud a participé en Juillet : https://youtu.be/N-tN7HUA4No?si=2P0wSqG32MLWUlGq
On call Process (Astreinte) , startup TinyBird par VP Engineering Félix López (ex google, ex eventbrite) https://thenewstack.io/keeping-the-lights-on-the-on-call-process-that-works/
Si votre produit est SAAS, on doit avoir des astreintes. Cela impose un lourd fardeau à ceux qui doivent être en astreinte,, surtout en petite entreprise Petites entreprises évitent avoir un processus d’astreinte formel pour éviter le stress. Cela crée dans la pratique plus de stress: Si personne n’est responsable, tout le monde est responsable. Tinybird est la plateforme de données en temps réel pour les développeurs et les équipes de données. Pré création du process formel chez Tinybird: désorganisé, non structuré et stressant Mise en place: Principes fondamentaux d’un processus d’astreinte: L’astreinte n’est pas obligatoire, minimiser le bruit, pas seulement pour les SRE, alert = runbook, avoir des backups pour la personne en astreinte, appeler quelqu’un devrait être la dernière solution, minimiser le temps en astreinte L’article explique comment ils sont passé regarder chaque alerte (comprehensible?, exploitable?), puis avoir un board grafana pour chacune et plan spécifique. Une fois le tri fait, tout migré vers un seul channel de com, et manuel d’astreinte pour chaque alerte. Itérer. Multiples benefices sur le long terme: rapports d’incident ouvert, atténuer les problèmes futurs, renforcement la propriété et les connaissances du code et systèmes au sein de toute l’équipe etc. SécuritéDownfall, une nouvelle faille de sécurité sur les processeurs intel ( https://www.lemondeinformatique.fr/actualites/lire-la-faille-downfall-met-a-mal-des-milliards-de-processeurs-intel–91247.html ) et AMD ne fait pas mieux avec une faille nommée Inception (https://www.lemondeinformatique.fr/actualites/lire-les-puces-amd-vulnerables-a-la-faille-inception–91273.html)
Downfall, La vulnérabilité est due à des fonctions d’optimisation de la mémoire dans les processeurs Intel qui révèlent involontairement les registres matériels internes aux logiciels. Cela permet à des logiciels non-fiables d’accéder à des données stockées par d’autres programmes, qui ne devraient normalement pas être accessibles. Tous les PC ou ordinateurs portables équipés de processeurs Intel Core de la 6e génération Skylake jusqu’aux puces Tiger Lake de 11e génération incluses contiennent cette faille. Les derniers processeurs Core 12e et 13e génération d’Intel ne sont pas concernés. Inception, nécessite un accès local au système pour être potentiellement exploité ce qui en limite de fait la portée. Tous les processeurs AMD depuis 2017 sont touchés, incluant les derniers modèles Zen 4 Epyc et RyzenComment désactiver le nouveau tracking publicitaire ciblé sur Chrome https://www.blogdumoderateur.com/chrome-comment-desactiver-tracking-publicitaire-cible/
Google a annoncé en juillet le déploiement de sa nouvelle API Topics, permettant « à un navigateur de partager des informations avec des tiers sur les intérêts d’un utilisateur tout en préservant la confidentialité ». C’est cette API, incluse dans la version Chrome 115 de juillet 2023, qui est censée remplacer les cookies tiers. Loi, société et organisationUne nouvelle definition d’open pour Llama 2? https://opensourceconnections.com/blog/2023/07/19/is-llama–2-open-source-no-and-perhaps-we-need-a-new-definition-of-open/
c’est relativement “open” mais il y a des restrictions donc pas open source pas plus de 700 M d’utilisateurs par mois pas le droit d’utiliser Llama pour améliorer d’autres modèles autres que dse dérivés de Llama et c’est le modele final qui est ouvert, pas la sauce pour le construire, donc pas de maven build ni le “source code” pour y arriver “from scratch” attention au risuqe de sacrivier open source pour avoir l’IA plus vite, plus facileHashiCorp passe tous ses projets open source en BSL, comme Confluent, Mongo, Redis, Elastic, etc https://thenewstack.io/hashicorp-abandons-open-source-for-business-source-license/
Couverture par InfoQ https://www.infoq.com/news/2023/08/hashicorp-adopts-bsl/ Fork de Terraform : OpenTF, avec pour objectif de rejoindre la CNCF https://opentf.org/announcementStack overflow annonce Overflow AI https://www.infoq.com/news/2023/09/stackoverflow-overflowai/
l’intégration de l’IA générative dans leur plateforme publique, Stack Overflow for Teams, ainsi que de nouveaux domaines de produits IA/ML aident à générer des balises initiales et à suggérer des paires question-réponse, permettant aux développeurs de se concentrer sur l’amélioration et la précision Amélioration des Capacités de Recherche Les forums de questions-réponses basés sur la communauté sont le cœur battant de Stack Overflow. Selon Prashanth Chandrasekar, PDG de Stack Overflow, l’objectif d’OverflowAI est d’améliorer la communauté de diverses manières plutôt que de la remplacer complètement.Vous avez entendu parler du projet de loi SREN ? http://share.mozilla.org/817319645t
Le gouvernement français prépare une loi qui pourrait menacer la liberté sur Internet. Le projet de loi visant à sécuriser et réguler l’espace numérique (SREN) obligerait les navigateurs web, comme Mozilla Firefox, à bloquer des sites web directement au niveau du navigateur. Mozilla lance une pétition pour retirer cette n-ieme solution stupide pour censurer Internet ConférencesLa liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs :
8 septembre 2023 : JUG Summer Camp - La Rochelle (France) 14 septembre 2023 : Cloud Sud - Toulouse (France) & Online 18 septembre 2023 : Agile Tour Montpellier - Montpellier (France) 19 septembre 2023 : Salon de la Data Nantes - Nantes (France) & Online 19–20 septembre 2023 : Agile en Seine - Paris (France) 21–22 septembre 2023 : API Platform Conference - Lille (France) & Online 22 septembre 2023 : Agile Tour Sophia Antipolis - Valbonne (France) 25–26 septembre 2023 : BIG DATA & AI PARIS 2023 - Paris (France) 28–30 septembre 2023 : Paris Web - Paris (France) 2–6 octobre 2023 : Devoxx Belgium - Antwerp (Belgium) 6 octobre 2023 : DevFest Perros-Guirec - Perros-Guirec (France) 10 octobre 2023 : ParisTestConf - Paris (France) 11–13 octobre 2023 : Devoxx Morocco - Agadir (Morocco) 12 octobre 2023 : Cloud Nord - Lille (France) 12–13 octobre 2023 : Volcamp 2023 - Clermont-Ferrand (France) 12–13 octobre 2023 : Forum PHP 2023 - Marne-la-Vallée (France) 13–14 octobre 2023 : SecSea 2K23 - La Ciotat (France) 17–20 octobre 2023 : DrupalCon Lille - Lille (France) 19–20 octobre 2023 : DevFest Nantes - Nantes (France) 19–20 octobre 2023 : Agile Tour Rennes - Rennes (France) 26 octobre 2023 : Codeurs en Seine - Rouen (France) 30 septembre 2023 : ScalaIO - Paris (France) 26–27 octobre 2023 : Agile Tour Bordeaux - Bordeaux (France) 26–29 octobre 2023 : SoCraTes-FR - Orange (France) 10 novembre 2023 : BDX I/O - Bordeaux (France) 15 novembre 2023 : DevFest Strasbourg - Strasbourg (France) 16 novembre 2023 : DevFest Toulouse - Toulouse (France) 18–19 novembre 2023 : Capitole du Libre - Toulouse (France) 23 novembre 2023 : DevOps D-Day #8 - Marseille (France) 23 novembre 2023 : Agile Grenoble - Grenoble (France) 30 novembre 2023 : PrestaShop Developer Conference - Paris (France) 30 novembre 2023 : WHO run the Tech - Rennes (France) 6–7 décembre 2023 : Open Source Experience - Paris (France) 7 décembre 2023 : Agile Tour Aix-Marseille - Gardanne (France) 7–8 décembre 2023 : TechRocks Summit - Paris (France) 8 décembre 2023 : DevFest Dijon - Dijon (France) 31 janvier 2024–3 février 2024 : SnowCamp - Grenoble (France) 6–7 mars 2024 : FlowCon 2024 - Paris (France) 19–22 mars 2024 : KubeCon + CloudNativeCon Europe 2024 - Paris (France) 28–29 mars 2024 : SymfonyLive Paris 2024 - Paris (France) 17–19 avril 2024 : Devoxx France - Paris (France) 25–26 avril 2024 : MiXiT - Lyon (France) 25–26 avril 2024 : Android Makers - Paris (France) 6–7 juin 2024 : DevFest Lille - Lille (France) Nous contacterPour 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/
Mon, 11 Sep 2023 - 1h 19min - 299 - LCC 298 - De l'IA à toutes les sauces
Dans cet épisode estival Guillaume, Emmanuel et Arnaud parcourent les nouvelles du début d’été. Du Java, du Rust, du Go du coté des langages, du Micronaut, du Quarkus pour les frameworks, mais aussi du WebGPU, de l’agilité, du DDD, des sondages, de nombreux outils et surtout de l’intelligence artificielle à toutes les sauces (dans les bases de données, dans les voitures…).
Enregistré le 21 juillet 2023
Téléchargement de l’épisode LesCastCodeurs-Episode-298.mp3
News LangagesLa release candidate de Go 1.21 supporte WASM et WASI nativement https://go.dev/blog/go1.21rc
StringBuilder ou contatenation de String https://reneschwietzke.de/java/the-stringbuilder-advise-is-dead-or-isnt-it.html
StringBuilder était la recommendation ca cela créait moins d’objects notamment. Mais la JVM a évolué et le compilateur ou JIT remplace cela par du code efficace Quelques petites exceptions le code froid (e.g. startup time) qui est encore interprété peut beneficier de StringBuilder autre cas, la concatenation dans des boucles où le JIT ne pourrait peut etre pas optimiser le StringBuilder “fluid” est plus efficace (inliné?) ces regles ne changement pas si des objects sont stringifié pour etre concaténésGPT 4 pas une revolution https://thealgorithmicbridge.substack.com/p/gpt-4s-secret-has-been-revealed
rumeur ca beaucou de secret pas u modele a 1 trillion de parametres maus 8 a 220 Milliards combinés intelligeament les chercheurs attendaient un breakthrough amis c’est une envolution et pas particulierement nouveau methode deja implem,entee par des cherchers chez google (maintenant chez ooenai ils ont retarde la competition avec ces rumeurs de breakthrough amis 8 LLaMA peut peut etre rivaliser avec GPT4Le blog Open Source de Google propose un article sur 5 mythes ou non sur l’apprentissage et l’utilisation de Rust https://opensource.googleblog.com/2023/06/rust-fact-vs-fiction-5-insights-from-googles-rust-journey-2022.html
Il faut plus de 6 mois pour apprendre Rust : plutôt faux; quelques semaines à 3-4 mois max Le compilateur Rust est pas aussi rapide qu’on le souhaiterait — vrai ! Le code unsafe et l’interop sont les plus gros challanges — faux, c’est plutôt les macros, l’owernship/borrowing, et la programmation asynchrone Rust fournit des messages d’erreur de compilation géniaux — vrai Le code Rust est de haute qualité — vraiInfoQ sort un nouveau guide sur le Pattern Matching pour le switch de Java https://www.infoq.com/articles/pattern-matching-for-switch/
Le pattern matching supporte tous les types de référence L’article parle du cas de la valeur null L’utilisation des patterns “guarded” avec le mot clé when L’importance de l’ordre des cases Le pattern matching peut être utilisé aussi avec le default des switchs Le scope des variables du pattern Un seul pattern par case label Un seul case match-all dans un bloc switch L’exhaustivité de la couverture des types L’utilisation des generics La gestion d’erreur avec MatchException LibrairiesSortie de Micronaut 4 https://micronaut.io/2023/07/14/micronaut-framework-4-0-0-released/
Langage minimal : Java 17, Groovy 4 et Kotlin 1.8 Support de la dernière version de GraalVM Utilisation des GraalVM Reachability Metadata Repository pour faciliter l’utilisation de Native Image Gradle 8 Nouveau Expression Language, à la compilation, pas possible au runtime (pour des raisons de sécurité et de support de pré-compilation) Support des Virtual Threads Nouvelle couche HTTP, éliminant les stack frames réactives quand on n’utilise pas le mode réactif Support expérimental de IO Uring et HTTP/3 Des filtres basés sur les annotations Le HTTP Client utilise maintenant le Java HTTP Client Génération de client et de serveur en Micronaut à partir de fichier OpenAPI L’utilisation YAML n’utilise plus la dépendance SnakeYAML (qui avait des problèmes de sécurité) Transition vers Jackarta terminé Et plein d’autres mises à jour de modules Couverture par InfoQ https://www.infoq.com/news/2023/07/micronaut-brings-virtual-thread/Quarkus 3.2 et LTS https://quarkus.io/blog/quarkus-3-2-0-final-released/ https://quarkus.io/blog/quarkus-3-1-0-final-released/ https://quarkus.io/blog/lts-releases/
InfrastructureRed Hat partage les sources de sa distribution au travers de son Customer Portal, et impacte la communauté qui se base dessus https://almalinux.org/blog/impact-of-rhel-changes/
RedHat a annoncé un autre changement massif qui affecte tous les rebuilds et forks de Red Hat Enterprise Linux. À l’avenir, Red Hat publiera uniquement le code source pour les RHEL RPMs derrière leur portail client. Comme tous les clones de RHEL dépendent des sources publiées, cela perturbe encore une fois l’ensemble de l’écosystème Red Hat.Une analyse du choix de red hat sur la distribution du code source de rhel https://dissociatedpress.net/2023/06/24/red-hat-and-the-clone-wars/
Une reponse de red hat aux feux démarrés par l’annonce de la non distribution des sources de RHEL en public https://www.redhat.com/en/blog/red-hats-commitment-open-source-response-gitcentosorg-changes et un lien vers une de ces feux d’une personne proheminente dans la communauté Ansible https://www.jeffgeerling.com/blog/2023/im-done-red-hat-enterprise-linux
Oracle demande a garder un Linux ouvert et gratuit https://www.oracle.com/news/announcement/blog/keep-linux-open-and-free-2023-07-10/
Suite à l’annonce d’IBM/RedHat, Oracle demande à garder Linux ouvert et gratuit IBM ne veut pas publier le code de RHEL car elle doit payer ses ingénieurs Alors que RedHat a pu maintenir son modèle économique durante des années L’article revient sur CentOS qu’IBM “a tué” en 2020 Oracle continue ses éfforts de rendre Linux ouvert et libre Oracle Linux continuera à être compatible avec RHEL jusqu’à la version 9.2, après ça sera compliqué de maintenir une comptabilité Oracle embauche des dev Linux Oracle demande à IBM de récupérer le downstream d’Oracle et de le distribuerSUSE forke RHEL https://www.suse.com/news/SUSE-Preserves-Choice-in-Enterprise-Linux/
SUSE est la société derrière Rancher, NeuVector, et SUSE Linux Enterprise (SLE) Annonce un fork de RHEL $10M d’investissement dans le projet sur les prochaines années Compatibilité assurée de RHEL et CentOS WebGoogle revent sont service de nom de domaine a Squarespace https://www.reddit.com/r/webdev/comments/14agag3/squarespace_acquires_google_domains/
et c’était pas gratuit donc on n’est pas censé etre le produit :wink: Squarespace est une entreprise américaine spécialisée dans la création de site internet Squarespace est un revendeur de Google Workspace depuis longtemps La vente devrait se finaliser en Q3 2023Petite introduction à WebGPU en français https://blog.octo.com/connaissez-vous-webgpu/
DataAvec la mode des Large Language Models, on parle de plus en plus de bases de données vectorielles, pour stocker des “embeddings” (des vecteurs de nombre flottant représentant sémantiquement du texte, ou même des images). Un article explique que les Vecteurs sont le nouveau JSON dans les bases relationnelles comme PostgreSQL https://jkatz05.com/post/postgres/vectors-json-postgresql/
L’article parle en particulier de l’extension pgVector qui est une extension pour PostgreSQL pour rajouter le support des vectors comme type de colonne https://github.com/pgvector/pgvector Google Cloud annonce justement l’intégration de cette extension vectorielle à CloudSQL pour PostgreSQL et à AlloyDB pour PostgreSQL https://cloud.google.com/blog/products/databases/announcing-vector-support-in-postgresql-services-to-power-ai-enabled-applications Il y a également une vidéo, un notebook Colab, et une article plus détaillé techniquement utilisant LangChain https://cloud.google.com/blog/products/databases/using-pgvector-llms-and-langchain-with-google-cloud-databases Mais on voit aussi également Elastic améliorer Lucene pour utiliser le support des instructions SIMD pour accélérer les calculs vectoriels (produit scalaire, distance euclidienne, similarité cosinus) https://www.elastic.co/fr/blog/accelerating-vector-search-simd-instructions OutillageLe sondage de StackOverflow 2023 https://survey.stackoverflow.co/2023/
L’enquête a été réalisée auprès de 90 000 développeurs dans 185 pays. Les développeurs sont plus nombreux (+2%) que l’an dernier à travailler sur site (16% sur site, 41% remote, 42% hybrid) Les développeurs sont également de plus en plus nombreux à utiliser des outils d’intelligence artificielle, avec 70 % d’entre eux déclarant les utiliser (44%) ou prévoyant de les utiliser (25) dans leur travail. Les langages de programmation les plus populaires sont toujours JavaScript, Python et HTML/CSS. Les frameworks web les plus populaires sont Node, React, JQuery. Les bases de données les plus populaires sont PostgreSQL, MySQL, et SQLite. Les systèmes d’exploitation les plus populaires sont Windows puis macOS et Linux. Les IDE les plus populaires sont Visual Studio Code, Visual Studio et IDEA IntelliJ.Les différents types de déplacement dans Vim https://www.barbarianmeetscoding.com/boost-your-coding-fu-with-vscode-and-vim/moving-blazingly-fast-with-the-core-vim-motions/
JetBrains se mets aussi à la mode des assistants IA dans l’IDE https://blog.jetbrains.com/idea/2023/06/ai-assistant-in-jetbrains-ides/
une intégration avec OpenAI mais aussi de plus petits LLMs spécifiques à JetBrains un chat intégré pour discuter avec l’assistant, puis la possibilité d’intégrer les snippets de code là où se trouve le curseur possibilité de sélectionner du code et de demander à l’assistant d’expliquer ce que ce bout de code fait, mais aussi de suggérer un refactoring, ou de régler les problèmes potentiels on peut demander à générer la JavaDoc d’une méthode, d’une classe, etc, ou à suggérer un nom de méthode (en fonction de son contenu) génération de message de commit il faut avoir un compte JetBrains AI pour y avoir accèsDes commandes macOS plus ou moins connues https://saurabhs.org/advanced-macos-commands
caffeinate — pour garder le mac éveillé pbcopy / pbpaste — pour interagir avec le clipboard networkQuality — pour mesurer la rapidité de l’accès à internet sips — pour manipuler / redimensionner des images textutil — pour covertir des fichers word, texte, HTML screencapture — pour faire un screenshot say — pour donner une voix à vos commandesLe sondage de la communauté ArgoCD https://blog.argoproj.io/cncf-argo-cd-rollouts-2023-user-survey-results-514aa21c21df
Un client d’API open-source et cross-platform pour GraphQL, REST, WebSockets, Server-sent events et gRPC https://github.com/Kong/insomnia
ArchitectureModerniser l’architecture avec la decouverte via le domain driven discovery https://www.infoq.com/articles/architecture-modernization-domain-driven-discovery/?utm_source=twitter&utm_medium=link&utm_campaign=calendar
Un article très détaillé pour moderniser son architecture en utilisant une approche Domain-Driven Discovery qui se fait en 5 étapes: Encadrer le problème – Clarifier le problème que vous résolvez, les personnes touchées, les résultats souhaités et les contraintes de solution. Analyser l’état actuel – Explorer les processus opérationnels et l’architecture des systèmes existants afin d’établir une base de référence pour l’amélioration. Explorer l’état futur – Concevoir une architecture modernisée fondée sur des contextes délimités, établir des priorités stratégiques, évaluer les options et créer des solutions pour l’état futur. Créer une feuille de route – Créer un plan pour moderniser l’architecture au fil du temps en fonction des flux de travail ou des résultats souhaités.Récemment, Sfeir a lancé son blog de développement sur https://www.sfeir.dev/
plein d’articles techniques sur de nombreux thèmes : front, back, cloud, data, AI/ML, mobile aussi des tendances, des success stories par exemple dans les derniers articles : on parle d’Alan Turing, du Local Storage en Javascript, des la préparation de certifications React, l’impact de la cybersécurité sur le cloudDemis Hassabis annonce travailler sur une IA nommée Gemini qui dépassera ChatGPT https://www.wired.com/story/google-deepmind-demis-hassabis-chatgpt/
Demis Hassabis CEO de Google DeepMind créateur de AlphaGOet AlphaFold Travaille sur une IA nommé Gemini qui dépasserait ChatGPT de OpenAI Similair à GPT-4 mais avec des techniques issues de AlphaGO Encore en developpement, va prendre encore plusieurs mois Un remplaçant a Bard? MéthodologiesApprocher l’agilité par les traumatismes (de developement) passés des individus https://www.infoq.com/articles/trauma-informed-agile/?utm_campaign=infoq_content&utm_source=twitter&utm_medium=feed&utm_term=culture-methods
Nous subissons tous un traumatisme du développement qui rend difficile la collaboration avec d’autres - une partie cruciale du travail dans le développement de logiciels agiles. Diriger d’une manière tenant compte des traumatismes n’est pas pratiquer la psychothérapie non sollicitée, et ne justifie pas les comportements destructeurs sans les aborder. Être plus sensible aux traumatismes dans votre leadership peut aider tout le monde à agir de façon plus mature et plus disponible sur le plan cognitif, surtout dans des situations émotionnellement difficiles. Dans les milieux de travail tenant compte des traumatismes, les gens accordent plus d’attention à leur état physique et émotionnel. Ils s’appuient aussi davantage sur le pouvoir de l’intention, fixent des objectifs d’une manière moins manipulatrice et sont capables d’être empathiques sans s’approprier les problèmes des autres. Loi, société et organisationMercedes va rajouter de l’intelligence artificielle dans ses voitures https://azure.microsoft.com/en-us/blog/mercedes-benz-enhances-drivers-experience-with-azure-openai-service/
Programme béta test de 3 mois pour le moment Assistance vocale “Hey Mercedes” Permet de discuter avec la voiture pour trouver son chemin, concocter une recette, ou avoir tout simplement des discussions Ils travaillent sur des plugin pour reserver un resto, acheter des tickets de cinémaFree software vs Open Source dans le contexte de l’intelligence artificielle par Sacha Labourey https://medium.com/@sachalabourey/ai-free-software-is-essential-to-save-humanity-86b08c3d4777
on parle beaucoup d’AI et d’open source mais il manque la dimension de controle des utilisateurs finaux Stallman a crée la FSF par peur de la notion d’humain augmenté par des logiciels qui sont controllés par d’autres (implants dans le cerveau etc) d’ou la GPL et sa viralité qui propage la capacité a voir et modifier le conde que l’on fait tourner dans le debat AI, ce n’est pas seulement open source (casser oligopolie) mais aissu le free software qui est en jeuLa folie du Cyber Resilience Act (CRA) europeen https://news.apache.org/foundation/entry/save-open-source-the-impending-tragedy-of-the-cyber-resilience-act
Au sein de l’UE, la loi sur la cyber-résilience (CRA) fait maintenant son chemin à travers les processus législatifs (et doit faire l’objet d’un vote clé le 19 juillet 2023). Cette loi s’appliquera à un large éventail de logiciels (et de matériel avec logiciel intégré) dans l’UE. L’intention de ce règlement est bonne (et sans doute attendue depuis longtemps) : rendre le logiciel beaucoup plus sûr. Le CRA a une approche binaire: oui/non et considère tout le monde de la même manière Le CRA réglementerait les projets à source ouverte à moins qu’ils n’aient « un modèle de développement entièrement décentralisé ». Mais les modèles OSS sont de complexes mélanges de pur OSS et éditeurs de logiciels les entreprises commerciales et les projets open source devront être beaucoup plus prudents quant à ce que les participants peuvent travailler sur le code, quel financement ils prennent, et quels correctifs ils peuvent accepter. Certaines des obligations sont pratiquement impossibles à respecter, par exemple l’obligation de « livrer un produit sans vulnérabilités exploitables connues ». Le CRA exige la divulgation de vulnérabilités graves non corrigées et exploitées à l’ENISA (une institution de l’UE) dans un délai mesuré en heures, avant qu’elles ne soient corrigées. (complètement opposé aux bonnes pratiques de sécu) Une fois de plus une bonne idée à l’origine mais très mal implémentée qui risque de faire beaucoup de dommagesOctave Klaba, avec Miro, son frère, et la Caisse des Dépôts, finalisent la création de Synfonium qui va maintenant racheter 100% de Qwant et 100% fe Shadow. Synfonium est détenue à 75% par Jezby Venture & Deep Code et à 25% par la CDC. https://twitter.com/i/web/status/1673555414938427392
L’un de rôles de Synfonium est de créer la masse critique des utilisateurs et des clients B2C & B2B qui vont pouvoir utiliser tous ces services gratuits et payants Vous y retrouverez le moteur de recherche, les services gratuits, la suite collaborative, le social login, mais aussi les services de nos partenaires tech. Le but est de créer une plateforme dans le Cloud SaaS EU qui respectent nos valeurs et nos lois européennesYann LeCun : «L’intelligence artificielle va amplifier l’intelligence humaine» https://www.europe1.fr/emissions/linterview-politique-dimitri-pavlenko/yann-lecun-li[…]gence-artificielle-va-amplifier-lintelligence-humaine-4189120
ConférencesLa liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs :
2-3 septembre 2023 : SRE France SummerCamp - Chambéry (France) 6 septembre 2023 : Cloud Alpes - Lyon (France) 8 septembre 2023 : JUG Summer Camp - La Rochelle (France) 14 septembre 2023 : Cloud Sud - Remote / Toulouse (France) 18 septembre 2023 : Agile Tour Montpellier - Montpellier (France) 19-20 septembre 2023 : Agile en Seine - Paris (France) 19 septembre 2023 : Salon de la Data Nantes - Nantes (France) & Online 21-22 septembre 2023 : API Platform Conference - Lille (France) & Online 22 septembre 2023 : Agile Tour Sophia Antipolis - Valbonne (France) 25-26 septembre 2023 : BIG DATA & AI PARIS 2023 - Paris (France) 28-30 septembre 2023 : Paris Web - Paris (France) 2-6 octobre 2023 : Devoxx Belgium - Antwerp (Belgium) 6 octobre 2023 : DevFest Perros-Guirec - Perros-Guirec (France) 10 octobre 2023 : ParisTestConf - Paris (France) 11-13 octobre 2023 : Devoxx Morocco - Agadir (Morocco) 12 octobre 2023 : Cloud Nord - Lille (France) 12-13 octobre 2023 : Volcamp 2023 - Clermont-Ferrand (France) 12-13 octobre 2023 : Forum PHP 2023 - Marne-la-Vallée (France) 19-20 octobre 2023 : DevFest Nantes - Nantes (France) 19-20 octobre 2023 : Agile Tour Rennes - Rennes (France) 26 octobre 2023 : Codeurs en Seine - Rouen (France) 25-27 octobre 2023 : ScalaIO - Paris (France) 26-27 octobre 2023 : Agile Tour Bordeaux - Bordeaux (France) 26-29 octobre 2023 : SoCraTes-FR - Orange (France) 10 novembre 2023 : BDX I/O - Bordeaux (France) 15 novembre 2023 : DevFest Strasbourg - Strasbourg (France) 16 novembre 2023 : DevFest Toulouse - Toulouse (France) 23 novembre 2023 : DevOps D-Day #8 - Marseille (France) 30 novembre 2023 : PrestaShop Developer Conference - Paris (France) 30 novembre 2023 : WHO run the Tech - Rennes (France) 6-7 décembre 2023 : Open Source Experience - Paris (France) 7 décembre 2023 : Agile Tour Aix-Marseille - Gardanne (France) 8 décembre 2023 : DevFest Dijon - Dijon (France) 7-8 décembre 2023 : TechRocks Summit - Paris (France) Nous contacterPour 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/
Mon, 24 Jul 2023 - 1h 43min - 298 - LCC 297 - Lockless design
Guillaume, Arnaud et Emmanuel discutent des nouvelles de mai et juin. La communauté Rust, WebAssembly. Guava, Debezium, Kafka, de flame graph, d’open source et bien sûr les large language models. On répond aussi à la question fondamentale: mais pourquoi Maven n’a pas de fichier .lock ?
Enregistré le 9 juin 2023
Téléchargement de l’épisode LesCastCodeurs-Episode-297.mp3
News LangagesLors de Microsoft BUILD 2023, un des fondateurs de OpenAI a fait une excellente présentation de Large Language Models, des GPT https://build.microsoft.com/en-US/sessions/db3f4859-cd30-4445-a0cd-553c3304f8e2
Il parle du fonctionnement des LLM, comment/pourquoi ils arrivent à générer ce qu’ils génèrent Le fine-tuning, l’apprentissage renforcé avec feedback humain, l’art du prompting Des patterns comme Chain of Thought (CoT) ou ReAct (Reflect then Act)Leaning Technologies annonce l’arrivée prochaine de CheerpJ 3 : le retour de Java dans la navigateur, grâce à WebAssembly https://leaningtech.com/announcing-cheerpj-3-0-a-jvm-replacement-in-html5-and-webassembly-to-run-java-applications-and-applets-on-modern-browsers/
Avant la version 3.0, CheerpJ utilisait une approche AOT (ahead of time compilation) qui nécessitait aussi une étape d’intégration continue pour transformer aussi toutes les dépendances JAR associées à un projet Avec la version 3.0, qui devrait sortir cet été, CheerpJ adopte une approche JIT (Just In Time compilation) qui ressemble plus à l’approche de Java lui même Plus besoin non plus de version custom d’OpenJDK Les Applets vous avaient manqué ? Elles sont de retour avec WebAssembly :smile:Communauté RUST: Il y a de l’eau dans le gaz https://www.jntrnr.com/why-i-left-rust/
Plus d’infos https://gist.github.com/fasterthanlime/42da9378768aebef662dd26dddf04849 lié au backchannel et un petit groupe qui essaie de faire les choses bien mais qui derappe de l’exterieur en gros ils ont un process interne pour prendre des decisions avec ce process ils ont invité une personne pas super pro Rust a faire la keynote a RustConf d’autres du commité ont vu ca et on discuté en backchannel pour revenir en arriere de la decision (sans suivre le process) il y a eu une semaine de pause avant action mais pas annoncé le speaker a ete dé keynoté et a donc refusé de venir a la conf et paf, ca enerve des gens decisionaire et ils demissionnent Bref des gens qui veulent faire le bien mais en cercle un peu trop ferné et pafLes gens de Wasmer étendent WASI avec WASIX, on rajoutant le support POSIX, les threads… permettant de compiler vers WASM plein de projet C/C++ ou Rust, comme cURL ou autre https://wasmer.io/posts/announcing-wasix
ca frotte un oeu entre innovation et standardisation dans la communaite WASM WASMER sont un peu les cowboys startuper par exemple ils ont essayé de deposer la marque WebAssemble au nez et à la barbe de la communauté donc la reaction du coeur de la communauté a cette annonce est plutôt calme WASI c’est standard mais ca prend du temps a maturer WASIX c’est cool et dispo maintenant mais c’est un produit d’une société spécifique, donc pas de portabilité LibrairiesGuava 32 est sorti et beaucoup de choses annotées en @Beta ne le sont plus https://www.reddit.com/r/java/comments/13w2l8w/guava_320_released_today_and_the_beta_annotation/
ont eu des API en @Beta pendant longtemps pour proteger des risques de changements en pratique quasi personne ne se limitait au non beta, et elles n’ont pas bougé ces API ou peu donc ils ont enlevé @Beta de la plupart beaucoup de parties de Guava sont dans le JDK, le cache est dans Caffeine des bons echanges dans les commentaires entre les utilisateurs et Kevin un des mainteneurs chez GoogleComment démarrer avec l’API PaLM de Google, mais en Java! https://glaforge.dev/posts/2023/05/30/getting-started-with-the-palm-api-in-the-java-ecosystem/
Guillaume a écrit une petite application qui génère des histoires pour enfants avec un Large Language Model (l’API PaLM) https://bed-time-stories.web.app/ Le code est dispo sur Github https://github.com/glaforge/bedtimestories Il explique également le processus incrémentale des prompts qui aident à générer aussi le contenu de l’application https://glaforge.dev/posts/2023/06/08/creating-kids-stories-with-generative-ai/ InfrastructureDebezium 2.2 https://debezium.io/blog/2023/04/20/debezium-2-2-final-released/
Experimental, opt-in Parallel Snapshots Incremental snapshots with surrogate keys Quarkus 3 support Ingestion of Oracle changes from logical standby instances Google Spanner improvementsNew Debezium Server sinks for Infinispan, RabbitMQ, and RocketMQ New Storage APIs for Amazon S3 and RocketMQ Many MongoDB improvements Cassandra connector for Cassandra EnterpriseUn article sur l’utilisation de Kafka par CloudFlare https://www.infoq.com/articles/kafka-clusters-cloudflare/?utm_campaign=infoq_content&utm_source=twitter&utm_medium=feed&utm_term=architecture-design
c’est du “classique” mais bon de se le faire rappeler beaucoup d’evenements CloudFlare passent pas Kafka pour processing Kafka en tant que bus generique Ils ont imposé un message unique par topic via protobuf ils sont une Application Service team (internal developer platform) depuis peu de temps gitops pour creation de topic etc développé un connector framework declaratif pour étendre le pannel de patrons d’architecture disponibles developé des SDKs d’access a KAfka avec monitoring (prometheus) sympa a lirePost mortem du problème chez datadogHQ https://www.datadoghq.com/blog/2023-03-08-multiregion-infrastructure-connectivity-issue/
data dog a perdu tous ces services dans la plupart ou toutes ses regions pendant 3 heures avant la premiere recuperation et 10 heures au total pour la recuperation totale Equipe : 10 senior engineering leaders, about 70 local incident commanders and a pool of 450 to 750 incident responders active throughout the incident, which required four shifts to bring the incident to full resolution. cause: une mise a jour de systemd appliqué sur la plupart de leurs VM en quasi parallele qui a effacer les routes des container et ne les a aps remis ; c’est un cas qui n’arrive pas au reboot d’un noeud (init sequence) des 10000s noeuds impactés en general ils font du rollout par region en enlevant les noeuds etc mais le base os avait un legacy update channel activé (vs gere pas les equipes de datadog manuellement) les noeuds de controlleurs qui sont cense recycler les noeuds n’ont pu le faire vu le volume de noeud et surtout parce qu’eux meme étaient effectés l’autre article CloudLe data center parisien europe-west9-a est en panne depuis 3 semaines https://www.lebigdata.fr/data-center-panne
un feu s’est déclenché qui a touché une zone le DC reste opérationnel sur les zones non touchée sauf BigTable qui a besoin de la zone touchée les autres services fonctionnent sauf les applis utilisateurs qui ne tournaiuent que sur la zone affecté OutillagePodman Desktop 1.0 est sorti https://podman-desktop.io/blog/podman-desktop-release-1.0
pas grand chose a dire que c’est la 1.0 “Works on my machine”Contract testing with Pact https://hollycummins.com/contract-testing-devoxx-greece/
Conference quand on change un microservice l’autre casse les tests d’integration sont lent, instable et demande des grosses machines ou des environnements remote de dev mock / unit tests ne sont pas vraiment le code de l’autre équipe D’où Contract test qui vit entre les end to end et les unit tests. Peut partir d’un test mock et rempalcer avec pact cote consommateur en faisait tourner, un pack listener enregistre la declaration (le DSL) et le retours attendus / generés par l’appel du test copier ce fichier vers le producteur copier a la main, dans le repo, via a broker ajoute un test pact cote producteur qui va exercer le JSON et verifier que cela marche tests de pack sont plus profonds qu’un test OPENAPI consommateur utilise pact comme mock et verifie le provider wrt le contract du mockPourquoi Maven n’a pas de fichier lock ? https://www.reddit.com/r/Maven/comments/vkcmys/why_maven_doesnt_have_a_lock_file_like/?utm_source=share&utm_medium=ios_app&utm_name=ioscss&utm_content=1&utm_term=9
conversation interessance sur les fichiers .lock dans les builds Par exemple ruby a le Gemfile.lock, npm pareil mais pas Java? Fondamentalement c’est du aux valeurs par defaut initiales et à la culture de la communauté les version range sont peu ou pas utilisés en Maven alors que le default dans d’autres plateformes la poule et l’oeufSimplifier les flame graph avec jbang https://someth2say.wordpress.com/2023/06/04/jbang-and-flame-graphs/
discute les flame graph pour le temps comsommé et pas un call graph hauteur c’est la profondeur d’appel ne regarder que la largeur, pas l’ordre pas quand et ou une action est faite mais qui l’a fait reste discute comment utiliser jbang pour lancer le prgramme et le javaagentLes modérateurs de Stack Overflow en greve contre le flux de réponses d’intelligence artificeille https://openletter.mousetail.nl/
le ban des contenus generes par l’IA a ete levé discrètement par stack overflow peur du flux de données massif et des hallucinations difficiles à détecter sans passer du temps pas de consensus communautaire stackoverflow est une des sources trustées pour les LLM des intelligences arificielles generatives (serpent qui se mord la queue) les modérateurs font tourner l’anti spam, gere les flag levés, ferment ou effacent les entrées, genre les bots qui detectent le plagiat etc. 414 votants des les premiers heuresJust, un petit outil en ligne de commande avec une syntaxe inspirée de make, pour exécuter des commandes fréquentes dans nos projets https://glaforge.dev/posts/2023/06/07/just-a-handy-command-line-tool/
Syntaxe proche de celle de make Possibilité de définir des dépendances entre tâches Support de paramètres Peut charger des fichier .env S’installe sur tous les systèmes d’exploitation qu’on aime bien et qu’on n’aime pas aussi MéthodologiesAWS retire ses documentations en Open Source https://www.infoq.com/news/2023/06/aws-documentation-github/
ils ont open sourcé en espérant des contributions il y a deux ans mais sans changer les approche en interne resultat copie de repo de l’interieur vers l’exterieur tracker de travail interne != externe c’était plus compliqué leçon, embrace entièrement sinon les frictions sont compliquéesUn guide pour communiquer avec l’IA: https://learnprompting.org/
Gratuit et open source Prompt Engineering ou comment rédiger vos prompts Plusieurs niveau (Basic, Intermediaire, Avancé..) Défini plein de concepts: Prompt, Few Shot Prompt, LLMs… Loi, société et organisationMigration de Twitter vers Mastodon (ou plutôt “dual run”) https://glaforge.dev/talks/2023/06/09/from-bird-to-elephant-starting-a-new-journey-on-mastodon/
Présentation de Guillaume à Devoxx France et Grèce Avec code sur Github pour un bot Mastodon: https://github.com/glaforge/stootistics Et un service en ligne pour voir la popularité de ses derniers posts sur Mastodon https://stootistics.web.app/ ConférencesAurelie Vache publie sont agenda des conferences via le site: https://developers.events/
La liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs :
14-15 juin 2023 : OW2 openSource Conf - Paris (France) 14-17 juin 2023 : VivaTech (Viva Technology) - https://vivatechnology.com/) - Paris (France) 15-16 juin 2023 : Le Camping des Speakers - Baden (France) 15-17 juin 2023 : Pas Sage En Seine - Choisy-le-Roi (France) 20 juin 2023 : Mobilis in Mobile - Nantes (France) 20 juin 2023 : Cloud Est - Villeurbanne (France) 20-22 juin 2023 : Adeo DevSummit - Lille (France) 21-23 juin 2023 : Rencontres R - Avignon (France) 23 juin 2023 : Unconf HackYourJob - Région lyonnaise (France) 28-30 juin 2023 : Breizh Camp - Rennes (France) 29 juin 2023 : Google Cloud Summit France - Paris (France) 29-30 juin 2023 : Sunny Tech - Montpellier (France) 29-30 juin 2023 : Agi’Lille - Lille (France) 7-9 juillet 2023 : Nantes Maker Campus - Nantes (France) 2-3 septembre 2023 : SRE France SummerCamp - Chambéry (France) 6 septembre 2023 : Cloud Alpes - Lyon (France) 8 septembre 2023 : JUG Summer Camp - La Rochelle (France) 14 septembre 2023 : Cloud Sud - Remote / Toulouse (France) 18 septembre 2023 : Agile Tour Montpellier - Montpellier (France) 19-20 septembre 2023 : Agile en Seine - Paris (France) 19 septembre 2023 : Salon de la Data Nantes - Nantes (France) & Online 21-22 septembre 2023 : API Platform Conference - Lille (France) & Online 25-26 septembre 2023 : BIG DATA & AI PARIS 2023 - Paris (France) 28-30 septembre 2023 : Paris Web - Paris (France) 2-6 octobre 2023 : Devoxx Belgium - Antwerp (Belgium) 6 octobre 2023 : DevFest Perros-Guirec - Perros-Guirec (France) 10 octobre 2023 : ParisTestConf - Paris (France) 11-13 octobre 2023 : Devoxx Morocco - Agadir (Morocco) 12 octobre 2023 : Cloud Nord - Lille (France) 12-13 octobre 2023 : Volcamp 2023 - Clermont-Ferrand (France) 12-13 octobre 2023 : Forum PHP 2023 - Marne-la-Vallée (France) 19-20 octobre 2023 : DevFest Nantes - Nantes (France) 19-20 octobre 2023 : Agile Tour Rennes - Rennes (France) 26 octobre 2023 : Codeurs en Seine - Rouen (France) 25-27 octobre 2023 : ScalaIO - Paris (France) 26-27 octobre 2023 : Agile Tour Bordeaux - Bordeaux (France) 10 novembre 2023 : BDX I/O - Bordeaux (France) 15 novembre 2023 : DevFest Strasbourg - Strasbourg (France) 16 novembre 2023 : DevFest Toulouse - Toulouse (France) 6-7 décembre 2023 : Open Source Experience - Paris (France) 7-8 décembre 2023 : TechRocks Summit - Paris (France) 31 janvier 2024-3 février 2024 : SnowCamp - Grenoble (France) 19-22 mars 2024 : KubeCon + CloudNativeCon Europe 2024 - Paris (France) 28-29 mars 2024 : SymfonyLive Paris 2024 - Paris (France) 17-19 avril 2024 : Devoxx France - Paris (France) 25-26 avril 2024 : MiXiT - Lyon (France) 25-26 avril 2024 : Android Makers - Paris (France) Nous contacterPour 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/
Mon, 12 Jun 2023 - 1h 13min - 297 - LCC 296 - Interview Google IA IA I/O 2023
Dans cet épisode, Antonio, Emmanuel et Guillaume reviennent sur les nouveautés et annonces faites à Google I/O 2023 : de nouveaux téléphones Pixel qui se plient ou pas, et surtout de l’intelligence artificielle du sol au plafond ! Que ce soit dans Android, dans Google Workspace, dans Google Cloud, une tonne de produits passe en mode survitaminé à l’IA. Guillaume, Antonio et Emmanuel discutent aussi de l’impact qu’ils voient sur l’AI, et de comment les Large Language Models sont raffinés et pourquoi on les fait halluciner, de subtilités du langage des signes.
Enregistré le 23 mai 2023
Téléchargement de l’épisode LesCastCodeurs-Episode-296.mp3
Google I/O 2023Site web : https://io.google/2023/
Keynote principale : https://io.google/2023/program/396cd2d5-9fe1-4725-a3dc-c01bb2e2f38a/
Keynote développeur : https://io.google/2023/program/9fe491dd-cadc-4e03-b084-f75e695993ea/
Vidéo résumée en 10 minutes de toutes les annonces : https://www.youtube.com/watch?v=QpBTM0GO6xI&list=TLGGCy91ScdjTPYxNjA1MjAyMw
Vidéo de toutes les sessions techniques : https://io.google/2023/program/?q=technical-session
Google I/O s’est tenu il y a 10 jours en Californie, dans l’amphithéâtre de Shoreline, près du campus de Google.
Seulement 2000 personnes sur place, un chat et un jeu en ligne pour assister à distance.
Jeu en ligne I/O Flip créé avec Flutter, Dart, Firebase, et Cloud Run, et tous les assets graphiques générés par Generative AI https://blog.google/technology/ai/google-card-game-io-flip-ai/
Des Pixels plein les yeux !Des détails sur le design des nouveaux appareils : https://blog.google/products/pixel/google-pixel-fold-tablet-7a-design/
Pixel FoldArticle : https://blog.google/products/pixel/google-pixel-fold/
Premier téléphone foldable de Google (après Samsung et Oppo) Un écran sur le dessus, et un grand écran pliable à l’intérieur Pratique pour la traduction où peut voir une discussion traduire en deux langues d’un côté sur un écran et dans l’autre langue sur l’autre Utilisation créative de la pliure : mode “laptop”, pour les selfies, pour poser l’appareil pour des photos de nuit Par contre… pas disponible en France, et tout de même presque 1900€ ! Pixel TabletArticle : https://blog.google/products/pixel/google-pixel-tablet/
Une belle tablette de 11 pouces, avec un dock de recharge avec enceinte intégrée Processeur Tensor G2, Chromecast intégré C’est un peu comme le Google Nest Hub Max mais avec un écran détachable Une coque pratique avec un trépied intégré et qui n’empêche pas de recharger la tablette sur le dock En mode dock, c’est comme l’écran du Google Home App, et dès qu’on la décroche, on est en mode multi-utilisateur, chacun avec son profil Pixel 7aArticle : https://blog.google/products/pixel/pixel-7a-io-2023/
Écran de 6 pouces Triple appareil photo (grand angle, principal, et photo avant pour les selfies) 509 euros Magic Eraser pour effacer les trucs qu’on veut pas dans la photo, Magic Unblur pour rendre une photo floue plus nette, Real Tone pour rendre les peaux foncées plus naturelles AndroidArticle quoi de neuf dans Android : https://blog.google/products/android/android-updates-io-2023/
Dans Messages, Magic Compose dans les conversations, l’IA nous aide à concevoir nos messages, dans différents styles (plus pro, plus fun, dans le style de Shakespeare) Android 14 devrait arriver un peu plus tard dans l’année, avec plus de possibilités de customisation (fond d’écran généré par Gen AI, fond d’écran Emojis, couleurs associées, fond d’écran 3D issus de ses photos) https://blog.google/products/android/new-android-features-generative-ai/ StudioBot : un chatbot intégré à Android Studio pour aider au développement d’applis Android https://io.google/2023/program/d94e89c5-1efa-4ab2-a13a-d61c5eb4e49c/ 800 millions d’utilisateurs sont passés à RCS pour le messaging Adaptation de 50 applications Android pour s’adapter aux foldables https://blog.google/products/android/android-app-redesign-tablet-foldable/ Wear OS 4 va rajouter le backup restore quand on change de montre et autres nouveautés https://blog.google/products/wear-os/wear-os-update-google-io-2023/ 800 chaînes TV gratuites dans Google TV sur Android et dans la voiture Android Auto va être disponible de 200 millions de voitures https://blog.google/products/android/android-auto-new-features-google-io-2023/ Waze disponible globalement sur le playstore dans toutes les voitures avec Android Auto Google MapsArticle : https://blog.google/products/maps/google-maps-updates-io-2023/
Maps propose 20 milliards de km de direction tous les jours Immersive View for Routes 15 villes : Amsterdam, Berlin, Dublin, Florence, Las Vegas, London, Los Angeles, Miami, New York, Paris, San Francisco, San Jose, Seattle, Tokyo et Venice Possibilité pour les développeurs de s’intégrer et rajouter des augmentations 3D, des marqueurs Google PhotosArticle Magic Editor : https://blog.google/products/photos/google-photos-magic-editor-pixel-io-2023/
Magic Editor survitaminé à l’IA pour améliorer les photos, en déplaçant des gens, en rajoutant des parties coupées, ou bien rendre le ciel plus beau Possible que ce soit limité aux téléphones Pixel au début Projets expérimentaux Project Starline (écran avec caméra 3D qui donne un rendu 3D de son interlocuteur comme s’il était en face de soi) a été amélioré pour prendre moins de place https://blog.google/technology/research/project-starline-prototype/ Universal Translator : une nouvelle expérimentation pour faire du doublage et traduction automatique avec synchronisation des mouvements des lèvres Project Tailwind, une sorte de notebook dans lequel on peut rajouter tous ses documents à partir de drive, et poser des questions sur leur contenu, proposer des résumés, de faire du brainstorming sur ces thèmes https://thoughtful.sandbox.google.com/about MusicLM : un large language model pour générer de la musique à partir d’un texte de prompt (waitlist pour s’inscrire) https://blog.google/technology/ai/musiclm-google-ai-test-kitchen/ Project Gameface : utilisation des expressions du visage pour commander une souris et un ordinateur, pour les personnes qui ont perdu leur mobilité https://blog.google/technology/ai/google-project-gameface/ VisualBlocks : pour expérimenter dans une interface drag’n drop avec le développement de modèles pour Tensorflow lite et js https://visualblocks.withgoogle.com/ MakerStudio : pour les bidouilleurs et développeurs https://makersuite.google.com/ https://developers.googleblog.com/2023/05/palm-api-and-makersuite-moving-into-public-preview.html Search LabsArticle : https://blog.google/products/search/generative-ai-search/
Expérimentations pour rajouter l’IA générative dans Google Search Faire des recherches avec des requêtes avec des phrases plus complexes, en intégrant des réponses comme Bard, avec des liens, des suggestions d’autres recherches associées Mais aussi proposer des publicités mieux ciblées On peut s’inscrire à Search Labs pour tester cette nouvelle expérience, mais au début juste en Anglais et juste pour les US Des intégrations avec Google Shopping pour proposer et filtrer des produits qui correspondent à la requête Recherche à l’aide d’image, avec Google Lens : 12 milliards de recherches visuelles par mois Palm et Bard Annonce du modèle LLM Palm 2 utilisé dans Bard et dans Google Cloud https://blog.google/technology/ai/google-palm-2-ai-large-language-model/ PaLM 2 est en cours d’intégration dans 25 produits de Google Supportera 100 langues différentes (pour l’instant seulement l’anglais, japonais et coréen), avec déjà les 40 langues les plus parlées d’ici la fin de l’année Maintenant disponible dans 180 pays… sauf l’Europe !!! Capacité de raisonnement accrue Peut coder dans une vingtaine de langages de programmation différents dont Groovy Différentes tailles de modèles : Gecko, Otter, Bison et Unicorn, mais le nombre de paramètres n’est pas communiquée, comme pour GPT-4 d’OpenAI Utilisable pour des requêtes et pour du chat Des modèles dérivées fine-tunés Med-PaLM 2 sur du savoir médical, sur l’analyse visuelle des radios et Sec-PaLM, entrainé sur des cas d’utilisation sur le thème de la cybersécurité, pour aider à déceler des scripts malicieux, des vecteurs d’attaque Sundar Pichai a aussi annoncé que Google travaillait déjà sur la prochaine évolution de ses LLM avec un modèle appelé Gemini. Peu de détails à part qu’il sera multimodal (en particulier recherche combinée image et texte par ex.) Partenariat et intégration de Adobe Firefly dans Bard pour générer des images https://blog.adobe.com/en/publish/2023/05/10/adobe-firefly-adobe-express-google-bard Duet AI pour Google WorkspaceArticle : https://workspace.google.com/blog/product-announcements/duet-ai
Dans Gmails et Docs, propose d’aider à la rédaction de vos emails et documents une extension de “smart compose” qui va permettre de générer des emails entiers, d’améliorer le style, de corriger la grammaire, éviter les répétitions de texte Dans Docs, des nouveaux “smart chips” pour rajouter des variables, des templates Dans Slides, rajouter des images générées par IA Des prompts dans Sheets pour générer un draft de table Dans Google Meet, possibilité de créer une image de fond customisée avec Generative AI Ces améliorations font parties de Workspace Labs auquel on peut s’inscrire dans la liste d’attente https://workspace.google.com/labs-sign-up/ Google CloudIntégration de Generative AI partout https://cloud.google.com/blog/products/ai-machine-learning/google-cloud-launches-new-ai-models-opens-generative-ai-studio
Nouvelles VM A3 avec les GPUs H100 de Nvidia, idéal pour l’entrainement de modèles de machine learning, avec 26 exaFlops de performance https://cloud.google.com/blog/products/compute/introducing-a3-supercomputers-with-nvidia-h100-gpus Trois nouveaux modèles LLM dans Vertex AI : Imagen (private preview) pour générer des images, Codey pour la génération de code, et Chirp pour la génération de la parole supportant 100 langues différentes avec 2 milliards de paramètres vocaux Model Garden : avec les modèles de machine learning y compris externes et open sources Ajout des embeddings pour le texte et l’image RLHF, Reinforcement Learning from Human Feedback bientôt intégrer pour étendre Vertex AI tuning et prompt design avec une boucle de feedback humaine Generative AI Studio pour tester ses prompts zero-shot, one-shot, multi-shots Duet AI pour Google Cloud https://cloud.google.com/blog/products/application-modernization/introducing-duet-ai-for-google-cloud Assistance de code dans VSCode et bientôt les IDEs JetBrains grâce au plugin Cloud Code, et dans Cloud Workstations. Intégration dans les IDEs d’un chat pour comme un compagnon pour discuter d’architecture, trouver les commandes à lancer pour son projet Le modèle de code de Codey fonctionne sur une vingtaine de languages de programmation, mais un modèle fine-tuné a été entrainé sur toute la doc de Google Cloud, donc pourra aider en particulier sur l’utilisation des APIs de Google Cloud, ou l’utilisation de la ligne de commande gcloud Duet AI est aussi dans App Sheet, la plateforme low/no-code, et permettra de chatter avec un chatbot pour générer une application App Sheet Quoi de neuf dans Firebase https://firebase.blog/posts/2023/05/whats-new-at-google-io WebArticle : https://developers.googleblog.com/2023/05/io23-developer-keynote-recap.html
Flutter 3 et Dart 3.10 https://io.google/2023/program/7a253260-3941-470b-8a4d-4253af000119/ WebAssembly https://io.google/2023/program/1d176349-7cf8-4b51-b816-a90fc9d7d479/ WebGPU https://io.google/2023/program/0da196f5-5169-43ff-91db-8762e2c424a2/ Baseline https://io.google/2023/program/528a223c-a3d6-46c5-84e4-88af2cf62670/ https://web.dev/baseline/ Nous contacterPour 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/
Thu, 25 May 2023 - 1h 44min - 296 - LCC 295 - La librairie rentre dans le cadre
Dans cet épisode, Arnaud, Antonio et Emmanuel décortiquent les nouvelles d’avril et mai. On y discute Java 20, ecrire un profiler de zéro, Quarkus 3 (encore !), Micronaut 4, Podman, JReleaser, GitHub, CloudEvent, GraphQL, licenciements (encore !), et de la question a 1000 francs: librarie vs framework, quelle différence? Mais pas que.
Enregistré le 12 mai 2023
Téléchargement de l’épisode LesCastCodeurs-Episode–295.mp3
News LangagesUn descriptif du changement de paiement d’Oracle JDK https://horstmann.com/unblog/2023–02–23/
Cay Horstmann Explique OpenJDK avec plusieurs distributeurs Prefère Adoptium dont celle par défaut est Eclipse Temurin Pour Oracle, beaucoup d’options de licenses (no-fee, binary code, OTM license) Oracle depense beaucoup pour Java La license en discussion est Java SE Universal Subscription Licensing passage de license par CPU (Java SE advanced) vers license par employé (et une assiete large) Bref si vous êtes concernés, passer sur OpenJDK: Adoptium, ou d’autres vendeursJava 20 est sorti : qu’y a t’il de nouveau dans Java 20 par rapport à Java 19 ? https://foojay.io/today/its-java–20-release-day-heres-whats-new/
L’article fait le point sur ce qu’il y a de nouveau par rapport à la précédente release : 4ème preview du pattern matching pour switch 2nde preview des record patterns 2nde preview des virtual threads incubation des scoped values (similaire au thread locals mais pour les virtual threads) 2nde incubation de la structured concurrency 2nd preview de foreign function et memory API 5ème incubation de la vector API (pour utiliser les instructions vectorielles des processeurs) La liste des JEPs : https://openjdk.org/projects/jdk/20/ Les release notes : https://jdk.java.net/20/release-notes dans le pattern matching switch: guarde when Record pattern: utilisation de var. utilisable dans les for aussi maintenant for (Delay(var timeInMS) : delays) quelques changements autour de l’API Thread est non preview (main API) Les ScopedValue sont comme les threadlocal par (virtual) thread mais elles sont immuables une fois écrites. use cases: copie d’etat pour des données non changeantes pour le virtual thread Serait interessant d’avoir des details dessusPDF 2.0 maintenant un vrai format ISO ouvert et gratuit https://www.pdfa.org/sponsored-standards/
standard dispo sans cout versions precedentes étaient payantes clarifications et corrections de beaucoup de corner cases LibrairiesÉcrire un Profiler en 240 lignes de Java https://mostlynerdless.de/blog/2023/03/27/writing-a-profiler-in–240-lines-of-pure-java/
Ce n’est peut-être pas si compliqué d’écrire soi même un Java Profiler ! Et justement cet article nous montre comment le faire, en créant un Java Agent, en analysant les stacks d’appel, et à la fin en créant même un flame-graph en HTML Très didactique ! fondamentallement: appeler Threads:getAlStackStrace reguilerement et faire une liste des methodes visibles et créer un flamegraph a partir de ces donnéesL’équipe de Flutter partage les grands thèmes de sa roadmap https://flutter.dev/go/strategy–2023
Performance, interopérabilité, portabilité, écosystème, sécurité, fondamentaux (comme la documentation, la fidélité des UI natives, adresser les issues publiques)Quarkus 3 est sorti https://quarkus.io/quarkus3/
on a deja couvert Hibernate ORM 6.2 nouvelle DevUI et admin sur un port different Support for Pact quarkus deply et extensibilite de la CLI avec des nouveaux verbes dev services for Kubernetes simule un Kube pour tester les calls vers l’API Kube Java 11 et 17 (recommendé) Jakarta EE Eclipse MicroProfile 6Une librairie en Java spécialement pour l’astronomie par Cédric Champeau https://melix.github.io/blog//2023/04–22-introducing-astro4j.html
différentes librairies et applications pour traiter les images issues de sol’ex qui permet de prendre des photos du soleilMicronaut 4 milestone 2 est sorti. Les nouveautés de Micronaut 4 https://docs.micronaut.io/4.0.0-M2/guide/index.html#whatsNew
Kotlin 1.8.0 Experimental Support for Kotlin Symbol Processing (KSP) Apache Groovy 4.0 Core Changes Java 17 Baseline Improved Modularity GraalVM Metadata Repository and Runtime Initialization Completed javax to jakarta Migration Expression Language Injection of Maps Arbitrary Nesting of Configuration Properties Improved Error Messages for Missing Configuration Improved Error Messages for Missing Beans Tracking of Disabled Beans HTTP Changes Initial Support for Virtual Threads (Loom) Rewritten HTTP layer Annotation-Based HTTP Filters JDK HTTP Client Infrastructure5 choses à savoir sur Podman Desktop pour un utilisateur Docker https://podman-desktop.io/blog/5-things-to-know-for-a-docker-user
Une UI unique pour travailler avec différents moteur de conteneurs, et pas uniquement Docker Compatible avec Docker avec un mode adapté pour fonctionner aussi avec la docker CLI ou docker.sock pour les sockets Support de Compose Support de Kubernetes Securité : on peut utilisé rootless sans avoir les privilèges root socket est particulierement utile pour TestContainer compose n’est pas supporte en tant que tel mais on pout faire utiliser podman par compose podman peut emuiler / executer des definitions de pods si besoin d’exposer des portsMon, 15 May 2023 - 1h 32min - 295 - LCC 294 - A Devoxx France 2023 en chair en os et en béret
Les Cast Codeurs font la clôture de Devoxx France 2022 en chair, en os et en béret.
Enregistré le 14 avril 2023
Téléchargement de l’épisode LesCastCodeurs-Episode–294.mp3
InterviewLa vidéo du direct Devoxx France qui est plus facile à suivre se trouvera sur YouTube.
Nous contacterSoutenez 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/
Mon, 17 Apr 2023 - 55min - 294 - LCC 293 - Interview Maven et builds reproductibles avec Hervé Boutemy
Dans le cocon de jchateau, Hervé Boutemy se fait interviewer par Charles Sabourdin sur Maven 3, 4, 5 et sur les builds reproductibles. Un grand merci à Charles pour son passage derrière le micro.
Enregistré le 18 mars 2023
Téléchargement de l’épisode LesCastCodeurs-Episode–293.mp3
InterviewLes builds reproductibles Les builds reproductibles sur la JVM Les builds reproductibles avec Maven
Nous contacterPour 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/
Thu, 06 Apr 2023 - 56min - 293 - LCC 292 - Enterprise Go Beans
Cet épisode nouvelles discute d’améliorations dans le JDK, d’Hibernate 6, de Service Weaver, de la fin d’options dans DockerHub pour certains projets open source, de Gradle, de cURL et pleins d’autres choses encore.
Enregistré le 17 mars 2023
Téléchargement de l’épisode LesCastCodeurs-Episode–292.mp3
News LangagesQuelle version de JDK utiliser en fonction des fonctionnalités que l’on souhaite utiliser mais aussi du long time support https://whichjdk.com/
JetBrains propose une formation Rust intégrée aux IDEs https://blog.jetbrains.com/rust/2023/02/21/learn-rust-with-jetbrains-ides/
Un apprentissage directement intégré à l’IDE Avec un plugin “Academy” dédié, qui rajoute un troisième panneau avec les instructions, les explications, et on fait des exercices dans la partie IDE Une chouette manière d’apprendre intégrée directement à son IDE Chacun doit pouvoir créer ses propres ressources d’apprentissage, et on pourrait appliquer ça à des frameworks, des outils, ou pourquoi pas son propre projet informatique !Retravail de classes du JDK Bits / ByteArray vers un usage via VarHandle pour le swapping de bits dans Java 21 https://minborgsjavapot.blogspot.com/2023/01/java–21-performance-improvements.html
petit changement mais utilisé par beaucoup de classes comme ObjectInputStream RandomAccessFile etc améliore la serialization en javaRajout de la notion de “sequenced collection” dans la hiérarchie des collections, planifié pour JDK 21 https://www.infoq.com/news/2023/03/collections-framework-makeover/
va permettre de codifier les collections qui ont un ordre donné (pas forcément trié) rajouter aussi des méthodes pour traverser des collections séquentielles à l’envers, ou pour récupérer ou ajouter un élément au début ou à la fin d’une collection ordonnée aujourd’hui ces methodes sont eparpillées dans les implémentaions et n’avaient aps de contrat communLe guide ultime des virtual threads https://blog.rockthejvm.com/ultimate-guide-to-java-virtual-threads/
un très long article qui couvre le sujet des nouveaux virtual threads comment en créer comment ils fonctionnent le scheduler et le scheduling coopératif les “pinned” virtual threads (lorsqu’un thread virtuel est bloqué dans un vrai thread, par exemple dans un bloc synchronized ou lors d’appel de méthondes natives) les thread local et thread pools LibrairiesQuarkus 3 alpha 5 avec Hibernate ORM 6 et une nouvelle DevUI https://quarkus.io/blog/quarkus–3–0–0-alpha5-released/
passage d’Hibernate 5 a 6 (donc testez! switch de compatibilité supérieur pour aider la transition https://github.com/quarkusio/quarkus/wiki/Migration-Guide–3.0:-Hibernate-ORM–5-to–6-migration#database-orm-compatibility (DB interaction esp schema StatelessSession injectable Gradle 8 nouvelle DEvUI (nouveau look and feel, plus extensible pour els extensions et pplus facile a utiliser, va au dela des integrations d’extension (config etc) quarkus deploy dans la CLI, gradle et maven: deploie dans Kube, knative, OpenShiftLa route vers Quarkus 3, article sure infoq https://www.infoq.com/news/2023/03/road-quarkus–3/
Jakarta EE, ORM 6, Microprofile 6, virtual threads, io_uring, ReactiveStreams=> Flow io_uring reduit les copie de buffer entre userspace et kernel space pas de support JPMS en vue mais Red Hat contribue a project Leyden Camel extensions, attendez Camel 4 (passage Jakarta EE)Interview de Geert Bevin, l’auteur du framework Java RIFE2 https://devm.io/java/rife2-java-framework
Google annouce Service Weaver https://opensource.googleblog.com/2023/03/introducing-service-weaver-framework-for-writing-distributed-applications.html
EJB is back (Enterprise Go Beans :D) ecrire en tant que modular monolith permet au deploiement décider ce qui est distribué basé sur leur experience du surtout de maintance des microservices (contrats plus difficiles a casser - dbesoin de coordination de rollout etc) dans la communauté des entousiastes et des gens concernés par les 10 falaccies of distributed computing et le fait de cacher les appels distants EJB et corba avant cela ont été des échecs de ce point de vue la ils n’expliquement pas comment le binding de nouveax contrats et de deploiement se fait de maniere transparente des deployeurs implementables (go et GKE initialement)Etude d’opinion de certains utilisateurs de Jakarta EE (OmniFaces community) https://omnifish.ee/2023/03/10/jakarta-ee-survey–2022–2023-results/
biaisée donc attention Java EE 8 suivi par Jakarta EE 8 et derriere Jakarta EE 10 etc WildFly puis Payara puis glassfish ensuite tomee et JBoss EAP gens contents de leurs serverus d’app sand Weblogic et Websphere les api utilisées le plus JPA, CDI, REST, Faces, Servlet, Bean Validation, JTA, EJB, EL etc Produit microprofile: Quarkus puis WildFlky puis Open Liberty puis Payara et Helidon Dans microprofile: Config, rest client, open api, health et metric sont les plus utilisésComment utiliser des records et Hibernate https://thorben-janssen.com/java-records-embeddables-hibernate/
pas en tant qu’entité encore (final, pas de constructeur vide) mais en tant qu’@Embeddable records sont immuable dans hibernate 6.2, c’est supporté par default (annoter le record @Embeddable Ca utilise le contrat EmbeddableIntentiatorCinq librairies Java super confortables https://tomaszs2.medium.com/5-amazingly-comfortable-java-libraries–887802e240de
mapstruct mapper des entités en DTO jOOQ requête de bases de données typées WireMock mocker des API ou être entre le client et l’API pour ne mocker que certaines requêtes Eclipse Collections : pour rendre le code plus simple et facile à comprendre. Attention à la,surface d’attaque HikariCP connection pool rapide - agroal est dans la meme veine mais supporte JTA. C’est ce qui est dans Quarkus.Retour d’expérience sur Hibernate 6 https://www.jpa-buddy.com/blog/hibernate6-whats-new-and-why-its-important/
côté APIs et côté moteur jakarta persistence 3 ; java 11 annotations de types hibernate sont typesafe support des types JSON OOTB meilleur support des dates avec @TimeZoneStorage soit natif de la base soit avec une colonne séparée changement dans la génération des ID (changement cassant) mais stratégies de noms historique peut être activé Options autour de UUID (Time base et IP based) composite id n’ont plus besoin d’être serialisable type texte long supportés via @JdbcTypeCode multitenancy (shared schema, resolver de tenant a plugger) read by position (SQL plus court car sans alias, deserialisarion plus rapide, moins de joins dans certains cas) modele sous jacent commun entre HQL et l’api criteria et donc même moteur meilleure génération du SQL et plus de fonction SQL modernes réduisant le gap entre HQL et SQL ronctions analytiques et fenêtre quand la base les supportent graphe traverse en largeur plutôt qu’en profondeur (potentiellement plus de join donc bien mettre lazy sur vos associations) CloudDocker supprime les organisations open source sur DockerHub https://blog.alexellis.io/docker-is-deleting-open-source-images/
Les projets open source risquent de devoir passer de 0 $ à 420 $ par an pour héberger leurs images Rétropédalage de Docker https://www.docker.com/blog/we-apologize-we-did-a-terrible-job-announcing-the-end-of-docker-free-teams/ WebUne base de connaissance sur le fonctionnement et les bonnes pratiques autour des WebHooks https://nordicapis.com/exploring-webooks-fyi-the-webhooks-knowledge-center/
Guillaume a refondu son blog https://glaforge.dev/
Cette fois ci, c’est un site web statique, généré avec Hugo, avec des articles en Markdown, hébergé sur Github Pages, buildé / publié automatiquement par Github Actions OutillageGradle 8.0 est sorti https://docs.gradle.org/8.0/release-notes.html
Une CLI connectée à OpenAI’s Davinci model pour générer vos lignes de commandes https://github.com/TheR1D/shell_gpt
sgpt -se "start nginx using docker, forward 443 and 80 port, mount current folder with index.html" -> docker run -d -p 443:443 -p 80:80 -v $(pwd):/usr/share/nginx/html nginx -> Execute shell command? [y/N]: yUn petit outil en ligne basé sur le modèle GPT–3 qui permet d’expliquer un bout de code https://whatdoesthiscodedo.com/g/db97d13
Copiez-collez un bout de code de moins de 1000 caractères, et le modèle de code de GPT–3, et l’outil vous explique ce que fait ces quelques lignes de code Assez impressionnant quand on pense que c’est un modèle de prédiction probabiliste des prochains caractères logiques Certaines réponses donnent vraiment l’impression parfois que l’outil comprends réellement l’intention du développeur derrière ce bout de codeGit: Comment rebaser des branches en cascade https://adamj.eu/tech/2022/10/15/how-to-rebase-stacked-git-branches/
native-image va être inclu dans la prochaine version de GraalVM JDK. Plus besoin de gu install native-image https://github.com/oracle/graal/pull/5995
Si vous utilisez l’outil Mermaid pour faire des graphes d’architecture, d’interactions, etc, il y a un petit cheatsheet sympa qui montre comment faire certains diagrammes https://jojozhuang.github.io/tutorial/mermaid-cheat-sheet/
Un site avec plein de trucs et astuces sur psql, le langage SQL de PostgreSQL https://psql-tips.org/
CURL a 25 ans ! https://daniel.haxx.se/blog/2023/03/10/curl–25-years-online-celebration/
Son créateur, Daniel Stenberg, est toujours à la tête du projet cURL est utilisé dans d’innombrables projets par défaut dans plein de systèmes d’exploitationCédric Champeau explique le concept de version catalog de Gradle et comment il améliore la productivité https://melix.github.io/blog//2023/03–12-micronaut-catalogs.html
permet de réduire le temps et l’effort nécessaire à gérer la version de ses dépendances apport aussi plus de sécurité, de flexibilité, pour s’assurer qu’on a les bonnes versions les plus récentes des dépendances et qu’elles fonctionnent bien entre elles ArchitectureLa pyramide des besoins du code de qualité https://www.fabianzeindl.com/posts/the-codequality-pyramid
le bas de la pyramide supporte le haut performance de build performance de test testabilité qualité des codes de composants fonctionalités performance du code pour chaque bloc, il explique les raisons, ses definitions et des astuces pour l’ameliorer par exemples les fonctionalites changent et donc build, testabilité et qualite de code permet des changements légers en cas de changement dans les fonctionalités perf viennent ensuite ("premature opt, root of all evil), regader des besoins globaux MéthodologiesLe DevSusOps est né https://www.infoq.com/news/2023/02/sustainability-develop-operation/?utm_campaign=i[…]nt&utm_source=twitter&utm_medium=feed&utm_term=culture-methods
bon serieusement, comment on couvre avec un nom pareil sans déraper :man-facepalming: ah dommage Micreosoft rejoints la FinOps foundation https://www.infoq.com/news/2023/02/microsoft-joins-finops-org/?utm_campaign=infoq_content&utm_source=twitter&utm_medium=feed&utm_term=Cloud Imagine si ils avaient rejoint la DevSusOps fondation SécuritéPlein de choses qu’on peut faire avec des Yubikeys https://debugging.works/blog/yubikey-cheatsheet/
Pour générer des time-based one-time passwords, pour l’accès SSH,, pour sécuriser un base Keepass, comme 2FA pour le chiffrement de disque, pour la vérification d’identifiant personnel, pour gérer les clés privées… Loi, société et organisationLe fabricant de graveurs de CPU hollandais ASML se voit interdire d’exporter ses technologies vers la chine https://www-lemagit-fr.cdn.ampproject.org/c/s/www.lemagit.fr/actualites/365532284/Processeurs[…]le-escalade-dans-les-sanctions-contre-la-Chine?amp=1
en tous cas les technologies de gravure des deux dernières generations de la pression commerciale on passe au registre d’exclusion par decision militaire ASML s’était fait espionner récemment CAnon et Sony aussi dans la restrictionMeta supprime de nouveau 10000 emplois soit 25% au total depuis la fin de l’année dernière https://www.lesechos.fr/tech-medias/hightech/meta-va-supprimer–10000-postes-de-plus–1915528
Rubrique débutantBouger les éléments d’une liste https://www.baeldung.com/java-arraylist-move-items
discute le concept d’array list en dessous et donc le coût d’insérer au milieu decouverte de Collections.swap (pour intervertir deux elements) decouverte de Collections.rotate pour “deplacer” l’index zero de la liste ConférencesLa liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs :
15–18 mars 2023 : JChateau - Cheverny in the Châteaux of the Loire Valley (France) 23–24 mars 2023 : SymfonyLive Paris - Paris (France) 23–24 mars 2023 : Agile Niort - Niort (France) 30 mars 2023 : Archilocus - Online (France) 31 mars 2023–1 avril 2023 : Agile Games France - Grenoble (France) 1–2 avril 2023 : JdLL - Lyon 3e (France) 4 avril 2023 : AWS Summit Paris - Paris (France) 4 avril 2023 : Lyon Craft - Lyon (France) 5–7 avril 2023 : FIC - Lille Grand Palais (France) 12–14 avril 2023 : Devoxx France - Paris (France) 20 avril 2023 : WordPress Contributor Day - Paris (France) 20–21 avril 2023 : Toulouse Hacking Convention 2023 - Toulouse (France) 21 avril 2023 : WordCamp Paris - Paris (France) 27–28 avril 2023 : AndroidMakers by droidcon - Montrouge (France) 4–6 mai 2023 : Devoxx Greece - Athens (Greece) 10–12 mai 2023 : Devoxx UK - London (UK) 11 mai 2023 : A11yParis - Paris (France) 12 mai 2023 : AFUP Day - lle & Lyon (France) 12 mai 2023 : SoCraTes Rennes - Rennes (France) 25–26 mai 2023 : Newcrafts Paris - Paris (France) 26 mai 2023 : Devfest Lille - Lille (France) 27 mai 2023 : Polycloud - Montpellier (France) 31 mai 2023–2 juin 2023 : Devoxx Poland - Krakow (Poland) 31 mai 2023–2 juin 2023 : Web2Day - Nantes (France) 1 juin 2023 : Javaday - Paris (France) 1 juin 2023 : WAX - Aix-en-Provence (France) 2–3 juin 2023 : Sud Web - Toulouse (France) 7 juin 2023 : Serverless Days Paris - Paris (France) 15–16 juin 2023 : Le Camping des Speakers - Baden (France) 20 juin 2023 : Mobilis in Mobile - Nantes (France) 20 juin 2023 : Cloud Est - Villeurbanne (France) 21–23 juin 2023 : Rencontres R - Avignon (France) 28–30 juin 2023 : Breizh Camp - Rennes (France) 29–30 juin 2023 : Sunny Tech - Montpellier (France) 29–30 juin 2023 : Agi’Lille - Lille (France) 8 septembre 2023 : JUG Summer Camp - La Rochelle (France) 19 septembre 2023 : Salon de la Data Nantes - Nantes (France) & Online 21–22 septembre 2023 : API Platform Conference - Lille (France) & Online 25–26 septembre 2023 : BIG DATA & AI PARIS 2023 - Paris (France) 28–30 septembre 2023 : Paris Web - Paris (France) 2–6 octobre 2023 : Devoxx Belgium - Antwerp (Belgium) 10–12 octobre 2023 : Devoxx Morroco - Agadir (Morroco) 12 octobre 2023 : Cloud Nord - Lille (France) 12–13 octobre 2023 : Volcamp 2023 - Clermont-Ferrand (France) 12–13 octobre 2023 : Forum PHP 2023 - Marne-la-Vallée (France) 19–20 octobre 2023 : DevFest Nantes - Nantes (France) 10 novembre 2023 : BDX I/O - Bordeaux (France) 6–7 décembre 2023 : Open Source Experience - Paris (France) 31 janvier 2024–3 février 2024 : SnowCamp - Grenoble (France) 1–3 février 2024 : SnowCamp - Grenoble (France) Nous contacterPour 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/
Mon, 20 Mar 2023 - 1h 35min - 292 - LCC 291 - ChatGPT licencie 15% des bisounours
Antonio, Guillaume et Emmanuel discutent de licence Oracle pour Oracle JDK, de JEPs, de Flutter, d’Hibernate, de Mokito, de Kafka, de (not so) Big Data, du parsing de YAML, de ChatGPT, de licenciements, de platform engineering, et de nombres flottants.
Enregistré le 10 février 2023
Téléchargement de l’épisode LesCastCodeurs-Episode–291.mp3
News LangagesOracle a changé une des licences de Oracle Java https://redresscompliance.com/oracle-java-licensing-changes-explaned-free/
plus d’utilisateurs nommé mais basé sur tous les employés et même les employés de vos soustraitant Bref, ca va faire cher et si vous itulisez plus de 50k processeurs, vous payez en plus Un autre article d’IDC https://blogs.idc.com/2023/01/30/oracle-java-subscription-changes-what-is-the-impact-to-customers/ Message a caractère informatif: il y a d’autres distributions de OpenJDK supportées de différents vendeurs ; ou la version non supportéeInfoQ fait un résumé des dernières nouvelles Java, les mises à jour sur les JEPs, les dernières releases https://www.infoq.com/news/2023/01/java-news-roundup-jan23–2023/
sur Java specificquement des mises à jour de drafts autour du projet amber (primitive types in patterns etc) Une JEP pour discuter du future process des JEP (evolutions) JDK 20 en rampdown phase avec en nouvelles features: scoped values, record patterms, pattern matching for switches, virtual threads, structured concurrency - toutes en incubation ou preview https://www.infoq.com/news/2023/02/java-news-roundup-jan30–2023/ Le framework RIFE fait son grand retour !Sortie de Go 1.20 https://go.dev/doc/go1.20
mais pas de gros changements, juste des améliorations de la toolchain, des librairies…Recap de la conférence Flutter Forward 2023 https://medium.com/@flutterqueen/flutter-forward–2023-recap–8f6da4876e3
Annonces de Flutter 3.7 et Dart 2.19 Amélioration de la performance graphique (utilisation de Impeller au lieu de Skia) Layout adaptatif Barres et sous-barres de menu Validation de release iOS Support de Material 3 Nouveaux widgets Support de ses propres shaders Facilitation de l’intégration native avec FFIgen et JNIgen Support de la 3D Support de WebAssembly Support de RISC-V Possibilité d’intégrer une app Flutter comme un élément HTML dans un page HTML Un toolkit spécifique pour les applis de News Côté langage Dart, il devrait bientôt y avoir du pattern matching LibrairiesLes bonnes pratiques d’accessibilité pour les applications en Flutter https://medium.com/flutter-community/creating-inclusive-apps-with-flutter-best-practices-for-accessibility-c7cebe0beb4d
4 grands thèmes dans l’article : l’accessibilité dans Flutter, les fonctionnalités intégrées à Flutter pour l’accessibilité, les meilleurs pratiques pour rendre les apps Flutter accessibles, et tester / débugguer l’accessibilité Flutter supporte le text contrast, les screen readers, les labels sémantiques, l’utilisation au clavierComment logger les requetes Hibernate ORM https://www.adeliosys.fr/articles/hibernate-monitoring/
log brut via un logger les requetes lentes (plus lentes que n millisecondes) les metriques plus avancées (Statement, requetes, temps acquisition de connections, cache) Exposable via JMX le pool de connexionSortie de Mockito 5, avec la possibilité de mocker des constructeurs, des méthodes statiques et des classes finales https://www.infoq.com/news/2023/01/mockito–5/
avant, c’était déjà possible de le faire avec mockito-inline mais maintenant c’est “out of the box” la version Java minimale passe de Java 8 à Java 11 CloudKubernetes Java client ajouté le support de kubernetes 1.25 https://www.infoq.com/news/2023/01/kubernetes-java-client/?utm_campaign=infoq_content&utm_source=twitter&utm_medium=feed&utm_term=java
ajout d’APIs dynamique pour faire du monitoring générique L’article montre l’API utilisée en alternative a certaines commandes kubectl fabric8 est une alternative DataBig data est mort https://motherduck.com/blog/big-data-is-dead/
fondateur de BigQuery Puis regardé comment les utiilsateurs utilisaent Big Query Et pas un probleme de big data Retour des moteurs classiques MySQL / PostgreSQL vs MongoDB etc la plupart des utilisaeur de big query etaient sous les 1Tb et 50% at 100GB ou moins doncle deluge de données n’est pas arrivé le shift moderne c’est de detacher le stockage du compute les données grossissent plus vite que les besoin en compute sur ces données la taille du workload est sur un petit sous ensemble de la taille des données entiéres (90% des requetes bigquery sont sur 100M de données) bases de données modernes sont force a travailler sur un sous ensemble des données pression pour scocker moins de données sur les equipes données sont requetees dans la journée, dans la semaine et ensuite rarement touchées donc big data = whatever doesn’t fit on a single machine, est de moins en moins vrai map reduce en 2004 et machines de maintenant entre 2 et 4 ordre de grandeurs de RAM en plus avant on se foutait de supprimer des données mais GDPR et responsabilité pénales change la donne data putrefaction comme le bit rot questionnaire pour savoir si les prochaines generations de data processing seront suffisant pour vous distribution est une raison par contre OutillageTous les soucis avec YAML https://ruudvanasseldonk.com/2023/01/11/the-yaml-document-from-hell
article qui explique la complexité de YAML et ses incohérences Comparaison a la simplicité de JSON les commentaires JSON enlevés en 2005 parce que les gens mettaient des meta instructions pour les parseurs et l’implementation des commentaire était très complexe 22:22 est une nombre en base 60 vs 80:80 qui ne l’est pas (enleve en YAML 1.2 - **.png est invalide, ** est une reference vers une ancre - !.git est parsé différemment par les parseurs: ! est une echape pour exprimer un type natif du langage (e.g. Java) - ca veut dire que charger un YAML inconnu est non sûr - fr - de - no retourne ["fr", "de", no] le problème Norvège | changé en tre YAML 1./1 et 1.2 mais l;es parseurs gardent les anciens comportements:. Boolean: on, yes, y on: "let's go" est convertit en { "True": "let's go" } parce que on est boolean et accepté en clé non String dans YAML version: [ 9.5.1, 12.13] -> { "version": [ "9.5.1", 12,13 ] } les chiffres non echapé par un guillement syntax highlighting est donc dependant les templates dans yaml ca court a la cata altewrnatives: TOML, JSON, sous ensemble de YAML (toujours quoter les chaines)ChatGPT, on lui attribue plus de magie qu’il n’en a https://arxiv.org/pdf/2212.03551.pdf
un article scientifique mais de 8 pages seulement ChatGPT entant que large language models (LLM) et un prompt Engineering au dessus (le conversational agent) ChatGPT c’est une exécution du modèle Next Token Prediction C’est de la statistique brute mais excrément versatile dans ses usages Tendance à anthropomorphismes parce qu’on a passé la sensation de uncanny valley Considérant la distribution statistique des mots du corpus public, quels mots ont le plus de chance de venir après Pas de relation au monde, aux objets et aux interactions d’êtres partageant le même langage Pas des faits, ChatGPT ne sait pas, n’a pas d’intention C’est donc un outil génial pour éliminer un paquet du bullshit work de tous les jours, pas les gens qui le font Est-ce que les capacités sont émergentes ? LLM fondamentalement est hors du conceptLe méta tutoriel sur le parsing avec Antlr https://tomassetti.me/antlr-mega-tutorial/
Couvre différents langages don’t Java, Python, JavaScript et C# Explique les différentes phases de lexing, de parsing Comment résoudre les ambiguïtés avec les prédicats sémantiques Comment transformer du code Comment tester son parseur Et autre trucs et astucesUn tutoriel sur comment releaser un module Java avec Maven, JReleaser et Github Actions https://foojay.io/today/how-to-release-a-java-module-with-jreleaser-to-maven-central-with-github-actions/
montre le setup necessaire (clé GPG, pripriété du groupid, config maven etc montre comment faire la release à la main comment l’automatiser via GitHub actionsUn tutoriel expliquant comment utiliser CRaC pour vos applis Java dans un conteneur https://foojay.io/today/how-to-run-a-java-application-with-crac-in-a-docker-container/
Coordinated Restore at Checkpoint (développé par Azul) Permet de créer des snapshots d’une application Java Pour qu’elle puisse être relancée rapidement après son démarrage, son warmupUne intro à Kafka en français https://blog.octo.com/kafka-repond-il-a-mon-besoin/
Maven 3.9 sorti https://lists.apache.org/thread/0tfr7t2j2ddbv4gjvxm47yohtk3dg6b3
https://maven.apache.org/docs/3.9.0/release-notes.html Java 8 nécessaire pour lancer Maven Pas mal de nettoyage de code et de dépendances pour préparer Maven 4. Certains plugins mal conçus (ex: qui ne déclare pas la dep plexus-util) peuvent être incompatibles. .mvn/maven.config dit désormais avoir 1 arg par ligne Maven avertit maintenant sur l’utilisation de plugins obsolètes, objectifs, paramètres, etc. Ajout de la prise en charge de l’invocation « mvn pluginPrefix:version:goal » et mise à jour des logs (pour simplifier le copier/coller). Ajout d’activation de profil par packaging. Maven 3.9.0 est désormais entièrement compatible avec la nouvelle ligne 3.x d’installation et de déploiement de plugins (les versions précédentes préviennent à ce sujet). Ajout du support du repo local partagé - https://maven.apache.org/resolver/local-repository.html#shared-access-to-local-repository Ajout de la possibilité de splitter le repo local (releases, vs snapshots…) et possibilité de gérer des workspaces - https://maven.apache.org/resolver/local-repository.html#split-local-repository Filtrage des dependences par repository - https://maven.apache.org/resolver/remote-repository-filtering.html Chained local repository (pour l’isolation entre “outer” and “inner” builds) - https://issues.apache.org/jira/browse/MNG–7612 Attention: Il y aurait une regression (10%) sur les perfs de gros projets - https://issues.apache.org/jira/browse/MNG–7677MéthodologiesDe operation engineering vers platform engineering https://www.infoq.com/news/2022/10/platform-devops-summary/
et quand le sysadmin devient de nouveau sexy grosse tendance et beaucoup de discussions autour du la platform engineering une plateforme imposée aux devs mais sexy donc c’est bon cette fois: plus serieusement customer focus - la fameuse developer experience Requilibrage entre dev vs ops puis devops plat et maintenant ceci. Sans enlever devops car devops amene une charge mentale lourde objectif developper la “core business value” et donc supporter cela avec une Internal DEveloper Platform Backstage est la GUI au dessus mais une IDP est plus profonde Infra <-> Platform <-> dev teams IDP: ne pas avoir a faire tourner l’infra (pour une equipe dev metier) Et cela permet d’ajouter des controles “entreprise”: cout, gouvernance etc C’est un pendule qui se reequilibre, mais n’oublions pas que les devs aime le jeu, comme les otaries. Pas pisser du code metier le plus vite possible. Est-ce que les IDP seront populaires, c’est la grande question un contre point dans l’articl;e: IDP are expensive and hard to do, offer a mediocre service at best, destroy velocity, and create bad incentives lié a la notion de golden path SécuritéUne liste de binaires Unix qui peuvent être utilisés pour bypasser des systèmes malconfigurés https://gtfobins.github.io/
apparemment même des images type distroless peuvent être affectées risques potentiels : accès à un shell, des privilèges élevés, transférer des fichiers, etc. Loi, société et organisationTwitter desactive l’API pour les clients qui n’affichent pas les pubs de Twitter (comme Tweetbot https://twitter.com/tweetbot/status/1613763746437947394)
et paf le support de twitter sur ton ordiOla Bini déclaré innocent https://peoplesdispatch.org/2023/02/01/digital-rights-activist-ola-bini-declared-innocent-by-ecuadorian-court
Arrété en 2019 en Equateur Accusé d’avoir eu access à des ordinateurs et des systemes de communication En même temps que Julian Assange était renvoyé de l’ambassage Equatorienne de Londres Il a fait 70 jours de prisonGoogle a viré son équipe Open Source https://www.infoworld.com/article/3686511/google-blew-it-with-open-source-layoffs.html
gros efforts autour de l’open sourcing (Kubernetes, Tensor flow) paie des dividendes viré par les tetes de gondoles mais ceux qui avaient fait des différences Open Source program, Google Summer of Code Grosse influeence interne qui se perd, risque pour le futur ca reste l’opinion de Matt Asay ( :stuck_out_tongue_winking_eye: )Dans la saga Twitter, après l’arrêt des clients Twitter tiers, maintenant l’accès même à l’API va devenir payant https://twitter.com/twitterdev/status/1621026986784337922
donc par exemple, on ne pourra même plus créer des bots gratuitement, comme faire des annonces automatiques de release, etc ah bah merde c’est ce que je fais pour les cast codeurs :/On peut rajouter son Mastodon sur son profil Github https://github.blog/changelog/2023–02–02-add-more-social-links-to-your-user-profile/
Pratique pour la vérification Mastodon ! On pouvait seulement mettre un lien vers Twitter, maintenant on peut avoir plusieurs profils de médias sociaux différents Rubrique débutantJulia Evans a écrit deux articles intéressants sur les problèmes avec les nombres flottants et avec les nombres entiers https://jvns.ca/blog/2023/01/13/examples-of-floating-point-problems/ https://jvns.ca/blog/2023/01/18/examples-of-problems-with-integers/
les problèmes classiques d’overflow le grand écart entre les grands nombres flottants des cas concrets de valeur approchée (proche à epsilon près), ou avec JavaScript qui interprète les entiers comme des flottants et du coup interprète mal des grands ID en JSON des clés primaires trop petites, les bizarreries de l’encodage des nombres signés ou nonQuels sont les types de mémoires dans la JVM ? https://www.baeldung.com/java-jvm-memory-types
Heap Stack Native Direct je pense que l’article a des incoherences, Ent ous cas native vs direct est mal expliqué. Un truc pas super clair mais plus clair est ici sur native vs direct: https://stackoverflow.com/questions/30622818/what-is-the-difference-between-off-heap-native-heap-direct-memory-and-native-m c’est en gros direct vers du hardware (IO/ network etc) memory mapped file permet d’aller au dela de la limit e de memoire vive du systeme ConférencesLa liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs :
9–11 février 2023 : World AI Cannes Festival - Cannes (France) 16–19 février 2023 : PyConFR - Bordeaux (France) 7 mars 2023 : Kubernetes Community Days France - Paris (France) 15–18 mars 2023 : JChateau - Cheverny in the Châteaux of the Loire Valley (France) 23–24 mars 2023 : SymfonyLive Paris - Paris (France) 23–24 mars 2023 : Agile Niort - Niort (France) 30 mars 2023 : Archilocus - Online (France) 31 mars 2023–1 avril 2023 : Agile Games France - Grenoble (France) 1–2 avril 2023 : JdLL - Lyon 3e (France) 4 avril 2023 : AWS Summit Paris - Paris (France) 5–7 avril 2023 : FIC - Lille Grand Palais (France) 12–14 avril 2023 : Devoxx France - Paris (France) 20–21 avril 2023 : Toulouse Hacking Convention 2023 - Toulouse (France) 27–28 avril 2023 : AndroidMakers by droidcon - Montrouge (France) 4–6 mai 2023 : Devoxx Greece - Athens (Greece) 10–12 mai 2023 : Devoxx UK - London (UK) 12 mai 2023 : AFUP Day - lle & Lyon (France) 25–26 mai 2023 : Newcrafts Paris - Paris (France) 26 mai 2023 : Devfest Lille - Lille (France) 27 mai 2023 : Polycloud - Montpellier (France) 31 mai 2023–2 juin 2023 : Devoxx Poland - Krakow (Poland) 31 mai 2023–2 juin 2023 : Web2Day - Nantes (France) 1 juin 2023 : Javaday - Paris (France) 1 juin 2023 : WAX - Aix-en-Provence (France) 7 juin 2023 : Serverless Days Paris - Paris (France) 15–16 juin 2023 : Le Camping des Speakers - Baden (France) 29–30 juin 2023 : Sunny Tech - Montpellier (France) 8 septembre 2023 : JUG Summer Camp - La Rochelle (France) 19 septembre 2023 : Salon de la Data Nantes - Nantes (France) & Online 21–22 septembre 2023 : API Platform Conference - Lille (France) & Online 2–6 octobre 2023 : Devoxx Belgium - Antwerp (Belgium) 12 octobre 2023 : Cloud Nord - Lille (France) 12–13 octobre 2023 : Volcamp 2023 - Clermont-Ferrand (France) 6–7 décembre 2023 : Open Source Experience - Paris (France) 31 janvier 2024–3 février 2024 : SnowCamp - Grenoble (France) 1–3 février 2024 : SnowCamp - Grenoble (France) Nous contacterPour 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/
Mon, 13 Feb 2023 - 1h 40min - 291 - LCC 290 - Mettre tes lunettes dans ta base de données
Guillaume et Arnaud discutent de tech en cette nouvelle année 2023. GraalVM dans OpenJDK, Rust, Webassembly, containers. postgres, ChatGPT, le rôle de l’architecte et la ribambelle de rétrospective 2022.
Enregistré le 13 janvier 2023
Téléchargement de l’épisode LesCastCodeurs-Episode–290.mp3
News LangagesOpenJDK propose projet Galahad : pour fusionner dans OpenJDK certaines parties de GraalVM community edition https://www.infoq.com/news/2022/12/openjdk-galahad-Dec22/
https://www.infoq.com/articles/graalvm-java-compilers-openjdk/Alex Snaps partage un article sur Rust pour le développeur Java https://wcgw.dev/posts/2023/rusty-java-intro/
Google a sorti sa formation interne sur Rust en libre accès https://google.github.io/comprehensive-rcust/
Paul King du projet Apache Groovy partage sa rétrospective de l’année 2022 https://blogs.apache.org/groovy/entry/apache-groovy–2022-year-in
Webassembly pour le developpeur Java https://www.javaadvent.com/2022/12/webassembly-for-the-java-geek.html
Un article assez critique sur TypeScript https://dev.to/wiseai/17-compelling-reasons-to-start-ditching-typescript-now–249b
On voit souvent des articles plutôt positif sur TypeScript, mais est-ce que tout est tout rose tout le temps, pas forcément ! L’article cite 17 problèmes avec TypeScript, dont la courbe d’apprentissage, la baisse de productivité, la verbosité des types, le manque de flexibilité, le fait que ce n’est pas vraiment un sur-ensemble de JavaScript, la lenteur du temps de compilation… basé sur son talk sur le même thème qu’il a déjà présenté à Devoxx Maroc et Belgique Alex a également écrit une deuxième partie faisant suite à son article, dans lequel il parle un peu plus d’ownership, de borrowing, du trait Drop, etc. (càd sur la gestion mémoire) https://wcgw.dev/posts/2023/rusty-java–2/ LibrairiesSortie du Micronaut 3.8 https://micronaut.io/2022/12/27/micronaut-framework–3–8–0-released/
support de GraalVM 22.3.0 possibilité d’annoter les records avec @RequestBean (pour binder les paramètres de requête et autre, aux paramètres de la méthode du controleur) amélioration du CorsFilter pour éviter certaines attaques également des améliorations sur le support de CRaC (Coordinated Restore at Checkpoint) et plein d’autres upgrades de versions, nouveaux plugins, et améliorations mineuresSwing n’est pas mort ! Un nouveau DSL Java open source pour Swing dénommé Sierra, pour faciliter la création d’interfaces graphiques Swing https://github.com/HTTP-RPC/Sierra
InfrastructureComprendre root dans et en dehors des containers https://www.redhat.com/en/blog/understanding-root-inside-and-outside-container
un article pas recent mais utile c’est quoi un container rootless on peut etre root et lancer le moteur de container on peut etre root dans le container lui meme quand on run en root le moteur, l’utilisateur exterieur et interieur sont mappés (meme # d’UID) ; par contre en non root, le UID de l’utilisateur du container est mappé sur un nouvel UID c’est top car les utilisateurs dedans et dehors ne sont pas mappés donc moins de risque en cas de sortie de bac a sable (sandbox escape) c’est le cas pour podman mais pour docker il y a un ajout: docker a un démon (root ou pas) et une CLI qui appelle ce demon (root ou pas), ce qui importe c’est le demon pour les risques de sécu l’idéal c’est de tourner non root le moteur et dans le container (meme si encore beaucoup d’images s’attendent a être root les folles) CloudKubernetes 1.26 avec notamment une de corrélation de l’hébergement de la Registry par Google https://www.infoq.com/news/2022/12/kubernetes–1–26/?utm_campaign=infoq_content&utm_source=twitter&utm_medium=feed&utm_term=Devops
WebEvan You, le créateur de Vue.js revient sur l’année 2022 https://blog.vuejs.org/posts/2022-year-in-review.html
C’est la grande migration de Vue 2 vers Vue 3 Migration de l’API Composition de Vue 3 vers l’API Options de Vue 2 (mais supporté encore en 3) La documentation de Vue propose Vue 3 par défaut depuis février Pendant la phase de transition, gros focus sur l’outillage et l’expérience développeur L’écosystème a bien adopté Vue 3 et continue de le faire au fur et à mesure Pour 2023, espère faire plus de releases mineures régulières, et travail sur le “vapor mode” qui propose une stratégie de compilation plus rapide DataUn article de Stephan Schmidt qui suggère d’utiliser PostgreSQL… pour tout ! https://www.amazingcto.com/postgres-for-everything/
pour du caching à la place de REDIS comme une queue de messages pour stocker des documents JSON au lieu de MongoDB pour faire des requêtes géo-spatiales pour le full-text search à la place d’ElasticSearch pour générer du JSON directement en base comme stockage / adaptateur pour GraphQL ou pour Timescale (base de données time-series) OutillageChatGPT en action sur le design d’un nouveau langage de programmation https://judehunter.dev/blog/chatgpt-helped-me-design-a-brand-new-programming-language
ChatGPT, on lui attribue plus de magie qu’il n’en a https://arxiv.org/pdf/2212.03551.pdf
Github rajoute le scan des secrets dans vos répos publics aussi https://github.blog/2022–12–15-leaked-a-secret-check-your-github-alerts-for-free/
ce n’est plus seulement pour les organisations des entreprises aussi accessible pour les répos publics permet d’éviter de leaker des clés d’API et autreLes nouveautés de Java sur Visual Studio Code https://foojay.io/today/java-on-visual-studio-code-update-december–2022/
amélioration visuelles pour les extensions Spring Boot et aussi pour la visualisation de la mémoire utilisée complétion “post-fix” comme dans IntelliJ plus de raccourcis pour générer du code support de Lombok intégré support de l’annotation processing de Gradle meilleure visualisation des erreurs de build 2 millions de développeurs utilisent Visual Studio Code pour JavaEncore un guide pour sortir de Vi https://thevaluable.dev/vim-advanced/
Le client HTTP de IntelliJ peut maintenant être utilisé en ligne de commande et dans un environnement d’intégration continue https://blog.jetbrains.com/idea/2022/12/http-client-cli-run-requests-and-tests-on-ci/
ArchitectureL’évolution du rôle de l’architecte https://www.infoq.com/articles/architecture-architecting-role/
Le (très long) rapport des tendances 2023 par Didier Girard et Olivier Rafal https://www.linkedin.com/pulse/rapport-tendances–2023-didier-girard/?trackingId=wu9pJ4wNQAOKjh11R2UyjA%3D%3D
un prisme tech/orga/culture pour préparer l’entreprise aux enjeux un prisme produits/plateformes/data pour structurer notre approche d’un SI moderne. couvre des tonnes de sujets de l’intelligence artificielle, les données, le cloud, le web1/2/3, mais aussi l’organisation des équipes, les rôles, etc. Loi, société et organisationTwitter n’apprécie guère Mastodon, et bride les tweets avec des liens vers Mastodon. La liberté d’expression façon Elon Musk ! https://twitter.com/bluxte/status/1603656787097534464
Statement de Mastodon sur le fait que Twitter bannit les liens vers Mastodon https://blog.joinmastodon.org/2022/12/twitter-suspends-mastodon-account-prevents-sharing-links/ Et finalement Twitter est revenu en arrière sur son changement des conditions d’utilisationDans la famille “les informaticiens ont des supers passions”, je voudrais Cédric Champeau, qui nous fait une magnifique rétrospective de ces clichés d’astrophotographie https://melix.github.io/blog//2022/12/astrophoto–2022.html
ConférencesLa liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs :
19 janvier 2023 : Archilocus - Bordeaux (France) 19–20 janvier 2023 : Touraine Tech - Tours (France) 25–28 janvier 2023 : SnowCamp - Grenoble (France) 31 janvier 2023 : Duck Conf - Paris (France) 2 février 2023 : Very Tech Trip - Paris (France) 2 février 2023 : AgiLeMans - Le Mans (France) 9–11 février 2023 : World AI Cannes Festival - Cannes (France) 16–19 février 2023 : PyConFR - Bordeaux (France) 7 mars 2023 : Kubernetes Community Days France - Paris (France) 23–24 mars 2023 : SymfonyLive Paris - Paris (France) 23–24 mars 2023 : Agile Niort - Niort (France) 1–2 avril 2023 : JdLL - Lyon 3e (France) 5–7 avril 2023 : FIC - Lille Grand Palais (France) 12–14 avril 2023 : Devoxx France - Paris (France) 20–21 avril 2023 : Toulouse Hacking Convention 2023 - Toulouse (France) 4–6 mai 2023 : Devoxx Greece - Athens (Greece) 10–12 mai 2023 : Devoxx UK - London (UK) 12 mai 2023 : AFUP Day - lle & Lyon (France) 25–26 mai 2023 : Newcrafts Paris - Paris (France) 26 mai 2023 : Devfest Lille - Lille (France) 27 mai 2023 : Polycloud - Montpellier (France) 7 juin 2023 : Serverless Days Paris - Paris (France) 15–16 juin 2023 : Le Camping des Speakers - Baden (France) 29–30 juin 2023 : Sunny Tech - Montpellier (France) 19 septembre 2023 : Salon de la Data Nantes - Nantes (France) & Online 21–22 septembre 2023 : API Platform Conference - Lille (France) & Online 2–6 octobre 2023 : Devoxx Belgium - Antwerp (Belgium) 12 octobre 2023 : Cloud Nord - Lille (France) 12–13 octobre 2023 : Volcamp 2023 - Clermont-Ferrand (France) 6–7 décembre 2023 : Open Source Experience - Paris (France) Nous contacterPour 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/
Sat, 14 Jan 2023 - 1h 15min - 290 - LCC 289 - La revanche des dinosaures
Guillaume et Emmanuel discutent les nouvelles de novembre décembre: spring boot 3, AWS SnapStart, GitHub Copilot en procès… Et aussi des articles de fond: performance, SRE et l’auto résilience, comment utiliser Git, le Devops pour les décideurs, l’age et la tech et d’autres sujets encore. Résumé
Enregistré le 9 décembre 2022
Téléchargement de l’épisode LesCastCodeurs-Episode–289.mp3
News LangagesComment choisir ses collections ? Entre les différentes listes, maps, queues, etc. https://www.baeldung.com/java-choose-list-set-queue-map
un bon rappel des fonctionalités des différentes collections (discuter le diagramme de choix) et un bon rappel des ordres de grandeur d’insertion, de lecture etc Attention o(n) ne veut pas dire plus lent que o(1), ca veut dire que ca scale linéraiement Tester avec le volume attendu de données Un bon viel Object[] et le traverser à chqaue fois peut etre bien plus efficace (moins gourmand en structure memoire, moins de jump memoire, etc) LibrairiesSpring Boot 3 est sorti https://spring.io/blog/2022/11/24/spring-boot–3–0-goes-ga
Java 17 de base Support de GraalVM Native Image (au lieu de l’ancienne expérimentation de Spring Native) Amélioration de la traçabilité avec Micrometer et Micrometer Tracing JakartaEE 9 minimum et support de JakartaEE 10Quarkus est 600 fois plus lent qu’un compétiteur, ou pas https://t.co/1c2sFSY9sE
discute le lien entre les résultats et l’environnement Une erreur de code initiale Puis une erreur de limite de système ou deux Pour arriver au résultat Bon retour sur l’approche méthodologiqueSpring vault 3 https://spring.io/blog/2022/11/28/spring-vault–3–0-goes-ga
Java 17 Plus de clients supportés comme le client jtm réactif du jdk Support du versionage des mots de passe pour les vaults clé valeur CloudMais pourquoi Twitter tourne t’il toujours malgré toutes les personnes renvoyées ? https://matthewtejo.substack.com/p/why-twitter-didnt-go-down-from-a
Grâce au long travail de SRE, de mise en place d’auto-réparation, de cache, de monitoring, de sur-provisioning. Donc beaucoup d’automatisation pour faire en sorte que le tout fonctionne “presque” tout seul sans trop d’intervention humaine. C’est un article écrit par un des SRE qui travaillait en particulier sur le cache de Twitter.GitHub passe à un versioning par date de son API REST https://github.blog/2022–11–28-to-infinity-and-beyond-enabling-the-future-of-githubs-rest-api-with-api-versioning/
au lieu de continuer avec une v4, v5, etc, utilisation de date comme 2022–12–25 chacune de ses versions seraient supportées a minima 2 ans on peut spécifier la version avec un header HTTP spécial pas de changement pour l’API GraphQL par contre Stripes va encore plus loin en se rappelant la version utilisée au premier appel et le fixe par defaut Les appels sans version explicite utilisent celle là, et on peut la faire evoluerAmazon SnapStart pour lambda https://aws.amazon.com/blogs/aws/new-accelerate-your-lambda-functions-with-lambda-snapstart/
démarrer plus rapidement les lambda A une phase Init exécutée pour préparer la lambda snapshot Firecracker VM pas juste CRaC Remplace les seed et le réseau et le disque réduit les temps de démarrage Testé avec Quarkus https://quarkus.io/blog/quarkus-support-for-aws-lambda-snapstart/ Testé avec Micronaut https://twitter.com/sdelamo/status/1597535515758452736?s=46&t=iQ7IEvuv4e4eD1oM-Hi1IA Et avec Spring Boot OutillagePetit tip Git de Minko Gechev (monsieur Angular) https://twitter.com/mgechev/status/1594758205237706752
On peut faire un git clone [repo] —depth 1 pour dire qu’on ne veut que la dernière révision, et non pas tout l’historique du repo C’est pratique en particulier en CI pour gagner du temps lorsqu’on a un gros repo avec beaucoup de révisionsSi vous luttez toujours avec git ce guide très détaillé peut vous aider. https://github.com/k88hudson/git-flight-rules
Il s’agit d’un énorme “comment faire?” qui est même traduit en plusieurs langues dont le français: https://github.com/k88hudson/git-flight-rules/blob/master/README_fr.mdFaire tourner ses Github Actions en local avec le projet open source Act https://github.com/nektos/act
Pratique de vérifier en local le fonctionnement de son pipeline avant de le pousser sur Github en prod Utilise Docker sous le capot pour faire tourner chaque étape peut marcher sur podman mais pas garanti pour l’instantComment transformer n’importe quel site web ou webapp en application autonome https://glaforge.appspot.com/article/turning-a-website-into-a-desktop-application
utilisation d’une fonctionnalité de Chrome : création de raccourci avec ouverture dans une fenêtre “sans chrome” fonctionne sur tous les OS utilise le favicon comme icône pour l’application le site web se retrouve dans votre barre des tâches comme une application normale, et on peut faire un ALT/CMD-Tab pour aller vers son application, etc. ArchitectureSix patterns pour les architectures event driven https://medium.com/wix-engineering/6-event-driven-architecture-patterns-part–1–93758b253f47
de Wix Trois patterns dans cet article Consume and project : vue dematerialisee copie des données chaudes consommées par beaucoup. Et ces vues sont focalisées sur un consommateur. Kafka et CDC au milieu pour découpler Event driven de bout en bout : websocket utilise pour envoyer les demandes. Le web stocket serveur copie dans Kafka. Ces consommateurs font le job et un message est envoyé via le web socket serveur. Résilience, découplage K/V store: et en m’articuler avec kafka qui permet d’être consommé en k/v basse latence et en consommation d’évènement Peut être intéressant mais pas si simple a comprendre les usage dans cet article MéthodologiesUn article sur quoi et pourquoi le DevOps (en fait englobant les bonnes pratiques du moment) https://enix.io/fr/blog/devops-benefices-difficultes/
les tech ne vont pas apprendre grand chose mais c’est un article pour les managers ou plutot les execs pour les aider à voir la valeur souvent plus facile de montrer la valeur par du contenu exterieur a l’entreprise percu comme neutre autres articles sur Kubernetes pour les execs https://enix.io/fr/blog/kubernetes-benefices-difficultes/Amazon et la methode “working backwards” pour un produit https://www.productplan.com/glossary/working-backward-amazon-method/
imagine le produit pret a etre releasé ecrire la press release evaluer l’opportunité (doit-on le construire) découvrir les solution pour le faire et avoir l’appriobation des décideurs construire la roadmap construire le backlog Sécurité1.5 million de lignes de code dans Android sont maintenant en Rust https://security.googleblog.com/2022/12/memory-safe-languages-in-android–13.html?m=1
de plus en plus de code memory safe (Java, Kotlin, Rust) Mais la majorité de nouveau code reste quand meme Java et C++ Et une correlation de baisse de vulnerabilités liées a la sureté de mémoire (moins de code de programme memory unsafe) Ou maturation du code avec moins de vuln? Autres efforts: outils de securisation de la memoire en C/C++, fuzzing Zero vuln memoire dans le code rust en 2 ans et en moyenne 1 / kLOC dans le code historique) Java -> JNI, Rust - unsafe {} pour les accès resource Loi, société et organisationLes dinosaures de la tech commencent à 40 ans? https://www.linkedin.com/pulse/non-nous-ne-sommes-pas-des-dinosaures-de-la-tech-pass%C3%A9-ramade/
Commentaire intéressant de Benjamin Marron qui explique “s’être restreint aux technos de son coeur d’activité car trop de veille technologique hétérogène l’avait épuisé et avait renforcé son sentiment d’être complètement obsolète et dépassé” https://twitter.com/bmarron/status/1596136098828148736 âge median des devs entre 28 et 31 ans chez Google ms Facebook Mais 50 ans c’est 30% de la force de travail Avantages seniors Expérience Mentorat (comm, interaction interpersonnelle, (atlassian un 40 ans dans chaque équipe rétention Moins de changement de travail tous les 3 ans Flexibilité : les vieux ont leurs enfants partis Aide à faire des produites pour les personnes de même âge pas souvent dans les politiques de DE&IGitHub copilot menacé par un procès https://www.infoq.com/news/2022/11/lawsuit-github-copilot/?utm_source=twitter&utm_medium=link&utm_campaign=calendar
aux États Unis Class action contre copilot GitHub, ms et OpenAI Violation de copyright et notamment des licenses open source Hypothèse est que humain ou AI, même responsabilité face à la license Discussion autour de fair use vs rupture de contrat DMCA etc Piratage de logiciel à une échelle sans précédant Pour avoir des conséquences fortes sur l’IA et son utilisation des sources ouvertes pour construire du contenu Et Antonio va devoir recorder à la main Rubrique débutantDifférentes méthodes d’interpolation des chaines en Java https://www.baeldung.com/java-string-interpolation
la concatenation avec + la methode format() souvent intimidante mais plus optimisée et sure StringBuilder le plus flexible notamment dans les cas de if et autre variations mais moins sur que format. et plus rapide MessageFormat pour les chaines de caractère utilisateur (multi langage) Apache Commons (pas sur qu’il y ait beaucoup d’usage dans les JDK modernes ConférencesLa liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs :
1 décembre 2022 : Devops DDay #7 - Marseille (France) 2 décembre 2022 : BDX I/O - Bordeaux (France) 2 décembre 2022 : DevFest Dijon 2022 - Dijon (France) 14–16 décembre 2022 : API Days Paris - Paris (France) & Online 15–16 décembre 2022 : Agile Tour Rennes - Rennes (France) 19 janvier 2023 : Archilocus - Bordeaux (France) 19–20 janvier 2023 : Touraine Tech - Tours (France) 25–28 janvier 2023 : SnowCamp - Grenoble (France) 2 février 2023 : Very Tech Trip - Paris (France) 2 février 2023 : AgiLeMans - Le Mans (France) 9–11 février 2023 : World AI Cannes - Cannes (France) 16–19 février 2023 : PyConFR - Bordeaux (France) 7 mars 2023 : Kubernetes Community Days France - Paris (France) 23–24 mars 2023 : SymfonyLive Paris - Paris (France) 23–24 mars 2023 : Agile Niort - Niort (France) 1–2 avril 2023 : JdLL - Lyon 3e (France) 5–7 avril 2023 : FIC - Lille Grand Palais (France) 12–14 avril 2023 : Devoxx France - Paris (France) 10–12 mai 2023 : Devoxx UK - London (UK) 12 mai 2023 : AFUP Day Lille & Lyon (France) 25–26 mai 2023 : Newcrafts Paris - Paris (France) 29–30 juin 2023 : Sunny Tech - Montpellier (France) 12–13 octobre 2023 : Volcamp 2023 - Clermont Ferrand (France) Nous contacterPour 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/
Sat, 10 Dec 2022 - 1h 31min - 289 - LCC 288 - L'épisode marathon mastodonien
Dans ce long épisode, retrouvez Emmanuel, Guillaume, Antonio et Arnaud qui reviennent sur les dernières sorties de GraalVM, GoLang, JBanking, Spring, Spring Modulith, Quarkus, Apache Maven. Vous retrouverez aussi de nombreux sujets infrastructure, cloud, méthodologie le tout accompagné d’un pachyderme très à la mode en ce moment: Mastodon.
Enregistré le 18 novembre 2022
Téléchargement de l’épisode LesCastCodeurs-Episode–288.mp3
News
Langages
Alina Yurenko annonce la sortie de GraalVM 22.3 https://medium.com/graalvm/graalvm–22–3-is-here-jdk–19-builds-jlink-support-new-monitoring-features-and-more-f6e2b2eeff95
l’article mentionne l’annonce faite à JavaOne qu’Oracle contribue GraalVM CE à la communauté Open JDK https://www.graalvm.org/2022/openjdk-announcement/ support du JDK 19 possibilité de télécharger facilement (dans un script) la distribution avec un one-line (bash/curl) possibilité de compiler jWebserver en un exécutable natif diverses améliorations sur le monitoring et l’expérience développeur de native image (JFR, jvmstat, head dump…) nouvelles versions des reachability metadata nouvelle API native image et diverses autres updates sur le support de Python, de Ruby, des contributions de la communautéGo fête ses 13 ans https://go.dev/blog/13years
avec la grosse release de 1.18, avec le support des workspaces, du fuzzing, mais surtout des generics aussi une commande govuln qui fait analyse statique - intéressant la notion d’outil dans le langage les build go sont vérouillés vu qu’ils reconstruisent tout et qu’ils dépendent d’un sha1 pour les dependences git et beaucoup plus de choses ici https://go.dev/blog/supply-chain workspace qui permet de travailler sur plusieurs modules en parallèle sans avoir a changer tous les go.mod à la mainLibrairies
Sortie de JBanking 4 par Marc Wrobel https://www.marcwrobel.fr/sortie-de-jbanking–4–0–0
Une librairie utilitaire pour assister dans le développement d’applications bancaires Support des codes ISO des pays, des monnaies, des codes BIC, des IBAN, et aussi du calendrier des jours fériés des banques internationalesSpring Modulith, un projet expérimental d’Oliver Drotbohm, qui permet de s’assurer de la structure et architecture de ses projets Spring, par exemple pour vérifier les dépendances propres entre modules, pour bien structurer ses applications Spring Boot https://spring.io/blog/2022/10/21/introducing-spring-modulith
Une version alpha de Quarkus 3 arrive ! https://quarkus.io/blog/road-to-quarkus–3/
Plein d’upgrades : Hibernate ORM 6, Jakarta EE 10, Eclipse MicroProfile 6, HTTP/3, io_uring, Virtual Threads de Loom et Structured Concurrency, java.util.concurrent.Flow pour s’affranchir de Reactive Streams Version cible Java 11, mais recommendation d’utiliser Java 17 les versions 3 seront en parallèle des versions 2 le temps que l’écosystème passe à la 3, notamment les dependences jakartaee peut essayer facilement depuis la CLI quarkus create app --stream=3.0 quelques casse de compatibilités attendues mais minimisées, spécialement dans le core garde java 11 car demande de la communautéSpring 6.0 est sorti https://spring.io/blog/2022/11/16/spring-framework–6–0-goes-ga
Java 17+ de base Jakarta EE 9+ Hibernate 6+ foundations pour Ahead of Time transformations pour GraalVM Exploration des threads virtuels https://spring.io/blog/2022/10/11/embracing-virtual-threads tester sur les threads servlets et autre SpringBoot arrive plus tard Détail des changements https://github.com/spring-projects/spring-framework/wiki/What%27s-New-in-Spring-Framework–6.x/Infrastructure
Stop using CPU limits on Kubernetes https://home.robusta.dev/blog/stop-using-cpu-limits
L’auteur fait une comparaison amusante avec le besoin de boire de l’eau ! Il vaut mieux définir des requêtes (des besoins en eau / CPU), plutôt que des limites (pas le droit de boire plus / d’utiliser plus de CPU) c’est plus nuancé que ca, parce que aux cas limites des choses peuvent mal se passer cas 1: on atteind 100% d’usage. Le process avait définit un request mais en fait a besoin de plus en pratique, et là paf il se met à mal fonctionner, donc dès que votre systeme stresse, vous avez des erreurs en cascade cas 2: un ou plusieurs noeuds sont recyclés, ce qui veut dire que vous avez beaucoup de redémarrages de pods et du coup ca met la pression sur le CPU, tester ces cas là, certaines applis qui démarrent trop lentement ont tendance à tomber en cascadeComment faire des attaques d’injection sur les intelligences artificielles qui recoivent du contenu utilisateur https://hackaday.com/2022/09/16/whats-old-is-new-again-gpt–3-prompt-injection-attack-affects-ai/
le jeu est de donner des phrases ambigues qui font faire à l’IA des choses qu’elle n’est pas sensé faire un des outils c’est ignore les instructions au dessus et fait un truc que je veux que tu fasses et qui n’est pas dans ta programmation initiale Voir toucher l’intention initiale de l’AI (lui faire dire) et donc d’atteindre des sphères non publiques du serviceMastodon et la scalabilité https://framablog.org/2022/11/13/de-la-friture-sur-le-fediverse/
la decentralisatione et le protocole Mastodon est couteux en job donc une personne moderement populaire 27k personnes, devrait bouger vers son instance dédiée ce qui amènerait à couter assez cher par mois (en tous cas plus que 8$/mois) L’auteur explique que les devs devraient favorier un protocol fortement decentraliser plutot qu’optimiser pour les grosses instances un article qui couvre la configuration aux petits oignons de Sidekiq, qui traite les queues de tâches, pour scaler une instance Mastodon https://nora.codes/post/scaling-mastodon-in-the-face-of-an-exodus/Rollouts de release a l’échelle avec Argo (rollback options) https://monzo.com/blog/2022/11/02/argo-rollouts-at-scale/
gros investissement sur ArgoCD Mais encore release à la main par les ingenieurs et tout ou rien pour une application idealement: push dans git et oublie, prometheus metriques dirigent le rollout basé sur des alertes génériques, garder le sisteme ouvert pour des stratégies de rollout alternatives dans le futur basé sur Argo Rollouts et sur des erreurs generiques (20% de calls en erreur, beaucoup d’erreurs de base de donnees, crashs notifie dans slack en async du success ou de l’echec interessant de voir qu’ils s’appuient sur des metriques simples Lessons apprises migration est un gros job automatiser la migration au maximum meme si c’est un one shot change le moteurt avant de changer l’UX (progressive rollout) ca simplifie les chosezCloud
Google adopte progressivement Adoptium Temurin comme version officielle de JDK dans ses produits https://glaforge.appspot.com/article/building-and-deploying-java–17-apps-on-cloud-run-with-cloud-native-buildpacks-on-temurin
nous avions mentionné l’annonce de ce support dans l’épisode précédent https://blog.adoptium.net/2022/10/adoptium-welcomes-google/ dans l’article de Guillaume, il utilise les Cloud Native Buildpacks, configuré pour utiliser Java 17, et par défaut, c’est bien Temurin qui est utilisé quand on build à partir des sources dans l’exemple, une application Micronaut, développée avec Java 17, est déployée sur Google Cloud RunPourquoi on quitte le Cloud https://world.hey.com/dhh/why-we-re-leaving-the-cloud–654b47e0
témoignage de DHH de 37Signal (basecamp et hey) Les 30% de marges d’Amazon viennent de quelque part. On dépense 500k en RDS et ES. On peut acheter beaucoup de machines pour ce prix La réduction des ops est un mythe. On a autant de personnes gérant les services AWS ou Google Cloud Le gain pourrait être la micro startup qui ne sait pas si elle aura des clients ou les volumes de demandes très variables et imprédictibles Mais on a une croissance planifiée Donc on rapatriePrésentation de Mickaël Roger de Thales, enregistrée à Cloud Nord, qui explique le fonctionnement de l’offre S3NS de Thales et Google Cloud pour le “cloud de confiance” https://www.youtube.com/watch?v=OBwBeqd-YFs
Web
Est-ce que le Web3 peut battre le cloud ? https://blog.scottlogic.com/2022/10/31/can-web3-beat-the-cloud.html
Le Web3 est une autre approche pour des applications décentralisées, ce n’est pas un successeur du Web 2.0 classique, et il a généralement besoin du Web 2.0 pour offrir une interface à ses utilisateurs Ce n’est pas que pour faire des cryptomonnaies qui gâchent de l’électricité, ou des NFTs qui ne donnent pas vraiment de titre de propriété d’une oeuvre d’art Dans cet article, l’auteur essaie d’implémenter une fonctionnalité (le fait de pouvoir rajouter des “applaudissements” à un article, un peu comme sur Medium), en implémentant un smart contract en Web3. Mais il se heurte à plein d’écueils le long de sa route, à la dépendance à plein d’autres services, au fait que ce n’est pas la personne qui “vote” qui devrait payer l’action mais celui qui héberge. Au final, il est obligé d’ajouter plein d’adhérences qui font qu’au lieu d’être décentralisée, l’application dépends de trop d’autres services, et a finalement besoin du Web 2.0 pour fonctionner, et du Cloud L’autre déconvenue est sur le prix de chacune des transactions, qui est finalement exorbitant par rapport à une approche Web 2.0 classique Décentralisation amène de la lenteur (latence) Objectifs du Web3 c’est d’etre le propriétaire de ses processes et ses data et de mettre des agents qui interagissent avec des donnéesOutillage
Comment debugguer les images Docker slim ou distroless https://iximiuz.com/en/posts/docker-debug-slim-containers/
Les images slim / distroless sont sympas car elles permettent d’avoir des petits conteneurs qui ne prennent pas trop de place, qui parfois sont plus rapides à charger, mais également qui exposent une surface d’attaque beaucoup plus faible Par contre, comme il n’y a pas tous les outils (parfois pas de shell, par exemple), c’est plus compliqué de comprendre ce qu’il se passe à l’intérieur quand quelque chose ne fonctionne pas L’article propose quelques approches pour pallier à cela : Installer des outils à la demande dans un conteneur qui tourne (à coup de apt-get) Passer temporairement à une image plus grosse et plus complète (par ex, distroless a des images avec un tag debug) Utiliser docker run avec un shared namespace Utiliser docker exec et un mountPodman Desktop, une alternative à Docker Desktop, mais utilisant podman https://podman-desktop.io/
Docker annonce une technical preview de conteneurs WASM https://www.docker.com/blog/docker-wasm-technical-preview/
nouveau packaging qui wrap un exécutable WASM et le fait tourner avec le runtime wasmEdge c’est un nouveau type de conteneur il y a beaucoup d’activité autour de WASM, et il y a eu de nombreuses annonces et démonstration lors de la conférence CloudNativeCon et le jour spécial sur WASM, lors de KubeCon https://www.infoq.com/news/2022/11/cloud-native-wasm-day/ docker utilise Docker Desktop et docker engine pour demarrer des “shim" Ses shim (processeS) lancent soit runc (donc pour faire tourner un containeur) soit wasmedge pour faire tourner des modules wasm Donc docker s’éloigne des container et essaie de toucher l’orchestrationUn petit tutoriel utilisant Docker et YouTube-dl pour récupérer / consulter les stats (views, likes) de vos vidéos (ou d’autres) sur YouTube https://glaforge.appspot.com/article/retrieve-youtube-views-count-with-youtube-dl-jq-and-a-docker-container
Apache Maven propose une extension de “build cache” (qui devrait accélérer les builds, sans tout tout le temps recompiler) https://maven.apache.org/extensions/maven-build-cache-extension/
basé sur une clé construite des sources, des plugins etc par module permet paralelisation et de deploiement sur des agents genre dans le cloud on controle les regles de contournement des invarients (genre changement de compile, timestamp dans les manifests etc)Le guide complet pour publier une librairie Java sur Maven Central https://maciejwalkowiak.com/blog/guide-java-publish-to-maven-central/
Y compris l’intégration avec Github Actions et l’utilisation de Github Secrets pour les clés PGP Et enfin la configuration de JReleaser pour encore faciliter la tâche lorsque l’on pousse une nouvelle versionApache Maven 4.0.0-alpha–2 is out https://maven.apache.org/docs/4.0.0-alpha–2/release-notes.html
améliorations cli: --also-make , --resume (plus besoin de pré ciser d’où le build doit recommencer), --non-recursive, --fail-on-severity Utilisation du même timestamps dans tous les modules build/consumer POMs (versioning automatique du parent, versioning automatique des dépendances dans le réacteur, détection automatique des sous modules) new maven 4 api et beaucoup d’autres choses: https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12351403&projectId=12316922Data Faker le nouveau générateur de données de test https://github.com/datafaker-net/datafaker
C’est un fork de Java Faker https://github.com/DiUS/java-faker Tout ça inspiré de Ruby Faker https://github.com/faker-ruby/faker La boite australienne qui l’avait créé ne maintenait plus le projet, ne le publiait plus dans Maven Central et il y avait des centaines de PRs Vous pouvez générer des données de centaines de provider (ex. adresse, compte bancaire, livres, films, etc) https://github.com/datafaker-net/datafaker#providers en plusieurs languesExécuter facilement des programmes Java avec dépendances, sans build, avec JBang https://maciejwalkowiak.com/blog/single-file-java-with-jbang/
Dans la même veine que ce que Groovy propose depuis de nombreuses années avec sons système @Grapes qui récupère les dépendances nécessaires L’article montre un exemple simple, puis avec Spring Boot, comment faire un JAR aussi, voire comment conteneurisé sa petite appliArchitecture
Amélie Benoit continue ses fabuleux sketchnotes sur le thème des design patterns https://twitter.com/AmelieBenoit33/status/1587397290251149312
celui ci est sur le pattern Adapter il y a eu aussi le pattern Builder https://twitter.com/AmelieBenoit33/status/1584778615610228737 l’Observer https://twitter.com/AmelieBenoit33/status/1579706242318360576 ou le Singleton https://twitter.com/AmelieBenoit33/status/1570313646605234177 https://twitter.com/AmelieBenoit33/status/1589869904404316162 Un petit coup de décorateur https://twitter.com/AmelieBenoit33/status/159246863559937228935 misconceptions sur les dates et les heures https://www.meziantou.net/misconceptions-about-date-and-time.htm
y a t’il toujours 24 heures par jour, 60 secondes dans une minute? ou 365 jours par an ? est-ce que les jours sont toujours consécutifs ? tout le monde a t’il le même calendrier ? lundi est il le premier jour de la semaine ?Méthodologies
Interview d’un designer sur comment enlever la friction https://review.firstround.com/amazons-friction-killing-tactics-to-make-products-more-seamless?ct=t
designer a Amazon (Music, Alexa), IMDB, Skype for Business types de fictions (choses non familières, friction inhérente - produit avancé - et chemin de friction important, friction par desalignement avec le comportement humain) la troisième catégorie difficile à anticiper en construisant des produits: on ajoute, enlève ou marque des frictions C’est sur le chemin du client Avant le premier contact Signature et premiere tâche transactionnelle (bien choisir la tache pour etre assez simple et ce que l’utilisateur répète) Premier moment de plaisir (regarder les points contre intuitifs dans les données, ou les cas d’utilisation en echec) l’indifférence genre la friction la plus importante pour les nouveaux produits Comment écouter son utilisateur? habitat naturel: sondes dans l’appli, tests chez l’utilisateur en milieu reel en utilisation du produit mentions et revues: aussi métriques d’usage (choses inhabituelles ou inattendues) standard de l’industrie: attentes des clients façonné par ça (barre de recherche en haut) Toujours migrer son audience vers le chemin de moindre resistance Comment éliminer la friction? réduire l’anxiété: décision et perte amènent de l’anxiété. supprimer les étapes non nécessaires: définir la liste des decisions du client et les questionner. (Heuristiques par defaut?) mitiger le changement de contexte: naviguer hors de l’appli pour faire quelque chose, risque d’abandon. Arrêter un livre pour lire un mot dans le dictionnaire, faciliter le retour et le rappel du contexte quand ils reviennent. Comment masquer la friction? temps d’attente: trouver de la valeur (message d’information) bouger la friction au début dans les services (carte credit tout de suite) s’ils investissent dans leur experience (vote), ils sont plus engagés et loyaux: friction positive : sense d’appartenanceGlossaire et aide-mémoire sur l’approche de l’Event Storming https://github.com/ddd-crew/eventstorming-glossary-cheat-sheet
Si vous ne connaissez pas event storming, ça ne va pas vous éclairer assez plutôt un outil pour rafraichir votre mémoire voir aussi episode sur event storming https://lescastcodeurs.com/2020/06/05/lcc–233-interview-sur-l-event-storming-avec-thomas-pierrain-et-bruno-boucard/Sécurité
Sigstore passe en General Availability, en version 1 https://opensource.googleblog.com/2022/10/sigstore-project-announces-general-availability-and-v1-releases.html
Sujet également couvert par InfoQ https://www.infoq.com/news/2022/11/sigstore-stability-ga/ Sigstore est la pour aider au niveau de la sécurisation de la supply chain de code Notamment au niveau des signatures Ca addresse ce que fait PGP amis le rend plus utilisable et permet un usage supplémentaire par un log lisible par tous Plus d’infos dans une interview on espèreLoi, société et organisation
La proposition de loi sur la sécurisation de l’open source aux Etats-Unis https://blog.tidelift.com/tidelift-advisory-us-senators-introduce-the-securing-open-source-software-act-of–2022 (edited)
Holly Cummins sur le sujet du code vestimentaire des femmes dans la tech https://hollycummins.com/fashion-and-programming-ii/
Pourquoi en 2023 on a encore autant d’abrutis qui font des remarques sur les vêtements que portent les femmes qui font des présentations à des conférences, et pire, sur le fait de savoir si elles sont à leur goût ou pas La tenue vestimentaire n’a rien à voir avec le talent, les connaissances, le professionnalisme, l’expertise des personnes Les femmes ont le droit de porter les vêtements qu’elles veulent sans être jugées par des idiots qui feraient mieux de retourner dans leur caverneAvec le rachat de Twitter par Elon Musk, beaucoup de gens commencent à s’intéresser de plus près à Mastodon. On trouve de nombreux articles sur Mastodon ces jours ci https://gorillasun.de/blog/getting-started-with-mastodon
et vous, avez vous un compte sur Mastodon ? quelle instance avez-vous choisie ? quels outils (client, mobile, web, etc) utilisez vous ? Pour ma part je n’ai pas de compte Mastodon (je n’utilise pas twitter non plus). J’ai rapidement regardé ce matin ça n’est pas facile de trouver une instance : celles que j’ai regardé ont fermé les inscriptions (d’après ce que j’ai pu lire à cause de problèmes pour gérer l’afflux de nouveaux utilisateurs, à cause de l’augmentation de la création de comptes spam, ou dans l’objectif de répartir les utilisateurs sur d’autres instances moins connues). Du coup j’ai pour le moment abandonné l’idée de me créer un compte. Le site JavaBubble liste plein de développeurs Java qui ont maintenant un compte sur Mastodon https://javabubble.org/ Les Cast Codeurs sur Mastodon :@agoncal@fosstodon.org @aheritier@mastodon.social @glaforge@uwyn.net @emmanuelbernard@mamot.frConférences
La liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs :
23–25 novembre 2022 : Agile Grenoble 2022 - Grenoble (France) 25 novembre 2022 : HACK-IT-N 2022 - Bordeaux (France) 1 décembre 2022 : Devops DDay #7 - Marseille (France) 2 décembre 2022 : BDX I/O - Bordeaux (France) 2 décembre 2022 : DevFest Dijon 2022 - Dijon (France) 14–16 décembre 2022 : API Days Paris - Paris (France) & Online 15–16 décembre 2022 : Agile Tour Rennes - Rennes (France) 19–20 janvier 2023 : Touraine Tech - Tours (France) 25–28 janvier 2023 : SnowCamp - Grenoble (France) 2 février 2023 : Very Tech Trip - Paris (France) 2 février 2023 : AgiLeMans - Le Mans (France) 9–11 février 2023 : World AI Cannes - Cannes (France) 16–19 février 2023 : PyConFR - Bordeaux (France) 7 mars 2023 : Kubernetes Community Days France - Paris (France) 23–24 mars 2023 : SymfonyLive Paris - Paris (France) 5–7 avril 2023 : FIC - Lille Grand Palais (France) 12–14 avril 2023 : Devoxx France - Paris (France) 10–12 mai 2023 : Devoxx UK - London (UK) 12 mai 2023 : AFUP Day Lille & Lyon (France) 12–13 octobre 2023 : Volcamp 2023 - Clermont Ferrand (France)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/
Mon, 21 Nov 2022 - 1h 41min - 288 - LCC 287 - Celui qu'Antonio avait oublié!
Arnaud et Guillaume reviennent sur les news de ce mois avec évidement la sortie de Java 19 mais aussi GraalVM, Puppet (toujours vivant), Docker Compose et Desktop, VirtualBox, WASMTime et d’autres sujets plus orientés méthodologie comme la réalisation de Sketchnotes, les DO / DONT pour faire des messages d’erreurs dans les UIs ou encore quelques pratiques de management chez Google.
Enregistré le 21 octobre 2022
Téléchargement de l’épisode LesCastCodeurs-Episode–287.mp3
News LangagesLa version 19 de Java est sortie https://mail.openjdk.org/pipermail/jdk-dev/2022-September/006933.html
Au menu: 405: Record Patterns (Preview) 422: Linux/RISC-V Port 424: Foreign Function & Memory API (Preview) 425: Virtual Threads (Preview) 426: Vector API (Fourth Incubator) 427: Pattern Matching for switch (Third Preview) 428: Structured Concurrency (Incubator) La vue de InfoQ https://www.infoq.com/news/2022/09/java19-released/ Foojay couvre 5 fonctionnalités clé https://foojay.io/today/the–5-most-pivotal-and-innovative-additions-to-openjdk–19/ virtual threads structured concurrency pattern matching for switch foreign function and memory API record pattern matchingProposition dans Leyden des condenseurs et du décalage d’exécution dans le temps https://openjdk.org/projects/leyden/notes/02-shift-and-constrain
GraalVM JIT et Native Image rejoignent le projet OpenJDK https://twitter.com/graalvm/status/1582441450796900354
Google rejoint Adoptium et va utiliser la distribution Temurin pour les JDKs utilisés dans ses produits https://blog.adoptium.net/2022/10/adoptium-welcomes-google/
“Paving the on-ramp” : Brian Goetz discute de changements au langage Java pour faciliter l’apprentissage pour les nouveaux arrivants https://openjdk.org/projects/amber/design-notes/on-ramp
LibrairiesSpring Boot 3.0.0 RC1 is out https://spring.io/blog/2022/10/20/spring-boot–3–0–0-rc1-available-now
Vous pouvez maintenant convertir vos applications Spring Boot en exécutables natifs en utilisant les plugins standard Spring Boot Maven ou Gradle sans avoir besoin d’une configuration spéciale. Infrastructure(re)découvrir puppet - https://blog.stephane-robert.info/post/introduction-puppet/ - https://blog.stephane-robert.info/post/puppet-env-developpement/
Tutoriel en français sur puppet que l’auteur Stéphane ROBERT écrit dans le cadre d’une migration Puppet vers Ansible L’auteur revient sur les concepts (manifests, classes, modules), et explique comment utiliser vagrant pour developper en local un projet utilisant puppet.Docker Compose v2.11.0 est disponible La commande build permet de construire des images multi-architectures. https://github.com/compose-spec/compose-spec/blob/master/build.md#platforms
Docker Desktop 4.13.0 https://docs.docker.com/desktop/release-notes/#docker-desktop–4130
docker dev permet de gérer ses Dev Environments via la CLISortie de VirtualBox 7.0, avec prise en charge complète du chiffrement des VMs, nouvelle accélération Direct3D, elle apporte le premier client #Mac ARM et le TPM de #Windows 11 https://virtualisation.developpez.com/actu/337578/Sortie-de-VirtualBox–7–0-avec-prise-en-ch[…]rte-le-premier-client-Mac-ARM-et-le-TPM-de-Windows–11/
WebWASMtime 1.0 https://bytecodealliance.org/articles/wasmtime–1–0-fast-safe-and-production-ready
Comment écrire un bon message d’erreur sur une UI? https://medium.com/wix-ux/when-life-gives-you-lemons-write-better-error-messages–46c5223e1a2f
Un mauvais message d’erreur: Ton inapproprié Jargon technique Rejetant le blâme Générique sans raison Un bon message d’erreur: Dire ce qui s’est passé et pourquoi Rassurer Faire preuve d’empathie Aidez-les à régler le problème Donnez toujours une issue OutillageAmélie Benoit partage un article d’initiation au Sketchnote https://amelie.tech/fr/blog/sketchnote-initiation/
Définition : un dessin, une représentation visuelle d’une prise de note, mêlant dessin et texte Pas de stress, suffit juste de savoir écrire, dessiner des carrés, cercles, triangles. Pas besoin d’être un artiste ! A quoi ça sert ? pour soi même pour s’approprier de l’information, synthétiser ce que l’on apprends, mais aussi pour partager avec les autres On peut faire des sketchnotes pour tout et n’importe quoi ! Amélie décrit ensuite les bases, avec les pictogrammes, le texte, les puces, les flèches, comment créer des conteneurs (pour des titres par exemple), comment rendre un sketchnote plus joli et comment hiérarchiser le contenu Enfin, quelques ressources utiles, en particulier les livres de Mike Rohde qui est l’inventeur du conceptNouvelle UI pour Maven Central search https://central.sonatype.dev/
maven-test-profiler: Maven extension pour trouver les tests les plus lents https://t.co/d5YpXODWf8
ArchitectureNetflix construit un système de queue basse latence et haut volume à partir de composants open source https://www.infoq.com/news/2022/10/netflix-timestone-priority-queue/
MéthodologiesGoogle a publié un ensemble de pratiques, d’outils et d’articles pour les managers https://rework.withgoogle.com/guides/
SécuritéCVE dans Kafka - un client non authentifié peut faire un OOME dans le broker https://github.com/advisories/GHSA-c9h3-c6qj-hh7q
Signal retire le support des SMS sur Android https://t.co/u9XZ7XM7rT
ConférencesCodeurs en Seine 2022 - Programme et Inscriptions
Ca y est le programme est disponible et les inscriptions sont ouvertes. les inscriptions (c’est gratuit et c’est à Rouen le 17 novembre) : https://www.codeursenseine.com/2022/inscription le magnifique programme est la : https://www.codeursenseine.com/2022/programmeLa liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs :
3–4 novembre 2022 : Agile Tour Nantes 2022 - Nantes (France) 8–9 novembre 2022 : Open Source Experience - Paris (France) 15–16 novembre 2022 : Agile Tour Toulouse - Toulouse (France) 17 novembre 2022 : Codeurs en Seine - Rouen (France) 17 novembre 2022 : lbc² by leboncoin - Paris (France) 18 novembre 2022 : DevFest Strasbourg - Strasbourg (France) 18–19 novembre 2022 : GreHack - Grenoble (France) 19–20 novembre 2022 : Capitole du Libre - Toulouse (France) 23–25 novembre 2022 : Agile Grenoble 2022 - Grenoble (France) 1 décembre 2022 : Devops DDay #7 - Marseille (France) 2 décembre 2022 : BDX I/O - Bordeaux (France) 2 décembre 2022 : DevFest Dijon 2022 - Dijon (France) 14–16 décembre 2022 : API Days Paris - Paris (France) & Online 15–16 décembre 2022 : Agile Tour Rennes - Rennes (France) 19–20 janvier 2023 : Touraine Tech - Tours (France) 25–28 janvier 2023 : SnowCamp - Grenoble (France) 2 février 2023 : Very Tech Trip - Paris (France) 9–11 février 2023 : World AI Cannes - Cannes (France) 7 mars 2023 : Kubernetes Community Days France - Paris (France) 23–24 mars 2023 : SymfonyLive Paris - Paris (France) 12–14 avril 2023 : Devoxx France - Paris (France) Nous contacterPour 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/
Wed, 02 Nov 2022 - 1h 04min - 287 - LCC 286 - Devoxx Belgique 2022, le retour!
Antonio, Guillaume et Emmanuel donnent leur retours sur les thèmes marquants de Devoxx Belgique 2022, puis ils font quelques micro trottoirs lors de la conférence. Si vous hésitez sur quelle conférence regarder sur Youtube, écoutez cet épisode.
Enregistré le 18 octobre 2022
Téléchargement de l’épisode LesCastCodeurs-Episode–286.mp3
Devoxx Belgique 2022Les présentations sont déjà en ligne sur Youtube
Kubernetes Community Days France 2023 le site de l’événement : https://kcdfrance.fr qui se déroulera le 7 mars 2023 le CFP : https://cfp.kcdfrance.fr qui ferme le 31 octobre Nous contacterPour 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/
Wed, 19 Oct 2022 - 49min - 286 - LCC 285 - De mal en pis - partie 2
Dans cette partie 2, nous discutons le changement d’étage gratuit chez Heroku, les vagues de licenciement dans le monde technologique, le carrière de contributeur individuel et le cloud souverain. Et on vous parle de division de nombres entier dans la rubrique débutant.
Enregistré le 9 septembre 2022
Téléchargement de l’épisode LesCastCodeurs-Episode–285.mp3
News InfrastructureNVidia interdit de vendre ses processeurs d’intelligence artificiels les plus puissants en Chine https://www.reuters.com/technology/nvidia-says-us-has-imposed-new-license-requirement-future-exports-china–2022–08–31/
Le gouvernement Américain a mis en place la restriction (export control) 10% des ventes en Chine pour NVidiaAprès 23ans un internaute arrête d’utiliser son propre serveur e-mail et il explique pourquoi cela est devenu impossible https://t.co/TQ61y45MXT?ssr=true
Sa raison: l’impossibilité d’avoir un service fiable. Les services de gestion d’e-mails sont désormais dans les mains de quelques gros acteurs (Google, Microsoft,..) qui déploient à coup d’algorithmes des filtres pour mettre en spam les e-mails indésirables Ces derniers sont obscures et peuvent être stupides en blacklistant des blocs entiers d’IPs L’internaute demande aux acteurs de se réveiller avant que les politiciens s’en mêlent (pour le pire …) Cela demande aussi la mise en place de protocoles plus avancés comme DMARC Pour des adresses “casual” comme celles des cast codeurs, c’est maintenant passage à la caisse et 3 à 5 euros par mois et pas adresse email c’est plus que la valeur de ces emails “casual” CloudHeroku annonce la fin de son étage gratuit https://techcrunch.com/2022/08/25/heroku-announces-plans-to-eliminate-free-plans-blaming-fraud-and-abuse/?guccounter=2&guce_referrer=aHR0cHM6Ly90LmNvLw&guce_referrer_sig=AQAAACIpHvzb3Pb2gtgt8Dm99CWGUhbEkdTgLVDgKwMNNmDI9UITQyNX64GA2LB6rQGNX2EreLoiRvxTqSUls5V_F8x6Cv_xGrfXtaIROP_Jiv45UUO1ODBIno3j7vHC4gokKVLqsZ948CmCfzG2bF03DL-uhbZqYuGXvxTfdsioTbjg
heroic éliminé sont plan gratuit dénonçant des abus apres 10 ans pousser vers du paid plan, qui va aussi faire partir des gens et questionner ceux qui avaient un modèle économique base sur ce plan gratuit 28 novembre et aussi efface les comptes inactifs depuis 1 an beaucoup de fraude et d’abus vont garder des plans low cost et des plans étudiants au delà des abuseurs, les plans gratuits étaient utilises pour tester les apps avant leur déploiement OutillagePolices de caractères pour la programmation https://www.programmingfonts.org/#firacode
J’aime bien Fira Code moi :slightly_smiling_face: Ce site permet de choisir parmi 111 polices différentes, pour pouvoir les comparer et choisir celle qu’on préfèreMickael Istria pointe sur une video expliquant les nouveautés autour d’Eclipse https://www.youtube.com/watch?v=zDJtVYAJwyY
c’est très visuel, â regarder Code snippet Content assis plus rapide Support des concepts récents de Java comme sealed classes dans les quick fix EtcUtiliser git blame malgré les reformattages https://michaelheap.com/git-ignore-rev/
fichier listant les revisions pour ignorer certains sha1 et le changement d’avant est prisUne page concise des quelques façons de sortir d’un problème avec Git (langage coloré) https://ohshitgit.com/
On a toujours quelquye chose a apprendre ; celle qui nettoie la branche principale, je ne connaissais pas. ArchitectureLes tendances vu pas les éditeurs de InfoQ dans le devops et le cloud https://www.infoq.com/articles/devops-and-cloud-trends–2022/?utm_source=twitter&utm_medium=link&utm_campaign=calendar
commenter les 4 vagues et ce qu’il y a dedans Data observability : live qualité de data etc Serverless everything: scale to 0 ; même les bases de données (soit parce que infra partagée soit via un scale down réveille par access à une gateway FinOps: contrôle des cours comme on optimisait pour les œufs eBPF pour injection de code et WASM pour le service mesh ingress (attention WASM dans envoy ne pas pas ton bon vieux Netty) Protection de la supply chain (encore faible en solutions) Low code no code mature pour moins besoin d’ingénieurs ou approche plus légère Developer experience qui influence les decisions MéthodologiesDiscussion sur la carrière contributeur individuel https://touilleur-express.fr/2022/07/17/devenir-staff-engineer/
exemple de ce que fait doctolib senior c’est le premier niveau d’autonomie et d’aisance ensuite, soit vous voulez coacher vo pairs (manager), soit contributeur individuel ce qui est demandé c’est le leadership (donc l’impact sur la societe et l’organisation) et ca demande une taille de societe minimale technique, communication, marketing d’idée occuper le role avant d’être reconnu (c’est assez classique ; ce qui change c’est le formalisme de la liste des competences attendues entre les boites) et on code moins car coder seul a moins de levier equivalence track technique/leadership et track managériales avec des ponts. Souvent d’arrète avant les VP et autre executive leadership (matrice de Radford) Premotion case avec promotion committee (2 fois pas an) Assez classique de paires un leadership avec un manager pour qu’ils s’épaulent mutuellement staff vs principal peut aussi etre du a l’impact cumulé de la personne et des principals peuvent aider sur une partie plus « bas niveau » / concrete de l’orga ou des projects grace a son experience et ses connexions au dela de son équipe actuelle des exemples de situations de travail du staff engineer https://touilleur-express.fr/2022/07/20/vis-ma-vie-de-staff-principal-engineer/ Loi, société et organisationhttps://twitter.com/smlpth/status/1551943751714603013?s=21&t=JhmioeiqlY8wFbzjry6b8Q encore un licenciement de masse. 10% chez Shopify. Pas mal d’aides pour faire passer la pilule (congés payés, aide à trouver un nouveau job…)
ils ont fait le pari que post covid les gens resteraient à acheter en ligne mais c’est revenu aux volumes d’avant crise et inflation n’aident pas Annonce à l’américaine avec e-mail direct et arrêt du travail le lendemain Paye pendant quelques temps et supportUn article sur les licenciements dans la tech des GAFAM et des startups https://www.lefigaro.fr/secteur/high-tech/la-grande-inquietude-des-salaries-de-la-tech-face-a-la-vague-de-licenciements–20220819
recession, résultats décevants, krach boursier (perte 1/4 de leur valeur) recerrement des politiques budgétaires, donc les projets semi viables ne le sont plus 88k licenciement en trois mois vs 5000 en 1 an en 2021: gros mois juin ->août Apple, Microsoft, Amazon, TikTok, Shopify, Snapchat, Netflix (–40% bourse), SoudnCloud (–20% d’effectif) L’argent facile arrête le cycle d’hyper acquisition et de facilite a l’hyper inflation des sociétés tech car impossibilité de lever des fonds startup ont du mal a garder les clients acquis en 1 donc recentrage et chute des activités non rentables fidélisation de l’employé vs aller chercher la meilleur offre comme un mercenaireLe Cloud de Confiance sous le coup du Cloud act américain ? https://www.nextinpact.com/lebrief/69865/les-clouds-confiance-bleu-et-s3ns-seront-bien-soumis-au-cloud-act-americain
Alors attention, parce que Next Impact fait un peu dans le sensationnalisme https://twitter.com/pchapuis/status/1565775842675933188?t=y5S63FbOSbtH4FK_1meECQ&s=19 Avec cette interprétation, même Clever Cloud, utilisant du matériel américain, serait soumis au Cloud Act étude demandée par le ministère de la justice des pays bas le cloud act s’applique quand le fournisseur de cloud européen utilise du hardware ou logiciel américain (e.g. cloud de confiance Bleu et S3ns) muraille de chine en refusant tout client américain et en employant zero américain. mais c’est si le logiciel américain a accès aux données (routeur Cisco en decrypté etc), Stockage sans la clef cote client, etc le contrat MS serait « ring fencé » contre le cloud act mais peu d’infos Rubrique débutantComment faire une division de deux entiers dans un flottant ? https://www.baeldung.com/java-integer-division-float-result
Une division d’entier ramène que le quotient Et un entier Retourne un double au un des opérandes est un double, puis float, puis long. Donc il faut d’aster une des opérandes en float et pouf Conférences Nous contacterPour 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/
Fri, 16 Sep 2022 - 50min - 285 - LCC 284 - De mal en pis - partie 1
Dans cet épisode, nous discutons bonnes pratiques Java, Groovy, WebAssembly, Micronaut. Nous discutons également le changement de licence de Akka entre autre. La suite de cet épisode parlera de changement d’étage gratuit chez Heroku et des vagues de licenciement dans le monde technologique. Pour rester sous les 1h d’écoute, nous avons découpé les deux derniers épisodes nouvelles en 2 parties chacun. Qu’en pensez vous ? Donnez-nous votre avis sur Twitter ou sur le Google Groups des cast codeurs.
Enregistré le 9 septembre 2022
Téléchargement de l’épisode LesCastCodeurs-Episode–284.mp3
News LangagesJonathan Giles, un principal architecte de Java chez Microsoft, a un site qui partage des bonnes pratiques Java http://java.jonathangiles.net/
il couvre des bonnes pratiques Java de manière générale, mais également plus spécifiquement pour les développeurs de librairies Java Des conseils sur la bonne utilisation des dépendances, des BOMs, des versions LTS de Java, des modules Java, de la surface des APIs publiées, de faire attention à null ou au boxing, et de comprendre les interfaces fonctionnelles il y a beaucoup de contenu donc faites par petites doses Certains sujets sont plus controversés comme les modules Java les recommendations sont assez succinctes Je suppose que ce sont les recommendations que les équipes du Azure SDK suivent et qu’il a ouvert. Donc merci à luiProject Leyden https://www.infoq.com/news/2022/06/project-leyden-delays-aot/
Leyden n’a pas progressé en deux ans Accepté que GraalVM a déjà achevé les objectifs initiaux Donc vont explorer un spectre plus faible de contraintes (et probalbment d’optimisations Prochaine LTS en Sept 2023 et Leyden ne sera pas mature, donc Leyden sera utilse ~ Sept 2027 (en terme d’adoption) au plus tôt. SpringBoot pensent que CRaC (snapshot de la memoire sur disque pour demarrage plus rapide) sera très utile module-info dans Spring pourn jlink est dans la roadmap Lead de CRaC a fourni un prototype pour Quarkus: ameliore temps de demarrage pour OpenJDK mais pas la consommation memoire jlink pour Quarkus, dans un context Kube, les gains d’espace disque ne sont pas si interessant vs un layered image Micronaut a des issues ouverst pour CRaCJosé Paumard couvre Loom et Structured Concurrency dans sa vidéo de la série JEP Café https://inside.java/2022/08/02/jepcafe13/
Et cet article explique les problèmes classiques de concurrence comme les thread leaks et introduit la Structured Concurrency https://howtodoinjava.com/java/multi-threading/structured-concurrency/Paul King montre l’utilisation de différents frameworks de tests avec Groovy (Spock, JUnit5, Jacoco, Jqwik et Pitest) https://blogs.apache.org/groovy/entry/testing-your-java-with-groovy
Paul couvre aussi dans un autre article les comparateurs, et l’utilisation de l’API GINQ https://blogs.apache.org/groovy/entry/comparators-and-sorting-in-groovy La matrice spot est intéressante mais pas avec des noms de variable à, b, c, d :) L.article est super didactique et explique via un example concret quand utiliser quoi Je trouve les property base testing pas si simple à utiliser et avec un coup de réflection >> au truc testé. Mais peut être le cas est super simplistique pour l’usagePaul King continue de publier régulièrement des articles sur Groovy - https://blogs.apache.org/groovy/entry/working-with-sql-databases-with — accéder à des bases SQL avec Groovy et GraalVM - https://blogs.apache.org/groovy/entry/detecting-objects-with-groovy-the — détection d’objet avec le machine learning avec Deep Java Library et Apache MXNet
Sortie de Spock 2.2, première version GA avec le support officiel de Groovy 4 https://twitter.com/spockframework/status/1564999285250326529
Bah la seule info intéressante est déjà dans le titre, càd c’est le support officiel de Groovy 4Google lance un nouveau langage, appelé Carbon, comme un successeur de C++, mais en plus sympa ! https://github.com/carbon-language/carbon-lang
interessant, ils veut Ceyloniser ou Scalaizer Rust avec Carbon’s Kotlin-like strategy. Not a bad bet Rust n’est pas assez compatible avec C++, c’est problématique, surtout pour des boîtes comme Google avec d’énormes code bases en C++. Donc pour du green-field, Rust c’est bien. Ou c’est bien aussi pour de l’intégration avec du C. Mais pas avec du C++.State of WebAssembly https://blog.scottlogic.com/2022/06/20/state-of-wasm–2022.html
On peut peut-être aussi rajouter l’utilisation de WebAssembly chez Figma https://neugierig.org/software/blog/2022/06/wasm-notes.html rust reste le langage de prédilection Python monte JavaScript est maintenant un langage viable Wasmtime est le runtime le plus populaire L’utilisation de WASM pour Serverless et la containérisation et en tant que hôte de plugin a beaucoup émergé Les api non browser sont ce dont a besoin web assembly En fait compilent pas JavaScript mais un moteur JavaScript et faire l’interprétation fonctionnalités très demandées : threads, exceptions, GC, type réflection etcGraal VM 22.2 https://medium.com/graalvm/graalvm–22–2-smaller-jdk-size-improved-memory-usage-better-library-support-and-more-cb34b5b68ec0
GraalVM JDK plus petit Plus petite conso mémoire lors de la création de native images Un travail de Quarkus, Micronaut et Spring Native pour ûblier des métadonnées partagées https://medium.com/graalvm/enhancing–3rd-party-library-support-in-graalvm-native-image-with-shared-metadata–9eeae1651da4 Possibilité de générer des heap dump dans des native images Différentes améliorations du compilateur Support de Apple Silicon Côté autres langages, GraalPython démarre plus vite et avec support étendu de librairie, et GraalJS avec une meilleurs interopérabilitéAlex Blewitt un Java Champion est décédé prématurément https://www.infoq.com/news/2022/07/alex-blewitt/
notamment un contributeur à InfoQ LibrairiesSortie de Micronaut 3.6 https://micronaut.io/2022/08/04/micronaut-framework–3–6–0-released/
Nouveau module Micronaut Test Resources avec une intégration TestContainers qui permet d’avoir des ressources de test externes, par exemple pour un Redis, un Elasticsearch ou autre Cédric Champeau qui a travaillé sur cette fonctionnalité a écrit un blog post complet sur le sujet https://melix.github.io/blog//2022/08/micronaut-test-resources.html Intégration avec OpenTelemetry (après Open Tracing et autre) Micronaut Data rajoute Hibernate Reactive comme intégration et plein d’autres mises à jour des différents modules existantsUtiliser des serialiseurs. / deserialiseurs de messages Kafka dans votre application Quarkus https://quarkus.io/blog/kafka-serde/
explique quand on a besoin d’un serialisateur custom (hors des types fondamentaux) Explique que le support JSON existe par défaut Explique comment utiliser Avro mais avec un schéma registry Et la version full customAkka change sa licence de ASL vers BSL (Business Source License) https://www.lightbend.com/blog/why-we-are-changing-the-license-for-akka
comme MariaDB, Cockroach Labs, Sentry, Materialized BSL is source available et usage dev mais pas prod Après 3 ans, les commits en BSL se convertissent en ASL (donc pas les nouveaux commits) license commerciale disponible pour 2000$ par coeur due au fait qu’avec la maturiote de Akka les contributions ont diminué et le support est revenu a LightBend de plus en plus meme si des societes grosse utilisent Akka dans leur infra critique Gatling impacté Mécontentement de la communauté Akka et Scala, par exemple cet article d’Alexandru Nedelcu https://alexn.org/blog/2022/09/07/akka-is-moving-away-from-open-source Nous contacterPour 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/
Mon, 12 Sep 2022 - 50min - 284 - LCC 283 - Mini interview comment améliorer ses présentations
Cet épisode mi nouvelle mi interview discute comment faire de meilleures présentations. L’article est agrémenté des propres conseils des cast codeurs.
Enregistré le 8 juillet 2022
Téléchargement de l’épisode LesCastCodeurs-Episode–283.mp3
InterviewRépéter, répéter, répéter Démarrer par une mission Raconter une histoire Regarder l’auditoire, pas les slides Mettre moins de texte sur ses slides, beaucoup moins Personnaliser la présentation en fonction de l’auditoire La règle de 3 (couvrir 3 points clés, 3 leçons retenues, partager 3 conseils…) Avoir une solution de secours pour les démos Jouer sur ses atouts (c’est pas grave si on est quelqu’un qui parle vite, si ça donne de l’énergie à son argumentaire) Faire des retours en arrière (par exemple pour conclure sur un point abordé ou une supposition de départ et montrer qu’on a prouvé ce que l’on avançait)Et les cast codeurs commentent ses propositions.
Nous contacterSoutenez 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/
Wed, 27 Jul 2022 - 23min - 283 - LCC 282 - Apérikube apomorphique - partie 2
Cet épisode marathon sera découpé en deux morceaux pour éviter à vos oreilles une écoute marathon. Cette deuxième partie couvre des sujets d’architecture et de loi société et organisation ainsi que les conférences à venir. Logging, Migration Java 8 vers 11, Xerox Park, (manque de) sécurité, courbes elliptiques, sondage développeurs.
Enregistré le 8 juillet 2022
Téléchargement de l’épisode LesCastCodeurs-Episode–282.mp3
News ArchitecturePour ou contre le logging Contre puis pour
tous les langages et plateformes utilisent les logs debugging, tracing, journaling, monitoring, and printing errors impact sur les performances (allocation supérieure sur un log que sur le code métier log = mémoire, CPU (GC), I/O risque de securité (dépendances et fonctionnalités sans besoin) format des log: pour lecture humaine main volume impose traitement automatique log level la bonne abstraction (souvent trop et pas ce que l’on veut à la fois debugging -> utiliser un debugger ; journaling -> event sourcing ou solution dédiée ; tracing > open tracing ; monitoring -> monitoring solution via metrics et health check bons usages de logging: en dev (println), fin de jobs automatiques, erreurs non récupérables ou innatendues, pas les erreurs utilisateur (logger les erreurs qui cachent un bug), dans les container, Sébastien utilise System.out et System.err vu que les logs sont gérés par la plateforme la réponse pour maintenant les logs peuvent etre structurés performance, on peut éviter les concatenations de String (parameterized logging), memory allocation est bien meilleure depuis 2012 (e.g. Shenandoah), vu des problèmes dans des cas plus rare de genre MDC.getCopyOfContextMap disk I/O: ok mais disque cape a 200 MiB/s donc bon…: si c;est le cas, sépare I/O log du reste (disque vs network par exemple) gros fan de logs structures via JSON ; log line sur console et JSON en fichier log plus de manière conditionelle tracing théoriquement bon mais limite dans son contexte métier et peu d’infos passables system.out problème de scalabilité d’usage, etc et appel blocant println (async usage n’est pas bon)LinkedIn et sa migration de Java 8 à 11
1000 apps sur 320k hosts Migration Java 8 vers 11 avec en vue G1 regardé depuis 2018 Jetty, Hadoop, Play, Samza: focalisé sur Jetty- Mettre a jour le système de build, 2. Faire des tests de performance 3. Automatiser la migration
Un article sur Xerox park et comment ils ont inventé le futur
article de 1985 Xerox achète un constructeur de mainframe, et ils ont crée un lab de recherche pour aider les usages Macintosh et la souris et les fenêtres, les cartes météos colorées, imprimante laser, réseaux d’ordinateurs, lasers semi-conducteurs qui lisent les disques optiques, langages de programmation structurés developer l’architecture de l’information project proposes et faite en bottom up PARC construisait ses propres hardware ce qui a créer des inventions et qui devaient etre construits pour 100 utilisateurs (scale) recherche en construisant concrètement, pas en papier théorique académique bit map, distributed computing, email, frame buffer, LAN, object oriented programming Cree Alto un ordinateur « personnel » qui a permis aux chercheurs de tester leurs idées, beaucoup en avaient un. donc ils ont du inventer le LAN et Ethernet (packet) via une personne avec passe de radio amateur (medium partagé et non reliable premier projet distribué. (Un protocole d’impression) antialiasing : ils amélioraient en testant pour de vrai un gars a construit un proto de souris pour prouver que les curseurs étaient plus efficace: tests avec des dans la rue et IO a perdu :D concept de modal (insert, delete) vers comportement non modal, plus simple pour l’utilisateur small talk: un langage si simple qu’un enfant peut l’utiliser (simulation based programming) overlapping windows ont été développées en small talk autre groupe strong type system Xerox ne savait pas convertir ces recherches en produits et les amener sur le marcher (sauf l’imprimante laser) SécuritéTravis CI fuit encore des mots de passe
permet d’accéder au compte privé des développeurs open source qui ont mis en place travisCI c’est la quatrième fois token offre accès lecture et écriture aux repos risque d’attaque de supply chain tokens github, AWS ou DockerHub apr exemple mais aussi les bases de données utilisées dans la CI via l’API TravisCIHDMI peut-être un vecteur d’attaque et d’infection de vos ordinateurs
Un hack d’un adaptateur HDMI peut potentiellement infecter un video-projecteur, et qui à son tour pourra réinfecter les prochains ordinateurs qui s’y connecteront Cet article propose de construire une sorte de connecteur qui sert de firewall HDMI pour éviter ce genre d’infection il y a des préservatifs USB aussi qui ne laissent passer que la puissance et pas les donnéesUn guide pour protéger son macOS
Une suite de conseils comme de faire une installation toute fraiche, de mettre les mises à jour logicielle automatiques, n’autoriser que les applications signées, appliquer le chiffrement du disque… Mais aussi utiliser par exemple un gestionnaire de mot de passe, éviter les extensions de navigateur, faire tourner un firewall Et des liens vers des guides de sécurités plus avancés un truc que je n’ai pas fait mais qui me tente c’est un outbound firewall comme little snitch ou luluComment choisir un algorithme de courbes elliptiques
un article qui détaille le pour et le contre de certaines courbes elliptiques cas d’usage, notamment gouvernemental faiblesses (timing attaques etc) pour les curieux mais la première courbe citée est celle la plus utilisée en ce moment Loi, société et organisationStackoverflow sort son sondage sur les développeurs
70% apprennent a coder en ligne (les plus de 45 ans dans les bouquins) stackoverflow derrière la doc technique puis les blogs ; video 60% des gens ; podcast 7,21% damn! presque 60% ont moins de 10 ans d’expérience ; si t’es pas VP ou CxO a 17 ans d’expérience, tu as raté ta vie 9% cloud infra engineers 22% ont neuro atypiques Docker passe dans la catégorie outil fondamental (69% d’usage) les frameworks 3D genre Unity 3D ou Unreal Engine sont des outils que des non développeurs pro apprennent Rust technologie la plus aimée, Rust et Python en plus demandées Java 6eme position mais 4ème pour ceux qui apprenent Angular.is en framework le plus redouté / react.is le plus demandé Docker et Kube sont les plus aimés et demandé indépendants on augmenté de 5% et 4% pour les temples pleins 85% des dev sont dans une orga partiellement distancié le 62% des devs pro cherchent des réponses pendant plus de 30 minutes par jour, 25% 11h Azure prend la deuxième place des cloud, OVH 3,7% Spring framework le plus populaire de Java VSCode 74%, IntelliJ 28%, vim 23%, Eclipse 12%, EMacs 4,5% pleins d’outils asynchrone (tickets etc) que je ne connais pas salaires ont augmenté de 23% en medianJavaScript change de licence open source
toujours la licence Ecma international license, assez restrictive qui interdit le fork, mais avec certaines provisions pour l’intégration et la reproduction mais aussi une nouvelle licence dérivée de la W3C Document & Software License, un peu plus ouverte, qui permet d’intégrer et s’intégrer plus facilement avec les autres standards du Web Conférencesde la part de Youen
Cette année Codeurs en Seine, c’est le 17 novembre et le cfp est ouvert N’hésitez pas à amener un peu de JVM dans l’appel à orateur. (ca commence à se faire rare). Pour rappel : codeurs en seine c’est 1000 personnes autour des métiers du développement dans une des plus grande salle de Rouen, le kindarena.
Nous contacterSoutenez 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/
Tue, 19 Jul 2022 - 51min - 282 - LCC 281 - Apérikube apomorphique - partie 1
Cet épisode marathon sera découpé en deux morceaux pour éviter à vos oreilles une écoute marathon. Dans cet épisode on y parle Brian Goetz, Bian Goetz, Brian Goetz, usages des threads virtuels, OpenAPI, Kubernetes, KNative, copilot et Tekton. La deuxième partie couvrira des sujets d’architecture et de loi société et organisation ainsi que les conférences à venir.
Enregistré le 8 juillet 2022
Téléchargement de l’épisode LesCastCodeurs-Episode–281.mp3
News LangagesPeut-être une nouvelle syntaxe spécifique aux Records Java pour tordre le cou aux builders
Brian Goetz discute de l’idée d’avoir une syntaxe spécifique pour les records pour facilement créer un record dérivé, potentiellement avec des valeurs par défaut, mais en paramétrant certains champs Point shadowPos = shape.position() with { x = 0 } Cela évite de créer la notion de paramètre par défaut dans les constructeurs ou les méthodesIl y a l’article Data Oriented Programming de Brian Goetz, sur InfoQ
projet Amber amène des changements qui combinés permet de faire du data oriented programming en Java et pas que du OOP OO combine état et comportement (code) OO est super utile pour défendre des limites (programme large en des limites plus petites et plus gérable) mais on s’oriente vers des applications plus petites (microservices) data oriented programming: modélise data immuable et le code de la logique métier est séparée records -> data en tant que classe, sealed classes -> définir des choix, pattern matching -> raisonne sur des data polymorphiques algebraic data: hiérarchie de sealed classes dont les feuilles sont des records: nommées, immuable, testable (pas de code)Un nouveau JEP pour intégrer une Classfile API
Le JDK inclut déjà des forks de ASM, de BCEL, et d’autres APIs internes, pour manipuler / produire / lire le bytecode Mais l’idée ici c’est que le JDK vienne avec sa propre API officielle, et qui soit plus sympa à utiliser aussi que le pattern visiteur de ASM par exemple La version d’ASM intégrée était toujours en retard d’une version (problème de poule et d’oeuf, car ASM doit supporter la dernière version de Java, mais Java n+1 n’est pas encore sorti)Lilian nous montre à quoi va ressembler les Record Patterns de JEP 405
Apache Groovy et les virtual threads, et aussi Groovy et le Deep Learning
Paul King, qui dirige actuellement le PMC de Apache Groovy, a partagé récemment plusieurs articles sur le blog d’Apache sur des intégrations intéressantes avec Groovy Groovy et sa librairie GPars pour la programmation concurrente et parallèle s’intègre facilement avec les Virtual Threads de JEP 425 / JDK 19 https://blogs.apache.org/groovy/entry/gpars-meets-virtual-threads Groovy avec Apache Wayang et Apache Spark pour classifier des Whiskey par clusterisation KMeans https://blogs.apache.org/groovy/entry/using-groovy-with-apache-wayang Et aussi Groovy avec différentes librairies de Deep Learning pour la classification https://blogs.apache.org/groovy/entry/classifying-iris-flowers-with-deepavec des exemples en JavaScript des pointeurs vers des librairies fonctionnelles en JavaScript des traductions dans d’autres langues et d’autres langages de programmation LibrairiesSpringBoot 2.7 Spring GraphQL 1.0 Support pour Podman Gestion de dépendance et auto configuration pour Cache2k nouvelle annotations pour Elasticsearch et CouchBase dernière versions avant SpringBoot 3 qui changera plus de choses. Recommande de migrer une version a la fois. Support pour 2.5 à fini (upstream)Travaux préliminaires sur les threads virtuels de Loom Support non-blocking pour GraphQL Prise en charge des Kubernetes service binding pour les clients SQL réactifs CacheKeyGenerator pour l’extension de cache quarkus-bootstrap-maven-plugin déprécié et remplacé par quarkus-extension-maven-plugin (uniquement utile pour les développeurs d’extensions Quarkus) Nouveaux guides: Using Stork with Kubernetes OpenId Connect Client Reference Guide Using Podman with QuarkusLes différences entre OpenAPI 2 et 3
Introduction de la notion de lien pour créer des relations entre Response et Operations, pratique pour faire des APIs hypermédia La structure du document OpenAPI a été -un peu simplifiée, en combinant par exemple basePath et schemes, ou en rassemblant les securityDefinitions Des améliorations sur les security schemes, autour de OAuth et OpenID Plus de clarté dans la négociation de contenu et les cookies La section des exemples de Request / Response devrait aider les outils qui génèrent par exemple des SDK automatiquement à partir de la description OpenAPI Un support étendu de JSON Schema Introduction d’une notion de Callback, importante pour les APIs asynchrones, en particulier les WebHooks je me demande si ils ont l’intention d’embrasser AsyncAPI ou su la partie asynchrone d’OpenAPI 3 a pour objectif de faire de la competition InfrastructureN’utilisez pas Kubernetes tout de suite !
Kubernetes, c’est bien, mais c’est un gros marteau. Est-ce que vous avez des gros clous à enfoncer ? Ne commencez peut-être pas avec l’artillerie lourde de Kubernetes. Commencez plutôt avec des solutions managées genre serverless, ce sera plus simple, et au fur et à mesure si votre infrastructure a besoin de grossir et dépasse les fonctionnalités des solutions managées, à ce moment là seulement évaluer si Kubernetes peut répondre à votre besoin Choisir Kubernetes, c’est aussi avoir la taille de l’équipe qui va bien avec, et il faut des profils DevOps, SRE, etc, pour gérer un cluster K8S L’auteur suggère grosso modo que ça dépend de l’ordre de magnitude de la taille de l’équipe : avec quelques personnes, préférez des solutions type Google App Engine ou AWS App Runner, avec une dizaine de personne peut-être du Google Cloud Run ou AWS Fargate, avec moins d’une centaine là pourquoi pas du Kubernetes managé comme Google Kubernetes Engine, et si vous dépassez mille, alors peut-être vos propres clusters managés par vos soins et hébergés par vos soins sur votre infra ca impose d’utiliser les services du cloud provider? Parce que la vie ce n’est pas que du code maison. C’est la mode de dire de pas utiliser K8S : https://www.jeremybrown.tech/8-kubernetes-is-a-red-flag-signalling-premature-optimisation/ (mais bon, vu le nombre de fois où il est pas utilisé à bKnative Eventing Devlivery methods
on peut faire de la delviery simple 1–1 sans garantie on peut faire de la delivery complexe et persistante en introduisant la notion de channel qui decouple la source de la destination. on peut repondre a la reception d’un message et pousser la réponse dans un second channel mais ca devient compliquer a gérer quand on rajoute des souscripteurs il y a la notiuon de broker qui definit: des flitres, un channel (automatique) et la capacité de répondre les triggers sont un abonnement non pas a un channel mais a un type d’évènement spécifique CloudAWS is Windows and Kube is Linux
pourquoi utilisez Kube qui etait pas stablewa lors qu’AWS offre tout AWS forcé d’offrir EKS MAis pourri Lockin AWSIAM Pourquoi AWS serait le windows economies d’echelles de faire chez soi kube devient rentable une certaine taille de l’organisation besoin alternative a AWS (bus factor) on voit le Kube distro modele arriverGoogle data center Paris
OutillageIntelliJ IDEA 2022.5 EAP 5 amène des nouveautés
Frameworks and Technologies Spring 6 and Spring Boot 3 Support for new declarative HTTP Clients in Spring 6 URL completion and navigation for Spring Cloud Gateway routes Experimental GraalVM Native Debugger for Java Code insight improvements for JVM microservices test and mock frameworks Code insight improvements for Spring Shell Improved support for JAX-RS endpoints Support for WebSockets endpoints in HTTP Client Support for GraphQL endpoints in the HTTP Client UI/UX improvements for the HTTP Client Improved navigation between Protobuf and Java sources Kubernetes and Docker Intercept Kubernetes service requests with Telepresence integration Upload local Docker image to Minikube and other connections Docker auto-connection at IDE restart Docker connection options for different docker daemonsGitHub copilot est disponible pour tous (les developpeurs)
40% du code écrit est généré par copilot en python (ca calme) gratuit pour les étudiants et les développeurs OSS Revue de Redmonk décrit copilot comme une extension d’intelligence ou auto complete mais qui « comprend » le code autour premiere fois pas une boite de cette taille et à cette échelle l’avantage de copilot en terme de productivité, de qualité de code, de sécurité et de légalité En gros, c’est encore à voir. Mais la qualité impressionne les gens qui l’ont testé ; sécurité pas de retour d’un côté ou de l’autre sauf que les développeurs humains ne sont pas des lumières de sécurité :D GitHub pense que GitHub n’est pas responsable de la violation de code vue que ce sont des machines et des algorithmes qui transforment: cela a l’air d’etre le consensus des avocats GitHub dit qu’on est responsable du code qu’on écrit avec copilot Et implicitement GitHub dit que la licensure du code « source » ne se propage pas au code generé. Et là, c’est pas clair et de la responsibilité de l’utilisateur, mais la encore les avocats sont plutot ok moralement c’est probablement pas ok mais bon et il y a débat autour des licenses copyleft notamment LGPL 1% du temps, code copié verbatim de > 150 caractères Question sur le code non open source sur lequel GitHub Copilot s’appuie mais en gros le marcher s’en fout un peu des licences Risque de reputation de Microsoft la question c’est quand / si les gens seront prêt à accepter cet usageHistoriquement, la société Gradle Inc ne publiait pas vraiment de roadmap officielle Outre les tickets que l’on pouvait voir dans Github, cette fois ci, une “roadmap board” est visible et disponible pour tout le monde, et pas seulement pour les clientsTekton est groovy (mais non, il n’utilise pas Groovy !)
Un grand tutoriel sur Tekton Une brève histoire de CI/CD (avec un contraste avec Groovy utilisé dans Jenkins) Un aperçu des grands concepts de Tekton, avec ses tâches et ses pipelines (Task, TaskRun, Pipeline, PipelineRun) Comment installer Tekton Les outils CLI Un exemple concret d’utilisationSortie de Vim 9, surtout avec VimScript 9
des changements incompatibles entre VimScript 8.2 et 9 font qu’il était nécessaire de passer à une version majeure mais l’ancienne version du langage reste supportée pour compatibilité avec la nouvelle, les utilisateurs peuvent s’attendre à des performances x10 voire x100 ! le langage devient pré-compilé, au lieu d’être interprété ligne par ligne l’idée était d’avoir un langage plus proche de ce qu’on trouve dans JavaScript, TypeScript ou Java ConférencesDe la part de Youen
Cette année Codeurs en Seine, c’est le 17 novembre et le cfp est ouvert N’hésitez pas à amener un peu de JVM dans l’appel à orateur. (ca commence à se faire rare). Pour rappel : codeurs en seine c’est 1000 personnes autour des métiers du développement dans une des plus grande salle de Rouen, le kindarena.
Nous contacterSoutenez 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/
Tue, 12 Jul 2022 - 1h 20min - 281 - LCC 280 - Leçon de géographie
Cet épisode une fois n’est pas coutume parle beaucoup de nouvelles dans la rubrique langage et beaucoup de Java, wouhou ! On parle aussi de sigstore, http/3, Micronaut et de VMWare.
Enregistré le 10 juin 2022
Téléchargement de l’épisode LesCastCodeurs-Episode–280.mp3
News LangagesSept raisons pour lesquelles Java a a encore du sens après 26 ans
communauté (dans toutes les grandes villes) force du langage et de la plateforme plus de problèmes résolus que non résolus (librairies) stabilité Innovation (Java 9 accélère l’innovation) outillage opportunité d’emploiMark Reinhold lance le projet Leyden, pour adresser les problèmes de temps de démarrage lent de Java, de lenteur du temps jusqu’à la performance max, et d’empreinte un peu lourde à l’aide d’une image statique de votre application une image statique ne fait tourner qu’une seule et unique application sur son JDK, et est un “monde fermé” (ne peut pas charger de classe externes) mais les ingés de la JVM vont travailler sur une approche assez souple, et voire quelles contraintes peuvent être allégées, par rapport à un monde complètement fermé d’une image statique en espérant avoir des améliorations à différents niveaux, pour un max d’appli et de use case différents Le close world c’est ce qui amène la valeur de GraalVM native image et les avantages pour Micronaut, Quarkus et le autres donc pas de closed world: c’est encore un projet de recherche pour l’équipe de la JVMJFR plus facile à configuer dans Java 17
un wizard en UI ou CLI pour generer le fichier .jfcProposition de structured concurrency via le projet Loom
Targeted status for JDK 19. This incubating JEP, under the auspices of Project Loom, proposes to simplify multithreaded programming by introducing a library to treat multiple tasks running in different threads as a single unit of work. This can streamline error handling and cancellation, improve reliability, and enhance observabilityJavaScript, Python, Java, toujours en tête Mais Rust et Dart sont rentrés récemment L’arrivée de Dart coïncide surtout avec l’émergence de Flutter comme framework d’interface graphique, que ce soit pour Android/iOS, que pour le desktop et le web Sur les applis mobiles, il y a toujours eu beaucoup de développement natif, mais est aussi arrivé React Native, mais aussi Flutter Des applis de Google comme Google Pay et Google Ads sont développées en Flutter, mais aussi le récent SNCF Connect ou des entreprises telles que BMW ou Alibaba (modifié) (cf le talk sur le REX par les développeurs de SNCF Connect à Devoxx France) les investissements initiaux de Dart vs Kotlin ou Ceylon qui ont démarrés en meme temps étaient colossaux Dart en natif pour faire des applis iOS… qui tournent aussi sous AndroidKotlin K2 compiler pour la JVM em Alpha (les plug ins ne fonctionne pas) amélioration des perf de Kotlin et du compilo pour la JVM build incremental Gradle annotation OptIn et inférence de Builder stabilisés classes implementee par delegation automatique sans consommation mémoire (via inlining) LibrairiesPassage à GRAALVM 22.1.0 Compilation incrémentale lors des builds, en particulier intéressant pour les métadonnées pour GraalVM, ce qui permet d’éviter de faire tourner les processeurs d’annotation inutilement Inclusion de Micronaut Data 3.4, avec support des enums Postgres pour JDBC, la pagination pour les Reactive Repositories Intégration avec Turbo pour la vue (Turbo Frame et Turbo Views) Nouveau module pour MicroStream (un moteur de graphe d’objet natif Java, intégré à Helidon) Mise à jour de nombreux plugins et extensions (y compris plugins de build) InfrastructureKubernetes signals massive adoption of Sigstore for protecting open source ecosystem
Kubernetes 1.24 (sorti en mai) est la première version utilisant officiellement Sigstore, permettant une vérification transparente des signatures pour protéger contre les attaques de la chaîne d’approvisionnement Sigstore est une nouvelle norme pour la signature, la vérification et la protection des logiciels. Elle se veut être un remplaçant pour GPG par exemple. Sigstore offre une variété d’avantages à la communauté Kubernetes comme: Sigstore’s keyless signing donne une grande expérience de développeur et supprime le besoin de la gestion de clé douloureuse. Le journal public et transparent de Sigstore (Rekor) avec ses API permettent aux consommateurs Kubernetes de vérifier les signatures. … WebRFC 9114 - HTTP/3 est validée (+ RFC 9204 - QPACK: Field Compression for HTTP/3 et RFC 9218 - Extensible Prioritization Scheme for HTTP)
Basé sur le protocole de transport QUIC qui possède plusieurs fonctionnalités intéressantes telles que le multiplexage de flux, le contrôle de flux par flux et l’établissement de connexion à faible latence. QPACK : un format de compression pour représenter efficacement les champs HTTP à utiliser en HTTP/3. Il s’agit d’une variation de la compression HPACK qui vise à réduire la taille des headers. Extensible Prioritization Scheme for HTTP: schéma qui permet à un client HTTP de communiquer ses préférences quant à la façon dont le serveur en amont priorise les réponses à ses demandes, et permet également à un serveur d’indiquer à un intermédiaire en aval comment ses réponses devraient être priorisées lorsqu’elles sont transmises. OutillageJava 18 support, inlay hints for method parameters, and improvements to class declaration navigation are just a few of the enhancements to expect. ArchitecturePas fou fou dans les infos mais ça fait longtemps qu’on a pas eu d’archi analyze the system design in terms of availability, latency, scalability and resilience to network failure basé sur AWS clients via un SDK est intelligent, contrôle le backend utilisé et la bande passante en temps réel Open Connect CDN: là ou les vidéos sont stockées le reste du bon vieux microservice en backend ramène les dix meilleurs points d’accès et le client choisi voire change API Gateway via Zuul: dynamic routing, traffic monitoring and security, resilience to failures at the edge of the cloud deployment etc Loi, société et organisation61 milliards de dollars Avec un objectif de passer de 3,5 à 8,5 milliard d’EBITA par an Bouger dans la division cloud avec Symantec VMWare était content de sa liberté retrouvée après la spin off de Dell Apparemment pas d’alignement de tech une expansion de portefeuiille dans le software pour broadcom VMWare a beaucoup changé de mains ces dernières années La strategie d’investissement de broadcom: acheter des franchises avec une bonne position de marcher et un potentiel de profitabilité augmenté sans gros investissements La rumeur un ex de VMWare qui pense que c’est la mort de VMWare Outils de l’épisodeGitHub Copilot quand le code s’écrit tout seul … (en fait non, les développeurs ont encore des beaux jours devant eux)
A voir aussi: Github Co-Pilot : Addictif ou Efficace ? (Johan Jublanc et Simon Provost) à Devoxx France 2022 Rubrique débutant ConférencesSource: Developers Conferences Agenda/List by Aurélie Vache et contributeurs
June 14: France API - Paris (France) 15–18: VIVA Technology - Paris (France) 17: Cloud Ouest 2022 - Nantes (FR) + Online 21–22: Voxxed Days Luxembourg - Luxembourg 23: ServerlessDays Paris - Paris (France) 24: SoCraTes Rennes - Rennes (France) 27–1: Hack in Paris - Paris (France) 28: Dev nation Day France - Paris (France) 29–1: BreizhCamp - Rennes (France) 30–1: Sunny Tech - Montpellier (France) 30–1: Agi’Lille 2022 - Lille (France) September 9: JUG SummerCamp - La Rochelle (France) 29: Cloud Nord - Lille (France) October 4–6: Devoxx Morocco - Agadir (Morocco) 6–7: Paris Web - Paris (France) 10–14: Devoxx Belgium - Antwerp (Belgium) 13–14: Volcamp 2022 - Clermont Ferrand (France) 20–21: DevFest Nantes - Nantes (France) 27–28: Agile Tour Bordeaux - Bordeaux (France) November 8–9: Open Source Experience - Paris (France) 15–16: ParisTestConf - Online 15–16: Agile Tour Toulouse - Toulouse (France) 17: Codeurs en Seine - Rouen (France) 18: Devfest Strasbourg - Strasbourg (France) 19–20: Capitole du Libre - Toulouse (France) December 1: Devops DDay #7 - Marseille (France) 2: BDX I/O - Bordeaux (France) 14–16: API Days Paris - Paris (France) & OnlineNom de la conf du x au y mois à Ville - CfP jusqu’à y mois TODO: reprendre celles de l’épisode d’avant
Nous contacterSoutenez 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/
Mon, 13 Jun 2022 - 1h 21min - 280 - LCC 279 - URL ceteris paribus sic stantibus
Guillaume et Emmanuel discutent de l’état des versions de Java utilisées, de Java String template, et de beaucoup de failles de sécurité. On pourra presque se renommer Les Cast Sécu ;P On y ressussite aussi la rubrique débutant et discutons du piège de la classe URL.
Enregistré le 20 mai 2022
Téléchargement de l’épisode LesCastCodeurs-Episode–279.mp3
News LangagesL’état de Java selon newrelic
Java 11 commence enfin à être utilisé plus que Java 8 en prod (48% vs 46%) Dans les versions non LTS, c’est Java 14 qui a l’air d’avoir le plus de succès non LTS en prod est 2,7% Après Oracle, c’est la distrib de AWS qui est pas mal utilisée suivi par adoptium Beaucoup d’utilisation de Java dans des containeurs (70%) avec 1 seul core, donc aussi moins de bénéfices dans l’utilisation de G1 pour le GC Toujours dans les containeurs, les applis Java tournent souvent avec moins de 512MB de RAM (45%)les string template c’est ce qui a fournit log4shell donc attention Replace certains usages de stringbuilder , stringfromat et messageformat Beaucoup de langages offrent ça (bash ahah) Exemple d’usage html, json, yaml etc Ils veulent permettre des règles de transformations et de validation (escape caractère) Peut même éviter le,passage par l’étape du passeur Objet template a le template et la policy Embedded expressions: chaînes de caractères, arithmétique, invoque méthodes ou champs, pas besoin d’échapper les double guillemets. Lignes multiples Quid capture des variables locales sans l’avis du développeur. Pas d’exemple meta où le template est importé ou construit.Un article détaillé sur ce qui est nouveau niveau GC dans Java 18
LibrairiesQuarkus 2.8 et 2.9
WebAuthN Confluent Schema Registry Kotlin Scala RESTEasy Reactive est la couche par défaut GraalVM 22 Elasticsearch Dev Services OutillageUn nouveau décompilateur avec du code plus lisible
Tous plus ou moins un fork de celui d’intellij maintenu par JetBrains, le fork d’avant est de Minecraft Reconstruit des constructions de plus haut niveau et plus moderne. Exemples SécuritéUne vulnérabilité dans struts 2
Un problème qui n’avait été que partiellement corrigé. Lié à OGNL’et une double évaluation via %{…} sur du contenu venant de l’utilisateur.Le gros trou de sécu sur les signatures Java 15–18
attaque sur les approches ECDSA (elliptic curve digital signature algorithm), typiquement plus modernes cibles Java web start, Java applets, web services qui utilisent ECDSA (JWT, SAML, OIDC Id tokens, WebAuthN version Oracle Java 7, 8, 11, 15, 16, 17, 18, OpenJDK 15, 17, 18 (backport Oracle) Comme un psychic paper de dr who: peut signer numériquement un papier sans infos (paramètres de la courbe peuvent être à 0 ce qui permet de valider tous les messages (0) L’interprétation pour un framework comme QuarkusSpring4Shell avec risque de remote code execution (unfolding)
Mitigations: mettre a jour 5.x, mettre a jour tomcat (tactique), setDisallowedField pour excludes les accès aux getter/setter class, passer a Java 8 La RCE est basée sur la navigation non restreinte de class.module.classLoader Spring MVC Early Announcement Spring Cloud exploit announcement Spring MVC Exploit Announcement Spring4Shell HelpNetSecurity assessment Spring4Shell Sonatype Assessment Qualys assessmentRecense les bonnes pratiques en terme de sécurité numérique Selon différents thèmes Authentication Browsing the Web Email Secure Messaging Social Media Networks Mobile Phones Personal Computers Smart Home Personal Finance Human Aspect Physical SecurityGoogle offre aux clients Google Cloud des libairies validées en sécurité Une équipe de maintenance Open Source chez Google
Loi, société et organisationApple va supprimer au téléchargements les applis non mises a jour depuis 3 ans et peu téléchargées
ça a fait réagir et râler Des applis finies Mais surtout une résumassions c’est du taf (nouvelles règles, peut être mise à jour de framework) Du cote de Apple c’est nettoyer un peu la longue queue d’applis Et encourager les gens à rester au top (eg privacy infos)Les duchesses ferment leur slack aux hommes
pas fait de gaité de cœur mais réaction aux événements temps des Modérations plus passe sur les posts d’hommes que de femmes Sensation de pas laisser la place aux femmes Maladresses et manques de respect Coupé dynamisme et la sécurité de parole Et beaucoup d’hommes et du coup sentiment d’épier Les duchess feront toujours des événements mixtes mais cet espace avait perdu son utilité premièreComment la guerre en Ukraine ébranle la tech russe
fragilisation fuite des cerveaux (depuis 2014 et la crimée (cerveaux emprunts de plus de liberté) manque .5 à 1 millions de developpeurs Karspersky et les doutes de ses clients (80% du chiffre d’affaire à l’étranger) Yandex moteur de recherche protégé car marcher local mais démission du CEO Default de paiement (endettement) e.g. VK 400 millions de dollars Envisager de raid de disque dur pour consommation locale Outils de l’épisodeFaire le la configuration conditionnelle dans git
includeIf permet de faire la condition Utile pour changer l’email entre bureau et perso par exemple. [aheritier] je le fais souvent avec des repertoires différents pour boulot vs oss/perso Rubrique débutantLes URLs sont égales si les IP sont égales donc DNS lookup donc pas constant pour la vie de l’instance de JVM vive les hash des Set et Map :) ConférencesJavaDay au Paris JUG: Le futur de Java - le 22 juin 2022
Nous contacterSoutenez 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/
Mon, 23 May 2022 - 1h 06min - 279 - LCC 278 - En direct de Devoxx France 2022
Les Cast Codeurs font la clôture de Devoxx France 2022 en 🪑 et en 🦴.
Enregistré le 22 avril 2022
Téléchargement de l’épisode LesCastCodeurs-Episode–278.mp3
InterviewLa vidéo du direct Devoxx France qui est plus facile à suivre se trouve sur YouTube.
Nous contacterSoutenez 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/
Tue, 26 Apr 2022 - 51min - 278 - LCC 277 - L'interview des 10 ans de cast codeurs à Devoxx par la chaîne Devoxx France TV
Les Cast Codeurs passent au grill de Nicolas sur la chaîne TV Devoxx France. Nicolas nous rappelle des moments des 10 ans de Devoxx + Les Cast Codeurs.
Enregistré le 17 mars 2022
Téléchargement de l’épisode LesCastCodeurs-Episode–277.mp3
NewsNous contacterSoutenez 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/
Sat, 09 Apr 2022 - 1h 20min - 277 - LCC 276 - Il a coulé mon data center !
Emmanuel, Guillaume et Antonio se réunissent pour discuter des nouvelles de ce début de printemps. On y parle retour de JavaOne, revue de pull request, de developpement cloud natif, de SLO, et de log.
Enregistré le 25 mars 2022
Téléchargement de l’épisode LesCastCodeurs-Episode–276.mp3
News
Langages
Remplacer vos APIs de logging avec System.Logger
Blog post rédigé suite à notre épisode 271 (où on avait cité System.Logger) Rapide histoire des APIs de log en Java Présentation de l’API System.Logger Formattage des messages basé sur java.text.MessageFormat Utilisation possible des ResourceBundle Niveaux TRACE, DEBUG, INFO, WARNING, ERROR (et non FINE, FINER, FINEST comme JUL) Le service System.LoggerFinder pour changer l’implémentation (JUG, Log4J, Logback, …) Etude de perf: Logback est plus performant, suivit de JUG puis Log4J2Une série de petites librairies Java légères. Librairies simples, avec chacune une tâche unique, dont :
parsing JSON parsing HTML / CSS client HTTP client mail resolveur de noms de paramètres de méthode des Properties améliorés un depdenceny-injection léger400: UTF–8 by Default 408: Simple Web Server 413: Code Snippets in Java API Documentationun super guide sur l’utilisation des nouveaux javadoc code snippets 416: Reimplement Core Reflection with Method Handles 417: Vector API (Third Incubator) 418: Internet-Address Resolution SPI 419: Foreign Function & Memory API (Second Incubator) 420: Pattern Matching for switch (Second Preview) 421: Deprecate Finalization for RemovalLibrairies
Micronaut 3.3 sorti, avec des nouveautés et Micronaut 3.4 aussi
graalVM 22
binding par valeur d’annotations (CDI)
Serialization (remplace Jackson, plus leger en memoire, ne fait pas de deserialisation arbitraire, pas de reflexion)
module email qui permet d’envoyer avec MailJet, Amazom simple email service, SendGrid, Postmark
Operateurs Kubernetes
possibilité de référencer des beans properties dans @Requires
injection de localized message sources
nouveau module Micronaut Data MongoDB
support de Maven pour Micronaut AOT
Hibernate 6: certains points clés
nouveau parseur HQL (langage plus riche) API nettoyées (donc ca va peut etre demander des migrations) DDL de meilleure qualité plus adaptée à la base de donnée cible requetes de type rapport (filter, rollup, cube, et les window functions arrivent bientot) arythmetique sur les dates index pour les colonnes (SQL plus compact et rapide)Kubernetes Service Discovery and Selection with Stork
Stork 1.0 Quarkus CLI dans homebrew et SDKman extension pour le driver Oracle Reactif terminal interactifInfrastructure
hors cryptocurrency augmentation a continué mais les efforts d’economies d’énergie ont compensé la croissance de la demande hors production du materiel je crois les alertes ont fait bougé les lignes études source Masanet et al - science et une autre de Malmodin 2020 dans science aussiCloud
Sondage annuel “The State Of Cloud Native Development”
Sondage créé par Slash Data et soutenu par la CNCF Interrogent 19.000 développeurs sur : l’utilisation de Kubernetes, le Edge Computing, le Cloud Native, Containers et Orchestrateur Le nombre mondial de développeurs cloud native a augmenté au cours des 12 derniers mois de 0,3 million, pour atteindre 6,8 millions. Dans le même temps, la proportion de développeurs backend impliqués dans les technologies cloud native a diminué de 3 points de pourcentage, passant de 44 % à 41 %. Dans toutes les régions, l’Amérique du Nord (47 %) et l’Europe occidentale (46 %) affichent les taux d’adoption les plus élevés. Kubernetes est utilisé par 31% de tous les développeurs backend, ce qui représente une augmentation de 4 points de pourcentage au cours des 12 derniers mois. Actuellement, 5,6 millions de développeurs utilisent Kubernetes. Dans tous les secteurs, le Edge Computing a connu une croissance rapide de l’adoption de Kubernetes et présente désormais les taux d’utilisation les plus élevés des conteneurs et de Kubernetes. Parmi les développeurs spécialisés dans le Edge Computing, l’utilisation de Kubernetes a augmenté de 11 points au cours des 12 derniers mois, pour atteindre 63 %. L’architecture Serverless est également attrayante pour les développeurs Edge Computing : 48 % de tous les développeurs edge utilisent serverless, contre seulement 33 % de tous les développeurs backend. Parmi les outils serverless, AWS Lambda continue de jouer un rôle prépondérant. Cependant, Google Cloud Run a considérablement gagné du terrain au cours des 12 derniers mois.99,99 en cible interne, au dessus, il y a tant de variables entre l’utilisateur et le service que c’est perdu dans le bruit (wifi, ISP etc) 99,999 pour les infra globales disponibilité est fonction du MTTF et MTBR = MTTF/(MTTF+MTTR) si on veut offrir 99,99, toutes les dependances critiques doivent offrir beaucoup plus, regle du 9 supplementaire sinon il faut des mitigation, cache, fail open etc dispo depend du temps de detection et du temps de recuperation donc forcer les clients (services dependants) à baisser leur niuveau ou engineerer pour compenser le bas niveau du service dont on est dependant faire des scenarios (e.g. 1 outage majeur, 3 faibles - e.g. un shard, 5 de dependances) considerer que la perte d’un shard du service veut dire SLO is 1/nieme indisponible (n étant le numbre de shards) donc il reste peut de temps pour reagir quand on compte temps de detection, temps de paging, etc. error budget: 1-SLO, sur un mois et peut etre une fenetre glissante pour remonter graduellement. si budget depensé, on ne fait plus de mise en prod sauf critical security issues ou si c’est pour corriger les causes du probleme qui a consommé le budget rendre le plus de dependances non critiques (par exemple en éliminant les SPOF) faire revue d’architecture pour identifier ces dependances et leurs impacts appels a trois pools de serveurs indpendants et prendre le premier resultat dependences asynchrones peut reduire le nombre de dependancs critiques retours arriere rapide et automatisés: en enlevant un humaind e la boucle, on racourcit les temps de réponse et bien d’autres choses encoreArchitecture
Les design patterns pour les systèmes distribués et donc les microservices
survol et définitions des patterns qu’il faut connaître dans les microservices Pas trop dans le détail donc bon survol Idempotence, asynchronicite, helathcheck, feature flag, fallback Bulkhead: compartementalisation Metrics, monitoring, alarmes Rate limiting, backpressure, etcMéthodologies
La pyramide des fondamentaux dans la revue de code
codifie les points sur lesquels se concentrer sur la revue de code et ceux avec une priorité plus basse automatiser les points bas comment le style de code pour eviter de perdre du temps et de la frustration humaineSécurité
Removed unencrypted Git protocol and certain SSH keys
nettoyage de printemps plus de git: qui est non sécurisé plus ne nouvelles clés RSA SHA1 plus de DSA de nouvelles courbes elliptiquesSamsung utilise incorrectement la crypto rendant son enclave sécurisée, pas sécurisée
l’article n’a pas les details techniques 100 m de telephones la meme clée était reutilisée (et pas encapsulée le vecteur d’initialisation pouvait être configuré et reutilisé à valeur unique n’importe quelle application pouvait essayer d’acceder aux secrets de l’enclave en essayant les conbos parce que l’application avait accès à ces paramêtres quand on reutilise les vacteurs d’initialisation, on peut faire un 1–1 entre le message clair et chiffré, ce qui permet de revenir a message clair si on produit le meme message cripté. https://knowledge-base.secureflag.com/vulnerabilities/broken_cryptography/reused_iv_key_pair_vulnerability.htmlLoi, société et organisation
Un développeur sabote son projet open source et paralyse des milliers d’applications
Violation de RGPD par utilisation de Google fonts
French privacy regulator rules against use of Google Analytics
L’article de la CNILUne Entrée en bourse pour Sonatype
Conférences
JavaOne à Las Vegas du 16 au 20 octobre 2022
Java language & platform, cloud-native development, database, microservices, DevOps, artificial intelligence & machine learning, security & application management, and more.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/
Mon, 28 Mar 2022 - 1h 18min - 276 - LCC 275 - Interview sur le darwinisme numérique avec Didier Girard - partie 3
Cet épisode est un échange entre Guillaume, Antonio, Emmanuel et Didier Girard sur les réflexions de Didier autour du darwinisme numérique. Cette troisième et dernière partie nous emmène sur les chemins des choix organisationnels que ces natifs du numérique à succès emploient.
Enregistré le 17 février 2022
Téléchargement de l’épisode LesCastCodeurs-Episode–275.mp3
Interview Ta vie ton oeuvreModele organisationnelL’individu Nous contacterSoutenez 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/
Mon, 21 Mar 2022 - 56min - 275 - LCC 274 - Interview le darwinisme numérique avec Didier Girard - partie 2
Cet épisode est un échange entre Guillaume, Antonio, Emmanuel et Didier Girard sur les réflexions de Didier autour du darwinisme numérique. Cette deuxième partie se concentre sur ce que veut dire le darwinisme numérique pour les entreprises et analyse les entreprises qui ont embrassé ses nouvelles contraintes ces vingt dernières années. En particulier, nous discutons de leur capacité d’adaptation comme principe fondamental et en filigrane de l’impact sur l’individu. On y invente aussi la notion d’équipe raclette.
Comme souvent l’actualité nous a rattrapé. Cette interview a été enregistré quelques jours avant l’invasion de l’Ukraine par la Russie ce qui donne une couleur plus intense à la partie 1 de cette interview.
Enregistré le 17 février 2022
Téléchargement de l’épisode LesCastCodeurs-Episode–274.mp3
Interview Ta vie ton oeuvreL’entrepriseTech System organisationel Génération surdiplômée - les 20% qui transforment la France Les BATX
L’individu Nous contacterSoutenez 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/
Mon, 07 Mar 2022 - 50min - 274 - LCC 273 - Interview sur le darwinisme numérique avec Didier Girard - partie 1
Cet épisode est un échange entre Guillaume, Antonio, Emmanuel et Didier Girard sur les réflexions de Didier autour du darwinisme numérique. Cette première partie discute des axiomes de ce concept et de ses impacts sur les nations. On y échange sur la souveraineté et l’indépendance notamment.
Enregistré le 17 février 2022
Téléchargement de l’épisode LesCastCodeurs-Episode–273.mp3
Interview Ta vie ton oeuvreLe darwinisme numérique La nationSouveraineté et indépendance sur les ressources critiques
Nous contacterSoutenez 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/
Thu, 24 Feb 2022 - 44min - 273 - LCC 272 - Interview sur Log4Shell avec this
Emmanuel et Arnaud reviennent sur la fameuse faille #log4shell qui a fait travailler beaucoup d’équipes Java en décembre et janvier.
Enregistré le 11 février 2022
Téléchargement de l’épisode LesCastCodeurs-Episode–272.mp3
Interview Quelle est cette vulnérabilité et pourquoi est-elle si dangereuse ?Reportée chez Apache le 24 Novembre, Enregistrée en CVE le 26 Nov Probablement connue depuis au moins Mars 2021: https://github.com/nice0e3/log4j_POC
fix 2.15.0 le 10 décembre Apache Log4j2 JNDI features do not protect against attacker controlled LDAP and other JNDI related endpoints. Severity CVSS de 10 sur 10 jamais vu Back to basics: C’est quoi JNDI? the JNDI features used in configurations, log messages, and parameters do not protect against attacker-controlled LDAP and other JNDI related endpoints l’attaquant trouve une donnée utilisateur qui est loggée Pas que HTTP et injecte {JNDI:ldap pointant vers un ldap malicieux qui retour du code java sérialisé log4j deserialise et execute ce que l’on veut que log4j2-core pas api détail de Lunasec log4j zero day mitigations initiales2.16.0 (change des fonctionalités) le 13 décembre Apache Log4j2 Thread Context Lookup Pattern vulnerable to remote code execution in certain non-default configurations When the logging configuration uses a non-default Pattern Layout with a Context Lookup $${ctx:loginId}) attackers with control over Thread Context Map (MDC / Mapped Diagnostic Context) input data can craft malicious input data using a JNDI Lookup pattern donc on peut injected une chaine JNDI encore mais on doit savoir comment de la date utilisateur on peut pousser dans une Thread Context Map référencée par la config on alors l’attaquant a accès à la config et c’est game over Initialement on parlait de denial of services via une reference infinie probablement c’est une chemin qui n’était pas protégé des interpolations de messages et donc de l’accès JNDIfix dans 2.17.0 le 18 décembre recursion non controlée dans un lookup auto référentiel When the logging configuration uses a non-default Pattern Layout with a Context Lookup (for example, $${ctx:loginId} Besoin de l’attaquant control de Thread Context Map (peut etre une donnée injectée par un framework d’une entrée utilisateur changer la config log4j locale?2.17.1 le 27 décembre Apache Log4j2 vulnerable to RCE via JDBC Appender when attacker controls configuration malicious configuration using a JDBC Appender with a data source referencing a JNDI URI which can execute remote code. attaquant accede et modifie la config pas simple sauf si la plateforme permet la reconfiguration par un utilisateur??? logmontre 8% de packages sur central affectés par log4j 2 niveau de dépendance transitive monte jusqu’à 9 du coup il y a neuf vendeurs qui doivent corriger leurs dépendancesToujours plus de 40% de téléchargement sur Maven central des versions impactées
Log4j1 n’est pas en reste:
JMSAppender JMS dit JNDI et paf on recommence JDBCAppender SQL injection FTW log4j1 n’est plus maintenue ah merde! Apache Kafka1.2.17 compatible voir les fixes Des exploitations ?Peu au final Car chaque usage de log4j est unique Entrée quoi est loggé etc Donc trop dur pour les script kiddies
Mais dans les megasploits et autres toolkits d’attaque
VMware vSphere et Hoirizon Ubiquity Solarwind etc
Quel process suivreverifier la véracité de la CVE et comprendre ses vecteurs d’attaque
identifier ses dépendances et donc ses soft impacté
identifier les éléments fournis par l’utilisateur qui sont loggés
définir le risque par software et par service
appliquer le patch de sécurité et reconstruire le package
déployer ou livrer chez les clients
répéter pour les semaines à venir
shading? :)
Impact de l’industrie dans le futurLa chine a tapé sur les doigts Alibaba qui n’a pas donné cette faille d’abord au gouvernement chinois
The Gift of It’s Your Problem Now
Discussion sur le paiement et l’open source Pour un individuel l’open source est un cadeau, et donner de l’argent n’améliore pas le cadeau Injecter de la compensation financière dans un cadeau casse le cadeau et ne change pas la motivation (ou la casse) Pour une société, l’open source est un moyen de récupérer du feedback et du marketing, donc c’est une transaction et pas un cadeau Un autre article similaire burden open source maintainermainteneur rajoute une boucle infinie dans un package modems très utilisé en protestation de non contribution (financière) 20 millions de téléchargements par semaine GitHub a bloqué son compte et nom a remis une ancienne version un peu de temps avant il s’est fait copié son idée de faker.js as a serviceReflection on log4shell par diabolical developer
marathon pas un sprint, on fatigue après 5 ou 6 jours a fond, donc faites des rotations comm sur le réseau, que regarder : Adding encryption, Auth/Auth, I sanitize data that goes over the wire, I sanitize input that could execute, DOS protection – backoff strategies and more. supply chain sécurisation and component governance OSS funding (hum?) Nous contacterSoutenez 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/
Sat, 12 Feb 2022 - 1h 45min - 272 - LCC 271 - UPX version Spinal Tap
Antonio, Guillaume et Emmanuel discutent 11, le 42 du rockeur, Quarkus, Java 17, limites de Kubernetes, #Y2k22, web3, Maven, Log4J, et et et cloud souverain.
Enregistré le 14 janvier 2022
Téléchargement de l’épisode LesCastCodeurs-Episode–271.mp3
News LangagesQuoi de neuf dans Java 18 de Loïc Mathieu
Feature complete (mais encore des bugs) UTF–8 par défaut exemples de code dans la javadoc avec @snippet y compris des references a des fichiers extérieurs Simple Web Server pour des resources statiques (comme d’autres platformes comme Ruby ou Python je crois. En code ou via la commande jwebserver le mécanisme de finalisation proposé à la suppression --finalization=disabled pour tester. Celui-là il ne nous manquera pas ré-implementation de la réflection avec les MethodHandleLe calendrier de l’Avent Java 2021 a plein d’articles très intéressants
pas tous révolutionnaires, mais c’est sympa RXJava vs Kotlin Coroutines Analyser votre repo Git en Java avec jgitCinq choses que vous ne saviez pas sur la concurrence en Java
l’ordre du programme et l’ordre d’exécution n’est pas le même, mais il est sémantiquement similaire le nombre de threads dans une JVM est limité (dépend de la machine) plus de threads ne veut pas dire plus de perfs LibrairiesQuarkus 2.5 et 2.6 sont sortis:
API programmatique pour interagir avec le cache Kotlin 1.6 Java 17 par défaut pour les nouveaux projets générés des extensions ont bougé du core vers le quarkiverse hub, peut-être quelques impacts de migration images container plus petites en natif et compression UPX possible plus petit sur disque mais plus gros en memoire (pour la décompression) quarkus.native.compression.level de 1 à 10 dans le fichier de config dev service pour Oracvle DBUtiliser Neo4J pour analyser le chemin de code et pourquoi un bout de code est inclus en natif
super utile pour les compilations natives quarkus.native.enable-reports pour avoir le rapport exploitable par neo4jservice discovery et client side load balancing support pour Consul, Eureka, and Kubernetes extensible notamment pour le load balancing intégration avec Quarkus REST Client et gRPC dans la config stork://hello-service InfrastructurePourquoi et comment de la taille des containers Kubernetes
quand on ne partage pas, inefficient mais sécurisé Avec des VM, on peut overcommitter des resources sur l’hyperviseur mais risque sur mésentente Ne remplace pas le capacity planning Containers définissent des filtrages plus fins et tuent les process qui dépassent Discussion cpu_share (proportion en balance), cpu quota, cpu period pour définir les limites basses et hautes mais si ça reste statique par host c’est pas très pratique Orchestration de container via Kubernetes (request = min, limit = max) Kube donne au minimum request mais peut donner plus si le noeud n’est pas occupé à 100% Attention, la partie libre n’est pas distribuée équitablement mais en proportion du ratio de request demandé vs les autres. Donc les containers avec des grosses request sont privilégiés. Donc mettre limit est important Donc jouer le jeu request et monitored pour ajuster à la baisse si nécessaire. Tous les workloads doivent jouer le jeu. Kubernetes QoS (best effort , burstable et guaranteed) utilisé lorsque on tourne bas en mémoire (pas en cpu !) Discussion de la sélection du noeud (selector, affinity, taints and tolerations ou isolation/ restriction) pour isoler des qualités de service ou prédictabilité, pour la sécurité etc ) besoins mémoire : si utilisation max, pod killed. Besoins CPU : si utilisation max, on est throttled -> slow Mettre mémoire request = limit sauf si le process peut rendre de la mémoire (pas fait avant java 11) CPU request = limit si la prédictabilité de l’application est très important. Etudier conso CPU de l’appli en percentile et targeted par exemple une garantie à 99% ou 90 ou moins si pas sensible Article ne parle pas du scale outExchange 2016 et 2019 souffrent du bug de l’an 2022 Y2K22
Après Matrix et son opus Resurection, Microsoft relance le bug de l’an 2000, 22 ans après, Y2k22 dans Exchange server 2016 et 2019 et d’autres systems non microsoft pour Exchange c’est du au systeme de scan d’antivirus qui ne reconnaissait pas les dates des signatures de virus 22010100001 parce que le software stocke les dates dans un entier signé 2^31-1=2147483647 et la date est stockée sur les deux premiers chiffres. le workaround initial est assez marrant, le software considère qu’on est le 33 décembre 2021 2112330001 WebMoxy de Signal (ex) discute web3
web1 était décentralisé, web2 est riche mais centralisé, web3 sera riche et décentralisé problème: les gens n’aiment pas faire tourner leurs propres serveurs et ne l’aimeront jamais même les entreprises ne font plus tourner leurs serveurs un protocole (standard) bouge beaucoup plus lentement qu’une plateforme exemple Spring, exemple Quarkus vs Microprofile ou Jakarka EE puis discute blockchain et NFT l’état et la logique / les permissions pour mettre a jour sont décentralisées mais pas l’interface avec l’utilisateur blockchain est une confiance entre serveurs plus qu’entre clients avec le mobile, les clients ne peuvent pas acter en tant que server (voir Bitcoin) donc des gens vendent des accès centralisés aux noeuds de la blockchain et les clients de ses APIs ont une confiance implicite (et pas par le système) et centralisation des accès et donc mining de ces informations NFTs stockent l’URL de l’objet (sans hash) donc pas sécurisé sans parler du rachat de domaine il a fait un NFT qui se change en émoji caca pour celui qui l’a acheté et il s’est fait virer son NFT ET sa preuve de possession mais c’est une blockchain ??? sauf que le wallet passe par des fournisseurs centralisés pour faire web3, les gens se concentrent autour de plateformes, un comportement tres web2 donc la blockchain et NFT ont du succès pas parce que c’est distribué mais parce que c’est un gold rush la dynamique rend les projets web3 successful mais fondamentalement les mêmes dynamiques vont les centraliser propositions accepter que les gens ne font pas tourner leur serveurs et utiliser la crypto pour distribuer la confiance Outillagele POM est figé parce c’est ce que publie maven central, donc maven 3 ne fera que des améliorations mineures Maven 5 la proposition: avoir un POM de build (v5) et produire un POM de consommation en v4, comme les autres systèmes de builds font Maven 4 va faire la meme séparation mais en faisant un POM v4 build to PO)M v4 consumer conversion en étape intermédiaire maven 4 alpha 1 se rapproche, il attend juste des contributions de @aheritier blog de Hervé Boutemy Maven Wrapper (ex takari) est désormais un projet officiel apache maven : https://maven.apache.org/wrapper/maven-wrapper-plugin/ idem pour Maven Daemon https://github.com/apache/maven-mvnd Le maven Build Cache arrive : https://github.com/apache/maven-build-cache-extension SécuritéComme prévu, la saga log4j continue avec Log4j 2.17 et 2.17.1
avec l’augmentation de la visibilité, plus de problèmes vont être trouvés Log4J 2.17 corrige un appel récursif infini exploitable en déni de service. Besoin d’avoir un pattern non standard dans la config (utilisant les context lookup) et un accès au Thread Context Map par l’attaquant (5.9) https://logging.apache.org/log4j/2.x/security.html#CVE-2021-45105 Log4J 2.17.1 fixe un abus du JDBCAppender qui peut référencer une URL JNDI et executer du code a distance mais l’attaquant doit pouvoir modifier la configuration de log4j (6.6) https://logging.apache.org/log4j/2.x/security.html#CVE-2021-44832 doit-on quitter le navire ? équilibre entre fonctionnalités et sécurité on fera un épisode spécial log4Shell bientôtH2 vulnérable à une attaque JNDI
fondamentalement comme log4shell Mais exploitable pour ceux qui passent une url ou un login mot de passe via des infos utilisateur Par exemple h2 console Mais localhost par défaut Sauf dans jhipster Loi, société et organisationTribune de Didier Girard sur le cloud souverain
investissement de 1,8 milliards sur 4 ans dans le cloud français sur 4 ans. C’est moins que chaque grand cloud provider par an consortiums européens mais mauvaise histoire CloudWatt, Gaia-x et ses problèmes de gouvernance initiative Soutenu par la dépense publique Cloud de confiance est un moyen pour Didier du transfert technologique et de casser l’asymétrie de compétence et d’investissement Ça répond pas aux problèmes clés levés par Quentin dans l’interviewLa Maison Blanche demande à Oracle et Microsoft de réfléchir à la sécurisation des logiciels libres
Outils de l’épisodeen general je préfère les applis natives pour chaque service Mais avec les messageries instantanées c’est la chianlie Et il y a les apps qui sont des tabs dans le navigateur (Trello, Gmail, calendar etc) Là tout est centralisé dans une seule app (notifications etc) C’est comme un mini browser dédié avec des sites webs fixes Et contre toute attente j’aime bien Version gratuite et version pro. Encore des limitations (vue de deux apps en parallèle) mais ils travaillent à une nouvelle version ConférencesSunny Tech à Montpellier le 30 juin et 1er juillet — CfP ouvert jusqu’au 28 février
Nous contacterSoutenez 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/
Mon, 17 Jan 2022 - 1h 30min - 271 - LCC 270 - Interview de Nicolas De Loof sur Docker Compose
Nicolas De Loof rejoint Emmanuel et Antonio pour discuter de Docker Compose.
Enregistré le 17 décembre 2021
Téléchargement de l’épisode LesCastCodeurs-Episode–270.mp3
Interview Ta vie ton oeuvreIntroduction à la technoDocker en 1 minute Docker compose d’où vient l’idée et le besoin
La techno en conceptsUn container c’est quoi ? Ça tourne comment ?
Du coup, on veut en faire tourner plusieurs Comment on les “lie”? Network autre chose?
Mais c’est pas le job de Kubernetes?
deploy scaling rollbackLa spécification
Discussion sur les notions:
service build label network sécurité (cap_add)docker-compose vs docker compose
Comment on l’utilise en pratique pour un devComment je définie mon multi container Lien vers des dockerfiles? Echange d’infos (e.g. DB connection ou mot de passe entre DB et l’appli) Ma DB doit démarrer avant mon app Ca fait les health check?
Je commite ce fichier où typoiquement ? comment je partage avec mon équipe ? Et ma CI ?
Comment je mets en prod ? Je mets en prod hein, ça marche sur ma machine.
v2 vs v3
Sous le capotEt donc comment ça marche docker compose? Zoom sur le network
La sécurité
La communauté, le futurRoadmap Docker desktop payant
Nous contacterSoutenez 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/
Mon, 03 Jan 2022 - 1h 13min - 270 - LCC 269 - Log4J devient Turing-complet
Antonio et Guillaume discutent de nouvelle crèmerie, des fêtes de fin d’années, des cadeaux du père Noël, et… de log4j, le feuilleton de fin d’année !
Enregistré le 20 décembre 2021
Téléchargement de l’épisode LesCastCodeurs-Episode–269.mp3
NewsDécès de Stéphane Maldini (14 Dec 2021)
Une triste nouvelle pour commencer l’épisode avec l’annonce du décès soudain de Stéphane Maldini Un acteur de l’écosystème Grails à la fin des années 2000, gràce à de nombreux plugins Mais plus connu pour avoir co-fondé le project Reactor, et popularisé le Reactive Programming au sein de la communauté Java Egalement à l’origine de R2DBC pour rendre l’accès aux bases de données plus réactif Après de nombreuses années chez Pivotal, il avait rejoint plus récemment Netflix, et c’est peut-être en partie grâce à lui que vous pouviez matter plein de séries !Le feuilleton Log4J2 (9 Dec 2021)
Grosse faille de sécurité liée à l’utilisation des versionsThu, 23 Dec 2021 - 1h 10min - 269 - LCC 268 - Interview sur GraalVM avec Gilles Duboscq - partie 2
Gilles Duboscq de OracleLabs discute des multiples facettes du projet GraalVM avec Emmanuel. La partie 2 nous emène vers GraalVM Native image, comment utiliser GraalVM en pratique en fonction des différents usages discutés, les versions, la communauté, comment c’est fait sous le capot et plein d’autres choses encore. Si vous n’avez pas écouter la partie 1, je vous encourage à le faire.
Enregistré le 16 septembre 2021
Téléchargement de l’épisode LesCastCodeurs-Episode–268.mp3
Interview Ta vie, ton œuvreLes concepts clésLa plupart des concepts sont couverts dans la partie 1. La partie 2 fini sur la compilation native avant de passer à la suite.
Native:
comment ca fonctionne Un JIT? quel GC Quels avantages Quels inconvénients?Donc GraalVM c’est une JVM, quelles parties sont reprises de OpenJDK?
Comment on l’utilise en pratiqueJe veux utiliser GraalVM pour mon code nodeJS, je fais comment? Je veux utiliser GraalVM comme ma JVM de mon appli Java, je fais comment?
Je veux faire du native, comment je fais? * concrètement, je dois faire gaffe a quoi?
GraalVM Community vs Enterprise, quelles sont les différences ?
Sous le capotComment on implémente un nouveau langage sur GraalVM?
Comment on implémente Java sur Java C’est dur de supporter des nouveaux langages avec leur sémantique et leurs types != de la JVM
Comment l’interprétation de langages s’optimise
Comment les optimisations sont construites? Des trucs cools à raconter sur les optimisations?
C’est un chemin de combien d’années?
WASM vs GraalVM, comment vous voyez la “standardisation de la VM” derrière WASM?
La communauté et le futurQuelle license? C’est juste Oracle? Pourquoi c’est pas dans OpenJDK? Comment la commmunauté code ensemble?
Des idées sur là où vous voulez aller?
Nous contacterSoutenez 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/
Wed, 01 Dec 2021 - 1h 14min - 268 - LCC 267 - Lagom efface sa dette technique
Antonio et Emmanuel discutent Microsoft et Java, cryostat, Java 17, Micronaut, Quarkus, Play framework, Lagom, Amazon, CORS, CSS (si si), Hibernate Reactive, AtomicJar, canary, amplification algorithmique.
Enregistré le 12 novembre 2021
Téléchargement de l’épisode LesCastCodeurs-Episode–267.mp3
News LangagesBlog sur les extraits de code dans les JavaDocs (18 Oct 2021)
C’est plus agréable à utiliser que les balises pre, pas besoin d’escaping (pour < et >), l’espace à gauche est normalisé On peut mettre en valeur certaines portion, ou remplacer par une expression régulière certains bouts Et on peut également externaliser d’où vient l’extrait de code, au lieu de le mettre dans la JavaDoc, on peut référencer une région de son vrai code. Donc au moins, on est sûr que c’est du code valide et qui compile évidemment Gunnar explique comment reprendre le code provenant de nos classes de test, pour le faire apparaître dans les JavaDocs, créant ainsi une vraie documentation “exécutable”Compress class space (27 Mars 2019)
compressed object ou class pointer sur 64buts en 32 bits vis adresse relative due adresse relative, la Klass structure dans le metaspace doit être mémoire contiguë et pré allouée initialement (risque de non reallocation si mémoire libre non contiguë ) Donc le classpart et le non class part séparés dans le meta space. Klass is 32G max et contiguë et la klass part est appelé compressed class space Par défaut 1G mais configurable jusqu’à 3G. C’est virtual mémoire, juste une réservation. 1K pas classe environ donc 1000000 de classes max Que quand on utilise compressed oops Que pour Java heap size de 32G maxCryostat 2.0 (18 Oct 2021)
Fournit une API sécurisée pour profiler et monitored les applis Java dans les containers avec Java Flight Recorder Cryostat peut récupérer stoquer et analyser les enregistrements flight recorder de containers Ensuite consommé par graphana ou l.appli JDK Mission Control desktop Fichier reste local au container par défaut donc pas pratique Connection via JMX directe pas pratique ni secure par défaut Cryostat récupère les recording via HTTPS A un opérateur kubernetes EtcMicrosoft augmente ses investissements dans Java. (4 Nov 2021)
Microsoft rejoints le JCP Travaille sur VSCode for Java avec Red Hat Est OK avec le LTS passant à 2 ans et va aider à supporter ces releases plus fréquentes LibrairiesMicronaut 3.1 (11 Oct 2021)
support d’applications utilisant JDK 17 améliorations d’injections de dependances (repeatable scopes, primitive beans, etc) les classes générées sont plus petites et amélioration de consommation mémoire sous GraalVM routes HTTP par regexp random port binding (pour les conflits de tests) Changement certificats TLs via refresh sans arreter le serveur Kotlin coroutine supportées dans micronaut data extension de la couverture de support JPA (e.g. attribute converter) support des informers Kubernetes via le Kubernetes SDK integration Oracle Coherence sortie du mode previewQuarkus 2.4 (27 Oct 2021)
Hibernate Reactive 1.0.0.Final Introducing Kafka Streams DevUI (c’est cool pour développer ca et savoir ce qui se passe Support continuous testing for multi module projects Support AWT image resize via new AWT extensionLightbend lâche Play Framework (20 Oct 2021)
lightbend construit sur Scala, akka, et play framework C’est le moment de la 2.0 je crois Mais avec le cloud, ils veulent se focaliser sur les systèmes distribués Akka Open Source et Akka Serverless (leur PaaS) Laisse Play à la,communité et lightbend arrête d’investir dedans Dans une orga séparée Besoin de sponsors et de contributeurs Question: ils n’avaient pas déjà arrêté Scala?Lightbend déveste de Lagom aussi (27 Oct 2021)
Lagom effacé par akka Platform’et Akka Serverless Trop de contraintes limitantes dans le framework Mais si client de Lightbend, supporté sur Lagom mais sans nouvelle fonctionnalité InfrastructureInstaller et utiliser podman-machine sur macOS (19 Oct 2021)
La virtualisation s’appuie sur qemu et met en place une VM dans laquelle les pods tournent. Podman Machine pour installer une VM linux avec les outils fonctionne aussi sous linux pour ceux qu ne supportent pas podman ou pour sandboxer fonctionne sous M1 homebrew pour l’installation comme docker machine avant en gros il y a aussi une belle présentation de Devoxx France CloudAmazon déclaré la guerre à Microsoft en utilisant les arguments “Proprietaire” (28 Oct 2021)
Aurora a un font qui parler protocole SQL server (Babelfish pour Aurora PostgreSQL). Et convertit les T-SQL Open source the t sql vers Postgres (debug). Sous license ASL Pas tout open sourcé encore WebCORS expliqué (12 Oct 2021)
inclue images d’autres sites, c’est l’origine les cookies, credeitials etc etaient envoyés yahoo mail pouvait filer les credentials des utilisateurs une iFrame pouvait lire le contenu d’une autre iFrame (Netscape met en place le Cross-Frame Scripting) Access-Control-Allow-Origin: * est ok si pas de données privéesRendre une page HTML brute jolie en 100 caractères de CSS (16 Oct 2021)
basique mais expliqué ligne par ligne E.g. 60–80 caractères pour la lecture Et 100 bytes de plus pour améliorer Dataelasticsearch 8.0 will require java 17 (3 Nov 2021)
definitely easier for something standalone than a library or anything that needs to share the JDK with all its apps PR GitHubHibernate Reactive 1.0.0, ça vaut le coup ? (27 Oct 2021)
PostgreSQL, MySQL, MariaDB, Db2, SQL Server, and CockroachDB bases de donnés désignées pour des interactions classiques Donc les constructions haut niveau ont tendances à être limitées par le protocole sous-jacent ce qui ne se voyait pas ou peu en JDBC utiliser HR si votre appli est déjà réactive au cœur (e.g. RESTEasy reactive dans Quarkus ou une appli Vert.x) Compareperfs acec techempower mais avec angle latence à un volume donné et et pas throughout max 20 requêtes d’affilée 20k request/s -> 35k sous 10ms de latence. C’est la valeur relative qui est intéressante Une requête et du processing pour rendre au client, peu de différence Toruhghput tend à être meilleur Amélioration de réactive sur un an Un vidéo cast sur le sujet OutillageAtomicJar se lance dans une offre Cloud (04 Nov 2021)
les containers de test containers ne tournent plus en local Mais dans le cloud de AtomicJar A plus de spores source qu’une machine locale typique (2 cores et 8GB ram pour la docker machine) peut utiliser la machine quand les tests tournent Pour CI limitées vs containers ou les cloud IDE pour pas trop dépenser Pas de problème avec M1 Un petit binaire à installer (eg via curl) TestContainers et Quarkus: TestContainer Cloud fonctionne avec Dev Service (les containers lancés et configurés automatiquement) Encore en cours de développement (beta privée et on peut demander invitation) MéthodologiesCanary releases ou avoir des testeurs (04 Nov 2021)
canary release est une release en prod mais sur un petit sous ensemble des utilisateurs Peut aider a voir si une nouvelle fonctionnalité intéresse les utilisateurs avant de commiter sur le long terme Toujours option du retour arrière Donc peut on réduire les tests internes ? Risque de réputation ou abandon utilisateur (acquisition et rétentions sont chères) Test automatisés compréhensifs permettent le risque de canary Test exploratoires pour compléter les tests automatiques Loi, société et organisationLe droit à decompiler pour corriger des erreurs confirmé légal (21 Oct 2021)
arrêt du 6 octobre 2021 Pour corriger une erreur affectant le fonctionnement y compris via la désactivation d’une fonction affectant le bon fonctionnement de l’applicationInfluence de l’amplificartion algorithmique sur le contenu politique (21 Octo 2021)
les recommendations algorithmiques amplifient-elle le contenu politique ? dans le cas des timeline organisées algorithmiquement et pas reverse chronologique Est-ce que ça varie entre partis politiques ou groups politiques Des sources de nouvelles plus amplifiées que d’autre Les élus sont plus amplifiés que le contenu politique général Pas d’amplification particulière d.individus ces d’autres au sein du même parti ???? La,droite tend à avoir une amplification plus importante que la gauche Les sources de nouvelles orientées à droite sont aussi plus amplifiées que celles de gauche La méthodologie est détaillée sur par exemple ce qu’est un journal de droite Pourquoi c’est amplifié différemment est une question plus difficile à répondre Amplification n’est pas mauvaise par défaut mais elle l’est si elle amène à un traitement préférentiel du à l’algorithme (vs comment les gens interagissent sur la plateforme) Le PDF de l’étude intégrale ConférencesDevFest Lille le 19 novembre 2021 Devoxx France du 20 au 22 avril 2021 SunnyTech les 30 juin et 1er juillet 2022 à Montpellier
Nous contacterSoutenez 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/
Mon, 15 Nov 2021 - 1h 16min - 267 - LCC 266 - Interview sur GraalVM avec Gilles Duboscq - partie 1
Gilles Duboscq de OracleLabs discute des multiples facettes du projet GraalVM avec Emmanuel. Dans cette première partie, nous discutons de l’histoire de GraalVM, de ses concepts fondamentaux et nous zoomons sur Truffle, Polyglot et Espresso, le support de JavaScript, Ruby, R, Python, LLVM, WASM… et Java dans GraalVM. La partie 2 nous emmènera vers GraalVM Native image, comment utiliser GraalVM en pratique en fonction des différents usages discutés, les versions, la communauté, comment c’est fait sous le capot et plein d’autres choses encore.
Enregistré le 16 septembre 2021
Téléchargement de l’épisode LesCastCodeurs-Episode–266.mp3
Interview Ta vie, ton œuvreGraalVM pour comprendre l’enjeuGraalVM en 3 phrases Les cas d’utilisation typique
Les concepts clésGraal le compilateur et le JIT
c’est quoi un JIT Pourquoi pas basé sur HotSpot Pourquoi en Java? des cas d’utilisations préférés par GraalVM JIT vs HotSpot (et vice versa)Truffle et polyglot
Java qui tourne d’autres langages, lesquels? comment ça marche, génère du byte code? Interprète? Comment les codes de différents langages interagissent?JavaScript, Ruby, R, Python, LLVM, WASM… et Java Arbre syntaxique
Espresso:
Java sur Java (what??!), ca veut dire quoi exactement? Quels usages? niveau de stabilité, maturité? Nous contacterSoutenez 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/
Fri, 22 Oct 2021 - 1h 00min - 266 - LCC 265 - Chérie, ça va couper
Dans ce nouvel épisode news, Arnaud, Emmanuel et Audrey reviennent sur les annonces d’Oracle concernant le JDK, sur Spring One, mais aussi sur les petites fuites de données et autre panne généralisée qui ont fait l’actu récemment.
Enregistré le 8 octobre 2021
Téléchargement de l’épisode LesCastCodeurs-Episode–265.mp3
News LangagesOracle annonce des LTS de deux ans
Donc une LTS tous les 2 au lieu de 3 ans, ce qui fait que la prochaine sera la 21 et pas la 23. Une enquête récente auprès de développeurs montre qu’entre un quart et la moitié utilisent les release de six mois en dev, mais moins de la moitié d’entre eux en prod Mais pas de détail sur le temps de security patch support gratuit. Oracle en payant c’est 8 ansOracle offre Oracle JDK gratuitement avec support pendant 1 LTS + 1 an (donc 3 ans)
Java 17 et + Redistribution gratuite aussi. Pas de click through. Sous license NFTC (“Oracle No-Fee Terms and Conditions”). Ils en ont marre d’avoir de la compétition ?Dans JDK 18, avec le JEP 400, le charset par défaut va enfin passer à UTF–8
Autant ce n’était plus vraiment un problème pour les systèmes sour mac OS ou Linux, qui utilisent depuis assez longtemps UTF–8 par défaut, mais c’est surtout pour les systèmes Windows où c’est plus problématique Dans JDK 17, la propriété système System.getProperty("native.encoding") avait été introduite si on veut lire par exemple un fichier avec Deux approches de mitigation pour les problèmes de compatibilité, en recompilant et en utilisant cette propriété quand on ouvre un fichier en utilisant -Dfile.encoding=COMPAT sans recompilation, qui gardera le même comportement qu’en JDK 17 et avant L’équipe d’Oracle suggère de tester ses applications avec -Dfile.encoding=UTF–8 pour voir s’il n’y a pas de soucis Librairiesles classes de test peuvent être ordonnées avec la Class Order API (par nom de classe, nom d’affichage, avec @order ou random) les classes de test imbriquées peuvent l’être avec @TestClassOrder @ExtendWith peut maintenant être utilisé pour enregistrer des extensions via des champs ou des paramètres de méthode (constructeur, méthodes de test ou lifecycle) @RegisterExtension peut maintenant être utilisé sur des champs privés. assertThrowsExactly version plus stricte de assertThrows() assertDoesNotThrow() supporte les suspending functions Kotlin assertInstanceOf produit de meilleurs messages d’erreurs (remplacement pour assertTrue(obj instanceof X)) assertNull comporte maintenant le type de l’object si sa méthode toString retourne null pour éviter les messages de type expected but was @TempDir peut maintenant être utilisé pour créer plusieurs répertoires temporaires (le retour au mode par context peut être fait par configuration) fait un reset des permissions read and write du répetertoire root et de tout les répertoires contenus plutôt que d’échouer à les supprimer peut maintenant être utilisé sur des champs private Nouvel UniqueIdTrackingListener qui va générer un fichier contenant les identifiants des test executés et qui peut être utilisé pour re-executer ces tests dans une image GraalVM par exemple.Les personnes qui sont responsables de cette base de données veulent fusionner certaines zones ensemble, par exemple, Oslo et Berlin. Alors que ces deux villes (et d’autres) n’ont pas forcément toujours eu la même heure La base est censée référencer tous les changements depuis 1970 mais en fusionnant plusieurs zones, le risque est de perdre l’historique pré–1970Recap Spring.io :
Récap Jour 1 Récap Jour 2 Récap en vidéo par Josh Long State of Spring 2021 les chiffres: 61% des sondés utilisent spring boot 94% d’entre eux pour faire des micro services 35% sur des architectures reactive 61% voudraient passer sur du natif d’ici 2 ans Nouvelle baseline pour Spring Framework 6.0 Java 17 et Jakarta EE 9 dès la 6.0 M1 de Spring Framework qui arrive Q4 2021 (GA en Q4 2022) Spring Native arrive dans Spring Framework Compilation AOT bénéficiera aux déploiements JVM aussi Spring Boot starter pour applications natives Spring Boot proposera des plugin de build et configuration native dès la 3.0 Support de RSocket and GraphQL Spring Observability passe dans Spring Framework API unifiée pour les metrics et le tracing, compatible Micrometer, Wavefront, Zipkin, Brave et OpenTelemetry intégration consistante dans tout le portfolio auto configuration dans Spring Boot 3.0 Core abstractions dans Spring Framework 6.0 Spring Native De Spring framework 5.3 à 6.0 Infrastructure(suite annonces Spring.io) Tanzu Application Platform :
plateforme livrée avec toute la chaine d’outils mais configurable si les équipes préfèrent utiliser d’autres outils que ceux proposés compatible AKS, EKS, GKS et TKG. application accelerator (inspiré par spring initializer) pour générer les templates des applications qui seront ensuite déployées Spring Cloud Gateway for K8s and API Portal for VMware TanzuVersion OSS de Tanzu CloudAzure installe des agents dans son image linux et ils sont vulnérables aux auto update
Lié à OMI (open management infrastructure, l’équivalent de Windows Management Infrastructure (WMI) pour les systèmes UNIX qui s’exécute en root avec tous les privilèges Dès qu’on utilise des services comme azure log, ils l’installent dans les VMs L’article dit que c’est la faute à l’open source et que seulement 20 contributeurs. C’est un peu BS. En fait si c’est installé via un service le service le mettra à jour Mais MS recommande de mettre à jour manuellement aussi WebJulia Evans nous explique CORS
Julia explique comment se comporte le navigateur qui voit qu’on essaie d’accéder à une URL différente de celle du domaine de la page web chargée, et le navigateur se demande s’il a le droit de charger cette page Il va faire un “preflight” request (avec une méthode HTTP OPTIONS) pour savoir s’il a le droit ou non, puis si c’est le cas, pourra accéder à la resource Julia explique la same-origin policy (càd qu’on ne doit accéder que des resources du domaine qu’on est en train de visiter dans son navigateur) DataLe support Java 8 et Scala 2.12 est déprécié et sera retiré en version 4 Nouvelles améliorations sur KRaft, le méchanisme de consensus qui remplacera à terme ZooKeeper OutillageTravisCI fait un petit partage de vos secrets dans toutes les PRs de vos repos par accident
le problème a duré 8 jours rotation des secrets recommandé Travis a patché discretement sans disclosure initialement ce qui a fait un raffut ArchitectureFacebook est tombé pendant environ 6H
Facebook prévoit de faire une maintenance sur son backbone (classique) Un ingénieur lance par erreur une commande qui declare l’ensemble du backbone inaccessible Oups, le système d’audit qui devrait empêcher de lancer une telle commande est buggé, la commande passe … Toute l’infra de Facebook est désormais déconnectée du net. Les avertissements BGP sont stoppées puisque l’infra FaceBook n’est plus dispo et les DNS déprovisionnent les entrées FaceBook, le monde ne peut plus accéder à FaceBook Les ingé comprennent vite le problème sauf que ils ont perdus les accès remotes aux services et la plupart de leurs systèmes internes sont KO à cause du retrait des DNS Ils envoient donc du personnel sur site dans les datacenters pour physiquement remettre en service l’infra mais l’accès physique aux machines est super protégé Ils finissent par y arriver SAUF que le fait de tout redémarrer pause un vrai challenge du fait de l’affluence du traffic qui reprend. Ils risquent de refaire tomber les datacenters du fait de la surcharge électrique. (sans parler de sproblèmes plus haut niveau comme le rechargement des caches etc) Heureusement ils ont un plan de reprise qu’ils testent régulièrement qui est plutôt prévu dans le cadre d’une tempête qui mettrait HS tout ou partie du réseau. Ce système marche bien et tout rentre dans l’ordre petit à petit, Facebook est sauvé, la planète a reperdu 5 points de QI Julia Evans explore BGP et son fonctionnement dans cet article Vu de dehors avec Cloudflare Impact non seulement du DNS mais des routes BGP elles même. Ces routes disent qu’une IP (our série d’IP) appartient à une personne donnee. Fondamentalement modèle de confiance. Intéressant de voir comment Facebook DNS down ajouté beaucoup de traffic aux serveurs de DNS principaux qui ne cachent pas le SERVFAIL SécuritéFuite massive de données chez Twitch
Quoi ? l’intégralité du code source Les revenus (sur 3 ans) de plus de 10 000 streamers Twitch ont été publiés sur le net. certains codes d’accès AWS attention c’est la partie 1, il pourrait y avoir d’autres données prochainement Comment ? Officiellement suite à une erreur dans un changement de config Officieusement c’est plus probablement un employé ou un ex employé Pourquoi ? le message sur 4chan dénonce un « un cloaque toxique dégoûtant », ce qui pourrait faire référence aux problèmes de harcèlements et de raids hostiles visant des streameurs et des streameuses en raison de leur origine ethnique, de leur orientation sexuelle ou genre. il est aussi question d’une revendication à une concurrence plus saine dans le secteur du streaming de jeu vidéo ConférencesDevFest Nantes les 21 et 22 octobre 2021 DevFest Lille le 19 novembre 2021 SunnyTech les 30 juin et 1er juillet 2022 à Montpellier
Nous contacterSoutenez 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/
Wed, 13 Oct 2021 - 1h 03min - 265 - LCC 264 - En direct de Devoxx France 2021
Pour cette édition 9 3/4, Les Cast Codeurs clôturent cette édition de Devoxx. Un regard sous le capot, une discussion sur les keynotes, une chanson en direct, un homme grenouille, les tendances, etc.
Enregistré le 1 octobre 2021
Téléchargement de l’épisode LesCastCodeurs-Episode–264.mp3
Clôture de Devoxx France 2021 Le Dessous De(s)voxxDevoxx France 2022: Avril 20–22 2022, les 10 ans de Devoxx France
Concert en direct Les keynotes Mais il est où Vincent? Les talks Les tendances Le CfP réchauffé Nos talks préférés Vos talks préférés Allez hop ! On se reconfine ! Nous contacterSoutenez 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/
Mon, 04 Oct 2021 - 47min - 264 - LCC 263 - Le maillot jaune du salon
Deux A et un E discutent des nouvelles de l’été et de la rentrée. #JDK17 #scala #Kotlin #spring6 #dockerdesktop #fitdesk et encore d’autres sujets.
Enregistré le 10 septembre 2022
Téléchargement de l’épisode LesCastCodeurs-Episode–263.mp3
News LangagesAu revoir AdopOpenJDK, bonjour Adoptium
Eclipse Temurin runtimes pour la partie JDK Grosse test suite License oracle (que Adopt OpenJDK avait perdu) Plus de OpenJ9 ni GraalVM (Oracle recule) mais IBM a Rapatrié OpenJ9 sous le nom IBM Semurin Nouvelles API (backward compatibles ?) Les anciens builds ne seront pas migrésUne interview des architectes Java
Java longevity: stability (not removing things), readability, ecosystem’ well defined stable interfaces (JVM etc) Nouvelles fonctionnalités : qu’est que qui ne peut être fait en dehors de la plateforme Rendre Java plus extensible (Valhalla) Bloque en Java 8 Perds argent (meilleure mémoire, performance, temps de démarrage, pauses 2ms G1 etc Sécurité Loom Réactive programming pour mieux utiliser le,hardware Mais opposé à certains designs de la JVM (error report, débug, flight recorder) Loom résout le même problème mais en harmonie avec la JVM Api familières Next Vallalah , panama Tail call recursion EtcArticle en passant sur l’utilisation du foreign API avec libsodium
juste une mentionScala 3.0.1 Syntaxe given simplifiée (pas de with) @experimental Scala 3.1 Experimental safer exception (checked exceptions mais sans les ennuis) Warnings de compilation plus configurable Multiversal equality (des classes différentes qui peuvent être égales)annoncé en 2011, 1.0 en 2016, default Android en 2017 pas theorique, problemes pragmatiques multi plateforme encore experimental, on prend notre temps ajoutent features dans le core lib plus lentement que Java prochains 10 ans: multiplatforme, langage reste relevant, reactive programming et immuabilité du front vers le back LibrairiesSpring 6 / SpringBoot 3 annoncé à SpringOne
Java 17 et plus Intègre Spring Native Tomcat 10 min Jakarta 9 avec cassage de packages Q4 2022 Spring 5.3 et SpringBoot 2.7 seront en maintenance open source entendue Autre lien2.2 Solidification (utilisabilite, doc, corriger problèmes) Mongodb service binding RESTEasy Réactive automatiquement choisi le thread bloquant ou non bloquant Plus facile quand on vient de RESTEasy Classic Détails ici 2.1 Dev services pour keycloak SQLServer réactive a son extension Kotlin 1.5 Blog post expliquant les nouvelles modularités de quarkus platformRxJava n’est plus un dépendance transitive (choix du moteur réactive streams) Utilisent Reactor en dessous Les annotations ne sont plus héritées par défaut Support Jakarta lifecycle annotations, Jakarta inject Injection qualifiée par le generic des arguments Filtres servers plus consistant (appelés une seule fois) @Introspected ne rajoute plus les metadonnes pour GraalVM, utiliser @ReflectiveAccess Ajout des resources passe du compile time au build time donc utilisez les plugins maven de Micronaut ou faite le vous même Quelques autres breaking changes OpenRewrite règles changent le code pour migrer pour vous InfrastructureComment debugger son script Ansible
--step In-line logging Ansible-lint Ansible-console Ansible debugger CloudUne analyse techniques Il y a deux choses distinctes Détecter les images d’une base de donnée pedophile avec du hash sur le téléphone et en alertant quand trop’sonr flaggues positive (avec check humain) Ça s’appuie sur iCloud photo car sur leur cloud mais pas un filtre serveur Base de donnée Baked dans chaque iOS NeuralHash Hash résiste au ré cadrage et autres ajustement de photos Threshold secret sharing Au bout de n rapports remontés, on a capacité à reconstituer la clef de chiffrement Et un troisième mécanisme pour éviter de montrer qu’elles photos intéressent Apple Quid d’une puissance étrangère qui veut rajouter des photos de discidents? Apple dit on n’acceptera pas Où attaque sur le neural hash Détection de nudité et demande si l’nfznt veut voir avec alerte aux parents Ils se donnent quelques mois de retravail au finaldemarre avec une region, un seul type d’instance et tout ephemère (pas de block storage) peu de feature et peu de details initialement prix a l’heure initialement qui etait innovant DataLa guerre de la recherche - Les clients Elastic Search ne seront pas compatible avec OpenSearch
Elastic vs AWS - Clash numéro ? Dans ce dernier épisode, Elastic rajoute des controles dans ses APIs clientes pour ne se connecter qu’a ses propres clusters et empêcher de les utiliser avec opensearch. Risques d’incompatibilité Manque de chance ce changement bloque aussi l’utilisation de la version OSS d’elastic-search. De son coté AWS promet de faire son possible pour fournir des drivers qui resteront compatibles Elasticsearch 7.10.2 (la version à partir de laquelle ils ont forké) et OpenSearch Bref la guerre continue … OutillageAtomicJar release TestContainers 1.16
https://www.atomicjar.com/2021/07/testcontainers–1–16–0-release/ Test Containers 1.16.0 est la première release faite par AtomicJar, la société créée par les fondateurs du projet. Meilleure compatibilité Apple M1 Couche de transport utilise Apache HTTP Client 5 au lieu de OKHTTP pour éviter la malediction Kotlin Meilleure stabilité et compatibilité sur Windows pour process natifs Windows et WSL 2 docker.host peut etre configuré dans $HOME/.testcontainers.properties Aussi Support Podman amélioré récemmentdonc pour les boites de plus de 250 personnes ou qui font 10 millions, tu dois payer pour Docker Desktop Des articles paraissent listant les alternatives à Docker Desktop Sur l’impact macOS How Docker broke in halfLes différentes manières de déclarer les dépendances dans son projet Gradle
En particulier, les différences entre api, implementation, runtimeOnly, compileOnly, compileOnlyApi Avec des exemples concrets pour bien illustre ces différents scopes. Gradle regroupe les dépendances dans des ensembles appelés des “configurations”. Ces configurations définissent le classpath lors de la compilation, ou le classpath pour le runtime lorsque votre code s’exécute. Gradle définit 3 types de configuration : api, implementation et runtimeOnly La configuration “api” est utilisée pour le classpath compilation et runtime et est exposé aux consommateurs de l’API aussi pour le classpath de compilation et runtime La configuration “implementation” est utilisée pour le classpath de compilation et runtime, mais est exposée pour le consommateur de l’API que pour le classpath au runtime La configuration “runtimeOnly” n’est utilisée que pour le classpath au runtime La configuration “compileOnly” est utilisée pour le classpath de compilation, mais n’est pas exposée pour les consommateurs Enfin la configuration “compileOnlyApi” est utilisée pour le classpath de compliation et est exposée au consommateurs à la compilation de leur code quand les metadata Gradle sont utilisées MéthodologiesOpinion sur Googlespeak et les pratiques anti concurrentielles
Certains dont l’auteur voient Google utiliser Google search pour placer hautement leur propres services alternatifs. Google flight etc Et les Googlers avec qui il interagissait trouvait ça « absurde » de penser ça. Chercher un hôtel Étude montre que Google offre 41% de sa première page à ses propres propriétés (inclus direct answers ) Direct answer est mis rapide pour l’utilisateur mais prend le contenu 3rd party ( Wikipedia, IMDb etc) et nous fait rester sur une page Google. Googlespeak d’après Orwell. Si le langage ne permet pas d’exprimer , on ne pense pas aux choses. Pas dominant mais succès. Pas barrière à l’entrée , marché, effet réseau qui sont taboo dans un contexte de tension antitrust Encourage à réfréner sa communication écrite. Comme beaucoup de sociétés américaines à cause du processus de discovery Market share -> user preference Apple et epic ont levés des doc similaires mais Apple n’était pas gardé dans sa comm interne. Autour de l’app store. Google dans ses formation mention non monopoly car beaucoup de compétiteurs. Et se defini en termes très large et donc avec de la compétition. (Dans la pub et dans la recuperation d’information. Ils ne font pas d’analyse de marchés (sur les marchés dominants) quand demandés par le congrès. 65% des recherches n’entraînent pas un clic sur un site externe - valeur réfutée par Google C’est une réaction à la judiciarusarion de la vie des entreprises. Loi, société et organisationMatt Asay quitte AWS et reflecte sur l’open source chez AWS
pleins de petites equipes et pas de décisions top down en tous cas pas pour open source Un langage specifique a Amazon pour convaincre Les Leadership Principles tendent à ne pas investir dans les elements side de type open source et quand on a deux pizza team, peut on contribuer sans se sentir trop contraint en temps si c’est une équipe de 12 sur 200 equipes ca ne m’étonnes pas trop 🙂L’Open Source au secours du développeur (et de l’architecte) ?, un retour d’expérience très personnel mais instructif pour ceux qui souhaiteraient se lancer …
Pourquoi l’Open Source ? Par où commencer ? Le choix du premier projet pour sa première contribution? (Le syndrome de l’imposteur) La première contribution Rythme de travail Outils de l’épisodeAntonio passe au Fit Desk pour travailler en pédalant Promis, il écrira un blog dans 4/6 mois avec du feedback Rubrique débutantCISC roi quand la mémoire est chère, on crée des instructions haut niveau plus complexes RISC paye en mémoire mais simplifie la chaîne de travail (instructions de taille fixe) RISC plus d’opérations et donc de CPU clock mais pipelining possible RISC compensé par plus de registers et par la compression d’instructions set register mémoire interne CPU de taille fixe CISC fait du hardware hyper threading RISC philosophiquement fait travailler les compilateurs beaucoup plus mais on ne code plus en assembleur ConférencesCrowdcast sur devfest Lille et CloudNord par Emmanuel Demey
Pas de Devoxx Belgique en 2021
Nous contacterSoutenez 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/
Fri, 17 Sep 2021 - 1h 21min - 263 - LCC 262 - Interview Cloud de Confiance avec Quentin Adam
Quentin Adam de Clever Cloud et Emmanuel discutent du Cloud de Confiance et de ses impacts économiques et politiques.
Enregistré le 1 juillet 2021
Téléchargement de l’épisode LesCastCodeurs-Episode–262.mp3
Interview Ta vie, ton œuvreClever cloud pour le contexteAutomatisation de l’infrastructure
Cloud souverain“modèle de déploiement dans lequel l’hébergement et l’ensemble des traitements effectués sur des données par un service de cloud sont physiquement réalisés dans les limites du territoire national, par une entité de droit français et en application des lois et normes françaises”
Cloud de l’état : les technologies retenues à la fois en matière de cloud privé et public devront garantir la réversibilité, l’interopérabilité et la portabilité des applications.
Pourquoi Patriot act 2001 Edward Snowden 2013 Se protéger du cloud act 2018: L’état américain a accès aux donnés hébergées par les clouds providers americains même hors du sol américainPour l’état, collectivités et pour les sociétés françaises (espionnage) L’armée à probablement déjà ses trucs
Plan calcul Loi informatique et liberté 90s perte fondeurs et constructeurs
Un peu d’historiqueProjet andromede: Thales, dassault, Orange, Bull: 135M €
Mais sort
Numergy : dassault bull et Sfr Cloudwatt: Orange Thales75 M chaque premier shot
Gaia-X: échelle européenne standards de sécurité, d’interopérabilité et de portabilité des données
Pendant ce temps là OVH Clever Cloud Etc Approche économique Cloud de confianceProtection contre réglementations extra communautaire
Le hard français, le soft américainIls ont le soft que l’on veut et que les gens utilisent vs Cloudwatt et Numergy
La certification et les petits éditeurs Un cloud service est un cloud service est un cloud serviceQuels sont les logiciels à enjeux:
Mail, éditeur de Documents, tableur Progiciels Plateforme de développement de code spécifiqueBleu (licence Azure Orange + …)
Le point de vue de QuentinC’est bien ou c’est pas bien cette stratégie? Ça paraît pragmatique
Approche économiquehttps://cryptpad.fr/
Nous contacterSoutenez 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/
Thu, 02 Sep 2021 - 1h 42min - 262 - LCC 261 - Interview Doctolib avec David Gageot
Guillaume et Antonio interviewent David Gageot à propos de Doctolib, l’entreprise, mais surtout ses différents produits, l’architecture et comment elle a géré la prise des rendez-vous pour les vaccins anti-covid.
Enregistré le 30 Juin 2021
Téléchargement de l’épisode LesCastCodeurs-Episode–261.mp3
Interview
Ta vie, ton œuvre
Docker, Google, son arrivée chez Doctolib en octobre 2020.
Doctolib, l’entreprise
Les produits, les équipes, la distribution de l’entreprise, son organisation, le modèle business (licence vendue aux professionnels de la santé).
La sécurisation des données
End–2-End-Encryption pour les documents entre patients et médecins : ça veut dire que Doctolib techniquement ne peut pas lire les documents hébergés sur ses serveurs? Mais comment ça marche, qui génère les clés de chiffrement, et où sont-elles stockées?
Pourquoi AWS vs un OVH ou autre acteur français? Ou un Google …
La stack technique
Le machine learning. Pourquoi? Comment?
Ruby on rails, React, Postgres, S3, …
Le sizing de l’infrastructure, 800 pods K8s qui font tourner le front Rails au dessus d’une grosse base postgresql
La méthode agile et l’organisation des développements pour cibler 3 déploiements par jour en moyenne.
CI sur 700 nœuds sur K8s avec de nombreux tests end-to-end. Feature-Flags sur les fonctionnalités.
La vaccination
Seulement 2% de prises de rendez-vous pour les vaccins mais un public super exigeant.
Comment améliorer l’UX pour ce use case spécifique?
Quels ont été les défis de montée en charge pour les inscriptions? Des flux anticipés, attendus, inattendus?
L’impact de vite ma dose et tout l’ecosystème qui s’est mis en place
Quelle est la relation avec vite ma dose? Humaine, systèmes etc. Impact des médias? Impact de CovidTracker?
Comment gérer la cohérence des données, la gestion des caches, …?
L’implantation de Doctolib
Quels secteurs (médecins généraux, kiné, hôpitaux) utilisent le plus Doctolib?
Doctolib et l’administration française, la presse, …
Comment s’est passé la relation avec l’administration?
Comment gérer la tension sur des sujets importants comme la vie privée, la sécurité, la souveraineté …
Les questions des auditeurs
Que se passerait-il en cas de rachat? Que deviendrait les données?
Doctolib, la concurrence et le futur
En France, leader sur la prise de rendez-vous, mais en compétition sur de très nombreux autres produits (gestion de la patientèle …).
Tout reste à faire à l’étranger.
Nous contacter
Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs Faire un crowdcast ou une crowdquestion Contactez-nous via twitter https://twitter.com/lescastcodeurs sur le groupe Google https://groups.google.com/group/lescastcodeurs ou sur le site web https://lescastcodeurs.com/
Thu, 29 Jul 2021 - 1h 08min - 261 - LCC 260 - L'épisode généré par intelligence artificielle
Antonio, Guillaume et Emmanuel discutent de pleins de choses dont des analyses de l’écosystème de la JVM, de la generation de code via intelligence Artificielle avec CoPilot, mais pas que.
Enregistré le 16 juillet 2021
Téléchargement de l’épisode LesCastCodeurs-Episode–999.mp3
News LangagesLes prédictions d’Adam Bien pour la seconde moitié de 2021
Kube a gagné la guerre. Les cloud providers fournissent des solutions dérivées plus simplifiées. La compatibilité kubernetes devient moins cruciale FaaS est utilise pour son usage listener et point d’intégration et plus en général purpose tool Prix du cloud et repatriation. Bouger une app existante dans le cloud n’amène pas d’avantage. Le monolith devient une best pratice Coût du cloud pousse a merger des microsercices dans un cadre de cloud cost driven development Cloud deviennent intéressant pour les services unique (text to speech, image recognition, etc). En parallèle la sécurité des cloud providers est reconnu. Donc boring load on prem, projects innovants dans le cloud. Serverless va être le trend de 2021 (fonction mais aussi db, workflow, event streams etc) idée est scale down to zero La montée des frameworks next gen Micronaut et Quarkus est indisputable. Build time deployment. La popularité de quarkus a explosé, difficile de trouver un développeur Java qui n’a pas expérimenté. Le cocktail GraalVM api familières Jakarta ee et micro profile, sa do so mémoire et temps de démarrage lui donne un avantage. Mais la compétition ne dors pas (Helidon et micronaut) Moins de langages alternatifs parce que l’innovation dans Java a accéléré Lombok moins populaire parce que Java Records. Kafka sera plus un data store immuable et source de vérité que un remplacement pour JMS Kafka et réactive en combo va rendre la programmation réactive populaire Le projet Loom eliminera la programmation reactive pour les resources non-reactives ARM sur le serveur GraalVM pour remplacer OpenJDK car rapide et multi langage. Et competitor a GraalVM qui arrive Visual studio code et ses features pour Java pas forcément connu et donc va croître encore. Payara cloud serverless server ou l’app server est un opérateur Kube et on déploie un thin jar.GraalVM offre des plugins Gradle et Maven pour la compilation native
Tester les libraires en natif avec les tests junit 5 qui tournent en natif Après tourne les tests en JVM, ils sont loggués et ajoutés en réflection et complication native. Et un binaire de test est créé plugin Gradle License Oracle Universal Permissive probablement un dérivé de Universal Permissive LicenseLe rapport sur l’écosystème JVM par Snyk
Sondage effectué durant six semaines (entre février et mars 2021) au prêt de 2000 developeurs et comparé à GitHub et Google Trends Mon (Emmanuel) intuition c’est qu’il y un biais dans les gens mesurés 44% des Dev Java utilisent adoptopenjdk en prod. Oracle openjdk 28 et Oracle JDG 23 60% utilisent Java 11 en prod. Et 12 la dernière mais encore 60% de 8 en prod Java 91% kotlin 18% groovy 13 et scala 10 IntelliJ 70% eclipse 25 et vscode 23. 50% sont bi IDE Maven 76% gradle 38% ant 12W yah Spring Boot 58% Spring MVC 29% Jakarta ee 13% Quarkus 11%Schedule
2021/07/15 Rampdown Phase Two 2021/08/05 Initial Release Candidate 2021/08/19 Final Release Candidate 2021/09/14 General AvailabilityFeatures integrated in JDK 17:
JEP 306: Restore Always-Strict Floating-Point Semantics JEP 356: Enhanced Pseudo-Random Number Generators JEP 382: New macOS Rendering Pipeline JEP 391: macOS/AArch64 Port */ JEP 398: Deprecate the Applet API for Removal JEP 403: Strongly Encapsulate JDK Internals (sauf pour sun.misc.Unsafe) JEP 406: Pattern Matching for switch (Preview) JEP 407: Remove RMI Activation JEP 409: Sealed Classes JEP 410: Remove the Experimental AOT and JIT Compiler JEP 411: Deprecate the Security Manager for Removal JEP 412: Foreign Function & Memory API (Incubator) JEP 414: Vector API (Second Incubator) JEP 415: Context-Specific Deserialization Filters LibrairiesUtilise Native testing de GraalVM Passe au plugin Gradle de l’équipe GraalVM Ahead of time proxies pour les classesGuide de migration mais les applis devraient essentiellement fonctionner (extensions ont plus de taf) JDK 11+ GraalVM 21.1 Vert.x 4 Microprofile 4 Continuous testing : les tests impactes tournent automatiquement en Dev mode. Les tests qui cassent sur un changement sont visible tout de suite et en continu. Comme infinitest mais sans plugin IDE. Quarkus a une CLI pour simplifier l’interaction vs les plugins maven ou gradle. Notamment création de projetas. JDK 11+ GraalVM 21.1 Vert.x 4 Microprofile 4 GraphQL client (smallrye), CDI decorators supportés, transaction pour MongoDB avec Panache, Support kotlin grandement amélioré : resteasy rezctive, rest client, reactive messaging extensions supportent tous les coroutines Support d’Amazon services system managerCrafting rolling releases for a Quarkus CLI application
Y’a encore du chemin pour faire simplement des CLI avec graalVM en comparaison de go JReleaser outils permettant de livrer automatiquement des projets Java vers différentes plateforme (Homebrew, Snapcraft, Scoop) Inspiré de GoReleaser et jbang Le blog package l’outil kcctl créé par Gunnar avec JReleaser Pas mal de conf (Windows vs Linux/MacOS) mais à la fin il y arrive InfrastructureAmazon sort son OpenSearch 1.0 et OpenSearch Dashboard, leur fork d’Elastic Search et Kibana
1.0 sortie de OpenSearch (GitHub) Suppression du code propriétaire Upgrading: mise a jour d’ElasticSearch et Kibana vers OpenSearch et OpenSearch Dashboard aussi simple qu’une mise a jour de version Compatibility: travaux de reflexion autour de la compatibilité avec les outils existants Testing: infrastructure de test moderne et flexible Supporte les architecture for Linux ARM64 Minimal artifacts for embedding of OpenSearch and OpenSearch Dashboards into existing products and services, Data stream support for OpenSearch Dashboards, Span attribute visibility and filtering in the Trace Analytics plugin, Scheduling and tenant support in the Reporting plugin. Aussi mentionne la roadmapKubernetes 1.22 enlève le support des vieilles versions de ressource
Faites le ménage en continu pas des grosses migrations tous les 3 ans Release prévue en aout Il vont supprimer des APIs qui étaient en beta CloudUn tweet lance un faux service AWS InfiniDash qui a été repris par des devs et des boîtes
La théorie est que la plupart des devs n’entendront parler de technologie que via les tweets et les articles. Aussi le métier de devrel c’est de surfer la vague du social media. Les dev rels AWS ont continué la farce (je crois) Werner Vogels, oui pour sur. gros effet boulle de neige Outillageitellisense boosté par les projets visible et hostés dans GitHub et autre données publiques via l’intelligence artificelle, essaie de comprendre l’intention via le contexte uniquement le fichier édité en contxte pour l’instant VSCode extension donc tourne partout où les plugins VSCode tournent 0,1% de copie exacte le code nous appartient en tant qu’utilisateur le code contexte est transmis a GitHub qui l’utilise pour ses telemetries et améliorer les modèles ML pas toujours du code de qualité des secrets valides sont générés (du corpus originali e.g. SendGrid) propose du code GPL (derivation?) attaque de sécurité vont venir :)Audacity 3 spyware ou pas après le rachat
la communauté “niveau 2” s’est emballée, a crée une dizaine de forks. C’était déjà annoncé et discuté avec la communauté Audacity. OS, pays, cpu, erreurs, reports de crash Protection légale « law enforcement ». Les 13 ans, juste pour éviter des restrictions légales us 3.0.2 n’a pas le code des collections de données Avec feedback initial passe de Google analytics à un hébergement propre. Quand compile le project c’est off par défaut (donc seuls les binaires distribués l’ont par défaut) donc pas dans les distros linux SécuritéLinkedIn la brèche qui donne des infos de 92% de ses utilisateurs y compris les salaires inférés
API LinkedIn abusée. Email, noms, telephone, adresse physique, de 700M d’utilisateurs Presque interessé de fouiller pour voir mon salaire théorique :) Dispo sur le dark web Loi, société et organisationLettre à ceux qui veulent faire tourner la France sur l’ordinateur de quelqu’un d’autre par Tariq Krim
Télécharger l’ebook au format PDF. Très documenté et référencé Coulisses et manoeuvres pour installer les GAFAM au coeur de l’État 17 mai 2021, Bercy présente la nouvelle stratégie Cloud du Gouvernement GAM (Googla Amazon Microsoft) À part OVH Cloud, aucun des acteurs français n’a été mentionné par les Ministres Les lois américaines dites FISA et Cloud Act permettent d’obliger les grandes sociétés US à fournir à la justice américaine les données situées sur leurs serveurs européens Si l’on met de côté les questions de souveraineté, les services de sociétés comme Amazon, Microsoft et Google sont très ergonomiques Les Américains offrent des services clé en main, les services “made in France” demandent de combiner plusieurs produits issus de sociétés différentes Apple, Google, Facebook, Amazon ont embauché des dizaines de milliers d’ingénieurs, dont de très talentueux Français Les clouds GAM pourraient décrocher le label SecNum Cloud (le plus haut niveau de sécurisation de l’État) Après avoir délocalisé notre industrie (le fameux “Fabless” de Serge Tchuruk ancien patron d’Alcatel), l’État et les grandes entreprises ont délocalisé leur informatique vers les grandes SSII qui se sont mises à produire des projets à la chaîne Nous contacterSoutenez 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/
Tue, 27 Jul 2021 - 1h 09min - 260 - LCC 259 - Interview Software Heritage avec Roberto Di Cosmo et Charles Sabourdin
Charles Sabourdin et Audrey interviewent Roberto Di Cosmo sur le projet Software Heritage, dont l’objectif est la collecte et la préservation des logiciels en tant que patrimoine culturel.
Enregistré le 22 Juin 2021
Téléchargement de l’épisode LesCastCodeurs-Episode–259.mp3
Interview Ta vie, ton oeuvreAncien élève de la Scuola Normale Superiore de Pise, Roberto Di Cosmo a obtenu son doctorat en Informatique à l’Université de Pisa. Après avoir enseigné plusieurs années à l’Ecole Normale Supérieure de Paris, il est devenu Professeur d’Informatique à l’Université Paris Diderot, où il a été directeur adjoint pour l’Informatique dans l’école doctorale ED 386 de 2005 à 2009. Président du conseil scientifique et du conseil d’administration d’IMDEA Software, membre du comité d’orientation pour la Science Ouverte en France, il est actuellement détaché chez Inria.
Il a une longue histoire de contributions à la recherche en Informatique, dans des domaines allant de la réécriture à la logique et de la programmation fonctionnelle à la programmation parallèle. Il s’intéresse maintenant aux problèmes nouveaux posés par l’essor du Logiciel Libre, et en particulier à l’analyse statique de grandes masses de code. Il a publié plus de 20 articles dans des revues internationales, et 50 articles dans des conférences internationales.
En 2008, il a créé et coordonné le projet de recherche européen Mancoosi, avec un budget de 4.4Me et 10 partenaires réunis pour travailler à améliorer la qualité des systèmes logiciels à base de paquets.
Suivant de près l’impact de l’Informatique sur la société, il prône depuis longtemps l’adoption du Logiciel Libre, notamment à partir de la publication de son best-seller Le Hold-Up Planétaire en 1998; plus récemment, il s’est intéressé aux questions soulevées par la problématique de la rémunération des artistes à l’ère d’Internet, avec l’ouvrage Manifeste Pour Une Création Artistique Libre Dans Un Internet Libre.
Il a créé le Groupe Thématique Logiciel Libre dans le Pole de compétitivité Systematic à Paris, qui a financé plus de 40 projets de R&D depuis 2007, et il dirige depuis 2010 l’IRILL, une structure de recherche de pointe sur le Logiciel Libre.
En 2015, il a été à l’origine de Software Heritage, une initiative qu’il dirige et qui vise à construire l’archive universelle de tout le code source publiquement disponible, en partenariat avec l’UNESCO.
Software Heritage origine de l’initiative comment gérez-vous les problématiques de licence ? ne sauvez-vous que des codes opensource ? En pratique qu’est-ce qui est conservé ? quel type d’intégration (build, test unitaire…) avec quelle fréquence les soucis d’encodage ? les soucis d’architecture ? les soucis de licences ? sur l’infrastructure ? combien de serveur, dans combien de datacenter ? quel type de code ? quel composant utiliser/reutiliser ? un outil de recherche ? les tendances, les connaissances(bonnes pratiques, etc…) le KWC Conclusion objectifs futurs comment aider une communauté ? des outils ? Nous contacterSoutenez 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/
Thu, 08 Jul 2021 - 54min - 259 - LCC 258 - Les mineurs de fond
Arnaud, Antonio et Emmanuel discutent des actu du développeur en cette période pré estivale. Du Spring Boot, du Hibernate, du Vert.x, du web qui tombe, du Gradle 7, des mineurs et des méthodologies autour des pull requests.
Enregistré le 11 juin 2021
Téléchargement de l’épisode LesCastCodeurs-Episode–258.mp3
News LangagesUn interpréter Java en Java Plus simple a debugger Avant ils utilisaient hotspot Reste projet Java en tant que container de javas Mélanger ahead of time et classique Java LibrairiesSupport for Java 16 Support for Gradle 7 Enhanced Docker image building New mechanism for Datasource initialisation pour préparer R2DBC Les dépendances mises à jour (Spring data, hateoas’ spring Kafka et) En gros rien de révolutionnaire, beaucoup de mise à jour et du nettoyagePremière sortie Ça ne nous rajeuni pasReactive Microsoft SQLServer driver Vert.x HTTP proxy plutôt que de l’écrire soit même RxJava 3 OpenTelemetry tracing Plus conforme à OAuth2 et OIDC Kotlin 1.5 Flexibilité dans la configuration de pools (plusieurs event loops par pool, waiter cancellation, lock free impl, etc Web session stocké dans Infinispan Et plus au niveau sécurité, openapi, service proxy InfrastructureUn problème chez Fastly et l’internet tousse
Fastly est un CDN hoste beaucoup d’artefact de type NPM, Maven, JS resources etc consequence est sites defacé par manque de CSS ou JS, voir HTTP pages non accessibles bug declenché par une config client => fait tomber 85% du réseau CloudEt le défaut était très bien caché. Les experts AWS n’avaient pas fait gaffe C’était légal mais en tout petit dans les conventions Différence entre télémétrie et les données en propre en général. Pas pour les iA ;) Les services impacté AWS Terms 50.3 mention CodeGuru Profiler, Lex, Polly, Rekognition, Textract, Transcribe, and Translate. 60.4 also mentions this for SageMaker. 75.3 mentions this for Fraud Detector. 76.2 mentions this for Mechanical Turk and Augment AI. WebVers un système unique et une API commune pour les extensions dans les navigateurs
Des gens de Apple (Safari), Google (Chrome), Microsoft (Edge) et Mozilla (Firefox) vont collaborer ensemble, au sein du WECG Web extensions community group Base sur le travail de safari de supporter les extensions des autres navigateurs On a vu des défis et réduction de possibilités pour contrôler la sécurité et le tracking De toutes façons tout le monde est sur Chromium ahaha OutillageGradle 7 est sorti et Cédric nous fait un crowdcast
D’ailleurs, Cédric quitte Gradle Inc après des années de bons et loyaux servicesProsus achète StasckOverflow pour 1,8 milliards
Prosus avait déjà des parts dans des entreprises type Codeacademy, et Udemy, dans l’EDU/tech StackOverflow commence en 2008 Migration vers SaaS d StackOverflow intéresse Prosus Jobs 50% du revenu Team collaboration tool bonne croissance C’est stackoverflow pour les équipes internesdocker hub autobuild, les crypto mineurs m’ont tué.
En avril, nous avons vu le nombre d’heures de construction augmenter de 2 fois notre charge habituelle et à la fin du mois, nous avions déjà désactivé ~ 10 000 comptes en raison d’abus de minage. La semaine suivante, nous avons eu environ 2 200 mineurs supplémentaires.
Il faut contacter Docker pour les projets OSS de bonne volonté qui ont besoin de ce service MéthodologiesLe temps moyen de PR entre Stripe et Mozilla
Des jours à attendre le feedback vs 10 minutes C’est un débat assez fondamental je trouve. Comment organiser les équipes pour que les PR soient vues comme la chose importante. Plus que « le code ». Différence Service vs product Loi, société et organisationUn article de rappel sur la copie privée
Copie privée basse sur les cassettes et VHS. Ensuite le stockage numérique explose 270 millions d’euros en France en 2017 Une commission administrative fixe les règles. Composée. de 6 usagers, 6 vendeurs de stockage, 12 ayant droits et un président au droit de vote et pro ayant droit. Rapport de force clair Ils essaye de construire la vache à lait: prix basé sur la copie licite ou pas (cassé en 2008) ensuite argument de compression pour garder le barème haut En théorie que pour les particuliers et procédure de remboursement pour les pros. Mais difficile à appliquer donc quasi jamais fait. 25% des gains financent des festivals et manifestations culturelles : instrument d’influence des élus locaux et pas si locaux Efforts pour taper sur tous les disques durs nus, faire entrer dans le champ le stream ripping Et maintenant la copie privée sur la vente d’occasion. La grande classe. Risque pour l’économie solidaire qui sont sur des populations fragiles Le sénat veut favoriser l’écologie de la seconde main et serait pour l’exclusion de la taxe dans ce cas là. Les smartphones c’est 70% de leurs revenus Outils de l’épisodeGoogle ZX pour écrire des scripts en JavaScript
ConférencesNous contacterSoutenez 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/
Wed, 16 Jun 2021 - 1h 10min - 258 - LCC 257 - Interview Java 16 avec José Paumard et Henri Tremblay - partie 2
José (maintenant Java Advocate chez Oracle - le cachotier) et Henri échangent avec Emmanuel sur la sortie de Java 16. Cette deuxième partie voit l’équipe discuter de la propriété illegal access (JEP 396), de l’API vectorielle, de la foreign linker API et d’autres choses.
Enregistré le 8 avril 2021
Téléchargement de l’épisode LesCastCodeurs-Episode–257.mp3
Interview Ta vie, ton oeuvreIllegal access pass en deny par défaut (Henry)JEP 396 (encapsulation force des parties internes du JDK). FEATURE Make Lombok compatible with JDK 16 · Issue #2681 · rzwitserloot/lombok · GitHub
API vecteurLes Vector sont de retour?! Discussion ud parallelisme au niveau CPU — Simple Instruction Multiple Data
Foreign Linker APIPour projet Panama Lier une méthode native avec du code Java Du coup on a aussi un foreign memory access API ?
Project panama and jextract – Inside.java Jextract genera le code Java à partir du fichier de declaration C.
JVM sur d’autres plateformesAlpine Linux et Musl AArch64 (ARM) sous Windows
ZGCMove ZGC thread-stack processing from safepoints to a concurrent phase.
Autres Mercurial -> git Return unused HotSpot class-metadata (i.e., metaspace) memory to the operating system more promptly, reduce metaspace footprint, and simplify the metaspace code in order to reduce maintenance costs. Bonus Java 15Shenandoah Text blocks Plus de Nashorn Une discussion autour de GraalVM
Nous contacterSoutenez 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/
Mon, 07 Jun 2021 - 1h 08min - 257 - LCC 256 - jTerrasse
Antonio et Emmanuel discutent entre autre de JavaDoc, Quarkus, Crypto dans le CI, bootstrap 5, Grafana, cloud de confiance sans oublier les crowdcasts sur Cypress et sur hack.commit.push du 29 mai.
Enregistré le 21 mai 2021
Téléchargement de l’épisode LesCastCodeurs-Episode–256.mp3
News LangagesUn JEP pour améliorer la JavaDoc
On va pouvoir référencer par exemple des morceaux de code dans un autre fichier, dans un test, et l’intégrer dans la JavaDoc d’une méthode, d’une classe. Ca permettra d’avoir de la doc vraiment à jour au niveau des bouts de code, vu que ce sera toujours le vrai code qui tourne qui sera inséré dans la JavaDoc. Il pourra y avoir également de la coloration syntaxique de définir des régions qui doivent être surlignées pour être bien visibles Il sera possible de modifier certaines parties d’un snippet de code, par exemple pour cacher une chaine de caractère de test dont on se moque de la valeur quand on explique ce bout de code Possibilité de rajouter des liens hypertextes sur certains bouts de code, pour pointer par exemple vers la JavaDoc d’une méthode utilisée dans ce bout de code Pourvu qu’ils reprennent le plus possible la syntaxe asciidoctor qui a déjà résolu ce problèmeDiscussion sur le raisons du besoin derrière Loom
Article qui reste d.un premier niveau, il faut creuser,les bénéfices réels IO et synchro bloque un thread. Limite scalabilité. Le code asynchrone est plus dur à comprendre. Virtual threads don’t bien pour des taches qui passent beaucoup de temps à attendre Les API IO blocantes parkent le virtual thread quand elles sont en attente Un poller (boucle d’evenement) regarde les IO et leur état et unpark les virtualthread correspondant Mechanisme similaire aux frameworks non blocs to de type vert.x mais avec une API bloxante LibrairiesQuarkus 2.0 alpha 1, 2 et 3 sont sortis
Quarkus 2 parce que vert.x 4 et MicroProfile 4, pas de “gros” breaking changes mais quelques uns surtout pour les extensions Continuous Testing: dans la console, on voit les tests qui plantent. Et quand on fait un code change, uniquement les tests qui sont impactés sont joués (flow analysis). Lance aussi dans un container dédié les dépendances (e.g. une base de donnée pour les tests utilisant Hibernate). LE container pour les tests en continu est différent de celui pour le quarkus:dev qui tourner (pas de pollution). JDK 11 minimumsupport for @java 16 and @graalvm 21.1 on Micronaut Launch, huge improvements to Micronaut Data from @DenisStepanov, improved @OracleCloud integration and many other small improvements InfrastructureLes cryptomineurs tuent les CI gratuite
Les mineurs de crypto monnaies abusent des services de CI qui offre des capacités de build gratuites Une des nouvelles astuces c’est d’utiliser les outils comme Pupetteer pour automatiser l’utilisation d’un navigateur web, pour miner de la crypto monnaie dans le navigateur qui tourne en headless sur la machine de CI A la grande époque de OpenShift online et OpenShift.io, on a beaucoup appris sur le detection des Bitcoin miners :) on a eu le soucis sur Codeship (la CI SaaS de CloudBees). Ils ont passé un max de temps à virer et proteger les builds. J’ai vu que GitHub avait eu aussi le soucisLes 19 étapes facile pour écrire un dockerfile
En vérifiant l’ordre de ses commandes, en limitant le scope de Copy, d’aligner les RUN d’installation de package, d’utiliser des images officielles, voire de se créer ses images de base, d’utiliser des tags spécifiques pour des images plus reproductibles, effacer le cache du package manager, de builder dans une image offrant un environnement cohérent, de récupérer ses dépendance dans une étape à part, de faire du multi-stage build… Ou d’utiliser les Cloud Native Buildpacks! (sur lesquels Joe bosse) Article qui nous explique la complexité et les trade off impossibles. Et donc que buildpack c’est indispensableComparaison Apache Kafka et Apache Pulsar
pulsar a des brokers sans etat et deriere il y a des bookkeepers (qui stockent les data). Cela permet plus de flexiblités pour augmenter ou descendre le nbombre de brokers. mais avec plus de “moving parts” et avec un hop de reseau supplémentaire. Mais l’architecture est plus flexible notamment pour Kubernetes Le stockage étagé et la geo replication est plus facile dans Pulsar (par default). Stockage etageé c’est de stocker l’info dans un S3 quand ellee st vielle par example. Pulsar est multitenant par design. Pulsar accepte des gros messages et sit les fragmenter au besoin plus grosse communaute sur Kafka mais il y a des composants non open source (Confluent). CloudRed Hat OpenShift Streams for Apache Kafka : un service cloud de Kafkas managé
C’est ce sur quoi emmanuel a bossé ses 9 derniers mois Essayer le Managed Kafka de red hat Red Hat OpenShift Streams for Apache Kafka: un cloud service de Kafka managés https://twitter.com/emmanuelbernard/status/1387686420903563264 Super intégration avec Quarkus et utilise Quarkus a l’intérieur WebNew offcanvas component New accordion New and updated forms RTL is here Overhauled utilities New snippet examples Improved customizing Browser support Dropped Microsoft Edge Legacy Dropped Internet Explorer 10 and 11 Dropped Firefox < 60 Dropped Safari < 10 Dropped iOS Safari < 10 Dropped Chrome < 60 Dropped Android < 6 JavaScript No more jQuery! Le Guide de migration est iciCrowdcast sur Cypress par Emmanuel Demey
La fin de Google AMP ou son intérêt devrait descendre
AMP avait un avantage majeur. Celui d’être en premier sur les résultats du moteur de recherche. Et les médias passaient en AMP rien que pour ça parce que le traffic du moteur de recherche dominant est essentiel Mais AMP posait beaucoup de problèmes techniques et éthiques. Le contenu était hébergé et caché sur des pros idées edge et en pratique Google. Donc les mesures d’audience étaient plus compliqeees Et les ads avaient aussi des bias pavers la régie google. Les prochains scoring de google search seront neutre ce qui risque faire baisser les pages amp Les pages amp avaient du réinventer beaucoup de concepts du web OutillageJFrog garde Bintray JCenter en lecture seule y compris le miroir de Maven central
Ca sent le truc planifie pour faire migrer et descendre le traffic et arriver en bon samaritain après. Cela dit ils étaient bon samaritains avec la version gratuite Au moins les builds anciens ne vont pas casserDocker desktop : sauter une mise à jour devient une option payante
a partir de Docker 3.3 on peut éviter l’installation d’une nouvelle version avec la souscription pro ou team. Si j’ai bien compris. Tu peux faire un rappel pour plus tard mais tu ne peux effectivement pas refuser définitivement une version donnée sans payer sinon ils te harcèlent (je ne connais pas la fréquence) pour upgrader. En gros si tu ne paies pas tu dois être sur latest. Ils ne vont pas faire du support sur d’anciennes version pour les clients gratuits Ce qui est logique.Spock est rebasé sur JUnit Platform Support de l’exécution en parallèle des test specs et des test features Support de Groovy 3 Améliorations des tests avec des données tabulaires SécuritéBug de dénie de service dans snakeyml
C’est du à la capacité de faire des références qui contiennent une référence à un élément plus haut. Paf récursion infinie. à un moment, notre support YAML dans Groovy utilisait SnakeYaml il me semble, mais je viens de vérifier, on est passé à Jackson Loi, société et organisationGrafana, Loki et Tempo passent de ASL 2 à AGPL
La AGPL c’est la GPL mais pour lequel un services est comme une distribution inspiré par MongoLab CoackroachDB etc Cela reste open source au moins même si il y a des interprétations différentes du linkage et donc des risques Est-ce que un service qui utilise grafana doit entièrement être AGPL?Quand un troll de brevet attaque, cloudflare contre attaque
cloud flare est attaqué par un troll de brevet et contre attaque pour la seconde fois en payant la recherche d’antériorité sur l’ensemble du porte feuille de brevets de cette entité. Pour lui faire perdre une bonne partie de la valeur. « You do not negotiate with terrorists or children »BaseCamp perd 30% de ses employés après son ban de conversations sociétales
La liste des noms d’employés « funny » est ressorti avec des relents racistes Les employés ont visiblement eu un débat dessus DHH et Fry on fait un mémo bannissant les conversations politiques et sociétale parce que elle n’amenaient pas de bien pour la société (resentment etc) Mais les employés le voient comme une façon de ne pas voir les sujets importants en face et les impactes des produits tech sur la société Ils on offert un golden parachute à qui voulait partir Et boom 30% ont dit ouiStratégie nationale du cloud français
cloud solution d’hébergement par défaut des services numériques d’état protégé de règlementation extracommunautaire contre le cloud act et autres lois label “Cloud de confiance” c’est comme le porc salut mise à jour du SecNumCloud de l’ANSSI solution hybride société Française ou Européenne en utilisant les briques logicielles de groups américains serveurs en France opérés par des entreprises européennes détenues par des européens “les américains sont les plus avancés” Google et Microsoft ont signé l’accord de licence donc pas AmazonCloud de Confiance en qui ? par Laurent Doguin
Outils de l’épisodeEnfin la marque Promet des designers sur l’interface et des contributeurs Et de rester open source On va voir ConférencesDevoxx france bougent au 29, 30 septembre et 1er octobre
Crowdcast d’Agathe sur hack.commit.push samedi 29 mai, inscrivez-vous !
Nous contacterSoutenez 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/
Mon, 24 May 2021 - 1h 20min - 256 - LCC 255 - Interview Java 16 avec José Paumard et Henry Tremblai - partie 1
José (maintenant Java Advocate chez Oracle – le cachotier) et Henri échangent avec Emmanuel sur la sortie de Java 16. Cette première partie couvre l’introduction, les records, le pattern matching, les sealed class, les hidden classes et le créateur d’installeur jpackage. La suite au prochain numéro.
Enregistré le 8 avril 2021
Téléchargement de l’épisode LesCastCodeurs-Episode–255.mp3
Interview Ta vie, ton oeuvreJava et sa cadence de releaseRetour général sur la cadence de release: bien ou mal ?
Java 16JDK 16 JDK 16 Arrived : Java 16 Released with New Features | TechGeekNext >>
Records Pattern matchinginstanceof
Autres pattern patching qui sont arrivés?
Sealed classes (preview)C’est quoi ? Ça sert à quoi ?
Et les hidden classes ?
Un petit détour par le mégamorphisme
jpackageConstruire des installeurs d’applications Java
Nous contacterSoutenez 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/
Mon, 10 May 2021 - 57min - 255 - LCC 254 - Fission acquisition
Arnaud et Emmanuel discutent la sortie de Java 16, diverses distributions d’OpenJDK, des outils comme JHipster, JReleaser, la décision de la court suprême dans le procès des API Java entre Google et Oracle et le refactoring de Michael Dell avec la cession de VMWare.
Enregistré le 16 avril 2021
Téléchargement de l’épisode LesCastCodeurs-Episode–254.mp3
News LangagesLa version longue des release notes Les fonctionnalités préférées des Java Champion Lombok en conflit avec openJDK sur –add-openLa plateforme Java moderne de 2021, selon James Ward
James parle de Java la plateforme, donc y compris ses langages alternatifs, en particulier Kotlin et Scala dont il est fan Java a l’avantage d’avoir un outillage moderne, aussi bien niveau IDE (Intellij, VS code…) que des librairies de tests (Java, Testcontainers…) Pour les frameworks les plus utilisés, évidemment Spring vient en tête, mais il mentionne aussi Micronaut (avec l’injection de dépendance à la compilation) et Quarkus (avec son focus sur l’expérience développeur) James fait la part belle à l’approche “reactive”, en mentionnant par exemple les drivers de base de données R2DBC Pour continuer sur le thème réactif, il mentionne aussi le reactive streaming (au dessus de Kafka par exemple), mais il parle aussi de CQRS et Event Sourcing, mais aussi les CRDTs Niveau containeurisation, il cite les initiatives comme Jib, les cloud native Buildpacks, ou les images Distroless, pour faciliter et simplifier le packaging d’applis Java pour les environnements à base de conteneurs Côté “serverless”, James évoque GraalVM, pour transformer les applis Java en native, pour gagner en temps de premier chargement (le cold start, fréquent dans les environnements serverless) (Il aurait pu mentionner les approches comme Micronaut avec l’injection de dépendance à la compilation qui éviter une bonne partie du coût de démarrage du framework sous-jacent et diminue donc le cold start)53 librairies Java pour résoudre vos problèmes
Max Andersen avait demandé sur Twitter de donner des librairies Java utiles et pratiques qui résolvaient des problèmes concrets, Emmanuel a compilé la liste avec des librairies pour parser / générer du code Java, des structures de données, de conversion de format, pour parser des formats de données, pour le web aussi bien en tant que serveur que pour faire des requêtes, pour les tests de toutes sortesLa migration d’AdoptOpenJDK vers Eclipse Adoptium a commencé
Microsoft annonce sa distribution d’AdoptOpenJDK
LTS gratuite et “sans coût” Support au sens patch jusqu’en 2024 de 11 Utilisent en interne pour leurs clients et pour eux Ont aussi une version java 16 arm en preview utilise les tests adoptium ça peut devier de OpenDJK en terme de patchs Eclipse Adoptium pour Java 8 docker image bientot Azuul vient de perdre un client LibrairiesSpring-Boot client app to access an Auth0 protected service (JWT). JHipster release v7.0.0
OutilsAndrés Almiray annonce la release de… JReleaser, un projet qui permet de facilement livrer un projet Java sur des plateformes comme Homebrew, Snapcraft, Scoop, ou des registries de conteneurs.
CloudAWS announce OpenSearch, une communauté qui forke ElasticSearch et Kibana
OpenSearch (derived from Elasticsearch 7.10.2) and OpenSearch Dashboards (derived from Kibana 7.10.2) ASL 2.0 marque OpenSearch avec usage permissif Amazon OpenSearch Service Red Hat, SAP, Capital One, and Logz.io reutilise la marque OpenSearch que Amazon avait avant pour autre chose InfrastructurePourquoi tous mes serveurs ont un fichier vide de 8 Go?
rien de pire qu’un linux ou macOS avec zero espace disque, ca part en sucette donc 8Go pour se donner du temps ca touche mon égo de developpeur cette solution :)Docker Desktop for Apple Silicon en preview
ils offrent une alternative au framework de virt d’apple qui tourne sur qemu utilise encore rosetta 2 vu qu’il y a des libs qui utilisent encore intel fait tourner les images ARM, et sinon ajouter la platform amd64 mais les images amd crashent QEMU parfois pour qemu: “ping from inside a container to the Internet does not work as expected.” LOLLevée de fond de 23 millions de dollar pour Docker
Serie B, ahahahDégagement de fumée de 300 batteries de 25 kg Sgb1 et 3 coupés temporairement Loi, société et organisationGoogle chrome révèle le type de données collectées attachées à l’utilisateur. ( + Google Chrome 90 )
Beaucoup plus important que Firefox ou safari. Google a mis longtemps avant de donner ces infos. après c’est la course au nombre et beaucoup sont poussées par des fonctionnalités mais cela montre l’approche philosophique différente. chrome acte comme un super cookie. j’ai mis edge par defaut sur l’ordi de mon pèreFin du procès Oracle vs Google
les APIs ne sont pas copyrightable Pas exactement. Ils disent que dans le cas de Google oracle, c’est ok parce que les api sont devenues des choses familières aux développeurs et donc que dans ce cas c’est ok. Il ne se positionnent pas exactement sur api vs implementation Que les apis comme ça s’éloignent du cœur de la notion de copyright. Concept intéressant. Et d’où la notion de fair use. Mais ça dépend de comment le code est fait et utilisé “When a new interface, like an API or a spreadsheet program, first comes on the market, it may attract new users because of its expressive qualities, such as a better visual screen or because of its superior function- ality. As time passes, however, it may be valuable for a dif- ferent reason, namely, because users, including program- mers, are just used to it. They have already learned how to work with it”Microsoft a regardé ses employés remote et c’est pas beau
+52% de messagerie instantannée entre minuit et 6 heures 61% des leaders sont super efficaces vs 38% pour les non leaders Moins de chances de voir les problèmes en remote 37% pensent que la société les fait travailelr trop dur et 41% cherchent un nouvel employé consider how to reduce employee workloads, embrace a balance of synchronous and asynchronous collaboration, and create a culture where breaks are encouraged and respected Encourager les coupures y compris les vacancesvente des 80% detenus pour rembourser sa dette independance mieux pour les deux sociétés “stimuler l’innovation et préserver les synergies” ConférencesMix-IT (virtuel) les 18, 19 et 20 mai 2021
10 talks de 30 mn + 20mn de Q&A + 10 mn de pausehttps://www.devoxx.fr/2021/02/25/preparation-du-programme-de-ledition–2021/
reprend une partie du CfP de l’année dernière. Outils de l’épisodePourquoi les prix d’AWS lambda sont trop élevés poiur du batch
topgrade pour mettre à jour tous vos systèmes de packages. asdf pour gérer facilement différentes versions de vos outils en lignes de commande (java, maven, gradle, kubectl, help, …..).
Nous contacterSoutenez 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/
Tue, 20 Apr 2021 - 1h 20min - 254 - LCC 253 - Interview GraphQL avec Stan Chollet et Jean-François James - partie 2
Stan Chollet et Jean-François James discutent avec Emmanuel de GraphQL. Cette seconde partie explique GraphQL concrètement pour le développeur, les différents moteurs et clients et le futur de GraphQL.
Enregistré le 25 février 2021
Téléchargement de l’épisode LesCastCodeurs-Episode–253.mp3
Interview
Ta vie, ton oeuvre
Jean-François James Microprofile GraphQL
En pratique pour le développeur
Je veux faire du GraphQL, maintenant quoi ? Quels frameworks choisir? Lien JS - mon language (e.g. Java)
Comment définir son schéma Des outils qui aident à la génération des entités? Erreurs dans les requêtes
Comment écrire ses requêtes, Qu’est-ce qui est possible
Comment réduire les requêtes possibles générer 23 jointures? De pas afficher certaines données à l’utilisateur
Comment faire des agrégations de plusieurs sources ?
Modification des données
Faire évoluer ses APIs Et quid des changements incompatibles?
Pagination
AppoloGraphQL GraphiQL GraphQL Playground Postman
Sous le capot
Qui définit GraphQL? Qui implémente?
Les clients GraphQL
Les Serveurs GraphQL
Les GraphQL <-> requête dans la base de données
GraphQL Futur
GraphQL federation Lee Byron qui part de Facebook, moins d’activité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/
Thu, 08 Apr 2021 - 41min - 253 - LCC 252 - Interview GraphQL avec Stan Chollet et Jean-François James - partie 1
Stan Chollet et Jean-François James discutent avec Emmanuel de GraphQL. Cette première partie explique les concepts et les points de base de GraphQL.
Enregistré le 25 février 2021
Téléchargement de l’épisode LesCastCodeurs-Episode–252.mp3
Interview Ta vie, ton oeuvreJean-François James Microprofile GraphQL
GraphQL en deux mots La techno en conceptsD’où vient GraphQL?
On avait WS-* Ensuite on a eu REST
Quels sont les problèmes principaux que GraphQL essaye de résoudre?
Quand rester sur REST vs aller sur GraphQL?
Les concepts: * Schéma * Requêtes * version
Toujours JSON ?
Une requête pour plusieurs sources
Appllo GraphQL GraphQL Federation Domain Graph Service
45:07
En pratique pour le développeurJe veux faire du GraphQL, maintenant quoi ? Quels frameworks choisir? Lien JS - mon language (e.g. Java)
Comment définir son schéma Des outils qui aident à la génération des entités? Erreurs dans les requêtes
Comment écrire ses requêtes, Qu’est-ce qui est possible
Comment réduire les requêtes possibles générer 23 jointures? De pas afficher certaines données à l’utilisateur
Comment faire des agrégations de plusieurs sources ?
Modification des données
Faire évoluer ses APIs Et quid des changements incompatibles?
Pagination
AppoloGraphQL GraphiQL GraphQL Playground Postman
Sous le capotQui définit GraphQL? Qui implémente?
Les clients GraphQL
Les Serveurs GraphQL
Les GraphQL <-> requête dans la base de données
GraphQL FuturGraphQL federation Lee Byron qui part de Facebook, moins d’activités
Nous contacterSoutenez 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/
Mon, 29 Mar 2021 - 46min - 252 - LCC 251 - Trié dans le désordre
Dans cet épisode désordonné mais complet, Antonio, Guillaume et Emmanuel parlent de JVM sur Kubernetes, des datacenters OVH, de Spring Native, de Flutter, de Saga, d’Open Source et de salaire.
Enregistré le 12 mars 2021
Téléchargement de l’épisode LesCastCodeurs-Episode–251.mp3
News InfrastructureStrasbourg data center entierement détruit recommande d’activer les protocoles de disaster recovery impacte aussi d’autres data centers : SBG1, SBG3 et SBG4 (electricite coupée et une partie des salles serveurs) Autre article couvrant l’évènement 3,5 millions de sites down, les backups aussi? 18% des adresses IP attribuées à OVH remedarrage (sauf SBG2) la semaine prochaine touche la partie hosted private cloud quelques jours avant annonce de mise en bourseAméliorer le temps de démarrage des JVMs sur Kubernetes
JIT etc, temps de demarrage relativement lent rajouter des pods et faire deu deployment graduel (3x coût) script de chauffe avec le readiness probe utilisant initialDelaySeconds mais pas d’amelioration massive (rejoue les URLs de prod) et ralentit l’auto scaling changer les heuristiques de la JVM : 2x CPU request et limit puis 3x => probleme disaparait, CPU throttling ; mais coûteux et plus difficile de positionner les pods utiliser des pods “burstable”, limit > requests Bon articles pour ceux qui sont en phase d’apprentissage de Jave et Kubernetes. Attention, leur modèle peut faire crasher un noeud en cas de probleme et de reboot de pods excessifs puisque la charge théorique nécessaire est de 3x. Mais ce n’est probablement pas pire que leur problème initial Frontposte plus technique niveau production pour le support du Web Sound Null Safety qui permet d’éviter les null pointer exception le support du desktop est aussi en mode stable de nouvelles widgets Meilleur support dans IntelliJ et Visual Studio Code Filio une app exemple pour etre progressive et belle sur tous les supports Fultter fix pour faire evoluer le code “500,000 Flutter developers across a growing number of platforms” wow LibrairiesHibernate Reactive 1.0 CR arrive
Micronaut 2.4 est sorti
Ajout et support des annotations jakarta.inject comme alternative à javax.inject Ajout d’annotations @NonNull et @Nullable propres à Micronaut, car différents outils et frameworks proposent aussi des annotations nullables qui rentrent parfois en conflit les unes avec les autres Nouvelle annotation @InterceptorBean pour appliquer des interceptors à des beans, qui remplacent les annotations AOP existantes Support plus fin des erreurs de réponse, avec des content type plus fins Diverses améliorations de Micronaut Data, dont par exemple le support des records de Java 14+ Support de Oracle Coherence CE pour Micronaut Data OutillageGradle explique l’impact de la disparition de JCenter sur les builds Gradle
telechargement des dependences et des plugins publications vers bintray beaucoup d’exemples utilisent jcenter + Gradle, donc verifier vos fichiers de build => jcenter() déprécié reco: enlever jcentral du build et verifier que ca continue de tourner troubleshoot les dépendances qui ne sont que sur jcentral spécialement à risque Android Gradle Entreprise dans le build scan on sait d’où vient chaque dépendance les plugins peuvent ajouter des repository à vos projets dependance encore sur jcenger uniquement (attendre le maintainer, migrer vers une autre librairie, copier le jar attention au confusions de dependances et collision de namespace risque potentiel activation de verification des dependance ( true false) ArchitectureInfoQ article sur le pattern Saga, le outbox pattern et change data capture
outbox pattern, evite l’écriture double DB/queue. Il ecoute les changements de la base de donnée dans une table dédiée qui est transformée en message dans une queue apr le composant de change data capture (modifié) cela evite tout besoin de XA ou autre synhcronization distribuée Saga, transaction métier large. utilise des compensations pour anuler partiellement ou totalement la transaction 2 approches choereographie: passage des messages d’un service a l’autre- orchestration: un swervice coordonne les autres et fait les appels
Thoth un framework event sourcing de la Maif
MéthodologiesL’état des lieux du Dev Java par jaxcenter
49% de Dev java et le reste team lead architect et consultants 69% Java 8, JavaScript at 40%, Java 11 at 36% (note that they were allowed to select more than one programming language of choice). 16% Java 12 or newer, and 15% Java 7 or older. 66% convertissent ou utilisent microservices , 13% ne l’envisagent pas, 70% moins de 10 microservices App servers 6h% tomcat 19%wildfly 18 weblogic 15 jetty 14 web sphere Spring boot 62% (83 l’année dernière) drop wizard 8% Quarkus 6% Idea 65% eclipse 48 vscode 27. Netbeans 13 59% oracle JDK 22 adopt et 10 corretto Macen 67% (50% l’année dernière Docker 57% (74 en 2020) kube 42 VMware 27 Jenkins 61 76% utilisent un cloud AWS 39 azure 24 Google 18 Douleurs de Dev 54% temps de réponse Redeployment 59% 4 mins 20% 10 minsD3.js 10 ans d’open source ; les leçons apprises
apprendre aux autres >> code en terme d’impact ; exemples sont puissants (modifié) Le support expose les problèmes de l’outil très rapidement pour aprendre les choses a maéliorer. Mais dès que cela arrête d’être constructif pour vous, arrêter et ne vous sentez pas mal. visualisation utile pour l’exploration et l’explication mais ce sont deux cas d’utilisation différents ne commiter pas sur une forme de visualisation (camember, barres etc) avant d’avoir vu votre data dessus. 90% des bugs suir 10% des fonctionalités: choisissez bien vos batailles Internet va vous faire sentir mal ne pas y aller seul Essayer d’avoir du bon tempsSalaire égal pour tous dans la société
175k pour tous y compris les fondateurs Évite d’avoir à quantifier la performance de chacun Et le Risque incentividation individuelle != team (modifié) Transparence du modèle Plus bas salaire pour certains si ils travaillaient ailleurs mais c’est une valeur qui permet de vivre correctement avec enfants (jugé et testé par les fondateurs) Paie basée sur le travail et non les coûts de l’employé -> pas de différence géographique Scale probablement pas mais une start up peut se le permettre (ils ne prennent pas de junior pour l’instant Carrière != compensation par rewards Mais pour les parts dans la boîte ils le font en fonction du risque du premier risque au dernier pas risque Loi, société et organisationElle a exfiltre des milliers de docs vers des comptes externes Met en doute le commitment du ethical ai chez Google Mais comment répondre à une personne ex filtrant des docs privés ? Mitchell qui annonce qu’elle est virée Ethique vs lanceur d’alerte ? ConférencesMix-It (virtuel) les 18, 19 et 20 mai 2021
10 talks de 30 mn + 20mn de Q&A + 10 mn de pausehttps://www.devoxx.fr/2021/02/25/preparation-du-programme-de-ledition–2021/
reprend une partie du CfP de l’année dernière. Nous contacterSoutenez 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/
Tue, 16 Mar 2021 - 1h 12min - 251 - LCC 250 - Spécial Loi Société et Organisations avec Agnès Crepet et Tariq Krim, 2ème partie
L’actualité du mois de janvier était trop tentante pour passer à côté, voici donc un nouvel épisode spécial loi, société et organisation ! Cette fois Agnès, Audrey et Emmanuel ont demandé à Tariq Krim de les rejoindre pour commenter les conséquences des nouvelles CGU de WhatsApp et le départ en masse de ses utilisateurs et la déplateformisation de Donald Trump. Et comme il y avait beaucoup à dire sur le sujet, on vous en a fait deux épisodes.
Enregistré le 5 Février 2021
Téléchargement de l’épisode LesCastCodeurs-Episode–250.mp3
Invité de l’épisodeIntros et premiers sujets en partie 1La déplateformisation de Trump et des comptes affiliés à QAnonBannir Donald Trump de Twitter crée un précédent « dangereux », affirme son patron
Le thread de Jack Dorsey, le CEO de Twitter
Parler retirée des stores Google et Apple, et son infra supprimée de AWS.
Suite aux évènements au Capitole, Trump ainsi que 70000 comptes affiliés à QAnon ont vu leur compte supprimés de Twitter
A noter que Twitter a seulement agi à la fin du vote du congrès pour activer leur procedure.
Trump a bien essayé de se servir du compte officiel de la présidence américaine pour dénoncer la suppression de son compte mais ses tweets ont été dépubliés au motif qu’utiliser un autre compte pour éviter la suspension enfreint les règles de Twitter
S’en est suivi un effet domino qui a entrainé la suppression des comptes de Donald Trump et d’adhérents à QAnon sur Facebook, Instagram, Youtube, Snapchat, Twitch, Spotify, Shopify (site qui permettait la vente de merchandising) et d’autres.
on parle de déplateformisation à cause de cet effet domino mais aussi parce qu’on a assisté à une deuxième étape : Trump s’est ensuite rapidement replié sur Parler, une application utilisée par l’alt right mais l’application a été retirée des stores par Google et Apple. Son infra supprimée : c’est en effet Amazon Web Service qui a décidé de ne plus héberger le service sur sa plateforme. Ce serait peut-être lié d’ailleurs à une pétition d’employés d’Amazon, qui aurait pu influencer une telle décision. Pour Amazon les outils de modérations mis en place par Parler ne sont pas suffisamment efficaces. Cela pose la question de savoir si les services de clouds ont un droit de regard sur la façon dont une application est gérée?
Parler est hébergé par des russes. L’application a été financé par Rebekah Mercer qui est connue pour ses contributions aux organisations conservatrices et dont la famille a par ailleurs financé Cambridge Analytica.
clin d’oeil : Le fondateur de Piratebay ironisait sur le sort de Parler “ ”Pirate Bay, le site Web le plus censuré au monde, créé par des kids, géré par des personnes ayant des problèmes d’alcool, de drogue et d’argent, est toujours en activité après presque 2 décennies. Parler et Gab, etc. ont tout l’argent mais aucune compétence ni état d’esprit. Gênant."
La désinformation en chute dans les réseaux sociaux après la déplateformatisation de Trump
Les expresssions et tags utilisés par les supporters de Trump ont baissés de 95% après le bannissement. (#FightforTrump, #HoldTheLine, March from Trump…)
D’après les chercheurs en désinformation il y a très peu de compte à la source (une vingtaine de comptes conservateurs dont celui de Trump) mais ceux ci sont qualifiés de “superspreader” car ils sont massivement repartagés, quelque soit le sujet.
GAFAM Des salariés de Google créent un syndicat après des mois de tensions internes Nous contacterSoutenez 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/
Wed, 03 Mar 2021 - 53min - 250 - LCC 249 - Édition tu perds tes amis
Emmanuel Antonio et Guillaume discutent de Java 16, de GraalVM, de micronaut, de Quarkus, de licence Elastic, de BinTray qui s’en va et d’attaque de chaine de fournisseurs. Et merci à José Paumard et Benoit Sautel pour leur crowdcast.
Enregistré le 12 février 2021
Téléchargement de l’épisode LesCastCodeurs-Episode–249.mp3
News Langagesdans la tête d’une optimisation du JDK optimisation proposée amène des surcharges de contentions (thread local) donc exploration de l’alternative difficulté des codes intrinseques (c’est à dire quand un pattern est détecté, le code est hardcodé par platforme. Donc tout changement du code qui sort du pattern veut dire pas mal de taf)Conversion hexadecimal en Java 17
Crowdcast de José sur Java 16 et article de Loic sur le sujet Java 16
Socket channels (Unix domain) Court circuit de la stack tcp, pas de file descriptor de mémoire Api vectorielle avec optimisation par plateforme Foreign linker api pour panama Et le support appel natif Support alpine (musl) et aarch64 pour Windows Record et pattern matching instanceof deviennent standard Illegal access passe en deny par défaut. Ça pue ;)le GC reste sur la JVM hote qui peut etre hotspot ou SubstrateVM Dans le cas de SubstrateVM, ça veut dire que Java peut etre interprété dans ce mode ahead of time compiled (donc in JIT est embarqué). Pour faire tourner certains morceaux de Java “dynamique” ça peut valoir le coup Sinon c’est la vision de GraalVM de la VM universelle donc supporter Java “comme les autres langages” fait partie du puzzle Mais bon c’est dur de comprendre leur strategieCrowdcast JavaScript GraalVM de Benoit Sautel
L’API Polyglot Appeler du Javascript depuis la JVM Migrer depuis Nashorn Démonstration et benchmark GraalJS avec Maven JEP 243 Java-Level JVM Compiler Interface Interview d’un responsable de GraalVM sur Nashorn vs GraalVMJBang - comment écrire des scripts en Java
pourquoi les gens écrivent des scripts dans d’autre langages que Java un seul fichier, pas de structure complexe y compris dans les dependances un demarrage juste en lançant le ficher crée un environnement pour l’IDEElement worklet, rendre JavaScript preemptif
Proposition de creation d’élément de code JavaScript qui peut tourner hors du thread principal by design. JS peux rendre la main mais c’est non preemptif (yield, promesses etc) et uniquement à un endroit précis Donc création de Element Worklet (un comme un runnable en Java) qui tourne dans un thread séparé, avec un message channel pour communiquer avec le reste Travaille sur un shadow dom par contre rien n’est détaillé sur le scheduler et la priorisation LibrairiesDriver JDBC Oracle sur Maven Central!
Drivers support for Virtual Threads Extension reactives GraalVM native image (mais encore des trucs a amelioerer (allow incomplete classpath)support de JMS résolution de la Locale améliorations au système d’introspection bannière personnalisableIdée des fondations était venu ensemble avec Micronaut Mais voulait apprendre de l’un avant de lancer l’autre Embrasse semver Le technical commutee va décider de la roadmap de ce que j’ai compris Intégration initiale de micronaut dans Grails 4 Plan: TX mongo dans GORM. Groovy server pages plus modulaire, native web socket, meilleure intégration Kafka Plan grails 5: Groovy 3, SB 2.4, gradle 6 et Java 15RESTEasy Reactive Annotation scanning, metamodel generation au build, base sur vert.x route Dev UI les frameworks amènent des tâches de dev (config, list des bean CDI, database schema migration etc) Massive performance without headaches InfrastructureLes rebondissements d’Elastic vs AWS et du changement de licence
Clarification d’Elastic “si vous vendez Elasticsearch directement en tant que service, vous serez impacté” entre les annonces et la licence, il y a une difference est-ce que tout competiteur sérieux à Elastic amènera un changement de licence? est-ce que Lucene est le prochain sur la liste? reflechissent à une license qui ouvre le code apres 3 à 5 ans BSL (Business Solftware License qui se transforme en ASL apres quelques années, et qui a une clause restrictive avant) La distribution Elastic d’Elasticsearch avait déjà un mix de ASL et de logiciels sous license proprietaire mais “source ouverte” AWS forks Elasticsearch Montrent les contribs ~10 sur Elasticsearch et annonce 250 contributions sur Lucene Les clients Elasticsearch resteront ASL 2.0 mais pas le client Java haut niveau qui a des dependence’s sur les classes serveur. Un nouveau client devrait arriver. Retour de l’ex CTO de Chef et sa position “pro” AWS et contre Elastic contre point de la position des gens du Message a caractere informatif 4 valeurs de l’OSS: The freedom to run the program as you wish, for any purpose The freedom to study how the program works, and change it so it does your computing as you wish The freedom to redistribute copies so you can help others The freedom to distribute copies of your modified versions to others at its heart, Open Source and Free Software are about the freedom to make the system work the way you wish au dessus est la communaute et le benefce de distribution qui fait un plus group morceau de clients potentiels Shay B - By putting the core of Elasticsearch into the open, we can presume he wanted the business value benefits of Open Source — collaboration in the commons, low friction acquisition for users, and hopefully the growth of an ecosystem around it. He got it tight open core - direct, and often critical, features are only available under a proprietary license co-mingle the source code for these features in the primary Elasticsearch repository Elastic NV creates a world where it is very, very difficult to collaborate only on the open source pieces. to whom does Elasticsearch belong? The community, or Elastic NV? Elasticsearch […] exists primarily to fuel the commercial ambitions of Elastic NV I, as a contributor, want to change the course of Elasticsearch in ways that benefit me (and perhaps others), but does so at the expense of Elastic NV, will I get that opportunity? The answer is most likely no — you will not. That truth is ultimately corrosive to sustainable communities. This is the deepest, most fundamental truth about Open Source and Free Software in action. That you, as a user, have rights. That those rights are not contingent on the ability of someone else to capture value. Companies who decide to build their business on Open Source cores need to get much more aggressive about their trademark policies. It should be clear and unambiguous that your trademark cannot be used for another product without your permission. If I may go further, I would make it clear that nobody but your company can create a distribution with your trademark on it at all, without your permission.Docker donne Docker Distribution à la CNCF
code déjà ouvert et utilisé par certains mais avait forké c’est le coeur de DockerHub et est une container registry objectif extensibilité pour les usages particuliers des uns et des autres (systeme de stockage etc) WebSupport TypeScript 4.1 nouveau plugin webpack pour le compilateur Ivy (pas d’effet visible attendu) scelection des CSS critiques pour un chargement initial et inlining => opt-in pour l’instant EcmaScript 5 polyfill a été enrichi OutillageJFrog annouce que BinTray c’est fini
aussi jcenter, gocenter, chartcenter etc fin des push 31 mars et fermeture de l’API REST et l’interface le 1er mai l’url jcenter continue encore un an si les projets utilisaient la synchro sur central, les pachkages seront là sinon il va falloir copier et les scripts font devoir evoluer questions sur la scalabiluté de MAven Central Brian Fox de Sonatype nous dit que tout va bien se passer Le blog officiel de Sonatype.Attaque de suply chain par squattage de nom privés
chercher le nom de dépendances privées d’organisations publier une version “supérieure” sous le meme nom dans un repo public profit !Déployer sur Maven Central avec une action GitHub
Le Java action workflow fait plus que preparer Java avec clef GPG et toutJHipster Quarkus 1.0.0 contribué par Daniel Petisme et Anthony Viard
JHipster Quarkus est un “blueprint” JHipster qui permet de surcharger la mécanique de génération pour obtenir un backend qui s’appuye sur Quarkus plutôt que Spring. Cela permet de généré rapidement une application fullstack (front + back). contenu Twitch d’antonysupport officiel de Apple M1 avec des bottles native. Pas tous les binaires installable ne supportent M1 Sécuritéintroduit en juillet 2011 Loi, société et organisationJeff Bezos ne sera plus CEO d’Amazon (juste président du directoire) Sacha Labourey aussi quitte le poste de CEO de CloudBees pour devenir Chief Strategy Officer
passer de 100 a 250 M IPO Le blog de Sacha Nous contacterSoutenez 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/
Mon, 15 Feb 2021 - 1h 19min - 249 - LCC 248 - Spécial Loi Société et Organisations avec Agnès Crepet et Tariq Krim - partie 1
L’actualité du mois de janvier était trop tentante pour passer à côté, voici donc un nouvel épisode spécial loi, société et organisations ! Cette fois Agnès, Audrey et Emmanuel ont demandé à Tariq Krim de les rejoindre pour commenter les conséquences des nouvelles CGU de WhatsApp et le départ en masse de ses utilisateurs et la déplateformisation de Donald Trump. Et comme il y avait beaucoup à dire sur le sujet, on vous en a fait deux épisodes.
Enregistré le 5 Février 2021
Téléchargement de l’épisode LesCastCodeurs-Episode–248.mp3
Invité de l’épisodeProtection des donnéesWhatsApp met à jour sa politique de confidentialité et provoque une immense vague de départ des utilisateurs vers Signal et Telegram
les nouvelles données partagées sont celles ci : « nous partagerons certaines de vos informations de compte avec Facebook et la famille de sociétés Facebook, telles que le numéro de téléphone que vous avez vérifié lorsque vous vous êtes inscrit sur WhatsApp, ainsi que la dernière fois que vous avez utilisé notre service " elles ne sont pas optionnellesLes européens ne sont pas concernés(mais les britanniques si puisqu’ils relèvent maintenant des US)
Avec plus d’un quart des utilisateurs, l’Inde demande à WhatsApp d’annuler ses nouvelles conditions faisant le constat que les citoyens de l’UE sont traités différement en vertu du RGPD, le ministère indien des technologies de l’information a demandé à whatsapp de retirer ces propositions de changement au motif qu’« Un tel traitement différencié est préjudiciable aux intérêts des utilisateurs indiens et perçu comme un grave problème par le gouvernement ».Trois alternatives françaises et gratuites à WhatsApp qui protègent vos données personnelles
Option la plus simple : Signal points forts : open source gérée par une fondation à but non lucrative (signal.org) financée par des dons son protocole de chiffrement a été validé par l’Agence nationale de la sécurité des systèmes d’information (ANSSI) la loi de Metcalfe (l’effet de réseau) joue en sa faveur pour le moment point faible : hébergé aux US donc sous le Cloud Act Dans les applications françaises : Olvid points forts : pas d’accès au carnet d’adresse, l’ajout de nouveaux contacts se fait manuellement a reçu l’approbation de l’ANSSI Citadel team point faible : développé par Thales Skred : points forts : appels audios et vidéos inclus dans la version gratuite a reçu l’approbation de l’Agence nationale de la sécurité des systèmes d’information (ANSSI).En parallèle de cette affaire,WhatsApp est menacé par une amende record en Europe concernant ses transferts de données vers Facebook
pas lié à la polémique actuelle mais au modification des conditions d’utilisation de WhatsApp en 2016 par lesquelles Facebook s’est s’autorisée le partage de certaines données que des internautes avaient pu préserve jusqu’à lors. c’est la CNIL irlandaise qui s’est saisie du sujet et la sanction financière pourrait aller jusqu’à 30 voire 50 millions d’euros pour avoir enfreint les exigences de transparence imposées par le RGPD. (Plus exactement, c’est l’opacité sur la manière dont il partage des informations avec Facebook, sa maison-mère, qui est en cause.)A Game Designer’s Analysis Of QAnon
A suivreDans la deuxième partie de l’épisode on parlera de la déplateformisation de Donald Trump
Nous contacterSoutenez 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/
Fri, 12 Feb 2021 - 1h 03min - 248 - LCC 247 - Cette fois-ci nous n'avons pas perdu Guillaume!
Dans ce premier épisode news de l’année Guillaume est de retour et sans accrocs (enfin presque). Accompagné d’Arnaud ils parcourent les nouvelles techniques de fin 2020, début 2021. Ils nous parlent de Java (Hashcode, Loom, records), des news Spring (SpringBoot, SpringCloud, JHipster), du changement de license chez Elastic, de CSS (Bootstrap, Tailwind.CSS), de Gradle et d’autres sujets Sécurité, Architecture et Méthodologie.
Enregistré le 15 Janvier 2021
Téléchargement de l’épisode LesCastCodeurs-Episode–247.mp3
News Langages Comment les hashcodes sont générés en Java. Et non ce ne sont pas les adresses mémoires. Le code utilises un modèle sans contention et très rapide. Quasi comme celui qui ramène une valeur constante. Utiliser les Java Records avec Jackson (et Spring Boot) (Mais pas pour la persistence avec JPA/Hibernate) Project Loom & Jetty: 1000000 Virtual Thread oui mais pas avec une stack de taille décente. Et ça fait de la poubelle à collecter. loom ne remplace pas l’usage des thread pool pour la contention de resources autre que les threads (DB connection, mémoire, CPU). Les VirtualThreads ne sont pas encore optimisées pour les ThreadLocals. Donc VirtualThread pas forcément l’unité de montée en charge naturelle. (Une partie 3 de se blog est prévue dans quelques semaines) Librairies JHipster 7.0.0 avec pas mal d’incompatibilités. Spring Cloud Contract 3.0: Incremental Test Generation for Maven, Resolves Credentials from settings.xml, Rewrite Groovy to Java, Allow to Extend Contract & Stubs, New [Custom] Mode of Test Generation, Experimental GRPC Support, GraphQL Support, Stub Runner Boot Thin JAR, Messaging Polyglot Support, Messaging with Existing Middleware, Gradle Plugin rewrite. Spring Cloud 2020.0.0, enfin la version compatible avec Spring Boot 2.4.x. Nouveau versioning comme annoncé il y a quelques mois.. Attention à la fonctionnalité de bootstrap qui est désactivée par défaut. Attention si vous utilisez Spring Cloud GCP le projet a déménagé et et n’est plus dans le release train TOML 1.0 est dispo et TOML Schema en route. Infrastructure Elastic suit MongoDB et remplace la license ASF 2.0 pour Elasticsearch et Kibana au profit d’un dual licensing Elastic License + SSPL. Tout comme mongo le but est de se protéger des AWS et consorts en empêchant le hosting sans recontribution vers la « communauté » Web Bootstrap 5.0.0 passe en beta 1. Le CSS version Bootstrap (approche composants) vs le CSS version Tailwind.CSS (approche boite à outils). Outillage Gradle 6.8 est la dernière release avant la version 7. La version 6.8 apporte d’importantes améliorations des performances dans la version Kotlin, des améliorations sur les caches (notamment les plugins checkstyle, pmd, codenarc, jacoco ). Améliorations sur la feature toolchain, les composites builds et la gestion des dépendances … Le problème avec Gradle article de Cédric Champeau, dev Gradle en réponse à Le problème avec Gradle de Bruce Eckel. On y parle des principes de bases (taches et dépendances), configuration vs programmation du build, Groovy, DSL, de faire la même chose de 36 manières, de magie et de cycle de vie Architecture un retour intéressant sur Amazon qui est passé de Sun à Linux / x86 pendant la bulle de 2000 au lieu de rester dans son modèle existant. Ça explique un choix intéressant : en cas de crise, soit tu pousses à te réinventer avec le risque d’échouer et de couler rapidement, soit tu optimises ce que tu as avec le risque d’être balayé « a petit feu ». Amazon n’avait plus que quelques trimestres devant eux et ont arrêté les features pendant la transition. Méthodologies It’s pull from production, not push to production avec CDN sur le front et serverless sur le back, la prod est juste un changement de DNS. Toutes les branches peuvent être en prod. main n’est pas la prod mais l’accord des fonctionnalités partagées. Comment prendre des notes … pour ne pas faire un cimetière de notes mais réellement un référentiel personnel de connaissances. Sécurité Attaque SolarWinds. Une attaque etatique hack plusieurs agences americaines, microsoft et 18000 autres entités. Des articles commencent à cibler Jetbrains Teamcity comme vecteur d’attaque utilisé pour infester SolarWinds mais JetBrains s’en défend (article 1, article 2) Conférences Web Stories le 5/2 en ligne https://webstoriesconf.com/ Le Devfest Lille le 11/6 en présentiel https://devfest.gdglille.org/ Devoxx France du 31 juin au 2 Juillet en présentiel https://www.devoxx.fr Nous contacterSoutenez 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/
Mon, 18 Jan 2021 - 1h 18min - 247 - LCC 246 - spécial Loi Société et Organisations avec Agnès Crepet
Dans cet épisode d’un format inédit, Audrey et Emmanuel recoivent Agnès Crepet, directrice technique chez Fairphone, pour discuter de l’actualité de ce qui d’habitude fait l’objet d’une rubrique dans les épisodes news mais qui commence à prendre beaucoup de place : la partie loi, société et organisations. Ca discute télétravail, cryptomonnaies, souveraineté numérique européenne, taxe numérique, protection des données, haine en ligne et surveillance de masse. On attends vos retours pour savoir s’il faut en faire d’autre de ce format (ou pas).
Enregistré le 6 janvier 2021
Téléchargement de l’épisode LesCastCodeurs-Episode–246.mp3
TélétravailLes demandes de surveillance des employés ont augmenté de 51% depuis le début de la pandémie
Télétravail : la Cnil interdit les keyloggers et tous les outils de surveillance déloyale du salarié Télétravaillez, vous êtes fliqués Les questions-réponses de la CNIL sur le télétravail hausse de 87% des recherches sur les outils de monitoring des employés en avril et encore 71% plus élevées que la normale en mai tableau qui récapitule tous les outils qui peuvent être utilisés ainsi que leur différentes fonctionnalités 81% d’entre eux proposent du keystroke logging qui permets à l’employeur de vérifier tous les clics effectués, toutes les touches du clavier frappées et d’avoir ainsi accès à toutes les conversations. Certains proposent même la capture de mots de passe ! la seconde problématique posée par ces outils c’est qu’ils proposent pour la plupart des réductions sur les abonnements à l’année, ce qui menace de rendre leur usage permanent La CNIL a elle enregistrée une hausse des questions liés à ces outils et a donc publié une liste de question réponses sur le sujet 2 choses sont à retenir : l’employeur ne peut pas placer ses salariés sous surveillance permanente, sauf cas exceptionnels liés à la nature de la tâche, comme par exemple la sécurité de sites ou de produits sensibles il faut toujours que le salarié et que le CSE, le Comité économique et social, soient informés au préalable de la mise en place d’un outil de surveillance. Cela correspond à l’obligation de loyauté de l’employeur vis à vis de ses salariés. Il ne doit pas chercher à les piéger. Sont donc formellement interdits les partages permanents d’écran, l’utilisation de « keyloggers », la surveillance constante via des dispositifs vidéo ou audio ou encore « l’obligation pour le salarié d’effectuer très régulièrement des actions pour démontrer sa présence derrière son écran ». En matière de visioconférence, la CNIL rappelle que l’employeur ne peut obliger son salarié à activer sa webcam (sauf cas exceptionnels, comme une démonstration produit par exemple) et qu’une « participation via le micro est suffisante ». Avant de conclure qu’en cas de surveillance excessive des salariés, elle dispose d’une « chaîne répressive complète lui permettant de mettre en demeure les organismes » et de prononcer des sanctions. Cryptomonnaies souveraines vs inititives privéesLe Libra pourrait se lancer dès janvier dans une version «a minima»
avec des objectifs revus à la baisse suite au tollé des banques centrales et des autorités financières la première version serait un actif arrimé uniquement au dollar («stable coin») sous réserve d’avoir obtenu d’ici là une licence en tant que système de paiement de l’autorité suisse de surveillance des marchés financiers, la Finma, au lieu d’être arrimés à un panier de devises voir ep 214 et 218 pour l’historiqueLa BCE a lancé une consultation publique sur l’Euro numérique
consultation lancée le 1er novembre, et ouverte jusqu’au 21 janvier 2021. inscription sur la page dédiée pour recevoir le lien l’euro numérique serait la forme électronique de l’euro émise directement par la BCE ce ne serait pas un remplacement à l’euro fiduciaire en net recul mais un complément plusieurs raisons : hausse de la demande de paiements électroniques dans la zone euro contrer le lancement des initiatives privées anticiper un évènement extrême qui pourrait mettre à mal les moyens déjà existant la décision ou non de poursuivre le projet reviendra au conseil des gourverneurs de la BCE mi 2021Le Japon annonce la création d’une cryptomonnaie souveraine pour 2021
30 grandes entreprises participent à la création de cette monnaie objectif avoir une monnaie qui peut rendre les différentes plateformes mutuellement compatibles, aucune de ses plateformes numériques n’étant assez solide pour surpasser les paiements en espèces sera soumise à l’approbation des citoyens la Chine a déjà fait des tests au printemps dernier et prévois un déploiement en 2022 Souveraineté numérique européenne (en mode fail)BPI France soutient AWS pour équiper les sociétés françaises
Taxe numériqueCette fois c’est sûr, la France taxera les géants du numérique en décembre
La taxe GAFA en panne faute de consensus à l’OCDE
Taxe GAFA : comme la France, ces pays asiatiques taxent déjà les géants de la Tech
Netflix décide de payer ses impôts en France
la taxe GAFA initiée en décembre 2018, déjà prélevée en 2019, l’état avait accepté de suspendre le paiement des acomptes dus en 2020 pour donner sa chance au processus de l’OCDE. prélèvement de 3% des revenus réalisés en France par les entreprises dont le chiffre d’affaires est supérieur à 25 millions d’euros dans l’Hexagone et à 750 millions d’euros dans le reste du monde application suspendue le temps de trouver un accord au niveau de l’OCDE pour ne pas déclencher une guerre commerciale (mais le risque c’est que les GAFAM fasse porter la taxe sur les clients également) cet accord n’a toujours pas été trouvé mais il se pourrait que l’UE créé sa propre taxe numérique en 2021 si les négociations n’aboutissent pas. Des pays asiatiques comme la Thaïlande, l’Indonésie, la Malaisie ou Singapour ont également commencé à mettre des taxes en place, preuve que la pratique de l’évasion fiscale des géants du numériques agacent partout Netflix de son côté a pris les devants dans plusieurs pays d’Europe (France, UK, Espagne) en décidant de transférer les abonnements de ces pays aux entités locales pour que les impôts soient payés en fonction du nombre d’abonné par pays, et plus aux Pays Bas. Protection des donnéesAmende record contre Amazon et Google : le coup de semonce de la CNIL
la CNIL a imposé, le 10 décembre, des amendes de 100 et 35 millions d’euros contre Google et Amazon pour non respect du RGPD jusqu’en septembre 2020, des cookies étaient déposés pendant la navigation sans demande de consentement de l’utilisateur le montant de l’amende est calculée en fonction du chiffre d’affaire de la maison mère mais aussi du nombre de personnes concernées par le manquement. à l’avenir les amendes pourraient donc être beaucoup plus lourdesL’Europe valide le rachat de Fitbit en soumettant Google à des engagements sur 10 ans
Le rachat est validé à certaines conditions que Google doit respecter pour une période de surveillance de 10 ans, potentiellement renouvelable une fois et pour laquelle la Comission Européenne exige un mandataire. ils concernent la publicité, le maintien de l’accès gratuit à l’API pour des applications tierces et une série d’engagements concernant les API Android pour garantir leur accès dans les mêmes conditions qu’aujourd’hui. Plus spécifiquement sur la publicité : l’interdiction d’utiliser au niveau européen les données de santé et de bien-être à des fins de publicité, lorsque ces informations proviennent des produits Fitbit (y compris les données entrées manuellement ou obtenues par des capteurs, dont le GPS) ; la séparation technique des données relatives à la clientèle Fitbit, de manière à les isoler de toute autre donnée de Google utilisée à des fins publicitaires — Bruxelles évoquant ici le principe d’un silo de données ; le choix laissé aux individus d’autoriser ou refuser que leurs données de santé et de bien-être puissent être utilisées par d’autres services de Google (comme la recherche, YouTube, Maps ou Assistant).[Le Digital Services Act et Digital Market Act en 6 questions])(https://siecledigital.fr/2020/12/16/digital-services-act-en–6-questions/)
Le Digital Services Act Package
un texte qui gêne avant même son débat
le 15 décembre la Commission Européenne (CE) a présenté son projet de loi de réglementation de l’espace numérique en deux parties : le Digital Services Act, et le Digital Market Act. le DSA concerne les contenus publiés en ligne, et veut pousser les plateformes à prendre leur responsabilités face aux contenus qu’elles publient mais aussi à justifier ceux qu’elles censurent il concerne toutes les plateformes sans exception le DMA porte lui sur les marchés numériques et plus précisément elle forcera les plateformes à rendre des comptes sur le fonctionnement de leurs algorithmes et l’utilisation qu’elles font des données privées. Le but est de s’assurer que ces entreprises n’abusent pas de leur position dans certaines activités pour étendre leur domination à des marchés connexes. (exemple : android et google) il portera sur les plateformes qui ont un impact significatif sur le marché (chiffres d’affaires de plus de 6,5 milliards d’euro, ou capitalisation boursière ou valorisation à 65 milliards), qui ont au coeur de leur business une plateforme qui permets aux utilisateurs commerciaux de toucher des utilisateurs finaux (10% de la population européenne soit 45 millions d’utilisateurs actifs mensuels), et ceux qui jouissent d’une position affirmée et durable qui risque donc de durer dans le temps comment va se passer la régulation ? mise en place de silo pour empêcher la mutualisation de données entre les services de l’entreprise (ex whatsapp et facebook) sauf autorisation de l’utilisateur final obligation de ne pas bloquer l’accès à une plateforme, à un utilisateur commercial ou final qui ne serait pas inscrit à cette même plateforme Donner aux annonceurs et aux éditeurs à qui le gatekeeper offre des services publicitaires, à leur demande, le prix payé par l’annonceur, ou l’argent récolté par l’éditeur. les GAFAM étant de plus en plus accusées d’empêcher l’émergence de compétiteurs en les rachetant, ces grandes entreprises devront désormais notifier à Bruxelles leurs projets d’acquisition en Europe quelles seront les sanctions ? en fonction du chiffre d’affaire et du projet de loi : 10% dans le DMA et 6% dans le DSA. en cas de récidive le démantelement pourrait être promulgé objectif : adoption en 2022, mais sachant qu’il a fallu 4 ans pour le RGPD c’est pas gagné bien entendu les GAFAM sont vent debout contre le texte et un document interne de Google assez virulent et projetant de semer la zizanie entre les services européens a d’ailleurs fuiter jusqu’à Thierry Breton (Commissaire européen à l’Industrie, au Marché intérieur, au Numérique, à la Défense et à l’Espace) obligeant Sundar Pichai à s’excuser en pleine réunionDes articles de la loi Avia censurée seront réintroduits dans le projet de loi « Séparatisme »
le Conseil Constitutionnel ayant repéré de multiples atteintes à la liberté d’expression dans le projet de loi dit “contre la haine en ligne” l’avait vidé de sa substance le secrétaire d’Etat au numérque Cédric O a donc plaidé pour une réintroduction de ceux ci, en plaidant une anticipation du Digital Services Act, ce qui est un moyen de faire pression sur la réforme à venir « L’obligation de moyens est au coeur de la proposition européenne de Digital Services Act. Nous pourrions la traduire par anticipation dans le projet de loi sur les séparatismes, compte tenu de l’urgence » a t’il déclaré le 9 novembre.Vie privée : pourquoi Facebook se sert des PME et des médias pour attaquer Apple et iOS 14
La dernière mise à jour d’iOS 14 renseigne de façon très détaillée tout ce à quoi a accès une application.
Dans le cas de Facebook, la liste est quasi interminable
Comme le réseau sait qu’il n’a pas à attendre de compassion s’il se plaint de son sort, il a attaqué Apple mais sans se mettre en avant : il a pris la défense des petits commerçants et des médias gratuits sur le web.
Selon Dan Levy, le vice-président chargé de la publicité et du business chez Facebook, la nouvelle politique d’Apple obligera les entreprises à se tourner vers des abonnements et des solutions de paiement inclus dans l’application pour obtenir des revenus, ce qui signifie qu’Apple en profitera et que de nombreux services gratuits devront commencer à être facturés ou quitter le marché »
De son côte Apple estime que « Les utilisateurs doivent savoir quand leurs données sont collectées et partagées avec d’autres applications et sites web — et ils doivent avoir le choix de l’autoriser ou non. La transparence du suivi des applications dans iOS 14 n’oblige pas Facebook à modifier son approche du suivi des utilisateurs et de la création de publicités ciblées, elle exige simplement qu’il donne le choix aux utilisateurs ».
La bataille pourrait se poursuivre juridiquement car ce n’est pas la seule disposition prise par Apple qui pose problème aux annonceurs, il y a également la nouvelle mesure d’anti pistage d’iOS 14 qui prévoit de revoir les conditions d’accès à l’IDFA (« IDentifier For Advertisers »),un identifiant aléatoire attribué à chaque appareil, et qui a été retardée
Mozilla a mis en ligne une pétition pour soutenir Apple
L’OMC s’inquiète du protectionnisme numérique
l’OMC fait le constat que la pandémie à accéléré la mondialisation numérique (solutions de paiement électronique par ex) mais que au cours des derniers mois les conflits se sont multipliés (Etats Unis et Huawei, Washington qui sors des discussions à l’OCDE sur la taxe numérique, l’Inde qui bloque plusieurs applis chinoises etc.) elle s’inquiète du protectionnisme numérique qui menace la libre circulation des données alors qu’elles sont devenues indispensables à l’économie mondiale et que dépendent d’elles des secteurs d’activités entiers elle parle d’émergence d’une quatrième révolution industrielle qui « transforme nos façons de vivre et de travailler » et de « servicification » (ex Siemens qui ne fait plus que des appareils industriels mais aussi des services de maintenance avec les capteurs installés dessus) elle s’inquiète aussi de l’émergence de géants en position dominante et souligne la faible part de l’emploi dans leur valeur ajoutée. elle s’inquiète aussi du fossé numérique qui existe entre les pays développés, émergents et à bas revenus dûs au coût de l’accès à la data elle appelle les pays à harmoniser leurs standards enb terme de protection des données afin d’éviter la multiplication des politiques restrictives qui en matière numérique ont la particularité de ne pas être tarifaires mais sous forme de restrictions au transfert de données. certains groupes de reflexion militent pour la création de zones commerciales numériques, où les échanges ne seraient autorisés qu’entre pays membres qui adhèrent aux mêmes règles quant à la protection des données et à la sécurité et d’autres pour la création d’une alliance technologique, sur le modèle du G7, pour élaborer des règles communes dans l’espace numérique Haine en ligne, désinformation et liens entre politiques et réseaux sociauxLa « cour suprême » de Facebook a (enfin) sélectionné de premiers cas à trancher
Il s’agit d’un conseil de personnalités extérieures, annoncé par Facebook depuis début 2018 mais toujours pas opérationnel qui va évaluer, sous quatre-vingt-dix jours, si le réseau social a eu raison de dépublier certains contenus litigieux. Le premier concerne la France et le COVID 19, les autres concerne la republication de propos du premier ministre malaisien menaçant les citoyens français au nom de la défense des musulmans, huit photos de poitrines féminines montrant des symptômes de cancer du sein retirées pour « nudité », une citation du nazi Joseph Goebbels publiée pour « dénoncer » la politique du président américain Donald Trump et deux autres qui concernent le peuple ouïgour et le conflit au Haut-Karabakh entre l’Azerbaïdjan et l’Arménie. Les litiges ont été sélectionnés parmi 20 000 contestations envoyées au conseil de surveillance de Facebook (son nom officiel). Les tiers peuvent les commenter pendant huit jours. Puis des panels de cinq membres de la cour (juristes, membres d’ONG…) pourront obtenir du contexte local ou une traduction auprès d’experts. Et diront s’il faut les republier. C’est un test majeur pour cette structure, qui doit encore prouver son utilité et qui a choisit pour commencer des cas où des principes sont en jeu et qui influenceront la façon dont Facebook applique ses règles de modération d’après Helle Thorning-Schmidt, ex-première ministre danoise, dirigeante de l’ONG Save the Children et l’une des quatre présidentes du conseil. Un autre point est très attendu : la possibilité de juger des contenus laissés en ligne par le réseau, accusé de laxisme concernant des messages de haine ou du président Trump, ce qui devrait être possible début 2021 d’après Mme Thorning-SchmidtNombreux départs à Facebook après les éléctions américaines
un des data scientist de l’équipe violence et incitation à la haine a quitté l’entreprise après 2 ans et dans son mot de départ il explique qu’il devient embarassant de travailler pour Facebook même s’il est très content du travail accompli par son équipe, il estime que la tâche d’arrêter la haine et la violence sur Facebook est inachevable du fait de certaines forces en interne qui les promeuvent. d’après les données sur lesquelles il a travaillé en interne, 1 contenu sur 1000 publié enfreint les règles de Facebook sur les discours à la haine, mais même avec l’aide de l’IA et de modérateurs tiers, Facebook supprime moins de 5% de tout les contenus haineux publiés sur son réseau. depuis mai, beaucoup d’employés ont quitté l’entreprise au motif qu’ils avaient honte de l’impact que leur entreprise avait sur la société ou parce qu’ils étaient inquiet de l’inaction de l’entreprise dans la modération des contenus haineux ou de désinformations plus inquiétant, dans les dernières semaines de l’année, au moins 4 employés impliqués dans des travaux critiques autour de la baisse de la violence et de l’incitation à la haine, l’élaboration d’une politique de réduction des discours haineux et le tracking de contenu qui enfreignent les règles de l’entreprise ont quitté la compagnie ce manque d’action serait en parti volontaire et du, aux Etat Unis en tout cas, au fait que beaucoup des posts menant à des interactions haineuse proviennent de pages affiliées de près ou de loin aux Républicains, et que l’entreprise ne souhaite pas se les mettre à dos preuve à l’appui avec un outil interne le “hate Bait dashboard”, donc le tableau de bord des pages incitant à la haine, qui liste les pages qui aux US ont concentrées le plus grand volume d’interaction enfreignant les régles sur les discours haineux toutes les pages sont associées à des personnalités ou des marques conservatrices dont entre autre Breitbart News, Fox News, le compte de campagne de Donald Trump et son compte personnel. c’est le cas par exemple du post de Trump déclarant que «Quand les pillages commencent, les coups de feu aussi» au moment des émeutes après le meurtre de George Floyd, qui n’a jamais été censuré malgré les vives polémiques qu’il engendrait. la recommandation des data scientist démissionnaires est de recruter beaucoup plus de monde sur les parties éthiques et lutte contre l’incitation à la haine, et de moins se reposer sur l’IA, même s’ils reconnaissent eux mêmes que celle ci à permis d’améliorer la situation dans plusieurs cas et notamment au moment des élections américaines. A noter que tous les ex employés mais aussi les employés encore en poste qui ont témoignés ont demandé à ce que leur anonymat soit respecté afin d’éviter des représailles. A noter également que tous les mots de départ postés par ces data scientist ont été supprimés par facebook de l’outil interne où ils sont traditionnellement postésTimnit Gebru,chercheuse qui travaille sur les questions d’éthique liées à l’intelligence artificielle (IA) et cofondratice du groupe Black in AI dont l’objectif est d’accroitre la présence de personnes noires dans le domaine de l’IA, a annoncé sur Twitter début décembre que sa hiérarchie avait accepté sa démission. Sauf qu’elle ne l’a jamais soumise Ce licenciement intervient après que la chercheuse se soit plainte, auprès d’un groupe interne, du fait que l’entreprise « réduise au silence les voix marginalisées ». Selon elle, Google lui a reproché certains « aspects » du message envoyé à ce groupe, qui seraient « en contradiction avec ce qu’on attend d’un manageur ». elle aurait également reçu l’ordre de rétracter un article scientifique sur l’éventuelle utilisation d’une IA pour imiter des propos haineux ou biaisés. D’après le chef du département IA, le texte « présentait des lacunes importantes qui nous empêchaient d’être à l’aise avec l’idée d’y associer le nom de Google" mais sans plus de détail Une pétition a été mise en ligne pour demander plus d’explications concernant cet article ainsi qu’un engagement « sans équivoque » de Google à respecter l’intégrité scientifique et la liberté académique. Son licenciement intervient alors que Google a été sommé, mercredi, par une agence fédérale américaine de répondre à des accusations de surveillance à l’encontre de ses employés militants. Il s’agit d’employés qui ont voulu monter un syndicat et ont engagés d’autres collègues à les rejoindre. Google n’est pas le seul à s’oppose à la création de syndicat en son sein, Facebook et Amazon ont déjà été épinglés pour les mêmes problèmes. Surveillance de masse & reconnaissance facialeProjet de loi sécurité globale : L’assemblée nationale vote pour la technopolice
Analyse de la loi Sécurité Globale par la Quadrature du net La proposition de loi relative à la sécurité globale est une proposition de loi française des députés LREM Alice Thourot et Jean-Michel Fauvergue (ancien patron du RAID) déposée à l’Assemblée nationale le 20 octobre 2020. Ce projet de loi a mis des dizaines de milliers de personnes dans la rue. Pourtant elle n’est qu’une toute petite partie de l’iceberg sécuritaire. Elle porte sur le renforcement des pouvoirs de la police municipale, l’accès aux images des caméras-piétons, la captation d’images par les drones et la diffusion de l’image des policiers (art 24). Le texte, soutenu par le gouvernement et les principaux syndicats policiers, fait l’objet d’une très forte opposition de la part des sociétés de journalistes, des organismes publics nationaux et internationaux et des associations de défense des libertés publiques. À la demande du gouvernement, la proposition de loi suit la procédure accélérée ; elle est examinée à l’Assemblée nationale du 17 au 20 novembre 2020 et adoptée le 24 novembre. Son examen au Sénat est prévu en janvier 2021.Le Conseil d’État interdit l’usage de drones pour filmer des manifestations
le Conseil d’Etat avait été saisi par la Quadrature du Net Dans sa décision rendue publique le 22 décembre il juge que « Le ministre n’apporte pas d’élément de nature à établir que l’objectif de garantie de la sécurité publique lors de rassemblements de personnes sur la voie publique ne pourrait être atteint pleinement, dans les circonstances actuelles, en l’absence de recours à des drones Il a décidé trois actions, au-delà des frais administratifs engagés que le ministère doit payer : Annuler l’ordonnance du 4 novembre du juge des référés du tribunal administratif de Paris (c’est elle que la Quadrature a utilisée pour faire monter l’affaire jusqu’au Conseil d’État). Suspendre la décision du préfet de police de Paris sur l’usage de drones pour la surveillance de rassemblements de personnes sur la voie de police Demander au préfet d’arrêter sans délai ces mesures de surveillances, dans le cas où elles seraient encore utilisées.Décrets PASP : fichage massif des militants politiques
Fichage politique et religieux : 7 questions sur l’extension des fichiers de renseignement
Jusqu’ici les fichiers de renseignement de la police et de la gendarmerie ne concernaient que des personnes physiques considérées comme dangereuses par les autorités. Prévention des atteintes à la sécurité publique (PASP -> Police) Gestion de l’information et prévention des atteintes à la sécurité publique (GIPASP -> gendarmerie) Enquêtes administratives liées à la sécurité publique (EASP). Depuis la publication de 3 décrets le 4 décembre 2020 la liste personnes fichées mais aussi des informations recueillies a été étendues ils pourront concerner des personnes morales ou des groupements (associations, groupe facebook, squats, zad ou même manifestation) ils permettront aussi de lister de manière plus complète les personnes entretenant ou ayant entretenu des relations directes et non fortuites » avec ce « groupement » (ex : des participants à une manifestation) plus problèmatique encore le fichage vise maintenant les habitudes de vie et les activités en ligne et l’ensemble des réseaux sociaux est concerné. « les données sont à ce titre collectées sur des pages ou des comptes ouverts » et « porteront principalement sur les commentaires postés sur les réseaux sociaux et les photos ou illustrations mises en ligne » Inquiète, la CNIL demandait à « exclure explicitement la possibilité d’une collecte automatisée de ces données » mais le gouvernement a refusé Autre problème, les enfants de moins de 13 ans peuvent également être fichés dorénavant, ainsi que les victimes des personnes considérées comme dangereuse Dernier point, les notes individuelles pourront maintenant contenir les opinions politiques, les convictions philosophiques, religieuses et / ou l’appartenance syndicale mais également des données de santé « révélant une dangerosité particulière » peuvent aussi figurer dans ces traitements, notamment les « données relatives aux troubles psychologiques ou psychiatriques » La CNIL déclare qu’elle n’a pas pu se prononcer sur cette modification car elle ne figurait pas dans le projet de lui qui lui avait été soumis. les « activités politiques, philosophiques, religieuses ou syndicales », dont l’inscription était déjà prévue par les trois fichiers, sont maintenant remplacées par des « opinions » politiques, des « convictions » philosophiques, religieuses et une « appartenance » syndicale. sont jugement de l’époque, bien qu’il ne soit plus pertinent était déjà que le périmètre de certaines de ces catégories de données était trop étendu ou la redaction de certain passages très large le Conseil d’Etat qui avait été saisi par plusieurs grand syndicats, dont le Syndicat de la magistrature ou le Syndicat des avocats de France, a validé l’élargissement des fichiers le 4 janvier 2021 car d’après lui il ne porte pas une atteinte disproportionnée à la liberté d’opinion, de conscience et de religion ou à la liberté syndicale. la seule chance restante serait de saisir la cour européenne des droits de l’Homme car d’après Virginie Gautron, maîtresse de conférences à l’université de Nantes et spécialiste des questions liées aux fichiers de police, « Les principes de proportionnalité et de nécessité ne sont pas remplis »,Article sur les usages présents et possibles de la justice prédictive en France
Répressions et résistances : entretien avec Mathieu Rigouste
Document sur les fichiers policiers
Utilisation de la reconnaissance faciale et des fichiers de police
Alibaba reconnaît avoir développé un algorithme raciste pour surveiller les Ouïghours
pour rappel les Ouïghours sont une minorité musulmane vivant principalement dans le nord-ouest de la Chine, dans la province du Xinjiang, et victime de persécution et de surveillance de masse depuis des années de la part du gouvernement chinois souvent internés de force dans des camps de rééduction dans lesquels ils sont exploités Alibaba vient de reconnaitre que sa filière Cloud avait bien conçu, développé et commercialisé des outils de surveillance de la population ouïghoure basé sur la reconnaissance faciale. Parmi les clients identifiés, une douzaine de départements de police dans tout le pays, preuve que la persécution n’a pas lieu que dans le Xinjiang Dans un communiqué en anglais (alors que tous les clients du service sont chinois), la maison mère Alibaba s’est dit consternée (mouais) Huawei aurait fait de même La police chinoise utilise une caméra basée sur l’IA et des analyses raciales pour suivre les Ouïghours AlibabaL’État chinois lance une enquête sur le monopole commercial d’Alibaba
l’Administration d’État pour la Régulation du Marché en Chine a lancé une enquête sur Alibaba pour des pratiques jugées anticommerciales qui sont les mêmes que celles reprochées à Amazon (politiques d’exclusivité abusives entre autre)Après Alibaba, la pression de Pékin se resserre sur Ant Group
la banque centrale chinoise a demandé à Ant Group, filiale d’Ali Baba de restructurer ses activités pour respecter la réglementation financière. ce qui était à la base un service de paiement propose aujourd’hui des prêts, la gestion de patrimoine et des assurances. le groupe est notamment accusée de tirer parti de sa position dominante sur le marché pour exclure des concurrents". à priori le gouvernement n’aurait pas apprécié les critiques de Jack Ma contre le système bancaire et d’assurance chinois, contrôlé par le parti et qui a d’après lui une mentalité de « prêteur sur gages » Nous contacterSoutenez 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/
Tue, 12 Jan 2021 - 1h 31min - 246 - LCC 245 - Interview SRE avec Nicolas Helleringer et Maxime Brugidou - partie 2
Nicolas et Maxime de Critéo partagent avec Emmanuel leur expérience de mise en place d’une organisation SRE (Site Reliability Engineering). Suite et fin de cette interview.
Enregistré le 12 novembre 2020
Téléchargement de l’épisode LesCastCodeurs-Episode–245.mp3
Interview Ta vie, ton oeuvreTwotter Nicolas Twitter Maxime Criteo Labs
Intros et premiers sujets en partie 1Concepts intéressantsStandard Operating Procedure Gestion d’incident
Dashboard
PostmortemComment ça se passe ?
Relation avec l’équipe produitOn code sur le produit ? Feedback loop
Quid de systèmes fondamentalement en risque du black swan (échec systémique)
Une équipe SRE par boite ? Une équipe SRE par produit ?
Le monitoringQuoi mesurer ? Beaucoup, peu ?
Entraînements et cas réelsQue se passe-t-il quand cela chie dans la colle ? On s’entraine ? Vous faite le draining d’erreur budget
Drainer des clusters pour maintenance et impact sur l’utilisateur
ConclusionsLivres Google sur le Site Reliability Engineering
Nous contacterFaire 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/
Mon, 04 Jan 2021 - 56min - 245 - LCC 244 - L'épisode maudit
D’abord on a perdu Guillaume corps et âme, ou plutôt piste et blagues. Ensuite on a perdu les shownotes. Puis le live. Puis le casque d’Audrey, et son micro dans la foulée. On a bien failli perdre le mix aussi. Mais bravant tous les obstacles, nous sommes quand même parvenus à faire l’épisode news de décembre.
Enregistré le 11 décembre 2020
Téléchargement de l’épisode LesCastCodeurs-Episode–244.mp3
NewsOn a un nouveau site web. Merci Marc Wrobel !
LangagesRoman Elizarov devient le nouveau lead du projetAdoptOpenJDK accueille Dragonwell
LibrairiesLe livre Vert.x in Action de Julien Ponge est sorti
Sortie de Vert.x 4
Skija - librairie graphique pour la JVM
Nashorn devient un projet indépendant
InfrastructureDocker Desktop pour Mac vers le support de Apple M1
Docker déprécié comme moteur de container dans Kubernetes * Don’t panic * Docker et Mirandis s’allient pour supporter Docker Shim dans un projet indépendant de Kubernetes
CloudAWS fait tomber une grosse partie d’internet Le postmortem d’AWS plus intéressant
Web & FrontOutillageMéthodologiesSécuritéEst ce que Apple enregistre toutes les applications que vous executez ?
Loi, société et organisationLes 9 phases d’un contributeur open source
Il ne faut plus dire “digital” mais “numérique”
Outils de l’épisode Rubrique débutantConférences Web Stories le 5/2 - Edition en ligne https://webstoriesconf.com/ Le Devfest Lille le 11/6 en présentiel https://devfest.gdglille.org/ Nous contacterSoutenez 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/
Mon, 14 Dec 2020 - 1h 13min - 244 - LCC 243 - Interview SRE avec Nicolas Helleringer et Maxime Brugidou - partie 1
Nicolas et Maxime de Critéo partagent avec Emmanuel leur expérience de mise en place d’une organisation SRE (Site Reliability Engineering).
Enregistré le 12 novembre 2020
Téléchargement de l’épisode LesCastCodeurs-Episode–243.mp3
Interview Ta vie, ton oeuvreTwotter Nicolas Twitter Maxime Criteo Labs
SRE en 2 phrasesSite Reliability Engineering C’est une façon de monter un salaire de sysadmin ?
PourquoiOps et dev, pourquoi “merger” ? DevOps avec un sysadmin dans l’équipe vs SRE Cela a du sens de le faire sur un “petit projet” ou uniquement si on gère 300k machines ?
SRE au quotidienJournée type
Dashboard
On code en quoi?
Pager (pendant les horaires travails vs dehors) Les weekends
Taille SRE pour pour du 24/7
Combien de fois est-on appelé par nuit ? Prod fallback
Le development
Concepts intéressants50% eng
SLO SLI SLA La difficulté de la valeur initiale Perf passées vs calcul théorique
Error budget Blast radius Burn rate
Pré conclusionC’est la fin de la partie 1 de cette interview
Nous contacterFaire 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
Fri, 04 Dec 2020 - 1h 02min - 243 - LCC 242 - Les Applets, 20 ans trop tôt
Guillaume n’était pas présent dans cet épisode, mais rassurez vous Emmanuel assure la permanence des blagues et accompagné d’Antonio et d’Audrey il commente les actus du mois de novembre : ça discute de Quarkus, Spring Boot, Gradle, Reactive Programming, Docker, sécurité et bien sûr, loi, société et organisation.
Enregistré le 13 novembre 2020
Téléchargement de l’épisode LesCastCodeurs-Episode–242.mp3
News LangagesGuide de migration à Scala 3 11 ans de Go
LibrairiesDeux livres gratuits sur Quarkus par AntonioReactor Europium GA (2020.0.0) avec Reactor-core 3.4.0 et Reactor-netty 1.0.0 InfrastructureLes bonnes pratiques de sécurité pour ses Dockerfiles Docker mets en pause l’application de sa nouvelle police de gestion des images
CloudCloud : alliance inédite entre l’américain Google et le français OVHAbandon de l’offre on-premise de atlassian (jira et confluence)
WebNetlix passe à Kotlin multiplatform pour les applications iOS et Android JetBrains sors Jetpack Compose for Desktop en M1, basé sur Jetpack
OutillageGradle 6.7 Cédric Champeau modernise le build de Apache Groovy, avec des conventions modernes de Gradle Alternatives aux outils en ligne de commande écrits en Rust
HardwareIl y a le bon câble USB et le mauvais câble USB
USB power meter/analyzer et USB load tester pour detecter les mauvais cables Des cables qui gardent les 5v d’autres qui descendent à 4,1v Méthodologies Comment débugger votre équipe SécuritéNouvelle CVE dans Chrome Faille de sécu sur les workflow GitHub GitHub oublié de renouveler son certificat. Oops Let’s Encrypt devient grand
FunComics sur les fonctions en bash par Julia Evans
Loi, société et organisationMobilizon l’alternative à Facebook proposée par Framasoft Loi Sécurité Globale : Surveillance généralisée des manifestations
L’alerte de la défenseure des droits Tribune : “L’article 24 de la future loi ʻsécurité globale’ menace la liberté d’informer”Identité numérique et reconnaissance faciale : le Conseil d’Etat a rendu son verdict
Outils de l’épisodeCrowdcast de Youri sur ses podcasts préférés
Message A Carractere Informatique Electro Monkeys If This Then Dev Tech Rocks Podcasts No Limit Secu La Méthode Scinetifique C’est Plus Que De La SF ConférencesCodeurs En Seine 2020 - Edition en ligne
En novembre, les mardis à 19h et les jeudis à 21h 45 minutes de conférences + environ 15 minutes de questions En ligne sur Twitch + rediffusion YoutubeWeb Stories le 5/2 en ligne https://webstoriesconf.com/ Le Devfest Lille le 11/6 en présentiel https://devfest.gdglille.org/
Nous contacterSoutenez 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/
Tue, 17 Nov 2020 - 1h 43min - 242 - LCC 241 - Interview Cloud IDE avec Sun Tan et Marc Dumais
Marc Dumais et Sun Tan discutent des Cloud IDEs autour du micro. En particulier de Eclipse Che et de Eclipse Theia.
Enregistré le 30 octobre 2020
Téléchargement de l’épisode LesCastCodeurs-Episode–241.mp3
Interview Ta vie ton oeuvreTwitter de Sun @__sunix_ Le CFP young blood VIII du ParisJUG
Eclipse Theia en 2 minutesEclipse Che en 2 minutesl’écosystème et la concurrenceBeaucoup de rachats d’IDEs dans le cloud :
GitHub Codespaces Cloud9Le cloud IDE au quotidienJ’ai pris mon café, maintenant je fais quoi? Chrome ou Firefox? Comment je sync avec mon repo Git Signer avec la clé GPG (sur le serveur?) Je veux installer une extension je fais comment
Je partage du code avec quelqu’un, il se passe quoi Je peux partager le même workspace?
Vous utilisez des workspaces différents comment?
Parler de devfile
Comment j’installe Che ? docker local? kube
Experience Theia plugin
La doc pour installer Che dans GCP
Les types de flots de développement que cela ouvreVs un IDE local
Je peux avoir un IDE local et les avantages de l’IDE du cloud?
Sous le capotComment ça s’écrit la partie interface IDE Reactivité Latence Desktop vs cloud Thea
Eclipse Theia Vient de quel besoin separé d’éclipse classique? Qui utilise Theia ?
ArchitectureIl y a quoi derrière mon navigateur:
Che server Che workspace Theia VS code extensions Debug server Kube “Tooling services” https://www.eclipse.org/che/technology/Il reste quelque chose de l’eXo Cloud IDE ?
VSCode extensionsComment ça fonctionne Protocole interaction
CommunautéQuel est l’écosystème
Essayez Gitpod en ouvrant le project Eclipse Theia. Requiert un compte GitHub et un browser web moderne https://gitpod.io/#https://github.com/eclipse-theia/theia
Exemple d’utilisation de Gitpod pour générer une version à jour des statistiques de contribution au projet: https://gitpod.io/#https://github.com/marcdumais-work/gitstats
Twitter: @eclipse_che et #Chejoy Pour tester Che: https://che.openshift.io/
Nous contacterFaire 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
Mon, 02 Nov 2020 - 1h 26min - 241 - LCC 240 - Fuseaux horaires : la fontaine à bogues
Cet épisode consacre Java le langage et sa version 15 en particulier. On discute aussi l’impact des mémoires fautives sur la JVM, le réactif, les frameworks backends et bien d’autres choses. Et nous avons deux crowdcasts! 🕺
Enregistré le 13 octobre 2020
Téléchargement de l’épisode LesCastCodeurs-Episode–240.mp3
News LangagesJava 15 (plus de détails par Remi Forax ).
unicode 13, hidden classes (non-discoverable implementation details of the framework eg classes générées au runtime, déchargement aggressif), TreeMap amelioration de perf, check de revocation pour le jar signer, sha–3 support, nashorn enlevé, les lock biaisés sont désactivés/dépréciés, ZGC prêt pour la prod, amélioration d’ergo de G1 (on en avait parlé),Azul couvre JDK 15, avec un focus sur les Sealed classes, les Records, les Hidden classes.
Des bugs de timezone qui vous pouvez rencontrer dans vos applications.
Faire tourner son code sous une vieille version de JRE/JDK qui n’est pas à jour au niveau des données de TimeZone. Le serveur est peut-être dans votre TimeZone à vous, ou bien sur UTC, alors attention ! En stockant des dates en bases de données, il faut aussi prendre en compte la TimeZone configurée dans la DB ! Parfois aussi côté affichage, on peut oublier de parser les dates avec les infos de TimeZone, ou côté client la TimeZone ou l’heure d’été peut être mal configurée…Enregistrements d’Oracle Developer Live Java
https://inside.java/2020/09/17/devlive-java-lang-futures/ https://inside.java/2020/09/17/devlive-keynote/Les crashs de JVM sont souvent des erreurs mémoire. Pourquoi ?
La JVM on lui donne souvent beaucoup de mémoire. Les métadonnées utilisées par le GC sont importantes. Ces métadonnées sont accédées entièrement lors d’un full GC.Romain Manni-Bucau explique comment configurer Java Util Logging avec un formateur sur une ligne, pour que ce soit plus sympa dans un contexte prod Docker
Un rapport sur l’écosystème Groovy :
l’outil le plus utilisé : Gradle (pour le build). librairie la plus populaire : Spock (pour les tests). framework le plus populaire : Grails. beaucoup d’utilisation de Groovy comme langage de script, d’automatisation, mais aussi comme langage général principal et comme Domain-Specific Language. LibrairiesIsolated tests. New Enabled/DisabledIf execution conditions. Custom disabled reasons. New MethodOrderer.DisplayName. New DisplayNameGenerator.Simple. Java Flight Recorder support. Improved EngineTestKit.nouveau plugin Gradle qui facilite le build d’image natives Graal et de containers Docker en couches. support des fonctions Oracle Cloud. support amélioré de Google Cloud Platform, avec le logging structuré de Stackdriver, et le support natif du messaging avec Google Cloud Pub/Sub. Plus d’infos dans la doc dans la section des nouveautés : https://docs.micronaut.io/2.1.0/guide/index.html#whatsNewSortie de Quarkus 1.8 (et on n’avait pas annoncé 1.7)
multiple persistence unit Micrometer intégration avec jbang GraalVM 20.2 MongoDB pour Kotlin Elasticsearch REST client (1.7) Client vert.x Redis (1.7) Hibernate Envers (1.7) DB2 (1.7) InfrastructureNVidia rachète ARM à SoftBank pou 40Md$, ça va faire un sacré concurrent à Intel et AMD. (https://www.anandtech.com/show/16080/nvidia-to-acquire-arm-for-40-billion)
Retour d’experience sur l’utilisation de Kubernetes. Java et ses problèmes (spécialement 8, toujours grosse conso mémoire), mettre à jour Kubernetes (ils créent des nouveaux clusters), corriger un index au démarrage vs liveness probe, exposer des IPs externes et la limite de connections parallèles.
Project Natick: Datacenter mis sous l’eau en 2018 par Microsoft.
864 servers, 27.6 petabytes de stockage, 117 pieds au fond de l’ocean (Ecosse). Aux dires de Microsoft, c’est un succès.Google est neutre en carbone, et a même racheté sa dette carbone depuis sa création.
(1) We were the first major company to become carbon neutral in 2007. → Google a été “neutre” par compensation, chaque année depuis 2007, notamment en achetant autant d’énergie renouvelable que d’énergie carbonée. (2) We were the first major company to match our energy use with 100 percent renewable energy in 2017… We’re eliminating our entire carbon legacy, effective today. → Depuis 2017, Google a en plus acheté autant d’énergie renouvelable l’année N que d’énergie carbonée consommée l’année N+1. En Septembre 2020, Google a fini fini par être totalement “neutre” en ayant consommé autant d’énergie renouvelable que d’énergie carbonée depuis la création de Google. (3) We are the first major company to make a commitment to operate on 24/7 carbon-free energy in all our data centers and campuses worldwide… by 2030. → Dans 10 ans, Google espère ne plus consommer d’énergie carbonée du tout. DataCrunchyDB offre un PostgresSQL as a service qui est cross clouds.
OutillageGithub sort la version 1.0 de son outil en ligne de commande pour gérer ses projets Github.
ArchitectureUn vieux truc, le memo de Bezos sur la service oriented company. Jonas Boner annonce les 8 principes réactifs.
I. Stay Responsive : Always respond in a timely manner. II. Accept Uncertainty : Build reliability despite unreliable foundations. III. Embrace Failure : Expect things to go wrong and design for resilience. IV. Assert Autonomy : Design components that act independently and interact collaboratively. V. Tailor Consistency : Individualize consistency per component to balance availability and performance. VI. Decouple Time : Process asynchronously to avoid coordination and waiting. VII. Decouple Space : Create flexibility by embracing the network. VIII. Handle Dynamics : Continuously adapt to varying demand and resources. MéthodologiesLes recommendations de Red Hat aux Red Hatters sur la contribution à l’Open Source
SécuritéJenkins vient avec pleins de fix de sécurité comme tous les mois (voire 2 fois par mois).
Loi, société et organisationEst-ce que le Hacktoberfest de Digital Ocean fait mal à l’Open Source ?
plein de gens contribuent des commits à deux balles, juste pour gagner un t-shirt, et c’est les mainteneurs de projets open source qui sont obligés de se taper tous les pull requests comme des messages de spam Update de DigitalOcean to reduce spam Comment une personne (un YouTuber avec 600K followers a pourri le système)Bye bye Stop Covid qui va devenir Alerte Covid. L’application ne règle en rien les problèmes en terme d’efficacité et de vie privée déjà décriés dans le passé mais veut rajouter des usages en ciblant notamment l’utilisation dans les bars et restaurants et en y diminuant la durée d’exposition utilisée comme indicateur de contact. Elle devrait aussi pouvoir vous notifier d’alerte locale (le gouvernement dans votre poche).
Outils de l’épisodeUn écran 49" 32:9 https://www.samsung.com/us/computing/monitors/gaming/49-crg9-dual-qhd-curved-qled-gaming-monitor-lc49rg90ssnxza/
Rubrique débutantSi vous débutez en Docker, il est important de comprendre les différences entre les instructions RUN, CMD, et ENTRYPOINT de vos Dockerfiles.
RUN est exécuté quand on build l’image. CMD est l’instruction par défaut lancée au démarrage de votre image. ENTRYPOINT permet plus de flexibilité que CMD en supportant les paramètres en entrée. ConférencesCodeurs En Seine 2020 - Edition en ligne
En novembre, les mardis à 19h et les jeudis à 21h 45 minutes de conférences + environ 15 minutes de questions En ligne sur Twitch + rediffusion YoutubeCrowdcast de Emmanuel Demey sur les conférences à venir dans le Nord.
Cloud Nord le 19/10 en remote : https://cloudnord.fr/ Web Stories le 5/2 en présentiel (pour le moment) https://webstoriesconf.com/ Le Devfest Lille le 11/6 en présentiel https://devfest.gdglille.org/ Nous contacterSoutenez 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/
Sat, 17 Oct 2020 - 1h 27min - 240 - LCC 239 - Interview Rust avec François Teychene, Sylvain Wallez et Geoffroy Couprie
Dans cet épisode, Audrey a fait appel à l’aide d’un ami, François Teychéné pour interview Sylvain Wallez et Geoffroy Couprie sur le langage le plus populaire de ces dernières années : Rust.
Enregistré le 2 octobre 2020
Téléchargement de l’épisode LesCastCodeurs-Episode–239.mp3
Interview Ta vie, ton oeuvreSylvain Wallez - Twitter - LinkedIn : Développeur passionné pratiquant Java depuis la fin du 20ème siècle, les langages m’intéressent, surtout quand ils sont fortement typés ! Je suis tombé dans Rust lors de l’écriture d’un blog post sur Go. Cofondateur du JUG et du Rust meetup toulousains, membre de la Fondation Apache depuis plus de 15 ans, j’ai été cofondateur d’une boîte d’expertise Java, CTO de startup, freelance et j’ai monté le bureau toulousain d’OVH. Je travaille actuellement chez Elastic où après 4 ans dans l’équipe Cloud je viens de bouger vers l’équipe “Clients” qui développe les SDK où j’ai en charge les SDK Java et Rust.
Geoffroy Couprie : Geoffroy Couprie est Consultant Indépendant en développement logiciel. Basé à Nantes, il se passionne pour l’open source, les problématiques de performance et la sécurité.
Rust en 2 phrases Le langageQuelles sont les fonctionnalités clés du langage ? Quelles sont les inspirations de ce langage ? Quel différenciateur vs reste ? Quels sont les utilisateurs type ? Pour quel use cases ?
Evolution du languageAsync/await
Maturité du langage / des librairies
Sous le capotComment Rust gère la mémoire sans garbage collection ? LLVM binding Support des hardwares ? (rasp, etc etc …)
Plateformes supportées ApprentissageApprendre Rust :
Programming Rust The Rust Book (aussi en ligne) Rust by Example En prod chez quiQui utilise Rust en prod ?
La page “users” sur le site de Rust Les offres d’emploi chez Apple AWS Firecracker Google Fuchsia Microsoft Sentry L’écosystèmeGestion des dépendances, outil de build, test etc (aka cargo c’est la vie)
Tools utils:
le linter clippy cargo-license cargo-denyLibrairies de référence :
*le “maven central” crates.io Serde (le Jackson de Rust) Tokio (runtime asynchrone) StructOpt (lignes de commande)Frameworks pour écrire des webapps en Rust :
Actix pour le server Yew pour le front-end AreWeWebYet? Communauté et futur Nous contacterFaire 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
Mon, 05 Oct 2020 - 1h 10min - 239 - LCC 238 - Registries, registries, registries !
Antonio, Guillaume et Emmanuel discutent de registries et de registries et de registries. Et sinon TypeScript 4, Kotlin 1.4, Spring One, comment gérer des équipes, lire du code, des APIs. Bref pleins de choses intéressantes :)
Enregistré le 10 septembre 2020
Téléchargement de l’épisode LesCastCodeurs-Episode–238.mp3
News Langagesjdk/jdk repository transition to Git, GitHub and Skara is done
Ca rale contre G1 en default dans Java 11
throughput degradés RubyKon Benchmark 2020: CRuby vs JRuby vs TruffleRuby Rubykon is Go AI written in Ruby using Monte Carlo Tree Search Ce n’est pas un benchmark representatif de la plupart des applis (car très peu d’IO) mais beaucoup de CPU Utilise beaucoup de tableaux, peu de collection, pas de string… TruffleRuby still has the best “warm” performanceLes blocs de texte de java 15 qui sort ce mois ci
Simplifier l’écriture des chaines de caractères sur plusieurs lignes JEP 378: Text Blocks Délimiteur trois guillemet ( """ )Partial semantic mode : Temps de démarrage plus rapides du projet par analyse partielle (vs toutes les dépendances) (dans l’IDE?) Variadic tuple type (tuple de taille définie et de types définis et hétérogènes) Dont rest élément où l’on veut. Tuple labels comme des named parementers Class property inference from constructor Catch as unknown au lieu de any (downcastong) En fait le compilateur fournit les outils à l’IDEAmélioration de la qualité. Stabilité et performances dans l’IDE Corrige notamment des lenteurs ou blocages dans l’IDE Debugger de Coroutines Nouveau compilateur pour centraliser le code entre les différentes plateformes Sam pour les interfaces kotlin (Single Abstract Method) Kotlin 1.4.0 comes with a variety of different language features and improvements. They include: SAM conversions for Kotlin interfaces Mixing named and positional arguments Trailing comma Callable reference improvements break and continue inside when included in loops Explicit API mode for library authors kotlin.serialisation en 1.0 RC LibrairiesLambda builder Spring Boot 2.3.3 junit 5 route template (parameterized routes) faster refleciton free startup new components InfrastructureDocker limite le nombre d’image par 6 heures
The second policy update is regarding limits on the number of image pulls. A pull is defined as up to two GET requests to the registry URL path ‘/v2//manifests/’. Again, starting November 1, 2020: Anonymous users will have an upper limit of 100 image pulls in a six hour period Accounts authenticated with a DockerID will have an upper limit of 200 image pulls in a six hour period Pro and Team subscriptions do not have limits la question c’est image == layer donc 100 peut arriver vite pendant un labGithub son propre container registry
suite de GitHub packages prix en beta gratuite pour l’instantGitLab réduit les minutes de runners pour les comptes gratuits
“We are updating the CI/CD minutes limit in the Free tier to 400 minutes per group per month.” le marketing du gratuit / freemium en perte de vitesse pour les developpeurs?Packages et registries en gratuit dans GitLab
apres les registries de containers, ils ajoutent: Maven, npm, PyPi, NuGet, Composer, Conan et Go CloudGoogle cloud function supporte Java 11 depuis mi août
Environnement d’exécution Java 11Hosting, monitoring d’app spring boot “Automatically wire your apps with the Spring service runtime. Once deployed you can easily monitor application performance, fix errors, and rapidly improve applications” mais ca reste un peu marketing et pas détaillé WebKotlin Multiplateforme mobile en alpha
Kotlin Multiplatform Mobile (KMM) est un SDK cross plateforme (iOS et Android) Intégration complète dans Android Studio pour le dev Refonte des compilos pour avoir une base commune entre le Kotlin / Kotlin JS et Kotlin Native partager la business logic et laisser la UI et anvigation en natif iOS ou Android. OutillageComment fonctionne Time-based One Time Passwords
un secret partage un compteur basé sur (t-t0)/tx sha1 le tout tronqué pour avoir 6 chiffresGitPod (un concurrent à Eclipse Che à priori) devient open source
MéthodologiesSi tu deprecies, je te fais caca dessus
lecture interessante entre la balance entre la dépréciation, retirer le support vs garder les choses pour toujours Google et son monorepo et son clean code amène a des dépréciations plus élevées que l’industrie “Backwards compatibility keeps systems alive and relevant for decades” emacs, android, java deprecition mais garder à vie vs android qui a un code de merde et pleins de if mais qui est backward compatible les developpeurs s’en vont quand la compatibilité casse [emmanuel] mais des projets cassent des choses tout le temps sans que le utilisateurs ne soient mecontents - par exemple Spring Boot petites depreciations, tooling, documentation pas de big bang qui fracture ta plateforme et les utilisteurs ne migrent qu’au dernier moment exacerbé dans le monde des servicesPrincipes pour un meilleur design
Améliorations incrémentales: peut pas faire parfait directement Reutiliser l’existant: il y a des raisons aux solutions existantes? Vous atteignez la limite du design précédent? Les cinq pourquoi pour trouver la cause et possiblement trouver une autre solution meilleure (et peut etre plus simple) KISS : la perfection est quand il n’y a plus rien a enlever, pas ratjouer (Antoine de St Exupéry) Parfait est l’ennemie du bon (e.g principe du 80% 20% - en temps) Reculer le moment de la complexité pas un article révolutionaire mais un bon rappel. Prenez un café et lisez le douvement et réflechissez à chaque sectionOn n’écrit pas du code illisible par pur plaisir, en général le code / les pratiques / le métier / l’équipe a beaucoup évolué dans le temps Le code lisible c’est subjectif, et il ne sert à rien de blamer les précédents auteurs Donc plutôt que de se plaindre -> apprendre à lire du codeScaler l’equipe d’engineering avec la propriété distribuée
equipe fonctionne quand elle a une mission comprise et auquel elle croit, quand elle gagne (alignée avec les besoins de l’entreprise, mesure le succes, reconnu pour ce succès), quand les individus progressent entre 5 et 10 est la limite a la quelle une equipe part en chaos sans organisation centralisation: probleme planning, stand up etc decentralisation sans plan: conflits, ralenti, desaligne => chaos embaucher les type A (NDLR risque mono culture) ; embauche que si surcahrgé et montre resultats top (donc une equipe qui montre qu’elle fonctionne deja). sinon risque equipe disfonctionelle qui grossi (modifié) La delegation vient avec la gouvernance pour appliquer les règles globales de l’équipe (code qualite, dette technique etc) il encourage d’investir dans la core ip de l’appli vs rajouter des fonctionalités. Toujours sur quelle est la valeur The person doing the work owns the execution, even though they may not own the direction. Rather than top down execution driven by meetings, we rely on bottom up execution based on top down direction and review. Engineering Manager vs TEch Lead - As the team scales through, it’s important that someone is responsible for organizing the team, process, and ensuring people are happy, productive, and growing, and someone else is responsible for the technical direction and systems of responsibility like code reviews, deploys, and so on. Scrum, agile poker etc est trop centralisé dans une approche avec un ratio senoir / junior coherant what I consider to be a more modern and decentralized approach, Engineering Managers work with engineers, who take ownership of chunks of work, decompose them into tasks, estimate, and get the team and manager to review async or in a planning meeting. Everything is tied to the team KPIs, which are tied to the company KPIs, but we don’t need any fancy formats like user stories, etc. Engineers are even more empowered to think about customers, product, and business value in this model — they are looking at how they can impact team KPIs, and empowered to push managers for the work they think is most impactful on the KPIs. The tech lead owns the technical queue — tech debt, testing issues, infrastructure, etc. The Approval Matrix with Round Robin Pattern - utile sur les choses trop concentrées ou sur les sujets que personne ne veut training process pour onboarder round robin pour forcer le changment et eviter les code review overloards et autres bug fixers Pour taches de plus de 1 semaine, design document d’une page revue (sign off component lead) sanity checking, important issues and standards. Not micro management SécuritéDocker desktop ajoute la commande scan analyser les problèmes de secu via Snyk
scan des images locales en CLI s’appuie sur Snyk avec une partie gratuite via compte docker , sinon prix snyk continuously find and fix vulnerabilities in open source libraries and containers marche pas pour les images alpineDéjà présent dans SonarCloud 2 Sera inclue dans SonarQube 8.5 Sonar rachète de RIPS en mai 2020GitHub qui se lance dans le code scann
GitHub, all your base are belong to us Oui d’où mon tweet sur le SPOF. Sachant que plus ils en font, moins c’est stable. ils mettes les true positive “sûr” dans l’analyse de la PR Loi, société et organisationApple également dans le viseur de Facebook pour sa taxe de 30%
l’app store ne permet pas de dire que les prix incus la marge d’apple de 30% debat sur des cas specifiques: genre argent pour des gens qui organisent des evenements (ou pire une charité) mais c’est l’argument “penser aux petits enfants”. Facebook, j’imagine a des plans de se faire de l’argent sur certaines de ces ventes.La CNIL publie son livre blanc sur les assistants vocaux
84 pages, articles, interviews.. Super pour aider “les personnes en situation de dépendance, qu’elles soient âgées ou handicapées” Mais pose des questions “du point de vue de la protection des données” “fortement ancrée dans notre intimité” "de nombreuses informations sur l’émetteur d’un message oral. Âge, genre, condition physique, accent, origine géographique et socio-culturelle, éducation, état de santé ou émotionnel, mais également identité" “captent nos habitudes de vie pour enrichir un profil” “Ce livre blanc propose quelques pistes de réflexion sur l’usage des données par les assistants vocaux” Quels usages: DEMANDE DE LA MÉTÉO / RECHERCHER UNE INFORMATION / ÉCOUTER DE LA MUSIQUE Mythes et réalités des assistants vocaux (vrai/faux) : écoutent en permanence / utilisent nos données pour mieux nous profiler / interface très prisée des enfantsL’affaire Snowden a déjà 7 ans La cour de justice américaine déclare illégale les écoutes effecutée par la NSA La collecte de millions de coup de fil “may have been unconstitutional” Tweet de Snowden I never imagined that I would live to see our courts condemn the NSA’s activities Outils de l’épisodeRoulettes sous ma chaise
ConférencesCodeurs En Seine 2020 - Edition en ligne - CFP jusqu’au 15 septembre
En novembre, les mardis à 19h et les jeudis à 21h 45 minutes de conférences + environ 15 minutes de questions En ligne sur Twitch + rediffusion YoutubeLa prochaine édition du Fosdem se fera en ligne
6 e 7 février 2021 CFP bientot annoncéReporté au jeudi 14 et vendredi 15 octobre 202114 et 15 septembre 2020 Physiquement Porte de Versailles à Paris Ou depuis votre ordinateur ou smartphone Nous contacterSoutenez 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/
Tue, 15 Sep 2020 - 1h 42min - 238 - LCC 237 - Tu as fais ta demande de hissage ?
Arnaud et Emmanuel vous commentent l’actualité au cœur de l’été. Do Go, du sansserveur, du arm, de la feuille de route, beaucoup de GitHub et bien sûr sans oublier notre rubrique impact du code sur la société.
Enregistré le 14 août 2020
Téléchargement de l’épisode LesCastCodeurs-Episode–237.mp3
News LangagesTip pour récupérer facilement le nom de fichier à partir d’un chemin en Java11
Meilleure allocation des petits objets en cas de grands nombre de cœurs. macOS < 1.12 et app 32 bits dépréciées. Derniers tours de roue pour ton pentium 4 Amélioration du linker en mémoire et cpu sur certaines archi (modifié) Possibilité d.embarquer la time zone db. (Quid des évolutions, à recompiler) C’est marrant la dépréciation « aggressive » de certaines architecturesGolang, un draft pour gérer nativement le packaging de resources statiques
Redmonk sort son nouveau classement, Java #3, Kotlin #19 (un des plus grosses croissances en 5 ans)
LibrairiesC’est la fin de Thorntail, né Wildfly Swarm
WildFly ajoute le support de MicroProfile support uberjar dans WildFly arrive Quarkus s’est appuyé sur les expériences et les développeurs de ThorntailComparatif Spring et Micronaut - update ServerLess - Créer une recherche pour son blog (sur GitHub avec Hugo) avec Quarkus, GraalVM et AWS Lambda
search pour un site statique crée l’index à la compilation reveille la lambda quand le champ de recherche est selectionné GraalVM retour sur mettre en place une lambda en evitant de se faire déplummer mettre les bons privileges dans AWS lamnbda est compliqué plus de CPU si plus de RAM InfrastructureArm à vendre, Apple pas intéressé mais NVidia peut-être
Cloud6 mois de limite de retentions ur le plan gratuit si pas de push ni de pull dans cette période PatreonAider les cast codeurs sur PAtreon
WebVue 3 arrive en release candidate
plus performant, completement réécrit tres similaire en terme d’APIs de surface doc revisitée Composition API (a la react hooks)50% de l’engineering sur la back log. Et ensuite 20%. Vous faites plus ou moins en général sur vos projets OSS? Datarocksdb le moteur LSM de persistence de MySQL. Pourquoi et quand et quand l’utiliser…
Usage >> ram, write mostly, space concern Log-structured Merge-tree OutillageGit 2.28 Jenkins Controller/Agent pour remplacer Master/Slave Github stocke une archive de votre code Open Source dans une ancienne mine, dans le cercle arctique, au Svalbard
21TB sur 186 films numeriques photosensibles 8.8 millions de pixels par frame 1000 ans dans le permafrost d’une ancienne mineCréer sa page profile dans GitHub (voir aussi ce lien ) Github publie une description au format OpenAPI 3 de son API developer Une roadmap publique pour GitHub VSCode est-il réellement open-source?
telemetrie extensions come liveshare et remote ne sont pas ouvertes marketplace proprio aussi SécuritéTémoignage - J’ai testé pour vous : se faire usurper son identité
demande de créance demander le contrat signé pour porter plainte aller a la Banque De France pour voir si vous etes fiché et faire les démarches d’ururpation d’identité acheter un broyeur a papierLoi, société et organisationFrances Allen, pionnière de l’informatique, est morte
Première femme fellow IBM Optimisation compilation Parallel computing du project blue gene (95) Turing award https://en.wikipedia.org/wiki/Frances_AllenMozilla licencie 1/4 de son personnel (250 collaborateurs)
Pas bien compris leur nouveau focus. Certains disent que les Dev tools vont être réduits. le message privé Firefox on users. Focus on new products and time to market. Ça sent que Mozilla était sclérosée et qu’il fallait un changement. Vu par le gars qui fait làreorg.La COO de Pinterest licenciée car elle parlait de la discrimination rampante.
Décisions par un sous groupe (conversation isolées). Refusant les contre points. Et donc avec infos parcellaires. “the only way we get things done here is hiding things.” Tout était secret et donc manque de transparence e Découvre que sa compensation d’exécutif était différente des autres - on lui avait dit que tous étaient au même modèle Elle le fait corriger et se fait exclude des board meetings Découvres des problèmes sur le produit et les reporte : et devient l.ennemie du head of product et CEO Exclue des meetings de décisions so much for blameless retrospective Bro culture et même bubble But too few leaders ask themselves how they can proactively design their organizations to be truly equitable and make a practice of confronting bias, prejudice, and bullying. They do not put checks and balances in place, so discrimination and harassment are hard to recognize or report. Instead, they seek control. They make decisions behind closed doors, consciously and unconsciously excluding those who do not look, sound, or behave like them. Discuss the steps to improve in the endLa CNIL tape publiquement sur les doigts de StopCovid.
3 controles organisés en juin initialement remontait tous les contacts d’une utilisateur et pas seulement ceux susceptibles d’avoir été exposé respect de l’essentiel de la RGPD quelques trucs qui restent comme usage de Google re-captcha, anti DDOS etcLes GAFA auditionnés par le congrès américain Apple et Epic Games - Le bras de fer de retour Nineteen Eighty-Fortnite Trump veut bannir TikTok des états-unis - et plus si possible - sauf …
Outils de l’épisodeRubrique débutantBitoduc.fr : termes informatiques en français
ConférencesJUG Summer Camp le 11 septembre 2020 Volcamp.io les 15 et 16 octobre 2020
Nous contacterSoutenez 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/
Fri, 14 Aug 2020 - 1h 51min - 237 - LCC 236 - Azimov et le cycle fondation
Dans cet épisode, Vincent, Antonio et Guillaume discutent du décès de l’architecte de Java EE, d’AdoptOpenJDK, de Micronaut, de Istio qui bougent dans des fondations, du papa de Micronaut qui va chez Oracle et bien d’autres sujets encore.
Enregistré le 10 juillet 2020
Téléchargement de l’épisode LesCastCodeurs-Episode–236.mp3
NewsBill Shannon l’architecte de Java EE est mort. Il a été le gardien de Java EE aussi longtemps que j’ai connu l’api. Tu aimes ou pas mais tous les backends Java utilisent une ou plusieurs APIs de Java EE et la compatibilité et cohérence de la plateforme lui doit beaucoup. Triste.
LangagesLes classes sealed arrivent dans Java 15 en septembre, ce sont des classes ou interfaces qui restreignent qui peut les étendre ou implémenter. Un peu comme les enum les classes sealed représentent un nombre limité de valeurs possibles, ce qui permet de coder en terme d’exhaustivité (si c’est pas A ou B, alors c’est C, parce qu’il y a pas d’autres alternatives). Avec ça, on peut faire des types sommes et produits, des structures de données algébriques, comme dans les langages fonctionnels. Le développeurs qui les utilise est donc en contrôle de la hiérarchie de ces interfaces, et contrôler les implémentations autorisées. Les classes sealed fonctionnent avec les records et le pattern matching.AdoptOpenJDK rejoint la fondation Eclipse
Avec son adoption massive depuis 2017, le projet devient trop gros pour rester sous la gouvernance du LJC La migration sous la fondation eclipse permets de conserver la position de neutralité Le projet est renommé Eclipse Adoptium La structure de gouvernance est séparée en 2 : le Project Management Committee pour les décisions techniques et le Working Group pour les questions financières, légales, marketing etc…Les opérateurs que Groovy a amené aux langagues modernes This includes Groovy’s dangling closure,Groovy builders, null-safe navigation, the Elvis operator, ranges, the spaceship operator, and flow typing. Formost languages, we don’t know to what extent Groovy played a part in their choices Les choix fort dynamiques Le passage par la JSRMandrel GraalVM: une nouvelle distribution OpenJDK de RedHat spécifique pour GraalVM, ce qui montre l’implication de RedHat sur GraalVM et l’ouverture d’Oracle sur des collaborations sur ce projet.
On entends parler souvent du livre Clean Code de Uncle Bob Martin, c’est souvent une référence dans les livres d’informatique à lire. Cet article critique ce livre, pour son inconsistence, ses conseils que l’auteur n’applique même pas dans ses propres exemples de code.
Il parait que les tests unitaires c’est surfait.
RuntimeMicronaut Launch : permet de générer des apps Micronaut en configurant modules optionnels, langage, outil de build JDK 14 et Groovy 3 supportés Améliorations de performance de 20% Support des plateformes serverless : Google Cloud Functions, Microsoft Azure Functions, Amazon Lambda Nouveau plugin Maven Possibilité de faire tourner ses applis Micronaut dans un conteneur de Servlet Meilleur support de GraalVM, avec automatisation de la configuration de ressources statiques, de la configuration de drivers JDBC, d’Hibernate, de Flyway Utilisation de Gradle 6.5 qui permet de faire de la compilation incrémentale, même avec les annotation processors Support HTTP/2Object Computing (OCI) crée une fondation pour héberger Micronaut. La société garde une place majoritaire mais inclue des technical advisory boards dont des membres de ThoughtWorks, mais aussi… notre Guillaume Laforge.
Support des archives AppCDS pour améliorer le démarrage en mode JVM Support de Google Cloud Functions (en plus deLambda Azure) Client IBM DB2 réactif Client Apache Cassandra Support de WebJars Locator Support de l’annotation Spring @Scheduled Amélioration d’outils pour le débuggage des applications Upgrade à GraalVM 20.1.0CrowdCast fast Jar Quarkus par Emmanuel
CloudAWS going after nexus/artifactory. Nouveau concurrent / nouvel entrant
Nouvelle entité open source annoncée par Google : Open Usage Commons, pour gérer les marques et logos open source
Open Usage Commons qui accueille les marques de Angular, Gerrit et Istio
Mais IBM qui avait travaillé avec Google au lancement d’Istio et contribué depuis n’est pas très content. IBM aurait préféré une gouvernance encore plus ouverte que cela
WebBootstrap no longer depends on jQuery Dropped support for Internet Explorer CSS custom properties Alpha: breaking changes will continue to occur until our first beta Better documentation DataOracle annonce une version Community Edition de Coherence (in-memory data grid) open source, sous licence Universal Permissive License (supporté par l’OSI). Une version Enteprise continuera d’être proposée également.
OutillageSupport de AsciidoctorJ 2.x Alignement avec le plugin Gradle plugin et Antora Première version introduisant des changements cassants (arrêt du support de Java 7, et le nouveau backend par défaut est HTML 5 au lieu de DocBook)Une proposition de spécification du langage AsciiDoc a été soumise par l’équipe AsciiDoctor à la fondation Eclipse
ConférencesJNation est une conférence communautaire qui a lieu annuellement au Portugal. Suite au Covid ils ont décidé de ne pas annuler… mais de faire du remote (virtual conf). Ils viennent de mettre en ligne les 45 vidéos.
BDX.io annulée
Nous contacterSoutenez 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/
Fri, 17 Jul 2020 - 1h 18min - 236 - LCC 235 - Interview Micro Services avec @ygrenzinger et @khaledsouf
Dans cet épisode, Audrey et Antonio ont invité Yannick Grenzinger et Kahled Souf pour parler micro services : pour quelle équipe, quel projet, avec quels outils … ? Nos invités vous partagent leurs retours d’expérience et leurs conseils.
Enregistré le 3 juillet 2020
Téléchargement de l’épisode LesCastCodeurs-Episode–235.mp3
Interview Ta vie, ton oeuvreYannick Grenzinger: Jardinier logiciel depuis plus de 15 ans. Actuellement coach tech et flow, je suis passionné par l’artisanat logiciel, les langages, l’architecture de systèmes complexes et la livraison de valeur métier en continue. Je suis aussi co-organisateur de la conférence FlowCon et du meetup Paris Continuous Delivery, mais c’est plus dur avec des triplés :D
Khaled Souf est un Globe-trotter et développeur passionné. Il a vécu à Paris où il a travaillé pour des sociétés de conseil telles que Zenika et Arolla. il a participé à la communauté des software crafters à Paris et en Europe.Il a participe à des événements locaux, tels que les meetups Software Crafters Paris, Craft your skills, Coding Dojo. Il vit actuellement à Montréal au Canada et co-organise le Meetup Software Crafters Montréal et la conférence de SOCRATES Canada. Il aime parler de Domain Driven Design, d’architecture, d’artisanat du code, de Clean Code, des pratiques eXtreme Programming et DevOps. ksouf.com
Les micro services qu’est ce que c’est ? En théorieMonolithe / Macroservices / Microservices / Fonction ? Microservices vs SOA ?
Microservices, dans quel cas ? Monolithe à découper ou nouvelle app from scratch ? Patterns de migration ?
Comment on découpe ses services ? Est ce qu’il y a des méthodos qui aident ? (nombre de lignes de code, nombre de pizzas par équipe, DDD)
Une base de données unique pour tous les services ? Une par service ? Consistance des données ? Synchronisation des données entre bases ?
Pour quelles équipes ? (DevOps, DevSecOps …)
En pratiqueC’est quoi les reco techniques ? (frameworks Java ou autres, plateformes de déploiement, etc… )
Et dans le monde Java ? Qu’en est-il de la suite Netflix OSS (Eureka, Hystrix, Zuul, Ribbon) ?
Comment on déploie / scale / fait communiquer entre eux (bloquant, non bloquant, HTTP, broker, message) ?
On-premise, Cloud privée/public/hybride ?
Si tu fais pas du k8s tu as loupé ta vie ? Et si tu fais pas du Kafka tu as aussi loupé ta vie ?
Comment monitorer ?
Et côté front ?Micro frontend : comment et pourquoi ?
Le mot de la finPhénomène de mode ou les MS sont-ils là pour rester ? Quelles sont les évolution possibles des archi MS (vers les fonctions) ?
Les resources utilesLes livres de Sam Newman, surtout Building Microservices et ses talks
Le livre Microservices Patterns de Chris Richardson
Pour mieux appréhender la complexité de l’aventure et ses prérequis:
La rubrique microservices du site de Martin Fowler 11 raisons pour lesquelles vous allez échouer avec les microservices https://www.martinfowler.com/bliki/MicroservicePrerequisites.html Recommandations sur les microservices Pourquoi les micro services devraient vous faire plus peur Vous devez être aussi grand que ça pour passer d’un monolithe à un micro services et la conf associéePour les meilleures pratiques :
Le site de Chris Richardson Le site de Microsoft Le site d’IBMDDD et microservices:
DDD and Microservices: At Last, Some Boundaries! (vidéo) Strategic Microservice Patterns - Nick Tune (vidéo) Astuces pour faciliter le design de micro services avec l’event stormingOrchestration, chorégraphie et saga :
Orchestration vs chorégraphie Le pattern Saga pour implémenter les transactions business en microservices Using sagas to maintain data consistency in a microservice architecture - Chris Richardson(vidéo)Tests : 12 techniques pour tester les micro services
Microfrontend : L’article de Martin Fowler 6 patterns pour les micro frontend
Monitoring :
Le pourquoi et le comment monitorer des micro services Les challenges du monitoring de microservices dans les applications cloud nativeLes outils :
Spring qui réutilise les outils de Netflix puis Netflix qui utilise Spring Circuit breaker : Resilience4j remplace Hystrix (abandonné) Tracing : Open Tracing Zipkin et Sleuth Spring Cloud Nous contacterFaire 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
Wed, 08 Jul 2020 - 1h 28min - 235 - LCC 234 - EmmanuelBernard-As-A-Service, bientôt chez vous !
L’épisode news du mois de juin avec Arnaud, Guillaume et Audrey derrière le micro pour fêter les 25 ans de Java, parler de son futur, mais aussi de son écosystème avec Quarkus et GraalVM entre autre. Et avec bien sûr, une rubrique loi société et organisation toujours aussi dense !
Enregistré le 12 juin 2020
Téléchargement de l’épisode LesCastCodeurs-Episode–234.mp3
News LangagesLes 25 meilleurs app écrites en JavaLe JDK 15 en early access Mise à jour de la roadmap Java Client State of Loom Pourquoi utiliser Java Streams à la place des boucles ? JEP 386 - Java sur Alpine
LibrairiesQuarkus devient officiellement supporté par Red Hat comme runtime pour le développement cloud natifGraalVM Native Image Tips & Tricks Spring GraalVM Native 0.7.0JHipster release v6.9.0 Elastic 7.7.0 Wasmer JNI : une librairie java pour Web Assembly
Infrastructureles 10 erreurs les plus fréquentes avec Kubernetes Comprendre Kubernetes de manière visuelle
CloudJava 11 arrive dans Google Cloud Functions
WebSnowpack 2.0 Comment CommonJS rends vos bundles plus gros Deviens un ninja avec Vue.js
OutillageMéthodologiesDette technique, complexité & entropie du logiciel, série d’articles par Arnaud Lemaire
SécuritéZoom fait l’acquisition de Keybase et annonce son intention de développer la solution de chiffrement d’entreprise la plus utilisée au monde Un malware infecte les projets Netbeans
Loi, société et organisationLa Fondation Eclipse s’installe en Europe
Donald Trump rentre en guerre contre les réseaux sociaux
Le décret de Trump contre Twitter est attaqué en justice, au nom de la liberté d’expression Snapchat interdit à Donald Trump de promouvoir ses vidéos incitant à la violenceRéseaux sociaux, plateformes ou médias ?
Twitter a-t-il eu tort de fact-checker un seul mensonge de Donald Trump ? Des employés de Facebook jugent Mark Zuckerberg trop clément avec Donald Trump - /!\ article payantLoi Avia (cf ép. 214 et 225) * « C’est pas la loi Avia qui me rendra moins pédé » : des militants LGBT dénoncent la censure en ligne * Loi Avia, nos observations devant le Conseil constitutionnel
Hadopi, une victoire de façade ? (cf ép. 223)
Stop-Covid
Le gouvernement approuve l’application stop COVID et maintenant ? StopCovid : la CNIL valide l’application même si son efficacité sanitaire reste incertaine Pourquoi Stop COVID est un échec en terme de design respectueux de la vie privéePolémique sur l’hébergement des données de santé des Français chez Microsoft
Le gouvernement contraint les hôpitaux à abandonner vos données chez Microsoft « Nous ne sommes pas pieds et poings liés à Microsoft » ConférencesDevoxx Belgique annulé Hack Commit Push (virtuel) le 27 juin 2020 - crowdcast AlpesCraft reportée à l’automne Jug Summercamp le 11 septembre 2020 - Le CfP est ouvert jusqu’au 3 juillet DevOps D-Day le 9 octobre 2020 - Le CfP est ouvert jusqu’au 15 juin FrontSide le 15 octobre 2020 DevFest Nantes les 15 et 16 octobre 2020 Volcamp.io les 15 et 16 octobre 2020 - Le CfP est ouvert jusqu’au 21 juin DevFest Toulouse les 5 et 6 novembre 2020 FlowCon les 9 et 10 novembre 2020
Nous contacterSoutenez 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/
Thu, 18 Jun 2020 - 1h 47min - 234 - LCC 233 - Interview sur l'Event Storming avec Thomas Pierrain et Bruno Boucard
Dans cet épisode, Audrey et Emmanuel interviewent Thomas Pierrain et Bruno Boucard pour nous parler d’Event Storming.
Enregistré le 30 avril 2020
Téléchargement de l’épisode LesCastCodeurs-Episode–233.mp3
Interview Ta vie, ton œuvreThomas Pierrain Organisateur du meetup #DDDFR, co-fondateur de 42skillz, Thomas est un eXtreme Programmer & architecte technique obsédé par les usages (vs. l’approche orienté solution).
Bruno Boucard possède une expérience de plus de 30 ans allant de la programmation kernel à la gestion de projets en mode eXtreme Programming. Actuellement, il est coach technique, mais aussi speaker international. Il est co-fondateur de la société 42skillz et l’organisateur du meetup BDD Paris.
Event storming en 2 minsC’est quoi en deux minutes Ça sert à quoi Qui l’utilise ? (communautés, boites etc)
L’event storming en pratiqueComment ça se déroule ? Qui vient a ce workshop ? Combien de temps ?
L’utilité et le Retour d’expérienceRetour dans des boîtes classiques Les points intéressants que cela peut soulever
Autour de l’event stormingComment on code ensuite ?
Event storming en continu ? ou c’est un évènement unique ? Son lien avec DDD, event sourcing ? Lien avec les Microservices ?
Resources pour aller plus loinLe livre d’Alberto Brandolini Article de blog de Thomas Pierrain L’après midi du DDD épisode 2
Nous contacterSoutenez 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/
Fri, 05 Jun 2020 - 1h 12min - 233 - LCC 232 - Versions version Sloubi
Dans cet épisode, Audrey et Emmanuel se retrouvent en tête à tête pour discuter du nouveau drama à venir dans l’écosystème Java (Leyden), de l’actualité des librairies, des annonces de GitHub, de bonnes pratiques en matière d’outils et d’architecture et bien évidemment de la prochaine appli tendance : Stop Covid.
Enregistré le 7 mai 2020
Téléchargement de l’épisode LesCastCodeurs-Episode–232.mp3
News LangagesProjet Leyden: images statiques pour Java mais pas GraalVM native image
Améliorer les performance de G1 “out of the box”
LibrairiesComment utiliser Mockito avec Quarkus
Micrometer sort la 1.5 une LTS
Spring rattrape son retard sur OpenJDK dans le schéma de version
InfrastructureLes bonnes pratiques pour écrire un fichier Dockerfile pour les développeurs
ICANN rejette la vente de .org a une boite privée
CloudLes release notes de Google Cloud sur une seule page
WebCloudflare implement le draft d’HTTP/3 et compare
DataLes choses que j’aurai aimé que plus de développeurs connaissent sur les bases de données
OutillageGitHub est gratuit pour les équipes
si on downgrade sur le gratuit, on perd quoi https://help.github.com/en/github/getting-started-with-github/faq-about-changes-to-githubs-plans#if-i-downgrade-from-github-team-or-a-legacy-plan-to-github-free-what-features-will-i-loseRécap des annonces GitHub Satellite 2020
Controler Kubernetes de Google Spreadsheet
ArchitectureLes microservices, trop fort pour toi - opinion
MéthodologiesSécurité Loi, société et organisationApple et Google offrent un framework de notification d’exposition (au COVID–19)
Stop-Covid
La France se met dans une impasse face à Apple avec StopCovid StopCovid ou encore ? StopCovid : anonymat et autorités ConférencesDevoxx UK du 24 au 26 Août 2020 AlpesCraft reportée à l’automne DevOps D-Day le 9 octobre 2020 - Le CfP est ouvert jusqu’au 15 juin DevFest Nantes les 15 et 16 octobre 2020 - Le CfP est ouvert jusqu’au 31 mai FrontSide le 15 octobre 2020 Volcamp.io les 15 et 16 octobre 2020 DevFest Toulouse les 5 et 6 novembre 2020 FlowCon les 9 et 10 novembre 2020
Nous contacterSoutenez 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/
Mon, 18 May 2020 - 1h 16min - 232 - LCC 231 - Interview sur Vim avec Romain Lafourcade
Romain Lafourcade échange avec Guillaume et Emmanuel sur Vim: comment il y est venu, ce qu’il a d’unique, comment l’appréhender, et bien d’autres choses encore.
Enregistré le 16 avril 2020
Téléchargement de l’épisode LesCastCodeurs-Episode–231.mp3
Interview Ta vie, ton œuvreGitHub de Romain Je m’appelle Romain Lafourcade. Je suis Graphiste de formation et j’ai chopé le virus du développement en montant mon premier site en 1999. Je suis Développeur pour de vrai depuis 2007. J’ai beaucoup fait de JS, bien sûr, ainsi que du Flash et du Silverlight. Ça fait quelques années que je me concentre sur React et Vue.js.
Aujourd’hui je suis chez Publicis Sapient France, une “agence digitale” de premier plan où je m’amusais déjà très bien jusqu’à l’arrivée des ex-Xebians. Et maintenant c’est encore mieux. Je participe actuellement à la préparation d’une conférence “front” pointue pour la fin de l’année : FrontSide.
Mes intérêts personnels gravitent autour de la programmation fonctionnelle : Haskell, Elixir.
Et Vim, bien sûr.
Vim introQu’est-ce que Vim en 2 phrases ?Vim est un éditeur de texte orienté programmation, puissant et non-conformiste.
Que peut on dire de la différence entre un IDE et un éditeur ?Dans son expression la plus simple, un éditeur de texte est un outil permettant l’édition de fichiers de texte brut. Certains sont “standalone”, comme Vim, Nano ou Gedit, se concentrant pour la majeure partie sur des questions liées à l’édition de texte et déléguant les autres tâches liée au développement logiciel à d’autres outils “standalone”. C’est la vision UNIX traditionnelle :
“Écrivez des programmes qui effectuent une seule chose et qui le font bien.”
D’autres sont “intégrés” avec d’autres outils pour offrir une expérience plus “clé en main”, les IDEs.
L’histoire de VimVim est né au début des années 90 sur Amiga, pour la même raison que tous les autres clones de vi : l’impossibilité légale d’utiliser vi sur tel ou tel système. De tous les clones, c’est celui qui s’est le plus démarqué de l’original et c’est le seul qui est encore développé activement en 2020.
Les archéologues en herbe trouveront quelques liens sur le sujet en bas de page.
Disponibilité de Vim sur les distros de baseUn des arguments les plus souvent mis en avant pour convaincre les mécréants de l’utilité d’apprendre Vim est “Vim est partout”.
Mais l’ubiquité légendaire de Vim est un mythe. Ce qui est disponible dans tous les dérivés d’UNIX, c’est la commande vi. Le programme qui assure le boulot peut être Vim comme il peut être Elvis, Nvi, Busybox vi ou même le vi original. Et même quand c’est Vim, c’est souvent un build limité. Du coup, connaître Vim n’est peut-être pas aussi utile que connaître vi.
Et c’est sans compter sur le fait que le système d’exploitation le plus largement utilisé, n’a pas de commande vi ou vim du tout.
Vim vs emacs: la guerre ancestraleet aussi débile que toutes les guerres ancestrales.
Les variantes de VimNeovim est un fork récent promettant une modernisation des processus de développement et du code.
Vim au quotidien Pas de curseur?????On a bien un curseur, mais les dispositifs de pointage sont rarement activés par défaut. Même si c’est tout à fait possible d’utiliser la souris ou le trackpad (:help 'mouse'), on est clairement dans un monde centré autour du clavier.
Les modes (normal, insert, visual, etc.)L’édition modale, un concept initié par vi, ne fait pas l’unanimité. L’idée, c’est qu’on est toujours dans un mode réservé à une certaine catégorie d’activités. Un des effets positifs, et aussi un des repoussoirs de ce mécanisme est que ça permet d’avoir un vocabulaire plus varié et expressif que dans un éditeur classique. Le déplacement du curseur, par exemple, se fait traditionnellement avec une combinaison de 4 touches de directions et 1 modificateurs, donc 8 déplacements possibles : 1 caractère vers la droite ou la gauche, 1 mot vers la droite ou la gauche, 1 ligne vers le haut ou le bas, 1 paragraphe vers le haut ou le bas. C’est très pauvre, même en ajoutant Home, End, Page Up et Page Down. Dans vim, on a tout ça, bien sûr, plus “début du mot”, “fin du mot”, “prochaine/précédente occurrence de ”, “prochaine/précédente occurrence de ”, “ligne numéro X”, “n lignes vers le haut ou le bas”, “haut/bas/milieu de la fenêtre”, “marqueur X”, etc. Rien jjque ça c’est dingue. Et comme on est dans un éditeur modal, tous ces mouvement peuvent être utilisés avec des opérateurs et là c’est la folie.
Les modes les plus couramment utilisés sont :
le mode normal, le mode par défaut quand on fait $ vim foo.txt, qui est utilisé pour naviguer, chercher, copier, coller, etc. le mode d’insertion, qui permet… d’insérer du texte dans le document, les modes visuels, qui permettent de sélectionner une portion de texte, le mode ligne de commande, qui permet d’utiliser les commandes héritées d’Ex : :write, :s, :g, etc. Le concept de verbe / opérateur + movement + destinationC’est pour moi LA killer feature de Vim, surtout visible dans les modes normal et visuels. En gros, le modèle d’interaction est basé sur la notion de langage. Il y a :
des “opérateurs”, des verbes conjugués à l’impératif comme “efface”, “copie”, “remplace”, des compléments d’objet directs comme “la ligne 78”, “ce texte entre parenthèses”, “d’ici à la fin du paragraphe”, des compléments d’objet indirects comme “en dessous de la ligne 27” ou “au début du buffer”, et des compléments circonstanciels comme “10 fois”.Avec tout ça, on donne des commandes à la machine selon une syntaxe proche de celle d’un langage parlé et elle obéit : “colle le texte contenu dans le presse papier 50 fois”, “copie (d’ici) jusqu’à la prochaine parenthèse ouvrante”, etc. Dans un éditeur de texte classique, la première se dit “ctrl+v ctrl+v … ctrl+v”, ce qui n’a presque rien à voir avec la tâche telle qu’imaginée : “colle truc 50 fois” est devenu “colle colle … colle”, ce qui est très peu expressif. Notre pensée abstraite de haut niveau doit être transformée en une série d’action concrètes de bas niveau qui n’ont que très peu de sens et souvent rien à voir avec la pensée haut niveau. Dans Vim, la première commande se dit “50p”, ce qui est très proche de la tâche telle qu’imaginée.
La syntaxe est peut-être un peu sèche et les éléments sont peut-être ordonnés différemment qu’en français, mais ça reste tout à fait abordable et très proche de ce qu’on a dans la tête. L’étape suivante est exactement la même que lorsqu’on apprend une langue étrangère : penser dans la langue.
Apprendre Vim, c’est apprendre une grammaire simple et un vocabulaire expressif qui s’enrichit au fur et à mesure où on avance.
La notion de rangeVim hérite plein de trucs de vi, qui hérite lui-même plein de trucs de ex. Dans vim, toutes les commandes qui commencent par un “deux points” sont des “commandes Ex”, qui agissent sur des lignes car ex était un éditeur de ligne. Comme dans ex, ces commandes prennent des adresses (une seule ligne) et des ranges (de telle ligne à telle autre). Une ligne peut être indiquée par son numéro, par un offset, par une recherche, par un marqueur, etc. C’est un outil extrêmement puissant.
Par exemple, la commande suivante copie les lignes 10 à 24 en fin de document :
:10,24t$Celle-ci rassemble toutes les lignes contenant const dans la fonction courante vers le haut du corps de la fonction :
:?func?,/^}/g/const/m?func?C’est d’une élégance insoutenable.
D’autres concepts de base (window, tab, buffer, split, etc.)On a toujours au moins un “buffer”, une “fenêtre” et une “tab page”. Un buffer peut être affiché dans une ou plusieurs “fenêtres”, une “tab page” est un rassemblement de “fenêtres”. Contrairement à la plupart des éditeurs de texte il ne peut pas y avoir de relation 1-à–1 entre un buffer et une fenêtre ou entre un buffer et une tab page. C’est un piège dans lequel tous les nouveaux tombent.
Tu l’utilises pour quels genre d’éditionJ’utilise Vim de deux façons différentes : de longues sessions de programmation et des éditions rapides (config, git commit, etc.), pratiquement tout le temps dans un terminal.
Les colorschemesLa dernière fois que j’ai checké il y en avait littéralement des milliers, du simple qui marche partout, utilisé par quelques barbus ronchons, à l’usine à gaz buggée à mort, utilisée par la dernière génération de boutonneux. J’en ai réalisé quelques uns, même, comme Apprentice, ainsi qu’un modèle simple à utiliser. Maintenant qu’on peut utiliser toutes les valeurs hexadécimales, même dans le terminal, c’est la fête.
Pour trouver des colorschemes, je recommande VimColors.
Les binding Vim dans les IDEsPeut-être utile pour accompagner l’apprentissage de Vim mais passé un certain niveau c’est l’uncanny valley. C’est un des problèmes causés par des années de Vim, d’ailleurs : ça rend exigeant.
Le terminalLe nerf de la guerre d’un Vim qui fonctionne tmux?
Vim écosystème La gestion des pluginsSi on a beaucoup de plugins ça peut devenir compliqué sans plugin manager. Le plus populaire est vim-plug.
Les plugins les plus utilisés
fugitive, un client Git bien intégré à Vim surround, permet de jouer avec les paires de caractères : (), {}, etc. Souvent considéré comme un indispensable. ALE, beaucoup plus qu’un linter, YouCompleteMe, beaucoup plus que de l’autocompletion.Vim et les plugins VSCode (via LSP)
Les spécifications de pas mal de fonctionnalités de Visual Studio Code sont actuellement publiées, ce qui permet à d’autres outils de développement de bénéficier de l’étendue de son ecosystème. Il y a LSP, par exemple, qui permet d’implémenter des serveurs pour n’importe quel langage et des clients pour n’importe quel éditeur. Les clients à suivre pour Vim son lsc et CoC. Peut-être aurons-nous une intégration native un jour ? Il y a aussi DAP qui est utilisé par Vimspector pour fournir une interface de débogage avancée.
La navigation entre fichiersUn faux problème, souvent résolu en mode “brute force” par manque de volonté d’apprendre à se servir des fonctionnalités de base. Du coup on a des dizaines de plugins fantaisistes et des générations de vimmers superficiels. C’est triste. En vrai, :edit, :find et :buffer sont rapides et versatiles. Il suffit de prendre le temps d’apprendre à s’en servir.
Il existe un nombre hallucinant de plugins pour naviguer les fichiers alors que c’est si simple et rapide avec les outils natifs.
La vérification orthographiqueLa fonctionnalité est incluse de base. Il faut néanmoins l’activer avec :help ’spell’ et, si on veut de l’aide pour autre chose que de l’anglais, installer des dictionnaires. Ça sonne plus compliqué que ça ne l’est vraiment.
Des tips Indentation Tout savoir sur l’indentation dans Vim gg=G pour réparer l’indentation d’un buffer en entier :help ’equalprg’ pour indiquer à Vim quel programme externe utiliser Paramètres custom par fichier via modelineVoir :help modeline pour des exemples. Je ne suis pas hyper fan en général que je trouve ça un peu sale de mélanger data et metada mais ça peut être bien en bas d’un fichier Markdown dont on sait qu’il va être édité dans Vim :
[//]: # ( Vim: set spell spelllang=en: )En pratique, je suggère plutôt editorconfig pour les réglages d’indentation et compagnie.
Vim et gitFugitive, mentionné plus haut, est très populaire. Pour ma part, je préfère garder mon éditeur de texte pour éditer du texte et utiliser d’autres outils spécialisés pour d’autres tâches spécialisées. J’aime beaucoup tig, que j’utilise au jour le jour depuis des années, et j’ai découvert git-jump récemment, qui a fait une entrée fracassante dans mon workflow.
Sinon, pour les commandes basiques, un simple :!git fait largement le taf.
Les macrosUne macro est une séquence de commande. On peut enregistrer une macro dans le registre q :
qq 02wciwfoo qet la rejouer sur plusieurs lignes, par exemple :
:23,45normal! @qMais avec un peu de pratique on peut complètement zapper la phase « enregistrement » :
:23,45normal! 02wciwfooLes macros sont un outil d’automatisation extraordinaire qui épate facilement le spectateur. Voir :help complex-repeat.
Copier dans le buffer de l’OS (ctrl+c ctrl+v)Pour ça, l’idéal est d’avoir un Vim compilé avec la fonctionnalité “clipboard”. Si c’est pas possible on peut bricoler des trucs avec xclip/pbcopy/etc. ou utiliser les fonctionnalités de copier/coller du terminal.
Le clipboard système est représenté par le registre + dans vim. Donc copier dans le clipboard: "+y, et ensuite coller, "+p. Note que " est la sélection de registre.
Remplacer via des expressions régulièresLa substitution, basée sur les expressions régulières ou pas, est une pratique courante dans Vim. Par exemple, pour remplacer toutes les occurrences de java par kotlin dans le buffer courant :
:%s/java/kotlin/gVoir :help :s et le site Vim Regular Expressions 101 car Vim utilise un dialecte spécial.
Mode vi dans le shellReadline, la bibliothèque utilisée par bash pour gérer l’invite de commande, utilise des raccourcis inspirés par Emacs par défaut. On peut changer ça en ajoutant la ligne suivante dans ~/.inputrc:
set editing-mode viPersonnellement, je préfère garder les raccourcis par défaut et éditer mes commandes directement dans Vim, avec Ctrl-x Ctrl-e. Si vous ave mis le mode vi, alors pour éditer la commande dans vim, tapez ESC v.
VimdiffOn peut utiliser Vim pour afficher des diffs côte à côte et même pour gérer les merge conflicts dans Git.
Voir :help diff pour les détails sanglants.
Aller plus loin Livres Practical Vim Modern Vim Learn Vimscript The Hard Way The Viml Primer Histoire de vim The History Of Vim Where Vim Came From Bram Moolenaar Discusses Developing the Popular Text Editor, How He Uses It, and Version 8 10 Questions with Vim’s creator, Bram Moolenaar Ressources Vim Galore Idiomatic Vimrc Seven habits of effective text editing :help user-manual Vimways Meetups Tuppervim Communauté #vim sur Freenode #vim-fr sur freenode r/vim sur reddit le tag Vim sur Stack Overflow le site Stack Exchange dédié à Vim En vrac Vim 9 ? Comment quitter Vim de manière… créative Vim cheatsheet Bonne explication d’un beau vimrc en détails Tmux et Vim ensemble avec les bons plugins Been using Vim for two years because I didn’t figure how to quit it! Vim primer and tutorial Resources Vim Des stickers pour clavier Mac pour se rappeler des raccourcis Nous contacterSoutenez 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/
Mon, 04 May 2020 - 1h 45min - 231 - LCC 230 - Du confinement à la déconfiture
Encore un épisode très long, mais cette fois il a une bonne excuse : on a censuré aucune blague ! Cet épisode nous a fait beaucoup de bien à enregistrer c’est pourquoi nous avons tout gardé, même ce qui serait normalement passé en off, en espérant qu’il vous fera autant de bien à l’écouter ! Et ce n’est pas pour autant qu’Audrey, Emmanuel et Guillaume ne disent que des bêtises : on parle bien évidemment de tout ce qui fait l’actu tech (Java, Kotlin, Micronaut, Quarkus, Vert.x, Docker et autres) mais aussi de surveillance en cette période très particulière.
Enregistré le 10 avril 2020
Téléchargement de l’épisode LesCastCodeurs-Episode–230.mp3
NewsJe m’appelle Audrey et je travaille pour… Rest In Peace Carl Quinn
LangagesLe JDK 14 en GA Un état de l’art de Java, tendances et données D’ici 6 mois, Eclipse nécessitera le JDK 11 pour s’exécuter José Paumard publie 50h de cours sur Youtube JEP proposées pour le JDK 15 :
377: ZGC 378: Text Blocks 379: ShenandoahLibrairiesSpring Framework 5.2.5 Spring Boot 2.3.0.M4
Support du liveness et Readiness Probes de Kubernetes dans Spring Boot
Micronaut 2.0 M1 Un benchmark de Micronaut comparant SpringBoot et Quarkus - mais un peu controversé
Et Quarkus 1.3.2 aussiQuarkus 1.3 et Eclipse MicroProfile 3.3
InfrastructureDockerAwesome Compose Docker GitHub Action Docker annonce la Compose Specification
Kubernetes 1.18 Fleet: un outil de management de cluster Kubernetes Kit de survie Kubernetes pour les développeurs [avec K3S]
CloudTutoriel Spring Boot : Création De Microservices Déployés Sur Google Cloud
WebL’annonce côté GitHubQu’est ce que Deno ?Les développeurs de Wikipédia choisissent Vue, plutôt que React
OutillageGitHub mobile On peut maintener repasser une PR ouverte en Draft sur GitHub
(18 fonctionnalités GitLab passent open source)[https://about.gitlab.com/blog/2020/03/30/new-features-to-core/]MéthodologiesBuilding Secure and Reliable Systems - Le SRE pour les nuls
Loi, société et organisationBill Gates quitte le conseil d’administration de Microsoft Contre la censure en ligne, RSF bâtit une immense « Bibliothèque libre » dans « Minecraft » Première victoire en justice contre la reconnaissance faciale ! Surveillance publicitaire : la CNIL se défile de nouveau sur le consentement aux cookies
Pandémie et surveillance :
La crise sanitaire ne justifie pas d’imposer les technologies de surveillance Coronavirus : le risque est d’entrer dans « une nouvelle ère de surveillance numérique invasive » Covid–19 et la surveillance Outils de l’épisodeDevHints.io Screen.io Krisp.ai
Rubrique débutantProcessing de texte dans le shell
ConférencesGitHub Satellite en virtuel les 6 et 7 mai DevFest Lille le 12 juin 2020 - Le CfP est ouvert jusqu’au 15 avril Voxxed Days Luxembourg du 17 au 19 juin 2020 Devoxx France du 1 au 3 juillet 2020 Sunny Tech les 2 et 3 juillet 2020 Devoxx UK du 24 au 26 Août 2020 AlpesCraft reportée à l’automne DevOps D-Day le 9 octobre 2020 - Le CfP est ouvert jusqu’au 15 juin DevFest Nantes les 15 et 16 octobre 2020 - Le CfP est ouvert jusqu’au 31 mai Volcamp.io les 15 et 16 octobre 2020 DevFest Toulouse les 5 et 6 novembre 2020 FlowCon les 9 et 10 novembre 2020
Et encore plus sur Developers Conferences Agenda/List.
Nous contacterSoutenez 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/
Thu, 16 Apr 2020 - 1h 39min - 230 - LCC 229 - Interview sur la sobriété numérique avec Richard Hanna
Dans cet épisode Arnaud et Audrey interviewent Richard, contributeur du Shift Project, un think thank qui œuvre en faveur d’une économie libérée de la contrainte carbone et qui a publié plusieurs rapports en faveur d’une sobriété numérique.
Enregistré le 25 février 2020
Téléchargement de l’épisode LesCastCodeurs-Episode–229.mp3
Interview Ta vie, ton oeuvreRichard Hanna, développeur et coopérateur Fairness et co-animateur du podcast Techologie.
Le Shift Project Numerique & TransitionLes publications numérique et transition
Lean ICTLean ICT : Pour une sobriété numérique
Climat : l’insoutenable usage de la vidéo en ligneClimat : l’insoutenable usage de la vidéo en ligne
Les outils La vidéo pédagogique« Cette vidéo réchauffe le climat :merci de la regarder »
Le guideLe guide pour réduire le poids des vidéos en 5 minutes
CarbonalyserCarbonalyser : l’extension de navigateur qui rend visible l’invisible impact environnemental du net
Déployer la sobriété numériqueDéployer la sobriété numérique
Conclusion« Reset, quel numérique voulons-nous ? »
Nous contacterSoutenez 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/
Wed, 01 Apr 2020 - 1h 38min - 229 - LCC 228 - Conseils sur le télétravail
En cette période de confinement et de Coronavirus, les cast codeurs partagent et échangent leurs points de vue et conseil pour faire du télétravail. En espérant que cela vous aide un petit peu.
Enregistré le 20 mars 2020
Téléchargement de l’épisode LesCastCodeurs-Episode–228.mp3
Interview L’environnement de travailL’organisation La pièce Le matériel Le bureau assis debout (version électrique Ikea et version manivelle) Les enfants et le conjoint …
Le travail en équipe à distanceLa communication Le flicage La disponibilité instantanée L’écrit, la messagerie instantanée et l’oral …
La gestion du temps / journéesLe sur ou sous travail Le burn out (épisode des cast codeurs dédié) Les pauses Les horaires Interview sur la productivité personnelle
Le lien socialComment compenser la réduction d’interaction sociale …
Nous contacterSoutenez 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/
Fri, 20 Mar 2020 - 1h 02min - 228 - LCC 227 - Télétravailler une corona dans une main et un gamin dans l'autre
Cet épisode parle du coronavirus, des conférences annulées, de la popularité des langages, de GraphQL, de Ghostcat et pleins d’autres choses encore. L’intro date un peu: les infos sur le coronavirus étant encore plus fréquentes que les nouveaux framework JavaScript.
Enregistré le 13 mars 2020
Téléchargement de l’épisode LesCastCodeurs-Episode–227.mp3
News Corona virusLes actions des grosses boites
pas de meeting conf annulées limite du travail au bureau LangagesRedMonk ranking - Le langage au top est…
JavaScript Python Java Typescript dans le top 10 R monte Rust stable comme Go (+1) Kotlin 19, Scala 13Java 8 le plus déployé en prod, 25% Java 11 et non LTS derrière Spring 60–80% IntelliJ 60–80%, Eclipse 20–25% mavenjvs Gradle 66–33 ou 50–507 ans de dev not binary compatible with 0.6 nor 1.0RCx Ecrire en scala des applications front interop avec les libraries JavaScriptGraalVM se dote d’un advisory board
Gluon, Red Hat, Amazon, Microdoc, Shopify, Twitter, OCI, Neo4J, Pivotal, ARM et Oracle bien sûrGros round d’investissement dans Azul
investissement / achat: 340 M$ LibrairiesEclipse MicroProfile GraphQL 1.0
GraphQL: spec pour generaliser les endpoints en leur donnat lflexibilite en terme de requetage et graph retourné make GraphSQL schema available execute GraphQL requests code first approachApache Camel 3.1 et 3.0 déprécié Le guide de migration de Camel
amélioration de mémoireLightbend recoit 25M d’investissement
de Dell capital pour la partie reactive spécifiquement pour le “serverless” pas de mention de ScalaOPTIONNEL LightBend - Article sur pourquoi une architecture reactive est importante pour le cloud native
bonne piqure de rappel data localisée par microservice les avantages des systèmes event based MiddlewareElasticSearch en prod, les choses a savoir
les concepts de base (Clusters, Nodes, Indices and Shards) Quorum comment des noeuds rejoingnent le cluster segments et le merge gestion de la memoire (compressed pointers /!\ inversé, 30GB, 2x memoire sur la machine par rapport au heap) voir https://stackoverflow.com/questions/25120546/trick-behind-jvms-compressed-oops#25120926 options par workload (write heavy vs read heavy topology monitoring InfrastructureLa M&A de have i been p0wned: l’histoire de l’abandon
societe KPMG due diligence des milliards de questions les doutes exclusivité le risque du changement de stratégie CloudLes gens ralent car les clusters GKE vont avoir un cout de management de 10c/heure, ce qui change la relation du cluster au développeur (nombre de clusters en parallèle) Une comparaison des prix des clusters en fonction de leur taille et de leur host provider
Amazon annonce Bottlerocket
Mise a jour par image recrée plutôt que par package mis a jour plus immuable et donc facile en rollback par contre chaque host goes down et up si orchestrateur c’est ok Outillageun IDE pour le big data! deja integration avec Zeppelin S3 nouveau Spark, HDFS, Paquet ArchitectureLes systèmes simples ont moins de downtime
facile à comprendre, facile à corriger plus rapide de monter en competence trouver la cause est plus rapide solutions simples, plus d’alternatives disponibles regles: les fonctionalités de justifient pas la complexité, les idées complexes amènent des implémentations complexes, modifier avant d’ajouter challenge de l’automation pour faire avec moins de gens?OPTIONNEL 11 raisons pour lesquelles vous allez rater vos microservices
voir les titres de sectionOPTIONNEL Retour d’experience sur l’usage incorrect d’un outil bloom filters
probleme idéal pour bloom filters mais suspicieusement plus long que prévu profilers random access memory >> sequential reading (trop grand pour L3) alternative plus simple qui reduit le nombre le chargement memoire, pas la conso memoire Méthodologiesrebasing, la course au collègue garder master green pour la CD impossible de faire trops de merge en parallele ou doit faire pleins de rebase merge train sequentialise et batch les mergespas intuitif (merge bidirectionels dans le temps entre develop, feature branch, release branch, hotfix et master) et cout cognitif haut risque grandi de merge conflit peut pas rebaser continuous delivery != trop de barrières en cas de repos multiples ou mono repos, impossible a gérer (microservices) ok pour des cycles de release par trimestre avec des equipes sur des releases en paralleleMesure de la complexité de code: une meilleure mesure
cyclomatic complexité est un mauvais oracle de la complexité de code les logiques conditionnelles emboîtées utilisent notre mémoire de travail (~indentation) les fonctions avec des dos d’anes d’indentation multiples sont les pires refactorer pour externaliser chaqueDans Sonarqube cela s’appelle Cognitive Complexity. Voici un exemple sur du code XWiki ou l’on voit très bien visuelement ce que cela veut dire: https://sonarcloud.io/project/issues?id=org.xwiki.commons%3Axwiki-commons&issues=AWzY6RXo8pMOHxUYvkyE&open=AWzY6RXo8pMOHxUYvkyE
SécuritéGhostcat: la faille dans Tomcat de 6 à 9
dans le protocole Apache JServ (implicitement trusté par Tomcat (cs une requête) peut lire le contenu des web apps si la webapp peut uploader => activer un remote execution upgrader Tomcat 7, 8, 9, si 6, vous êtes dans la merde attention Tomcat est embarqué dans pleins d’outils comme Wildfly, Spring Boot etcLetencrypt révoque 3 millions de certs a multiples domaines
Loi, société et organisationAmicus brief sur le copyright d’API par IBM et Red Hat
computer interfaces ne sont pas copyrightable moteur de l’economie du logiciel va etre entendu au printempsAmicus brief de chercheurs attaqué par Oracle
payés par GoogleOPTIONNEL Les hackers de Equifax contamnés pour crime
DOJ charcge 4 militaires Chinois Struts CVE Rubrique débutantLa tonte de Yak appliquée à Donarld Knuth
écrire un livre écrire un programme pour ecrire un livre invente un langage de programmation pour écrire le programme invente un mode de pagination design une police de caractère écrit un outil pour construire les polices de caractère invente un système de version pour son programme implémente un langage d’abstraction maison pour les documents imprimés ConférencesANNULÉ - Breizhcamp du 25 au 27 mars 2020 ANNULÉ - MiXiT du 29 au 30 avril 2020 VIRTUEL - GitHub Satellite les 6 et 7 mai ANNULÉ - RivieraDev du 13 au 15 mai 2020 Devoxx UK du 13 au 15 mai 2020 NewCrafts les 28 et 29 mai 2020 AlpesCraft les 4 et 5 juin 2020 ANNULÉ - Best of Web les 4 et 5 juin 2020 DevFest Lille le 12 juin 2020 - (Le CFP est ouvert) Voxxed Days Luxembourg du 17 au 19 juin 2020 ANNULÉ - Serverless Days Paris le 1 juillet 2020 NOUVELLE DATE - Devoxx France du 1 au 3 juillet 2020 Sunny Tech les 2 et 3 juillet 2020
Et encore plus sur Developers Conferences Agenda/List …. Liste d’Aurélie
Nous contacterSoutenez 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/
Tue, 17 Mar 2020 - 1h 27min - 227 - LCC 226 - Interview sur l'Open Source à la MAIF avec Mathieu Ancelin et François Desmier
Dans cet épisode, Mathieu Ancelin et François Desmier sont venus nous parler des produits open source de la MAIF. On parle management d’API, reverse proxy, A/B Testing, feature flipping mais aussi plus généralement de comment on passe d’assureur à éditeur de produits open source.
Enregistré le 13 février 2020
Téléchargement de l’épisode LesCastCodeurs-Episode–226.mp3
Interview Ta vie, ton oeuvreFrançois Desmier Cyber-guru, crypto-saïyan, team ambiancer 2.4 alpha, bytes master et surtout architecte solution à la MAIF, engagé sur #OSSbyMAIF Mathieu Ancelin Développeur fullstack chez SERLI, je fais du web, des streams, de la data, du cloud majoritairement sur la JVM et j’ai un petit faible pour Scala et la programmation fonctionnelle. Je suis également lead développeur de quelques projets open-source comme Otoroshi, Daikoku, etc. et l’un des organisateurs des Human Talks Poitiers.
D’assureur à éditeur open sourceLe jeu de carteSous le capot OtoroshiDaikokuIzanamiNiõMelusineLe futur ConclusionDes talks pour aller plus loin :
Simplifiez vous les microservices avec Otoroshi Du mutualisme à l’Open Source Opun devenir une plateforme de service Vos applications sous stéroïdes avec Otoroshi et Izanami Nous contacterSoutenez 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/
Mon, 09 Mar 2020 - 1h 08min - 226 - LCC 225 - L'épisode du futur
Dans cet épisode en tête à tête, Emmanuel et Audrey discutent des prévisions pour cette nouvelle année, font la part belle au langage avec l’arrivée du JDK 14 mais parlent aussi middleware, web, outillage, et bien sûr loi, société et organisation.
Enregistré le 19 février 2020
Téléchargement de l’épisode LesCastCodeurs-Episode–225.mp3
NewsLes prévisions d’Adam Bien pour 2020
LangagesJDK 14 First Release Candidate
Présentation des records Ecrire des Records invariants avec Bean Validation Monitoring d’API Rest avec les évènements du JDK Flight RecorderEst ce que le projet Loom menace les Java Futures ? Visualisation de la gestion de la mémoire dans la JVM (Java, Kotlin, Scala, Groovy, Clojure)
Une demi heure pour apprendre Rust
LibrairiesJukebox : une lib pour créer des builders pour les records JUnit 5.6
MiddlewareCréer des images Docker avec Spring Boot 2.3.0 M1 Quarkus 1.2.0.Final
Quarkus : un outil open-source pour écrire vos applications JavaMicronaut 1.3 et Micronaut Data 1.0 GA
InfrastructureCloudFormation gratuite Google Cloud en ligne Elastic Cloud sur Kubernetes (ECK) 1.0 en GA
WebAngular 9 est maintenant disponible, et le projet Ivy aussi
Quoi de neuf dans Angular 9.0 ? Quoi de neuf dans Angular 9.0 CLI ?Introducing Firefox and Edge Support in Cypress 4.0 Le nouveau Microsoft Edge est disponible
OutillageMaven est de retour, et il est pas content !
Old GroupIds Alerter : un plugin pour vérifier les couples groupId+artifactId dépréciés Provisio : un plugin pour remplacer Maven assembly MPV : une fonctin BASH pour récupérer la version d’un projet depuis le pom.xml Central 501 HTTPS RequiredGradle 6.2 IntelliJ IDEA 2020.1 * JetBrains Mono
Loi, société et organisationL’Union Européenne envisage une interdiction temporaire de la reconnaissance faciale
Safe City à Marseille : premier recours contre la vidéosurveillance automatiséeLa CNIL publie ses recommandations très attendues sur le ciblage publicitaire
La CNIL publie un guide RGPD pour les développeursLa conservation généralisée et indifférenciée des métadonnées épinglée à la CJUE, avec nuance
Féministes, LGBTI et antiracistes, nous ne voulons pas de la loi Cyberhaine Outils de l’épisodeJQ - un commmand line processor pour JSON Comment voir (et supprimer) les données envoyées à Facebook par des sites tiers
Rubrique débutantJava-guide : un guide pour apprendre le Java moderne Phishing : comment font les hackers, comment vous protéger
ConférencesDevFest du Bout du Monde le 28 février Breizhcamp du 25 au 27 mars 2020 Devoxx France du 15 au 17 avril 2020 Serverless Days Paris le 24 avril MiXiT du 29 au 30 avril 2020 GitHub Satellite les 6 et 7 mai RivieraDev du 13 au 15 mai 2020 Devoxx UK du 13 au 15 mai 2020 NewCrafts les 28 et 29 mai 2020 - Le CfP est ouvert jusqu’au 1 mars Best of Web les 4 et 5 juin 2020 - Le CfP est ouvert DevFest Lille le 12 juin 2020 - Le CfP est ouvert jusqu’au 29 février Sunny Tech les 2 et 3 juillet 2020 - Le CfP est ouvert jusqu’au 28 février DevFest Toulouse les 5 et 6 novembre 2020 - Le CfP est ouvert
Et encore plus sur Developers Conferences Agenda/List ….
UnconferencesJChateau du 11 au 15 mars 2020
Nous contacterSoutenez 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/
Tue, 25 Feb 2020 - 1h 25min - 225 - LCC 224 - Interview sur le burn out avec Géraldine Karila
Une personne sur 5 fera un burn out au travail pendant sa carrière. Géraldine nous raconte son burn out, comment cela s’est passé, son chemin pour s’en sortir et les recherches qu’elle a fait sur le sujet.
Enregistré le 16 décembre 2019
Téléchargement de l’épisode LesCastCodeurs-Episode–224.mp3
Interview Ta vie, ton oeuvreGéraldine Karila
Le burn out Les phases Comment récupérer Comment aider une personne en burn out LiensTest: avez vous des slgnes de burn out Témoignage sur le burn out dans l’IT ops Gérer le burn out Géré son équilibre et sa réslience au travail Le syndrome de l’épuisement au travail (français) Les causes de burn out La confiance
PodcastsCarl Newport sur le burn out dans nos vies numériques Travail comme identité, burn out comme style de vie
Nous contacterSoutenez 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/
Thu, 06 Feb 2020 - 1h 20min - 224 - LCC 223 - On peut anonymiser mille fois une personne mais on ne peut pas anonymiser une fois mille personne
Premier épisode de l’année 2020 pour les cast codeurs avec Guillaume, Arnaud et Audrey autour du micro pour parler du JDK 14 bien sûr mais aussi de Quarkus, de WebAssembly, de Kubernetes mais aussi de l’actualité sociétale liée à la tech.
Enregistré le 13 janvier 2020
Téléchargement de l’épisode LesCastCodeurs-Episode–223.mp3
News LangagesEarly-Access BuildsKotlin 1.4 et au-delà, lors de la conférence KotlinConf
What the Flow? LibrairiesJHipster 6.6.0 R2DBC 0.8.0 en GA DropWizard 2.0 released Spock 2.0 milestone 1 sortie o
Migrer de Spock 1.3 à 2.0 MiddlewareVMware Rachète Pivotal et Carbon Black Calendrier de l’Avent d’Elastic Client RUST pour Elastic Search Apple open source ServiceTalk à base de Netty
Gestion centralisée des logs en QuarkusGraalWasm — un moteur WebAssembly dans GraalVM
Infrastructurekubectl tree Guide visuel de débug des deploiements Kubernetes Injecter des Secrets Vault dans des Pods Kubernetes via un Sidecar Hexa, un CLI sous stéroïdes pour les devs Azure
WebWebAssembly devient une recommandation du W3C /e/ une alternative à Android qui prend soin de votre vie privée Bazel 2.0
1ère version stable de Node.js pour Bazel OutillageLa Maif continue son mouvement OpenSource avec Daikoku Améliorer les performances de votre CI en optimisant vos builds Maven ou Gradle - Webinar Gradle capabilities appliqué au conflit de logging GitLab 12.6 released with Security Scorecard and Release Evidence * Token-Hunter
MéthodologiesCalVer, le versionning avec des dates
SécuritéConfigurez vos parsers XML en Java pour éviter les XML eXternal Entity (XXE)
Loi, société et organisationLarry Page and Sergey Brin quittent Google Plus il y a d’égalité des sexes dans un pays, moins il y a de femmes en STEM Est ce que le fait qu’Oracle copie l’API S3 d’Amazon était une violation de copyright? La Russie réussit son test et se coupe de l’Internet mondial avec succès
Spécial France WTF
La France présente sa loi upload filters mais “oublie” les droits des utilisateurs Reconnaissance faciale : le gouvernement souhaite faire une expérimentation dans la vidéosurveillance « Ne pas sacrifier nos droits » : l’hostilité à l’égard de la reconnaissance faciale grandit en France La Police nationale lorgne sur les « données de réservation » des voyageurs Le Conseil constitutionnel autorise le FISC à la surveillance de masseLes décisions de justice vont enfin être toutes accessibles en ligne gratuitement Twitter va tester de nouvelles options pour limiter les réponses à un tweet
Outils de l’épisodeEncryptez et envoyez vos fichiers avec https://send.firefox.com/
Rubrique débutantComment quitter Vi, version fun
ConférencesSnowcamp du 22 au 25 janvier 2020 Touraine Tech le 31 janvier FOSDEM les 1 et 2 février dotSwift le 3 février - Le CfP est ouvert DevFest Paris le 14 février 2020 DevFest du Bout du Monde le 28 février dotPy le 2 mars - Le CfP est ouvert Breizhcamp du 25 au 27 mars 2020 - Le CfP est ouvert dotGo le 30 mars - Le CfP est ouvert Devoxx France du 15 au 17 avril 2020 Android Makers Paris les 20 et 21 avril 2020 - Le CfP est ouvert jusqu’au 19 janvier Serverless Days Paris le 24 avril - Le CfP est ouvert jusqu’au 31 janvier MiXiT du 29 au 30 avril 2020 - Le CfP est ouvert jusqu’au 15 janvier GitHub Satellite les 6 et 7 mai - Le CfP est ouvert jusqu’au 14 janvier RivieraDev du 13 au 15 mai 2020 - Le CfP est ouvert jusqu’au 15 février NewCrafts les 28 et 29 mai 2020 - Le CfP est ouvert jusqu’au 1 mars Best of Web les 4 et 5 juin 2020 - Le CfP est ouvertDevFest Lille le 12 juin 2020 - Le CfP est ouvert jusqu’au 29 février Sunny Tech les 2 et 3 juillet 2020 - Le CfP est ouvert jusqu’au 28 février
Et encore plus sur Developers Conferences Agenda/List ….
UnconferencesNous contacterSoutenez 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/
Mon, 27 Jan 2020 - 1h 54min - 223 - LCC 222 - Interview sur Android avec Pierre-Yves Ricau et Romain Guy - l'intégrale
Dans cet épisode, Emamnuel s’assoie autour de la table avec Romain Guy et Pierre-Yves Ricau pour discuter Android. Cela fait longtemps que la partie 1 est sortie. Désolé de ce retard. Du coup cet épisode reprend l’entièreté de l’interview. Pour ceux qui se rappellent bien de la partie 1, vous pouvez sauter à la minute 62 environ.
Enregistré le 18 septembre 2019
Téléchargement de l’épisode LesCastCodeurs-Episode–222.mp3
Interview Ta vie, ton oeuvreRomain Guy Pierre-Yves Ricau Square
IntroAndroid 10
JetPackJetPack Supporter des versions differentes d’Android JetPack Compose Toolkit UI reactif
Java 8Compilation et autre JIT KotlinoptimisationsCoeurs Batterie
Dark theme et reduction de consommation de batterie
Injection de dépendanceFuite MémoireData structure et boxing Access mémoire, algorithmique et structure de données
Les attaques et les protectionsChiffrage Isolation Fuite d’info par effet de bord
MicroservicesDe l’intéret pour le mobile ? Innovation vs standardisation Monorepo Gradle Bazel
Podcast et resources AndroidAndroid Leaks en Français Android Developers Backstage Android Dialogs
Nous contacterSoutenez 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/
Tue, 24 Dec 2019 - 2h 21min - 222 - LCC 221 - Massacre à la tronçonneuse
Guillaume, Arnaud et Emmanuel descendent dans les profondeurs des garbage collectors, Java 14, GraalVM 19.3 (Java is back!) et bien sûr pleins d’autres choses !
Enregistré le 5 décembre 2019
Téléchargement de l’épisode LesCastCodeurs-Episode–221.mp3
News LangagesGraalVM 19.3 with JDK 11 Support. GraalVM se met aussi à WebAssembly
Microsoft ready to contribute to OpenJDK
Trois JEPs prévus pour être intégrés à Java 14 :
JEP 305 : Pattern Matching for instanceof JEP 359 : Records JEP 343 : Packaging Tool dans l’IncubatorStephen Colebourne râle sur le nouveau switch
Tricher le GC de Go avec du poids mort
le GC se declence tous les 2x de heap si pas d’alloc, ca veut dire qu’il vide jusqu’à 1x amis declenche des GC super fréquement donc en allouant (virtuellement) in tableau de 10Go, on reduit de temps entre GC le cout d’un concurrent mark sweep c’est de marquer les objets vivants (les morts ont peut de cout) et les co-routines pendant une phase de mark-sweep doivent faire un travaille de mark ce qui les ralenties donc moins de GC veut dire plus rapide c’est le cout a payer pour un GC avec 1 ou peu de parametres.Shenandoah: eliminer les mote de pointeurs en avant
Shenandoah bouge les objets sans mettre a jour ses pointeurs juste garde une copie dans l’objet meme de ses references puis mets a jour les references de maniere concurrente en parallele de l’appli et enfin peut virer les objets. par default Shenandoah demande un word supplémentaire par objet si le word == l’objet, on est normal, sinon il pointe vers la nouvelle copie de l’objet 5 à 10% de mémoire suppl´mentaire en pratique peut reutiliser le mark word mais comparaison chere surtout a faire a chaque read-barrier uniquement pendnt un GC et sur les objkets dans des colelctions set => peu frequents dans les tests le code de décoding supplémentaire est pas visible dans les benchmarks mais ils ont eliminé les read barrier en load-reference-barrier qui sont moins frequentes en nombre d’objet meilleure densité mémoire, moins de pression sur le CPU cache, plus de throughput Librairies Eclipse Collections, 10 raisons de les utiliser. Mapper des erreurs HTTP du REST client vers des exceptions avec Eclipse MicroProfile vert.x 3.8.4 Spring Boot 2.2.1, Spring Framework 5.2.2 and 5.1.12.Micronaut en Trial dans le tech radar de ThoughtWorks et Quarkus en assess
Middlewareun ensemble de projets (Camel, Camel K, Camel extensions pour Quarkus) nouveau site web Java 11 support et abandon de Java 8 durant 2020 Camel core modularisé et moins de classes à démarrer, reduire la reflection support de GraalVM via Quarkus DSL typesafe de definition de endpoint Coeur reactif Integration avec microprofile nouveaux composants ( - graphql - 4 more AWS components - Debezium components) InfrastructureSonatype racheté Annonce par Sonatype du rachat
par une boite de private equity… il est temps de backuper centralDocker à la découpe. Docker Enterprise racheté par Mirantis Les fondateurs de Google tournent la page
CloudAppEngine Java 11 Runtime FAQ. Pas bien les Fat JAR dans les images de conteneur Helm 3 est sorti
Web.org est vendu, sauvons les .org ( Ils ont réussit à fâcher Kohsuke ).
DataR2DBC 0.8 Exposer les entités persistées dans vos API ou pas
Plus simple, une seul objet plus compliquer des details d’implementations (nouveau champ d’un cote ou de l’autre) accumulation d’annotations pour abstraire ses mod¡eles (JSON, JPA) associations géré en proxy dans JPA et en id ou null dans API V2 de l’API aggregation des données dans l’API OutillageLa matrice arrive dans Jenkins Pipelines. Jenkins Health Advisor par CloudBees. L’experience zsh de Julien Ponge
Cédric explose le mythe du scripting vs déclaratif dans Gradle Comment éviter l’enfer des dépendances avec Gradle 6
MéthodologiesL’humain est résiliant aux chocs de la vie mais pas tant que cela `au chomage de longue durée
etude Plus on est dans un pays développé, plus on est heureux on est plus heureux maintenant qu’il y a quelques années (croissance) plus on est riche, plus on est heureux Loi, société et organisationSave your code on Software Heritage Archive.
Conférences Snowcamp du 22 au 25 janvier 2020 DevFest Paris le 14 février 2020 - Le CfP est ouvert. Breizhcamp du 25 au 27 mars 2020 - Le CfP est ouvert Devoxx France du 15 au 17 avril 2020 - Le CfP est ouvert - Les places sont réservées en 57h RivieraDev du 13 au 15 mai 2020 - Le CfP est ouvert Nous contacterSoutenez 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/
Fri, 13 Dec 2019 - 1h 40min - 221 - LCC 220 - Interview sur le métier de CTO avec Dimitri Baeli
Dans cet épisode, Dimitri Baeli est venu discuter avec Audrey et Emmanuel du métier de CTO et de Tech Rocks, la conf qui leur est dédiée (prochaine édition le 4 décembre 2019 à Paris).
Enregistré le 4 octobre 2019
Téléchargement de l’épisode LesCastCodeurs-Episode–220.mp3
Interview Ta vie ton oeuvre C’est quoi TechRocks ?Tech.Rocks c’est avant tout la volonté de construire un réseau de leaders tech qui échangent sur leur problématiques. Activités :
Une conférence annuelle: 4 Dec Des Meetups mensuels à Paris (et j’espère en province en 2020) Un Slack avec 500 CTOs Un groupe dit « Core » à vocation de Think Tank pour explorer les questions difficiles des grosses équipes. Un groupe restreint pour vraiment bien se connaître en croissance maîtrisée. Un podcast et quelques publications (salaires des CTOs) Les 6 aspects du metier Vision et decision TechQuels sont les “nice to have” dans une expérience professionnelle pour devenir CTO ?
Est ce qu’un CTO doit maîtriser toute la stack ?
Orga equipes (agilite, usine logicielle)Responsabilité dans le choix de l’organisation des équipes
Posture du CTO (Orga perso, négociateur, exemplaire, CoDir, …)C’est quoi la journée type d’un CTO ?
Est ce que l’on peut être CTO et avoir une vie perso ?
Quelles sont les différentes facettes du rôle de CTO ?
Management & LeadershipQuel est le rôle du CTO en terme de management ?
Et si tu dois te faire accepter par une équipe déjà constituée ?
Board : Quand tu rentres dans une boite, comment tu vérifies que tu as carte blanche.
Le recrutementComment monter ton équipe au tout départ ? Tu prends plutot quelques personnes chacunes spécialisées dans son truc ou tu prends des profils plus généralistes ?
Comment identifier les profils dont tu as besoin quand l’équipe grossit ?
Product Management (implication)La feature pour le client X vs travail plus générique et réutilisable par tous les clients
Vente et client Conclusion Nous contacterSoutenez 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/
Tue, 03 Dec 2019 - 1h 26min - 220 - LCC 219 - En direct de Devoxx Belgium 2019
Episode en direct de Devoxx Belgique où nous vous donnons nos talks préférés.
Enregistré le 8 novembre 2019
Téléchargement de l’épisode LesCastCodeurs-Episode–219.mp3
Direct de DevoxxTous les talks sont disponible sur YouTube. Utilisez la fonction recherche ensuite. Si vous trouvez un talk, ouvrez une pull request sur Le GitHub des cast codeurs pour améliorer ses shownotes et mentionnez @emmanuelbernard. Merci :)
KeynotesAudrey Vidéo Venkat Vidéo Security Vidéo
TrendsBeaucoup de core java: cadence 6 mois, loom GraalVM / Micronaut / Quarkus / Spring Boot
Event driven / Kafka AI / ML Microservices K8s et cloud patterns Kotlin Security appliquée (web, microservices) Serverless Ops CI / CD Reactive (co-routines, reactive tx)
Peu d’infos surPeu de front Pas/peu d’android
Microprofile (connu)
Conferences UI micro frontendMicro FrontEnd new Relic Nerdlet nerdpack
Looks like modules in Java Shared dependencies Several artifacts like view, app, overlay, extension points
Consistent error and logging Layout management
SDK for url state sharing, config et components UI partages
Unified GraphQL server between front ends and Microservices backend
Sacrificed freedom of teams for better parallel work
Feedback :
Communication is still key Find the right balance Docker build systemsBuildKit API for the docker file directives But needs golang
Jib Uses maven envrionment No need for docker daemon, creates the right tarball and push it
negative:
maven only does not cache maven dependencies not very extensibleBuildpacks.io
CNCF sandbox Can create different packs Needs a CLI
Diabolical developer These Songs Would Make Some Great Code CommentsComment réussir ton talk de ChetAussi l’initiative Young blood du ParisJUG
Dev oops JUnit 5 KotlinBootiful Kotlin
Visitor pattern avec les lambdasDe José Paumard
Victor sur refactoring pendant trois heures IntroversionCédric Champeau sur sa vie d’introverti
Nous contacterSoutenez 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/
Wed, 13 Nov 2019 - 59min
Podcasts semelhantes a Les Cast Codeurs Podcast
- Au Cœur de l'Histoire Europe 1
- Hondelatte Raconte - Christophe Hondelatte Europe 1
- La libre antenne - Olivier Delacroix Europe 1
- Les Récits extraordinaires de Pierre Bellemare Europe 1 Archives
- Les pieds sur terre France Culture
- franceinfo: Les informés France Info
- Affaires sensibles France Inter
- Grand bien vous fasse ! France Inter
- C dans l'air France Télévisions
- LEGEND Guillaume Pley
- Le Coin Du Crime La Fabrique Du Coin
- CRIMES • Histoires Vraies Minuit
- Franck Ferrand raconte... Radio Classique
- La dernière Radio Nova
- L'After Foot RMC
- Super Moscato Show RMC
- Confidentiel RTL
- Entrez dans l'Histoire RTL
- Héros RTL
- Les Grosses Têtes RTL
- Les histoires incroyables de Pierre Bellemare RTL
- L'Heure Du Crime RTL
- L'œil de Philippe Caverivière RTL
- Parlons-Nous RTL