Transformations en séquence avec les design patterns Chaîne de Responsabilité et Pipeline

Introduction La chaîne de responsabilité et le Pipeline sont deux design patterns issus de la programmation orientée objet qui sont similaires en apparence, mais qui servent des finalités différentes. Abordons-les au travers d'un exemple simplifié, basé sur l'authentification d'un utilisateur. Chaîne de responsabilité Dans de nombreuses circonstances, un objet métier est amené à être soumis … Lire la suite de Transformations en séquence avec les design patterns Chaîne de Responsabilité et Pipeline

Un système d’acteurs pour le traitement distribué

Introduction Une grande variété de systèmes informatiques actuels, du composant embarqué au serveur dans un data center, en passant par le smartphone et l'ordinateur portable, sont conçus pour l'exécution parallèle de tâches concurrentes: plusieurs programmes s'exécutent simultanément, sur une architecture à plusieurs processeurs. Les programmes eux-mêmes organisent leurs exécutions en processus, threads, et autres abstractions, … Lire la suite de Un système d’acteurs pour le traitement distribué

Gorilla : un encodage efficace des séries temporelles

Un élément innovant de l'algorithme d'encodage Gorilla est la manière dont les séries temporelles y sont encodées. Elle permet une très bonne compression des données sans perte, ce qui réduit l’espace disque utilisé ainsi que le temps et les ressources nécessaires à son traitement. Un article scientifique décrit l'approche suivie en détail, je n’en exposerai ici que les caractéristiques qui me semblent les plus intéressantes.

Recherche de traces GPS similaires

Introduction Il y a quelques temps, sur LinkedIn, une question est apparue dans mon fil de discussion : comment géreriez-vous la recherche de similarité de parcours réalisés par des véhicules et enregistrés sous la forme de traces GPS? L'auteur insistait sur le besoin d'un algorithme et d'une structure de données efficaces, pour d'une part être … Lire la suite de Recherche de traces GPS similaires

Type-safe builder pattern

Introduction En programmation orientée objet, la création d'objets est parfois laborieuse: elle peut être le résultat de la prise en compte de nombreux paramètres, de configurations contextuelles et d'un processus de construction parfois tordu. Une première étape consiste à internaliser la création de l'objet : plutôt que de laisser le code client se dépatouiller avec … Lire la suite de Type-safe builder pattern