Rails sur SQLite : une arme à double tranchant

2025-09-12

André Arko, contributeur de longue date au logiciel libre Ruby, partage son expérience de la création d’une application Rails utilisant SQLite. Si SQLite simplifie le déploiement et réduit les coûts grâce à sa nature intégrée, il introduit des défis uniques. L’article détaille ces défis, notamment la persistance des données, le contrôle de la concurrence et la haute disponibilité, en proposant des solutions telles que le stockage persistant, le mode WAL, plusieurs fichiers de base de données et des outils comme Litestream et LiteFS. Arko conclut que SQLite offre des possibilités intéressantes pour créer des applications Rails efficaces et simples, mais qu’il faut tenir compte de ses limites.

Lire plus
Développement

Il est temps de supprimer certains tests

2025-08-30

Pendant des décennies, l'importance des tests a été soulignée, mais les développeurs ont développé une croyance erronée selon laquelle « supprimer des tests est un sacrilège ». Cet article soutient que le but des tests est d'accroître la confiance, mais des tests défaillants, redondants, lents ou obsolètes diminuent en réalité la confiance. Les tests instables font perdre du temps, tandis que les tests trop nombreux réduisent l'efficacité. L'auteur suggère que, pour améliorer l'efficacité et la confiance, les tests qui diminuent plutôt qu'augmentent la confiance doivent être supprimés, et de nouveaux tests doivent être écrits pour les nouvelles exigences.

Lire plus
Développement

rv : Un gestionnaire de langage Ruby révolutionnaire

2025-08-27

Après dix ans de travail sur Bundler, l'auteur a enfin créé rv, un nouveau type d'outil de gestion Ruby. rv gère non seulement les dépendances gem, mais aussi les versions de Ruby, en installant des Rubies précompilées pour éliminer les longs temps de compilation. Plus important encore, rv rend triviale l'exécution de n'importe quel script ou outil Ruby, même s'il nécessite une version différente de Ruby. Inspiré par uv (un outil similaire pour Python), cargo et npm, rv offre vitesse, fiabilité et fonctionnalités innovantes comme `rv tool run` et `rv tool install`, simplifiant la gestion des environnements Ruby et augmentant considérablement la productivité des développeurs.

Lire plus
Développement

Performances du système de fichiers en mémoire dans Rust : étonnamment, cela n’a pas d’importance

2025-08-25

Lors de la création d’un outil CLI en Rust, l’auteur a tenté d’utiliser un système de fichiers en mémoire pour accélérer les tests de gestion des fichiers. Après avoir exploré des crates comme `vfs` et `rsfs`, la conclusion surprenante a été que les SSD modernes et la mise en cache du système de fichiers du système d’exploitation sont si efficaces qu’il n’y a pratiquement aucun gain de performance à utiliser un système de fichiers en mémoire. Les benchmarks ont systématiquement montré environ 45 ms pour les tests utilisant des systèmes de fichiers en mémoire, des systèmes de fichiers réguliers et même un ramdisk, un contraste saisissant avec les attentes. L’auteur invite les lecteurs à partager des exemples où l’utilisation d’un système de fichiers en mémoire produit des différences de performances perceptibles.

Lire plus