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
2k
モブプロはいいぞ
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
530
可能な限り確実にmkdirを成功させるには / Make mkdir
oogfranz
PRO
0
580
サイボウズ #Garoon 開発チームの 「 完成度低いの歓迎LT大会 」 PHPerKaigi出張版 / Low quality LT in PHPerKaigi 2023
oogfranz
PRO
0
570
20年ものの巨大プロダクトをKubernetesに移行している話 後日談/Garoon on Kubernetes after talk
oogfranz
PRO
0
580
20年ものの巨大プロダクトをKubernetesに移行している話/Garoon on Kubernetes
oogfranz
PRO
0
460
PHPアプリケーションだってモニタリングしたい / Monitoring PHP application
oogfranz
PRO
1
630
効果的な静的解析の CI導入パターンを求めて / Great static analysis with CI
oogfranz
PRO
3
3.7k
Dev-meets-Ops
oogfranz
PRO
1
1k
GitHub力の低い僕でも、 OSSコントリビュートできたワケ / GitHub Power
oogfranz
PRO
1
610
Other Decks in Technology
See All in Technology
初めてAWSを使うときのセキュリティ覚書〜初心者支部編〜
cmusudakeisuke
1
240
研究開発と製品開発、両利きのロボティクス
youtalk
1
520
20250913_JAWS_sysad_kobe
takuyay0ne
2
180
Webブラウザ向け動画配信プレイヤーの 大規模リプレイスから得た知見と学び
yud0uhu
0
230
Codeful Serverless / 一人運用でもやり抜く力
_kensh
7
400
ハードウェアとソフトウェアをつなぐ全てを内製している企業の E2E テストの作り方 / How to create E2E tests for a company that builds everything connecting hardware and software in-house
bitkey
PRO
1
130
JTCにおける内製×スクラム開発への挑戦〜内製化率95%達成の舞台裏/JTC's challenge of in-house development with Scrum
aeonpeople
0
220
エラーとアクセシビリティ
schktjm
1
1.2k
複数サービスを支えるマルチテナント型Batch MLプラットフォーム
lycorptech_jp
PRO
0
330
DevIO2025_継続的なサービス開発のための技術的意思決定のポイント / how-to-tech-decision-makaing-devio2025
nologyance
1
390
Practical Agentic AI in Software Engineering
uzyn
0
110
なぜSaaSがMCPサーバーをサービス提供するのか?
sansantech
PRO
8
2.8k
Featured
See All Featured
Writing Fast Ruby
sferik
628
62k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
The Pragmatic Product Professional
lauravandoore
36
6.9k
GitHub's CSS Performance
jonrohan
1032
460k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
Mobile First: as difficult as doing things right
swwweet
224
9.9k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Documentation Writing (for coders)
carmenintech
74
5k
Making Projects Easy
brettharned
117
6.4k
Navigating Team Friction
lara
189
15k
Faster Mobile Websites
deanohume
309
31k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
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ϥΠϯϞϒΛ͢Δ • ৬Λਪ͢Δ • ۜͷؙͰͳ͍ͷͰ ༻๏༻ྔΛकͬͯదʹ͍·͠ΐ͏
·ͱΊ • ਓ͕ؒϚϧνλεΫ͕ۤखͳΑ͏ʹɺ νʔϜϚϧνλεΫۤख • ೝࣝͷζϨɾαϯΫίετɾεΠονϯάί ετΛݮΒ͢ͷʹϞϒϓϩཱͭ • ۜͷؙͰͳ͍ͷͰ༻๏༻ྔΛक͍ͬͯ ·͠ΐ͏ʂ