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
When we should use stub and mock
Search
kenkaton
July 31, 2020
0
290
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
230
About Strict Memoization
kenkaton
0
430
Featured
See All Featured
Building Adaptive Systems
keathley
43
2.6k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Raft: Consensus for Rubyists
vanstee
140
7k
Adopting Sorbet at Scale
ufuk
77
9.4k
GitHub's CSS Performance
jonrohan
1031
460k
Code Review Best Practice
trishagee
68
18k
VelocityConf: Rendering Performance Case Studies
addyosmani
330
24k
The Straight Up "How To Draw Better" Workshop
denniskardys
234
140k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
60k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
17
940
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
How to Think Like a Performance Engineer
csswizardry
24
1.7k
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