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
Hiromi Hishida
January 12, 2024
Programming
25
11k
ベテランのバグ調査の秘訣、こっそり教えちゃいます。
PHPカンファレンス北海道2024 14:35〜のトークセッションのスライドです。
Hiromi Hishida
January 12, 2024
Tweet
Share
More Decks by Hiromi Hishida
See All by Hiromi Hishida
PostgreSQLのRow Level SecurityをPHPのORMで扱う Eloquent vs Doctrine #phpcon #track2
77web
2
770
コード書くの好きな人向けAIコーディング活用tips #orestudy
77web
3
360
エンジニアのための 法規制への取り組み方 #healthtechmeetup
77web
8
2.6k
サービスクラスのありがたみを発見したときの思い出 #phpcon_odawara
77web
7
980
「それはhowなんよ〜」のガイドライン #orestudy
77web
8
2.9k
空が堕ち、大地が割れ、海が涸れた日~もしも愛用しているフレームワークが開発停止したら?~ #phperkaigi 2025
77web
2
1.5k
Beyond ORM
77web
11
2.2k
見せてあげますよ、「本物のLaravel批判」ってやつを。
77web
9
8.6k
DoctrineとPostgreSQLの便利な機能、どっちも諦めたくない!
77web
0
290
Other Decks in Programming
See All in Programming
Android 16 × Jetpack Composeで縦書きテキストエディタを作ろう / Vertical Text Editor with Compose on Android 16
cc4966
1
200
知っているようで知らない"rails new"の世界 / The World of "rails new" You Think You Know but Don't
luccafort
PRO
1
110
@Environment(\.keyPath)那么好我不允许你们不知道! / atEnvironment keyPath is so good and you should know it!
lovee
0
120
MCPで実現するAIエージェント駆動のNext.jsアプリデバッグ手法
nyatinte
7
1.1k
機能追加とリーダー業務の類似性
rinchoku
2
1.3k
AI Coding Agentのセキュリティリスク:PRの自己承認とメルカリの対策
s3h
0
200
詳解!defer panic recover のしくみ / Understanding defer, panic, and recover
convto
0
240
rage against annotate_predecessor
junk0612
0
170
250830 IaCの選定~AWS SAMのLambdaをECSに乗り換えたときの備忘録~
east_takumi
0
390
パッケージ設計の黒魔術/Kyoto.go#63
lufia
3
430
Deep Dive into Kotlin Flow
jmatsu
1
330
はじめてのMaterial3 Expressive
ym223
2
290
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
840
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
How STYLIGHT went responsive
nonsquared
100
5.8k
Designing for humans not robots
tammielis
253
25k
The Invisible Side of Design
smashingmag
301
51k
Fireside Chat
paigeccino
39
3.6k
How to Ace a Technical Interview
jacobian
279
23k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.8k
Mobile First: as difficult as doing things right
swwweet
224
9.9k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
Automating Front-end Workflow
addyosmani
1370
200k
Transcript
UI+BOVBSZ JO1)1$POGFSFODF)PLLBJEP CZ!XFC ϕςϥϯͷόάௐࠪͷൿ݃ɺͬ͜ ͦΓڭ͑ͪΌ͍·͢ɻ
w ࡳຈࢢ౦۠ੜ·Εɻߴߍ·Ͱࡳຈҭͪɻ࣮ Ոࡳຈࢢೆ۠ɻ w 1)1FSྺ w ʙϑϦʔϥϯε։ൃऀ w ࣗࣾαʔϏεاۀʹब৬ w
స৬ΛܦͯɺݱࡏʢגʣϦϯέʔδΤϯ δχΞ w #UP#UP&༧ҩྍϓϩμΫτΛ࡞͍ͬͯ· ͢ w ຊ4ZNGPOZϢʔβʔձ /BHPZBQIQ XFCʢͳͳ͏͐Ϳʣ ঁੑͷ݈߁՝αϙʔτ GFNDMF ͔͔Γ͚ͭอ݈ࢣGPS-*/&
όάௐࠪ
όάௐࠪ w ͭΒ͍ w ཧ͞Εͯͳ͍ίʔυͩͱಛʹɻ w যΔ
Ͳ͔͜ΒखΛ͚ͨΒ͍͍͔Θ͔Βͳ͍ɻ ԿΛͨ͠Β͍͍͔Θ͔Βͳ͍ɻ যΔɻ Ͳ͔͜ΒखΛ͚ͨΒ͍͍͔Θ͔͍ͬͯΔɻ ԿΛͨ͠Β͍͍͔Θ͔͍ͬͯΔɻ যΒͳ͍ɻ
Ͳ͔͜ΒखΛ͚ͨΒ͍͍͔Θ͔Βͳ͍ɻ ԿΛͨ͠Β͍͍͔Θ͔Βͳ͍ɻ যΔɻ Ͳ͔͜ΒखΛ͚ͨΒ͍͍͔Θ͔͍ͬͯΔɻ ԿΛͨ͠Β͍͍͔Θ͔͍ͬͯΔɻ যΒͳ͍ɻ
όάௐࠪͰΔ͜ͱ ୈҰใ Γ͚ ࠶ݱ मਖ਼ ϦϦʔε ใࠂ
ୈҰใ w ·ͣୈҰใʢ๊͑ࠐ·ͳ͍ʣ w ਖ਼֬ʹͯ͢ͷใΛؚΊΔඞཁͳ͍ w ʮԿ͔͕ى͖͍ͯΔʯ͜ͱΛ͑Δ w ձࣾɾνʔϜͰఆΊΒΕͨϧʔτ͕͋Εͦͷϧʔτɻͳ͚Εͱʹ͔͘ ্࢘νʔϜશମɻ
Γ͚ w 1)1ͷXFCΞϓϦέʔγϣϯ͕ಈ͘ྲྀΕͷ͏ͪɺͲ͜Ͱൃੜ͍ͯ͠Δ͔ ϒϥ β ௨৴ TFSWFS 1)1 1)1 TFSWFS
௨৴ %# ϒϥ β ˞ΠϯϑϥߏʹΑΓɺଞͷͷ͕ؒʹڬ·͍ͬͯΔ͜ͱ͕͋Δ
Γ͚ʙϒϥβʙ w ݪҼ w ϑϩϯτΤϯυͷ࣮ϛε w αʔόʔαΠυʢ"1*ʣͱϑϩϯτΤϯυͷϛεϚονʢ࣮ϛεʣ w ϒϥβࣗମͷ༷มߋ ϒϥ
β ௨৴ TFSWFS 1)1 1)1 TFSWFS ௨৴ %# ϒϥ β
Γ͚ʙϒϥβʙ w ௐํ w ϒϥβͷσϕϩούʔπʔϧɾ։ൃऀπʔϧΛݟΔ w Τϥʔ͕ग़͍ͯͳ͍͔ʁʢߏจΤϥʔʣ w OFUXPSLλϒͰఆͨ͠)551ϦΫΤετ͕Ε͍ͯΔ͔ʁ ϒϥ
β ௨৴ TFSWFS 1)1 1)1 TFSWFS ௨৴ %# ϒϥ β
Γ͚ʙ௨৴ɾTFSWFSʙ w ݪҼ w ճઢෆ௨ʢࣗͷωοτճઢো "84োͳͲʣ w αʔόʔϩʔυόϥϯαʔͷઃఆϛε ϒϥ β
௨৴ TFSWFS 1)1 1)1 TFSWFS ௨৴ %# ϒϥ β
Γ͚ʙ௨৴ɾTFSWFSʙ w ௐํ w ϒϥβͷσϕϩούʔπʔϧͰωοτϫʔΫΛݟͯ൪ͷΤϥʔ͕ग़ͯͳ͍͔ʁ w )551αʔόʔʢ"QBDIF OHJOYʣͷϩάग़͍ͯΔ͔ʁʢ௨৴͕ࢮΜͰͨΒ)551αʔόʔʹ౸ୡͰ͖ͯͳ͍͜ͱ͕͋Δʣ w ࠷ۙ)551αʔόʔͷΞοϓσʔτઃఆมߋΛͯ͠ͳ͍͔ʁ
ϒϥ β ௨৴ TFSWFS 1)1 1)1 TFSWFS ௨৴ %# ϒϥ β
Γ͚ʙ1)1ɾ%#ʙ w ݪҼ w ίʔυͷ࣮ϛε w ఆ֎ͷϦΫΤετɾ%#σʔλ w %#֎෦"1*ͷ༷มߋ ϒϥ
β ௨৴ TFSWFS 1)1 1)1 TFSWFS ௨৴ %# ϒϥ β
Γ͚ʙ1)1ɾ%#ʙ ϒϥ β ௨৴ TFSWFS 1)1 1)1 TFSWFS ௨৴ %#
ϒϥ β ϦΫΤ ετ ϧʔςΟϯά ܭࢉ ΫΤϦ Ϩεϙ ϯε w ϑϨʔϜϫʔΫͷίʔυ w ࣗͨͪͰॻ͍ͨίʔυɾΫΤϦʢڱٛͷόάʣ w %#σʔλɾϦΫΤετσʔλ
࠶ݱ w ࠶ݱͰ͖Δ͔ʁ w ϩʔΧϧڥɾεςʔδϯάڥͰγεςϜ͕ಈ͘Α͏ʹ͓ͯ͘͠ w ϩά w όά͔ͬͯΒݟ͍ͨͱࢥͬͯखΕͳͷͰࣄલʹඞཁͳϩάΛऔ͓ͬͯ ͘
࠶ݱ w ࠶ݱεΫϦϓτΛॻ͘ w ࣗಈςετ͕͋Ε࠶ݱύϥϝʔλͰόάͬͨϨεϙϯε͕ฦΔࣗಈςετ w ͳͯ͘)551Ͱୟ͍ͯόάͬͨϨεϙϯε͕ฦΔ͜ͱΛ֬ೝ͢ΔεΫϦϓ τΛॻ͘ʢDVSMͱ͔Ͱ͍͍ʣ
मਖ਼ w ϩάΛݟͯ࠶ݱͰ͖ͨ࣌ͰطʹࣗಈతʹΘ͔͍ͬͯΔ߹͋Δ w ͠Θ͔͍ͬͯͳ͔ͬͨΒ w *%&Ͱ։͍ͯܯࠂͷग़͍ͯΔ෦ w ݅ذͷڥք w
֎ʢ)551ϦΫΤετɺίϚϯυҾɺ%#σʔλʣ͔Βఆ֎ͷ͕དྷͯͳ͍͔ʁ w มʹ৭ʑͳΛೖΕͯγϛϡϨʔγϣϯ͢Δʢࣗಈςετ͋ΕࣗಈςετͰͬͯྑ ͍ʣ w ࣗͰ࣮ͨ͠ίʔυͩͱಛʹݻఆ؍೦ʹറΒΕ͕ͪͳͷͰɺதֶੜʹํఔࣜΛڭ͑Δͱ͖ʹ Α͘͏ಥવͷԯͱ͔ஹΈ͍ͨͳಥඈͳࣈΛ͑ͯೖΕͯΈΔͷ͕Φεεϝ
ϦϦʔεใࠂ w མͪண͍ͯϦϦʔε͢Δ w όάͷنͱ༰࣍ୈͰଈϦϦʔε͠ͳͯ͘Α͠ɺͱͳΔ͜ͱ͋Δ w ʢຊ൪ӡ༻தͷϓϩμΫτͷ߹ʣϢʔβʔεςʔΫϗϧμʔ͚ͷใࠂΛॻ͘ w Өڹൣғʢ࣌ؒɺରϢʔβʔʣ w
ެදͰ͖ΔൣғͰݪҼ w ϓϩμΫτνʔϜ͔Βͷิঈ
όάௐࠪͰΔ͜ͱʢ࠶ʣ ୈҰใ Γ͚ ࠶ݱ मਖ਼ ϦϦʔε ใࠂ
͓·͚ͦΕͰɺόάා͍ʢస͵ઌͷ伺ʣ w ఆ֎Λ͙ʢόάΛ͙ʣ w ม໊ɾ໊ؔʢϦʔμϒϧίʔυʣ w HFU)PHF WPJEˡʔɺͦ͏ͳΒΜͬ͠ΐʁʂ w ܕΛ͚ͭΔ
w ੩తղੳ͢Δ w ࣗಈςετ w ࠶ݱ͘͢͢͠Δ w ϩά w ಛʹαʔόʔϨεڥͰҙ
͚ͨͬ͠Ͷ👋