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
430
サイボウズ と Garoon と The PHP Foundation と 私 / Cybozu and Garoon and The PHP Foundation and me
oogfranz
PRO
1
610
可能な限り確実にmkdirを成功させるには / Make mkdir
oogfranz
PRO
0
730
サイボウズ #Garoon 開発チームの 「 完成度低いの歓迎LT大会 」 PHPerKaigi出張版 / Low quality LT in PHPerKaigi 2023
oogfranz
PRO
0
760
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
Data Hubグループ 紹介資料
sansan33
PRO
0
3.1k
メルカリのグローバルアプリで挑んだ AlloyDB 運用と課題解決の実践記
hatappi
0
240
JavaScript 研修 (2026)
recruitengineers
PRO
1
450
AI駆動開発は個人技からチーム戦へ:組織でAIを使いこなすための実践設計
moongift
PRO
0
480
変化の早いClaude Codeを 書籍に落とし込む
oikon48
7
1.3k
今こそ聞きたいソフトウェア設計 ドメイン駆動設計再入門
masuda220
PRO
17
6.7k
AIエージェントを前提としたプラットフォーム エンジニアリング:GKEで作るAgent-Ready Golden Path
legalontechnologies
PRO
2
210
QAエンジニア起点で進める、SmartHRにおける信頼性向上について
kaomi_wombat
1
120
オートロックマンションなのに、各部屋は施錠なし!? 攻撃者が組織内ネットワークで大暴れする理由 / The Front Door Is Locked, but the Rooms Are Wide Open: Why Attackers Move Freely Inside Enterprise Networks
nttcom
1
1.6k
Digitization部 紹介資料
sansan33
PRO
2
7.7k
20分でわかるセキュアAPI
nwiizo
0
180
組織にどうSREを根付かせるか?〜IVRyの場合〜
abnoumaru
0
330
Featured
See All Featured
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
460
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
580
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
Skip the Path - Find Your Career Trail
mkilby
1
180
Technical Leadership for Architectural Decision Making
baasie
3
470
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
HDC tutorial
michielstock
2
780
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
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ϥΠϯϞϒΛ͢Δ • ৬Λਪ͢Δ • ۜͷؙͰͳ͍ͷͰ ༻๏༻ྔΛकͬͯదʹ͍·͠ΐ͏
·ͱΊ • ਓ͕ؒϚϧνλεΫ͕ۤखͳΑ͏ʹɺ νʔϜϚϧνλεΫۤख • ೝࣝͷζϨɾαϯΫίετɾεΠονϯάί ετΛݮΒ͢ͷʹϞϒϓϩཱͭ • ۜͷؙͰͳ͍ͷͰ༻๏༻ྔΛक͍ͬͯ ·͠ΐ͏ʂ