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
commitを積むとは「物語を書く」ことである
Search
asumikam
October 08, 2023
5.1k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
commitを積むとは「物語を書く」ことである
PHPカンファレンス2024
LT発表
asumikam
October 08, 2023
More Decks by asumikam
See All by asumikam
「嘘をつくテスト」の失敗例から学ぶ 良いテストコード #frontend_phpcon_do
asumikam
0
880
Harnessing the Power of Mocks and Stubs in PHPUnit / #laravellivejp
asumikam
0
1k
委員長たちの「コシ」
asumikam
0
460
書籍「ユーザーストーリーマッピング」が私のバイブル
asumikam
4
600
PHPUnitの「Depends」を使うと次のテストに返り値を渡せるの、なんで?読むぞ! #phpcon_odawara
asumikam
0
77
「通るまでRe-run」から卒業!落ちないテストを書く勘所
asumikam
3
1.2k
PHPコミュニティのあるきかた & ちいさく PHPUnitをつくってみる / Tech Challenge Party 2026
asumikam
0
160
ubuntu-latest から ubuntu-slim へ移行しよう!コスト削減うれしい~!
asumikam
0
1.3k
ちいさくPHPUnitをつくり、仕組みと拡張ポイントを探る
asumikam
3
1.2k
Featured
See All Featured
A Tale of Four Properties
chriscoyier
163
24k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.1k
Documentation Writing (for coders)
carmenintech
77
5.4k
First, design no harm
axbom
PRO
2
1.2k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
200
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
150
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
180
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.6k
A Soul's Torment
seathinner
6
3k
The Pragmatic Product Professional
lauravandoore
37
7.4k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
220
The Cult of Friendly URLs
andyhume
79
6.9k
Transcript
DPNNJUΛੵΉͱ ʮޠΛॻ͘ʯ͜ͱͰ͋Δ BTVNJLBN
͜ΜΜʂ w ͋͢Έ !BTVNJLBN w খాݪͷ/&גࣜձࣾʹۈΊਃ͢ w 8FCΞϓϦ։ൃ🙋 w
1)1(P3VCZ"845FSSBGPSN3FBDUʜ
ͳͥ ʮޠΛॻ͘ʯ ʹࢸͬͨͷ͔
ʢௐࠪதʣ ͏ʙΜɺͳΜ͔͜͜ΒΜͰ όάͬͯΔͧ ࣄ͕݅ى͖ͯΔ͔΄Γ Α͠ɺͦͷ࣌ͷDPNNJUΛ ݟͯΈΑ͏ʂ
None
ΘΒͳ͍ʂʂʂʂʂʂ ࢲͷ͕ʂʂʂ
ࢲͷ͕ΘΒͳ͍ɻ w ʮDPNNJUʯࢲͱ͋ͳͨͷܨ͕Δ෦ w ʮචऀͷ৺Λ͑ͳ͍͞ʯ w ʮܨ͕Δʯ෦Λ͍͔ʹ͏·͘ දݱ͢Δ͔ͰʮΘΔʯ͜ͱ͕૿͑Δ w
ྲྀΕத͕େࣄɺจ຺͕େࣄ ͜Εͬͯʮޠʯͩͳʁʁʁ ͕ΘΒͳ͍ྫ
ʮޠʯΛ͏·͘ॻ͘
DPNNJUͰจ຺Λ͑Δ w৽ن։ൃ wطଘվम wϨϏϡʔࢦఠ
DPNNJUͰจ຺Λ͑Δ w৽ن։ൃ wطଘվम wϨϏϡʔࢦఠ 👉ͱΛܨ͛ͯ ৽͍͠ޠΛੜΉͧʙ
🤔
🤔 ˡXJQͷঢ়ଶຊʹେࣄʁ
🤔 ˡXJQͷঢ়ଶຊʹେࣄʁ ˡม໊ͷमਖ਼ͬͯຊʹେࣄ
🤔 ˡXJQͷঢ়ଶຊʹେࣄʁ ˡม໊ͷमਖ਼ͬͯຊʹେࣄ ˡ։ൃ࣌ͷ࣮ϛεͬͯຊʹ
😃
😃 ෆཁͳจ຺Δʂ
😃 ʮ8):ʯʮ8)"5ʯΛ͑Δ ॏཁͳจ຺Γग़͢ʢཁόϥʣ
😃 ςετίʔυͦͦ ͦΕͧΕͷDPNNJUʹೖΕΔ ʮਖ਼͘͠ಈ͘ʯΛDPNNJU୯ҐͰอূ
😃
😃
😃 ্͔ΒԼʹಡΜͩ࣌ʹ ޠΈ͕ਂ͍ɻ
DPNNJUͰจ຺Λ͑Δ w৽ن։ൃ wطଘվम wϨϏϡʔࢦఠ 👉ޠͷ্ॻ͖Λ ʮԿނͨ͠ʯ͔͕େࣄ
🤔
🤔 ˡͳΜͰʁʁʁ
🤔 ˡͳΜͰʁʁʁ ˡͲΜͳʁʁʁ
🤔 ˡͳΜͰʁʁʁ ˡͲΜͳʁʁʁ ˡ͜Ε͖ͬ͞ʁʁʁ
🤔 ˡͳΜͰʁʁʁ ˡͲΜͳʁʁʁ ˡ͜Ε͖ͬ͞ʁʁʁ ˡʁʁʁʁʁ
😃
ཧ༝Λ Ωνϯͱ໌ࣔ 😃
ཧ༝Λ Ωνϯͱ໌ࣔ 😃 ϨϏϡʔमਖ਼ ໌շʹΘ͔Δ
͜͜·ͰΛ·ͱΊΔͱ
ͳͥͦͷDPNNJUΛੵΜ͔͕ͩ ಡΈखʹ͖ͬΓͱΘ͔Δ͜ͱ͕🙆 w ʮ৽ن։ൃʯͱ͕ͭͳ͕ͬͯޠʹͳ͍ͬͯΔͳʙ w ʮطଘվमʯ্ॻ͖ͨ͠ཧ༝͕͔ͬ͠Γͱॻ͔Ε͍ͯΔͳʙ w ʮϨϏϡʔमਖ਼ʯϨϏϡʔमਖ਼Ͱมߋͨ͠Μͩͳʙ
ඞཁͳ͍จ຺ͷDPNNJU͠ͳ͍ w ʮςετίʔυՃʯͱ͔ʮม໊ม͑Δʯͱ͔ʮXJQʯͱ͔ ʮόάͬͯͨͷͰमਖ਼ʯͱ͔ʮ༷͕มΘͬͨͷͰमਖ਼ʯͱ͔ w ͦͦෆཁͳจ຺ͳͷͰಠཱ͍ͯ͠Δඞཁͳ͍ w దʹ·ͱΊΑ͏ ˞ϨϏϡʔमਖ਼࣌ྫ֎
͡Ό͋͋ͳͨ ͍ͭਖ਼͘͠៉ྷͳDPNNJUΛ ੵΜͰ͍ΔΜͰ͢Ͷʁʁ
ͦΜͳ͜ͱͳ͍ͷͰ͢ʂʂʂ ៉ྷʹͳΔΑ͏ʹ ޙ͔ΒSFCBTFͯ͠·͢ʂʂ
ʘ͍͖ͩ͢ʂʂʗ ʘ͍ͭ͋Γ͕ͱ͏ʂʂʂʗ ʗśƀŹŖʘ
*OUFSBDUJWF3FCBTF👏 IUUQTXXXKFUCSBJOTDPNJEFBHVJEFUJQTJOUFSBDUJWFSFCBTF w (6*Ͱʂʂʂʂʂ w ϚδͰ؆୯ʹʂʂʂʂʂʂ w Α͍͠ΐʙʙʙʙʙʂʂʂʂʂ w ͬͯDPNNJUΛ͖Ε͍ʹͰ͖Δʂʂʂʂʂ
w େ͖ʂʂʂʂʂʂʂʂʂʂ
None
None
None
None
None
None
None
None
None
None
None
͜Ε·͡࠷ߴɻ w ܰʹDPNNJU͍ͯͬͯ͠ɺʮޙͰ៉ྷʹ͠Α͏ʯ͕Ͱ͖Δʂʂ w 1IQ4UPSNͰ៉ྷʹ͓͖͍͔ͯͨ͠Β DPNNJUͷ୯Ґจ຺͝ͱʹখ͓ͯ͘͘͞͠Ϋη͕ͭ͘ w ͪΖΜ$-*Ͱಉ͜͡ͱͰ͖ΔΜ͚ͩͲ(6*Ͱײతʹϙνϙν🐕 ͢Δ͚ͩͰ؆୯ʂʂʂDPNNJU·ͱΊͨΓDPNNJUͷॱ൪ೖΕସ͑ͨ
ΓDPNNJUNFTTBHFม͑ͨΓ͏ͳΜͰͰ͖Δਆ͔ʁޠΛ៉ྷʹ ͢ΔͨΊͷΞϨίϨ͕͜ΕʹΑͬͯ·͔ͳ͑ͯΔ࠷ߴײँ͍͖ͩ͢
͋Γ͕ͱ͏ 1IQ4UPSN🙏
·ͱΊ
w ͏·͘͏͜ͱͰʮΘΔ͜ͱ͕૿͑Δʯ͔Β w DPNNJUͰจ຺Λ͍ͰͭͷޠΛ࡞Δ w ෆཁͳจ຺DPNNJU͠ͳ͍ʂʂ w 1IQ4UPSNʮ*OUFSBDUJWF3FCBTFʯ࠷ߴͰ͢🫰ˡ݁ ͳͥࢲDPNNJUͰޠΛॻ͘ͷ͔
͋Γ͕ͱ͏ ͍͟͝·ͨ͠ʂ