みなさんこんにちは。宮水です。
本日はrubykaigi 3日目 最終日のレポートです。
3日目最初の講演はこちら。
この講演では、「未使用のコードを消す方法」を聞くことができました。
クックパッドさんはRails使用歴10年(!)で、Rubyのコードはなんと10万行にもなるそうです。
登壇者の方は「不要コードは部屋のホコリのよう」と表現しており、「別に掃除しなくても害はないけどなんか嫌」みたいなニュアンスでお話されていたのが面白かったです。
そんな"未使用のコード"ですが、それらを効率的に削除するために考えられたのが「キッチンクリーナー」。料理にかけてて可愛らしい名前ですね。
詳しい技術的なお話はこちらに載っています。
クックパッドさんほどの大きなプロジェクトとなると、こういったリファクタもここまで高度な仕事に変わるのですね。
この講演によると、使ってないメソッドでもcommitメッセージにどうして残しているのか?を書くだけでも幸せになれるそうです。
この講演を聞いたらすぐお昼になりました。今日は屋台でうどんをいただきました。
私は西日本出身なので、だしが好みの味すぎて実家に帰りたくなりました。
ご飯を食べたら、誰かがつけてて可愛いなーと思ってたrubykaigi限定バッチを獲得しに行きました。
金にものを言わせてフルコンプしました。
実はこのバッチ、#rubykaigi Day1でも載せていたスタンプラリーを制覇すると二回無料でガチャが回せたらしいんですね。回してから知ったんですけど... 来年は絶対確認する...
それから転職DRAFTさんで最高なシールをいただきました。
5000兆円欲しい!!!!!!!!!!!
最終日のお昼休憩も存分に楽しんだところで、続いての講演はこちら!
プリキュアはエンジニアの共通言語らしいです。(Twitterでみた)
キュアエンジニアさんの登壇を聞きに行きました!
スライドはこちらです。
最初に自己紹介で「プリキュアのRubyを実装した人です」と紹介があって、!?となったので調べてみたらこんなQiitaが...
こちらのセッションですが、WebのAPIのベストプラクティスが学べる!!という内容でした。
・複雑な機能はgem化する
・メソッドの引数を可変にする
・型を作って開発した方がいい
APIで作るべき機能
・パラメーターの変換
・APIのエラーを独自のエラーにラップしてあげる
・rescueたくさん書こう!
・サンドイッチメソッドの導入
・アクセストークンを自動更新する
APIで作るべきではないもの
・APIのレスポンスを一定時間キャシュする機能
・リクエストパラメーターのバリデーション
必須なパラメーターとかはやったほうがいい
とても勉強になりました!
続いては、みなさんお馴染みbundlerのお話。
Ruby2.6以降ではbundlerがdefault gemsになっているそうです。
続いては、こちら。
直訳すると「ローカル変数で遊ぼう」です。
英語だったのでごめんなさい あまりついていけなかったのですが、AST書き換えライブコーディングでは歓声が上がっておりました。
代入以外でローカル変数に assign する方法、「rescue!」「あぁ〜」 「Regular Expression!」「あぁあぁああーー」でカメ止めばりに会場が一体になるのを感じた #rubykaigic
— Yuya Takeyama (@yuya_takeyama) 2019年4月20日
講演時間、残り7分で機能追加できた瞬間は会場が今までの講演で聞いたことないくらいの拍手に包まれていました!
講演が終わった後、後ろの席の方が
「...It's crazy...」
とおっしゃっていたのを私は忘れません。
今回の #rubykaigi 発表準備期間
— ujm 🍣 (@ujm) 2019年4月20日
* スライド作成 (2回完全破棄して作り直し) 3ヶ月ぐらい
* 最終盤スライド作成(rubykaigi最中に半分破棄) 一週間くらい
* パッチ作成 2ヶ月くらい (間にかなり脱線あり)
* pattern matching対応 1日
* Vimの練習 20年半
Vimの練習 20年半www
講演お疲れ様でした🙇♀️
rubykaigi3日目お疲れ様でした。
来年の開催地は...
来年は松本開催! #rubykaigi pic.twitter.com/j06NGgWoWx
— とみたまさひろ🍣🍺 (@tmtms) 2019年4月20日
長野!
東京から近いのでぜひまた参加したいです。
ここまで読んでくださってありがとうございました。