RSSAmplifier

Blog

Goulven Champenois

pro.userland.frRSS feed ↗10 posts

Latest posts

Les 3 lois de la Robotique appliquées à la Programmation Orientée Objet

En tant que développeur junior, j'avais parfois du mal à anticiper les conséquences de choix architecturaux, et je privilégiais parfois la simplicité et la lisibilité à ce que j'interprétais comme de la pureté théorique. La vie, bonne pédagogue, m'a donné l'occasion de constater la sagesse des principes SOLID. Les noms des principes forment un acronyme intéressant, mais sont un peu cryptiques pris…

The 3 laws of Robotics applied to OOP

As a junior developer I sometimes struggled to anticipate the consequences of architectural choices, favoring immediate simplicity and readability over (what I interpreted as) theoretical purity. Being a good teacher, life made sure that I got a chance to see the wisdom in SOLID principles. Even though the principle names make for a cool acronym collectively, they are quite cryptic individually.…

Les Form Objects, l’abstraction manquante dans Rails

Cessez de mettre le bon code au mauvais endroit ! Il est facile de s'emballer en utilisant le scaffolding de Rails, mais dans certains cas un simple objet Ruby (un PORO) suffit amplement. Et les Form Objects sont particulièrement efficaces pour alléger les modèles et les contrôleurs, tout en regroupant des fonctionnalités qui vont ensemble dans des objets faciles à tester.

Form Objects, the missing abstraction in Rails

Stop putting the right code in the wrong place! It's easy to get carried away using Rails scaffolding, but sometimes a Plain Old Ruby Object (PORO) is more than appropriate. And Form Objects are very good at keeping models lean, controllers sharp, and grouping related code together in one object that's easy to test.

Tester améliore le design du code

Jeudi dernier, j'ai assisté à l'atelier en ligne « Good Enough Testing » (juste ce qu'il faut de tests), animé par Lucian Ghinda, qui rédige l'infolettre Short Ruby. Je suis content d'avoir vu l'inscription peu après sa publication, car l'atelier s'est rempli en moins d'une journée ! J'ai pris le temps de combiner les connaissances acquises lors de l'atelier avec ce que j'ai appris au fil des…

Why Testing Improves Coding

Last Thursday, I attended "Good enough testing", an online workshop by Lucian Ghinda, curator of the Short Ruby Newsletter. I'm glad that I saw the registration soon after it was posted, because the workshop was sold out in less than a day! I took some time to combine the knowledge from the workshop with what I've learned over the years, in blogs and books.

Les contextes de validation dans Rails

Les validateurs Rails sont expressifs et puissants, tout en étant faciles à utiliser et à étendre. Une fonctionnalité intéressante est que les validateurs peuvent s'exécuter uniquement lorsqu'une condition est remplie (en utilisant `if:` et `unless:`), ou dans des contextes sélectionnés, en utilisant `on:`. Mais saviez-vous que vous pouvez également définir des contextes personnalisés ? Voici…

Rails validation contexts

Rails validators are expressive and powerful, yet easy to use and extend. One interesting feature is that validators can run only when a condition is met (using `if:` and `unless:`), or in selected contexts, using `on:`. But did you know that you can also define custom contexts? Here's how to do it, and why that might be useful.

Utiliser Bundler dans un script ruby sans rien afficher dans le terminal

Il est possible d'utiliser Bundler pour installer des gemmes dans un script ruby, et c'est super pratique ! Voici comment empêcher Bundler d'afficher quoi que ce soit pendant l'installation des gemmes, et une solution pour un problème qui peut se produire quand on utilise cette option.

Silencing bundler in an inline script

Bundler can be used in inline scripts, which is awesome! Here is how to silence Bundler so that your script doesn't start with Bundler's output, and a workaround for a little gotcha when silencing output.