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
23
9.9k
ベテランのバグ調査の秘訣、こっそり教えちゃいます。
PHPカンファレンス北海道2024 14:35〜のトークセッションのスライドです。
Hiromi Hishida
January 12, 2024
Tweet
Share
More Decks by Hiromi Hishida
See All by Hiromi Hishida
すばやく実装するための戦略とテクニック2024 / speed is power! 2024 #techramen24conf #shoyu
77web
8
4k
#phpcon_odawara オープン・クローズドなテストフィクスチャを求めて / open closed test fixtures
77web
3
420
Doctrine ORMでValue Objectを扱う方法4選 #phpstudy / 4 ways to handle Value Objects with Doctrine ORM
77web
4
210
100%出しきれないのを許すスクラムチーム運営
77web
1
220
マイクロサービスがほしいと思ったときに本当に必要だったもの〜なぜ人は共通基盤の夢を見るのか〜 / why microservice
77web
5
1.5k
モデルとはなにか / what is model?
77web
6
2.8k
たとえば、唐揚げを揚げながらPHPコードを書く技術 #phpstudy
77web
1
370
Symfony+Doctrine ORMで始める安全なモジュラモノリス
77web
3
4.3k
他人がはやく読めるコードを書く ために
77web
11
5k
Other Decks in Programming
See All in Programming
(Deep|Web) Link support with expo-router
mrtry
0
170
2024-10-02 dev2next - Application Observability like you've never heard before
jonatan_ivanov
0
170
dbt-ga4パッケージを実業務に導入してみた話
t_tokumaru_feedcorp
0
130
Beyond Laravel Octane - Hyperf for Laravel Artisans
albertcht
1
130
タイミーにおけるデータの利用シーンと データ基盤の挑戦
marufeuille
4
3.2k
現場から考えるソフトウェアエンジニアリングの価値と実験
nomuson
1
110
Cancel Next.js Page Navigation: Full Throttle
ypresto
1
170
선언형 UI를 학습할 때 알아둬야하는 키워드들
l2hyunwoo
0
140
VS Code extension: ドラッグ&ドロップでファイルを並び替える
ttrace
0
170
デバッグの話 / Debugging for Beginners
kaityo256
PRO
5
170
AWS CDKを用いたセキュアなCI/CDパイプラインの構築 / Build a secure CI/CD pipeline using AWS CDK
seike460
PRO
3
610
"Swarming" をコンセプトに掲げるアジャイルチームのベストプラクティス
boykush
2
240
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.8k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2k
Done Done
chrislema
181
16k
The Language of Interfaces
destraynor
154
24k
10 Git Anti Patterns You Should be Aware of
lemiorhan
653
59k
No one is an island. Learnings from fostering a developers community.
thoeni
19
2.9k
For a Future-Friendly Web
brad_frost
174
9.3k
Bash Introduction
62gerente
608
210k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Adopting Sorbet at Scale
ufuk
73
9k
Automating Front-end Workflow
addyosmani
1365
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 ಛʹαʔόʔϨεڥͰҙ
͚ͨͬ͠Ͷ👋