Ginza.rb 第55回

『Ginza.rb 第55回 もうすぐやってくる!Rails5.2を見ておこう』に行った。会場はみんなのウェディングさん。

ginzarb.doorkeeper.jp

Rails 5.2 の Major Features について y-yagi さんがまとめてくれたスライドを元に進行していた。

https://y-yagi.github.io/presen_rails_5_2/#/

以下、Rails 5.2 (beta2 時点) の Major Features について個人的な所感。

Active Storage

例えば既知のファイルアップローダーである CareerWave なんかと比べて、不特定多数のユーザーからのファイルアップロードを受け付けるにはバリデーションがないあたりで実戦投入が難しそう。クラウドサービスへのアップロードが Rails 本体でサポートされているというのは便利だと思うので、今後使って見た人がどうフィードバックしていくかの Rails 6.0 での姿に期待している。

Redis Cache Store

Memcached でも良いのではという考えもひとつあるとは思うけれど、Redis という選択肢が標準でサポートされるようになるのは良い話で Active Storage よりも Rails 5.2 で使われる機能になりそうな予感がした。

HTTP/2 Early Hints

HTTP ステータス 103 について知識を増やすことができた。会場では Early Hints についての挙動に違和感がある場合は HTTP 1 脳に慣れ親しんでいて HTTP 2 脳ができていないのではという見解が面白かった。

あとこの機能自体 Puma でないと効かないといったあたりから、Puma で本番運用している人がどれくらいいるか最近のアプリケーションサーバー事情が気になったところ、Unicorn と 1/3 から半々くらいの割り合いで結構いたのが印象的だった。

CSP

Rails 5.2 に向けて rails app:update した際に、initializers に追加される CSP のデフォルト設定は厳しいのでアップグレードで動きがあやしい場合に見てみるポイントとして知ることができたのは収穫 (知っている知らない問題は知っているとはやい) 。 y-yagi さんのスライド 22 ページあたりとあわせて見ておきたいイシュー。

github.com

Credentials

Rails 5.1 で Encrypt Secrets を使っている場合は、移行していくと良さそう。そちらはゆるく Deprecate になっていくというあたりのアプローチの仕方がセンスいいなと思った。