CQRS is an architectural pattern acronym, standing for Command Query Responsibility Segregation. It divides a system’s actions into commands and queries. It is related to CQS, which is Command Query Separation.
Avec autant de buzzwords dans le titre, explicitons le menu :? – Nous commencerons avec une étude des principes du CQRS et la notion de projection pour construire les modèles de données dédiées à la lecture, le tout avec un datastore traditionnel (relationnel). ? – Nous continuerons avec le concept d’état en programmation fonctionnelle, et comment les gérer au sein d’une application tout en respectant le principe d’immutabilité. Et comment ils ont transformé la gestion d’états pour la construction d’interface utilisateur. ? – Dans un troisième temps, nous nous intéresserons aux évènements du domaine-métier dans le Domain Driven Design et comment ceux-ci s’intègrent dans la mécanique de construction des projections. ?– Enfin, nous assemblerons toutes ces notions pour faire apparaitre l’«?event sourcing?» comme modèle de persistance pour nos données. ? – Pour clôturer, nous verrons les erreurs les plus courantes rencontrées lors de l’implémentation d’un modèle en event sourcing. Take away: ?– Utiliser CQRS (sans event-sourcing) pour simplifier la gestion de la persistance dans son application. ?– Comprendre comment gérer des états dans un contexte fonctionnel ? – Gérer facilement les évènements-métier au sein d’une architecture DDD. ?– Savoir comment implémenter correctement un système basé sur l’event sourcing.
Avez-vous déjà remarqué les inscriptions sur les conteneurs transportés par les trains, les camions, les bateaux ? Des lettres et des chiffres. Des élèments qui peuvent se tracer et permettre de retrouver le propriétaire de la boites en acier, sa provenance, sa destination, sa situation géographique. Découvertes d’outils OSINT qui permettent, par exemple, de retrouver le propriétaire d’un stockage échoué sur votre plage préférée, mais aussi de suivre bateaux et avions durant leurs voyages !
An easy to use, powerful, and reliable system to process and distribute data.
Virtiofs is a shared file system that lets virtual machines access a directory tree on the host. Unlike existing approaches, it is designed to offer local file system semantics and performance.
Virtiofs was started at Red Hat and is being developed in the Linux, QEMU, FUSE, and Kata Containers open source communities.
See the design document for a more in-depth explanation of virtiofs.
A tool for building software packages with fpm.
The fpm project is really nice for building operating system packages like .deb and .rpm. But it only helps you to create the packages and doesn't help you with actually building the software.
fpm-cookery provides an infrastructure to automatically build software based on recipes. It's heavily inspired and borrows code from the great homebrew and brew2deb projects. The OpenBSD Ports System is probably another source of inspiration since I've been working with that for quite some time
It is using fpm to create the actual packages.
The goal of fpm is to make it easy and quick to build packages such as rpms, debs, OSX packages, etc.
fpm, as a project, exists to help you build packages, therefore:
If fpm is not helping you make packages easily, then there is a bug in fpm.
If you are having a bad time with fpm, then there is a bug in fpm.
If the documentation is confusing, then this is a bug in fpm.
If there is a bug in fpm, then we can work together to fix it. If you wish to report a bug/problem/whatever, I welcome you to do on the project issue tracker.
You can find out how to use fpm in the documentation.
You can learn how to install fpm on your platform in the installation guide.