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
440
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
220
GraphQL Ruby benchmark
mtsmfm
1
830
タイムアウトにご用心 / Timeout might break application state
mtsmfm
6
2.6k
Build REST API with GraphQL Ruby
mtsmfm
0
330
GraphQL Ruby をちょっとだけ速くした / Make graphql-ruby faster a bit
mtsmfm
1
740
Gaming PC on GCP
mtsmfm
0
740
How to introduce GraphQL to an existing React-Redux application
mtsmfm
1
260
Canary release in StudySapuri
mtsmfm
0
3.1k
Other Decks in Programming
See All in Programming
LLMは麻雀を知らなすぎるから俺が教育してやる
po3rin
3
2.1k
UbieのAIパートナーを支えるコンテキストエンジニアリング実践
syucream
2
280
#QiitaBash TDDで(自分の)開発がどう変わったか
ryosukedtomita
1
370
あなたとJIT, 今すぐアセンブ ル
sisshiki1969
1
670
Go製CLIツールをnpmで配布するには
syumai
2
1.2k
新世界の理解
koriym
0
140
「リーダーは意思決定する人」って本当?~ 学びを現場で活かす、リーダー4ヶ月目の試行錯誤 ~
marina1017
0
220
バイブコーディング × 設計思考
nogu66
0
120
Comparing decimals in Swift Testing
417_72ki
0
170
大規模FlutterプロジェクトのCI実行時間を約8割削減した話
teamlab
PRO
0
480
Bedrock AgentCore ObservabilityによるAIエージェントの運用
licux
9
680
Introduction to Git & GitHub
latte72
0
110
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
810
Why Our Code Smells
bkeepers
PRO
338
57k
Measuring & Analyzing Core Web Vitals
bluesmoon
8
560
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Gamification - CAS2011
davidbonilla
81
5.4k
Rails Girls Zürich Keynote
gr2m
95
14k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.4k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Agile that works and the tools we love
rasmusluckow
329
21k
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)