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
VCR in Go:モック自動生成で楽しちゃう話
Search
yyh_gl
January 23, 2020
Technology
4k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
VCR in Go:モック自動生成で楽しちゃう話
DMM.go #1 登壇スライド
ブログ↓
https://yyh-gl.github.io/tech-blog/blog/golang-vcr/
yyh_gl
January 23, 2020
More Decks by yyh_gl
See All by yyh_gl
LINEマンガを支えるCoroutine / Coroutine in LINE Manga
yyh_gl
0
78
Kotlin言語仕様書への招待 〜コードの「なぜ」を読み解く〜 / Kotlin Language Specification
yyh_gl
0
160
入門Go言語仕様輪読会 Assignability / Go Language Specification Assignability
yyh_gl
0
300
事業をグロースさせるためにエンジニアができること / What engineers can do to grow a business
yyh_gl
2
1.7k
Goaを使ってAPIサーバ開発してみた / Develop API server by Goa
yyh_gl
3
2.8k
Other Decks in Technology
See All in Technology
WasmをRustにする
sansantech
PRO
0
280
実践! SRE × AI - ABEMA における AIOps -
tetsuya28
8
3.1k
LambdaWebFunctionsを試してみた / exploring-lambda-web-functions
koukihosaka
1
360
サブエージェントと Claude Mods で作る独自 Advisor ツールの話
kenichiodo
2
170
Conditional PED-ANOVA: Hyperparameter Importance in Hierarchical & Dynamic Search Spaces
pfn
PRO
0
140
Tofu-Controller lightning talk @ Containerday 2026
gionn
0
120
ブラウザとサーバーから考えるAI時代のフロントエンド監視
shogo4131
3
1k
AIがコードを書く時代に、エンジニアは何で自分の価値を証明するのか / In an era where AI writes code how do engineers prove their value
carta_engineering
3
1.1k
大型犬好きによるPugの紹介
yamanoku
1
160
"優秀な誰か"の下位互換にならないために
yut0naga1_fa
1
1.8k
1つのリクエストを追って理解する - llm-dのP/D分離
akhino
1
170
事業成長とデータ活用を止めないためのマネジメントへ挑戦
hiracky16
0
400
Featured
See All Featured
The Invisible Side of Design
smashingmag
301
52k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
How to Think Like a Performance Engineer
csswizardry
28
2.9k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.9k
Rails Girls Zürich Keynote
gr2m
96
14k
Optimising Largest Contentful Paint
csswizardry
37
4k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
77k
Un-Boring Meetings
codingconduct
0
460
Site-Speed That Sticks
csswizardry
13
1.6k
The agentic SEO stack - context over prompts
schlessera
0
970
Transcript
7$3JO(PɿϞοΫࣗಈੜͰָͪ͠Ό͏
ࣗݾհ 5XJUUFSɿ!ZZI@HMʢIPO%ʣ (JU)VCɿZZIHM ϓϥοτϑΥʔϜ෦ όοΫΤϯυΤϯδχΞ (P%%%ΞʔΩςΫνϟ ΄Μͩ
3 ςετॻ͍͍ͯ·͔͢ʁ
>> ֎෦γεςϜΛ༻͢Δςετ w֎෦γεςϜ͕ఏڙ͢Δ"1*Λ༻͢Δػձ͕૿Ճ w ଞࣾαʔϏε w ࣾγεςϜ w ϚΠΫϩαʔϏε w֎෦γεςϜΛϞοΫԽ
4
5 ϞοΫͷཧ͋Δ͋Δ
6 ϞοΫͷཧ͋Δ͋Δ ʮϞοΫ͔ͩΒಈ͚͍͔ͬʯ
7 ϞοΫͷཧ͋Δ͋Δ ʮϞοΫ͔ͩΒಈ͚͍͔ͬʯ ͕ଓ͖
8 ϞοΫͷཧ͋Δ͋Δ ʮϞοΫ͔ͩΒಈ͚͍͔ͬʯ ͱͯਓ͕ಡΊͨίʔυ͡Όͳ͘ͳΔ ͕ଓ͖
9 ϞοΫͷཧ͋Δ͋Δ ʮϞοΫ͔ͩΒಈ͚͍͔ͬʯ ͱͯਓ͕ಡΊͨίʔυ͡Όͳ͘ͳΔ ͕ଓ͖ ͍͔ͭ͠ຊདྷͷ༷ͱࠩҟ͕ੜ·Ε͡ΊΔ
10 ϞοΫͷཧ͋Δ͋Δ ʮϞοΫ͔ͩΒಈ͚͍͔ͬʯ ͱͯਓ͕ಡΊͨίʔυ͡Όͳ͘ͳΔ ͕ଓ͖ ͍͔ͭ͠ຊདྷͷ༷ͱࠩҟ͕ੜ·Ε͡ΊΔ aϞοΫͷཧͭΒ͍
11 ͭΒ͍ ͩΔ͍ ͩ ΄͛ʔ
12 ϞοΫͷཧ͋Δ͋Δ ʮϞοΫ͔ͩΒಈ͚͍͔ͬʯ ͱͯਓ͕ಡΊͨίʔυ͡Όͳ͘ͳΔ ͕ଓ͖ ͍͔ͭ͠ຊདྷͷ༷ͱࠩҟ͕ੜ·Ε͡ΊΔ
>> ϞοΫಠΓา͖ w࠷ॳ༷௨ΓͩͬͨϞοΫ͕ ͍͔༷͔ͭ͠Β֎ΕɺಠΓา͖࢝͠ΊΔݱ wʮϩʔΧϧͰಈ͍͍ͯͨͷʹʜʯͱݴ͍ग़͢ ਓ͕૿͑Δ 13
>> ͳ༷͕ͥͣΕͯ͘Δʁ wଟ͘ͷ߹ɺϨεϙϯε͚ͩΛݟͯϞοΫΛ࡞Δ w ࣾ֎γεςϜͷ߹ɺ෦࣮͕Ͳ͏ͳͬͯΔ͔ جຊతʹΔज़͕ͳ͍ w ʢࣾͷʣυΩϡϝϯτʹ༷ͳΜͯ͋Γ͑ͳ͍ʢܾΊ͚ͭʣ wਓΈΜͳϛεΛ͢Δ wϞοΫͷίʔυ͓Ζ͔ͦʹ͞Ε͕ͪ
w zಈ͚0,zͷਫ਼ਆ wΊΜͲ͍ 14
>> ͳ༷͕ͥͣΕͯ͘Δʁ wଟ͘ͷ߹ɺϨεϙϯε͚ͩΛݟͯϞοΫΛ࡞Δ w ࣾ֎γεςϜͷ߹ɺ෦࣮͕Ͳ͏ͳͬͯΔ͔ جຊతʹΔज़͕ͳ͍ w ʢࣾͷʣυΩϡϝϯτʹ༷ͳΜͯ͋Γ͑ͳ͍ʢܾΊ͚ͭʣ wਓΈΜͳϛεΛ͢Δ wϞοΫͷίʔυ͓Ζ͔ͦʹ͞Ε͕ͪ
w zಈ͚0,zͷਫ਼ਆ wΊΜͲ͍ 15 ৽ͨͳγεςϜ͕ੜ
>> ϞοΫಠΓา͖ͷରԠࡦ wΊͪΌͪ͘ΌؾΛ͚ͭͯϞοΫΛखಈ࡞ w ίʔυϨϏϡʔؤுΔ w ͱʹ͔͘ؤுΔ w ͱʹ͔͘ؾΛ͚ͭΔ wϞοΫίʔυΛࣗಈੜ
w 0QFO"1*ʢ4XBHHFSʣ w 7JEFP$BTTFUUF3FDPSEFS 16
>> ϞοΫಠΓา͖ͷରԠࡦ wΊͪΌͪ͘ΌؾΛ͚ͭͯϞοΫΛखಈ࡞ w ίʔυϨϏϡʔؤுΔ w ͱʹ͔͘ؤுΔ w ͱʹ͔͘ؾΛ͚ͭΔ wϞοΫίʔυΛࣗಈੜ
w 0QFO"1*ʢ4XBHHFSʣ w7JEFP$BTTFUUF3FDPSEFS 17
>> 7$3ʢ7JEFP$BTTFUUF3FDPSEFSʣ w௨৴༰Λอଘ͠ɺ࠶ੜ͢ΔϥΠϒϥϦ܈ͷ૯শ w ςετʹ͓͍ͯɺ"1*ϦΫΤετͷ௨৴ͷ༰Λ อଘ͠ɺ࣍ճҎ߱ͦͷอଘ༰ʢϨεϙϯεʣΛ ͍ճ͢͜ͱ͕Մೳ w 3VCZͷWDSWDS͕༗໊ 18
࣮֬ʹ ࣮ࡍͷϨεϙϯεΛϞοΫԽՄೳ a͔͠ɺࣗಈੜ
>> (Pʹ͓͚Δ7$3ϥΠϒϥϦ wEOBFPOHPWDSʢ⭐ʣ w$PNCP4USJLF)2WDSHPʢ⭐ʣ wTFCPSBNBHPWDSʢ⭐ʣ wSQDSFQMBZʢ⭐ʣ w H31$༻ w HPPHMFBQJTHPPHMFDMPVEHPʹแؚ͞ΕΔ
ύοέʔδͳͷͰHPPHMFDMPVEHPͱͯ͠ͷελʔ 19
>> (Pʹ͓͚Δ7$3ϥΠϒϥϦ wEOBFPOHPWDSʢ⭐ʣ w$PNCP4USJLF)2WDSHPʢ⭐ʣ wTFCPSBNBHPWDSʢ⭐ʣ wSQDSFQMBZʢ⭐ʣ w H31$༻ w HPPHMFBQJTHPPHMFDMPVEHPʹแؚ͞ΕΔ
ύοέʔδͳͷͰHPPHMFDMPVEHPͱͯ͠ͷελʔ 20
>> EOBFPOHPWDS wWDSWDSʹΠϯεύΠΞ͞Εͯ࡞ΒΕͨϥΠϒϥϦ wSQDSFQMBZΛআ͚࠷ελʔ͕ଟ͍ wIUUQ$MJFOUͷ5SBOTQPSUʹHPWDSͰ༻ҙ͞Εͨ 5SBOTQPSUʢIUUQ3PVOE5SJQQFSʣΛ ༻͢Δ͜ͱͰϨεϙϯεͷอଘΛ࣮ݱ 21
>> ࣮ྫ wɺɺɺͷલʹ༻ޠઆ໌ w 3FDPSEFS w ϨεϙϯεΛه͢Δͭ w ࣮ଶIUUQ3PVOE5SJQQFSΠϯλʔϑΣʔεΛຬͨͨ͠ ߏମ
w $BTTFUF w อଘͨ͠Ϩεϙϯεͷ༰͕ೖͬͯΔϑΝΠϧ w ZBNMϑΝΠϧ 22
>> ࣮ྫ wIUUQ$MJFOUΛ֎෦͔ΒೖͰ͖ΔΑ͏ʹ͢Δ w HBUFXBZ֎෦"1*ͱͷΓͱΓΛநԽͨ͠ͷ ʢσʔλιʔε͕"1*ͷSFQPTJUPSZͱ͍͏Πϝʔδʣ 23
>> ࣮ྫ wIUUQ$MJFOUΛ֎෦͔ΒೖͰ͖ΔΑ͏ʹ͢Δ w HBUFXBZ֎෦"1*ͱͷΓͱΓΛநԽͨ͠ͷ ʢσʔλιʔε͕"1*ͷSFQPTJUPSZͱ͍͏Πϝʔδʣ 24
>> ࣮ྫ w3FDPSEFSͷੜ͓ΑͼIUUQ$MJFOUͷࠩ͠ࠐΈ 25 ˢ͜͜Ͱ༻ҙͨ͠IUUQ$MJFOUΛ௨ΔϨεϙϯεશͯอଘ͞ΕΔ
>> ࣮ྫ w3FDPSEFSͷੜ͓ΑͼIUUQ$MJFOUͷࠩ͠ࠐΈ 26 ˢ͜͜Ͱ༻ҙͨ͠IUUQ$MJFOUΛ௨ΔϨεϙϯεશͯอଘ͞ΕΔ
>> ࣮ྫ w3FDPSEFSͷੜ͓ΑͼIUUQ$MJFOUͷࠩ͠ࠐΈ 27 ˢ͜͜Ͱ༻ҙͨ͠IUUQ$MJFOUΛ௨ΔϨεϙϯεશͯอଘ͞ΕΔ
>> ࣮ࡍʹςετΛճͯ͠ΈΔͱʜ w$BTTFUFʹϨεϙϯε༰͕อଘ͞Ε͍ͯΔ 28
>> ࣮ࡍʹςετΛճͯ͠ΈΔͱʜ w$BTTFUFʹϨεϙϯε༰͕อଘ͞Ε͍ͯΔ 29
>> ϦΫΤετͷಉҰੑʹ͍ͭͯ wσϑΥϧτͰԼهύϥϝʔλ͕ಉ͡Ͱ͋Ε ಉҰͷϦΫΤετͱͯ͠ఆ w )551ϝιου w ϦΫΤετઌͷ63- wϧʔϧΧελϜՄೳ w
4FU.BUDIFS ʹΑΓಉҰੑνΣοΫͷํࣜΛ มߋՄೳ 30 ʮಉ͡ʯϦΫΤετอଘ༰Λ͍ճ͕͢ʮಉ͡ʯͷ݅ʁʁ
>> อଘ༰Λमਖ਼͢Δ߹ wϨεϙϯεͷमਖ਼͕ඞཁʹͳͬͨ߹ΧηοτΛ ফͤ0, w HPWDSͰɺΧηοτ͕ଘࡏ͠ͳ͍߹ʹ Ϩεϙϯε༰ͷอଘॲཧΛ࣮ߦ w ZBNMΛमਖ਼ w
ಡΈ͍͢ZBNMϑΝΠϧͳͷͰखͰ͢ͷ Ͱ͖ͳ͘ͳ͍Ͱ͕͢ɺ͋·Γ͓͢͢Ί͠·ͤΜ 31
>> ฐνʔϜͰͷӡ༻ํ๏ w45(ڥͷϨεϙϯεΛอଘ wςετؔʢ5FTU9YY ʣ͝ͱʹΧηοτΛ༻ҙ w$BTTFUFϧʔτσΟϨΫτϦԼͷ DBTTFUUFTσΟϨΫτϦʹ อଘ 32
>> ϝϦοτ wϞοΫίʔυΛࣗಈੜͰ͖Δ wϞοΫͱ࣮γεςϜؒͷ༷ͷͣΕ͕ͳ͘ͳͬͨ wϞοΫͷϦϙδτϦͱίϯςφΠϝʔδΛফͤͨ w EPDLFSDPNQPTFͷىಈΛߴԽ wςετʹཁ͢Δ࣌ؒΛॖ w )551௨৴ˠϑΝΠϧಡΈࠐΈ
33
>> ςετ࣌ؒͷॖ 34 ॳճ ճҎ߱
>> σϝϦοτ wϞοΫΛमਖ਼͢Δ͍͞ʹɺ ༗ޮͳΞΫηετʔΫϯΛऔಘ͠ͳ͓͢ඞཁ͕͋Δ ˠجຊతʹϞοΫमਖ਼ʹ֎෦γεςϜ͕༷มߋ͢Δͱ͖ͳͷͰ ɹଟൃ͢ΔࣄͰͳ͍ wΧηοτ୯ҐͰϨεϙϯε͕อଘ͞ΕΔ ˠΧηοτͷͻͱͭͷϦΫΤετʹ͓͍ͯ ɹϨεϙϯεͷอଘʹࣦഊͨ͠߹ɺ ɹશϦΫΤετΛอଘ͠ͳ͓͢ඞཁ͕͋Δ
ʢճආࡦ͕ͳ͍Θ͚Ͱͳ͍͕ʜʣ 35
>> Χηοτ୯ҐͰͷϨεϙϯεอଘ wΧηοτʹ ෳͷϦΫΤετ͕ อଘ͞Ε͍ͯΔ w ਖ਼ৗܥ w ҟৗܥ 36
ҟৗܥͷϦΫΤετ ਖ਼ৗܥͷϦΫΤετ
>> Χηοτ୯ҐͰͷϨεϙϯεอଘ wҟৗܥͷϦΫΤετͷΈ मਖ਼ͨ͘͠ͳͬͨ߹ wΧηοτ୯ҐͰআ w ਖ਼ৗܥͷอଘ༰ফ͑Δ w ݸผͰमਖ਼͢ΔͳΒ ZBNMΛ৮Δ͔͠ͳ͍
37 ҟৗܥͷϦΫΤετ ਖ਼ৗܥͷϦΫΤετ ༷มߋʹؾͮ͘ ػձʹͳΔͷͰϝϦοτʹͳΓ͑Δ
>> ·ͱΊ wϞοΫΛ͍͔ͪΒखͰ࡞Δඞཁ͕ͳ͘ͳΔ w࣮ࡍͷϨεϙϯεΛอଘ͢ΔͷͰ ϞοΫͱ࣮γεςϜؒͰ༷ͷࠩҟ͕ͳ͘ͳΔ wʮϩʔΧϧͰಈ͍ͨͷʹʜʯ͕ݮΔʂʢͣʣ 38 7$3͕࣮ݱ͢Δ࠷ߴͷ%9