The latest slide deck about Java NIO.2 from *instinctools Java developer Alexandr Brui. You can find here Java NIO.2 design, work with data, selector & channels, reading & writing and many more.
The latest slide deck about Java NIO.2 from *instinctools Java developer Alexandr Brui. You can find here Java NIO.2 design, work with data, selector & channels, reading & writing and many more.
alphorm.com - Formation Linux LPIC-1/Comptia Linux+Alphorm
La formation complète est disponible ici:
http://www.alphorm.com/tutoriel/formation-en-ligne-linux-lpic-1-comptia-linuxplus
Le Linux Professionnal Institute (LPI) a été créé en vue d’apporter un processus reconnu, identifiant et certifiant le talent et les compétences des utilisateurs GNU/Linux partout dans le monde.
La LPIC est aujourd’hui la certification la plus demandée dans le monde de l’Open Source. Indépendante de toute distribution Linux, la certification LPI est devenue dans la pratique une certification incontournable pour qui veut évaluer ses compétences dans l’administration Linux.
L'expert de l’Open Source Noël Macé vous accompagne durant cette première formation afin d’acquérir votre LPIC-1. La LPIC-1 vous permet d'acquérir et maîtriser les bases de l’administration système sous GNU/Linux.
Cette même formation vous permettra également de valider les connaissances exigées par la certification Comptia Linux+ et ainsi la réussir.
In this deck from the 2019 Stanford HPC Conference, Todd Gamblin from Lawrence Livermore National Laboratory presents: Spack - A Package Manager for HPC.
"Spack is a package manager for cluster users, developers and administrators. Rapidly gaining popularity in the HPC community, like other HPC package managers, Spack was designed to build packages from source. Spack supports relocatable binaries for specific OS releases, target architectures, MPI implementations, and other very fine-grained build options.
This talk will introduce some of the open infrastructure for distributing packages, challenges to providing binaries for a large package ecosystem and what we're doing to address problems. We'll also talk about challenges for implementing relocatable binaries with a multi-compiler system like Spack. Finally, we'll talk about how Spack integrates with the US Exascale project's open source software release plan and how this will help glue together the HPC OSS ecosystem.
Todd is a computer scientist in the Center for Applied Scientific Computing at Lawrence Livermore National Laboratory. His research focuses on scalable tools for measuring, analyzing, and visualizing performance data from massively parallel applications. Todd is also involved with many production projects at LLNL. He works with Livermore Computing’s Development Environment Group to build tools that allow users to deploy, run, debug, and optimize their software for machines with million-way concurrency.
Todd received his Ph.D. in computer science from the University of North Carolina at Chapel Hill in 2009. His dissertation investigated parallel methods for compressing and sampling performance measurements from hundreds of thousands of concurrent processors. He received his B.A. in Computer Science and Japanese from Williams College in 2002. He has also worked as a software developer in Tokyo and held research internships at the University of Tokyo and IBM Research.
Watch the video: https://youtu.be/DhUVbroMLJY
Learn more: https://computation.llnl.gov/projects/spack-hpc-package-manager
and
http://hpcadvisorycouncil.com/events/2019/stanford-workshop/
Sign up for our insideHPC Newsletter: http://insidehpc.com/newsletter
HKG15-505: Power Management interactions with OP-TEE and Trusted FirmwareLinaro
HKG15-505: Power Management interactions with OP-TEE and Trusted Firmware
---------------------------------------------------
Speaker: Jorge Ramirez-Ortiz
Date: February 13, 2015
---------------------------------------------------
★ Session Summary ★
[Note: this is a joint Security/Power Management session) Understand what use cases related to Power Management have to interact with Trusted Firmware via Secure calls. Walk through some key use cases like CPU Suspend and explain how PM Linux drivers interacts with Trusted Firmware / PSCI
--------------------------------------------------
★ Resources ★
Pathable: https://hkg15.pathable.com/meetings/250855
Video: https://www.youtube.com/watch?v=hQ2ITjHZY4s
Etherpad: http://pad.linaro.org/p/hkg15-505
---------------------------------------------------
★ Event Details ★
Linaro Connect Hong Kong 2015 - #HKG15
February 9-13th, 2015
Regal Airport Hotel Hong Kong Airport
---------------------------------------------------
http://www.linaro.org
http://connect.linaro.org
Agenda:
In this session, Shmulik Ladkani discusses the kernel's net_device abstraction, its interfaces, and how net-devices interact with the network stack. The talk covers many of the software network devices that exist in the Linux kernel, the functionalities they provide and some interesting use cases.
Speaker:
Shmulik Ladkani is a Tech Lead at Ravello Systems.
Shmulik started his career at Jungo (acquired by NDS/Cisco) implementing residential gateway software, focusing on embedded Linux, Linux kernel, networking and hardware/software integration.
51966 coffees and billions of forwarded packets later, with millions of homes running his software, Shmulik left his position as Jungo’s lead architect and joined Ravello Systems (acquired by Oracle) as tech lead, developing a virtual data center as a cloud service. He's now focused around virtualization systems, network virtualization and SDN.
This session provides a quick introduction of Docker containers on Linux, and how to configure it on Ubuntu running on a POWER8 processor-based system. We discuss requisites, steps, repositories and use cases. We also make a comparison between Docker and AIX Workload Partitions. During the presentation we demonstrate how to deploy and use containers, and how to manager Docker containers on Power.
Alphorm.com Formation PowerShell : Niveau InitiationAlphorm
Sorti en 2006, PowerShell est devenu la référence dans l’administration des technologies Microsoft et autres. Multiplateforme et OpenSource depuis 2018, PowerShell est un langage de script qui vous permet d’automatiser les tâches aussi bien sur Windows que sur Linux ou MacOS.
Au cours de cette formation, vous apprendrez à installer PowerShell et à l’utiliser avec Windows.
Vous apprendrez les bases fondamentales de PowerShell et en fin de formation vous saurez administrer Windows avec PowerShell.
Cette formation fait partie d’un cursus complet sur PowerShell. Au cours de cette formation, vous apprendrez à maitriser la console PowerShell et vous saurez ainsi exécuter des commandes simples et complexes.
Vous apprendrez à étendre les possibilités de PowerShell en utilisant des modules externes.
XPDDS18: CPUFreq in Xen on ARM - Oleksandr Tyshchenko, EPAM SystemsThe Linux Foundation
The motivation of hypervisor based CPUFreq is to enable the one of the main PM use-cases (Dynamic voltage and frequency scaling) in virtualized system powered by Xen hypervisor. Rationale behind this activity is that CPU virtualization is done by hypervisor and the guest OS doesn't actually know anything about physical CPUs because it is running on virtual CPUs.
In this talk Oleksandr will briefly describe the possible approach of generic CPUFreq in Xen on ARM, the advantages and disadvantages of having DVFS support on ARM boards powered by Xen hypervisor and share results of his CPUFreq PoC which implies power consumption measurements with and without CPUFreq enabled on R-Car Gen3 based board as an example.
Introduction to binary translation in QEMU(TCG). Describe how it works. In addition, there is a section which demonstrate qemu-monitor, a debug tool for AArch64/QEMU.
There are lots of animations in the slides so download and open it with Microsoft PowerPoint for the best experience. Below is the download link.
Google Driver Link: http://goo.gl/XXMC9X
Workshop Spring 3 - Tests et techniques avancées du conteneur SpringAntoine Rey
Les secrets du conteneur Spring vous attendent pour ce 3ième workshop sur le framework Spring : module spring-test, injection de beans de portées différentes, support des JSR 250 et 330, post-processeurs de beans, fichiers de configuration et abstraction de l’accès aux ressources.
alphorm.com - Formation Linux LPIC-1/Comptia Linux+Alphorm
La formation complète est disponible ici:
http://www.alphorm.com/tutoriel/formation-en-ligne-linux-lpic-1-comptia-linuxplus
Le Linux Professionnal Institute (LPI) a été créé en vue d’apporter un processus reconnu, identifiant et certifiant le talent et les compétences des utilisateurs GNU/Linux partout dans le monde.
La LPIC est aujourd’hui la certification la plus demandée dans le monde de l’Open Source. Indépendante de toute distribution Linux, la certification LPI est devenue dans la pratique une certification incontournable pour qui veut évaluer ses compétences dans l’administration Linux.
L'expert de l’Open Source Noël Macé vous accompagne durant cette première formation afin d’acquérir votre LPIC-1. La LPIC-1 vous permet d'acquérir et maîtriser les bases de l’administration système sous GNU/Linux.
Cette même formation vous permettra également de valider les connaissances exigées par la certification Comptia Linux+ et ainsi la réussir.
In this deck from the 2019 Stanford HPC Conference, Todd Gamblin from Lawrence Livermore National Laboratory presents: Spack - A Package Manager for HPC.
"Spack is a package manager for cluster users, developers and administrators. Rapidly gaining popularity in the HPC community, like other HPC package managers, Spack was designed to build packages from source. Spack supports relocatable binaries for specific OS releases, target architectures, MPI implementations, and other very fine-grained build options.
This talk will introduce some of the open infrastructure for distributing packages, challenges to providing binaries for a large package ecosystem and what we're doing to address problems. We'll also talk about challenges for implementing relocatable binaries with a multi-compiler system like Spack. Finally, we'll talk about how Spack integrates with the US Exascale project's open source software release plan and how this will help glue together the HPC OSS ecosystem.
Todd is a computer scientist in the Center for Applied Scientific Computing at Lawrence Livermore National Laboratory. His research focuses on scalable tools for measuring, analyzing, and visualizing performance data from massively parallel applications. Todd is also involved with many production projects at LLNL. He works with Livermore Computing’s Development Environment Group to build tools that allow users to deploy, run, debug, and optimize their software for machines with million-way concurrency.
Todd received his Ph.D. in computer science from the University of North Carolina at Chapel Hill in 2009. His dissertation investigated parallel methods for compressing and sampling performance measurements from hundreds of thousands of concurrent processors. He received his B.A. in Computer Science and Japanese from Williams College in 2002. He has also worked as a software developer in Tokyo and held research internships at the University of Tokyo and IBM Research.
Watch the video: https://youtu.be/DhUVbroMLJY
Learn more: https://computation.llnl.gov/projects/spack-hpc-package-manager
and
http://hpcadvisorycouncil.com/events/2019/stanford-workshop/
Sign up for our insideHPC Newsletter: http://insidehpc.com/newsletter
HKG15-505: Power Management interactions with OP-TEE and Trusted FirmwareLinaro
HKG15-505: Power Management interactions with OP-TEE and Trusted Firmware
---------------------------------------------------
Speaker: Jorge Ramirez-Ortiz
Date: February 13, 2015
---------------------------------------------------
★ Session Summary ★
[Note: this is a joint Security/Power Management session) Understand what use cases related to Power Management have to interact with Trusted Firmware via Secure calls. Walk through some key use cases like CPU Suspend and explain how PM Linux drivers interacts with Trusted Firmware / PSCI
--------------------------------------------------
★ Resources ★
Pathable: https://hkg15.pathable.com/meetings/250855
Video: https://www.youtube.com/watch?v=hQ2ITjHZY4s
Etherpad: http://pad.linaro.org/p/hkg15-505
---------------------------------------------------
★ Event Details ★
Linaro Connect Hong Kong 2015 - #HKG15
February 9-13th, 2015
Regal Airport Hotel Hong Kong Airport
---------------------------------------------------
http://www.linaro.org
http://connect.linaro.org
Agenda:
In this session, Shmulik Ladkani discusses the kernel's net_device abstraction, its interfaces, and how net-devices interact with the network stack. The talk covers many of the software network devices that exist in the Linux kernel, the functionalities they provide and some interesting use cases.
Speaker:
Shmulik Ladkani is a Tech Lead at Ravello Systems.
Shmulik started his career at Jungo (acquired by NDS/Cisco) implementing residential gateway software, focusing on embedded Linux, Linux kernel, networking and hardware/software integration.
51966 coffees and billions of forwarded packets later, with millions of homes running his software, Shmulik left his position as Jungo’s lead architect and joined Ravello Systems (acquired by Oracle) as tech lead, developing a virtual data center as a cloud service. He's now focused around virtualization systems, network virtualization and SDN.
This session provides a quick introduction of Docker containers on Linux, and how to configure it on Ubuntu running on a POWER8 processor-based system. We discuss requisites, steps, repositories and use cases. We also make a comparison between Docker and AIX Workload Partitions. During the presentation we demonstrate how to deploy and use containers, and how to manager Docker containers on Power.
Alphorm.com Formation PowerShell : Niveau InitiationAlphorm
Sorti en 2006, PowerShell est devenu la référence dans l’administration des technologies Microsoft et autres. Multiplateforme et OpenSource depuis 2018, PowerShell est un langage de script qui vous permet d’automatiser les tâches aussi bien sur Windows que sur Linux ou MacOS.
Au cours de cette formation, vous apprendrez à installer PowerShell et à l’utiliser avec Windows.
Vous apprendrez les bases fondamentales de PowerShell et en fin de formation vous saurez administrer Windows avec PowerShell.
Cette formation fait partie d’un cursus complet sur PowerShell. Au cours de cette formation, vous apprendrez à maitriser la console PowerShell et vous saurez ainsi exécuter des commandes simples et complexes.
Vous apprendrez à étendre les possibilités de PowerShell en utilisant des modules externes.
XPDDS18: CPUFreq in Xen on ARM - Oleksandr Tyshchenko, EPAM SystemsThe Linux Foundation
The motivation of hypervisor based CPUFreq is to enable the one of the main PM use-cases (Dynamic voltage and frequency scaling) in virtualized system powered by Xen hypervisor. Rationale behind this activity is that CPU virtualization is done by hypervisor and the guest OS doesn't actually know anything about physical CPUs because it is running on virtual CPUs.
In this talk Oleksandr will briefly describe the possible approach of generic CPUFreq in Xen on ARM, the advantages and disadvantages of having DVFS support on ARM boards powered by Xen hypervisor and share results of his CPUFreq PoC which implies power consumption measurements with and without CPUFreq enabled on R-Car Gen3 based board as an example.
Introduction to binary translation in QEMU(TCG). Describe how it works. In addition, there is a section which demonstrate qemu-monitor, a debug tool for AArch64/QEMU.
There are lots of animations in the slides so download and open it with Microsoft PowerPoint for the best experience. Below is the download link.
Google Driver Link: http://goo.gl/XXMC9X
Workshop Spring 3 - Tests et techniques avancées du conteneur SpringAntoine Rey
Les secrets du conteneur Spring vous attendent pour ce 3ième workshop sur le framework Spring : module spring-test, injection de beans de portées différentes, support des JSR 250 et 330, post-processeurs de beans, fichiers de configuration et abstraction de l’accès aux ressources.
Chaque jour, de nombreux développeurs utilisent le framework Spring pour l’injection de dépendances et la gestion des transactions. Majeures, ces 2 fonctionnalités ne nécessitent pas un gros effort d’apprentissage. Pour autant, leurs mises en œuvre par le framework est complexe. Par curiosité intellectuelle, mais également afin d’éviter certains pièges et de profiter pleinement des capacités de Spring, il est intéressant de comprendre les mécanismes internes du framework qu’on utilise au quotidien : cycle de vie d’un bean, proxy, intercepteur, post-processeur, fabrique de beans, hiérarchie de contextes, portée …
Les slides de cette présentation ont pour objectif de vous les faire les introduire.
Nio sur Netty par Mouhcine Moulou - 3 avril 2014SOAT
La vidéo de cette conférence est visible ici : http://youtu.be/T7r7UlSoe7k
La croissance continue du Web a accru la nécessité pour les applications Client/serveur de gérer la monté en charge et la performance. Heureusement, Java est livré avec les outils nécessaires pour créer des applications performantes, et scalables ! Les premières versions de Java incluent le support des communications réseau avec la jdk 1.4 qui a introduit l'API NIO. La nouvelle version, NIO 2, introduite dans Java 7, a été conçue pour permettre l'écriture asynchrone en réseau, Aujourd'hui, encore peu de gens s'intéressent au développement d'applications réseaux, car l'API Jdk reste complexe.
Netty est une bibliothèque Java pour l'écriture d'applications et de services réseau hautement concurrent et scalable. Netty est une API complétement asynchrone : l'Api vous propose une nouvelle façon de développer vos applications réseau en assurant un découplage entre votre logique métier et les traitements réseau grâce à son modèle basé sur une architecture "event-driven".
Dans cette conférence, vous comprendrez l'architecture de Netty, et comment des entreprises comme Twitter, Facebook, RedHat et autres l'utilisent pour répondre à leurs problématiques de communication réseau.
- le niveau : développeurs Java débutants et expérimentés
- la durée : 2h
La prochaine version du framework .NET (.NET 4.5) apporte plusieurs innovations. Les performances ont été améliorées, les appels asynchrones ont été introduits dans de nombreuses API et le support au niveau de C# 5 des instructions async/await facilite leur usage. Le traitement parallèle a aussi été étendu avec le support des cœurs multiples et l'introduction des dataflow. Parmi les nouveautés on notera également le support étendu de MEF, des améliorations au niveau de WCF, de Workflow Foundation et de ASP.NET pour ne citer que ceux-ci.
Le sujet principal de Java 9 est le support de la modularité mais Java 9 propose aussi de nombreuses autres fonctionnalités. Ce talk a pour but de faire une revue des principales d’entre-elles en attendant la sortie de Java 9 : support de standards, nouvelles API, évolutions dans certaines API, mises à jour des outils du JDK et améliorations de la JVM.
Et si le cerveau humain utilisait un algorithme pour la reconnaissance d'images ?
Expliquons et comparons les algorithmes de reconnaissance de formes des ordinateurs et le fonctionnement neurologique du cerveau humain.
Par Sarah Buisson, Craftsman full-stack Java chez Xebia
Toutes les informations et vidéos sur xebicon.fr
Aujourd'hui accessibles partout, les objets connectés suscitent de plus en plus d’intérêt. Malgré cela, l’implémentation d’un projet IoT peut s’avérer compliquée au vu la diversité des dispositifs, protocoles et frameworks. Le nombre d'alternatives qui se présentent à nous est énorme.
En partant de l'embarqué, avec les protocoles applicatifs, jusqu'au déploiement d'une solution sur le cloud, en passant par la délégation des traitements en local via l'IoT Edge, nous rentrerons dans le détail de l'implémentation d'une solution IoT de bout en bout, le tout en comparant deux solutions : AWS et Azure.
Par Diana Ortega, Développeuse Back-End, Yassir Sennoun et Sameh Ben Fredj Data Scientist et IoT, consultants chez Xebia
Toutes les informations et vidéos sur xebicon.fr
Terminé l'adminstration de cluster Hadoop !
Depuis l'arrivée de la version 2.3 de Spark, il est maintenant possible de lancer des jobs sur un cluster Manager Kubernetes. Ce slot se propose de vous faire découvrir Spark sur un cluster manager Kubernetes mais pas seulement.
Il se propose également de montrer les nouvelles façons de faire du Spark sans être dépendant d'une distribution Hadoop tout en interagissant de manière sécurisée avec un stockage de masse.
Toutes ces solutions seront présentées à l'aide d'un provider de Cloud. Vous découvrirez lequel durant la présentation.
Par Bruno Bouchahoua, Architect Data chez Xebia
Toutes les informations et vidéos sur xebicon.fr
Vous avez beau avoir modernisé vos applications, les avoir rendu stateless, 12factor-compliant, etc., si vous n'avez pas l'infrastructure pour les déployer proprement et les gérer, votre bénéfice final sera fortement amoindri.
Cette conférence a pour but de vous faire ressortir avec une définition et une vision claires des principaux concepts qui caractérisent une infrastructure moderne. Nous y parlerons Configuration Management, infrastructure immuable, infra-as-Code, orchestration, self-healing, systèmes distribués, applications Cloud Native, Serverless ... et ce n'est qu'un avant goût !
Par Alexis "Horgix" Chotard, SRE & Automation addict chez Xebia
Toutes les informations et vidéo sur xebicon.fr
Qu’est-ce qu’une application web à l’état de l’art en 2018 ?
En évolution constante, les standards changent d’année en année et il faut régulièrement se mettre à jour sous peine d’être à la traîne. Si vous n’avez pas encore surfé sur la vague Progressive Web App, Server-Side Rendering ou encore Code Splitting, ce talk est pour vous. Il vous fera découvrir les pratiques et les outils d'une stack web moderne.
Par Anthony Giniers, Software Engineer chez Xebia
Toutes les informations et vidéos sur xebicon.fr
Depuis quelques années, les notebook ont gagné en popularité. Apache Zeppelin, avec son architecture modulaire, offre une solution de notebook et de dashboarding, le tout sans mettre de côté la sécurité. Cette présentation vous fera découvrir cet outil merveilleux dont vous ne pourrez bientôt plus vous passer.
Par Romain Sagean, Data Engineer chez Xebia
Toutes les informations sur xebicon.fr
Le RGPD est entré en vigueur le 25 mai 2018 avec les implications que nous connaissons tous (droit à l'oubli, consentement explicite, sécurité par défaut, etc.)
En parallèle, nous développons de plus en plus d'architectures autour de l'Event Sourcing, qui par définition sauvegarde les données de manière immutable.
Mais alors, comment faire pour concilier une architecture autour de l'Event Sourcing, immutable, avec les restrictions imposées par le RGPD ?
C'est ce que nous allons explorer durant cette session !
Par Charles Dufour, Développeur Back-End chez Xebia
Toutes les informations sur xebicon.fr
Le créateur de NodeJS, Ryan Dahl, a décidé de créer un nouveau runtime pour Javascript : Deno. Son but ? Eliminer les erreurs et maladresses de son grand frère. Découvrez ce qui se cache derrière ainsi que la vision de son créateur.
Par Maxime Pichou, développeur Back/Cloud chez Xebia
Toutes les informations sur xebicon.fr
Lorsque la quantité de données est très grande et que l'architecture de votre réseau de neurones est complexe, la question du temps d'entraînement et de la capacité de votre machine deviennent primordiales. Un entraînement de modèle peut vite prendre plusieurs heures voire jours, ou même ne pas tenir en mémoire. Il est alors temps de parler de Deep Learning distribué !
Au cours de cette présentation, nous allons voir différentes solutions et bonnes pratiques pour accélérer l'entraînement de modèles de Deep Learning en les distribuant sur un cluster ou sur des plateformes multi-GPUs.
Par Yoann Benoit, Data Scientist et Technical Officer chez Xebia
Toutes les informations sur xebicon.fr
Par curiosité, puis par passion, j'ai développé un jeu vidéo à l'aide des outils et frameworks habituellement utilisés dans des applications web.
Pas commun dites-vous ? Revenons ensemble sur la manière dont je m'y suis pris, les choix techniques et ce qui les a faits évoluer, les challenges et les compétences développées au cours de cette aventure.
Par Alexandre Dergham, Développeurs full-stack chez Xebia
Toutes les informations sur xebicon.fr
Depuis quelques années, vous entendez parler de transformation d’entreprises permettant la diminution du Time-To-Market, le rapprochement des développeurs et opérationnels et la synchronisation des backlogs ou encore favorisant le plaisir au travail. Pourtant nous oublions l’essentiel, réaliser le bon produit répondant aux réelles problématiques des utilisateurs finaux.
Ce fondement est trop souvent oublié par toutes ces entreprises voulant monter vite sur l’agilité à l’échelle. Vous êtes vous déjà rendu compte à quel point cette clé de succès est oubliée ? Savez-vous pourquoi il faut mettre un point d’honneur à intégrer les utilisateurs finaux dans les projets ?
Par Nelson Dufossé, Agile Delivery Manager chez Xebia
Toutes les informations sur xebicon.fr
Une Data Visualisation permet en un seul coup d’œil de véhiculer des résultats (d'analyse). Au travers de contre-exemples bien choisis, nous allons voir les nombreux pièges qui nuisent à la lisibilité et l'interprétation des données et comment choisir la bonne représentation pour faire passer vos idées.
Par Romain Sagean, Data Engineer chez Xebia
Toutes les informations sur xebicon.fr
"Quand je serai grand je travaillerai chez SEGA". Julien Smadja, 10 ans.
À travers les différents média de la Pop Culture, nous allons étudier l'image des développeurs, entre mythe, réalité, fantasme et exagération.
Quelle est l'image du développeur en 2018 ? Notre métier fait-il réver et donne-t-il envie aux jeunes et moins jeunes ?
Par Julien Smadja, Directeur Conseil chez Xebia
Toutes les informations sur xebicon.fr
Vous avez l’impression que vous devez jeter la moitié de votre code tous les 6 mois ? Plus le temps passe, moins votre application mobile est maintenable ?
Injection de dépendances, routage ou gestion des environnements, venez découvrir nos conseils pour vous aider à réaliser des applications mobiles évolutives conçues pour durer dans le temps.
Par Jean-Christophe Pastant, Mobile Engineer chez Xebia
Toutes les informations sur xebicon.fr
Nous entrons progressivement dans l’ère du temps réel et toutes les technologies nécessaires sont désormais à portée de mains, mais comment s’y prendre ? Quelles technologies choisir ? Nous allons vous montrer aujourd’hui comment créer facilement une application temps-réel qui scale ! Notre Stack ? Kubernetes, Google Container Engine, React, Redux et RethinkDB.
Par Jérémy P. et Damien Baron, consultants chez Xebia
Toutes les informations sur xebicon.fr
Que se passe-t-il dans nos têtes en permanence lorsque nous sommes à plusieurs et pourquoi ces mécanismes psychologiques s'activent ? Pourquoi passe-t-on notre temps, malgré nous, à jouer à des jeux psychologiques ? Que dit-on après avoir dit bonjour ? Comment nait et évolue un groupe dans le temps ? Comment repérer quand il dysfonctionne ? Les individus et leurs interactions plus que les processus et les outils ? Pour toute personne qui ne vit pas seule dans une grotte, ce sujet se veut utile et pourquoi pas intéressant
Par Anne-Sophie Girault, Coach Agile chez Xebia
Toutes les informations sur xebicon.fr
Spark NLP (Natural Language Processing) permet depuis son lancement en open source, il y a un an et quelques mois, d'avoir une solution de traitement du langage directement développé pour Apache Spark et Spark ML (Machine Learning). Apache Spark avec son module ML permet de lancer des tâches de data science, avec du machine learning et du deep learning, tout en profitant de l'aspect distribué de son architecture. Avec Spark NLP, on peut le faire maintenant avec des tâches de NLP spécialisé.
Depuis sa sortie, que peux-t-on faire avec Spark NLP ? Quels cas sont à tester avec Spark NLP, et ceux à éviter ? Est-ce facile pour les équipes d'entraîner un modèle et de l'utiliser dans son pipeline ?
Nous verrons ces questions à travers un exemple rapide d'entraînement de détection d'entités nommées (NER) avec Spark NLP.
Par Aurore De Amaral, Data Engineer chez Xebia
Toutes les informations sur xebicon.fr
La sécurité, cette branche de notre domaine dont le devoir est de protéger le système d'information, revient très souvent comme un point de douleur dans toutes les étapes du cycle de vie d'un projet. Pourtant, malgré une nécessité réelle, un bon nombre des mesures prises sont incomplètes, voire inutiles.
Des politiques de mot de passe aberrantes au proxy ne limitant en pratique que peu de choses, ce slot tentera de démystifier les principes clés de la sécurité et d'expliquer pourquoi un certain nombre des mesures courantes dans les entreprises n'ont en réalité qu'un effet placebo.
Par Jonathan Raffre, Technical Architect chez Xebia
Toutes les informations sur xebicon.fr
La blockchain est la technologie buzzword du moment pour assurer une traçabilité des transactions. Beaucoup de personnes en parlent, mais très peu savent comment cela fonctionne réellement. Pire, de plus d'outils d'implémentations font leur apparition, et il est difficile de s'y retrouver.
The Linux Foundation a créé Hyperledger Fabric, un framework permettant la réalisation d'un réseau de blockchain from scratch très prometteur, que nous allons décortiquer ensemble. Nous allons donc réaliser un tour d'horizon de ce qu'il permet et explorer les tenants et aboutissants de ce qu'est concrètement la réalisation d'un tel réseau.
Cette présentation a pour vocation de vous permettre de comprendre en détail le fonctionnement de cette technologie, et surtout d'être capable de savoir si elle peut répondre à vos besoins.
Par Vincent Segouin, Développeur full-stack JS Java chez Xebia
Toutes les informations sur xebicon.fr
En plus d'un siècle d'existence, la gestion de la circulation et l'organisation du métro parisien ont dû évoluer pour augmenter en permanence le débit tout en tenant compte des contraintes de sécurité. Vous commencez à comprendre où cette présentation veut en venir...
Le temps de cette session, prenons un peu de recul sur notre cœur de métier : la création logicielle. Entre organisation du travail, amélioration d'un produit sur le long terme ou équilibre permanent qu'il faut trouver entre exploitabilité et sécurité, vous serez surpris de retrouver de nombreux parallèles et de voir ce qu'ils peuvent nous apporter.
Par Edouard Siha, Développeur Back-End chez Xebia
Toutes les informations sur xebicon.fr
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
Java Nio 2
1. Java 7
Asynchronous I/O (NIO2)
Julien Buret
Séven Le Mesle
vendredi 29 juillet 2011
2. Asynchronous I/O API
Comparaison avec les autres API I/O
Socket SocketChannel AsyncSocketC
hannel
Java 1.0 Java 1.4
Java 1.7
Synchrone Synchone
Asynchrone
Bloquant Non
bloquant Non
bloquant
Reactor
pattern Proactor
pattern
Notification
vendredi 29 juillet 2011
3. Asynchronous I/O API
Comparaison avec les autres API I/O
FileOutputStream
FileChannel AsynchronousFileChannel
FileInputStream
OutputStream
SocketChannel AsynchronousSocketChannel
InputStream
OutputStream
ServerSocketChannel AsynchronousServerSocketChannel
InputStream
Java 1.0 Java 1.4 Java 1.7
vendredi 29 juillet 2011
4. Asynchronous I/O API
Créer un channel
AsynchronousChannelGroup channelGroup = AsynchronousChannelGroup.withFixedThreadPool(4,
threadFactory);
AsynchronousServerSocketChannel socketChannel = AsynchronousServerSocketChannel.open
(channelGroup);
socketChannel.bind(new InetSocketAddress(8080));
Future<AsynchronousSocketChannel> resAccept = socketChannel.accept();
Future<Integer> res = resAccept.get().read(ByteBuffer.allocate(512));
vendredi 29 juillet 2011
5. Asynchronous I/O API
Concept : Future
Future<Integer> result = channel.read(byteBuffer);
Retourne un «Future» avec le nombre d’octet lue (ou écrit)
result.get();
Attend la fin de l’opération I/O
result.get(5, TimeUnit.SECONDS);
Attend avec un timout
result.isDone();
Verifie si l’appel est terminé
vendredi 29 juillet 2011
6. Asynchronous I/O API
Concept : CompletionHandler
channelToClient.read(buffer, counter, new CompletionHandler<Integer,
AtomicInteger>() {
public void completed(final Integer result, final AtomicInteger counter){
handlerThreadPool.submit(new Runnable() {
public void run() {
readComplete(result, counter, buffer, channelToClient);
}
});
}
public void failed(Throwable exc, AtomicInteger counter) {
logger.error("Client {} failed to read", counter, exc);
}
});
vendredi 29 juillet 2011
7. Threading model
AsynchronousChannelGroup
Encapsule le pool de thread, la file d’attente et les
autres ressources partagées par les sockets
2 implémentations
Fixed thread pool
Cached thread pool (ou thread pool fournit)
vendredi 29 juillet 2011
8. Threading model
Fixed thread pool
CompletionHandler
I/O internal
Thread Thread Thread
vendredi 29 juillet 2011
9. Threading model
Cached thread pool
CompletionHandler
Thread Thread Thread Cached Thread pool
I/O internal
Thread Thread Internal Thread pool
1 ou sun.nio.ch.internalThreadPoolSize
vendredi 29 juillet 2011
10. Threading model
FixedThreadPool CachedThreadPool ou
ThreadPool fournit
Thread partagé entre
I/O et callback Un pool de thread
pour l’I/O et un autre
Eviter la contention
pour les callback
dans les callback
Attention au context
switch
vendredi 29 juillet 2011
11. Bench
Sur une VM 2vCPU (client et serveur)
4000 req/s (50Ko/req et 50Ko/resp)
200 Mo/s (Reçu et émis)
vendredi 29 juillet 2011
13. Multicast non bloquant
while (true) {
selector.select();
Iterator it = selector.selectedKeys().iterator();
while (it.hasNext()) {
SelectionKey selKey = (SelectionKey) it.next();
it.remove();
if (selKey.isValid() && selKey.isReadable()) {
DatagramChannel sChannel = (DatagramChannel) selKey.channel();
}
if (selKey.isValid() && selKey.isWritable()) {
DatagramChannel sChannel = (DatagramChannel) selKey.channel();
}
}
}
vendredi 29 juillet 2011
14. Le reste
Mise à jour des API SocketChannel
bind(SocketAdress local)
setOption(SocketOption name, T Value)
Support de SCTP (Protocole de transport réseau)
IPV6 sous Windows
Support de SDP sous Solaris (protocole RMDA utilisé
par Infiniband)
vendredi 29 juillet 2011
15. File extension
Traitement Asynchrone
Droits POSIX / ACL NFS / DOS / ...
Liens symboliques et vérous
Système de fichier et partitions
Supervision d’activité sur répertoires et fichiers
Parcours de répertoire
Méthodes utilitaires
vendredi 29 juillet 2011
16. java.nio.Path
= java.io.File
file.toPath() - path.toFile()
chemin système du fichier
Path p = Paths.get(“/home/user/.myApp“);
Iterator<Path> it = p.iterator(); // elements
p.relativize(Paths.get(“/home/john“)); // “../john“
p.normalize(); // /home/john/../user = /home/user
p.startsWith(“/home“);
vendredi 29 juillet 2011
17. AsynchronousFileChannel
Traitement asynchrone non bloquant
Chaque read/write donne la position dans le fichier
Accède a plusieurs parties du fichier en parallèle
Threadsafe
Supporte les Locks
Options définies sur open(...)
vendredi 29 juillet 2011
18. AsynchronousFileChannel
AsynchronousFileChannel afc = AsynchronousFileChannel.open(path,
StandardOpenOption.CREATE);
FileLock lock = afc.lock().get();
afc.write(buffer, 0l).get();
// Buffer wrote to file
lock.close();
afc.close();
vendredi 29 juillet 2011
19. Files operations
Files fournit des utilitaires (guava / commons-io)
copy / move / delete /...
read* / write / newReader* / newWriter*
temp dirs / symlinks / walkFileTree
Et les accès systèmes
set or get : owner / attribute / posixFilePermissions
FileSystem / FileStore
vendredi 29 juillet 2011
21. WatchService
Comme un Selector pour les Paths
WatchKey k = register(path, event, ...);
WatchEvent evt = k.pollEvents();
Reset key
Boucle infini et Threading à la charge du développeur
vendredi 29 juillet 2011
22. WatchService
Path p = Paths.get(“/home/user/.myApp“);
WatchService watcher = FileSystems.getDefault().newWatchService();
WatchKey key = p.register(watcher, ENTRY_CREATE, ENTRY_DELETE, ENTRY_MODIFY);
for (;;) {
key = watcher.take();
for (WatchEvent<?> event: key.pollEvents()) {
WatchEvent.Kind<?> kind = event.kind();
WatchEvent<Path> ev = (WatchEvent<Path>)event;
Path filename = ev.context();
//....
}
boolean valid = key.reset();
if (!valid) {
break;
}
}
vendredi 29 juillet 2011
23. DirectoryStream
Autorise le forEach() sur les entrées d’un répertoire
Glob pattern (“*.java“)
RegExp
Filtre implémenté
DirectoryStream<Path> ds = Files.newDirectoryStream(dir, “*.java“);
for(Path p : ds){
// ...
}
vendredi 29 juillet 2011
24. FileVisitor
Files.walkFileTree parcours l’arborescence
utilise un FileVisitor
Définit des options (FOLLOW_LINKS, ... )
FileVisitor est invoqué pour chaque entrée
Permet de modifier le parcours
Fourni des callbacks pre/post visit File / Directory
vendredi 29 juillet 2011
25. FileVisitor
Path start = ...
Files.walkFileTree(start, new SimpleFileVisitor<Path>() {
@Override
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException
{
Files.delete(file);
return FileVisitResult.CONTINUE;
}
@Override
public FileVisitResult postVisitDirectory(Path dir, IOException e) throws IOException
{
if (e == null) {
Files.delete(dir);
return FileVisitResult.CONTINUE;
} else {
// directory iteration failed
throw e;
}
}
});
vendredi 29 juillet 2011