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
340
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
890
Ruby で作る Ruby (物理)
mtsmfm
0
160
GraphQL Ruby benchmark
mtsmfm
1
660
タイムアウトにご用心 / Timeout might break application state
mtsmfm
6
2.3k
Build REST API with GraphQL Ruby
mtsmfm
0
250
GraphQL Ruby をちょっとだけ速くした / Make graphql-ruby faster a bit
mtsmfm
1
630
Gaming PC on GCP
mtsmfm
0
620
How to introduce GraphQL to an existing React-Redux application
mtsmfm
1
190
Canary release in StudySapuri
mtsmfm
0
2.8k
Other Decks in Programming
See All in Programming
Javaの現状2024夏 / Java current status 2024 summer
kishida
4
1.4k
AWS初心者ってどうやってAWSを学ぶ?〜アプリエンジニアがやってよかったアーキテクチャ学習方法〜
yamanashi_ren01
0
190
OpenAI/Gemini APIを使って EPUBを翻訳するCLIツールをつくってみた
tomiyan
0
790
feature環境をGitHub ActionsとCloudFormationでいい感じに管理する
nealle
2
310
みんなのオブザーバビリティプラットフォームを作ってるんだがパフォーマンスがやばい #mackerelio #srenext
ne_sachirou
0
370
DynamoDB コスト最適化っぽいことの基本 with Terraform
kuro_kurorrr
2
250
Folding Cheat Sheet #7
philipschwarz
PRO
0
150
20240706_CDKConf
takuyay0ne
0
1.2k
Google's Recipe for Scaling (Web) Security – LocoMocoSec 2024
lweichselbaum
0
170
CSC307 Lecture 05
javiergs
PRO
0
210
Namespace on read
tagomoris
2
370
Webエディタライブラリ 「CodeMirror」から学ぶ Webアプリ開発のテクニック
ryosukeigarashi
0
250
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
17
8.7k
Facilitating Awesome Meetings
lara
46
5.8k
Navigating Team Friction
lara
181
13k
Code Review Best Practice
trishagee
58
16k
Done Done
chrislema
179
15k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
129
32k
Building a Modern Day E-commerce SEO Strategy
aleyda
25
6.7k
Docker and Python
trallard
37
2.9k
Code Reviewing Like a Champion
maltzj
517
39k
The Brand Is Dead. Long Live the Brand.
mthomps
52
36k
A better future with KSS
kneath
231
17k
Rails Girls Zürich Keynote
gr2m
93
13k
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)