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
230
紅白ぺぱ合戦 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
800
プロダクトコードとOSSに学ぶ例外処理の選択肢 — キャッチするのか、投げっぱなしにするのか
asumikam
4
2.1k
うまくいかないスプリントレビューと、うまくいくスプリントレビュー
asumikam
16
4.7k
わたしの"コミュニティへの還元"リレーション #devsumi
asumikam
2
3.5k
東京Ruby会議12 vs PHPカンファレンス小田原〜オーガナイザーが語る見所と裏側〜
asumikam
0
94
PHPUnitでモックとスタブを使いこなす / PHP Conference Japan 2024
asumikam
4
1.9k
『こわい』を 『こわくない』に変える ~OSS貢献編~
asumikam
2
350
「PHPカンファレンス小田原」がつくる世界
asumikam
4
370
逆ポーランド記法とpreg_match_all
asumikam
2
920
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
770
Music & Morning Musume
bryan
46
6.7k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Optimizing for Happiness
mojombo
379
70k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
460
Measuring & Analyzing Core Web Vitals
bluesmoon
8
550
Being A Developer After 40
akosma
90
590k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
Building Adaptive Systems
keathley
43
2.7k
Writing Fast Ruby
sferik
628
62k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Practical Orchestrator
shlominoach
190
11k
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
શ܉
લਐ
🍊͓ΘΓ🍊 Έͯ͘ΕͯŗžŜƄŪŤƃŝœŖ😘