Rails Developers Meetup 2019 に行ってきたました、ので見れたものと理解できたものだけスライドとあわせて備忘的な感想メモです。
※各発表のスライドは随時公式HPに上がってます
# 1日目
## アプリケーションを作るときに考える25のこと
スライド公開しました  #railsdm2019— Takafumi ONAKA (@onk) 2019年3月23日
### 感想
- Railsって何が嬉しいんだっけということが振り返ることができる発表
- 有用なGemの探り方を依存関係と作者から紐解いていくのはOSSならでは
- Slimって雰囲気で採用していたところあったのでなぜSlimがいいのかを説明することができそう
- Markdownの方言問題は本当にそうなので、CommonMarkは気になった
- WYSIWYGエディタに関してRailsでのモアベターも聞きたかった…
- 最後省略された部分があるのでちゃんと読みたい
- 論理削除 Casual Talks #1という夢を見たんだ | けんちゃんくんさんのWeb日記 - 論理削除の話はこの勉強会のスライドでカバーできる
- Ruby on Railsの正体と向き合い方 / What is Ruby on Rails and how to deal with it? - Speaker Deck - 翌日の別セッション、こちらもあわせて読むとRailsをなぜ使うのかに意識を集中しやすそう
## DevOps, Immutable Infrastructure, microservices そして Chaos Engineering
- 駆け足でみるDevOpsの歴史、サーバサイド開発における付録C
- 2009年ぐらいから開発関係でごはん食べる仕事してるので時代の流れを感じる
- 去年のbuildersconでもEnvoyいいぞ！推しする空気だったのでよさそうに見える
- ただそろそろEnvoyつらい事例とか出てきてもよさそう
- カオスエンジニアリングはサーバーを落とすことではない！！！と熱が入ってて本質を理解していなかった勢としては耳が痛い
## 現場Railsの執筆現場
### パネルディスカッションメモ
2016年の10月に話が始まり、約2年かかり発売。その間の話などのメモです。
#### 9章10商はなぜ書いたのか
書籍や座学で学ぶ場面だとなかなかチームで開発するという雰囲気がつかめないのでそれを文字に起こした、という旨の話がありました。
#### 使えなくなった部分はあったか
執筆当初は4系だったのでRails5.2 になったのでその部分が作り直しになった、という話がありました。
#### 見開きが見やすく感じたが、ここに関して気を使ったことなどあるか
編集の方が良くしてくれたというのもある、また最終的に全体を見直す際に図がほしいところはどんどん足してもらった。
#### 追加したかったなーという部分、続編とか付け足したいなみたいのはあるか
- Javascript周りが中途半端だったかも
- テストの章はSystemSpecしか触れられてないのでmodelのSpecなども書きたかった
- Rubyとして、プログラマの習慣というところでコケているところなどがあったのでその点は少しでも言及したかった
- この先であればRails6など
#### 初学者向けに意識したことはあるか
- 前から読んでいって急にわからない言葉が出てこないようにした
- 順番に読めばわかることを意識し、段差があるところは埋めて回った
- 目的感を示していなかったので途中で倒れない（=挫けないという意？）ようにした
- 初心者としてできなかったことを全部覚えていたので、初心者の自分自身を思い出して指摘をしていた
- この件を通して複数人で一度に書き始めたので前提が揃わなかった綿密な依存性が必要だったので、シナリオを書けばよかったという後悔があった
#### 執筆を乗り越えるための工夫
- とりあえず机に座り、書いて勢いをつけて、その流れに乗っていく
- もくもく執筆会とかでモチベーション確保していた
- 朝やる習慣をつけて、それが力になった
- 毎週やる時間を設ける、締切ドリブン。執筆活動だけやるprimaryにする。
#### この本を読んだあとに何をしてもらいたいか
- その人の苦手な部分をやってもらって埋めてもらう
- 本でやった内容を周りにレビューしてもらいながら進める、レビューで気づきを得る
- タスク機能アプリに追加する、Railsガイドを読んでねというアナウンスをしている
- 次は実践してほしい。なお本の中でJSは弱いのでその点は補強してほしい。
- メタプログラミングRubyで理解を強化するのもアリ
- 現場Rails自体がどんどん読み進めて階段を上がるタイプの本なので、複数人よーいどんでやったのは相当大変だったんだろうなというのがまざまざとわかるセッションでした。
- 作者陣もJSなどは補強不足という話はしていたので、人に進めるときはそこを意識したいなと思いました。
## CSSの技術的負債との向き合い方
- CSSとどうやって向き合っていくべきなのかという話
- エンジニアとデザイナ（CSSコーダー含む）との関心の隙間に落ちがちなのでそれを「関心の谷」と表現したのはとても秀逸だと思った。
- 関心の谷に橋をかける具体的なアプローチも実践的なもので、とても参考になった
- Misocaにおけるビジュアルテストへの取り組み - 翌日に話のあったビジュアルテストの取り組み
- hiloki/flocss: CSS organization methodology.
- みんなが知ってるような知らないようなFLOCSSの話
- 『Web制作者のためのCSS設計の教科書』を読み終わったよメモ - コード日進月歩
## オンライン予約徹底解説
- 業務プロセスと真摯に向き合い「席」という概念のモデリングをきっちりしていった事例
- こういうモデリングをActiveRecordでできるんだ…という学びもあった
- ただcallbackで書いていくとcallbackでModelがえらいことになりそう…
## Ruby Data and Rails
- 科学技術計算にまつわるものに関しては普段触れる機会がないのともともとやってきているわけでもないのでどういうものがあるのか知れるだけでも学びがあった
- 人がいないから根付かせようというパワーの凄まじさといか、活動して着実に歩みを刻めている良い事例を見させて頂いた気がする
- この手の分野はPythonが強いんだなとつくづく思った
## 我々はマイクロサービスとどう向き合うべきか
- マイクロサービスよかったね！じゃなくつらい側面も含めた事例
- Railsは密結合になりやすいのでどう向き合うかみたいな話だなという気持ちにもなった
- 最後のモノリスとの分離の手法は頭ではわかっていたがパターン分けされるとわかりやすい
- マイクロサービスと設計原則 / Microservices and Design Principles - Speaker Deck
## 雑 Almost Microservices
- デプロイをいい感じに回す事例とマイクロサービスな話
- DarkLaunch、ワードとしては聞いていたけどFatureSwitchみたいな仕組みなのねーと学びがあった
- 少なからず分岐地獄にはなりそうなので、そこをいい感じにカバーしていく方法などは模索するほかないのだろうか…とは思った
- 人の手を介するテストを外に依頼するというソリューションなるほどなー！という感じ。
## Rails meets Protocol Buffers - For Schema First Development
昨日の発表資料を公開しました。（参考資料へのリンク追加やタイポ修正等、一部加筆しております。）
- gRPCじゃない、普通のProtocolBufferでのAPI実装事例
- ネイティブアプリとサーバ開発はネイティブ側が損を食うという構造に関しては共感しかなかったのでProtoBufのほうが自動生成とかも楽そうだなーと思った
- もっとネイティブアプリにやさしい開発は目指しいかんとなという気持ち
- Swagger (OpenAPI 2.0)を使ったAPI仕様Drivenな開発 / API-Spec-Driven development with Swagger - Speaker Deck - Swaggerで似たようなアプローチをしている事例、というかこれもDeNA社。
## Railsアップグレード百景
- 「Railsアップグレードはつらい」と聞くがどう立ち向かうべきかという事例
- RuboCopの自動修正を活用するというのはなるほどな、と思った。
- Rails使ってはいるがこの苦行ネタは体験したことがないので、定石の方法を公開していただけたのはありがたみしかない…
# 2日目
## 全体がいい感じになるために、私たちRailsをホームにするWeb技術者ができること
本日の発表資料です! ありがとうございました!!! #railsdm2019 / “全体がいい感じになるために、私たちRailsをホームにするWeb技術者ができること/let-our-whole-system-grow - Speaker Deck”  MOROHASHI Kyosuke (@moro) 2019年3月23日
- Webアプリケーションを取り巻く環境の変化とRailsを重ねた話
- 「快適な一戸建て」と「合流させる場所」という表現は素晴らしいと思った
- 外部連携、利用技術の多様化など協力して仕事をつくりあげることに対しての指向が高まっていることは確かだなと感じる
- 「全体をいい感じにする」というのは何となく理解できるが、カチッとハマる名前でもないのはすごくわかるので何か欲しい
## Clean Test Code, Revised
- Willnetさんのスタイルガイドで要点だけを絞り出したスライド
- letの使い方含めて一貫しているのでわかりやすい
- 最近RSpec量が増えてきて、shared族も増えつつあったのでそれに対する手法が得られたのは大きかった
## エンジニアリングマネジメントの孤独と向き合う
- エンジニアマネージャーとして動き出さなければ行けないタイミングなどの話
- マネージャーという仕事がマルチタスクが基本になってくるのではそうですよねー…という感じ
- 「マネジメントに逃げる」ではなく「マネジメントに攻める」という考えは大事だな
- サーヴァントリーダーシップの体現が理想の上司1位内村光良、ってのはなるほどなーと思った。
- まだ40代後半のプログラマの話、あるいは50代プログラマについて考える / railsdm 2019 - Speaker Deck - 引用元の昨日の話
- Rebuild: 123: The Grail Dialogue (Naoya Ito) - Rebuildの聖杯問答回、サーヴァントリーダーシップというとこれを思い出す
- トム・デマルコ『ピープルウェア(Peopleware)』の要約
## Rubyコミュニティの歩き方
Rubyコミュニティの歩き方 - Somebody to Ruby 
- Rubyが日本に根付いてきた源泉を垣間見た気持ちになるスライド
- OSS貢献、やってみたくなるしこれだけ門戸を広いということを知ると何かしら自分ができることは無いか探りたくなる（だが仕事と私事が忙しすぎてそこまで手が伸びないのが実情）
- 「GitHubはSNSである」というカルパスさんの話を思い出す
- (10.years.ago..).step(1.week){Asakusa.rb.meetup!} - Speaker Deck - コミュニティと勉強会は違うというのはこの話ですごい理解できた
## How framework and buildtool handle webpack?
- 他のエンジニアが誂えてくれたWebpackerを使っている民としては違いがはっきり理解できてよかった
- Railsに寄らないフロントエンド（SPAとか）にならない限りは脱出する必要はないなという気持ち
- SSRとか交じるとかしんどそうだなとか…
- rejectという脱出装置機構があるんだ！という変化の早いJS界隈ならではの側面を知ることができた
## Evolution of Enumerator
- Enumerator の歴史と今
- 昔（Ruby1.8）とか
each_with_objectなんてなかったよな…と思ったけど自分の記憶は正しかった
- Enumeratorは武者さんの苦労の歴史でもあるのか…という側面を垣間見た
- Javaとかの列挙型（enum）と混同しがちなのでちゃんと認識の整理をしないとな…と思った
## 巨大なモノリシック Rails アプリケーションのマイクロサービス化戦略
- レガシーサイトならではの苦行感があふれていた…
- 既存のモノリシックサービスをどう切り出していくかの事例として学びが多かった
- GRPCの採用を踏み切っているのすごいし、既存のgemがイケてないから自力実装はさすがマンパワーがある会社…という感じ
- フロントエンドに対してのアプローチはどこも探り探りなんだなという気持ち
- gRPC in Cookpad - Speaker Deck
- Service Mesh and Cookpad - クックパッド開発者ブログ
- Cookpad TechConf 2019 〜霞が関〜 クックパッドiOSアプリの 破壊と創造、そして未来 - Speaker Deck
## 自己修復的なインフラ
- terraform + Fargate 運用事例
- AWSのロール管理はすごい難しいというか、Applyをどう考えるかは結構どこも悩んでそう
- 表題の自己修復可能なインフラというところに行くには最初からそうやってインフラをデザインするってぐらい倒さないと、後発でやるにはサービスの計画停止なりを考えないと行けない場面が出てくるのでパワーの入れる余裕ができないとやれないなー…という気持ち。
- terraformベストプラクティスはめちゃくちゃありすぎてどれが正道かわからんよなー…って確かに思った
# 全体を通しての感想
- 会場のオラクルさんがすごく良い環境で、wifi完備、電源あり、休憩スペースあり、とてつもなくよかったです。( オラクルクラウドの説明 よかったです！）
- 講演内容のバラエティが豊富でRailsを使っていった事例、という色や、Railsを基軸にして向き合ってきたもの、などRailsの使われかたが富んでいることを示す感じだった。（なのでWebアプリケーションカンファレンスみたいな側面も多かった）
- Railsはどういうものなのか？と考えさせるセッションが多いように感じてて、Railsの得て不得手を改めて考える機会になった
- 2日目の懇親会でコミュ障っぷりを発揮する場面があってすごいごめんなさいという感じでした…
- とりあえずちゃんと見れた、意図理解できたものだけでもまとめたけど見たやつだけでもボリューム数が多くて感想纏めるのに時間かかった…
- DHHの話はほぼわからず、Jeremyの話はスライドがあることでなんとなく理解できたレベルだったので英語ちゃんとやろ…という気になった
- 最終回、からの再出発っぽいので次回何かあれば手伝いたいなと思いました。