Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
テスト駆動開発 輪読会 Vol.4
Search
K
August 05, 2020
Programming
160
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
テスト駆動開発 輪読会 Vol.4
This is a deck for Test-Driven Development reading session
K
August 05, 2020
More Decks by K
See All by K
Clean-Architecture-Session-12
kentaro555
0
220
Clean-Architecture-Session
kentaro555
0
170
My thought about what to create as a indie hacker
kentaro555
2
710
Other Decks in Programming
See All in Programming
高橋メソッドでCVE解説シリーズ 〜CVE-2026-112816〜
hakkadaikon
0
200
AI Augmentation Techniques with Liberty
ivargrimstad
1
310
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
1
2k
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
3
1.7k
AI時代のFlutter品質設計 — アプリ品質を守るQuality Layers
omatty198
0
350
AI時代のTerminal環境を UNIX哲学で設計・運用する
yasunori0418
1
340
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
4
1.4k
느린 네트워크와 저사양 디바이스 사용자를 위한 웹뷰 로딩 시간 개선기
kmkim
1
170
そのデザイントークン、Flutterでも同じ見た目になりますか?
nakamizu
0
290
TS 7.0 で baseUrl が使えなくなった今、パスエイリアスをどうするか
bicstone
2
450
プロジェクトコードをキレイキレイしよう!暗黙的な参照を読み解く静的解析
ostk0069
0
200
Coding with AI: How to trust the storyteller (AWS Community Day Adria, Ljubljana 2026)
slobodan
0
140
Featured
See All Featured
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
1k
Making Projects Easy
brettharned
120
6.8k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1.2k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
22k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
[SF Ruby Conf 2025] Rails X
palkan
3
1.5k
The untapped power of vector embeddings
frankvandijk
2
2k
Evolving SEO for Evolving Search Engines
ryanjones
0
350
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.9k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.6k
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ͬͯཪͰ͜͏͍͏෩ʹͳ͍ͬͯΔͷ͔ͱ͍ͬͨยྡྷΛΔ͜ͱ ͕Ͱ͖ͨɻ ·ͨɺ్தͷνϟϓλʔͰ͕͋ͬͨɺΑΓྑ͍ςετΛॻͨ͘Ίʹ ɺͱʹ͔͘ςετΛॻ͍ͯܦݧΛੵ͍ͯ͘͠ඞཁ͕͋Δͱ͍͏ ͜ͱΛ࣮ײͨ͠ɻ