- Développement
- Conférence
- Standard
- 55 min
Développer un moteur de rÚgle en 50 minutes, l'AST à la rescousse
Date jeudi
Horaire 12h30 Ă 13h25
Salle Amphi D
Description
Cette confĂ©rence est issue d'une histoire vraie, oĂč j'ai du Ă©crire un moteur de rĂšgles qui doit pouvoir modifier le contenu d'un document JSON en utilisant un DSL maison đ exposĂ© par une API REST đ Lors de la premiĂšre tentative, nous Ă©tions parti sur l'utilisation du langage Kotlin, Ă base de KFunction, de KParameters, d'introspection, qui s'est rĂ©vĂ©lĂ©e ĂȘtre un enfer. C'est en discutant de mes dĂ©boires avec un collĂšgue qu'il m'a dit: "mais en fait c'est un AST ton truc đĄ". L'AST, Abstract Syntax Tree est une structure de donnĂ©es permettant de reprĂ©senter un programme, exactement ce que l'on cherche Ă accomplir pour notre moteur de rĂšgles, mais ça je ne le savais pas ! Le lendemain, il m'envoyait un scratch IDEA de 40 lignes reprĂ©sentant bien mieux le coeur de notre futur moteur que mes innombrables fonctions gĂ©nĂ©riques de haut niveau et mon code impossible Ă maintenir. C'est pas clair ? Alors venez, on redĂ©veloppe from-scratch le coeur du moteur avec Kotlin en quelques lignes de code, en illustrant le concept de ce fameux AST.
Orateur·ices
Maxime Odye
Je suis un dĂ©veloppeur passionnĂ© et formateur sur des sujets techniques autour du monde du dĂ©veloppement logiciel. ConfĂ©rencier technique et agile, j'essaye de mĂȘler la technique et l'organisationnel, deux mondes intrinsĂšquement liĂ©.
Actions rapides
Les sessions futures sur le mĂȘme thĂšme
- Développement
- Conférence
â [ANNULĂ] â
Jeudi 14h00 Ă 14h55 - Amphi D
- Développement
- Tool in action
JBang, un fichier Java pour les gouverner tous ? đ
Dans le monde Java, nous sommes habituĂ©s Ă initialiser un projet avec de nombreux fichiers et rĂ©pertoires. A tel point que des CLI ont vu le jour pour nous aider Ă crĂ©er les projets SpringBoot ou Quarkus par exemple. Vient ensuite le choix du "package manager" : Maven ou Gradle ? Et c'est seulement Ă partir de lĂ que l'on peut commencer Ă dĂ©velopper puis exĂ©cuter son code đ . Toutes ces Ă©tapes fastidieuses expliquent pourquoi, lorsque que l'on a besoin de faire un dĂ©veloppement rapide de quelques lignes pour automatiser une action, on prĂ©fĂšre d'autres langages Ă Java : Python par exemple. Et si je vous disais, qu'avec JBang, vous allez pouvoir rester avec votre langage prĂ©fĂ©rĂ©, Java, et dĂ©velopper une classe toute simple (avec des dĂ©pendances externes) en quelques secondes ! C'est le pari (spoiler : rĂ©ussi) de JBang que je vous propose de dĂ©couvrir durant une session de live coding. A vous les joies du scripting en Java !
Jeudi 15h00 Ă 15h25 - Amphi B
- Développement
- Tool in action
Développer une file d'opérations asynchrone en Rust pour Thunderbird
L'annĂ©e derniĂšre, Thunderbird a officiellement annoncĂ© le support natif de Microsoft Exchange, une premiĂšre en plus de 20 ans pour l'oiseau bleu. Une grosse partie de l'effort qui nous a menĂ© ici s'est centrĂ© autour de l'utilisation de Rust. Au fur et Ă mesure que le projet Ă©voluait d'un prototype vers une fonctionnalitĂ© utilisable, nous nous sommes penchĂ©s sur un enjeu de taille : amĂ©liorer l'organisation et la planification des requĂȘtes. Au cours de ce talk, j'introduirai briĂšvement l'utilisation de Rust dans Thunderbird, et je prĂ©senterai les tenants et les aboutissants de ce mini projet, ses diffĂ©rentes itĂ©rations, ainsi que les dĂ©fis rencontrĂ©s en chemin (dont quelques disputes avec le systĂšme de typage de Rust).
Jeudi 15h00 Ă 15h25 - Amphi D