Who Needs Human Code Reviews When We Have AI?
We automated proofreading our blog articles with a GitHub action leveraging an LLM. It even reviewed this very article!
Latest posts by Thiery Michel
Un regard sur le Devfest Strasbourg 2024
Marmelab était au Devfest Strasbourg 2024. Voici ce qu'on en a pensé et ce qu'on y a découvert.
Behold the Power of Laziness With Functional Programming
To finish the exploration of functional programming with the Checkoid internals, let's combine a synchronous Validator with asynchronous one with a lazy Promise... that is also a Monad.
Comment contrôler le temps dans un container Docker
Pour stabiliser des tests dépendant de la date, on peut changer la date d'un container. Mais est-ce que ce pouvoir n'est pas trop dangereux ?
Validator assemble! Functors in Action
In this new functional programming tutorial, I'll explain how Functors can help us assemble validator functions to validate complex data structures like objects.
The True Power Of Monoids: How To Combine Validators
Come and see monoids in real-life, in this tutorial explaining how to combine validator functions like lego pieces.
Introducing Checkoid, An Input Validation Library Built With Composition In Mind
We've built a simple and powerful validation library that allows to combine validator like lego pieces.
Into The Labyrinth With x3dom
What if you could create a 3D Labyrinth game with only HTML tags? That's the promise of x3dom, which I explore in practice in this tutorial
Getting The Ball Rolling With DeviceMotion
There are two relatively new APIs in the browser: DeviceMotion and DeviceOrientation. Let's see how to use them to detect the device motion and orientation.
Créer son propre loader Webpack
Webpack permet d'ajouter des étapes supplémentaires au processus de compilation des projets JS. C'est plus difficile quand le projet utilise `create-react-app`. Voici la solution.
Functional Programming in JavaScript, Part 4: The Art of Chaining Different Monads
It is a bad practice to chain one monad with a monad of another type. Read on to understand why, and how to chain monads the right way.