Rails Developers Meetup 2018 Day 4 Nouvelle Vague ケータリングスポンサーPR https://techplay.jp/event/702297
#railsdm Quipper の開発現場 (ケータリングスポンサーPR)Quipper の開発現場(ケータリングスポンサーPR)@mtsmfmFumiaki MatsushimaRails Developers Meetup 2018 Day 4Nouvelle Vague #railsdm
View Slide
#megurorb 文字化け、あるいはワークアラウンドとの戦い➔ Web Dev at Quipper➔ Ruby と麻雀と DbD が好き➔ 西日暮里.rb 主催➔ GraphQL Tokyo 主催@mtsmfm.inspect
#railsdm Quipper の開発現場 (ケータリングスポンサーPR)https://github.com/quipper/handbook/blob/1280bd47fcfcafed8b0b402786ce65ff5ee681b4/company-profile-ja.md
#railsdm Quipper の開発現場 (ケータリングスポンサーPR)
#railsdm Quipper の開発現場 (ケータリングスポンサーPR)https://studysapuri.jp/
#railsdm Quipper の開発現場 (ケータリングスポンサーPR)https://www.youtube.com/watch?v=_99NdvPhNjU
#railsdm Quipper の開発現場 (ケータリングスポンサーPR)https://www.google.co.jp/search?q=History+of+Quipper+youtube&oq=History+of+Quipper+youtube
#railsdm Quipper の開発現場 (ケータリングスポンサーPR)Quipper の開発現場
#railsdm Quipper の開発現場 (ケータリングスポンサーPR)Quipper の開発現場== 分断されたモノリス
#railsdm Quipper の開発現場 (ケータリングスポンサーPR)https://speakerdeck.com/qsona/think-about-divided-monolith?slide=9
#railsdm Quipper の開発現場 (ケータリングスポンサーPR)複数の Rails アプリケーション
#railsdm Quipper の開発現場 (ケータリングスポンサーPR)共有されたモデル、DB
#railsdm Quipper の開発現場 (ケータリングスポンサーPR)先生が XX を入力して生徒に表示されるようにしたい
#railsdm Quipper の開発現場 (ケータリングスポンサーPR)1. Schema にカラム追加
#railsdm Quipper の開発現場 (ケータリングスポンサーPR)2. 先生アプリの Schema を更新
#railsdm Quipper の開発現場 (ケータリングスポンサーPR)3. 先生アプリの API を実装
#railsdm Quipper の開発現場 (ケータリングスポンサーPR)4. 先生アプリのフロントを実装
#railsdm Quipper の開発現場 (ケータリングスポンサーPR)5. 生徒アプリの Schema を更新
#railsdm Quipper の開発現場 (ケータリングスポンサーPR)6. 生徒アプリの API を実装
#railsdm Quipper の開発現場 (ケータリングスポンサーPR)7. 生徒アプリのフロントを実装
#railsdm Quipper の開発現場 (ケータリングスポンサーPR)という作業をいろんなチームがいろんな思惑で行う
#railsdm Quipper の開発現場 (ケータリングスポンサーPR)共通処理だと思ったから Schema に置いたけれどやっぱり生徒アプリ固有感があるから生徒アプリに置こう
#railsdm Quipper の開発現場 (ケータリングスポンサーPR)1. Schema から削除2. API の Schema を更新3. API に追加
#railsdm Quipper の開発現場 (ケータリングスポンサーPR)チーム A1. Schema から削除2. API の Schema を更新3. API に追加チームB1. カラムを追加2. API の Schema を更新3. API の実装1 23
#railsdm Quipper の開発現場 (ケータリングスポンサーPR)Schema を更新したらAPI のテストが落ちる
#railsdm Quipper の開発現場 (ケータリングスポンサーPR)慎重に非互換を避ければできなくはないが...
#railsdm Quipper の開発現場 (ケータリングスポンサーPR)社内共有ライブラリしかもモデルどこまでが公開API?
#railsdm Quipper の開発現場 (ケータリングスポンサーPR)モノリスが "分断"されている
#railsdm Quipper の開発現場 (ケータリングスポンサーPR)モノリスはモノリスとしてテストしたい
#railsdm Quipper の開発現場 (ケータリングスポンサーPR)Monorepo
#railsdm Quipper の開発現場 (ケータリングスポンサーPR)非互換な変更にPR で気づける
#railsdm Quipper の開発現場 (ケータリングスポンサーPR)あちこちに関連 PR いっぱい出さなくて済む
#railsdm Quipper の開発現場 (ケータリングスポンサーPR)共有部分を減らせばマイクロサービスへの移行も可能
#railsdm Quipper の開発現場 (ケータリングスポンサーPR)1リポジトリにすることでシステム全体を示すリビジョンが得られる
#railsdm Quipper の開発現場 (ケータリングスポンサーPR)モノリスでもマイクロサービスでもシステム全体の自動テストが容易になる
#railsdm Quipper の開発現場 (ケータリングスポンサーPR)課題
#railsdm Quipper の開発現場 (ケータリングスポンサーPR)https://speakerdeck.com/yuyatakeyama/how-quipper-works-with-circleci?slide=14
#railsdm Quipper の開発現場 (ケータリングスポンサーPR)ツール、サービスが1リポジトリ1アプリ前提なことが多い
#railsdm Quipper の開発現場 (ケータリングスポンサーPR)まとめ
#railsdm Quipper の開発現場 (ケータリングスポンサーPR)Quipper の開発現場== 昨日より早く、より楽しく開発ができるように改善し続けられる現場
#railsdm Quipper の開発現場 (ケータリングスポンサーPR)分断されたモノリスを選んだことで成長速度を支えた側面は間違いなくある
#railsdm Quipper の開発現場 (ケータリングスポンサーPR)- 開発者数の増加- 機能の複雑化- 顧客数の増加- 方針の変更
#railsdm Quipper の開発現場 (ケータリングスポンサーPR)システムを取り巻く状況は変わり続ける
#railsdm Quipper の開発現場 (ケータリングスポンサーPR)Monorepo がうまくいくかはまだわからない
#railsdm Quipper の開発現場 (ケータリングスポンサーPR)“問題は変化ではない。変化はいずれにしても起きるものだ。問題はむしろ、我々が変化に対応できないことにある。”エクストリームプログラミング 2nd Edition p.9 より