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
レビューをもらいやすい細かい プルリクの切り分け方 at PHPerKaigi 2018
Search
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
140
Cell-Based Architecture Design in AWS
hgsgtk
1
250
インフラコストとセキュリティ課題解決のためのリアーキテクチャリング / srekaigi2025
hgsgtk
3
8.7k
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.6k
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.5k
Other Decks in Technology
See All in Technology
形式手法特論:Hyperproperty とモデル検査 #kernelvm / Kernel VM Study Tokyo 19th
ytaka23
0
760
AIで変わるエンジニアの働き方(仮)
naoinaoi
0
490
長期運営で肥大化したExcelマスターデータの解消に向けた移行事例
gree_tech
PRO
0
440
Master Dataグループ紹介資料
sansan33
PRO
1
4.8k
MIXIで活躍できるエンジニアを 若手社員目線で考えてみる
mixi_engineers
PRO
0
140
RelayerというPHPのフレームワークを作った
polidog
PRO
0
130
Android skills に学ぶ
kokiko
0
170
安全性・開発速度・ユーザー体験の あいだで考える 事業会社のプロダクトセキュリティ
mixi_engineers
PRO
0
100
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
4
24k
作って理解するCoding Agent 〜フレームワークに頼らないピュア Python での実装〜
takapy
4
1.2k
暗号化?某ファイルストレージはどうなるの!? 3rd Partyとうまく付き合う秘密度ラベル設計
kasada
0
180
20260817_生成AIの動向と中学校・高等学校での活用を考える_v1.00_公開用
doradora09
PRO
0
210
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
174
15k
Side Projects
sachag
455
43k
How to Think Like a Performance Engineer
csswizardry
28
2.7k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
380
Context Engineering - Making Every Token Count
addyosmani
9
1.1k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
Designing for Performance
lara
611
70k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
440
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
380
The World Runs on Bad Software
bkeepers
PRO
72
12k
Designing Experiences People Love
moore
143
24k
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ʣ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