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
紅白ぺぱ合戦 asumikam LT #cohackpp
Search
asumikam
November 30, 2024
0
240
紅白ぺぱ合戦 asumikam LT #cohackpp
https://connpass.com/event/329428/
asumikam
November 30, 2024
Tweet
Share
More Decks by asumikam
See All by asumikam
ちいさくPHPUnitをつくり、仕組みと拡張ポイントを探る
asumikam
3
880
プロダクトコードとOSSに学ぶ例外処理の選択肢 — キャッチするのか、投げっぱなしにするのか
asumikam
3
2.2k
うまくいかないスプリントレビューと、うまくいくスプリントレビュー
asumikam
16
4.8k
わたしの"コミュニティへの還元"リレーション #devsumi
asumikam
2
3.7k
東京Ruby会議12 vs PHPカンファレンス小田原〜オーガナイザーが語る見所と裏側〜
asumikam
0
98
PHPUnitでモックとスタブを使いこなす / PHP Conference Japan 2024
asumikam
4
2k
『こわい』を 『こわくない』に変える ~OSS貢献編~
asumikam
2
360
「PHPカンファレンス小田原」がつくる世界
asumikam
4
380
逆ポーランド記法とpreg_match_all
asumikam
2
940
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
What's in a price? How to price your products and services
michaelherold
246
12k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
The World Runs on Bad Software
bkeepers
PRO
71
11k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.7k
The Language of Interfaces
destraynor
162
25k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Building an army of robots
kneath
306
46k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
20k
Transcript
ʮʯ܉૯େক BTVNJLBN-5
͜ΜΜΘʂ
ͪͺʔΑࠓઓ͔ͩͭͧřőŽ w͋͢Έ 𝕏 !BTVNJLBN wʮʯ܉૯େক wͪͺ͊ʙ1)1FS wීஈ1)1Λॻ͍ͨΓ͍ͯ͠·͢
ϚδͰখాݪ͖ͯ͘Εͯ ͋Γ͕ͱ͏͍͟͝·͢
5γϟπ ͍ͬͺ͍͍ͦ͏
දͭ͘Γ͍ͨ
ߘŗšƄŢŦ ;Γ͔͑Γϒϩάॻ͖·͢ʂ
౦ژ6OUJMࣾձਓ খాݪ4JODFࣾձਓ
খాݪΊͬͪΌ͍͍
Ͳ͕͜ྑ͍͔ͱ͍͏ͱ
౬ʂແྉͰೖΕΔʂʂʂʂ Έͳ͞ΜʹԹઘλΦϧΛ͠·ͨ͠ Ͷʂʂʂʂʂʂ͜ΕΛ͏νϟϯε͕͋ Γ·͢ʂʂʂͦΕ͕ɺϛφΧখాݪͷ ্ʹ͋Δల౬ఉԂͰ͢ɻ খాݪͷܠ৭ΛҰͰ͖ͯɺ౬Ͱ͋ͬ ͨ·Ε·͢ɺແྉͰʂʂͬ ͨʔʂʂʂʂ ൪ͷ͓͢͢Ίɺ͓ࢄาΒɺཱྀ Β͋ͬͨͷͪʹ౬ʹ͍Δ͜ͱɻ
ϚδͰർ࿑͕ͳ͘ͳ͕ͬͯܰ͘ͳΔͷ Λ࣮ײ͠·͢ɻ
ͳΜͱ͍ͬͯখాݪ ·ʙʙʙ֎ͤͳ͍Ͱ͢ΑͶখాݪɻ ৽װઢ͔Β߱Γͯɺา͍ͯߦ͚Δڑʹ ͕͋ΔͷΊͪΌͪ͘Όխ͡Όͳ͍Ͱ͢ ͔ɾɾɾʁ͜ͷίϯύΫτ͕͞·͞ʹখ ాݪͷັྗɻ খాݪͷਪ͠ɺίϯςϯπ͕Ί ͪΌͪ͘Ό͍ͬͯͯಡΈԠ͕͑͋Δ͜ ͱͰ͢ɻͦͯ͠ޒ͔Βਪ͠ΛܾΊ ·͠ΐ͏ɻ
ւ·Ͱࢄา͍͍Μ͡Όͳ͍ʁ ৽װઢ͔Β߱Γͯɺา͍ͯߦ͚Δڑʹւ͕ ͋ΔͷΊͪΌͪ͘Όྑ͘ͳ͍Ͱ͔͢ɾɾɾʁ ͱ͍͏ͷֶࣗੜऴΘΔ·Ͱւ͕ۙ͘ ʹ͋Δ͜ͱ͕ͳ͔ͬͨΜͰɺ͜Ε͕ΊͪΌ͘ ͪΌ͏Ε͍͠ΜͰ͢ΑͶɻօ͞Μ࠷ۙւݟͯ ·͔͢ʁւɻΊͪΌͪ͘Ό༊͞Ε·͢Αɻ ւ·Ͱͷಓதʹ͓͢͢Ίͷ͓ళ͞Μ͍ͬ ͺ͍͋Γ·͢ɻ͍ͪΜ͍ͬͯ΄͍͠ͷ HSJUʢάϦοτʣͱ͍͏ϙϯσέʔδϣ͞
Μʂ
יٶখాݪͷ৽॓ ҰӺ͜͏ͳͷͰ͕͢ɺיٶͱ͍͏ͱ͜ ΖʹʮԹઘʯʮ༸ʯʮϘϦϯάʯ ʮөըؗʯʮϗʔϜηϯλʔʯɾɾɾ ͏Կ͔ΒԿ·Ͱ͋ΔɺখాݪॅΈͷਓؒ ʹ͔ܽͤͳ͍Ͱ͢ɻ·͞ʹיٶখ ాݪͷ৽॓ɻ օ͞Μʹͥͻߦͬͯ΄͍͠ͷʮίϩφ ϫʔϧυখాݪళʯͰ͢Ͷɻݩຽߦ ͖·͢ΑʙॴͳͷͰັྗʹ͏ͭΔ͔Θ
͔Γ·ͤΜ͕ɺϗοͱͰ͖ΔࢪઃͰ͢ʂ
ΞδϑϥΠ৯ͯؼͬͯ খాݪͷΞδϑϥΠͶʙʙʙʙαΫα ΫͳΜͰ͢Αɻ Θͨ͠খాݪ͘Δ·ͰʮΞδϑϥΠ͕ඒ ຯ͍͠ʯͱ৺ͷఈ͔Βࢥͬͨ͜ͱͳ͔ͬ ͨΜͰ͚͢Ͳɺখాݪ͖ͯϏϏΓ·ͨ͠ɻ ;Θ;Θɾ͘͘͞͞ɾδϡʔγʔɻϚδͰ ͏·͍Μ͢ΘɺখాݪͷΞδϑϥΠɻ Ξδ͕औΕΔͱ͜ΖͳΒͲ͜Ͱඒຯ͍͠ ͱࢥ͏ΜͰ͚͢ͲɺখాݪΞδ͕ͱΕ
ΔͷͰɺΞδϑϥΠ͕͓͍͍͠Ͱ͢ɻ
OJDPDBGFͷ༲͛ੈքҰαΫαΫ ͋Μ·ΓҬੑ͕ͳ͍͓ళͳͷͰ͢ ͕ʂʂʂʂOJDPDBGF͓͢͢ΊͰ͢ʙɻ ಛʹ͠ΐ͏Ώ͔Β͋͛ɾകਣ͔Β͋͛ʢΘͨ ͠͠ΐ͏Ώɺ͍കਣ͓͍͍͔͠Βശ ਪ͚ͩ͠Ͳʣ͕͋Γ͑ΜαΫαΫͳΜͰ͢Α Ͷɻ ΘΓͱਓੜͷதͰҰ൪͖͢ͳ͔Β͋͛Ͱ͢ɺ ϚδͰɻΦγϟΧϑΣͳͷͰྔ͕ଟ͍Θ͚ ͡Όͳ͍ͷͰ͕͢ɺٯʹϥϯνݢͰ͖ͯ
ΜΓ͔͠Ε·ͤΜΑɺͥͻOJDPDBGFͲ͏ ͧɻΫϨʔϓ͓͍͍͠Αɻ
ҰԠ͔·΅͜௨Γͱ͍͏ͷ͕͋ͬͯͩͳ ւʹ͍͘·Ͱͷಓதɺʮ͔·΅͜௨Γʯͱ ͍͏ಓ͕͋Γ·͢ɻ ໊લతʹ͔·΅͍ͬ͜ͺ͍ചͬͯͦ͏Ͱ ͠ΐɻࢢͰಛઃϖʔδ͋Δ͠Ͷɻ ͱ͜Ζ͕Ͳ͍ͬ͜ɺۭ͍͍ͯΔ͓ళ࣮ͦ Μͳʹͳ͘ɺͳΜ͔ͩ͞Έ͍͠งғؾ͕ඬ͏ ௨Γͱͳ͍ͬͯ·͢ɻ ٯʹϫϩ͑·ͤΜ͔ʁٯʹΓ্͛ͳ ͖Όɺ໋ͬͯײΘ͍ͯ͘ΔΜ͢ΑͶɻ
ͪͳΈʹ౬ΛຯΘΔ͔·΅͜͞Μ͋ Γ·͢ɻాࣷͷ૽ʢʁʣΕͯΜͳΓ͠ ·͠ΐ͏ɻ
ຊਫ༵ʹ͖ͯ΄͍͠ɺԁւက ҰӺ͜͏ͳͷͰ͕͢ɺיٶͱ͍͏ͱ͜ ΖʹʮԹઘʯʮ༸ʯʮϘϦϯάʯ ʮөըؗʯʮϗʔϜηϯλʔʯɾɾɾ ͏Կ͔ΒԿ·Ͱ͋ΔɺখాݪॅΈͷਓؒ ʹ͔ܽͤͳ͍Ͱ͢ɻ·͞ʹיٶখ ాݪͷ৽॓ɻ օ͞Μʹͥͻߦͬͯ΄͍͠ͷʮίϩφ ϫʔϧυখాݪళʯͰ͢Ͷɻݩຽߦ ͖·͢ΑʙॴͳͷͰັྗʹ͏ͭΔ͔Θ
͔Γ·ͤΜ͕ɺϗοͱͰ͖ΔࢪઃͰ͢ʂ
༵ۚͷ͖ͯ΄͍͠ɺεφοΫແବ ΄Μͱ͏ͶɺΘ༵ͨۚ͠ʹখాݪ ͖ͯ΄͍͠ΜͰ͢Αɻ ͬͪͩͬͨ͜ΒͳΜͱ͔͍͚ΔͰ͠ΐʁ ͰɺͲ͜ʹ͍ͬͯ΄͍͔͠ͱ͍͏ͱɺε φοΫແବɺͱ͍͏͓ళͰ͢ɻ ͦͷ໊ͷͱ͓ΓεφοΫͳͷͰ͕͢ɺళ ओͷԣࢁ͞Μ͕ΊͬͪΌ͓͠Ζ͍ɻ %+ػࡐʢݹ͍ʣ͋Γ·͢ʂʂʂ࢛ ࣌தΕίʔυ͕ྲྀΕ͍ͯΔΠΩͳ͓ళͰ
͢ɻ
ொத՚ͷਖ਼ղɺ0EBXBSB$IJOFTFঢۄ ͓͢͢Ίͤͣʹ͍ΒΕͳ͍ɺখాݪͷ ொத՚ɺࢲ͕Ѫͯ͠·ͳ͍ொத՚ɻ 0EBXBSB$IJOFTFঢۄͰ͢ɻຊਓͷ Έʹ͋ͬͨɺ͔ͪ͠͠ΌΜͱΩοΫͷ ͋Δ͓͍͠ʙ͍ொத՚Ͱ͢ɻ Θͨ͠ͷ͓͢͢Ίɺຑം౾ ʂʂʂʂʂʂՖࢁᑦ͕͖͍͍ͯͯɺ͓ ͍͍͠Α
খాݪ͍͍ͱ͜ΖͰ͢ ҠॅΛ͝ݕ౼͍ͩ͘͞
͍
Ͱ
TUFGBGBGBOͷՇͰ͢
͍͔ʹͯ͠ Շʹͳͬͨͷ͔
ग़ձ͍
Ԭ
1)1ΧϯϑΝϨϯε Ԭશવࡊ
None
🍺 🍺 🍺 🍺 🍺 🍺 🍺
🍺 🍺 🍺 🍺 🍺 🍺 🍺 ΈΜͳͯͳͷਓͩʜ ͜Θ͍ʜ
🍺 🍺 🍺 🍺 🍺 🍺 🍺
🍺 🍺 🍺 🍺 🍺 🍺 🍺
🍺 🍺 🍺 🍺 🍺 🍺 🍺
🍺 🍺 🍺 🍺 🍺 🍺 🍺
🍺 🍺 🍺 🍺 🍺 🍺 🍺
🍺 🍺 🍺 🍺 🍺 🍺 🍺
🍺 🍺 🍺 🍺 🍺 🍺 🍺
🍺 🍺 🍺 🍺 🍺 🍺 🍺 ͜ͷॠؒɺ Ұ࣌తʹͯͳͷਓͱ ೝࣝ͞Ε͍ͯͨਓˣ
🍺 🍺 🍺 🍺 🍺 🍺 🍺
🍺 🍺 🍺 🍺 🍺 🍺 🍺 ਲͬͯ ͖ͪΌͬͨ❤
🍺 🍺 🍺 🍺 🍺 🍺 🍺 ͯ͢ʹΌΜ ࠷ߴ❤
🍺 🍺 🍺 🍺 🍺 🍺 🍺
🍺 🍺 🍺 🍺 🍺 🍺 🍺 ˡਲͬͯ ͖ͨ
🍺 🍺 🍺 🍺 🍺 🍺 🍺
🍺 🍺 🍺 🍺 🍺 🍺 🍺 ؼΓ·͢
🍺 🍺 🍺 🍺 🍺 🍺 🍺 ಥવͷؼɹɻ
🍺 🍺 🍺 🍺 🍺 🍺 🍺 QBQJY͞Μ ͍ͩ͡ΐ͏Ϳ͔ͳʜ
QBQJY͞Μ͕ؼͨ͠ ࢥ͍ग़͔͠ͳ͍ ͋ͱV[VMMB͞Μ͕εϚϗ͖͖ʹׂͬͯͨ
݄ܦͪ
ͳΜ͔झຯ߹͏
͍Ζ͍Ζ ͢Α͏ʹͳΔ
BTVNJLBN ʮԬ͍͘Θʯ
;ͭ͏ʹ ͋ͦΜͩ
ؾ߹͏Θ
݁ࠗʂ
͜Μͳ͔Μ͡ Ͱ͢
͍͔͕Ͱͨ͠ ͔ʁ
None
ࡱӨऀ TUFGBGBGBO
͍
Ͱ
͍͔ʹͯ͠ ͺ߹ઓʹͳͬͨͷ͔
ଟ݄
݁ࠗࣜͱ͔ ͢Δͷ͔ͳ
͔݁ࠗࣜ͊ʜ
ϐϯͱ ͜Ͷ͐ͳ͊ʜ
͋ͬ
͓ޓ͍Τϯ δχΞͩ͠
ߚന Վ߹ઓ
Α͘Ͷʁ
K
K
·ΘΓͷͯͳͷਓʹ ҙຯΛڭ͑ͯΒ͍·͠ΐ͏
ͦΜͳ͜ΜͳͰ
ܾఆ
ͦͯ͠ࠓ
ॳਓͱ͔ ͦͷنͰΕͨΒ ͍͍Ͷʙͳײͩͬͨ͡
ͦͨ͠Β ͜Μͳ͜ͱʹʂʂʂ
🙏 🙏 🙏
ͺ߹ઓ
൸࿐ԅʁ
්՞
খాݪ࠷େͷ ්՞ Α͏ͦ͜
ָ͠ΜͰ ͍͖·͠ΐ͏
ͪΖΜউར ʮʯ
1)1FS
શ܉
લਐ
🍊͓ΘΓ🍊 Έͯ͘ΕͯŗžŜƄŪŤƃŝœŖ😘