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
400
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.1k
Ruby で作る Ruby (物理)
mtsmfm
1
200
GraphQL Ruby benchmark
mtsmfm
1
770
タイムアウトにご用心 / Timeout might break application state
mtsmfm
6
2.5k
Build REST API with GraphQL Ruby
mtsmfm
0
300
GraphQL Ruby をちょっとだけ速くした / Make graphql-ruby faster a bit
mtsmfm
1
700
Gaming PC on GCP
mtsmfm
0
710
How to introduce GraphQL to an existing React-Redux application
mtsmfm
1
230
Canary release in StudySapuri
mtsmfm
0
3k
Other Decks in Programming
See All in Programming
Djangoにおける複数ユーザー種別認証の設計アプローチ@DjangoCongress JP 2025
delhi09
PRO
4
510
⚪⚪の⚪⚪をSwiftUIで再現す る
u503
0
130
Django NinjaによるAPI開発の効率化とリプレースの実践
kashewnuts
1
300
Rails 1.0 のコードで学ぶ find_by* と method_missing の仕組み / Learn how find_by_* and method_missing work in Rails 1.0 code
maimux2x
1
270
変化の激しい時代における、こだわりのないエンジニアの強さ
satoshi256kbyte
1
430
.NET Frameworkでも汎用ホストが使いたい!
tomokusaba
0
210
CIBMTR振り返り+敗北から学ぶコンペの取り組み方反省
takanao
1
170
Webフレームワークとともに利用するWeb components / JSConf.jp おかわり
spring_raining
1
140
React 19アップデートのために必要なこと
uhyo
8
1.6k
クックパッド検索システム統合/Cookpad Search System Consolidation
giga811
0
180
バッチを作らなきゃとなったときに考えること
irof
2
560
Visual StudioのGitHub Copilotでいろいろやってみる
tomokusaba
1
230
Featured
See All Featured
Six Lessons from altMBA
skipperchong
27
3.6k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Into the Great Unknown - MozCon
thekraken
35
1.7k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
12k
Side Projects
sachag
452
42k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1.1k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
Producing Creativity
orderedlist
PRO
344
40k
Fireside Chat
paigeccino
35
3.2k
It's Worth the Effort
3n
184
28k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
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)