Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
レビューをもらいやすい細かい プルリクの切り分け方 at PHPerKaigi 2018
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Kazuki Higashiguchi
March 10, 2018
Technology
12k
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
レビューをもらいやすい細かい プルリクの切り分け方 at PHPerKaigi 2018
PHPerKaigi 2018での発表資料です。
http://khigashigashi.hatenablog.com/entry/2018/03/09/020359
Kazuki Higashiguchi
March 10, 2018
More Decks by Kazuki Higashiguchi
See All by Kazuki Higashiguchi
Practical Monitoring for Knative Serving / KubeCon + CloudNativeCon Japan 2025
hgsgtk
0
170
Cell-Based Architecture Design in AWS
hgsgtk
1
280
インフラコストとセキュリティ課題解決のためのリアーキテクチャリング / srekaigi2025
hgsgtk
3
8.9k
Design of a Stateful system for Robust Deployment and Observability
hgsgtk
0
1.6k
A guide to joining operational work in your new DevOps team
hgsgtk
1
1.7k
HTTP Tunneling in Go
hgsgtk
0
1.7k
ブラウザ自動操作技術の深層へ、直接触れて学ぶ WebDriver と Chrome DevTools Protocol
hgsgtk
3
7.1k
HTTP Server on random available port in Go
hgsgtk
0
1.2k
Agile Testingを夢見たテスト自動化 〜ATDDへの挑戦から始まる 1年間の試行錯誤〜 / dreaming agile testing at basebank
hgsgtk
13
8.6k
Other Decks in Technology
See All in Technology
正解のない研修に放り出されて / Being thrown into a training program with no right answers
ohnoeight
1
170
国際カードブランドルール変更に伴うクレジットカード決済取引仕様変更について
k1style
0
270
GitHub、使う?使わない?
happysamurai294
0
120
"AWSはちょっと苦手"でも大丈夫。AWS Blocks で手軽に作る Flutter のバックエンド #FlutterKaigi
tacck
PRO
0
110
バイブコーディングの特徴と「コケて直す」ループ
happysamurai294
0
130
AI時代のエンジニアの情報発信〜個人の発信を組織の力に変える〜
ryo_kawamata
0
3k
契約で守るコンパウンドプロダクトのデザインシステム
yug1224
1
1.6k
Vue.jsのGitHubから学ぶ意思決定
yut0naga1_fa
1
340
クラウドエージェントの先駆け Devin。今も最先端を走る、他との違い
kinopeee
1
520
Lint の層を組み直した話
bengo4com
2
240
AI時代の開発はウォーターフォールに回帰する? / development-with-ai-back-to-wf
okamototakuyasr2
0
160
(swiftc) NonCopyableとライフタイム修飾子
teamhimeh
0
160
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
41
2.8k
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1.2k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
340
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
410
Typedesign – Prime Four
hannesfritz
42
3.2k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
900
Navigating Weather and Climate Data
rabernat
0
570
GitHub's CSS Performance
jonrohan
1033
470k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
720
Amusing Abliteration
ianozsvald
1
370
Joys of Absence: A Defence of Solitary Play
codingconduct
1
560
Transcript
1)1FS,BJHJ #"4&גࣜձࣾ ౦ޱᏻʢ!,IJHBTIJHVDIJʣ ϨϏϡʔΛΒ͍͍͢ࡉ͔͍ ϓϧϦΫͷΓ͚ํ
ࣗݾհ !,IJHBTIJHVDIJ౦ޱᏻ w ॴଐɿ#"4&גࣜձࣾ #"4&1SPEVDU%JWJTJPO αʔόαΠυΤϯδχΞ 1)1FSઈࢍେืूதͰ͢ʂʂʂ ڵຯͷ͋Δํ࠙ձʹͯ w ࣄɿ
w ܾࡁ։ൃ w 1)1ɾ$BLF1)1ͷόʔδϣϯΞοϓ
ίʔυϨϏϡʔͰɺ ͜Μͳ͜ͱݴ͏ݴΘΕͨ ͜ͱ͋Γ·ͤΜ͔ʁ
ϓϧϦΫͰ͔͗͢Δ"
͜ͷ࣌ɺ ʮͱʹ͔͘খ͍ͯ͘͜͞͠ʯ ͱ͍͏ࢦఠͰऴΘΓ͕ͪ͡Ό ͳ͍Ͱ͔͢ʁ
ͳͷͰΓํΛཧͯ͠Έ ·ͨ͠#
࣍ w େ͖͍ϓϧϦΫͱ w େ͖͍ϓϧϦΫ͕ͳͥѱ͍ͷ͔ w ͳͥେ͖͍ϓϧϦΫ͕ੜ·ΕΔͷ͔ w Ͳ͏ͬͯϓϧϦΫΛখ͍͔ͯ͘͘͞͠ w
খ͖͘͞͠Εͳ͍ϓϧϦΫΛͲ͏͢Ε͍͍͔
େ͖͍ϓϧϦΫͬͯͲΜͳ ͷʁ
ྫ͑ 'JMFT$IBOHFE %J⒎ ɾྫʢʣ !ϨϏϡʔ͔͔࣌ؒΔɾɾɾ
ྫ͑ ɾྫʢʣ 'JMFT$IBOHFE %J⒎ !ਓྨʹϨϏϡʔͰ͖ͳ͍"
Ͳ͏͍͏ಛ͕͋Δͷ͔
େ͖͍ϓϧϦΫΛղͯ͠ΈΔ !ྫʢ1ʣΛ͚۠ͯ͠ΈΔͱ
େ͖͍ϓϧϦΫΛղͯ͠ΈΔ !͍Ζ͍Ζͳཁૉ͕ҰͭͷϓϧϦΫʹؚ·Ε͍ͯΔ ɾ৽ػೳ ɾόάमਖ਼ ɾϦϑΝΫλϦϯά …etc
ʮେ͖͍ʯϓϧϦΫͷͭͷ ಛ
ʮେ͖͍ʯϓϧϦΫͷͭͷಛ ෳػೳؚ͕·Ε͍ͯΔ ͍ͭͰͷ࣮͕ࠞͬͯ͟Δ Ұػೳͷ࣮ίʔυ͕େ
ಛ̍ɿෳػೳؚ͕·Ε͍ͯΔ ୯ಠͰϦϦʔεͰ͖Δػೳ͕ෳؚ·ΕͯΔ ৽ػೳҰؾʹग़͢ҙຯ͋Δʁ
ಛɿ͍ͭͰͷ࣮͕ࠞͬͯ͟Δ ͍ͭͰͷϦϑΝΫλϦϯάɾόάमਖ਼͕ࠞͬͯ͟Δ ͬͯΒ͑Δͷ͋Γ͕ͨ ͍͕ɾɾɾ
ಛɿҰػೳͷ࣮ίʔυ͕େ ҰػೳͰ݁ߏͳߦͷ࣮Λ͍ͯ͠Δ ͋ͷػೳͰ͔͍ͳɾɾɾ %JGG
ͳͥʮେ͖͍ʯϓϧϦΫ ྑ͘ͳ͍ͷ͔
ͳͥʮେ͖͍ʯϓϧϦΫྑ͘ͳ͍ͷ͔ Өڹൣғ͕େ͖͘ͳΔ ͕ൃੜ͢ΔՄೳੑ͕ߴ·Δ ϨϏϡϫʔͷෛ୲͕େ͖͍
ཧ༝̍ɿӨڹൣғ͕େ͖͘ͳΔ No code is the best way to write secure
and reliable applications. IUUQTHJUIVCDPNLFMTFZIJHIUPXFSOPDPEF ίʔυߦ͕ଟ͚Εଟ͍΄Ͳɺ αʔϏεͷӨڹൣғେ͖͘ͳΔ
ཧ༝ɿ͕ൃੜ͢ΔՄೳੑ͕ߴ·Δ Өڹൣғ͕େ͖͚Ε͕ൃੜ͢ΔՄೳੑߴ·Δ
ཧ༝ɿϨϏϡϫʔͷෛ୲͕େ͖͍ w ϨϏϡʔ͢Δྔ͕ଟ͍ͱͦΕ͚͕ͩ࣌ؒऔΒΕΔ w ʮϦϦʔεͯ͠ͳ͍ʯͱஅΛ͢ΔΈͦͷෛՙ Θ͔ΒΜ
ͳͥେ͖͘ͳΔͷ͔
ҰؾʹΖ͏ͱ͢Δ͔Β"
͡Ό͋Ͳ͏͢Ε͍͍ͷ͔
খ͍͞ཁૉʹͬͯࡉ͔ ͘ϦϦʔε͢Δ#
খ͍͞ཁૉʹͬͯࡉ͔͘ϦϦʔε͢Δ #FGPSFશཁૉΛҰؾʹϨϏϡʔɾϦϦʔε "GUFSখ͍͞ཁૉʹͬͯࡉ͔͘ϨϏϡʔɾϦϦʔε
Ͳ͏ͬͯΓ͚͍ͯ͘ ͔⚔
Ͳ͏ͬͯখ͘͞Γ͚͍͔ͯ͘ w 45&1είʔϓΛఆٛ͢Δ w 45&1είʔϓ֎ΛΓग़͢ w 45&1είʔϓΛࡉԽ͢Δ w 45&1είʔϓ͔ΒΓग़͢
45&1είʔϓΛఆٛ͢Δ ʮͲ͜·ͰΛΒͳ͚Ε͍͚ͳ͍ͷ͔ʯ .VTUͳ෦Λఆٛ͢Δ #FGPSF "GUFS
45&1είʔϓ֎Γग़͢ είʔϓ֎ϓϧϦΫ͔ΒΓग़͢ ϦϦʔεՄೳ୯Ґʹͯ͠ࣄલϦϦʔε
45&1είʔϓΛࡉԽ͢Δ ࣄલϦϦʔεͰ͖Δ୯ҐʹࡉԽ͍ͯ͘͠ طଘͷৼΔ͍Λม͑ͳ͍ൣғ
45&1είʔϓΛࡉԽ͢Δ ͦΕͧΕͷػೳ͝ͱʹෳͷΫϥεʹରͯ͠ɺ मਖ਼ΛՃ͍͑ͯΔέʔε͕ଟ͍
45&1είʔϓΛࡉԽ͢Δ طଘͷৼΔ͍ʹӨڹ͕ͳ͍ൣғΛɺ Γग़͠ରͱ͢Δɻ ྫʣ ɾ৽نΫϥε ɾ*/065͕มΘΒͳ͍طଘϝιουͷ मਖ਼ ʜFUD
45&1είʔϓΛࡉԽ͢Δ ྫʣ৽نΫϥεɾطଘϝιουͷमਖ਼ w ৽نΫϥεͷ࡞ طଘͷৼΔ͍ͷӨڹൣғগ ͳ͍ ˠΓ͚ର ɾطଘΫϥεͷमਖ਼ طଘͷৼΔ͍ͷӨڹൣғ͕͋ Γɻ
ϝιουΛमਖ਼͍ͯ͠ΔΑ͏ͳ ߹ɺطʹϝιουΛࢀর͍ͯ͠ ΔՕॴͷಈ࡞อূ͕ඞཁɻ
45&1είʔϓ͔ΒΓग़͢ #FGPSF "GUFS
45&1ऴྃޙ #FGPSF "GUFS
ͱ͍͑
ͦΕͰͰ͔͍ͷͰ͔ ͍
খ͖͘͞͠Εͳ͍ϓϧϦΫ Ͳ͏͢Ε͍͍͔
ࡉ͔͍୯ҐͰͷϨϏϡʔ#
ࡉ͔͍୯ҐͰͷϨϏϡʔ #FGPSF·ͱΊͯ࠷ޙʹϨϏϡʔɾϦϦʔε "GUFS͋Δఔͷ·ͱ·Γ͝ͱʹϨϏϡʔ
͋Δఔͷ·ͱ·Γ͝ͱʹϦϦʔε w Γํ w τϐοΫϒϥϯνʢҊ݅ઐ༻ϒϥϯνʣΛ׆༻͢Δ w ɺੜϒϥϯνΛͬͯ։ൃ͢Δ w خ͍͜͠ͱ w
ϨϏϡʔ୯Ґ͕Θ͔Γ͘͢ͳΔ w ʢHJUIVCʣϨϏϡϫʔͷίϝϯτΛ͍͍͢ w Ͳ͜·ͰϨϏϡʔࡁΈ͔͕Ұྎવ
·ͱΊ w ෳͷཁૉΛҰؾʹΔ͔ΒϓϧϦΫେ͖͘ͳΔ w খͬͯ͘͞ࡉ͔͘ϦϦʔε͍ͯ͘͠ w খ͘͞Γ͚Δʹͭͷ45&1Λ౿Ή w 45&1είʔϓΛఆٛ͢Δ w
45&1είʔϓ֎ΛΓग़͢ w 45&1είʔϓΛࡉԽ͢Δ w 45&1είʔϓ͔ΒΓग़͢ w খ͖͘͞͠Εͳ͍߹͜·ΊͳϨϏϡʔΛ͢Δ
ͦͷଞৄ͘͠ϒϩάʹͯ# ϨϏϡʔΛΒ͍͍͢ࡉ͔͍ϓϧϦΫͷΓ͚ํ
#"4&גࣜձࣾ ౦ޱᏻʢ!,IJHBTIJHVDIJʣ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