2023年1月8日 星期日

2023 年第一期!🥂

zzak 发布

好久不见!新年明けましておめでとうございます!Zzakがお届けする This Week in Rails の最新号... *2022 年と書いてしまうところでした。🤣

Spotlight

今回は趣向を変えて、特別な方をご紹介したいと思います。スポットライトを浴びるのはAkira Matsudaさんです。前回のエピソード以降、彼は40 件のコミットを行っています!彼の焦点は Rails の段階的パフォーマンス最適化です。私は彼にバグを見つけ出す方法を共有するように頼んでおり、エンドツーエンドのベンチマークにおいて大幅な向上を約束してくれました!🙏その見返りとして、RubyKaigiの最高責任者である私から、同社のCFPが今月末まで募集を受け付けていることを皆さんに改めてお知らせするように求められました。日本で松本で開催される今年の会議で講演する機会を逃さないように、応募してください!

UJS のテストランナーとして Karma を使用する

ユーザーにとって直接的なものではありませんが、Rails で Rack 3 を完全にサポートするための大きな前進です。

本番環境で Puma ワーカーの数をプロセッサの数に合わせる

これは新しく生成された Rails アプリにのみ影響し、Puma の構成をデフォルトで物理プロセッサの総数に設定します。必要に応じていつでも変更できます。

コントローラコールバックの missing only に対してエラーを発生させる

コントローラでコールバックのフィルタを指定すると、アクションが存在しない場合に例外を発生させることができます。この動作はデフォルトでは false になりますが、新しく生成された Rails アプリでは有効になります。

required_rubygems_version を 3.3.13 以降に引き上げる

これは、新しく生成された Rails アプリの Gemfile テンプレートでプレリリース版の Ruby バージョンをサポートするために必要でした。ただし、大幅な変更となったため、異常を感じた場合はお知らせください

例外メッセージを「assert_raises」アサーションに一致させる

当初、これに関して上流の minitest にリクエストが出されましたが、却下されました。幸いなことに、私たちは Active Support から Rails テストアサーションにこの機能を提供できます。ただし、私は「assert_nothing_raised」の熱心なユーザーです🤣。

rails db:prepare の実行時に「internal_metadata」に正しい環境を格納する

Rails のデータベース設定時に環境の追跡が失われるというバグを修正しました。Junichi Itoがこのバグを報告してくれてありがとうございます!

config.hosts が使用されている場合にのみ HostAuthorization ミドルウェアを使用する

この PR は、特定のホストに対してアプリを構成していない限り、すべてのリクエストからミドルウェアスタックを削除します。

Rails.env.local? に事前計算の最適化を使用する

本次对最近添加的“Rails.env.local?”方法的小优化。此方法的性能现在与其他预定义的环境谓词一样,因为它们返回一个预先计算的实例变量。现在,您无需担心在生产环境中调用这个方法,因为它快了将近40%

本周,Rails 收到了来自 29 位贡献者的贡献。您可以在此处浏览所有的更改。

下次见!

订阅,以便将这些更新邮寄给您。