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
Paper Plane
katiecoart
PRO
1
52k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
The Invisible Side of Design
smashingmag
301
52k
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
Designing for Timeless Needs
cassininazir
1
270
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
640
How to Think Like a Performance Engineer
csswizardry
28
2.7k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
55k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.2k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.1k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.2k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
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ͰޠΛॻ͘ͷ͔
͋Γ͕ͱ͏ ͍͟͝·ͨ͠ʂ