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.2k
ベテランのバグ調査の秘訣、こっそり教えちゃいます。
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
270
Doctrine ORMでValue Objectを扱う方法4選 #phpstudy / 4 ways to handle Value Objects with Doctrine ORM
77web
4
120
100%出しきれないのを許すスクラムチーム運営
77web
1
120
マイクロサービスがほしいと思ったときに本当に必要だったもの〜なぜ人は共通基盤の夢を見るのか〜 / why microservice
77web
5
1.2k
モデルとはなにか / what is model?
77web
6
2.4k
たとえば、唐揚げを揚げながらPHPコードを書く技術 #phpstudy
77web
1
320
Symfony+Doctrine ORMで始める安全なモジュラモノリス
77web
2
3.9k
他人がはやく読めるコードを書く ために
77web
11
4.7k
すばやく実装するための戦略とテクニック2023年版 #prtimes_dev
77web
9
2.6k
Other Decks in Programming
See All in Programming
Namespace, What and Why
tagomoris
4
1.5k
GNU Makeの使い方 / How to use GNU Make
kaityo256
PRO
13
4.4k
勉強会4_アップデートされたAssistantsAPIを試す
milky04
0
230
TypeScriptで使いやすいOpenAPIの書き方
yukimochi_dwango
1
970
Next.js App Router
quramy
14
2.3k
仕様と実装で学ぶOpenTelemetry
drumato
2
1.2k
TypeScriptコードの漸進的改善 / Progressive Improvement of TypeScript Code
medley
1
460
Porting mruby/c for the SNES (Super Famicom) - RubyKaigi 2024
gedorinku
0
490
HonoのRPCで真の型安全が欲しかった
kosei28
1
160
WebGLで始める コンピュータグラフィックス入門
heller77
0
390
Slackワークフローで感謝を伝える機能/WiFi 自動接続/Figma to React Component/障害レポート君 Team3@NOT A HOTEL
nakaohiroshi
0
240
TypeScriptの型とパフォーマンス (TSKaigi 2024)
ypresto
14
5.2k
Featured
See All Featured
Web development in the modern age
philhawksworth
203
10k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
Practical Orchestrator
shlominoach
183
9.8k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
14
8.4k
Docker and Python
trallard
35
2.7k
Mobile First: as difficult as doing things right
swwweet
217
8.6k
Producing Creativity
orderedlist
PRO
338
39k
Fontdeck: Realign not Redesign
paulrobertlloyd
76
4.9k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
660
120k
Teambox: Starting and Learning
jrom
128
8.4k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
67
14k
Building Applications with DynamoDB
mza
88
5.7k
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 ಛʹαʔόʔϨεڥͰҙ
͚ͨͬ͠Ͷ👋