POPULARITY
An airhacks.fm conversation with Ashish Chhabria (@ashishc1) about: Compaq Presario, Windows 95 Pentium 1 with MMX, 2 GB harddrive and 16 MB RAM, QBasic and GW-Basic, playing virtual cricket, creating calculator from scratch, fascianation with math, learning C and C++, algorithms as hobby, rewriting SMTP server in C and berkeley sockets, starting with Java 1.6, starting at Morgan Stanley in New York, starting at Microsoft in Seattle, product manager on azure messaging team, Microsoft Azure Service Bus, Microsoft Azure Event Hubs, Microsoft Azure Event Grid, Microsoft Azure Relay, Azure Service Bus supports Java Message Service (JMS), JMS 2.0 is just a set of interfaces, Project Darkstar and JMS debate, AMQP with JMS 2.0, JMS is not a protocol, AMQP is the protocol, Active MQ uses AMQP, Azure Service Bus Java SDK comes as a Maven dependency, Microsoft Azure Logic Apps listens to Azure Service Bus, Microsoft Azure Functions as an integration system, Azure Service Bus passes over 90% JMS 2.0 TCKs (Test Compatibility Kit), QueueBrowsers and Message Selectors are supported by Azure Service Bus, 1k topics and queues combined, 2k subscriptions, 5k concurrent AMQP connections per namespace / instance, a namespace comes with 2,4 or 8 a messaging units, Azure Service Bus SDK comes with built-in retry mechanism, idempotent messages are supported, Azure Service Bus uses Azure Storage for replication, Azure Service Bus vs. Apache Kafka, events vs. messages, kafka is not a queue, Ashish Chhabria on twitter: @ashishc1, and github.com/axisc
Dans cet épisode, Vincent, Antonio et Guillaume discutent du décès de l’architecte de Java EE, d’AdoptOpenJDK, de Micronaut, de Istio qui bougent dans des fondations, du papa de Micronaut qui va chez Oracle et bien d’autres sujets encore. Enregistré le 10 juillet 2020 Téléchargement de l’épisode LesCastCodeurs-Episode–236.mp3 News Bill Shannon l’architecte de Java EE est mort. Il a été le gardien de Java EE aussi longtemps que j’ai connu l’api. Tu aimes ou pas mais tous les backends Java utilisent une ou plusieurs APIs de Java EE et la compatibilité et cohérence de la plateforme lui doit beaucoup. Triste. Langages Classes Sealed Les classes sealed arrivent dans Java 15 en septembre, ce sont des classes ou interfaces qui restreignent qui peut les étendre ou implémenter. Un peu comme les enum les classes sealed représentent un nombre limité de valeurs possibles, ce qui permet de coder en terme d’exhaustivité (si c’est pas A ou B, alors c’est C, parce qu’il y a pas d’autres alternatives). Avec ça, on peut faire des types sommes et produits, des structures de données algébriques, comme dans les langages fonctionnels. Le développeurs qui les utilise est donc en contrôle de la hiérarchie de ces interfaces, et contrôler les implémentations autorisées. Les classes sealed fonctionnent avec les records et le pattern matching. AdoptOpenJDK rejoint la fondation Eclipse Avec son adoption massive depuis 2017, le projet devient trop gros pour rester sous la gouvernance du LJC La migration sous la fondation eclipse permets de conserver la position de neutralité Le projet est renommé Eclipse Adoptium La structure de gouvernance est séparée en 2 : le Project Management Committee pour les décisions techniques et le Working Group pour les questions financières, légales, marketing etc… Histoire du langage Groovy Les opérateurs que Groovy a amené aux langagues modernes This includes Groovy’s dangling closure,Groovy builders, null-safe navigation, the Elvis operator, ranges, the spaceship operator, and flow typing. Formost languages, we don’t know to what extent Groovy played a part in their choices Les choix fort dynamiques Le passage par la JSR Mandrel GraalVM: une nouvelle distribution OpenJDK de RedHat spécifique pour GraalVM, ce qui montre l’implication de RedHat sur GraalVM et l’ouverture d’Oracle sur des collaborations sur ce projet. On entends parler souvent du livre Clean Code de Uncle Bob Martin, c’est souvent une référence dans les livres d’informatique à lire. Cet article critique ce livre, pour son inconsistence, ses conseils que l’auteur n’applique même pas dans ses propres exemples de code. Il parait que les tests unitaires c’est surfait. Runtime Micronaut 2.0 est sorti Micronaut Launch : permet de générer des apps Micronaut en configurant modules optionnels, langage, outil de build JDK 14 et Groovy 3 supportés Améliorations de performance de 20% Support des plateformes serverless : Google Cloud Functions, Microsoft Azure Functions, Amazon Lambda Nouveau plugin Maven Possibilité de faire tourner ses applis Micronaut dans un conteneur de Servlet Meilleur support de GraalVM, avec automatisation de la configuration de ressources statiques, de la configuration de drivers JDBC, d’Hibernate, de Flyway Utilisation de Gradle 6.5 qui permet de faire de la compilation incrémentale, même avec les annotation processors Support HTTP/2 Object Computing (OCI) crée une fondation pour héberger Micronaut. La société garde une place majoritaire mais inclue des technical advisory boards dont des membres de ThoughtWorks, mais aussi… notre Guillaume Laforge. Graeme rocher rejoins Oracle Quarkus 1.6 Support des archives AppCDS pour améliorer le démarrage en mode JVM Support de Google Cloud Functions (en plus deLambda Azure) Client IBM DB2 réactif Client Apache Cassandra Support de WebJars Locator Support de l’annotation Spring @Scheduled Amélioration d’outils pour le débuggage des applications Upgrade à GraalVM 20.1.0 CrowdCast fast Jar Quarkus par Emmanuel Cloud AWS going after nexus/artifactory. Nouveau concurrent / nouvel entrant Nouvelle entité open source annoncée par Google : Open Usage Commons, pour gérer les marques et logos open source Open Usage Commons qui accueille les marques de Angular, Gerrit et Istio Le projet Istio annonce que les trademarks du projet sont transférées dans l’organisation Open Usage Commons Mais IBM qui avait travaillé avec Google au lancement d’Istio et contribué depuis n’est pas très content. IBM aurait préféré une gouvernance encore plus ouverte que cela Web Bootstrap 5 Alpha Bootstrap no longer depends on jQuery Dropped support for Internet Explorer CSS custom properties Alpha: breaking changes will continue to occur until our first beta Better documentation Data Oracle annonce une version Community Edition de Coherence (in-memory data grid) open source, sous licence Universal Permissive License (supporté par l’OSI). Une version Enteprise continuera d’être proposée également. Outillage Plugin Maven Asciidoc 2.0 Support de AsciidoctorJ 2.x Alignement avec le plugin Gradle plugin et Antora Première version introduisant des changements cassants (arrêt du support de Java 7, et le nouveau backend par défaut est HTML 5 au lieu de DocBook) Une proposition de spécification du langage AsciiDoc a été soumise par l’équipe AsciiDoctor à la fondation Eclipse Conférences JNation virtal conf pour 2020 JNation est une conférence communautaire qui a lieu annuellement au Portugal. Suite au Covid ils ont décidé de ne pas annuler… mais de faire du remote (virtual conf). Ils viennent de mettre en ligne les 45 vidéos. BDX.io annulée Nous 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/
Dans cet épisode, Vincent, Antonio et Guillaume discutent du décès de l'architecte de Java EE, d'AdoptOpenJDK, de Micronaut, de Istio qui bougent dans des fondations, du papa de Micronaut qui va chez Oracle et bien d'autres sujets encore. Enregistré le 10 juillet 2020 Téléchargement de l'épisode [LesCastCodeurs-Episode-236.mp3](https://traffic.libsyn.com/lescastcodeurs/LesCastCodeurs-Episode-236.mp3) ## News [Bill Shannon](https://twitter.com/sharat_chander/status/1276675743716540417?s=21) l’architecte de Java EE est mort. Il a été le gardien de Java EE aussi longtemps que j’ai connu l’api. Tu aimes ou pas mais tous les backends Java utilisent une ou plusieurs APIs de Java EE et la compatibilité et cohérence de la plateforme lui doit beaucoup. Triste. ### Langages [Classes Sealed](https://www.infoq.com/articles/java-sealed-classes) * Les classes sealed arrivent dans Java 15 en septembre, ce sont des classes ou interfaces qui restreignent qui peut les étendre ou implémenter. * Un peu comme les enum les classes sealed représentent un nombre limité de valeurs possibles, ce qui permet de coder en terme d’exhaustivité (si c’est pas A ou B, alors c’est C, parce qu’il y a pas d’autres alternatives). * Avec ça, on peut faire des types sommes et produits, des structures de données algébriques, comme dans les langages fonctionnels. * Le développeurs qui les utilise est donc en contrôle de la hiérarchie de ces interfaces, et contrôler les implémentations autorisées. * Les classes sealed fonctionnent avec les records et le pattern matching. [AdoptOpenJDK rejoint la fondation Eclipse](https://blog.adoptopenjdk.net/2020/06/adoptopenjdk-to-join-the-eclipse-foundation) * Avec son adoption massive depuis 2017, le projet devient trop gros pour rester sous la gouvernance du LJC * La migration sous la fondation eclipse permets de conserver la position de neutralité * Le projet est renommé Eclipse Adoptium * La structure de gouvernance est séparée en 2 : le Project Management Committee pour les décisions techniques et le Working Group pour les questions financières, légales, marketing etc… [Histoire du langage Groovy](https://dl.acm.org/doi/pdf/10.1145/3386326) * Les opérateurs que Groovy a amené aux langagues modernes This includes Groovy’s dangling closure,Groovy builders, null-safe navigation, the Elvis operator, ranges, the spaceship operator, and flow typing. Formost languages, we don’t know to what extent Groovy played a part in their choices * Les choix fort dynamiques * Le passage par la JSR [Mandrel GraalVM](https://www.infoq.com/news/2020/07/mandrel-graalvm): une nouvelle distribution OpenJDK de RedHat spécifique pour GraalVM, ce qui montre l'implication de RedHat sur GraalVM et l'ouverture d'Oracle sur des collaborations sur ce projet. On entends parler souvent du [livre Clean Code de Uncle Bob Martin](https://qntm.org/clean), c’est souvent une référence dans les livres d'informatique à lire. Cet article critique ce livre, pour son inconsistence, ses conseils que l’auteur n’applique même pas dans ses propres exemples de code. Il parait que les [tests unitaires c'est surfait](https://tyrrrz.me/blog/unit-testing-is-overrated). ### Runtime [Micronaut 2.0 est sorti](https://micronaut.io/blog/2020-06-26-announcing-micronaut-20.html) * Micronaut Launch : permet de générer des apps Micronaut en configurant modules optionnels, langage, outil de build * JDK 14 et Groovy 3 supportés * Améliorations de performance de 20% * Support des plateformes serverless : Google Cloud Functions, Microsoft Azure Functions, Amazon Lambda * Nouveau plugin Maven * Possibilité de faire tourner ses applis Micronaut dans un conteneur de Servlet * Meilleur support de GraalVM, avec automatisation de la configuration de ressources statiques, de la configuration de drivers JDBC, d’Hibernate, de Flyway * Utilisation de Gradle 6.5 qui permet de faire de la compilation incrémentale, même avec les annotation processors * Support HTTP/2 [Object Computing (OCI) crée une fondation pour héberger Micronaut](https://objectcomputing.com/news/2020/06/29/micronaut-foundation-established). La société garde une place majoritaire mais inclue des technical advisory boards dont des membres de ThoughtWorks, mais aussi... notre Guillaume Laforge. [Graeme rocher rejoins Oracle](https://twitter.com/helidon_project/status/1278753593458331648?s=21) [Quarkus 1.6](https://quarkus.io/blog/quarkus-1-6-0-final-released) * Support des archives AppCDS pour améliorer le démarrage en mode JVM * Support de Google Cloud Functions (en plus deLambda Azure) * Client IBM DB2 réactif * Client Apache Cassandra * Support de WebJars Locator * Support de l'annotation Spring @Scheduled * Amélioration d'outils pour le débuggage des applications * Upgrade à GraalVM 20.1.0 CrowdCast fast Jar Quarkus par Emmanuel ### Cloud [AWS going after nexus/artifactory](https://aws.amazon.com/codeartifact). Nouveau concurrent / nouvel entrant [Nouvelle entité open source annoncée par Google](https://opensource.googleblog.com/2020/07/announcing-new-kind-of-open-source.html) : Open Usage Commons, pour gérer les marques et logos open source [Open Usage Commons](https://openusage.org/news/introducing-the-open-usage-commons/) qui accueille les marques de Angular, Gerrit et Istio [Le projet Istio annonce que les trademarks du projet sont transférées dans l’organisation Open Usage Commons](https://istio.io/latest/blog/2020/open-usage/) [Mais IBM qui avait travaillé avec Google au lancement d’Istio et contribué depuis n’est pas très content](https://developer.ibm.com/blogs/istio-google-open-usage-commons/). IBM aurait préféré une gouvernance encore plus ouverte que cela ### Web [Bootstrap 5 Alpha](https://blog.getbootstrap.com/2020/06/16/bootstrap-5-alpha) * Bootstrap no longer depends on jQuery * Dropped support for Internet Explorer * CSS custom properties * Alpha: breaking changes will continue to occur until our first beta * Better documentation ### Data [Oracle annonce une version Community Edition de Coherence](https://blogs.oracle.com/oraclecoherence/announcing-coherence-community-edition) (in-memory data grid) open source, sous licence Universal Permissive License (supporté par l’OSI). Une version Enteprise continuera d’être proposée également. ### Outillage [Plugin Maven Asciidoc 2.0](https://twitter.com/abelsromero/status/1274421896445132802) * Support de AsciidoctorJ 2.x * Alignement avec le plugin Gradle plugin et Antora * Première version introduisant des changements cassants (arrêt du support de Java 7, et le nouveau backend par défaut est HTML 5 au lieu de DocBook) [Une proposition de spécification du langage AsciiDoc](https://projects.eclipse.org/proposals/asciidoc-language) a été soumise par l’équipe AsciiDoctor à la fondation Eclipse ## Conférences [JNation virtal conf pour 2020](https://twitter.com/JNationConf/status/1273755895516839937) JNation est une conférence communautaire qui a lieu annuellement au Portugal. Suite au Covid ils ont décidé de ne pas annuler... mais de faire du remote (virtual conf). Ils viennent de mettre en ligne les 45 vidéos. BDX.io annulée ## Nous 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
K8s security with Omer Levi Hevroni (@omerlh) service tickets - Super-Dev Omer’s requirements for storing secrets: Gitops enabled Kubernetes Native Secure “One-way encryption” Omer’s slides and youtube video: https://www.slideshare.net/SolutoTLV/can-kubernetes-keep-a-secret https://www.youtube.com/watch?v=FoM3u8G99pc&&index=14&t=0s We’ve all experienced it: you’re working on a task, adding some code, and then you need to store some sensitive configuration value. It could be an API key, client secret or an encryption key ― something that’s highly sensitive and must be kept secret. And this is where things get messy. Usually, secret storage is highly coupled with how the code is deployed, and different platforms have different solutions. Kubernetes has a promise to simplify this process by using the native secret object, which, as the name implies, can be used to store secrets or sensitive configurations. Unfortunately, Kubernetes secrets are fundamentally broken, and a developer who tries to use them will definitely have some issues. But no need to worry ― there are solid alternatives for storing secrets securely on Kubernetes platform. One solution is to use Kamus, an open-source, git-ops solution, that created by Soluto, for managing secrets on Kubernetes. Kamus can encrypt a secret so it can be decrypted only by your app on runtime - and not by anyone else. The first part of this session will cover the challenges faced when using Kubernetes secrets (from a usability and security point of view). The second part will discuss some of the existing solutions (Sealed Secrets, Helm Secrets and others), their pros, and cons, and then feature Kamus: how it works, what problems it solves, how it differs from other solutions, and what threats it can help mitigate (and what threats it can’t). The talk will cover all that is required to know so you can run Kamus on your own cluster and use it for secret management. Join me for this session to learn how you can build a Kubernetes cluster than can keep a secret ― for real. Speakers Omer Levi Hevroni Kubernetes Secrets Bad, because manifest files hold the user/password, and are encoded in Base64 Could be uploaded to git = super bad https://kubernetes.io/docs/concepts/configuration/secret/ https://docs.travis-ci.com/user/encryption-keys/ Kamus threat model on Github: https://kamus.soluto.io/docs/threatmodeling/threats_controls/ https://medium.com/@BoweiHan/an-introduction-to-serverless-and-faas-functions-as-a-service-fb5cec0417b2 “FaaS is a relatively new concept that was first made available in 2014 by hook.io and is now implemented in services such as AWS Lambda, Google Cloud Functions, IBM OpenWhisk and Microsoft Azure Functions.” Best practices: https://kubernetes.io/docs/tasks/administer-cluster/securing-a-cluster/ https://github.com/owasp-cloud-security/owasp-cloud-security https://www.omerlh.info/2019/01/19/threat-modeling-as-code/ https://telaviv.appsecglobal.org/ https://github.com/Soluto/kamus https://kamus.soluto.io Infosec Campout = www.infoseccampout.com
番組へのフィードバック Twitterは#systemandまで! iTunesレビューもしていただけると嬉しいです! 今週のネタ ActEvolve、VRライブプラットフォーム「VARK」を発表。クリスマスイブに「YuNi 1st VR LIVE! ~VeRy Merry X'mas~」も開催決定! VARK Microsoft Research、「息を吸いながら喋る」ことで周囲に気づかれずに音声入力を可能にするシステムを発表 JES/Japan esports union GitHubからワークフロー自動化ツール、Actions登場――独自サービス提供の第一弾 Microsoft Azure Functions ※番組での出演者の発言は個人の意見であり、所属する組織とは一切関係ありません。
01:58 - Ahmed ElSayed Introduction Twitter GitHub Blog 02:09 - Chris Anderson Introduction Twitter GitHub 02:19 - Microsoft Azure Functions iPhreaks Show Episode #157: Azure App Services with Matthew Henderson 02:28 - Building the Azure Functions Portal on Angular 2 09:37 - The Backend 11:18 - Approaching Leadership for Approval to Build in Angular 2/Beta; Deciding Factors 15:18 - App Organization and Architectural Pattern 18:38 - Ease and Hardships of Starting the App 22:33 - Use Cases 24:13 - Browser Issues 25:39 - Debugging Augury 26:52 - Angular CLI jspm.io 28:59 - Workflow 40:08 - Observables & Streaming 41:36 - Upgrading 42:15 - Would you recommend Angular 2? 44:35 - Testing Picks Progressive Web Apps (John) NativeScript (John) Ionic 2 (John) Billy Collins (Ward) Start with Why: How Great Leaders Inspire Everyone to Take Action by Simon Sinek (Chuck) Audible (Chuck) Sapiens: A Brief History of Humankind by Yuval Noah Harari (Ahmed) Promise Theory (Chris)
01:58 - Ahmed ElSayed Introduction Twitter GitHub Blog 02:09 - Chris Anderson Introduction Twitter GitHub 02:19 - Microsoft Azure Functions iPhreaks Show Episode #157: Azure App Services with Matthew Henderson 02:28 - Building the Azure Functions Portal on Angular 2 09:37 - The Backend 11:18 - Approaching Leadership for Approval to Build in Angular 2/Beta; Deciding Factors 15:18 - App Organization and Architectural Pattern 18:38 - Ease and Hardships of Starting the App 22:33 - Use Cases 24:13 - Browser Issues 25:39 - Debugging Augury 26:52 - Angular CLI jspm.io 28:59 - Workflow 40:08 - Observables & Streaming 41:36 - Upgrading 42:15 - Would you recommend Angular 2? 44:35 - Testing Picks Progressive Web Apps (John) NativeScript (John) Ionic 2 (John) Billy Collins (Ward) Start with Why: How Great Leaders Inspire Everyone to Take Action by Simon Sinek (Chuck) Audible (Chuck) Sapiens: A Brief History of Humankind by Yuval Noah Harari (Ahmed) Promise Theory (Chris)
01:58 - Ahmed ElSayed Introduction Twitter GitHub Blog 02:09 - Chris Anderson Introduction Twitter GitHub 02:19 - Microsoft Azure Functions iPhreaks Show Episode #157: Azure App Services with Matthew Henderson 02:28 - Building the Azure Functions Portal on Angular 2 09:37 - The Backend 11:18 - Approaching Leadership for Approval to Build in Angular 2/Beta; Deciding Factors 15:18 - App Organization and Architectural Pattern 18:38 - Ease and Hardships of Starting the App 22:33 - Use Cases 24:13 - Browser Issues 25:39 - Debugging Augury 26:52 - Angular CLI jspm.io 28:59 - Workflow 40:08 - Observables & Streaming 41:36 - Upgrading 42:15 - Would you recommend Angular 2? 44:35 - Testing Picks Progressive Web Apps (John) NativeScript (John) Ionic 2 (John) Billy Collins (Ward) Start with Why: How Great Leaders Inspire Everyone to Take Action by Simon Sinek (Chuck) Audible (Chuck) Sapiens: A Brief History of Humankind by Yuval Noah Harari (Ahmed) Promise Theory (Chris)