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é
Programmation
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.
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.
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.
Vous reprendez bien un peu de curry avec votre programme?
En programmation fonctionnelle, la curryfication consiste à transformer une fonction prenant plusieurs arguments en une séquence de fonctions prenant un seul argument chacune. Bien qu’ étant à l’origine un concept théorique en mathématiques et en informatique, s’avère être un outil puissant dans l’architecture logicielle. Elle permet de décomposer les fonctions complexes en étapes plus simples et modulaires, facilitant ainsi leur compréhension, leur réutilisation et leur extension.
Les implicites en Scala
Les implicites en Scala permettent au compilateur de résoudre des arguments et de réaliser des conversions automatiquement, simplifiant ainsi la vie des développeurs.
Capture de contexte avec le framework Play
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.
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.