Podcasts about codeurs

  • 25PODCASTS
  • 264EPISODES
  • 1h 2mAVG DURATION
  • 1MONTHLY NEW EPISODE
  • Nov 8, 2024LATEST

POPULARITY

20172018201920202021202220232024


Best podcasts about codeurs

Latest podcast episodes about codeurs

Les Cast Codeurs Podcast
LCC 318 - La faille sous la faille sous la faille

Les Cast Codeurs Podcast

Play Episode Listen Later Nov 8, 2024 83:53


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 Langages Le 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 Librairies On 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 Belgique Quarkus 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.3 Integrer 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 Spring Comment 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 Cloud Google 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: Web La 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 Artificielle TSMC 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ïwanaises Open 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 moment Debezium 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. Outillage Vous 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 maven GitHub 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éthodologies Les 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 Java Keycloak 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 accessible Avec 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, 2024 La 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 organisation La 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 fondation En 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ébutant Un 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 Anything Morgan 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érences La 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 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/

Les Cast Codeurs Podcast
LCC 317 - les nouvelles paramétriques

Les Cast Codeurs Podcast

Play Episode Listen Later Oct 21, 2024 81:56


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 Langages Java 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 va Un 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 applicatives Apple 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 sens The 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. Librairies Paramé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 Infrastructure Turbocharged 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. Web C'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'offre Les 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 Artificielle Conseils 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ées Encore 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 aditions Self 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 Outillage Article 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 organisation Introduction 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'épisode Un 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érences La 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 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/

Les Cast Codeurs Podcast
LCC 315 - les températures ne sont pas déterministes

Les Cast Codeurs Podcast

Play Episode Listen Later Sep 17, 2024 110:08


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 Langages Netflix 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/8303099 Les 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 Librairies Micronaut 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épendances Microprofile 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 incompatibles Quarkus 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és Les 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. Infrastructure CockroachDB 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/ Cloud Azure 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 Web Sortie 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 Artificielle On 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 quand OSI 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 Outillage Un 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 Architecture Un 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éthodologies Guillaume 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 organisation Microsoft 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 MS ElasticSearch 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'épisode MailMate 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 crois Trippy, un analyseur de réseau https://github.com/fujiapple852/trippy Il regroupe dans une CLI traceroute et ping Conférences La 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 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/

Les Cast Codeurs Podcast
LCC 314 - 1000 fois 1000 dépendances

Les Cast Codeurs Podcast

Play Episode Listen Later Jul 16, 2024 83:11


Emmanuel, Guillaume et Arnaud discutent des nouvelles de l'été. JEPs, transactional outbox pattern avec Spring, LLM dans Chrome, faille polyfill.io, TOTP, congés illimités et IDE payant ou pas payant ? Enregistré le 12 juillet 2024 Téléchargement de l'épisode LesCastCodeurs-Episode-314.mp3 News Langages Les fonctionnalités de JDK 23 ont été figées début Juin (release prévue en septembre) https://openjdk.org/projects/jdk/23/ https://www.youtube.com/watch?v=kzjGp7LmW0I JEPs finales: 467: Markdown Documentation Comments 471: Deprecate the Memory-Access Methods in sun.misc.Unsafe for Removal 474: ZGC: Generational Mode by Default JEPs en incubation / preview 455: Primitive Types in Patterns, instanceof, and switch (Preview) 466: Class-File API (Second Preview) 469: Vector API (Eighth Incubator) 473: Stream Gatherers (Second Preview) 476: Module Import Declarations (Preview) 477: Implicitly Declared Classes and Instance Main Methods (Third Preview) 480: Structured Concurrency (Third Preview) 481: Scoped Values (Third Preview) 482: Flexible Constructor Bodies (Second Preview) Librairies Le transactional outbox pattern avec Spring Boot https://www.wimdeblauwe.com/blog/2024/06/25/transactional-outbox-pattern-with-spring-boot/ transactional outbox permet d'éviter des 2PC ou des désynchronisations de resources: typiquement un commit dans une base et un envoie de message dans un bus on ecrit le message dans une table de la base de données, et un process séparé récupère les messages et les envoient dans le bus implémentation utilise Spring Integration dans l'article, la seconde resource est l'envoie d'email montre une approche de tests le flow descrit pas psring integration est pas super trivial a lire quand on est pas familier mais cela poll la table toutes les secondes et envoie email et si succes de l'appel de service, vide le message de la table Deuxieme exemple avec Spring modulith qui a un event bus interne qui peut être persisté décrit les differences avec spring integration et les limites de l'approche modulith (message order, retry etc) Comment tester des valeurs de propriétés différentes dans un test Quarkus https://quarkus.io/blog/overriding-configuration-from-test-code/ on a tendance a ne pas tester les propriétés de config ce blog montre 5 (enfin 4 utiles) façons de le faire avec Quarkus. les profils de test, mocker l'objet de config, les test components (experimental), l'injection dans les constructeurs Quarkus 3.12 https://quarkus.io/blog/quarkus-3-12-0-released/ centralisation des configs TLS support pour le load shedding (reject requests on service overload) événements JFR specific a Quarkus native image agent support Spring Boot 3 (compat layer) Support Kotlin 2 etc Cloud On vous parlait dans un épisode précédent de ce problème de coûts S3 sur des requêtes non autorisées. C'est Graphana Loki qui a mis ce problème sous les projecteurs https://grafana.com/blog/2024/06/27/grafana-security-update-grafana-loki-and-unintended-data-write-attempts-to-amazon-s3-buckets/ le problème venait des valeurs par défaut des buckets déclarés dans le chart helm de Loki, en particulier celui nommé ‘chunks' Data et Intelligence Artificielle Guillaume avait partagé l'information sur la disponibilité prochaine d'un mini modele LLM dans chrome. C'est maintenant une réalité et vous pouvez le tester. https://ai-sdk-chrome-ai.vercel.app/ Nécessite Chrome 127 (version stable à partir de mi-juillet) Utilise le SDK Vercel AI Guillaume nous parle de toutes les nouveautés liées au modèle Gemini de Google dans la dernière release de LangChain4j https://glaforge.dev/posts/2024/07/05/latest-gemini-features-support-in-langchain4j/ Outillage 1% des utilisateurs de Maven Central utilisent 83% de sa bande passante. Installez un repository manager qui fait proxy (et cela pour tous les types de dépendances)!!! https://www.sonatype.com/blog/maven-central-and-the-tragedy-of-the-commons rien n'est réellement gratuit et l'abus d'une minorité peut nuire à l'ensemble. Cela fait maintenant plus de 20 ans que les communautés le répète: installer un gestionnaire de dépendances dans votre infrastructure (nexus, artifactory, CodeArtifact, …). En plus de protéger le bien commun cela vous permet de raffiner le filtrage des dépendances, d'assurer la reproductibilité de vos builds, d'optimiser les performances (et réduire les coûts) en ne téléchargeant que depuis votre propre infrastructure, etc … Maven Central est un commun qui ne coute rien à l'utilisteur mais qui est indispensable à tous 1000 milliards de téléchargements l'année dernière 83% de la bande passante consommé par 1% des IPs Beaucoup des ces IP viennent des companies les plus larges proxy pour réduire charge sur central, réduire couts ingress/egress ils vont implementer un mécanisme de throttling question est-ce que la concentration des IPs veut juste dire que c'est le dernier noeud mais que cacher n'est pas effectif pour eux et qu'il y a des milliers de clients derrière une IP? le trotting ferait mal et le proxy ne marche plus dans un monde ou le dev est dans le cloud et distribue géographiquement Comment mettre en place backstage, ici avec un projet Spring Boot utilisant CircleCi, Renovate, SonarCloud… https://piotrminkowski.com/2024/06/13/getting-started-with-backstage/ Cet article explique comment utiliser backstage pour fournir à vos équipes un template d'une application spring-boot. Elle est automatiquement crée sous forme d'un repository git(hub) avec les integrations classiques pour gérer la CI (via CircleCI), la qualité (via SonarCloud), la mise à jour de dépendances (via Renovate) et bien sur son référencement sur le portail backstage. tutoriel tres complet tres facilement remplacable pour un project avec votre technologie preferee (pas specifique a Spring Boot, ou Java) Architecture Que se passe t'il quand vous faites un push sur GitHub? https://github.blog/2024-06-11-how-we-improved-push-processing-on-github/ GitHub explique comment ils ont amélioré leur architecture, notamment en mettant en place Kafka pour distribuer les actions qui découlent d'un push sur GitHub. paralelisation des taches (avant sequentiel) limitation des dependances entre etapes effectuées lors d'un push plus de taches peuvent faire un retry un classique de decoupling via un EDA Sécurité Attaque du CDN polyfill.io https://sansec.io/research/polyfill-supply-chain-attack polyfill c'est un support de nouvelles fonctionalites dans les ancien navigateurs servi par cdn notamment une societe chinoise a achete le domaine et le github et injecte du malware qui pointe sur des serveurs qui servent le malware selectivement (device, admin ou pas, heure de la journée) Fastly et Cloudflare on des deploiements alternatiuve Une faille de sécurité, de type Remote Code Execution, vieille de 10ans, dans CocoaPods, un gestionnaire de dépendances très utilisé dans le monde Apple (macOS et iOS) https://securityboulevard.com/2024/07/cocoapods-apple-vulns-richixbw/ https://cocoapods.org/ / https://cocoapods.org/ est un gestionnaire de dépendances pour les projets Xcode. Les dependances (Pods) sont publiées sous forme de Specs qui sont référencées dans un Specs Repo (une sorte de Maven central mais seulement avec des metadonnées) CVE-2024-38366 est une vulnérabilité de type remote code execution avec un score CVSS de 10 La faille existait depuis 10 ans et a été corrigée en Sept 2023. Elle permettait d'avoir un accès root sur trunk.cocoapods.org qui stock les Specs. Elles auraient donc pu être modifiées sans que les auteurs ne s'en apperçoivent. Pas de preuve pour l'instant que la faille ait été exploitée Mieux comprendre la double authentification avec TOTP https://hendrik-erz.de/post/understanding-totp-two-factor-authentication-eli5 Cet article revient sur le fonctionnement de TOTP et comment l'implementer avec des exemples en python the QR code est une URL qui contient: le secret en base 32. le nom du totp, qui a fournit le TOTP, combien de chiffres et la durée de vie du TOTP pour generer les chiffres, prends le secret, le temps et hash le tout, prendre 4 bytes et les convertir le chiffres typiquement le serveur genere les deux d'avant, les deux d'apres et le courant pour comparer Loi, société et organisation L'équipe Apache Maven gagne le troisième prix BlueHats https://nlnet.nl/bluehatsprize/2024/3.html le projet remporte un gain de 10000€. Ce prix est organisé par le gouvernement français afin de récompenser les projets open sources les plus impactants. La clause de congés illimités en Europe https://www.osborneclarke.com/insights/why-your-unlimited-vacation-policy-may-be-of-limited-use-in-europe Les politiques de congés illimités, populaires aux États-Unis, ne sont pas aussi avantageuses en Europe. En Europe, les employeurs doivent suivre les congés pris pour respecter les minima légaux de quatre semaines par an donc ils ne peuvent pas economiser sur le faire de ne plus les gérer. Les congés illimités permettent aux US de ne plus à devoir les payer au départ de l'employé. En Europe les employeurs doivent payer les congés non utilisés lors de la fin du contrat. Les employés européens pourraient prendre davantage de congés, car ils sont mieux protégés contre le licenciement. Les jours de maladie sont plus cadrés en europe. Un employé qui souffre d'une maladie longue pourrait utiliser les congés illimités mais ce ne sont pas les même règles qui s'appliquent OpenDNS n'est plus disponible en France et au Portugal https://support.opendns.com/hc/en-us/articles/27951404269204-OpenDNS-Service-Not-Available-To-Users-In-France-and-Portugal A priori Cisco qui opère openDNS en a marre des demandes de restrictions spécifiques à nos pays et préfère donc retirer entièrement l'accès au service plutôt que de se conformer à la nième demande de restrictions qui faisait suite à la plainte du groupe Canal+ portant sur l'accès à des sites illicites de streaming pour du sport Ask Me Anything Salut ! Êtes-vous plutôt IDE payants (ex : IJ Ultimate, ou des plugins payants), ou ne jurez-vous que par des outils gratuits ? Un peu des deux ? Si adaptes du payant, ça ne vous déprime pas qu'un nombre considérable d'employeurs rechignent à nous payer nos outils ? Que “de toute façon VSCode c'est gratuit” (à prononcer avec une voix méprisante) ? Quid du confort, ou de la productivité et/ou qualité accrue quand on maîtrise de tels outils ? Merci ! Conférences La liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs : 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 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/

Les Cast Codeurs Podcast
LCC 310 - Les Cast Codeurs à Devoxx France 2024 : sous-titre édition

Les Cast Codeurs Podcast

Play Episode Listen Later Apr 24, 2024 52:46


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 News L'enregistrement en direct de Devoxx France 2024. 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/

