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é
Informatique
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
Hachage d’une collection d’objets qui ne tient pas compte de l’ordre
Découvrez une méthode permettant de calculer le hachage de grandes collections d'objets, en ignorant leur ordre, sans nécessiter une grande quantité de mémoire et sans devoir attendre d'avoir obtenu la collection entière avant de commencer le traitement.
Le front de Pareto pour la recherche d’éléments dominants
Savez-vous ce qu'est un front de Pareto? Découvrez la propriété des éléments qui le constituent, et ce que son utilisation peut vous apporter.
Loaner pattern en Scala
Découvrez le Loaner design pattern, une approche proposée en programmation fonctionnelle pour répondre au besoin de gestion de ressources telles que les connexions aux bases de données.
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
Un système de vérification de licence logicielle simple et efficace
Il vous est peut-être déjà arrivé d'avoir à créer un système de licence logicielle simple, efficace, et nécessitant peu voir pas d'infrastructure pour assurer son fonctionnement. Une solution largement utilisée par les applications Web vous aider dans cette tâche.
HOCON : une alternative élégante à JSON et YAML
Dans tout projet logiciel ayant un minimum d'envergure, la gestion de la configuration est un besoin récurrent. Dans ce domaine, HOCON est un autre format de configuration qui a plus d'un tour dans son sac!
Paginer ses résultats avec Slick
De nombreuses applications Web impliquent l'affichage de listes d'éléments. Nous proposons une approche générique permettant la pagination des résultats d'une requête en base de données, en utilisant Slick.