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
テスト駆動開発 輪読会 Vol.4
Search
K
August 05, 2020
Programming
0
150
テスト駆動開発 輪読会 Vol.4
This is a deck for Test-Driven Development reading session
K
August 05, 2020
Tweet
Share
More Decks by K
See All by K
Clean-Architecture-Session-12
kentaro555
0
210
Clean-Architecture-Session
kentaro555
0
150
My thought about what to create as a indie hacker
kentaro555
2
660
Other Decks in Programming
See All in Programming
Claude Code Skill入門
mayahoney
0
170
Go 1.26でのsliceのメモリアロケーション最適化 / Go 1.26 リリースパーティ #go126party
mazrean
1
370
Swift ConcurrencyでよりSwiftyに
yuukiw00w
0
250
API Platformを活用したPHPによる本格的なWeb API開発 / api-platform-book-intro
ttskch
1
130
grapheme_strrev関数が採択されました(あと雑感)
youkidearitai
PRO
1
210
PostgreSQL を使った快適な go test 環境を求めて
otakakot
0
530
Railsの気持ちを考えながらコントローラとビューを整頓する/tidying-rails-controllers-and-views-as-rails-think
moro
5
390
Ruby x Terminal
a_matsuda
7
590
TipKitTips
ktcryomm
0
160
モジュラモノリスにおける境界をGoのinternalパッケージで守る
magavel
0
3.5k
Agent Skills Workshop - AIへの頼み方を仕組み化する
gotalab555
15
8.4k
Go Conference mini in Sendai 2026 : Goに新機能を提案し実装されるまでのフロー徹底解説
yamatoya
0
560
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.8k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
390
Making Projects Easy
brettharned
120
6.6k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
410
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
68
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
440
Art, The Web, and Tiny UX
lynnandtonic
304
21k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
160
Color Theory Basics | Prateek | Gurzu
gurzu
0
240
Designing Powerful Visuals for Engaging Learning
tmiket
0
270
Transcript
ςετۦಈ։ൃྠಡձ7PM ষʙষ ݄#Zೆ݈ଠ
લճ·Ͱͷ͓͞Β͍ɻ
લճ·Ͱͷ͓͞Β͍ɻ ɾઃܭ্ෳͷ௨՟Λѻ͍ͬͯΔͱ͍͏͜ͱΛ ҙࣝ͠ͳ͍ͰࡁΉΑ͏ʹ͍ͨ͠ɻ ɾ࣮ʹۙͮͨ͘Ίʹɺ࣌ʹ͘͏͔Θ͔Βͳ͍ςετΛ ॻ͘͜ͱඞཁɻ ɾςετͷதʹɺఆ͍ͯ͠Δಈ͖Λͯ͘͠ΕΔ͔Λ֬ೝ͢Δςετ ֶश༻ςετ ࣮ͷࡍʹߟྀ͞Ε͍ͯͳ͔ͬͨςετʢճؼςετʣ ͳͲ͕͋Δɻ
લճ·Ͱͷ͓͞Β͍ɻ ɾςετΛॻ͍͍ͯΔͱςετͷநΛམͱͯ͠ɺ۩ମతͳςετΛॻ͖ ண࣮ʹਐΉ࣌ͱɺίϯύΠϧΤϥʔΛ50%0ϦετΘΓʹ࣮͢Δ͕࣌͋ Δɻ ɾςετΛॻ࣌͘ɺςετΛಡΉଆʹςετΛॻ͍ͨਓͷҙਤ͕ΘΔΑ ͏ʹ͢Δ͕ඞཁɻ ɾ5%%ʮύϑΥʔϚϯεςετʯɺʮෛՙςετʯɺʮϢʔβϏϦςΟς ετʯͷସʹͳΒͳ͍ɻ
ୈষ Y6OJU͔͏খ͞ͳҰา
ୈষͷओͳ༰ ςετέʔεΛॻͨ͘Ίʹ͏ϑϨʔϜϫʔΫΛ࡞Γɻ ࡞ͬͨϑϨʔϜϫʔΫͷςετέʔεΛ࡞Δɻ ୈ̍̔ষͰɺςετ͕࣮ߦ͞Ε͔ͨͲ͏͔ͷϝιουΛ࡞Γɺ ࡞ͬͨϝιουͷςετέʔεΛॻ͘ͱ͍͏ͷɻ
ୈষͰग़͖ͯͨ༻ޠ ɾY6OJU ɾࣗݾݴٴϓϩάϥϛϯά ɾςετϝιου ɾϝιουͷநग़ ɾ1MVHHBCMF4FMFDUPSύλʔϯ
Y6OJUʹ͍ͭͯ ίϯϐϡʔλʔϓϩάϥϜͷ୯ମςετ Λߦ͏ͨΊͷςεςΟϯάϑϨʔϜϫʔΫͷ૯শɻ
ࣗݾݴٴϓϩάϥϛϯάʹ͍ͭͯ ࣗݾݴٴࣗવݴޠܗࣜݴޠͰจ͕ࣜ ͦΕࣗʹݴٴ͢Δ͜ͱ
ςετϝιουʹ͍ͭͯ ςετέʔε͕ఆٛ͞Εͨɺ UFTU͔Β࢝·Δϝιουͷ͜ͱɻ
ϝιουͷநग़ʹ͍ͭͯ ͍ϝιουͷҰ෦Λผͷϝιουʹͯ͠ɺ ͦͷϝιουΛݺͼग़͢Α͏ʹ͢Δํ๏ɻ
1MVHHBCMF4FMFDUPSύλʔϯ Πϯελϯε͝ͱʹҟͳΔৼΔ͍Λͤ͞ΔͨΊʹɺ ϝιου໊Λ֨ೲ͠ɺͦͷϝιουΛಈతʹىಈ͢Δ σβΠϯύλʔϯɻ
ୈষ લ४උ
ୈষͷओͳ༰ ςετΛॻ࣌͘ɺ"ͱݺΕΔجຊύλʔϯ͕͋Δɻ ςετΛ࡞͍ͯ͠Δ࣌ʮύϑΥʔϚϯεʯͱʮಠཱੑʯͷ ͭͷ੍͕ݱΕΔɻ
ୈষͰग़͖ͯͨ༻ޠ ɾ" ɾύϑΥʔϚϯεͱಠཱੑ ɾϑΟΫενϟʔ
"ʹ͍ͭͯ ४උ "SSBOHF ΦϒδΣΫτΛ࡞Δɻ ࣮ߦ "DU ͦͷΦϒδΣΫτʹରͯ͠ૢ࡞Λߦ͏ɻ Ξαʔτ "TTFSU ݁ՌͷݕূΛߦ͏ɻ
ύϑΥʔϚϯεͱಠཱੑʹ͍ͭͯ ύϑΥʔϚϯεςετՄೳͳݶΓૣ͘ಈ࡞ͯ͠΄͍͠ɻ ྫੜͨ͠ΦϒδΣΫτΛ͍·Θ͍ͨ͠ɻ ಠཱੑςετͷޭࣦഊ ଞͷςετͷ݁ՌʹӨڹͨ͠Γ͞ΕͨΓͯ͠΄͘͠ͳ͍ɻ ྫ͍·Θͨ͠ΦϒδΣΫτ͕มߋ͞ΕͨΒɺ ςετ݁Ռʹҧ͍͕ͰΔͳͲɻ
ςετઈରʹґଘؔΛ࡞ͬͯͳΒͳ͍ɻ ςετ͕ࣦͭഊͨ࣌͠ʹ͕ͭͭ͋Δͱɺ मਖ਼͕ࠔʹͳΔͨΊɻ
ϑΟΫενϟʔ ςετΛߦ͏࣌ʹ༻͢ΔΦϒδΣΫτͷݕূΛߦ͏ࡍʹɺ ΦϒδΣΫτͷݕূίʔυΑΓɺςετΛߦ͏ͨΊͷࣄલ ४උͷίʔυͷํ͕͘ͳΓɺॏෳͯ͠͠·͏͜ͱɻ
ϑΟΫενϟʔͷϝϦοτɾσϝϦοτ ϝϦοτɿͯ͢ͷςετ४උίʔυ͕ॻ͔Ε͍ͯΔ߹ɺ ςετΛ্͔ΒಡΊྑ͍ঢ়ଶʹͳΔɻ σϝϦοτɿॻ͘ͷʹ͕͔͔࣌ؒΓɺมߋ͕͋ͬͨ߹ෳ ͷՕॴΛมߋ͢Δඞཁ͕͋Δɻ
ϑΟΫενϟʔΛղܾ͢ΔͨΊʹɺڞ௨Խ͗͢͠Δͱɺ ςετΛߦ͍ͬͯΔ࣌ʹଞʹͲΜͳॲཧ͕ಈ͍͍ͯΔ͔ Ѳ͢Δඞཁ͕͋ΔͨΊɺྑ͍ԘകΛݟ͚ͭΔඞཁ͕͋Δɻ
ୈষ ޙย͚
ୈষͷओͳ༰ ςετϝιουͰɺUFBS%PXOϝιουͱݺΕΔͷ͕͋Δɻ TFU6QͰςετʹඞཁͳ֎෦ϦιʔεΛ४උ͠ɺUFBS%PXOͰ༻ҙ͠ ͨ֎෦ιʔεΛ։์͢Δɻ
ୈষͰग़͖ͯͨ༻ޠ ɾUFBS%PXOϝιου ɾ-PH4USJOHύλʔϯ ɾ໌നͳ࣮
UFBS%PXOϝιουʹ͍ͭͯ TFU6QϝιουͰׂΓͯΒΕͨ֎෦Ϧιʔε ϑΝΠϧ ιέοτͳͲ ߹ͷΈɺͦΕΒΛ։์͢ΔΛͭϝ ιουɻ
-PH4USJOHύλʔϯʹ͍ͭͯ ਖ਼͍͠ॱ൪Ͱϝιου͕ݺΕ͍ͯΔ͜ͱΛ ςετ͍ͨ͠߹ʹ༻͢Δɻ
໌നͳ࣮ʹ͍ͭͯ ͲΜͳ࣮Λ͢Δ͖͔طʹѲ͍ͯͯ͠ɺࡉ͔͍εςοϓ Ծ࣮ͳͲ Λ౿·ͣʹ࣮͢Δ͜ͱɻ
ୈষ ্͑͛ɻ
ୈষͷओͳ༰ ςετΛಈ͔ͨ࣌͠ʹɺʮSVO GBJMFEΤϥʔ༰dʯͱ͍͏Α͏ ʹදࣔ͞ΕΔͨΊʹɺ·͍ͣͭ͘ςετ͕͔ͬͨΛࣔ͢ϩάΛग़ ྗ͢ΔॲཧΛ࡞ɻ
ୈষ ࣦഊͷѻ͍ɻ
ୈষͷओͳ༰ ୈষͰߦͬͨॲཧͷଓ͖ɻ ষͰΤϥʔͷྫ֎ΛΩϟον͢ΔΈͳ͔͕ͬͨɺςετͷ தͰࣦഊϝιουͷݺͼग़͠ɺྫ֎ͷॱʹςετΛࡉ͔͘ߦ͍ςετ ʹࣦഊͨ͠߹ʮSVO GBJMFEʯͱ͍ͬͨܗͰදࣔ͞ΕΔΑ͏ʹ ࣮ɻ
ୈষ εΠʔτʹ·ͱΊΔɻ
ୈষͷओͳ༰ ࠓ·Ͱߦ͖ͬͯͨςετΛΒͤΔͨΊʹॻ͍ͨॲཧΛ 5FTU4VJUFʹ·ͱΊΔͱ͍͏ͷɻ
#FGPSF ষऴྃ࣌ͷίʔυɻ
"GUFS ষऴྃ࣌ͷίʔυɻ
ୈষͰग़͖ͯͨ༻ޠ ɾ5FTU4VJUF ɾ$PNQPTJUFύλʔϯ ɾ$PMMFDUJOH1BSBNFUFSύλʔϯ
5FTU4VJUFʹ͍ͭͯ ͋ΔϓϩάϥϜ͕ͭɺಛఆͷৼΔ͍Λ·ͱΊͨ ςετέʔεͷմͷ͜ͱɻ
$PNQPTJUFύλʔϯʹ͍ͭͯ ೖΕͱதͷͷΛಉҰͷͷͱଊ͑ͯɺ࠶ؼతͳߏ ͰॲཧΛ؆୯ʹ͢Δ͜ͱ͕Ͱ͖ΔσβΠϯύλʔϯɻ
࣮ࡍͷྫͱͯ͠ࢀߟʹͳΓͦ͏ͳͷɻ IUUQTXXXSJUPMBCDPNFOUSZ
֓ཁ $PNQPTJUFύλʔϯΛ༻͍ͯɺσΟϨΫτϦͷ߹ σΟϨΫτϦͱͦΕʹ࿈ͳΔϑΝΠϧදࣔɻ ϑΝΠϧͷΈͷ߹ɺϑΝΠϧͷΈͷදࣔΛग़͚͠ ͍ͯΔॲཧ͕ྫͱͯ͠ॻ͍ͯ͋Δɻ
$PMMFDUJOH1BSBNFUFSύλʔϯʹ͍ͭͯ ϝιουͷΓΛϕʔεʹσʔλΛ࡞͢ΔͷͰͳ ͘ɺҾʹͨ͠ΦϒδΣΫτʹσʔλΛੵ͍ͯ͘͠ σβΠϯύλʔϯɻ
#FGPSF $PMMFDUJOH1BSBNFUFSύλʔϯલͷίʔυɻ
"GUFS $PMMFDUJOH1BSBNFUFSύλʔϯޙͷίʔυɻ
ୈষ Y6OJUͷશମ;Γ͔͑Γ
ୈষͷओͳ༰ Y6OJUΛ࣮͢Δͭͷҙ͕ٛ͋Δɻ ̍ͭɺࣗࣗͰ࣮͢Δ͜ͱʹΑͬͯɺ͕ࣗҰ൪Α͍ͬͯ͘͠ Δಓ۩͕खʹೖΔͱ͍͏͜ͱɻ ख़ୡ ͏̍ͭɺY6OJUͷ࣮Λ௨ͯ͡৽͍͠ϓϩάϥϛϯάݴޠͰඞཁ ͳػೳΛཏ͢Δ͜ͱ͕Ͱ͖Δɻ
·ͱΊٴͼײ Y6OJUͬͯཪͰ͜͏͍͏෩ʹͳ͍ͬͯΔͷ͔ͱ͍ͬͨยྡྷΛΔ͜ͱ ͕Ͱ͖ͨɻ ·ͨɺ్தͷνϟϓλʔͰ͕͋ͬͨɺΑΓྑ͍ςετΛॻͨ͘Ίʹ ɺͱʹ͔͘ςετΛॻ͍ͯܦݧΛੵ͍ͯ͘͠ඞཁ͕͋Δͱ͍͏ ͜ͱΛ࣮ײͨ͠ɻ