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
モブプロはいいぞ
Search
Yuichi Sugiyama
PRO
June 26, 2019
Technology
2.2k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
モブプロはいいぞ
Yuichi Sugiyama
PRO
June 26, 2019
More Decks by Yuichi Sugiyama
See All by Yuichi Sugiyama
20年以上続く PHP 大規模プロダクトを Kubernetes へ ── クラウド基盤刷新プロジェクトの4年間
oogfranz
PRO
0
450
サイボウズ と Garoon と The PHP Foundation と 私 / Cybozu and Garoon and The PHP Foundation and me
oogfranz
PRO
1
610
可能な限り確実にmkdirを成功させるには / Make mkdir
oogfranz
PRO
0
750
サイボウズ #Garoon 開発チームの 「 完成度低いの歓迎LT大会 」 PHPerKaigi出張版 / Low quality LT in PHPerKaigi 2023
oogfranz
PRO
0
770
20年ものの巨大プロダクトをKubernetesに移行している話 後日談/Garoon on Kubernetes after talk
oogfranz
PRO
0
650
20年ものの巨大プロダクトをKubernetesに移行している話/Garoon on Kubernetes
oogfranz
PRO
0
570
PHPアプリケーションだってモニタリングしたい / Monitoring PHP application
oogfranz
PRO
1
680
効果的な静的解析の CI導入パターンを求めて / Great static analysis with CI
oogfranz
PRO
3
4.1k
Dev-meets-Ops
oogfranz
PRO
1
1.1k
Other Decks in Technology
See All in Technology
Oracle AI Databaseデータベース・サービス: BaseDB/ExaDB-Dの可用性
oracle4engineer
PRO
1
960
AI駆動開発を組織で促すために
lycorptech_jp
PRO
7
8.7k
アクセスキー流出時の対応で再認識した攻撃側と防御側の非対称性について
kazzpapa3
1
440
Introduction to Bill One Development Engineer
sansan33
PRO
0
480
AI時代の「OAuth認証」にどう物申すか?(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
340
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
20k
ブラウザで変わるID連携(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
350
Windows の互換機能 - 古いプログラムはなぜ動作できるのか
murachiakira
PRO
0
130
AI時代のデータ基盤を考える問い
pacocat
0
740
本番に近いテストをもっと手軽に - Postmanで広がるAPIテストの世界 / Expanding the World of API Testing with Postman
yokawasa
1
130
AIレビュー時代に必要なのは、SLOで引く撤退ライン
nobuoooo
0
150
RapidCopy2 Matrix I/Oエンジンによるファイルコピーソフトウェアの設計と実装
kengosawa2
1
480
Featured
See All Featured
Fireside Chat
paigeccino
42
4k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
670
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
240
Un-Boring Meetings
codingconduct
0
400
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
65
57k
Making Projects Easy
brettharned
120
6.7k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.5k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
4
500
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
970
Transcript
Ϟϒϓϩ͍͍ͧ Cybozu ਿࢁ ༞Ұ @oogFranz
Who am I • ਿࢁ ༞Ұ @oogFranz • αΠϘζ5ΤϯδχΞ •
େاۀ͚άϧʔϓΣΞGaroonΛ࡞ͬͯΔʢPHP 7.2) • ෳۀδϟζϛϡʔδγϟϯ@MASHݭָஂ
• PG/QAࠞ߹εΫϥϜ։ൃνʔϜ • ϓϩάϥϛϯάಘҙͳਓ • ςετઃܭ͕ಘҙͳਓ νʔϜฤ 1( 1( 1(
2" 2"
ҎલͷλεΫͷਐΊํ(ྫ) λεΫ" ࣮ λεΫA λεΫB λεΫC λεΫ" ࣮ λεΫ# ࣮
λεΫ" ςετ λεΫ# ςετ λεΫ$ ࣮ λεΫ$ ςετ 1( 1( 1( 2" 2"
ҎલͷλεΫͷਐΊํ(ྫ) λεΫ" ࣮ λεΫA λεΫB λεΫC λεΫ" ࣮ λεΫ# ࣮
λεΫ" ςετ λεΫ# ςετ λεΫ$ ࣮ λεΫ$ ςετ 1( 1( 1( 2" 2"
ҎલͷλεΫͷਐΊํ(ྫ) λεΫ" ࣮ λεΫA λεΫB λεΫC λεΫ" ࣮ λεΫ# ࣮
λεΫ" ςετ λεΫ# ςετ λεΫ$ ࣮ λεΫ$ ςετ 1( 1( 1( 2" 2" ࠷ߴͷฒྻͩʂ
ͲΜͳ෩ʹਐΉͷ͔ λεΫ" ࣮ λεΫ" ࣮ ΅͘ 1( λεΫ# ࣮ 1(
ϨϏϡʔ͓ئ͍͠·͢ʂ
λεΫ" ࣮ λεΫ" ࣮ ΅͘ 1( λεΫ# ࣮ 1( ϨϏϡʔ͓ئ͍͠·͢ʂ
ࠓͬͯΔ࣮ऴΘͬͨΒ ϨϏϡʔ͠·͢Ͷʂ ͲΜͳ෩ʹਐΉͷ͔
λεΫ$ ࣮ λεΫ" ࣮ ΅͘ 1( λεΫ# ࣮ 1( ͦΕ·ͰλεΫCΖʂ
ࠓͬͯΔ࣮ऴΘͬͨΒ ϨϏϡʔ͠·͢Ͷʂ λεΫ" ϨϏϡʔ ͲΜͳ෩ʹਐΉͷ͔
λεΫ$ ࣮ ΅͘ 1( λεΫ# ࣮ 1( ࣮2ऴΘ͔ͬͨΒ ϨϏϡʔΑΖ͘͠ʂ λεΫ"
ϨϏϡʔ λεΫ" ϨϏϡʔ ࣮1ϨϏϡʔ͠·͢Ͷʂ ͲΜͳ෩ʹਐΉͷ͔
࢝·ΔϨϏϡʔ߹ઓ λεΫ$ ࣮ ΅͘ 1( λεΫ# ࣮ 1( λεΫ" ϨϏϡʔ
λεΫ" ϨϏϡʔ ࣮1Ͱɺ˓˓ͱ××͍ͯͩ͘͠͞ ࣮1ͱ࣮2Ͱ ༳Ε͕͋ΔΜͰ͚͢Ͳɺ Ͳ͏͠·͠ΐ͏ɻɻɻʁ ࠓճ͏ॻ͍ͯ͠·ͬͨͷͰ ͠ΐ͏͕ͳ͍Ͱ͕͢ɺ ࣮1ผͷઃܭͷํ͕ ྑ͔ͬͨͰ͢Ͷ
࢝·ΔϨϏϡʔ߹ઓ λεΫ$ ࣮ ΅͘ 1( λεΫ# ࣮ 1( λεΫ" ϨϏϡʔ
λεΫ" ϨϏϡʔ ࣮1Ͱɺ˓˓ͱ××͍ͯͩ͘͠͞ ࠓճ͏ॻ͍ͯ͠·ͬͨͷͰ ͠ΐ͏͕ͳ͍Ͱ͕͢ɺ ࣮1ผͷઃܭͷํ͕ ྑ͔ͬͨͰ͢Ͷ ޙ͔ΒΘ͔ΔೝࣝͷζϨ ࣮1ͱ࣮2Ͱ ༳Ε͕͋ΔΜͰ͚͢Ͳɺ Ͳ͏͠·͠ΐ͏ɻɻɻʁ
࢝·ΔϨϏϡʔ߹ઓ λεΫ$ ࣮ ΅͘ 1( λεΫ# ࣮ 1( λεΫ" ϨϏϡʔ
λεΫ" ϨϏϡʔ ࣮1Ͱɺ˓˓ͱ××͍ͯͩ͘͠͞ খ͘͞ͳ͍αϯΫίετ ࠓճ͏ॻ͍ͯ͠·ͬͨͷͰ ͠ΐ͏͕ͳ͍Ͱ͕͢ɺ ࣮1ผͷઃܭͷํ͕ ྑ͔ͬͨͰ͢Ͷ ࣮1ͱ࣮2Ͱ ༳Ε͕͋ΔΜͰ͚͢Ͳɺ Ͳ͏͠·͠ΐ͏ɻɻɻʁ
࢝·ΔϨϏϡʔ߹ઓ λεΫ$ ࣮ ΅͘ 1( λεΫ# ࣮ 1( λεΫ" ϨϏϡʔ
λεΫ" ϨϏϡʔ ࣮1Ͱɺ˓˓ͱ××͍ͯͩ͘͠͞ ࠓճ͏ॻ͍ͯ͠·ͬͨͷͰ ͠ΐ͏͕ͳ͍Ͱ͕͢ɺ ࣮1ผͷઃܭͷํ͕ ྑ͔ͬͨͰ͢Ͷ େ͖͍εΠονϯάίετ λεΫC్த·ͰਐΜͰ͚ͨͲɺ Ͳ͜·Ͱ͔ͬͨΕͨɻɻɻ ࣮1ͱ࣮2Ͱ ༳Ε͕͋ΔΜͰ͚͢Ͳɺ Ͳ͏͠·͠ΐ͏ɻɻɻʁ
࢝·ΔϨϏϡʔ߹ઓ λεΫ$ ࣮ ΅͘ 1( λεΫ# ࣮ 1( λεΫ" ϨϏϡʔ
λεΫ" ϨϏϡʔ ࣮1Ͱɺ˓˓ͱ××͍ͯͩ͘͠͞ ࠓճ͏ॻ͍ͯ͠·ͬͨͷͰ ͠ΐ͏͕ͳ͍Ͱ͕͢ɺ ࣮1ผͷઃܭͷํ͕ ྑ͔ͬͨͰ͢Ͷ λεΫਐΉɺ͞ΕͲऴΘΒͣ ࣮1ͱ࣮2Ͱ ༳Ε͕͋ΔΜͰ͚͢Ͳɺ Ͳ͏͠·͠ΐ͏ɻɻɻʁ
͜͜Ͱ͏ҰਓͷPG ͕ݴ͍·ͨ͠ λεΫ$ ࣮ ΅͘ 1( λεΫ# ࣮ 1( λεΫ"
ϨϏϡʔ λεΫ" ϨϏϡʔ
͜͜Ͱ͏ҰਓͷPG ͕ݴ͍·ͨ͠ λεΫ$ ࣮ ΅͘ 1( λεΫ# ࣮ 1( λεΫ"
ϨϏϡʔ λεΫ" ϨϏϡʔ λεΫ#ͣͬͱҰਓͰ ͚ͬͯͨͲɺͲϋϚΓͯ͠Δ ॿ͚ͯ
͜͜Ͱ͏ҰਓͷPG ͕ݴ͍·ͨ͠ λεΫ$ ࣮ ΅͘ 1( λεΫ# ࣮ 1( λεΫ"
ϨϏϡʔ λεΫ" ϨϏϡʔ λεΫ#ͣͬͱҰਓͰ ͚ͬͯͨͲɺͲϋϚΓͯ͠Δ ॿ͚ͯ ڞ༗͞Εͳ͍ϐϯν
ਓ͕ؒϚϧνλεΫ͕ۤखͳΑ͏ʹɺ νʔϜϚϧνλεΫۤख
ϞϒΛͨ͠ λεΫ" ࣮ λεΫA λεΫB λεΫC λεΫ" ࣮ λεΫ# ࣮
λεΫ" ςετ λεΫ# ςετ λεΫ$ ࣮ λεΫ$ ςετ 1( 1( 1( 2" 2"
ϞϒͰྑ͔ͬͨ͜ͱ • ΈΜͳͰҙࢥܾఆ͢ΔͷͰɺೝࣝͷζϨ͕΄΅0ʹ • ʮࠓճॻ͍ͪΌͬͨͷͰ͠ΐ͏͕ͳ͍Ͱ͕͢~ʯ ͱ͍͏ϨϏϡʔ͕ͳ͘ͳͬͨ • λεΫ͕Ұͭͣͭண࣮ʹऴΘΔΑ͏ʹͳΓɺ εΠονϯάίετগͳ͘ͳͬͨ •
ҰਓͰղܾࡦΛ͍ͬͯΕ͍͍ͷͰɺ ϋϚΔ͕࣌ؒݮͬͨ
QAϝϯόʔͱϞϒ • ςετઃܭ࣌Ͱͳ͘ɺ ࣮࣌ʹ༷ͷೝࣝ߹Θ͕ͤͰ͖Δ • ༷ͷ͕࣮݀࣌ʹΘ͔Δ • ςετઃܭʹඞཁͳใڞ༗͕ઌʹͰ͖Δ • ςετϞϒͰ͢Δͱɺෆ۩߹ൃݟ͔Β
վम·Ͱ͕ര
ϞϒͰٯʹਏ͍͜ͱ • ΊͪΌͪ͘ΌർΕΔ • ϞϒதΞυϨφϦϯ͕ग़ͯΔ • ʮ͋ΕɺɺɺʁࠓԶԿͯ͠ͳ͘ͳ͍ʁʯ Έ͍ͨͳλΠϛϯά͕Ͱ͖Δ • ָ͍͠λεΫϞϒͰָ͠͞ഒ͕ͩɺ
ਏ͍λεΫϞϒͰਏ͕͞ഒʹͳΔ
ϞϒͰਐΊ͍ͯ͘ʹ • ٳܜΛ͔ͬ͠ΓͱΔʢ1࣌ؒʹ10͘Β͍ʣ • ߹ʹΑͬͯ2ϥΠϯϞϒΛ͢Δ • ৬Λਪ͢Δ • ۜͷؙͰͳ͍ͷͰ ༻๏༻ྔΛकͬͯదʹ͍·͠ΐ͏
·ͱΊ • ਓ͕ؒϚϧνλεΫ͕ۤखͳΑ͏ʹɺ νʔϜϚϧνλεΫۤख • ೝࣝͷζϨɾαϯΫίετɾεΠονϯάί ετΛݮΒ͢ͷʹϞϒϓϩཱͭ • ۜͷؙͰͳ͍ͷͰ༻๏༻ྔΛक͍ͬͯ ·͠ΐ͏ʂ