Play est un framework de développement Web dit fullstack: il propose la gestion d'un site Web, aussi bien au niveau du backend que de celui du frontend. Dans cet article, je vous propose une technique, inspirée de ce qui est proposé par Pekko HTTP, afin de capturer efficacement le contexte dans lequel le backend répond aux requêtes qu'il reçoit.
Auteur : mgoeminne
Un système simple et efficace de sélecteurs en Scala
Cet article aborde la gestion de comportements variés en programmation, en mettant en avant la notion de "sélecteurs", représentés par des classes en programmation orientée objet. Ces sélecteurs choisissent la méthode d'approche en fonction des contextes d'exécution. Une approche fonctionnelle est proposée pour simplifier cette gestion et éviter les duplications d'efforts, en privilégiant la combinaison et l'évaluation des sélecteurs.
Les combinateurs de parseurs: des regex sous stéroïdes
Cet article aborde le sujet des combinateurs de parseurs. Après avoir déterminé de quoi il retourne, nous donnons un exemple d'application basé sur un DSL permettant de décrire des robots. Après un aparté concernant les types algébriques, les combinateurs de parseurs sont comparés aux décodeurs.
Création d’un parseur pour Bencode en moins de 50 lignes de Scala
Cet article explique comment créer un parseur pour le format Bencode, utilisé dans les fichiers .torrent, avec moins de 50 lignes de code en Scala. Il détaille les concepts clés du format Bencode et comment les implémenter en utilisant des classes, des parseurs et un visiteur pour faciliter l'extraction et l'affichage du contenu de fichiers BitTorrent.
Exceptions: la voie à suivre ou un cul-de-sac?
Cet article discute des défis liés à l'utilisation des exceptions dans la programmation, notamment leur sémantique, leur complexité et leur coût en ressources. Il propose des alternatives, comme les types Option, Either et Try en Scala, qui favorisent une gestion fonctionnelle des erreurs, rendant ainsi le code plus clair et la gestion des erreurs plus explicite.
Découverte de PyOD
PyOD est une bibliothèque en Python qui regroupe de nombreux algorithmes de machine learning pour la détection d'anomalies dans des jeux de données multivariées. Nous découvrons les fonctionnalités qu'elle propose et mettons un évidence un cas d'utilisation de la bibliothèque dans un contexte industriel.
Un connecteur Trino pour les flux RSS
Bien qu'ayant passé de mode ces dernières années, les flux RSS et leurs cousins les flux Atom sont encore largement utilisés auprès des applications Web afin d'exposer simplement et facilement leurs derniers événements consultables. Dans cet article, je présente un plugin pour Trino qui propose un connecteur pour les flux RSS.
JWT: faut-il inclure les permissions dans le jeton?
Lorsqu'on utilise JWT pour gérer des autorisations, deux approches sont souvent considérées: l'intégration des permissions dans les jetons et la limitation de son contenu au seul identifiant de son propriétaire. Quels sont les avantages et inconvénients de ces approches? C'est ce dont nous discutons dans cet article.
Vers un langage spécifique pour la description de séries chronologiques réalistes
Il y a de cela plusieurs années, mon équipe était confrontée à un problème récurrent: nous développions des outils pour gérer des données issues de séries chronologiques, mais ne disposions pas de suffisamment de telles données pour valider notre travail. Le DSL créé à l'époque pour décrire de telles séries présente des limitations qui sont discutées, et une piste d'évolution de ce DSL est présentée.
Un disjoncteur pour éviter de mettre le feu à son application
Un disjoncteur est un composant logiciel qui limite les problèmes dus à l'indisponibilité de composants distants. Nous en détaillons les avantages et les limites, tout en proposant une implémentation basée sur le patron de conception État.