はじめに
東京Ruby会議12というイベントに参加してきました。
このような大規模なイベントに参加するのは初ということで、どうなるか不安でしたが楽しむことができました。
印象に残った発表
Scaling Ruby @ GitHub
GitHub社の John Hawthorn さんによる、GitHubのプロダクト運用についての発表でした。
- コードごとに専門の担当者を決め、バグが発生した時はスタックトレースからエラー発生箇所を特定し、担当者に割り振るという手法が説明されていた。自分の会社はリポジトリ単位でしか割り振っていないため、規模が大きくなるとモデル単位での役割分担も必要なんだろうなとか思ったりした
- GitHubってrailsだったんだ!という今更な驚き
- gemの紹介もされていましたが、自社で作っているとのこと!これはリソースや技術力のある強みだなと感じました
Ruby製テキストエディタでの生活
会場ではテキストエディタの実演もされていました。開発者として参考になるマインドでした。
- 日常で使うものが自分のものだと、ちょっと日々が楽しくなる
- そんなにすごいものを作る必要はない。オリジナリティもいらない。すでに市場にあるものを一部変えたり、不要な機能をオミットするだけでも十分
- やっぱり市場で広く使われているものは偉大
Writing PDFs in Ruby DSL
PDFの構造からrubyの書き方まで、順を追って丁寧に解説されていました。
難しそうな内容でしたが、スッと頭に入ってきました。
- PDFがさまざまな文字コードでできているという、仕組みを知れた
- rubyで動的にPDFの内容を変更されてて、お見事でした!
混沌とした例外処理とエラー監視に秩序をもたらす
自社でも運用を開始しているSentryを使ったエラー監視についての解説がありました。
チーム内での意識共有ができてないと、根本的な課題解決は難しい。
- エラーハンドリングについて改めて考えさせられました。拾うクラスと拾わないクラスを分けることはやっぱり大事
- 自社でもたまにあるエラーが発生しても処理を続けて欲しいという要望、本当にダメな時はいっそ早めにクラッシュさせた方がいいというお話をうんうんと言いながら聞いてた
- rubocopで例外を丸ごとキャッチする書き方をNGにする過激なルールが印象に残った。でもこれくらいしないと変わらないとも思いました
- 機械的にできそうなところをうまくライブラリやプログラムなどで制御すると言う発想は大事にしたい
Regional.rb and the Tokyo Metropolis
- 都内周辺にこれだけコミュニティがあったのかと思いました
- 立ち上げの時の話とかが印象的でした。結果よりもやりたいからやっていると言う姿勢なんだなと思いました
- どこか入ってみたいなと改めて思いました
Todo?
- エラーハンドリングをきちんとやる(キャッチするクラスとキャッチしないクラスを分ける)
- rubocopのカスタムルールの作り方を勉強する
- 普段使ってるツールや手動でやってることを自動化することにチャレンジしてみる
感想
なんだかんだでオフラインで参加したのはよかった。集中して話を聞けた。
難しい内容も多かったけど、ためになる話もあり、刺激になりました。
来年もまた参加してみたいです!