テストを削除する時が来た

2025-08-30

数十年にわたり、テストの重要性が強調されてきましたが、開発者たちは「テストを削除することは冒涜だ」という誤った信念を持つようになりました。この記事は、テストの目的は信頼性を高めることにあると主張していますが、失敗しやすい、冗長な、時間がかかる、または時代遅れのテストは、実際には信頼性を低下させます。不安定なテストは時間を無駄にし、テストが多すぎると効率が低下します。著者は、効率と信頼性を向上させるために、信頼性を低下させるテストを削除し、新しい要件に対して新しいテストを作成する必要があると提案しています。

続きを読む
開発

rv: 画期的なRuby言語マネージャー

2025-08-27

Bundler開発に10年携わってきた作者が、ついに新たなRuby管理ツールrvを開発しました。rvはgem依存関係だけでなく、Rubyのバージョン管理も行い、事前にコンパイルされたRubyをインストールすることで、長いコンパイル時間を解消します。さらに重要なのは、異なるRubyバージョンを必要とするスクリプトやツールであっても、簡単に実行できることです。uv(Pythonの類似ツール)、cargo、npmといった優れたツールの設計思想を取り入れ、高速性、信頼性、そして`rv tool run`や`rv tool install`といった革新的な機能を備え、Ruby環境の管理を簡素化し、開発者の生産性を飛躍的に向上させます。

続きを読む
開発

Rustのインメモリファイルシステムのパフォーマンス:驚くべきことに、関係ない

2025-08-25

RustでCLIツールを構築中に、ファイル管理テストの高速化のためにインメモリファイルシステムを使用しようとしました。`vfs`や`rsfs`などのクレートを調べた結果、驚くべきことに、現代のSSDとOSのファイルシステムキャッシュは非常に効率的であるため、インメモリファイルシステムを使用してもパフォーマンスの向上はほとんどないという結論に至りました。インメモリファイルシステム、通常のファイルシステム、RAMディスクを使ったテストはいずれも約45msかかりました。これは期待とは大きく異なっていました。インメモリファイルシステムの使用でパフォーマンスの違いが見られた事例を共有していただければ幸いです。

続きを読む