Les interviews d'Inter
Nathalie Azoulai : "Les codeurs informatiques ont un pouvoir d'écriture comparable aux scribes du Moyen-Âge"

Les interviews d'Inter

Play Episode Listen Later Jan 13, 2024 11:18


durée : 00:11:18 - L'invité de 7h50 du week-end - A 7h50 aujourd'hui, l'invitée du 6-9 est Nathalie Azoulai, écrivaine, elle vient de publier le roman "Python" aux éditions POL. Elle y raconte l'histoire d'une quinquagénaire qui est prise de l'envie de se mettre à ce langage.

Les Cast Codeurs Podcast
LCC 301 - Minoritaire ou majoritaire, là est la question!

Les Cast Codeurs Podcast

Play Episode Listen Later Oct 23, 2023 105:39


Dans cet épisode, Emmanuel et Guillaume reviennent sur les nouveautés de l'écosystème Java (Java 21, SDKman, Temurin, JBang, Quarkus, LangChain4J, …) mais aussi sur des sujets plus généraux comme Unicode, WebAssembly, les bases de données vectorielles, et bien d'autres sujets orientés IA (LLM, ChatGPT, Anthropic, …). Enregistré le 20 octobre 2023 Téléchargement de l'épisode LesCastCodeurs-Episode-301.mp3 News Langages Gérer facilement des versions multiples de Java grâce à SDKman https://foojay.io/today/easily-manage-different-java-versions-on-your-machine-with-sdkman/ sdkman support java mais aussi graalVM, jbang, Quarkus, Micronaut etc (les CLIs) la CLI UI est toujours un peu chelou donc cet article est utile pour un rappel Tous les changements de Java 8 à Java 21 https://advancedweb.hu/a-categorized-list-of-all-java-and-jvm-features-since-jdk-8-to-21/ Nous avons déjà partagé ce lien par le passé, mais l'article est mis à jour à chaque release majeure de Java pour couvrir les dernières nouveautés. Et en particulier, Java 21 qui vient de sortir. Eclipse Temurin ne va pas sortir son Java 21 tout de suite https://adoptium.net/en-GB/blog/2023/09/temurin21-delay/ Apparemment, une nouvelle licence pour le TCK (qui valide la compliance) doit être approuvée Oracle semble avoir sorti de nouveaux termes, à quelques jours de la sortie officielle de Java 21 la mise a jour du TCK est arrivée le 9 octobre. comment Microsoft a pu sortir le sien avant? Le Financial Times propose un bel article avec des animations graphiques expliquant le fonctionnement de l'architecture de réseau de neurones de type transformers, utilisé dans les large language model https://ig.ft.com/generative-ai/ LLM via relation entre les mots notion de transformer qui parse les “phrases” entières ce qui capture le contexte discute le beam search vs greedy search pour avoir pas le prochain mot mais l'ensemble de prochains mots parle d'hallucination l'article parle de texte/vector embeddings pour représenter les tokens et leurs relations aux autres il décrit le processus d'attention qui permet aux LLM de comprendre les associations fréquentes entre tokens le sujet des hallucinations est couvert et pour éviter des hallucinations, utilisation du “grounding” The Absolute Minimum Every Software Developer Must Know About Unicode in 2023 https://tonsky.me/blog/unicode/ Un bel article qui explique Unicode, les encodings comme UTF-8 ou UTF-16, les code points, les graphèmes, les problèmes pour mesurer une chaîne de caractères, les normalisation de graphèmes pour la comparaison de chaîne Si vous voulez mieux comprendre Unicode, c'est l'article à lire ! unicode c'est un mapping chiffre - caractère en gros 1,1 millions disponibles dont 15% définis et 11% pour usage privé, il reste de la place. Et non les meojis ne prennent pas beaucoup de place. usage prive est par exemple utilise par apple pour délivrer le logo apple dans les fonts du mac (mais pas ailleurs) UTF est l'encoding du chiffre de l'unicode UTF-32: 4 bytes tout le temps, UTF-8, encodage variable de 1 a 4 bytes (compatible avec ASCII) ; il a aussi un peu de détection d'erreurs (prefix des bytes différents), optimise pour le latin et les textes techniques genre HTML problème principal, on peut pas déterminer la taille en contant les bytes ni aller au milieu d'une chaine directement (variable) UTF-16 utilise 2 ou plus de bytes et est plus sympa pour les caractères asiatiques un caractère c'est en fait un graphème qui peut être fait de plusieurs codepoints : é = e U+0065 + ´ U+0301 ; ☹️ (smiley qui pleure) is U+2639 + U+FE0F D'ailleurs selon le langage “:man-facepalming::skin-tone-3:”.length = 5, 7 (java) ou 17 (rust) ou 1 (swift). Ça dépend de l'encodage de la chaine (UTF-?). ““I know, I'll use a library to do strlen()!” — nobody, ever.” En java utiliser ICU https://github.com/unicode-org/icu Attention java.text.BreakIterator supporte une vieille version d'unicode donc c'est pas bon. Les règles de graphème change a chaque version majeure d'unicode (tous les ans) certains caractères comme Å ont plusieurs représentations d'encodage, donc il ya de la normalisation: NFD qui éclate en pleins de codepoints ou NDC qui regroupe au max normaliser avant de chercher dans les chaines certains unicode sont représentés différemment selon le LOCALE (c'est la life) et ça continue dans l'article JBang permet d'appeler Java depuis Python via un pypi https://jbang.dev/learn/python-with-jbang/ c'est particulièrement interessant pour appeler Java de son Jupyter notebook ça fait un appel a un autre process (mais installe jbang et java au besoin) Librairies Quarkus 3.4 est sorti https://quarkus.io/blog/quarkus-3-4-1-released/ un CVE donc mettez a jour vos Quarkus support de Redis 7.2 plus de granularité sur la desactivation de flyway globalement ou par data source. Depuis l'activation transparente et automatique en 3.3 quarkus update est l'approche recommandée pour mettre à jour. Comment tester si un thread virtuel “pin” https://quarkus.io/blog/virtual-threads-3/ exemple avec quarkus comment générer la stackstrace et un utilitaire JUnit qui fait échouer le test quand le thread pin une série d'articles de Clements sur les threads virtuels et comment les utiliser dans quarkus https://quarkus.io/blog/virtual-thread-1/ À la découverte de LangChain4J, l'orchestration pour l'IA générative en Java https://glaforge.dev/posts/2023/09/25/discovering-langchain4j/ Guillaume nous parle du jeune projet LangChain4J, inspiré du projet Python LangChain, qui permet d'orchestrer différents composants d'une chaine d'IA générative Grâce à ce projet, les développeurs Java ne sont pas en reste, et n'ont pas besoin de se mettre à coder en Python LangChain4J s'intègre avec différentes bases vectorielles comme Chroma ou WeAviate, ainsi qu'une petite base en mémoire fort pratique LangChain4J supporte l'API PaLM de Google, mais aussi OpenAI Il y a différents composants pour charger / découper des documents et pour calculer les vector embeddings des extraits de ces documents Vidéo enregistrée à Devoxx sur ce thème : https://www.youtube.com/watch?v=ioTPfL9cd9k Infrastructure OpenTF devient OpenTofu https://www.linuxfoundation.org/press/announcing-opentofu Dans les Dockerfiles, on peut utiliser la notation “heredocs” exclu fondations et sociétés commerciales, inclues défini des classes de logiciels de non critique a classe 1 et 2 doit faire un risk assessment avant de livrer (pas de bug de sécurité, secure par défaut, security update) de la doc sur le process d'évaluation des risques et un SBOM notamment notifier d'ici 24h d'une vulnerabilité il y a une campagne #fixthecra Des protestations contre l'ouverture des modèles d'IA de Meta https://spectrum.ieee.org/meta-ai ouvrir les modèles et leurs poids permets aux acteurs de bypasser les restrictions (biais etc) donc des gens de Meta protestent contre la politique open source de Meta dans ce domaine l'argument c'est qu'un modele derrière une API peut êtres éteint les partisans de l'avis contraire pointent que contourner les restrictions de ChatGPT ont été triviales jusqu'à présent et que l'obscurité amène a un déficit de transparence, de connaissance du public. va affecté les chercheurs indépendants cela dit ce n'est pas open source pur car les sources et comment le modele est entrainé est peu publié OSI travaille a une définition d'OpenSource AI Un site pour mettre une pause à l'IA: https://pauseai.info/ NOUS RISQUONS DE PERDRE LE CONTRÔLE NOUS RISQUONS L'EXTINCTION DE L'HUMANITÉ NOUS AVONS BESOIN D'UNE PAUSE NOUS DEVONS AGIR IMMÉDIATEMENT Il y a un agenda des manifestations a travers le monde (Londres, Bruxelles, SFO… mais où est Paris?) Twitter/Discord/Facebook/TikTok/LinkedIn Alors qui va gagner la course à l'extinction de l'humanité? la guerre, le réchauffement climatique ou l'IA? Sarah Connor !!! Outils de l'épisode Un querty adapté pour les lettres à accent https://altgr-weur.eu/ (via Thomas Recloux) Conférences Toutes les vidéos de Devoxx Belgique sont disponibles https://www.youtube.com/@DevoxxForever Hacktoberfest, édition 10 https://hacktoberfest.com/ La liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs : 26 octobre 2023 : Codeurs en Seine - Rouen (France) 26-27 octobre 2023 : Agile Tour Bordeaux - Bordeaux (France) 26-29 octobre 2023 : SoCraTes-FR - Orange (France) 30-31 octobre 2023 : Asynconf Event - Paris (France) & Online 2-3 novembre 2023 : Agile Tour Nantes - Nantes (France) 3 novembre 2023 : XCraft - Lyon (France) 7 novembre 2023 : DevFest Sophia-Antipolis - Sophia-Antipolis (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) 6-8 décembre 2023 : API Days Paris - 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) 1 février 2024 : AgiLeMans - Le Mans (France) 15-16 février 2024 : Touraine Tech - Tours (France) 6-7 mars 2024 : FlowCon 2024 - Paris (France) 14-15 mars 2024 : pgDayParis - 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) 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) 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) 6-7 juin 2024 : DevFest Lille - Lille (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) 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/

Les Cast Codeurs Podcast
LCC 299 - Katia est dans la place !

Les Cast Codeurs Podcast

Play Episode Listen Later Sep 11, 2023 79:59


  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 Langages Apache 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 2015 Java 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! Librairies Semantic 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 Infrastructure Une 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? Web NodeJS 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 Data Redis 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/ Architecture Article 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 GPUs Meta 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 negatif Kubeflow 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éthodologies Measuring 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.html Et 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) Internal Developer Platform Cognitive load Team topologies 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 Ryzen Comment 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 organisation Une 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 facile HashiCorp 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/announcement Stack 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érences La 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 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/

Les Cast Codeurs Podcast
LCC 298 - De l'IA à toutes les sauces

Les Cast Codeurs Podcast

Play Episode Listen Later Jul 24, 2023 103:52


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 Langages La 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és GPT 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 GPT4 Le 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é — vrai InfoQ 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 Librairies Sortie 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/ Infrastructure Red 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 distribuer SUSE 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 Web Google 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 2023 Petite introduction à WebGPU en français https://blog.octo.com/connaissez-vous-webgpu/ Data Avec 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 Outillage Le 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ès Des 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 commandes Le 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 Architecture Moderniser 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 cloud Demis 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éthodologies Approcher 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 organisation Mercedes 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éma Free 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 jeu La 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 dommages Octave 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éennes Yann 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érences La 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 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/

Signaux faibles
Succès record pour Threads, les codeurs en Inde menacés, l'enquête sur les Uber Files est terminée… Les signaux du jour

Signaux faibles

Play Episode Listen Later Jul 19, 2023 9:43


Dans cet épisode, 4 actualités sont décodées. La première concerne les restrictions des États-Unis sur les puces à l'encontre de la Chine, qui pourraient nuire à l'industrie américaine et contrer les effets des subventions. La deuxième actualité porte sur Threads, le rival de Twitter qui connaît toujours un succès fulgurant, mais qui attire l'attention des régulateurs. Sans oublier : la commission d'enquête parlementaire a rendu ses conclusions sur les Uber Files, et la plupart des codeurs externalisés en Inde pourraient disparaître dans les 2 ans à cause de l'intelligence artificielle.Les épisodes de Signaux faibles sont disponibles sur Siècle Digital et les plateformes de streaming. Hébergé par Acast. Visitez acast.com/privacy pour plus d'informations.

Les Cast Codeurs Podcast
LCC 297 - Lockless design

Les Cast Codeurs Podcast

Play Episode Listen Later Jun 12, 2023 73:42


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 Langages Lors 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 paf Les 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é Librairies Guava 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 Google Comment 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/ Infrastructure Debezium 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 Enterprise Un 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 lire Post 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 Cloud Le 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é Outillage Podman 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 mock Pourquoi 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'oeuf Simplifier 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 javaagent Les 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 heures Just, 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éthodologies AWS 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ées Un 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 organisation Migration 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érences Aurelie 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 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/

