GA Ruby/Rails Watcher 2025-10-02
株式会社GA technologiesの@nyaocatです。
最近のRuby/Rails関連のニュースの中で気になった/面白い記事を紹介します。
Rails World 2025 の公演動画公開
Rails world 2025の公演、全24本の公演動画がすべてYouTubeで公開されました!またこの記事では、Rails World 2025で何があったかを簡単に紹介してくれています。
まだ私もすべてを見てはいませんが、個人的には
- HotwireのOffline Modeの話
- Hotwire Native の話
- Active Record 8
- ReactionView (ActionView互換のERBエンジン??)
- Rails 1.0 のソースコードを読む
あたりが特に気になります。
基調講演を除くと、Hotwire Native の話が僅差で再生数トップになってますね。面白そうと思いつつ個人的にはまだHotwire Nativeを実際に業務で活用するのは検討にも上げていなかったのですが、結構国際的にも注目度は高いのかもしれません。
/rails/info/routesにエンジンのルートも表示するRails本体のプルリクエスト
Railsには現在有効なルートを表示する機能がありますが、ここにRails::Engineによって提供されたルーティングも表示されるようになるPull Requestのようです。
これは良い、ちょっと便利になるぞ!……と思ったんですが、手元で確認したところそもそもRails 8.0.2でも、Rails 7でも既にこのPull Requestに貼られているようなEngineのルート表示は行われました。ではこのPull Requestで何が変わったんですか?有識者の方は教えてください……。
サプライチェーン攻撃により既に約200個のnpmパッケージが被害に
毎週200万回以上ダウンロードされている人気npmパッケージ、@ctrl/tinycolorが被害にあい、そこから自己増殖的に被害が拡大したとのこと。
今月はじめ頃にも別のnpmパッケージがサプライチェーン攻撃に晒されたことが話題になっていましたが、さらにまた大規模な攻撃が起きていますね。一度こういった事件が発生すると発生した経緯を詳しく調査した悪意のある人間が更に別のアイデアを思いつきやすい状況になるのかもしれません。
まぁ関係ないっしょ!と思う人も一定居るとは思いますが、例えばGemini CLIを2025-09-08(注)にnpmからインストールした人も間接的に被害に合っている可能性があるそうです。Googleがセキュリティ情報を発表していますから、自分のみならず友人や同僚に可能性のある人が居たら互いにアナウンスしてあげましょう。
Rails on SQLite
Solid Cable, Solid Cache, Solid Queueの登場、Rails8からのSQLite対応の大幅な改善により、現実的に多数のユーザーが存在するアプリケーションがデータベースサーバーも無しにRailsサーバーひとつのみで構築できるようになりました。特に個人プログラマーとしてはコストも抑えられて非常に魅力的な話ですね。というか普通に嬉しくて私も自分用のWebサービスをRails SQLite で書き直して自宅サーバーで動かしています。
この記事では、実際に毎月100万アクセスを処理するサービスを前述の構成で構築/運用している話と、そのような環境特有の制限や問題点、および拡張する方法について実際の知見に基づいて解説してくれています。私のアプリは私しか使わないのでまぁ問題はないのですが、本格的にこの構成で運用を検討している人には非常に良い記事です。
Rails開発者のための毎日のパフォーマンスルール
Railsでプログラミングするにあたって、ちょっとした違いがパフォーマンスに大きく影響する例が多数紹介されています。
まぁ、Railsを長らく扱ってきた方々には既に常識かもしれません。が、こういった基本的なことについて改めて触れる機会はなかなかなく、また時代が進んだことで新しい常識が急に増えていることもあります。自身のためにも、また共に開発するメンバーのためにも機会あれば見るべきでしょう。そうです、つまり今がその機会です。
RailsでAI機能をうまく扱うためのフレームワーク "Active Agent"
今やプログラミングに関連して多くのAI関連の話題を日々見聞きするようになりました。実際に非常に強力なので、皆さんも日々AIを活用して何かを作ったり、開発中のプロダクトにAIを活用した機能導入などを検討されているでしょう。一方この記事はnot AIで人間の私が100%書いています。
当然のようにRubyでもLLMを扱うためのライブラリは複数出ています。
しかし、我々がWebSocketではなくActionCableを使うように、AWS S3のAPIではなくActiveStorageを使うように、Railsでプログラミングを行うにあたってはよりRailsの規約に乗っ取り秩序立った……平たく言えば悩まずに楽に使える方法が欲しいものです。
この記事で紹介されているActive Agentはそのような立ち位置を目指して開発されているライブラリです。まだ未完成と言及されていますが、AI機能をRailsに導入する時の今後の良い選択肢になりそうで期待してます。
Discussion