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
0
1.9k
モブプロはいいぞ
Yuichi Sugiyama
PRO
June 26, 2019
Tweet
Share
More Decks by Yuichi Sugiyama
See All by Yuichi Sugiyama
サイボウズ と Garoon と The PHP Foundation と 私 / Cybozu and Garoon and The PHP Foundation and me
oogfranz
PRO
1
510
可能な限り確実にmkdirを成功させるには / Make mkdir
oogfranz
PRO
0
510
サイボウズ #Garoon 開発チームの 「 完成度低いの歓迎LT大会 」 PHPerKaigi出張版 / Low quality LT in PHPerKaigi 2023
oogfranz
PRO
0
540
20年ものの巨大プロダクトをKubernetesに移行している話 後日談/Garoon on Kubernetes after talk
oogfranz
PRO
0
560
20年ものの巨大プロダクトをKubernetesに移行している話/Garoon on Kubernetes
oogfranz
PRO
0
440
PHPアプリケーションだってモニタリングしたい / Monitoring PHP application
oogfranz
PRO
1
610
効果的な静的解析の CI導入パターンを求めて / Great static analysis with CI
oogfranz
PRO
3
3.6k
Dev-meets-Ops
oogfranz
PRO
1
980
GitHub力の低い僕でも、 OSSコントリビュートできたワケ / GitHub Power
oogfranz
PRO
1
580
Other Decks in Technology
See All in Technology
Part1 GitHubってなんだろう?その2
tomokusaba
2
750
Global Azure2025(GitHub Copilot ハンズオン)
tomokusaba
2
760
MCP でモノが動くとおもしろい/It is interesting when things move with MCP
bitkey
2
500
LLM アプリケーションのためのクラウドセキュリティ - CSPM の実装ポイント-
osakatechlab
0
410
Ruby on Rails の楽しみ方
morihirok
1
310
20 Years of Domain-Driven Design: What I’ve Learned About DDD
ewolff
1
350
猫でもわかるS3 Tables【Apache Iceberg編】
kentapapa
2
200
MagicPod MCPサーバー開発の裏側とAIエージェント活用の展望
magicpod
0
150
Как мы автоматизировали интеграционное тестирование с Gonkey и не пожалели. Паша Егорычев, Кирилл Поляков
lamodatech
0
2.1k
クラウドネイティブ環境の脅威モデリング
kyohmizu
2
410
MagicPodが描くAIエージェント戦略とソフトウェアテストの未来
magicpod
0
160
経済メディア編集部の実務に小さく刺さるAI / small-ai-with-editorial
nkzn
2
400
Featured
See All Featured
Adopting Sorbet at Scale
ufuk
76
9.4k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.2k
Building an army of robots
kneath
305
45k
The Cult of Friendly URLs
andyhume
78
6.3k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3k
The Language of Interfaces
destraynor
158
25k
We Have a Design System, Now What?
morganepeng
52
7.6k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Optimising Largest Contentful Paint
csswizardry
37
3.2k
How to Think Like a Performance Engineer
csswizardry
23
1.6k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
34
2.2k
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ϥΠϯϞϒΛ͢Δ • ৬Λਪ͢Δ • ۜͷؙͰͳ͍ͷͰ ༻๏༻ྔΛकͬͯదʹ͍·͠ΐ͏
·ͱΊ • ਓ͕ؒϚϧνλεΫ͕ۤखͳΑ͏ʹɺ νʔϜϚϧνλεΫۤख • ೝࣝͷζϨɾαϯΫίετɾεΠονϯάί ετΛݮΒ͢ͷʹϞϒϓϩཱͭ • ۜͷؙͰͳ͍ͷͰ༻๏༻ྔΛक͍ͬͯ ·͠ΐ͏ʂ