Kaigi on Rails 2021 の一日目見たよメモです。
各発表の感想
部分的に見れていないパートがあったので見れたものだけ ※資料スライドは見つけたら貼ります。
Q&A kamipo
トークについて
a_matsudaさんがモデレータという形式で話が進められていった。 以下話があったメモです。
kamipoさんについて
日本人のRailsコミッターは3人いるがのそのうちの1人という紹介。
バッチ作っているのってどのぐらいの時間帯か?
主に平日の昼から夕方ぐらい。土日が忙しいので、ある程度まとまった時間をとれるのがその時間であるからというお話だった。
仕事とRailsのフルタイムコミッターに関して
現在はDeNAでRailsのフルタイムコミッターとして活動している。DeNAに限らずだが、カジュアルに相談されることが原動力になっており、誰かが困っていることやこの仕様はRails側でどうにかしてもらえませんか?というようなことがあると実際に直す事自体も進めやすいとのことでした。
Rails7の仕事自慢
Rails7については長い期間取り掛かっていたので、思い出せる範囲だとenumのoptionに関する変更に関して言及があった。(たぶん このPR)
enumは指定する引数の関係でoptionの値に _
を先頭につける必要があったが、そこが気になったので修正をした。本来はenumのオプションを付け足したいことが発端だったが、optionの指定が気になったので先にそこから直したとのこと
RailsのAPIでつらいもの
invert_whereの話題からRailsに不要ではないかと思われる機能の話題になった。Railsにも直感に反する機能、public apiでもなくていいいだろうと思う機能はあるということ。
kamipoさん自身はscoping
の機能に関して長年苦しめられており、グローバルに影響する機能なので直しづらい状況であり、非互換性の機能を作って修正しやすいように持っていているが、そうするたびに反応がくるのでなかなか一筋縄では行かないとのことだった。
Railsに対するモチベーションと向き合う
kamipoさんは現在DeNAでフルタイムコミッターとして活動されている。それまで色々なことがあったという。
コロナ禍以前はOSSパッチ会などのmeetupがあったので、1ヶ月単位で自身のやってきたことに対してのフィードバックや意見をもらえることがあったが、それがなくなってしまい、無に対して活動しているような心境になり、そこからモチベーションが揺らいだと語る。
そこで前職を退職され(当時のブログ)、しばらくの間無職で過ごしていた、自分を危機に晒すことで生きるチカラが湧いてきて、生きるために何かしなきゃ行けない状況になったら違う景色が見えてくるのかも、という旨の話をされていた。
そうしてフルタイムコミッターとして働くことになった今の心境としては「他の人には真似できないぐらい積み上げたものが誰かのためになっているのであれば、このままでいればいいのかな」という旨の発言をされていた。
最後にkamipoさんから一言があり「Railsのコミュニティが盛り上がると、やっている活動の価値があがる、みんながRailsに興味を持ってくれると良いな」とのことでした。
感想
- メモではざっくり書きましたが、実際はもっと実装の細かい話までされていて色々濃いめのトークでした。
- 自分自身はプロダクトを作り上げる手段としてRailsを使っていることが多いほうなので、OSSに貢献しないとと思う部分もあるのですが、困っているユースケースを伝えていくことや、それを使えるようにしてくれたことに感謝をすることだけでも意義のあることなのかなと改めて思いました。
- 個人的にはカレー情報も有益な情報です。
関連リンク
監視を通じたサービスの逐次的進化
ありがとうございました!本日の登壇資料です。 #kaigionrails https://t.co/hx1rI9VeRj
— しょーへー (@shohei1913) 2021年10月22日
感想
- 不確実性に対して、監視を用いることで挑んでいく話。
- 定時確認でしきい値の設定しづらいものを「形」で覚えるのは、なんとなくやり方としてはおぼろげに感じてはいたが名言されたことはなかったのですごい視点として定まった話だった。
- ベータテストがあるとそのベータで「想定内の異常処理」と「想定外の異常処理」を洗っていくことができるので実地検証をしながら異常処理の潰しをしていく際にはとても参考になりそうな発表だった
関連リンク
medpeer.jp開発を加速させるエンジニアリング施策
感想
- medpeerさんが開発するにあたってどういうことをしているかというスポンサーセッション
- docker-composeとdip、コメント駆動のプレビュー環境、フィーチャートグル、POROの処理分離、ネームスペースの取り扱い、RailsUpgradeなどいろいろな実践の話をしていた
- ブランチ単位でプレビュー環境を立ち上げる機能が素直にすごいと思った、DBどうしているんだろう…
関連リンク
- docker-composeを便利にするツール「dip」を使ってみた|TechRacho by BPS株式会社
- jnunemaker/flipper: Beautiful, performant feature flags for Ruby.
- Railsで処理を別クラスに切り出す方法について - メドピア開発者ブログ
- 継続的Railsアップグレード / Continuous Rails Upgrade - Speaker Deck
銀河スクラムマスター・ガイド
資料はここ! #kaigionrails https://t.co/PMpEf1fHix https://t.co/3xaoxdO13k
— あそなす (@asonas) 2021年10月24日
感想
- スクラムをやるにあたり困ったらスクラムガイドをあたると良いというお話。
- 実録スクラムチームができあがるまで、というお話だった
- プロダクトオーナーが捕まらないからスプリントプランニングを2系統用意する話だった
関連リンク
ジュニアエンジニアが開発チームに貢献するためのTIPS
Kaigi on Railsで使用したスライドをアップロードしました!https://t.co/h9fhRuAaoj#kaigionrails
— ヒロ@エンジニア (@sa_tech0518) 2021年10月23日
感想
- 実際のコードという概念ではなく、メンタルの面でどう取り扱っていくべきかみたいなアプローチ
- ここらへんそれなりにできちゃう人だとスッとやれちゃうんだけど、そういう人ばかりではないので、こういう情報を見てもらうことでアハ体験のようなものがあるかもしれないなと思った。
- チームで仕事をする経験は抽象化すればどこでも転用可能なので、誰しもが経験しておくと良いのだろうなと思いました。
関連リンク
- プロダクト開発のナレッジ共有を効率よくやるためにやりはじめたこと - freee Developers Blog
- 労務知識をプロダクトに還元していたら、開発チームの一員になっていた話 - SmartHR Tech Blog
Railsのシステムテスト解剖学
Railsシステムテスト解剖学のスライド(一部省略)をアップしました。https://t.co/85Qt07hNSx#kaigionrails
— Yusuke Iwaki (@yi01imagination) 2021年10月22日
感想
- 申し訳ないレベルかつ雰囲気でcapybaraを使っていたので、構造の説明の説明もさることながら順を追って踏み込んだ説明をしてくれたので「探り方」という点でも大変参考になった
- Selenium一択だと思ってたので、Playwrightはすごい新しい情報だった
関連リンク
- microsoft/playwright: Node.js library to automate Chromium, Firefox and WebKit with a single API
- CapybaraなしでRailsアプリのE2Eテスト(feature spec)を実行する
JSON Schema で複雑な仕様の入力フォームの実装に立ち向かった話
本日の発表資料です! #kaigionrailshttps://t.co/2JHQ85E2qc
— 食塩出現 (@solt9029) 2021年10月22日
感想
- ビタッとハマると全員が幸せになるJSONSchema管理の世界の話。
- 各種gemが整備されているので、それに乗るだけでもかなりハッピーだし、仮にそれがなくても共通認識が取りやすいのでゼロイチでやるなら参考にしたいなと思いました。
関連リンク
Perfomance as Product Feature
今日発表したスライドhttps://t.co/ZQi085Px8b #kaigionrails
— Leonard Chin 😷 (@lchin) 2021年10月22日
感想
- パフォーマンスと向き合う時にどういう部分で向き合えば良いのか、という話
- 後半ではどういう切り口でキャパシティプランニングをするべきかという話を含めてあったのでインフラ知見を習慣的に貯めにくい私としてはとても参考になりました。
- 人件費よりもサーバーのスペックを上げるほうがいいケースなど、割と技術一辺倒で挑む話でもなく、あらゆる方策を尽くして挑む系統のお話でした。
関連リンク
GraphQL SchemaからTypeScriptの型定義を継続的に生成する
マネーフォワードのスポンサーLTで使用する資料です🚀https://t.co/UeCOkyCuBI#kaigionrails
— タマイ (@ayumitamai97) 2021年10月22日
感想
- マネーフォワードさんのスポンサーLTだけど駆け抜けるようなGraphQLに関してのLT
- GraphQLのschema定義を作ってTypeScript側と足並み揃えるだけにとどまらず、自動PR生成の仕組みまでできているのが仕組みで解決している感が凄まじくてすごかった(そしてちゃんとRailsの話だった)
関連リンク
- GraphQL Code Generator で TypeScript の型を自動生成する - クックパッド開発者ブログ
- GraphQLの特徴を分解する ~API インターフェース・Universal BFF・API Gateway~ - Qiita
Polishing on "Polished Ruby Programming"
15:50からの #kaigionrails のトークのスライドです。スクロールダウンするとリンクのリストがあるので参考にしてください 🙏 🌐 https://t.co/8kmqPy05ZL
— Kakutani Shintaro (@kakutani) 2021年10月22日
感想
- 研鑽Rubyプログラミング(仮)とそれに関する思いのお話。
- 「XPの成功は、信頼できるソフトウェアのすばやい見積もり、実装、デプロイができる優秀なプログラマンーの増加にかかっている」からこそ「優秀なプログラマー」を増やしたいという話はすごい刺さった
- 発表のあとに右下の角谷さんコメント見ながら見ると違う発見があった。
関連リンク
- なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 - 達人出版会 - あんま売れてないと聞き、個人的には学びが多い本だったのでもっと売れてほしい
- Rubyにとって決定的に足りないものは何だと思いますか? - Quora
Build and Learn Rails Authentication
次の私の出番の発表資料こちらです、見ながら聞くことをおすすめします https://t.co/sYDiS6BHqT #kaigionrails
— sylph01 (@s01) 2021年10月22日
感想
- 認証技術の理解を深める、認証ライブラリの選択を手助けするというテーマのお話
- 序盤で基礎的な認証の話から入り、最終的にDeviceなどのgemの話に落ち着く構成で、ログイン周りを考えるときにスッと出したい資料でした。
- いまの環境がsorcery一辺倒なので、ちゃんと考えないとなと思うのでした…。
関連リンク
FactoryBotのbuild strategiesをいい感じに直してくれるgemを作った話
この後の登壇資料です。よろしくお願いします🙏https://t.co/t3Td5ASUzN #kaigionrails
— 🐈@姉です (@neko314_) 2021年10月22日
感想
- FactoryBotのcreateをbuildにしたい!というgemの話。
- やってみよう!と思いはするけれど自分の場合は途中で力尽きちゃう感じなのでこういう技術的なモチベーションはただただすごいなと思いました。完成すれば自動テストプロセスに入れてみたい感じのやつ
関連リンク
STORES へのID基盤の導入と、ユーザーアカウントの移行を振り返って
私の発表の資料です!https://t.co/NO8JBbgxin #kaigionrails
— Takuya Matsumoto (@upinetree) 2021年10月22日
感想
- アカウントの統合とその際に苦労した事に関してのお話
- さきほどの話と合わせて、独自実装をしてはいけないという話をちゃんと忠実にやっていて地続きな感じになっていてよかった。加えてエバンジェリスト派遣という取り組みがあるのは知らなかった
- 認証基盤に関わるものがみんなOAuthのRFC読むのはとてもいい取り組みだなと思いました。
関連リンク
RailsエンジニアのためのNext.js入門
昨日の発表内容をブログにも書きました #kaigionrails "RailsエンジニアのためのNext.js入門 - hokaccha memo" https://t.co/jZju0O6ftL
— hokaccha (@hokaccha) 2021年10月23日
感想
- Next.jsに関して、Railsエンジニアにもわかりやすく解説された話。
- Next.jsがどういうものであるかという話もわかりやすく、各種レンダリング手法の解説もとてもわかりやすいものでした。
- ActiveRecord使わないならNext.jsで組むっていうのがいいのかなと最近思っていたので今のタイミングで見れてとても良かったです。
関連リンク
- もう迷わないNext.jsのCSR/SSR/SG/ISR
- Active Recordから考える次の10年を見据えた技術選定 / Architecture decision for the next 10 years at PIXTA - Speaker Deck
クローズしたはずのサービスが知らぬ間に蘇っていたのでクローズしきった話
このあとの発表資料です!! "クローズしたはずのサービスが知らぬ間に蘇っていたのでクローズしきった話" https://t.co/cbClHeKcD6 #kaigionrails
— Ryunosuke Sato (@tricknotes) 2021年10月22日
感想
- どこのWebサービスでもありうる怪談
- 一度取得してサービスを運用したのであれば、一旦は保持するのが無難なのだろうなと思った