Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
When we should use stub and mock
Search
kenkaton
July 31, 2020
0
300
When we should use stub and mock
kenkaton
July 31, 2020
Tweet
Share
More Decks by kenkaton
See All by kenkaton
How to manage data inconsistency
kenkaton
1
240
About Strict Memoization
kenkaton
0
440
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Making Projects Easy
brettharned
120
6.5k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.6k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Fireside Chat
paigeccino
41
3.7k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.2k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
720
The Cost Of JavaScript in 2023
addyosmani
55
9.3k
Writing Fast Ruby
sferik
630
62k
Transcript
Re:valua t ion https://fril.jp/ L ead & Delight User F
irst Ownership Fail Smart ґଘؔͷগͳ͍ςετͷॻ͖ํ
ࣗݾհ
!LFOLBUPO !LFOLBUPO ϥΫϚͰαʔόʔαΠυΛ த৺ʹΤϯδχΞͬͯΔຽ ࣗݾհ ͔ͱ͚Μ
ґଘؔͷগͳ͍ςετͷॻ͖ํ
ࠓ͢͜ͱ w ґଘؔͷ͋ΔςετͬͯԿͧʁ w ͜Μͳײ͡ͰࢲϋϚͬͨΑɺͯͬ w ελϒͰςετίʔυΛॻ͖͢ w
ࣅͨͷͰϞοΫͱ͔͍͏ݴ༿͋ΔΑͳ w ͓ΘΓʹ
ґଘؔͷ͋ΔςετͬͯԿͧʁ
ґଘؔͷ͋ΔςετͬͯԿͧʁ ͏ʔʔΜɺݴ༿Ͱઆ໌͕͍͠ͷͰ ࢲ͕ϋϚͬͨͷʹ͍ۙྫΛ࡞ͬͯΈ·ͨ͠ʂ
͜Μͳײ͡ͰࢲϋϚͬͨΑɺͯͬ લఏ ɾ͜͜ϙέϞϯͷੈքͰ͢ ɾͱ͍͏͜ͱɺϙέϞϯτϨʔφʔ͕ͨ͘͞Μ ɾϙέϞϯؔ࿈ͷࢪઃͨ͘͞Μ ɾ֤ࢪઃͷγεςϜվमΛΧτέϯ୲
͜Μͳײ͡ͰࢲϋϚͬͨΑɺͯͬ ֤ࢪઃͷγεςϜಠཱ͍ͯ͠Δ͕ʜ ϙέϞϯ ɹηϯλʔ ϙέϞϯ ɹδϜ ϠΝʔʔʂʂʂʂʂ ήʔϜ
ίʔφʔ
͜Μͳײ͡ͰࢲϋϚͬͨΑɺͯͬ ֤ࢪઃͷγεςϜಠཱ͍ͯ͠Δ͕ʜ ൚༻తͳ෦ڞ௨Խ ϙέϞϯ ɹηϯλʔ ϙέϞϯ ɹδϜ ϠΝʔʔʂʂʂʂʂ
ήʔϜ ίʔφʔ
͜Μͳײ͡ͰࢲϋϚͬͨΑɺͯͬ ֤ࢪઃͷγεςϜಠཱ͍ͯ͠Δ͕ʜ ൚༻తͳ෦ڞ௨Խ ϙέϞϯ ɹηϯλʔ ϙέϞϯ ɹδϜ ϠΝʔʔʂʂʂʂʂ
ήʔϜ ίʔφʔ 3BJMT" 3BJMT# 3BJMT$ Rails::Engine
͜Μͳײ͡ͰࢲϋϚͬͨΑɺͯͬ Rails A, B, C
͜Μͳײ͡ͰࢲϋϚͬͨΑɺͯͬ ൚༻తͳ෦ڞ௨Խ Rails::Engine ڞ௨ॲཧͷྫɿ w 5SBJOFSNBTUFS w
USBJOFSTςʔϒϧʹNBTUFS@GMHΧϥϜ
͜Μͳײ͡ͰࢲϋϚͬͨΑɺͯͬ Rails::Engine
͜Μͳײ͡ͰࢲϋϚͬͨΑɺͯͬ ͕͔ͩ͠͠ɺϲ݄ޙʜ NBTUFSTςʔϒϧ࡞ͬͯ ɹॴଐδϜใ͍࣋ͨͤͨʂ USBJOFSTςʔϒϧͱNBUFSTςʔϒϧΛ ର̍Ͱඥ͚ʂ
͜Μͳײ͡ͰࢲϋϚͬͨΑɺͯͬ Rails::Engine
͜Μͳײ͡ͰࢲϋϚͬͨΑɺͯͬ ͢ΔͱʜͳΜͱʜ
͜Μͳײ͡ͰࢲϋϚͬͨΑɺͯͬ ֤ࢪઃͷγεςϜͰʜ ϙέϞϯ ɹηϯλʔ ϙέϞϯ ɹδϜ ϠΝʔʔʂʂʂʂʂ ήʔϜ
ίʔφʔ ςετ͕௨Βͳ͘ͳͬͨʂʂ
͜Μͳײ͡ͰࢲϋϚͬͨΑɺͯͬ ͦΕͦͷͣɺͳͥͳΒʜ ɹ͜ͷΑ͏ͳFOHJOFͷ࣮༰ʹґଘͨ͠ςετͳΜ͔ͩΒͶ ʹΌΔ΄Ͳʂ
ελϒͰςετίʔυΛॻ͖͢
ελϒͰςετίʔυΛॻ͖͢ ՈͷๅɺελϒԽʂʂʂ ΄΄ʔ͏ʂ ελϒʹ͢Δ͜ͱͰ NBTUFS ͷ ɹ࣮༰ʹςετ͕ ɹɹɹґଘ͠ͳ͘ͳͬͨ
ελϒͰςετίʔυΛॻ͖͢ ͱ͜ΖͰελϒͬͯͳΜͶΜ
ελϒͰςετίʔυΛॻ͖͢ ελϒͱʜ ɹϝιουͷίʔυΛ࣮ࡍʹݺͼग़ͣ͞ʹϝιουΛݺͼग़͠ɺ ɹςετͰཉ͍͠Λฦ͢Α͏ʹ͢ΔͨΊͷࢦࣔͰ͢ɻ ʹΌΔ΄Ͳʂ
ελϒͰςετίʔυΛॻ͖͢ ࣅͨͷͰϞοΫͱ͔͍͏ݴ༿͋ΔΑͳ
ࣅͨͷͰϞοΫͱ͔͍͏ݴ༿͋ΔΑͳ ϞοΫͱʜ ɹಛఆͷϝιου͕࣮ߦ͞Ε͔ͨͲ͏͔Λ ɹҾසΛࢦఆͯ͠νΣοΫ͢ΔͷͰ͢ɻ ΄΄ʔ͏
ࣅͨͷͰϞοΫͱ͔͍͏ͷ͋ΔΑͳ ݴ༿Ͱઆ໌͞Ε͔ͯΒΜ͔ΒίʔυͰͦ͏ͳ ʹΌΔ΄Ͳʂ ʢίʔυ͕ςΩτʔ͗ͯ͢ ɹɹೣʹ͔͠ΘΒͳ͍Մೳੑʜʣ
ࣅͨͷͰϞοΫͱ͔͍͏ͷ͋ΔΑͳ ΊͬͪΌࡶʹҧ͍Λݴ͏ͱʜ ɹελϒɿຊདྷςετ͍ͨ͠ՕॴҎ֎Λ ɹɹɹɹɹɹɹͳΜͱͳ͍͍͘ײ͡ʹಈ͔͢ͷ ɹϞοΫɿςετ͍ͨ͠Օॴͦͷͷͷ ɹɹɹɹɹɹɹॲཧ͕هɾ֬ೝͰ͖Δͷ ΄΄ʔ͏ ͱݴͬͯ͘ΕʜͨͷΉʜ
ࣅͨͷͰϞοΫͱ͔͍͏ͷ͋ΔΑͳ ͜͏ͯ͠ϙέϞϯͷੈքฏʹͳͬͨͱ͞ ൚༻తͳ෦ڞ௨Խ ϙέϞϯ ɹηϯλʔ ϙέϞϯ ɹδϜ ϠΝʔʔʂʂʂʂʂ
ήʔϜ ίʔφʔ
͓ΘΓʹ
͓ΘΓʹ ·ͱΊΔͱ w ελϒͱ͔ϞοΫศརͩΑͶ w ґଘؔͷͳ͍ςετॻ͚ͪΌ͏ w Ͱ͏λΠϛϯάݟۃΊΑ͏Ͷ
w ςετͨͭ͠ΓͳͷʹͰ͖ͯͳ͍ͱ͔ٽ w ελϒͱϞοΫͷҧ͍Λશʹཧղͨ͠ΑͶ ͏Ή
͓ΘΓʹ ࢀߟࢿྉɿ w IUUQTUFDISBDIPCQTJODKQIBDIJ@@ w IUUQTUFDISBDIPCQTJODKQIBDIJ@@ w IUUQTUFDISBDIPCQTJODKQIBDIJ@@
w IUUQTRJJUBDPN4B,OJHIUJUFNTGDBBFEFCEBD
None