- Développement
- Quicky
- 15 min
Le hasard fait bien les tests
Date vendredi
Horaire 10h45 à 11h00
Salle Amphi E
Description
> Le hasard fait bien les choses. Si on applique cette idée aux tests unitaires ou aux tests d'intégration, on peut rendre nos tests beaucoup plus imprévisibles et du coup trouver des problèmes que notre esprit n'aurait jamais osé imaginer ! Par exemple, récemment, j'ai découvert dans une bibliothèque de gestion de configuration, [un bug](https://github.com/gestalt-config/gestalt/issues/242) qui se produit lorsque la `Locale` est configuré en `AZ`. 🤦🏼♂️ Un autre exemple encore plus simple : ```java int input = generateInteger(Integer.MIN_VALUE, Integer.MAX_VALUE); int output = Math.abs(input); ``` Peut générer `-2147483648`... Ce qui est assez inattendu pour une valeur absolue ! 😉 Les tests aléatoires peuvent découvrir ces cas tordus... C'est ce que l'équipe elasticsearch a mis en place depuis plusieurs années à l'aide du framework [RandomizedTesting](https://labs.carrotsearch.com/randomizedtesting.html) pour tester tout le code Java. Ajoutez à ça de vrais tests d'intégration à l'aide de [TestContainers](https://java.testcontainers.org/modules/elasticsearch/) et vous aurez une approche complète pour des tests qui échouent régulièrement ! Après cette conférence, vous ne verrez plus jamais la fonction `random()` comme avant et découvrirez comment la (mal)chance peut vous aider ! 🍀
Orateur·ices
David Pilato
David Pilato discovered Elasticsearch project in 2011. After contributed to the project and created open source plugins for it, David joined elastic the company in 2013 where he is Developer and Evangelist. He also created and still actively managing the French spoken language User Group. At elastic, he mainly worked on Elasticsearch source code, specifically on open-source plugins. In his free time, he likes talking about elasticsearch in conferences or in companies (Brown Bag Lunches AKA BBLs - https://www.elastic.co/blog/free-lunch-for-open-source-engineers). He is also author of FSCrawler (https://github.com/dadoonet/fscrawler) project which helps to index your pdf, open office, whatever documents in elasticsearch using Apache Tika behind the scene.
Actions rapides
Les sessions futures sur le même thème
- Développement
- Quicky
Petit guide pratique des UUID
Les UUID sont partout, utilisés souvent machinalement comme identifiant. Revenons un instant sur leurs origines et ce qu'ils garantissent vraiment — l'unicité globale sans coordination, pratique, mais pas toujours le meilleur choix comme clé d'unicité. On explore ensuite quand les employer (ou pas) dans des bases de données et des systèmes distribués, avant de comparer les différents générateurs créant des arbitrages concret entre confidentialité et performance.
Vendredi 11h05 à 11h20 - Amphi E
- Développement
- Conférence
Server-Sent Events : quand l'API murmure à l’oreille de votre navigateur
Vos utilisateurs en ont marre d’attendre... Nos applications s’essoufflent sous le poids du polling et des loaders plus ou moins maîtrisés . Et si les Server-Sent Events (SSE) étaient la solution simple et légère que vous cherchez ? Les SSE permettent de basculer d’un modèle où le navigateur demande à un système ou le serveur murmure à son oreille. Ce changement de paradigme a de nombreux impacts sur l'architecture, le code, et même sur la conception de l’expérience utilisateur. Charline et Nicolas, Lead Tech Frontend et Backend, vous partagent leur retour d’expérience sur cette mise en place dans des cas d'usages réels. Dans des jeux multi-joueurs, ou dans des applications de gestion traditionnelles, ils vous montreront les cas d'usages concret, les gains et les pièges à éviter. Venez découvrir comment les SSE influencent votre code, de l'intégration aux frameworks Frontend, jusqu'à la séparation lecture/écriture côté backend. Vous verrez aussi comment cette approche fait évoluer la conception des échanges Front/Back et l'expérience utilisateur, tout en offrant de nouvelles possibilités...
Vendredi 11h30 à 12h25 - Amphi B
- Développement
- Conférence
Rust pour le développement d'applications métier haut-niveau ! 🦀
Rust est connu pour être un langage très performant, très "bas niveau", très ardu à prendre en main, etc. Et si je vous disais que si tout ça est probablement vrai, ce n'est pas du tout le plus important ? Eh oui, Rust est selon moi le langage idéal pour développer des applications, parfois de très haut niveau, car il nous donne les moyens de modéliser des domaines métiers avec précision et simplicité. Parcourons-donc ensemble ce qui fait la richesse "applicative" de Rust ! 🦀 - Un système de types ultra-expressif, appliqué à des domaines métiers complexes. Voyons comment les Structs, le Pattern Matching et les Traits de Rust le rendent totalement compatible avec des approches haut-niveau comme l'Architecture Hexagonale ou le Domain Driven Design - Un écosystème de librairies applicatives solide, complet, et agréablement documenté. Venez avec moi parcourir la somptueuse documentation de librairies comme serde, actix-web, ou wiremocks, qui vont vous redonner envie d'écrire de la documentation technique, pour les devs et par les devs - Une manière de tester les applications qui n'a pas son pareil, et qui complémente superbement le langage afin de vous permettre de développer vos applications avec le meilleur filet de sécurité possible. Tests d'Intégrations, Mocks, Rust a tout du langage de haut-niveau pour délivrer le maximum de valeur. C'est un tour d'horizon qui changera, j'en suis sûr, votre perception de ce langage qui paraît tellement "orienté performance et optimisation mémoire" qu'on en oublie que c'est avant tout un langage très expressif. Et même si vous n'écrirez jamais une ligne de Rust, cette conférence devrait vous donner pas mal de tuyaux sur l'écriture moderne d'applications et ce qu'on est en droit d'attendre de nos écosystèmes de développement 😉
Vendredi 12h30 à 13h25 - Amphi E