「Rails Developers Meetup 2018: Day 1」に参加した
Rails Developers Meetup 2018: Day 1に参加してきました。
毎回おもしろい話の聞けるRailsdmですが、今回も興味深い話が盛りだくさんで良かったです。
今回はマイクロサービスや設計の話が多く、Railsアプリの規模が大きくなった際の設計の参考になりました。
下記所感です。
安全かつ高速に進めるマイクロサービス化
@k0kubunさんの発表。
内部APIとしてマイクロサービス化するのは大変そうなのでできるだけやりたくないなと思ってしまった。。
リトライ戦略が参考になりました。expeditor gem知らなかったので後で確認したい。
MySQL/InnoDB の裏側
@a_bickyさんのMySQL/InnoDBについての発表。
InnoDBのIndexの仕組みから不要なインデックスを削除する話が参考になった。
Performance Schema知らなかったのできちんと理解して使いこなせるようにしたいですね。
Quipperにおける「関心の分離」の歴史
@kyannyさんの発表。
アプリケーション分割して困った点を共有してもらえるのは参考になるのでありがたいです。「分断されたモノリス」はツライ。。
Rails コントリビューションから学んだGit / GitHub 術
@koicさんの発表。
いつもコミットメッセージはあまり書かずにPRに書けばいいかという感じなのでコミットメッセージちゃんと書こうという気持ちになった。
強い人のコミットメッセージを参考にするのは良さそう。
Elasticsearchによる全文検索の実装
@gfxさんの発表
N-Gramと形態素解析のフィールドを別に持ってソート時に重み付けするのは良さそう。
全文検索ではElasticsearchではなくCloudsearchを使ってるけど、特定のフィールドの値によるスコアリングはCloudsearchでもできるので、もっとチューニングしていきたい。
Realworld Domain Model on Rails
@joker1007さんの設計、DDDについての発表。
- 設計とは概念を発見して名前を付けること
- 設計に必要なのは地図を作ること
- 一度に考えれば良い範囲を限定するための責任境界と集約ルート
- コンテキスト間で連携が発生する場合は依存関係をコントロールする
Railsの設計に悩んでいることもあり参考になるとても良い発表でした。
業務のRailsアプリでもいろいろな機能を負ったServiceクラスや肥大化したクラスが有るので良い設計になるよう頑張っていきたい。
2日目も参加するのでそちらも楽しみです!