Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Quipper の開発現場 / Quipper devs embrace change
Search
Fumiaki MATSUSHIMA
December 08, 2018
Programming
0
450
Quipper の開発現場 / Quipper devs embrace change
Rails Developers Meetup 2018 Day 4 Nouvelle Vague
ケータリングスポンサーPR
https://techplay.jp/event/702297
Fumiaki MATSUSHIMA
December 08, 2018
Tweet
Share
More Decks by Fumiaki MATSUSHIMA
See All by Fumiaki MATSUSHIMA
Learning from performance improvements on GraphQL Ruby
mtsmfm
1
1.2k
Ruby で作る Ruby (物理)
mtsmfm
1
230
GraphQL Ruby benchmark
mtsmfm
1
850
タイムアウトにご用心 / Timeout might break application state
mtsmfm
6
2.6k
Build REST API with GraphQL Ruby
mtsmfm
0
350
GraphQL Ruby をちょっとだけ速くした / Make graphql-ruby faster a bit
mtsmfm
1
750
Gaming PC on GCP
mtsmfm
0
750
How to introduce GraphQL to an existing React-Redux application
mtsmfm
1
270
Canary release in StudySapuri
mtsmfm
0
3.1k
Other Decks in Programming
See All in Programming
モビリティSaaSにおけるデータ利活用の発展
nealle
0
500
全員アーキテクトで挑む、 巨大で高密度なドメインの紐解き方 / Unraveling Massive and Dense Domains: The 'Everyone is an Architect' Approach
agatan
0
320
CloudflareのSandbox SDKを試してみた
syumai
0
160
『実践MLOps』から学ぶ DevOps for ML
nsakki55
2
430
Flutterチームから作る組織の越境文化
findy_eventslides
0
340
CloudNative Days Winter 2025: 一週間で作る低レイヤコンテナランタイム
ternbusty
7
1.5k
DartASTとその活用
sotaatos
2
130
ゼロダウンタイムでミドルウェアの バージョンアップを実現した手法と課題
wind111
0
200
What's New in Web AI?
christianliebel
PRO
0
130
Stay Hacker 〜九州で生まれ、Perlに出会い、コミュニティで育つ〜
pyama86
2
1.7k
早すぎ?超先読み Go 1.26 Draft - Preview the contents of the Go 1.26 Draft Release Notes
tomtwinkle
0
300
乱雑なコードの整理から学ぶ設計の初歩
masuda220
PRO
32
13k
Featured
See All Featured
Done Done
chrislema
186
16k
Stop Working from a Prison Cell
hatefulcrawdad
272
21k
Thoughts on Productivity
jonyablonski
73
4.9k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
A better future with KSS
kneath
239
18k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
How STYLIGHT went responsive
nonsquared
100
5.9k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
How to train your dragon (web standard)
notwaldorf
97
6.4k
Visualization
eitanlees
150
16k
Become a Pro
speakerdeck
PRO
29
5.6k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
2.9k
Transcript
#railsdm Quipper の開発現場 (ケータリングスポンサー PR) Quipper の開発現場 (ケータリングスポンサーPR) @mtsmfm Fumiaki
Matsushima Rails Developers Meetup 2018 Day 4 Nouvelle Vague #railsdm
#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)
#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) チーム A 1. Schema から削除
2. API の Schema を更新 3. API に追加 チームB 1. カラムを追加 2. API の Schema を更新 3. API の実装 1 2 3
#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)
#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) Quipper の開発現場 == 昨日より早く、より楽しく開発が できるように
改善し続けられる現場
#railsdm Quipper の開発現場 (ケータリングスポンサー PR) 分断されたモノリスを 選んだことで 成長速度を支えた側面は 間違いなくある
#railsdm Quipper の開発現場 (ケータリングスポンサー PR) - 開発者数の増加 - 機能の複雑化 -
顧客数の増加 - 方針の変更
#railsdm Quipper の開発現場 (ケータリングスポンサー PR) システムを取り巻く 状況は変わり続ける
#railsdm Quipper の開発現場 (ケータリングスポンサー PR) Monorepo が うまくいくかは まだわからない
#railsdm Quipper の開発現場 (ケータリングスポンサー PR) “問題は変化ではない。 変化はいずれにしても起きる ものだ。問題はむしろ、我々 が変化に対応できないことに ある。”
エクストリームプログラミング 2nd Edition p.9 より
#railsdm Quipper の開発現場 (ケータリングスポンサー PR)