Ports and Adapters at compile-time for Rust
Dans ce dépôt, je propose une façon simple et efficace de mettre en œuvre une inversion de dépendances avec Rust. Plus particulièrement lorsque le besoin est de substituer les dépendances lors de la compilation et d’éviter le Dynamic Dispatch.
Elixir amqp 1.2 et confirm handler
RabbitMq permet de recevoir des confirmations de ventilation des messages par l’exchange. Le client Elixir, amqp (> 1.2) permet d’attendre de manière bloquante ces confirmations, mais ne propose pas d’API pour enregistrer un handler. Ce qui m’a...
Du dosage de la rouille
Parlons de la rouille, cette délicieuse sauce qui accompagne nos soupes de poisson. Le bon dosage des ingrédients ravira le palais vos convives !
Droits et rôles dans une architecture orientée domaine
Le chemin à emprunter en suivant la direction Domain Driven Design (DDD) n’est pas si complexe qu’il n’y paraît. Il requiert, entre autres, de se débarrasser de certains réflexes et idées préconçues. Surtout de la fâcheuse tendance qu’on a de se p...
La métaphysique des systèmes proudhoniens
Libertaire, Anarchiste, Utopiste, ZADiste, Étudiant (68) … C’est la saison ! Quelle étiquette coller à un système dessiné pour privilégier l’autonomie et l’indépendance de ses composants ?
Meta de la configuration, illustré avec Elixir
La configuration des applications est un (non)sujet qui semble simple à première vue, mais qui n’est pas si bien maîtrisé par les développeurs juniors ou seniors.
Design stratégique et jeu de Go
Dans l’article précédent nous avons effleuré le concept de design stratégique. La phase indispensable qui consiste à analyser notre système sous l’aspect et dans le référentiel du problème (par opposition à la solution).
Pérégrinations vers une architecture découplée
Nous sommes souvent confrontés au problème récurrent de l’entropie et l’érosion du code. Passé un certain stade, il devient très complexe et pénible d’ajouter des fonctionnalités ou correctifs.
J'ai une dette technique et c'est mon choix ! ™
Derrière cette métaphore financière que l’on utilise régulièrement dans notre métier, se cache la mesure de difficulté à ajouter de nouvelles fonctionnalités et correctifs sur un logiciel.
Le contrôle de droit d'accès et la sécurité de vos systèmes
Sur la quantité d’applications et systèmes d’information que j’ai pu développer, analyser et auditer, une grande majorité présentaient des défauts de sécurité majeurs.
Salade de gestion de projet accompagnée de ses astuces à la sauce retour d'expérience
Quand il s’agit de vivre les projets dans le quotidien d’une petite équipe, on se rend vite compte que malgré les intentions, la réalité terrain est bien loin des idéaux promus.
Initiation au développement de plugins Redmine
Redmine est un outil de gestion de projet que j’affectionne pour sa simplicité et son accessibilité.