コード日進月歩

しんくうの技術的な小話、メモ、つれづれ、など

『【Roppongi.rb特別編】Rails 6リリースするかも?Party at Speee』に行ってきたよメモ

【Roppongi.rb特別編】Rails 6リリースするかも?Party at Speeeに行ってきたのでメモ

各発表の感想

※資料スライドは見つけたら貼ります。


Rails6にいつ上げるか?

発表メモ

  • オススメはRC1のときに始めるという話をされていて、その時はコミッタの人もバグを直すのに関心が強い時期なのでちゃんと見てくれる
  • あげる順番としてRails以外のgemをあげて、その後アップデート後のRailsの内容を理解してからRailsを上げる
  • genはDependaBotとかで定期的にあげておくとよいが、そうでなければtestやdevelopmentでざっとあげてテスト通すなどで確認したほうがいいかも
  • オススメはブランチを切って、対応を行って、従来バージョンと混ぜても問題ない変更はcherry-pickで拾い上げてmasterマージする方法。そうすると対応ブランチはrebaseして運用できるので変更差分を減らせる。

感想

  • dependabotの運用、手が回らなくて止めていたので再開したいなぁという心持ち
  • Railsアップデートが控えているためcherry-pickで戦っていく話はとても参考になった

関連リンク

  • RailsDiff - Railsの差分を出してくれるサイト
  • Dependabot - ご存じの方も多いgemがアップデートしたら勝手にPRを出してくれるやつ。無料になった。

Rails6のボイラープレートを作って運用してみた

発表メモ

  • Rails6を実際に動かしている中で得た知見
  • 複数DBをつかっており、database.ymlに簡潔に書けるようになったのですごい使いやすいという話
  • 秘匿情報はAWSのSercretManager使って運用しており、本番ではmaster.keyは使わない運用に

感想

  • 複数DB使えるのはいままでReadレプリケーションを運用してたところからすると朗報だな…という感じ。
  • master.keyの管理難しい問題はどこでもついてまわるんだな…という気持ちに

関連リンク


Rails 6開発秘話(パネルディスカッション)

トークメモ

ざっと話されたことをメモとして

Rails6オススメポイントや喋りたいこと

  • webpackerがデフォルトになったことで色々変わってたりするので、それらで苦しんだ場合にはIssueを上げて欲しいという話があった
  • ActiveRecrodno話では使ってもらって壊れたことを上げてもらわないと直せないので、上げて欲しい
  • Oracleの特性として1000件ずつしか取れない機能があり、そこに関してアプリケーション側で工面しくてもつかえるようになったあたり
  • 「Rails6に伝えたいことはWEB+DBPRESSに書いた」
  • Railsはアップデートのたびに遅くなっており、今回もそうなっていた
    • rails new がwebpackerの影響でインストール対象が増えて遅くなっている
    • cookie周りの話でメモリの使用量が増えている
    • ここらへんは松田さんが6.1でパフォーマンスチューニングしてるとのこと
    • スピードが遅くなっている話だったが、主に見ているのはメモリ使用量。
  • cookieに関してはセキュリティ的な対策の強化の影響で、そのぶんパフォーマンスがトレードオフになっている
  • ActiveRecordだけ取り上げると一般的なベンチマーク速度は落ちていない

WebPackerだけどSprocketsの進退は?

  • Webpackに関してはjsでやるべきというのが今の見解
  • sprocketsのほうがcssのビルドで使っているので、sprockets外すとそこらへんが動かなくなるかも

パフォーマンスの意識ってどんな感じなの?

  • そういう点を重きをおいているような印象はコミットなどからはあまりない
  • 6.1では水平分割とかマルチテナントに対応したメモリ周りの修正が入っていたりする
  • マイクロチューニングをしている機能もあったりするとのことで、パフォーマンスに関しては結構人それぞれのような話であった

Ruby3でGuildなど並列処理の機構なども入るが早くなったりするのか

  • Rubyのバージョンサポートをあげるのはメジャーバージョンアップのときのみ、そう考えるとRails7でもまだRuby3にするなどの対応はしないはずなので、Ruby3の恩恵を使うのはだいぶ先なのでは?
  • CPU使用率を高められる並列処理が加わっても、Cの実装をつかってたりもするし一概に早くなるとは言えない
  • 型に関しては様々な意見が出たが、DHHとしてはあまり好意的な反応ではないっぽいのでRailsの中ではあまり使われなさそうなのが現在

感想

  • トピック的に書き残しても問題なさそうなものをまとめたが、「ActiveRecordにおいてかっこいいコードをやめるとアロケーションを減らせる」「sorbetはRailsに適用できない」「head okのチューニングの話」など色々フリートークならではの面白い話もあった
  • Railsってどんどん重くなってるんだ…みたいな話があった
  • 冗談めいた話でSequelってワードがあがってきたけどいままで知らなかったのでそういう意味でも学びがあった

関連リンク


全体を通しての感想

  • Railsの上げ方から、Ruby有識者によるRailsトークとか聞いていてためになる話が多かった、特に最後のセッションはもうちょいラジオ感覚で聞いていたかった
  • かなり神速さんのアプローチは参考になったので、会社でも継続的にメンテするパワーを割きたいなと思った

WEB+DB PRESS Vol.111

WEB+DB PRESS Vol.111