Rails World CFP, ActiveRecord::Base.with_connection, devcontainer and puma-dev support and more! | This Week in Rails
https://world.hey.com/this.week.in.rails/rails-world-cfp-activerecord-base-with_connection-devcontainer-and-puma-dev-support-and-more-6f564c2c
Ruby on Rails — Apply to speak at Rails World 2024 in Toronto - CFP open until March 21
「トロントで開催される Rails World 2024 でスピーカーになろう」というお知らせです
Rails World - 2024 は 2024-09-26 と 2024-09-27 にカナダのトロントで開催されます
1,000人の参加者が見込まれているそうです
2024-03-21までスピーカーを募集しているので、申し込みページから応募してね、というお知らせでした
Generate devcontainer files by default by andrewn617 · Pull Request #50914 · rails/rails · GitHub
railtiesに関する変更です
新しいアプリを作成するときに、.devcontainer フォルダーとそのコンテンツをつくるようになりました
.devcontainer フォルダーにはリモートコンテナで開発を行うために必要なものがすべて含まれています
具体的には次の4点です
1. Kredis、ActionCable などの Redis コンテナー
2. データベース (SQLite、Postgres、MySQL または MariaDB)
3. システムテスト用のヘッドレス Chrome コンテナ
4. ローカル ディスクを使用するように構成され、プレビュー機能が動作する Active Storage
これらのファイルの生成は --skip-devcontainer オプションを使用してスキップできます
Add ActiveRecord::Base.with_connection as a shortcut by casperisfine · Pull Request #51083 · rails/rails · GitHub
ActiveRecordに関する変更です
ActiveRecord::Baseクラスに with_connection というクラスメソッドが追加されました
このメソッドに渡されたブロックの中だけDBコネクションがつくられます
通常はリクエストやジョブが完了するまでDBコネクションを維持しますが、この with_connection メソッドを使うとブロックのなかだけDBコネクションを維持して、ブロックを抜けたらコネクションを解放できます
たとえば、処理のほとんどの時間をDB接続以外(たとえばサードパーティAPIの実行など)に使うアプリケーションでこのメソッドを使えば、DBコネクションを解放できるのでパフォーマンスが良くなる見込みがありますね