Les Cast Codeurs Podcast
LCC 295 - La librairie rentre dans le cadre

Les Cast Codeurs Podcast

Play Episode Listen Later May 15, 2023 92:29


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 Langages Un 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 vendeurs Java 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 dessus PDF 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ées L'é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 6 Une 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 soleil Micronaut 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 Infrastructure 5 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 ports code est meilleur mais synchro front back toujours un probleme en pratique erreurs, plus simple en rest avec les codes HTTP a debugger et monitorer version free est une mensonge, les schemas ne peuvent etre cassés pagination est compliqué et non standard et caching est primitif comparé a REST n+1 probleme comme dans les ORMs ou alors dataloaders qui amene de la complexité securite est plus compliqué a cause de la nav libre de GraphQL ecosysteme pas super mature pour les besoins encore et paradoxalement tres complexe Méthodologies Trends technologie et culture par InfoQ https://www.infoq.com/articles/culture-trends–2023/ les licenciement ont cassé les effets de psychological safety dans l'industrie les IA genratives ont un impact fort sur la productivité du développeur mais aussi avec des faiblesses significatives au dela du legal, les responsabilités societales deviennent plus importantes pour retenir employés et clients Le travail asynchrone devient plus accepté socialement et adopter les practiques apportent des bénéfices réels Le travail hybride devient la norme, amener les gens ensemble devient un choix délibéré, plus un horaire fixe Loi, société et organisation Red Hat fête ses 30 ans ! (limite, on n'était même pas nés, hein ?) https://www.redhat.com/en/blog/red-hat–30th-anniversary-celebrating-red-hat-day-north-carolina Red Hat licencie 4% de ses employés https://wraltechwire.com/2023/04/24/red-hat-cutting-hundreds-of-jobs-ceo-says-in-letter-to-employees/ IBM avait annoncé 3900 licenciements il y a peu et cela monte à 5000 avec les licenciements chez Redhat (les effectifs étaient de 2200 à Raleigh et 19000 à l'international) Licenciements suite au contexte économique post Covid, les revenus trimestriels de redhat n.ont été que de 8% en Q1 alors que la croissance était de 15 depuis l'acquisition de redhat par ibm en 2019 Crazy Bob est décédé :scream: https://www.sfgate.com/bayarea/article/mill-valley-man-killed-sf-stabbing–17878809.php Annonce sur TechCrunch https://techcrunch.com/2023/04/05/bob-lee-creator-of-cash-app-and-former-cto-of-square-stabbed-to-death/ Il avait créé le framework Guice, d'injection de dépendance, mais aussi Dagger Il a contribué aux librairies d'Android Il avait proposé une syntaxe alternative aux lambda : CIC Il a coécrit le livre Bitter EJB https://www.manning.com/books/bitter-ejb Il avait des idées bien tranchées, anti-Spring, anti-Groovy (pro-BeanShell), anti-lambda (tels qu'on les connait aujourd'hui) Guillaume l'avait rencontré pour la première fois en 2007 https://blog.octo.com/javaone–2007-et-groovy-chez-google/ Les gens partagent leurs souvenirs sur ce thread sur HackerNews https://news.ycombinator.com/item?id=35457341 10 millions de comptes sur Mastodon https://mastodon.social/@mastodonusercount/110051957865629817 Peut-être pas 10 millions de comptes actifs, mais d'autres commentateurs estiment le nombre d'actifs serait plutôt de 6 à 7 millions actifs, pour effectivement 10 millions de comptes créés donc certains inutilisés ou disparus (serveur disparu) Gordon Moore meure à 94 ans https://www.lemonde.fr/economie/article/2023/03/26/mort-de-gordon-moore-entrepreneur-par-accident-et-cofondateur-d-intel_6167037_3234.html#xtor=AL–32280270-%5Bdefault%5D-%5Bios%5D chimiste de formation, il refuse de bosser autour de la bombe atomique et fini dans la silicon valley fonde un des premiers semiconducteurs (plusieurs transistors ensemble) Intel sera un des rpemier a parier sur le silicium (pour construire de la mémoire) et un des premiers a faire une puce intégré regroupant plusieurs fonctions Twitter open source ses algorithmes de recommendation https://blog.twitter.com/engineering/en_us/topics/open-source/2023/twitter-recommendation-algorithm on retrouve le code source sur Github https://github.com/twitter/the-algorithm-ml et quelqu'un a déjà trouvé où il y a des clauses particulières pour le cas où un tweet vient d'Elon Musk, où un tweet vient d'un républicain ou d'un démocrate https://uwyn.net/@danluu@mastodon.social/110119479811452246 L'algorithme de Twitter https://aakashgupta.substack.com/p/the-real-twitter-files-the-algorithm analyse sans sensation trois étapes: aggravation des données, construction des “features”, mixage Followers, nos tweets et nous Plus gros booster likes 30x, puis retweet 20x Features: SimCluster: groupe par categories/personnes le tweet Feature: TwHIN: vecteur de prediction d'engagement pour un tweet donné Features: RealGraph, prend le tweet, the tweeter et le tweeté et construit un graphe pondéré de potentiel d'interaction Règles de confiance et securité: élimine certains sujets (cela censure plus depuis Elon Musk) Mixer: prend tout et construit la “timeline” Utilisateur répond aux réponses: x75 En fait que 80% du code ouvert The end of faking it in silicon valley https://www.nytimes.com/2023/04/15/business/silicon-valley-fraud.html les startup qui brulaient du cash sans business model clair proces et prisons pour falsification de données clients le approches non etique ne sont plus ignorées avant les investisseurs avaient peur de se mettre les createur de boite a dos, maintenant, l'argent vaut cher “finding out who is swimming naked when the tide goes out” Warren Buffet “It feels like we were in a nightclub and the lights just turned on” ils vont evaluer plus exhaustivement les foundateurs le probleme c'est que VC c'est sur la confiance (one way au moins) et que la c'est cassé Rubrique débutant On parle souvent de librairies et de frameworks, mais c'est quoi la différence ? https://www.red-gate.com/simple-talk/development/other-development/the-difference-between-libraries-and-frameworks/ Une librairie est une collection de classes, de fonctions, de code, que l'ont peut utiliser pour des tâches spécifiques, pour éviter au développeur de réinventer la roue (par exemple une librairie comme Joda Time qui permet de simplifier / codifier la représentation du temps) Il y a différents types de librairies : des librairies statiques ou dynamiques, suivant si elles sont chargées au runtime ou bien attachées au code que l'on compile. Il y a des librairies standards (comme celles venant du JDK et donc inclues avec lui) ou des librairies tierces (que l'on va par exemple trouver sur Maven Central) Un framework (un “cadriciel” en bon françois) c'est aussi un ensemble de code, mais aussi de librairies, qui va offrir un cadre de développement pour ses applications. Par exemple un framework web qui permet de créer des applications web plus facilement, ou Tensorflow pour développer de nouveaux algorithmes d'intelligence artificielle, ou Unity pour développer des jeux vidéos Mais un framework est effectivement plus “cadrant” dans le sens où on doit suivre ses recommendations sur comment structurer son code, comment étendre des classes ou interfaces du framework, etc. ainsi que les bonnes pratiques et parfois une boite a outil “prete a l'emploi vs assemblage article decrit les pour et les contre Conférences Une liste de conférences Java https://javaconferences.org/ La liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs : 10–12 mai 2023 : Devoxx UK - London (UK) 12 mai 2023 : AFUP Day - Lille & 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) 1–2 juin 2023 : Agile Tour Toulouse - Toulouse (France) 2 juin 2023 : Flutter Connection - Paris (France) 2–3 juin 2023 : Sud Web - Toulouse (France) 7 juin 2023 : Serverless Days Paris - Paris (France) 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) 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) 8 septembre 2023 : JUG Summer Camp - La Rochelle (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 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/

Je pense donc j'agis
Apprendre à coder dès le plus jeune âge : pourquoi c'est une bonne idée ?

Je pense donc j'agis

Play Episode Listen Later May 3, 2023 58:03


Python, PHP, C++, HTML, javaScript, voilà quelques exemples de langages informatiques. Des effets positifs résultent de l'apprentissage du codage informatique dès le jeune âge. Avec Nathalie Kuborn, fondatrice de We are coders et Younès Derbani, fondateur des Codeurs en herbe. Pour aller plus loin : le projet Creative Digital Youth propose des cours, stages et ateliers STEAM gratuits pour les jeunes les plus vulnérables, dont un espace d'apprentissage au code pour les jeunes avec TSA (Trouble du Spectre de l'Autisme).

Les Cast Codeurs Podcast
LCC 287 - Celui qu'Antonio avait oublié!

Les Cast Codeurs Podcast

Play Episode Listen Later Nov 2, 2022 64:40


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 Langages La 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 matching Proposition 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 Librairies Spring 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 CLI Sortie 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/ Web WASMtime 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 Outillage Amé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 concept Nouvelle 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 Architecture Netflix 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éthodologies Google 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érences Codeurs 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/programme La 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 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/

Les Cast Codeurs Podcast
LCC 282 - Apérikube apomorphique - partie 2

Les Cast Codeurs Podcast

Play Episode Listen Later Jul 19, 2022 51:30


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 Architecture Pour 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 mise. a jour vers gradle 5 G1 80% des applis CMS 20% pris 20 apps representatives focalisé sur les applications avec les tailles de piles les plus grosses de équipera jusquà 200% plus de latence et throughput: zones G1, Shenandoah et ZGC automatisé la migration du reste et tourné les builds de tests qui ont identifié les problèmes de migration quelques problèmes: suppression de certaines classes Java EE, changement du type de classloader par défaut, casting de classe plus stricte ils ont utilisé -release 8 et ont limité les usages des features Java 11 les options de CLI de la JVM ont beaucoup changé LinkedIn fait du microsercices ce qui veut dire que beaucoup de repositories sont liés à d'autre par un graphe de dépendance: euh c'est pas le principe des microservices d'éviter ça??? mise a jour de 500 librairies 3/4 de l'année Quelques challenges vus La JVM respecte groups et donc moins de thread GC sont crées aussi ils pouvaient piquer des cycles CPUs avant et plus maintenant Java 11 a un usage de mémoire hors pile plus important reduction de latence p99 par 10% et le throughput par 20% sans changer le type de GC C'est un bon retour qui sent le type de développement de la vrai vie Méthodologies 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 TravisCI HDMI 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ées Un 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 lulu Comment 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 organisation Stackoverflow 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 median JavaScript 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érences de 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 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/

Les Cast Codeurs Podcast
LCC 281 - Apérikube apomorphique - partie 1

Les Cast Codeurs Podcast

Play Episode Listen Later Jul 12, 2022 80:34


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 Langages Peut-ê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éthodes Il 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-deep Le jargon (en anglais) de la programmation fonctionnelle, si vous avez rêvé d'avoir sous la main la définition de foncteur, de monoïde, et j'en passe avec des exemples en JavaScript des pointeurs vers des librairies fonctionnelles en JavaScript des traductions dans d'autres langues et d'autres langages de programmation Librairies Spring Boot 2.7 SpringBoot 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) Quarkus 2.10.0 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 Quarkus Les 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 Infrastructure N'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é à b Knative 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 Cloud AWS 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 arriver Google data center Paris Outillage IntelliJ 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 daemons GitHub 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 usage Gradle publie sa roadmap Historiquement, 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 clients Tekton 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'utilisation Sortie 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érences De 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 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/

Matin Première
Le débat des Décodeurs - Uvalde : quand la police entrave le travail de la presse

Matin Première

Play Episode Listen Later Jun 24, 2022 14:00


Les débatteurs : Eric VAN DUYSE, pp du parquet fédéral et Jean-Paul MARTHOZ, journaliste, observateur des E-U.

Les Cast Codeurs Podcast
LCC 280 - Leçon de géographie

Les Cast Codeurs Podcast

Play Episode Listen Later Jun 13, 2022 81:24


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 Langages Sept 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'emploi Les débuts du projet Leyden Mark 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 JVM JFR plus facile à configuer dans Java 17 un wizard en UI ou CLI pour generer le fichier .jfc Proposition 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 observability RedMonk analyse l'apparition du langage Dart, grâce à Flutter, dans leur top 20 des langages de programmation les plus populaires JavaScript, 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 Android Kotlin 1.7 est sorti Kotlin 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) Librairies Sortie de Micronaut 3.5 Passage à 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) Infrastructure Kubernetes 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. … Web RFC 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. Outillage VSCode Java 1.5 est sorti Java 18 support, inlay hints for method parameters, and improvements to class declaration navigation are just a few of the enhancements to expect. Architecture L'architecture Netflix Pas 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 organisation VMWare racheté par Broadcom 61 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'épisode GitHub 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érences Source: 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) & Online Nom de la conf du x au y mois à Ville - CfP jusqu'à y mois TODO: reprendre celles de l'épisode d'avant 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/

Les Cast Codeurs Podcast
LCC 277 - L'interview des 10 ans de cast codeurs à Devoxx par la chaîne Devoxx France TV

