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.
Utilisation des patrons de conception Builder et Strategy pour la gestion dynamique d’accès à des objets
Utilisation conjointe des patrons de conception Builder et Strategy pour réduire la complexité de la création d'objets.
Trino pour l’interrogation de sources de données hétérogènes
Un socle commun pour les bases de données relationnelles Les systèmes de données actuels ont tendance à se complexifier. Bien que leurs vendeurs prétendent souvent que leurs produits peuvent tout faire, la diversification des besoins et l'accentuation des attentes des utilisateurs pousse à une spécialisation des outils et techniques mis en œuvre pour collecter, traiter … Lire la suite de Trino pour l’interrogation de sources de données hétérogènes
Vérification anonyme du destinataire d’une transaction bancaire
Problématique Les systèmes bancaires assurent un panel fort large de missions. Lorsqu'une transaction (par exemple, un virement entre deux particuliers) doit être réalisée, différentes entités collaborent afin de s'assurer que l'argent "quitte" un compte pour en "rejoindre" un autre. Mais on attend de plus en plus de ses entités qu'elles remplissent d'autres rôles, tels que … Lire la suite de Vérification anonyme du destinataire d’une transaction bancaire