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
22
9.1k
ベテランのバグ調査の秘訣、こっそり教えちゃいます。
PHPカンファレンス北海道2024 14:35〜のトークセッションのスライドです。
Hiromi Hishida
January 12, 2024
Tweet
Share
More Decks by Hiromi Hishida
See All by Hiromi Hishida
#phpcon_odawara オープン・クローズドなテストフィクスチャを求めて / open closed test fixtures
77web
3
230
Doctrine ORMでValue Objectを扱う方法4選 #phpstudy / 4 ways to handle Value Objects with Doctrine ORM
77web
4
110
100%出しきれないのを許すスクラムチーム運営
77web
1
100
マイクロサービスがほしいと思ったときに本当に必要だったもの〜なぜ人は共通基盤の夢を見るのか〜 / why microservice
77web
5
1.1k
モデルとはなにか / what is model?
77web
6
2.3k
たとえば、唐揚げを揚げながらPHPコードを書く技術 #phpstudy
77web
1
310
Symfony+Doctrine ORMで始める安全なモジュラモノリス
77web
2
3.8k
他人がはやく読めるコードを書く ために
77web
11
4.7k
すばやく実装するための戦略とテクニック2023年版 #prtimes_dev
77web
9
2.5k
Other Decks in Programming
See All in Programming
Ruby Function Composition
bkuhlmann
1
330
Zero Waste, Radical Magic, and Italian Graft – Quarkus Efficiency Secrets
hollycummins
0
230
Compose-View Interop in Practice (mDevCamp 2024)
stewemetal
0
140
SwiftUIで使いやすいToastの作り方 / How to build a Toast system which is easy to use in SwiftUI
lovee
3
150
冗長なエラーログを削減し、スタックトレースを手に入れる / Reducing Verbose Error Logs and Obtaining Stack Traces
upamune
0
830
サイコロで理解する統計的仮説検定の考え方
tatamiya
4
960
コーンフレークから始める モデリング会話入門
ogurotakayuki
0
380
二郎系ラーメンのコールで学ぶ AST 解析
memory1994
PRO
7
1.7k
単体テストを書かない技術 #phpcon_odawara
o0h
PRO
27
8.3k
検証も兼ねて個人開発でHonoとかと向き合った話
hanetsuki
1
1.2k
try! Swift Tokyo 2024 参加報告 / try! Swift Tokyo 2024 Report
hironytic
0
210
Fragment Composition of GraphQL
quramy
7
1k
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
241
1.2M
Infographics Made Easy
chrislema
238
18k
Product Roadmaps are Hard
iamctodd
44
9.7k
Adopting Sorbet at Scale
ufuk
68
8.6k
Building a Scalable Design System with Sketch
lauravandoore
456
32k
Git: the NoSQL Database
bkeepers
PRO
422
63k
Art, The Web, and Tiny UX
lynnandtonic
289
19k
Mobile First: as difficult as doing things right
swwweet
216
8.6k
YesSQL, Process and Tooling at Scale
rocio
164
13k
Web Components: a chance to create the future
zenorocha
305
41k
From Idea to $5000 a Month in 5 Months
shpigford
377
45k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
25
2.3k
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 ಛʹαʔόʔϨεڥͰҙ
͚ͨͬ͠Ͷ👋