Les Cast Codeurs Podcast

Play Episode Listen Later Apr 9, 2022 80:19


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 News Version vidéo 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/

BadGeek
Les Cast Codeurs n°274 du 07/03/22 - LCC 274 - Interview le darwinisme numérique avec Didier Girard - partie 2

BadGeek

Play Episode Listen Later Mar 7, 2022 50:40


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](https://traffic.libsyn.com/lescastcodeurs/LesCastCodeurs-Episode-274.mp3) ## Interview ### Ta vie ton oeuvre [Twitter](https://twitter.com/didiergirard) [SFEIR](https://www.sfeir.com/) [Envision](https://www.sfeir.com/fr/nos-offres-innovation-conseil-et-formation/envision/) ### L'entreprise Tech System organisationel [Génération surdiplômée - les 20% qui transforment la France](https://www.cultura.com/p-generation-surdiplomee-les-20-qui-transforment-la-france-9782738154026.html) [Les BATX](https://fr.wikipedia.org/wiki/BATX) ### L'individu ## Nous contacter Soutenez Les Cast Codeurs sur Patreon [Faire un crowdcast ou une crowdquestion](https://lescastcodeurs.com/crowdcasting/) Contactez-nous via twitter sur le groupe Google ou sur le site web

BadGeek
Les Cast Codeurs n°270 du 03/01/22 - LCC 270 - Interview de Nicolas De Loof sur Docker Compose

BadGeek

Play Episode Listen Later Jan 3, 2022 73:43


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](https://traffic.libsyn.com/lescastcodeurs/LesCastCodeurs-Episode-270.mp3) ## Interview ### Ta vie ton oeuvre [Nicolas De Loof](https://twitter.com/ndeloof) ### Introduction à la techno Docker en 1 minute Docker compose d'où vient l'idée et le besoin ### La techno en concepts Un 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 * rollback La 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 dev Comment 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 capot Et donc comment ça marche docker compose? Zoom sur le network La sécurité ### La communauté, le futur Roadmap Docker desktop payant ## Nous contacter Soutenez Les Cast Codeurs sur Patreon [Faire un crowdcast ou une crowdquestion](https://lescastcodeurs.com/crowdcasting/) Contactez-nous via twitter sur le groupe Google ou sur le site web

BadGeek
Les Cast Codeurs n°269 du 23/12/21 - LCC 269 - Log4J devient Turing-complet

BadGeek

Play Episode Listen Later Dec 23, 2021 70:05


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](https://traffic.libsyn.com/lescastcodeurs/LesCastCodeurs-Episode-269.mp3) ## News [Décès de Stéphane Maldini](https://twitter.com/glaforge/status/1470729181050937346) (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 ! [CloudBees clot un tour de table de 150 millions de dollars valorisant l'entreprise à 1 milliards de dollars](https://twitter.com/cloudbees/status/1468943708330643457?s=21) [Le feuilleton Log4J2](https://www.lunasec.io/docs/blog/log4j-zero-day/) (9 Dec 2021) * Grosse faille de sécurité liée à l'utilisation des versions

Matin Première
Le débat des Décodeurs - Le phénomène Koh Lanta - 17/12/2021

Matin Première

Play Episode Listen Later Dec 17, 2021 16:41


Alors que l'émission en est à sa vingtième saison, Koh Lanta a vu sa réputation se ternir en raison de tricheries de certains participants qui se seraient procuré de la nourriture. Très vite, les réseaux sociaux se sont enflammés sur le sujet avec notamment des menaces de mort à l'encontre des candidats. Comment comprendre de telles menaces ? L'engouement pour le programme TV est-il à ce point développé que certains téléspectateurs se sont sentis trahis ? On analyse ce phénomène avec François JOST, professeur en sciences de l'information et de la communication à l'université Paris III-Sorbon

BadGeek
Les Cast Codeurs n°268 du 01/12/21 - LCC 268 - Interview sur GraalVM avec Gilles Duboscq - partie 2

BadGeek

Play Episode Listen Later Dec 1, 2021 74:41


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.

BadGeek
Les Cast Codeurs n°267 du 15/11/21 - LCC 267 - Lagom efface sa dette technique

BadGeek

Play Episode Listen Later Nov 15, 2021 76:33


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](https://traffic.libsyn.com/lescastcodeurs/LesCastCodeurs-Episode-267.mp3) ## News ### Langages [Blog sur les extraits de code dans les JavaDocs](https://www.morling.dev/blog/executable-javadoc-code-snippets/) (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](https://stuefe.de/posts/metaspace/what-is-compressed-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 max [Cryostat 2.0](https://developers.redhat.com/articles/2021/10/18/announcing-cryostat-20-jdk-flight-recorder-containers) (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 * Etc [Microsoft augmente ses investissements dans Java](https://devblogs.microsoft.com/java/microsoft-deepens-its-investments-in-java/). (4 Nov 2021) * Microsoft rejoints le [JCP](https://jcp.org/) * 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 ### Librairies [Micronaut 3.1](https://micronaut.io/2021/10/11/micronaut-framework-released/) (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 preview [Quarkus 2.4](https://quarkus.io/blog/quarkus-2-4-0-final-released/) (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 extension [Lightbend lâche Play Framework](https://www.lightbend.com/blog/on-the-future-of-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](https://discuss.lightbend.com/t/the-future-of-lagom/8962) (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é ### Infrastructure [Installer et utiliser podman-machine sur macOS](https://blog.while-true-do.io/podman-machine/) (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](https://www.youtube.com/watch?v=pUFIG2AMDhg) ### Cloud [Amazon déclaré la guerre à Microsoft en utilisant les arguments “Proprietaire”](https://aws.amazon.com/blogs/aws/goodbye-microsoft-sql-server-hello-babelfish/) (28 Oct 2021) * Aurora a un font qui parler protocole SQL server ([Babelfish pour Aurora PostgreSQL](https://aws.amazon.com/fr/rds/aurora/babelfish/)). * Et convertit les T-SQL * Open source the t sql vers Postgres (debug). Sous license ASL * Pas tout open sourcé encore ### Web [CORS expliqué](https://jakearchibald.com/2021/cors/) (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ées [Rendre une page HTML brute jolie en 100 caractères de CSS](https://www.swyx.io/css-100-bytes) (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 ### Data [elasticsearch 8.0 will require java 17](https://twitter.com/xeraa/status/1455980076001071106) (3 Nov 2021) * definitely easier for something standalone than a library or anything that needs to share the JDK with all its apps * [PR GitHub](https://github.com/elastic/elasticsearch/pull/79873) [Hibernate Reactive 1.0.0, ça vaut le coup ?](https://in.relation.to/2021/10/27/hibernate-reactive-performance/) (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](https://youtu.be/VGAnVX1lCxg) ### Outillage [AtomicJar se lance dans une offre Cloud](https://www.atomicjar.com/2021/11/announcing-testcontainers-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éthodologies [Canary releases ou avoir des testeurs](https://www.infoq.com/articles/canary-releases-testing/) (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 organisation [Le droit à decompiler pour corriger des erreurs confirmé légal](https://www.legalis.net/actualite/le-droit-a-decompiler-un-logiciel-pour-corriger-des-erreurs-confirme-par-la-cjue/) (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'application [Influence de l'amplificartion algorithmique sur le contenu politique](https://blog.twitter.com/en_us/topics/company/2021/rml-politicalcontent) (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](https://cdn.cms-twdigitalassets.com/content/dam/blog-twitter/official/en_us/company/2021/rml/Algorithmic-Amplification-of-Politics-on-Twitter.pdf) ## Conférences [DevFest Lille le 19 novembre 2021](https://devfest.gdglille.org/) [Devoxx France du 20 au 22 avril 2021](https://www.devoxx.fr/) [SunnyTech les 30 juin et 1er juillet 2022 à Montpellier](https://sunny-tech.io/) ## Nous contacter Soutenez Les Cast Codeurs sur Patreon [Faire un crowdcast ou une crowdquestion](https://lescastcodeurs.com/crowdcasting/) Contactez-nous via twitter sur le groupe Google ou sur le site web

Les derniers podcasts de la RTBF.be
Le débat des Décodeurs - France et montée de l’extrême droite : existe-t-il un « système Bolloré » ?

Les derniers podcasts de la RTBF.be

Play Episode Listen Later Oct 29, 2021 14:43


Vincent Bolloré possède Canal+, CNews, Europe1, pour ne citer qu'eux. A chaque fois, une même méthode : l'actionnaire écrème les rédactions, place ses alliés aux postes stratégiques, et influe sur la ligne éditoriale. Il ne faut ni l'attaquer, ni le remettre en question. Et il favorise une orientation bien nette : celle du clash permanent, des opinions tranchées, et plutôt bien à droite. Sa présence grandissante dans le paysage médiatique français pose question : pousse-t-il l'opinion publique vers la droite ? Comment ces médias ont-ils mis sur pieds la « créature Zemmour », qui, de personna

Matin Première
Le débat des Décodeurs - France et montée de l’extrême droite : existe-t-il un « système Bolloré » ? - 29/10/2021

Matin Première

Play Episode Listen Later Oct 29, 2021 14:43


Vincent Bolloré possède Canal+, CNews, Europe1, pour ne citer qu'eux. A chaque fois, une même méthode : l'actionnaire écrème les rédactions, place ses alliés aux postes stratégiques, et influe sur la ligne éditoriale. Il ne faut ni l'attaquer, ni le remettre en question. Et il favorise une orientation bien nette : celle du clash permanent, des opinions tranchées, et plutôt bien à droite. Sa présence grandissante dans le paysage médiatique français pose question : pousse-t-il l'opinion publique vers la droite ? Comment ces médias ont-ils mis sur pieds la « créature Zemmour », qui, de personna

BadGeek
Les Cast Codeurs n°266 du 22/10/21 - LCC 266 - Interview sur GraalVM avec Gilles Duboscq - partie 1

BadGeek

Play Episode Listen Later Oct 22, 2021 58:59


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](https://traffic.libsyn.com/lescastcodeurs/LesCastCodeurs-Episode-266.mp3) ## Interview ### Ta vie, ton œuvre [Twitter de Gilles](https://twitter.com/WoodenGil) ### GraalVM pour comprendre l'enjeu [GraalVM](https://www.graalvm.org/) GraalVM en 3 phrases Les cas d'utilisation typique [Maxine VM](https://maxine-vm.readthedocs.io/en/stable/index.html) ### Les concepts clés Graal 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](https://llvm.org/), [WASM](https://webassembly.org/)... et Java [Arbre syntaxique](https://fr.wikipedia.org/wiki/Arbre_de_la_syntaxe_abstraite) Espresso: * Java sur Java (what??!), ca veut dire quoi exactement? * Quels usages? * niveau de stabilité, maturité? ## Nous contacter Soutenez Les Cast Codeurs sur Patreon [Faire un crowdcast ou une crowdquestion](https://lescastcodeurs.com/crowdcasting/) Contactez-nous via twitter sur le groupe Google ou sur le site web

BadGeek
Les Cast Codeurs n°265 du 13/10/21 - LCC 265 - Chérie, ça va couper

BadGeek

Play Episode Listen Later Oct 13, 2021 63:39


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](https://traffic.libsyn.com/lescastcodeurs/LesCastCodeurs-Episode-265.mp3) ## News ### Langages [Oracle annonce des LTS de deux ans](https://inside.java/2021/09/14/moving-the-jdk-to-a-2-year-lts-candence/) * 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 ans [Oracle offre Oracle JDK gratuitement avec support pendant 1 LTS + 1 an (donc 3 ans)](https://blogs.oracle.com/java/post/free-java-license) * 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](https://inside.java/2021/10/04/the-default-charset-jep400/) * 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 ### Librairies [JUnit 5.8](https://junit.org/junit5/docs/current/release-notes/index.html#release-notes-5.8.0) * les 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. [Stephen Colebourne avertit les utilisateurs de Joda Time de ne pas mettre à jour la base de données des fuseaux horaires](https://blog.joda.org/2021/09/big-problems-at-timezone-database.html) * 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é-1970 Recap Spring.io : * [Récap Jour 1](https://tanzu.vmware.com/content/blog/springone-2021-day-1-recap-and-highlights) * [Récap Jour 2](https://tanzu.vmware.com/content/blog/springone-2021-day-2-recap-and-highlights) * [Récap en vidéo par Josh Long](https://www.youtube.com/watch?v=VMtUzytjo6Y) * [State of Spring 2021](https://www.youtube.com/watch?v=O0-IhAKnkWM) * 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](https://springone.io/2021/sessions/spring-native) * [De Spring framework 5.3 à 6.0](https://springone.io/2021/sessions/from-spring-framework-5-3-to-6-0) ### Infrastructure (suite annonces Spring.io) [Tanzu Application Platform](https://tanzu.vmware.com/content/blog/announcing-vmware-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 Tanzu [Tanzu Community Edition](https://tanzu.vmware.com/content/blog/vmware-tanzu-community-edition-announcement) : * Version OSS de Tanzu ### Cloud [Azure installe des agents dans son image linux et ils sont vulnérables aux auto update](https://www.wiz.io/blog/secret-agent-exposes-azure-customers-to-unauthorized-code-execution) * 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 ### Web [Julia Evans nous explique CORS](https://twitter.com/b0rk/status/1445039796804542473) * 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) ### Data [Kafka 3.0](https://blogs.apache.org/kafka/) * Le 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 ### Outillage [TravisCI fait un petit partage de vos secrets dans toutes les PRs de vos repos par accident](https://arstechnica.com/information-technology/2021/09/travis-ci-flaw-exposed-secrets-for-thousands-of-open-source-projects/) * le problème a duré 8 jours * rotation des secrets recommandé * Travis a patché discretement sans disclosure initialement ce qui a fait un raffut ### Architecture [Facebook est tombé pendant environ 6H ](https://engineering.fb.com/2021/10/05/networking-traffic/outage-details/) * 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](https://jvns.ca/blog/2021/10/05/tools-to-look-at-bgp-routes/) * [Vu de dehors avec Cloudflare](https://blog.cloudflare.com/october-2021-facebook-outage/) * 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](https://cyberguerre.numerama.com/13464-fuite-sur-twitch-revenus-de-streameurs-4-questions-sur-le-leak-colossal-qui-frapperait-la-plateforme.html) * 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érences [DevFest Nantes les 21 et 22 octobre 2021](https://devfest.gdgnantes.com/) [DevFest Lille le 19 novembre 2021](https://devfest.gdglille.org/) [SunnyTech les 30 juin et 1er juillet 2022 à Montpellier](https://sunny-tech.io/) ## Nous contacter Soutenez Les Cast Codeurs sur Patreon [Faire un crowdcast ou une crowdquestion](https://lescastcodeurs.com/crowdcasting/) Contactez-nous via twitter sur le groupe Google ou sur le site web

BadGeek
Les Cast Codeurs n°264 du 04/10/21 - LCC 264 - En direct de Devoxx France 2021

BadGeek

Play Episode Listen Later Oct 4, 2021 47:21


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](https://traffic.libsyn.com/lescastcodeurs/LesCastCodeurs-Episode-264.mp3) ## Clôture de Devoxx France 2021 ### Le Dessous De(s)voxx Devoxx 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 contacter Soutenez Les Cast Codeurs sur Patreon [Faire un crowdcast ou une crowdquestion](https://lescastcodeurs.com/crowdcasting/) Contactez-nous via twitter sur le groupe Google ou sur le site web

BadGeek
Les Cast Codeurs n°263 du 17/09/21 - LCC 263 - Le maillot jaune du salon

BadGeek

Play Episode Listen Later Sep 17, 2021 81:31


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 2021 Téléchargement de l'épisode [LesCastCodeurs-Episode-263.mp3](https://traffic.libsyn.com/lescastcodeurs/LesCastCodeurs-Episode-263.mp3) ## News ### Langages [Au revoir AdopOpenJDK, bonjour Adoptium](https://blog.adoptopenjdk.net/2021/08/goodbye-adoptopenjdk-hello-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](https://developer.ibm.com/languages/java/semeru-runtimes/) * Nouvelles API (backward compatibles ?) * Les anciens builds ne seront pas migrés [Une interview des architectes Java](https://blogs.oracle.com/javamagazine/java-architects-loom-panama-valhalla?source=:em:nw:mt::::RC_WWMK200429P00043C0036:NSL400176960) * 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 * Etc [Article en passant sur l'utilisation du foreign API avec libsodium](https://blog.arkey.fr/2021/09/04/a-practical-look-at-jep-412-in-jdk17-with-libsodium/) * juste une mention [Quoi de neuf dans Scala 3](https://medium.com/scala-3/scala-3-whats-changed-since-scala-3-0-0-be0830c059f5) * Scala 3.0.1 * Syntaxe given simplifiée (pas de with) * `@experimental` * Scala 3.1 * Experimental safer exception (checked exceptions mais sans les ennuis) * Warnings de compilation plus configurable * Multiversal equality (des classes différentes qui peuvent être égales) [Kotlin a 10 ans](https://www.infoq.com/articles/kotlin-ten-years-qa/?utm_campaign=infoq_content&utm_source=twitter&utm_medium=feed&utm_term=mobile) * 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 ### Librairies [Spring 6 / SpringBoot 3 annoncé à SpringOne](https://twitter.com/mraible/status/1433072410182357000?s=21) * Java 17 et plus * Intègre Spring Native * Tomcat 10 min * Jakarta 9 avec cassage de packages * Q4 2022 * Spring 5.3 et SpringBoot 2.7 seront en maintenance open source entendue * [Autre lien](https://spring.io/blog/2021/09/02/a-java-17-and-jakarta-ee-9-baseline-for-spring-framework-6) [Quarkus 2.2 et 2.1](http://quarkus.io/blog/quarkus-2-2-1-final-released/) * 2.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](https://quarkus.io/blog/resteasy-reactive-smart-dispatch/) * 2.1 * Dev services pour keycloak * SQLServer réactive a son extension * Kotlin 1.5 * [Blog post expliquant les nouvelles modularités de quarkus platform](http://quarkus.io/blog/quarkus-2x-platform-quarkiverse-registry/) [Micronaut 3 est sorti](https://micronaut.io/2021/08/18/micronaut-framework-3-released/) * RxJava 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 ### Infrastructure [Comment debugger son script Ansible](https://zwischenzugs.com/2021/08/27/five-ansible-techniques-i-wish-id-known-earlier/) * `--step` * In-line logging * Ansible-lint * Ansible-console * Ansible debugger ### Cloud [Apple nous protégeras des photos pedophiles mais en ouvrant une brèche sur la sécurité de ses téléphones ](https://www.apple.com/child-safety/) * [Une analyse techniques](https://twitter.com/MathisHammel/status/1425523073806110720) * 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 final [AWS a 15 ans](https://aws.amazon.com/fr/blogs/aws/happy-15th-birthday-amazon-ec2/) * demarre 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 ### Data [La guerre de la recherche - Les clients Elastic Search ne seront pas compatible avec OpenSearch](https://thenewstack.io/this-week-in-programming-the-elasticsearch-saga-continues/) * 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 ... ### Outillage [AtomicJar release TestContainers 1.16](https://www.atomicjar.com/2021/07/testcontainers-1-16-0-release/) * 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écemment [Docker introduit un nouveau système d'abonnement avec Docker Business et différents niveaux: perso, pro, entreprise etc](https://www.docker.com/blog/updating-product-subscriptions/) * donc pour les boites de plus de 250 personnes ou qui font 10 millions, tu dois payer pour Docker Desktop * [Des articles paraissent listant les alternatives à Docker Desktop](https://matt-rickard.com/docker-desktop-alternatives/) * [Sur l'impact macOS](https://twitter.com/idriss_neumann/status/1432943504485986305) * [How Docker broke in half](https://www.infoworld.com/article/3632142/how-docker-broke-in-half.html) [Les différentes manières de déclarer les dépendances dans son projet Gradle](https://medium.com/agorapulse-stories/gradle-configurations-explained-4b9608dd5e35) * 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éthodologies [Opinion sur Googlespeak et les pratiques anti concurrentielles](https://zyppy.com/googlespeak/) * 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 organisation [Matt Asay quitte AWS et reflecte sur l'open source chez AWS](https://www.infoworld.com/article/3631376/what-you-dont-know-about-working-with-aws.html) * 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) ?](https://philippart-s.github.io/blog/articles/dev/oss-for-developer/), un retour d'expérience très personnel mais instructif pour ceux qui souhaiteraient se lancer ... * Pourquoi l'Open Source ? * Par où commencer ? * Le choix du premier projet pour sa première contribution? (Le syndrome de l'imposteur) * La première contribution * Rythme de travail ## Outils de l'épisode [Fit Desk](https://thefitdesk.com) * Antonio passe au [Fit Desk](https://thefitdesk.com) pour travailler en pédalant * Promis, il écrira un blog dans 4/6 mois avec du feedback ## Rubrique débutant [RISC vs CISC](https://medium.com/swlh/what-does-risc-and-cisc-mean-in-2020-7b4d42c9a9de) * CISC roi quand la mémoire est chère, on crée des instructions haut niveau plus complexes * RISC paye en mémoire mais simplifie la chaîne de travail (instructions de taille fixe) * RISC plus d'opérations et donc de CPU clock mais pipelining possible * RISC compensé par plus de registers et par la compression d'instructions set * register mémoire interne CPU de taille fixe * CISC fait du hardware hyper threading * RISC philosophiquement fait travailler les compilateurs beaucoup plus mais on ne code plus en assembleur ## Conférences Crowdcast sur devfest Lille et CloudNord par Emmanuel Demey [Pas de Devoxx Belgique en 2021](https://twitter.com/stephan007/status/1432254876436815874?s=21) ## Nous contacter Soutenez Les Cast Codeurs sur Patreon [Faire un crowdcast ou une crowdquestion](https://lescastcodeurs.com/crowdcasting/) Contactez-nous via twitter sur le groupe Google ou sur le site web

BadGeek
Les Cast Codeurs n°262 du 02/09/21 - LCC 262 - Interview Cloud de Confiance avec Quentin Adam

BadGeek

Play Episode Listen Later Sep 2, 2021 102:48


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](https://traffic.libsyn.com/lescastcodeurs/LesCastCodeurs-Episode-262.mp3) ## Interview ### Ta vie, ton œuvre [Twitter de Quentin](https://twitter.com/waxzce) ### Clever cloud pour le contexte Automatisation de l'infrastructure ### Cloud souverain “modèle de déploiement dans lequel l'hébergement et l'ensemble des traitements effectués sur des données par un service de cloud sont physiquement réalisés dans les limites du territoire national, par une entité de droit français et en application des lois et normes françaises” Cloud de l'état : les technologies retenues à la fois en matière de cloud privé et public devront garantir la réversibilité, l'interopérabilité et la portabilité des applications. #### Pourquoi * Patriot act 2001 * Edward Snowden 2013 * Se protéger du cloud act 2018: * L'état américain a accès aux donnés hébergées par les clouds providers americains même hors du sol américain Pour 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'historique Projet andromede: Thales, dassault, Orange, Bull: 135M € Mais sort * Numergy : dassault bull et Sfr * Cloudwatt: Orange Thales 75 M chaque premier shot Gaia-X: échelle européenne standards de sécurité, d'interopérabilité et de portabilité des données #### Pendant ce temps là * OVH * Clever Cloud * Etc #### Approche économique ### Cloud de confiance Protection contre réglementations extra communautaire #### Le hard français, le soft américain Ils ont le soft que l'on veut et que les gens utilisent vs Cloudwatt et Numergy #### La certification et les petits éditeurs ### Un cloud service est un cloud service est un cloud service Quels sont les logiciels à enjeux: * Mail, éditeur de Documents, tableur * Progiciels * Plateforme de développement de code spécifique Bleu (licence Azure Orange + …) ### Le point de vue de Quentin C'est bien ou c'est pas bien cette stratégie? Ça paraît pragmatique [Don't kill French Tech](https://www.dontkillfrenchtech.fr/) #### Approche économique https://cryptpad.fr/ ## Nous contacter Soutenez Les Cast Codeurs sur Patreon [Faire un crowdcast ou une crowdquestion](https://lescastcodeurs.com/crowdcasting/) Contactez-nous via twitter sur le groupe Google ou sur le site web

BadGeek
Les Cast Codeurs n°261 du 29/07/21 - LCC 261 - Interview Doctolib avec David Gageot (68min)

BadGeek

Play Episode Listen Later Jul 29, 2021 68:20


Guillaume et Antonio interviewent David Gageot à propos de [Doctolib](https://www.doctolib.fr/), 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](https://traffic.libsyn.com/lescastcodeurs/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 [Faire un crowdcast ou une crowdquestion](https://lescastcodeurs.com/crowdcasting/) Contactez-nous via twitter sur le groupe Google ou sur le site web

BadGeek
Les Cast Codeurs n°260 du 27/07/21 - L'épisode généré par intelligence artificielle (70min)

BadGeek

Play Episode Listen Later Jul 27, 2021 70:20


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](https://traffic.libsyn.com/lescastcodeurs/LesCastCodeurs-Episode-999.mp3) ## News ### Langages [Les prédictions d'Adam Bien pour la seconde moitié de 2021](https://adambien.blog/roller/abien/entry/mid_year_2021_observations_and) * 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](https://medium.com/graalvm/gradle-and-maven-plugins-for-native-image-with-initial-junit-testing-support-dde00a8caf0b) * 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 License](https://opensource.org/licenses/UPL) [Le rapport sur l'écosystème JVM](https://snyk.io/jvm-ecosystem-report-2021) 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% [JDK 17 en ramp down phase 2](https://mail.openjdk.java.net/pipermail/jdk-dev/2021-March/005266.html) Schedule * 2021/07/15 Rampdown Phase Two * 2021/08/05 Initial Release Candidate * 2021/08/19 Final Release Candidate * 2021/09/14 General Availability Features integrated in JDK 17: * [JEP 306: Restore Always-Strict Floating-Point Semantics](https://openjdk.java.net/jeps/306) * [JEP 356: Enhanced Pseudo-Random Number Generators](https://openjdk.java.net/jeps/356) * [JEP 382: New macOS Rendering Pipeline](https://openjdk.java.net/jeps/382) * [JEP 391: macOS/AArch64 Port ](https:/*openjdk.java.net/jeps/391)*/ * [JEP 398: Deprecate the Applet API for Removal](https://openjdk.java.net/jeps/398) * [JEP 403: Strongly Encapsulate JDK Internals](https://openjdk.java.net/jeps/403) (sauf pour `sun.misc.Unsafe`) * [JEP 406: Pattern Matching for switch (Preview)](https://openjdk.java.net/jeps/406) * [JEP 407: Remove RMI Activation ](https://openjdk.java.net/jeps/407) * [JEP 409: Sealed Classes ](https://openjdk.java.net/jeps/409) * [JEP 410: Remove the Experimental AOT and JIT Compiler](https://openjdk.java.net/jeps/410) * [JEP 411: Deprecate the Security Manager for Removal](https://openjdk.java.net/jeps/411) * [JEP 412: Foreign Function & Memory API (Incubator)](https://openjdk.java.net/jeps/412) * [JEP 414: Vector API (Second Incubator)](https://openjdk.java.net/jeps/414) * [JEP 415: Context-Specific Deserialization Filters](https://openjdk.java.net/jeps/415) ### Librairies [Spring Native 0.10.0](https://spring.io/blog/2021/06/14/spring-native-0-10-0-available-now) * Utilise Native testing de GraalVM * Passe au plugin Gradle de l'équipe GraalVM * Ahead of time proxies pour les classes [Quarkus 2.0 est sorti](https://quarkus.io/blog/quarkus-2-0-0-final-released/) * Guide de migration mais les applis devraient essentiellement fonctionner (extensions ont plus de taf) * JDK 11+ GraalVM 21.1 * Vert.x 4 * Microprofile 4 * Continuous testing : les tests impactes tournent automatiquement en Dev mode. Les tests qui cassent sur un changement sont 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 manager [Crafting rolling releases for a Quarkus CLI application](https://andresalmiray.com/crafting-rolling-releases-for-a-quarkus-cli-application/) * Y'a encore du chemin pour faire simplement des CLI avec graalVM en comparaison de go * [JReleaser](https://jreleaser.org) 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 ### Infrastructure [Amazon sort son OpenSearch 1.0 et OpenSearch Dashboard, leur fork d'Elastic Search et Kibana](https://opensearch.org/blog/updates/2021/07/opensearch-general-availability-announcement/) * 1.0 sortie de [OpenSearch](https://opensearch.org) ([GitHub](https://github.com/opensearch-project)) * 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 roadmap [Kubernetes 1.22 enlève le support des vieilles versions de ressource](https://kubernetes.io/blog/2021/07/14/upcoming-changes-in-kubernetes-1-22/#api-changes) * 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 ### Cloud [Un tweet lance un faux service AWS InfiniDash qui a été repris par des devs et des boîtes](https://siliconangle.com/2021/07/05/fake-amazon-cloud-service-aws-infinidash-quickly-goes-viral/) * 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 ### Outillage [GitHub copilot](https://copilot.github.com/) * itellisense 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](https://twitter.com/alexjc/status/1411966249437995010) (du corpus originali e.g. SendGrid) * [propose du code GPL (derivation?)](https://drewdevault.com/2021/07/04/Is-GitHub-a-derivative-work.html) * attaque de sécurité vont venir :) [Audacity 3 spyware ou pas après le rachat](https://arstechnica.com/gadgets/2021/07/no-open-source-audacity-audio-editor-is-not-spyware/) * 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](https://9to5mac.com/2021/06/29/linkedin-breach/amp/?__twitter_impression=true) * 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 organisation [Lettre à ceux qui veulent faire tourner la France sur l'ordinateur de quelqu'un d'autre](https://www.codeforfrance.fr/publications) par [Tariq Krim](https://twitter.com/tariqkrim) * [Télécharger l'ebook au format PDF](https://www.codeforfrance.fr/assets/ebook/cloud_14Juillet2021.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 contacter Soutenez Les Cast Codeurs sur Patreon [Faire un crowdcast ou une crowdquestion](https://lescastcodeurs.com/crowdcasting/) Contactez-nous via twitter sur le groupe Google ou sur le site web

BadGeek
Les Cast Codeurs n°259 du 08/07/21 - LCC 259 - Interview Software Heritage avec Roberto Di Cosmo et Charles Sabourdin (55min)

BadGeek

Play Episode Listen Later Jul 8, 2021 55:21


Charles Sabourdin et Audrey interviewent Roberto Di Cosmo sur le projet [Software Heritage](www.softwareheritage.org), 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](https://traffic.libsyn.com/lescastcodeurs/LesCastCodeurs-Episode-259.mp3) ## Interview ### Ta vie, ton oeuvre Ancien élève de la Scuola Normale Superiore de Pise, Roberto Di Cosmo a obtenu son doctorat en Informatique à l'Université de Pisa. Après avoir enseigné plusieurs années à l'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 contacter Soutenez Les Cast Codeurs sur Patreon [Faire un crowdcast ou une crowdquestion](https://lescastcodeurs.com/crowdcasting/) Contactez-nous via twitter sur le groupe Google ou sur le site web

BadGeek
Les Cast Codeurs n°258 du 16/06/21 - LCC 258 - Les mineurs de fond (70min)

BadGeek

Play Episode Listen Later Jun 16, 2021 70:39


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](https://traffic.libsyn.com/lescastcodeurs/LesCastCodeurs-Episode-258.mp3) ## News ### Langages [GraalVM 21 sur InfoQ'France](https://www.infoq.com/fr/news/2021/02/graalvm-21-jvm-java/?itm_source=infoq_en&itm_medium=link_on_en_item&itm_campaign=item_in_other_langs) * Un interpréter Java en Java * Plus simple a debugger * Avant ils utilisaient hotspot * Reste projet * Java en tant que container de javas * Mélanger ahead of time et classique Java ### Librairies [Spring Boot 2.5.0 est sorti](https://spring.io/blog/2021/05/20/spring-boot-2-5-is-now-ga) * Support for Java 16 * Support for Gradle 7 * Enhanced Docker image building * New mechanism for Datasource initialisation pour préparer R2DBC * Les dépendances mises à jour (Spring data, hateoas' spring Kafka et) * En gros rien de révolutionnaire, beaucoup de mise à jour et du nettoyage [Hibernate a 20 ans !](https://twitter.com/hibernate/status/1396425771040792577?s=21) * Première sortie * Ça ne nous rajeuni pas [Vert.x 4.1 est sorti](https://vertx.io/blog/eclipse-vert-x-4-1-0/) * Reactive Microsoft SQLServer driver * Vert.x HTTP proxy plutôt que de l'écrire soit même * RxJava 3 * OpenTelemetry tracing * Plus conforme à OAuth2 et OIDC * Kotlin 1.5 * Flexibilité dans la configuration de pools (plusieurs event loops par pool, waiter cancellation, lock free impl, etc * Web session stocké dans Infinispan * Et plus au niveau sécurité, openapi, service proxy ### Infrastructure [Un problème chez Fastly et l'internet tousse](https://www.fastly.com/blog/summary-of-june-8-outage) * 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 ### Cloud [Les services d'intelligence artificielle d'AWS ne respectaient pas le non déplacement des données hors de la région par défaut ](https://techmonitor.ai/techonology/cloud/aws-user-data) * Et le défaut était très bien caché. Les experts AWS n'avaient pas fait gaffe * C'était légal mais en tout petit dans les conventions * Différence entre télémétrie et les données en propre en général. Pas pour les iA ;) * Les services impacté AWS Terms 50.3 mention CodeGuru Profiler, Lex, Polly, Rekognition, Textract, Transcribe, and Translate. 60.4 also mentions this for SageMaker. 75.3 mentions this for Fraud Detector. 76.2 mentions this for Mechanical Turk and Augment AI. ### Web [Vers un système unique et une API commune pour les extensions dans les navigateurs](https://appleinsider.com/articles/21/06/04/apple-mozilla-google-microsoft-form-group-to-standardize-browser-plug-ins) * Des gens de Apple (Safari), Google (Chrome), Microsoft (Edge) et Mozilla (Firefox) vont collaborer ensemble, au sein du WECG * [Web extensions community group](https://www.w3.org/community/webextensions/) * 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 ### Outillage [Gradle 7 est sorti et Cédric nous fait un crowdcast ](https://gradle.org/whats-new/gradle-7) * D'ailleurs, Cédric quitte Gradle Inc après des années de bons et loyaux services [Prosus achète StasckOverflow pour 1,8 milliards](https://stackoverflow.blog/2021/06/02/prosus-acquires-stack-overflow/) * 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](https://siliconangle.com/2020/05/18/stack-overflow-ramps-up-saas-model-as-it-builds-relationships-with-microsoft-and-developers-cubeconversations/) intéresse Prosus * Jobs 50% du revenu * Team collaboration tool bonne croissance * C'est stackoverflow pour les équipes internes [docker hub autobuild, les crypto mineurs m'ont tué](https://www.docker.com/blog/changes-to-docker-hub-autobuilds/). > En avril, nous avons vu le nombre d'heures de construction augmenter de 2 fois notre charge habituelle et à la fin du mois, nous avions déjà désactivé ~ 10 000 comptes en raison d'abus de minage. La semaine suivante, nous avons eu environ 2 200 mineurs supplémentaires. * Il faut contacter Docker pour les projets OSS de bonne volonté qui ont besoin de ce service ### Méthodologies [Le temps moyen de PR entre Stripe et Mozilla](https://twitter.com/jlongster/status/1400511441556459523?s=21) * Des jours à attendre le feedback vs 10 minutes * C'est un débat assez fondamental je trouve. Comment organiser les équipes pour que les PR soient vues comme la chose importante. Plus que « le code ». * Différence Service vs product ### Loi, société et organisation [Un article de rappel sur la copie privée](https://www.nextinpact.com/article/30201/108870-la-redevance-copie-privee-vache-a-lait-industries-culturelles) * 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](https://actualitte.com/article/100640/politique-publique/copie-privee-les-appareils-reconditionnes-pomme-de-discorde). La grande classe. * Risque pour l'économie solidaire qui sont sur des populations fragiles * Le sénat veut favoriser l'écologie de la seconde main et serait pour l'exclusion de la taxe dans ce cas là. * Les smartphones c'est 70% de leurs revenus ## Outils de l'épisode [Google ZX pour écrire des scripts en JavaScript](https://t.co/kDnarh0A13) ## Conférences [RivieraDev](https://rivieradev.fr) ## Nous contacter Soutenez Les Cast Codeurs sur Patreon [Faire un crowdcast ou une crowdquestion](https://lescastcodeurs.com/crowdcasting/) Contactez-nous via twitter sur le groupe Google ou sur le site web

BadGeek
Les Cast Codeurs n°257 du 07/06/21 - LCC 257 - Interview Java 16 avec José Paumard et Henri Tremblay - partie 2 (69min)

BadGeek

Play Episode Listen Later Jun 7, 2021 69:39


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](http://traffic.libsyn.com/lescastcodeurs/LesCastCodeurs-Episode-257.mp3) ## Interview ### Ta vie, ton oeuvre [José Paumard](https://twitter.com/JosePaumard) [Henri Tremblay](https://twitter.com/henri_tremblay) ### Illegal 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](https://github.com/rzwitserloot/lombok/issues/2681) ### API vecteur Les `Vector` sont de retour?! Discussion ud parallelisme au niveau CPU — [Simple Instruction Multiple Data](https://fr.wikipedia.org/wiki/Single_instruction_multiple_data) ### Foreign Linker API Pour projet Panama Lier une méthode native avec du code Java Du coup on a aussi un foreign memory access API ? [Project panama and jextract – Inside.java](https://inside.java/2020/10/06/jextract/) Jextract genera le code Java à partir du fichier de declaration C. ### JVM sur d'autres plateformes Alpine Linux et Musl AArch64 (ARM) sous Windows ### ZGC Move ZGC thread-stack processing from safepoints to a concurrent phase. ### Autres * Mercurial -> git * Return unused HotSpot class-metadata (i.e., *metaspace*) memory to the operating system more promptly, reduce metaspace footprint, and simplify the metaspace code in order to reduce maintenance costs. ### Bonus Java 15 Shenandoah Text blocks Plus de Nashorn Une discussion autour de GraalVM ## Nous contacter Soutenez Les Cast Codeurs sur Patreon [Faire un crowdcast ou une crowdquestion](https://lescastcodeurs.com/crowdcasting/) Contactez-nous via twitter sur le groupe Google ou sur le site web

Matin Première
Le débat des Décodeurs - Quelles sont les limites de la liberté d’expression sur les réseaux sociaux ? - 28/05/2021

Matin Première

Play Episode Listen Later May 28, 2021 12:50


Le débat des Décodeurs: prises de positions radicales, likes, appels aux rassemblements : quelles sont les limites de la liberté d’expression sur les réseaux sociaux ? Les débatteurs : Etienne WERY, avocat spécialisé en nouvelles technologies et Stéphane HOEBEKE, juriste et responsable de l’éducation aux médias à la RTBF. Auteur aussi du livre « La liberté d'expression - Pour qui ? pour quoi ? jusqu'où ? »

Les derniers podcasts de la RTBF.be
Le débat des Décodeurs - Quelles sont les limites de la liberté d’expression sur les réseaux sociaux ?

Les derniers podcasts de la RTBF.be

Play Episode Listen Later May 28, 2021 12:50


Le débat des Décodeurs: prises de positions radicales, likes, appels aux rassemblements : quelles sont les limites de la liberté d’expression sur les réseaux sociaux ? Les débatteurs : Etienne WERY, avocat spécialisé en nouvelles technologies et Stéphane HOEBEKE, juriste et responsable de l’éducation aux médias à la RTBF. Auteur aussi du livre « La liberté d'expression - Pour qui ? pour quoi ? jusqu'où ? »

BadGeek
Les Cast Codeurs n°256 du 24/05/21 - LCC 256 - jTerrasse (81min)

BadGeek

Play Episode Listen Later May 24, 2021 81:50


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](https://traffic.libsyn.com/lescastcodeurs/LesCastCodeurs-Episode-256.mp3) ## News ### Langages [Un JEP pour améliorer la JavaDoc](https://openjdk.java.net/jeps/413) * 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ème [Asciidoclet](https://github.com/asciidoctor/asciidoclet) [Discussion sur le raisons du besoin derrière Loom](https://inside.java/2021/05/10/networking-io-with-virtual-threads/) * 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 ### Librairies [Quarkus 2.0 alpha 1, 2 et 3 sont sortis](https://quarkus.io/blog/quarkus-2-0-0-alpha1-released/) * 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 minimum [Micronaut 2.5 est sorti ](https://docs.micronaut.io/latest/guide/#whatsNew) * support for @java 16 and @graalvm 21.1 on Micronaut Launch, * huge improvements to Micronaut Data from @DenisStepanov, * improved @OracleCloud integration * and many other small improvements ### Infrastructure [Les cryptomineurs tuent les CI gratuite](https://layerci.com/blog/crypto-miners-are-killing-free-ci/) * 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 soucis [Les 19 étapes facile pour écrire un dockerfile](https://jkutner.github.io/2021/04/26/write-good-dockerfile.html) * 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 indispensable [Comparaison Apache Kafka et Apache Pulsar](https://blog.bigdataboutique.com/2021/03/apache-kafka-vs-apache-pulsar-video-fd3fi2) * 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). ### Cloud [Red Hat OpenShift Streams for Apache Kafka : un service cloud de Kafkas managé](https://twitter.com/emmanuelbernard/status/1387687197621563396) * C’est ce sur quoi emmanuel a bossé ses 9 derniers mois * [Essayer le Managed Kafka de red hat](https://red.ht/TryKafka) * 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 ### Web [Bootstrap 5 est sorti](https://blog.getbootstrap.com/2021/05/05/bootstrap-5/) * New offcanvas component * New accordion * New and updated forms * RTL is here * Overhauled utilities * New snippet examples * Improved customizing * Browser support * Dropped Microsoft Edge Legacy * Dropped Internet Explorer 10 and 11 * Dropped Firefox < 60 * Dropped Safari < 10 * Dropped iOS Safari < 10 * Dropped Chrome < 60 * Dropped Android < 6 * JavaScript * No more jQuery! * Le [Guide de migration est ici](https://getbootstrap.com/docs/5.0/migration/) Crowdcast sur [Cypress](https://www.cypress.io/) par Emmanuel Demey [La fin de Google AMP ou son intérêt devrait descendre ](https://www.lafoo.com/the-end-of-amp/) * 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 ### Outillage [JFrog garde Bintray JCenter en lecture seule y compris le miroir de Maven central ](https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/) * 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 casser [Docker desktop : sauter une mise à jour devient une option payante](https://www.docker.com/blog/changing-how-updates-work-with-docker-desktop-3-3/) * 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 2.0](https://spockframework.org/spock/docs/2.0/release_notes.html) * 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](https://snyk.io/blog/java-yaml-parser-with-snakeyaml/) * 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 organisation [Grafana, Loki et Tempo passent de ASL 2 à AGPL](https://grafana.com/blog/2021/04/20/grafana-loki-tempo-relicensing-to-agplv3/) * 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](https://techcrunch.com/2021/04/26/cloudflare-rallies-the-troops-to-fight-off-another-so-called-patent-troll/?guccounter=1&guce_referrer=aHR0cHM6Ly9kdWNrZHVja2dvLmNvbS8&guce_referrer_sig=AQAAAEKNBJxidgIYvuXxPu-69VCJuD9nzkRUHMT62_2SS9vEox3eoMhFekoDHrH4ZSrjpsithr74uN62VF-i-6mt4MRqRREcR7NOFjiGy1T5VARNkaXcxG6F3zXxBqCyBUSxaoECUB1yCMc7XChZ6BKwEjdbUPIQtzmraWENdciwdYja) * 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 ](https://www.google.com/amp/s/marker.medium.com/amp/p/d487bed43155) * 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 oui [Stratégie nationale du cloud français](https://www.lemonde.fr/economie/article/2021/05/17/cloud-la-france-se-veut-plus-souveraine_6080442_3234.html) * 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 Amazon [Cloud de Confiance en qui ? par Laurent Doguin](https://ldoguin.name/fr/2021/05/quoi-cloud/) ## Outils de l'épisode [MuseGroup rachète audacity](https://www.minimachines.net/actu/muse-group-rachete-le-logiciel-audacity-99063) * Enfin la marque * Promet des designers sur l’interface et des contributeurs * Et de rester open source * On va voir ## Conférences [Devoxx france bougent au 29, 30 septembre et 1er octobre](https://twitter.com/DevoxxFR/status/1389489979978563584) Crowdcast d'Agathe sur [hack.commit.push](https://paris2021.hack-commit-pu.sh/) samedi 29 mai, inscrivez-vous ! ## Nous contacter Soutenez Les Cast Codeurs sur Patreon [Faire un crowdcast ou une crowdquestion](https://lescastcodeurs.com/crowdcasting/) Contactez-nous via twitter sur le groupe Google ou sur le site web

Matin Première
Le débat des Décodeurs - Le harcèlement des journalistes et les délits de presse - 14/05/2021

Matin Première

Play Episode Listen Later May 14, 2021 15:21


Le débat des Décodeurs : « Le cyberharcèlement : à quand la fin de l’impunité ? ». A l’occasion de la semaine contre le cyberharcèlement sur les médias de la RTBF, les décodeurs reviennent eux aussi sur ce phénomène. Plus spécifiquement sur le cyberharcèlement des journalistes qui forment une catégorie professionnelle à risque. L’explosion du harcèlement en ligne inquiète, et ce harcèlement peut contraindre certains journalistes à se censurer. On en parle avec Benjamine BOVY, avocate spécialisée en droit pénal au barreau de Bruxelles et Renaud MAES, sociologue chercheur, enseignant à l'Université Saint-Louis et à l'Université libre de Bruxelles, et rédacteur en chef de La Revue nouvelle.

Les derniers podcasts de la RTBF.be
Le débat des Décodeurs - Le harcèlement des journalistes et les délits de presse

Les derniers podcasts de la RTBF.be

Play Episode Listen Later May 14, 2021 15:21


Le débat des Décodeurs : « Le cyberharcèlement : à quand la fin de l’impunité ? ». A l’occasion de la semaine contre le cyberharcèlement sur les médias de la RTBF, les décodeurs reviennent eux aussi sur ce phénomène. Plus spécifiquement sur le cyberharcèlement des journalistes qui forment une catégorie professionnelle à risque. L’explosion du harcèlement en ligne inquiète, et ce harcèlement peut contraindre certains journalistes à se censurer. On en parle avec Benjamine BOVY, avocate spécialisée en droit pénal au barreau de Bruxelles et Renaud MAES, sociologue chercheur, enseignant à l'Université Saint-Louis et à l'Université libre de Bruxelles, et rédacteur en chef de La Revue nouvelle.

BadGeek
Les Cast Codeurs n°255 du 10/05/21 - LCC 255 - Interview Java 16 avec José Paumard et Henry Tremblai - partie 1 (58min)

BadGeek

Play Episode Listen Later May 10, 2021 58:51


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](http://traffic.libsyn.com/lescastcodeurs/LesCastCodeurs-Episode-255.mp3) ## Interview ### Ta vie, ton oeuvre [José Paumard](https://twitter.com/JosePaumard) [Henri Tremblay](https://twitter.com/henri_tremblay) ### Java et sa cadence de release Retour général sur la cadence de release: bien ou mal ? ### Java 16 [JDK 16](https://openjdk.java.net/projects/jdk/16/) [JDK 16 Arrived : Java 16 Released with New Features | TechGeekNext >>](https://www.techgeeknext.com/java/java16-features) ### Records ### Pattern matching `instanceof` Autres pattern patching qui sont arrivés? ### Sealed classes (preview) C’est quoi ? Ça sert à quoi ? Et les hidden classes ? Un petit détour par le mégamorphisme ### jpackage Construire des installeurs d'applications Java ## Nous contacter Soutenez Les Cast Codeurs sur Patreon [Faire un crowdcast ou une crowdquestion](https://lescastcodeurs.com/crowdcasting/) Contactez-nous via twitter sur le groupe Google ou sur le site web

BadGeek
Les Cast Codeurs n°254 du 20/04/21 - LCC 254 - Fission acquisition (80min)

BadGeek

Play Episode Listen Later Apr 20, 2021 80:52


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](https://traffic.libsyn.com/lescastcodeurs/LesCastCodeurs-Episode-254.mp3) ## News ### Langages [Java 16 est sorti](https://mail.openjdk.java.net/pipermail/announce/2021-March/000295.html) * [La version longue des release notes](https://builds.shipilev.net/backports-monitor/release-notes-16.txt) * [Les fonctionnalités préférées des Java Champion](https://blogs.oracle.com/javamagazine/java-champion-favorite-java16-records-vector-arm64-github?source=:em:nw:mt::::RC_WWMK200429P00043:NSL400139911&elq_mid=187945&sh=162609181316181313222609291604350235&cmid=WWMK200429P00043C0022) * [Lombok en conflit avec openJDK sur --add-open](https://github.com/rzwitserloot/lombok/issues/2681) [La plateforme Java moderne de 2021, selon James Ward](https://jamesward.com/2021/03/16/the-modern-java-platform-2021-edition/) * 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](https://emmanuelbernard.com/blog/2021/03/16/53-java-libraries/) * Max Andersen avait demandé sur Twitter de donner des librairies Java utiles et pratiques qui résolvaient des problèmes concrets, Emmanuel a compilé la liste * avec des librairies pour parser / générer du code Java, des structures de données, de conversion de format, pour parser des formats de données, pour le web aussi bien en tant que serveur que pour faire des requêtes, pour les tests de toutes sortes [La migration d'AdoptOpenJDK vers Eclipse Adoptium a commencé](https://blog.adoptium.net/2021/03/eclipse-adoptium-announcement/) [Microsoft annonce sa distribution d'AdoptOpenJDK](https://devblogs.microsoft.com/java/announcing-preview-of-microsoft-build-of-openjdk/) * 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 ### Librairies [Spring-Boot client app to access an Auth0 protected service (JWT)](https://www.aheritier.net/spring-boot-app-client-of-an-auth0-protected-service-jwt/). [JHipster release v7.0.0](https://www.jhipster.tech/2021/03/21/jhipster-release-7.0.0.html) ### Outils Andrés Almiray annonce la release de... [JReleaser](https://andresalmiray.com/jreleaser-says-hello/), un projet qui permet de facilement livrer un projet Java sur des plateformes comme Homebrew, Snapcraft, Scoop, ou des registries de conteneurs. ### Cloud [AWS announce OpenSearch, une communauté qui forke ElasticSearch et Kibana](https://aws.amazon.com/fr/blogs/opensource/introducing-opensearch/) * 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](https://github.com/dewitt/opensearch) ### Infrastructure [Pourquoi tous mes serveurs ont un fichier vide de 8 Go?](https://brianschrader.com/archive/why-all-my-servers-have-an-8gb-empty-file/) * 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](https://docs.docker.com/docker-for-mac/apple-m1/) * 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." LOL [Levée de fond de 23 millions de dollar pour Docker](https://www.docker.com/press-release/Docker-Series-B) * Serie B, ahahah [2ème incendie chez OVH](https://www.dna.fr/faits-divers-justice/2021/03/19/nouvel-incendie-chez-ovh) * Dégagement de fumée de 300 batteries de 25 kg * Sgb1 et 3 coupés temporairement ### Loi, société et organisation [Google chrome révèle le type de données collectées attachées à l’utilisateur.](https://www.forbes.com/sites/zakdoffman/2021/03/20/stop-using-google-chrome-on-apple-iphone-12-pro-max-ipad-and-macbook-pro/) ( + [Google Chrome 90](https://stuffunknown.com/the-big-update-to-google-chrome-will-change-the-way-your-internet-browsing/) ) * 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ère [Fin du procès Oracle vs Google](https://www.wsj.com/articles/supreme-court-rules-for-google-in-multibillion-dollar-copyright-battle-with-oracle-11617632233?mod=hp_lead_pos1) * 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](https://www.zdnet.com/article/microsoft-revealed-the-latest-truths-about-working-from-home-one-is-truly-disturbing/) * +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 vacances [cratedb abandonne l'open core et retourne sur ses racines open source et s’éloigne de la business software license](https://opensource.com/article/21/4/crate-open-source) [Dell vend (encore) VMWare](https://www.lemondeinformatique.fr/actualites/lire-la-scission-avec-vmware-finalisee-fin-2021-selon-dell-82622.html) * vente des 80% detenus * pour rembourser sa dette * independance mieux pour les deux sociétés * "stimuler l'innovation et préserver les synergies" ## Conférences [Mix-IT (virtuel) les 18, 19 et 20 mai 2021](https://mixitconf.org/fr/) * 10 talks de 30 mn + 20mn de Q&A + 10 mn de pause [https://www.devoxx.fr/2021/02/25/preparation-du-programme-de-ledition-2021/](https://www.devoxx.fr/2021/02/25/preparation-du-programme-de-ledition-2021/) * reprend une partie du CfP de l’année dernière. ## Outils de l'épisode [Pourquoi les prix d'AWS lambda sont trop élevés poiur du batch](https://www.infoq.com/articles/aws-lambda-price-change/) [topgrade](https://github.com/r-darwish/topgrade) pour mettre à jour tous vos systèmes de packages. [asdf](https://asdf-vm.com/#/) pour gérer facilement différentes versions de vos outils en lignes de commande (java, maven, gradle, kubectl, help, .....). ## Nous contacter Soutenez Les Cast Codeurs sur Patreon [Faire un crowdcast ou une crowdquestion](https://lescastcodeurs.com/crowdcasting/) Contactez-nous via twitter sur le groupe Google ou sur le site web

BadGeek
Les Cast Codeurs n°253 du 08/04/21 - LCC 253 - Interview GraphQL avec Stan Chollet et Jean-François James - partie 2 (41min)

BadGeek

Play Episode Listen Later Apr 8, 2021 41:54


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](http://traffic.libsyn.com/lescastcodeurs/LesCastCodeurs-Episode-253.mp3) ## Interview ### Ta vie, ton oeuvre [Stan Chollet](https://twitter.com/tsunammis) [Tartifflette.io](https://tartiflette.io/) [Jean-François James](https://twitter.com/jefrajames) [Microprofile GraphQL](https://github.com/eclipse/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](https://www.apollographql.com/) [GraphiQL](https://github.com/graphql/graphiql) [GraphQL Playground](https://www.electronjs.org/apps/graphql-playground) [Postman](https://www.postman.com/graphql/) ### 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 [La spec GraphQL](https://github.com/graphql/graphql-spec) ## Nous contacter Soutenez Les Cast Codeurs sur Patreon [Faire un crowdcast ou une crowdquestion](https://lescastcodeurs.com/crowdcasting/) Contactez-nous via twitter sur le groupe Google ou sur le site web

BadGeek
Les Cast Codeurs n°252 du 29/03/21 - LCC 252 - Interview GraphQL avec Stan Chollet et Jean-François James - partie 1 (46min)

BadGeek

Play Episode Listen Later Mar 29, 2021 46:17


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](http://traffic.libsyn.com/lescastcodeurs/LesCastCodeurs-Episode-252.mp3) ## Interview ### Ta vie, ton oeuvre [Stan Chollet](https://twitter.com/tsunammis) [Tartifflette.io](https://tartiflette.io/) [Jean-François James](https://twitter.com/jefrajames) [Microprofile GraphQL](https://github.com/eclipse/microprofile-graphql) ### GraphQL en deux mots ### La techno en concepts D’où vient [GraphQL](https://graphql.org/)? 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](https://www.apollographql.com/) [GraphQL Federation](https://www.apollographql.com/docs/federation/) [Domain Graph Service](https://www.infoq.com/news/2021/02/netflix-graphql-spring-boot/) 45:07 ### 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](https://www.apollographql.com/) [GraphiQL](https://github.com/graphql/graphiql) [GraphQL Playground](https://www.electronjs.org/apps/graphql-playground) [Postman](https://www.postman.com/graphql/) ### 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 [La spec GraphQL](https://github.com/graphql/graphql-spec) ## Nous contacter Soutenez Les Cast Codeurs sur Patreon [Faire un crowdcast ou une crowdquestion](https://lescastcodeurs.com/crowdcasting/) Contactez-nous via twitter sur le groupe Google ou sur le site web

BadGeek
Les Cast Codeurs n°251 du 16/03/21 - LCC 251 - Trié dans le désordre (73min)

BadGeek

Play Episode Listen Later Mar 16, 2021 73:18


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](https://traffic.libsyn.com/lescastcodeurs/LesCastCodeurs-Episode-251.mp3) ## News ### Infrastructure [Un data center d'OVH en feu](https://www.phonandroid.com/ovh-un-incendie-detruit-completement-le-data-center-des-services-impactes.html) * Strasbourg * 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](https://www.journaldunet.com/web-tech/cloud/1498567-incendie-chez-ovh-3-6-millions-de-sites-web-hors-ligne/) * 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 bourse [Améliorer le temps de démarrage des JVMs sur Kubernetes](https://tech.olx.com/improving-jvm-warm-up-on-kubernetes-1b27dd8ecd58) * 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 ### Front [Sortie de Flutter 2.0](https://developers.googleblog.com/2021/03/announcing-flutter-2.html) * [poste plus technique](https://medium.com/flutter/whats-new-in-flutter-2-0-fe8e95ecc65) * 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 ### Librairies [Hibernate Reactive 1.0 CR arrive](https://in.relation.to/2021/03/08/hibernate-reactive-1/) [Spring Native est en béta](https://spring.io/blog/2021/03/11/announcing-spring-native-beta) [Micronaut 2.4](https://micronaut.io/blog/2021-03-09-micronaut-2-4-release.html) 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 ### Outillage [Gradle explique l’impact de la disparition de JCenter sur les builds Gradle](https://blog.gradle.org/jcenter-shutdown) * 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`) ### Architecture [InfoQ article sur le pattern Saga, le outbox pattern et change data capture](https://www.infoq.com/articles/saga-orchestration-outbox/) * 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 * 2. orchestration: un swervice coordonne les autres et fait les appels * dual write: inconsistence si un ou l’autre des envois (DB tx ou message) echoue * Article ensuite decrit comment implementer une saga entre 4 services via the outbox pattern en utilisant Kafka et Debezium [Thoth un framework event sourcing de la Maif](https://maif.github.io/thoth/) ### Méthodologies [L’état des lieux du Dev Java par jaxcenter](https://jaxenter.com/java-development-2021-173870.html) * 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 mins [D3.js 10 ans d’open source ; les leçons apprises](https://observablehq.com/@mbostock/10-years-of-open-source-visualization) * 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 temps [Salaire égal pour tous dans la société](https://oxide.computer/blog/compensation-as-a-reflection-of-values/) * 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 organisation [Un autre renvoie d’une personne du groupe ethic AI chez google après qu’elle ait téléchargé avec un script des infos concernant la première employée renvoyée](https://www.cnbc.com/2021/01/21/margaret-mitchell-google-investigating-ai-researcher-awu-concerned.html) * Elle 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](https://twitter.com/mmitchell_ai/status/1362885356127801345?s=21) * Ethique vs lanceur d’alerte ? ## Conférences [Mix-It (virtuel) les 18, 19 et 20 mai 2021](https://mixitconf.org/fr/) * 10 talks de 30 mn + 20mn de Q&A + 10 mn de pause [https://www.devoxx.fr/2021/02/25/preparation-du-programme-de-ledition-2021/](https://www.devoxx.fr/2021/02/25/preparation-du-programme-de-ledition-2021/) * reprend une partie du CfP de l’année dernière. ## Nous contacter Soutenez Les Cast Codeurs sur Patreon [Faire un crowdcast ou une crowdquestion](https://lescastcodeurs.com/crowdcasting/) Contactez-nous via twitter sur le groupe Google ou sur le site web

BadGeek
Les Cast Codeurs n°250 du 03/03/21 - LCC 250 - Spécial Loi Société et Organisations avec Agnès Crepet et Tariq Krim, 2ème partie (53min)

BadGeek

Play Episode Listen Later Mar 3, 2021 53:30


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](https://traffic.libsyn.com/lescastcodeurs/LesCastCodeurs-Episode-250.mp3) ## Invité de l'épisode [Twitter Tariq Krim](https://twitter.com/tariqkrim) ## Intros et premiers sujets en partie 1 [1ère partie de l'épisode](https://lescastcodeurs.com/2021/02/12/lcc-248-special-loi-societe-et-organisations-avec-agnes-crepet-et-tariq-krim-partie-1/) ## La déplateformisation de Trump et des comptes affiliés à QAnon * [Le compte personnel de Trump - 80 millions de followers sur Twitter - bannie des réseaux sociaux suite à la prise d'assault du Capitol](https://techcrunch.com/2021/01/08/trump-banned-from-twitter/) * [Le post officiel de Twitter](https://blog.twitter.com/en_us/topics/company/2020/suspension.html) * [Bannir Donald Trump de Twitter crée un précédent « dangereux », affirme son patron](https://www.lemonde.fr/pixels/article/2021/01/14/bannir-donald-trump-cree-un-precedent-dangereux-affirme-le-patron-de-twitter_6066224_4408996.html) * [Le thread de Jack Dorsey, le CEO de Twitter](https://threadreaderapp.com/thread/1349510769268850690.html) * [Parler retirée des stores Google et Apple, et son infra supprimée de AWS.](https://edition.cnn.com/2021/01/09/tech/parler-suspended-apple-app-store/index.html) * 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](https://www.cnbc.com/2021/01/09/amazon-employees-demand-company-drop-parler-after-capitol-riot.html) 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](https://www.washingtonpost.com/technology/2021/01/16/misinformation-trump-twitter/) * 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. * [Les politiques du monde entier déstabilisés par la déplateformation de Trump et les questions qu'elle soulève](https://threadreaderapp.com/thread/1348696139395166208.html) ## GAFAM * [Des salariés de Google créent un syndicat après des mois de tensions internes](https://www.lemonde.fr/pixels/article/2021/01/04/google-des-salaries-creent-un-syndicat-apres-des-mois-de-tensions-internes_6065173_4408996.html) ## Nous contacter Soutenez Les Cast Codeurs sur Patreon [Faire un crowdcast ou une crowdquestion](https://lescastcodeurs.com/crowdcasting/) Contactez-nous via twitter sur le groupe Google ou sur le site web

Soif de Sens, histoires d'humains qui changent le monde
2. Il transforme 15000 Chômeurs en Codeurs !

Soif de Sens, histoires d'humains qui changent le monde

Play Episode Listen Later Sep 27, 2020 52:12


Attention, ce podcast transforme des chômeurs en développeurs. Abonne-toi et mets 5 étoiles si ça t'a plu !   SOMMAIRE 00:00 De chômeurs à développeurs web  04:35 Xavier Niel  06:40 Les exclus du numérique  10:18 Femmes dans la tech  17:29 Candidate !  24:51 Bisounours du numérique  28:30 Wikipédia  34:47 Changer le système  41:51 Poison ou super-pouvoir ?  46:12 Gratuit ? DANS CE PODCAST Les formations Simplon sur les métiers d'Internet et du numérique  :  https://simplon.co/je-candidate https://simplon.co/notre-offre-de-formation.html CA RISQUE DE TE PLAIRE : ► Ma chaîne Youtube Pierre Chevelle : http://bit.ly/En2heures ► Mes 3 livres Changer le monde en 2 heures : http://en2heures.fr OÙ ECOUTER LE PODCAST SOIF DE SENS ? ► Apple : https://apple.co/3425Ms2 ► Spotify : https://spoti.fi/3mXwZob ► Imago : http://bit.ly/37dYZ0O ► Soundcloud : http://bit.ly/3emJWpM ► Deezer : https://bit.ly/340VqIN ► Google : https://bit.ly/2SbFo9v ► Toutes les plateformes : https://anchor.fm/soifdesens LES COULISSES ► Facebook : http://facebook.com/pchevelle ► Insta : https://www.instagram.com/pierre.chevelle ► Tipeee (merci !) : http://tipeee.com/changerlemonde