Slide 1

Slide 1 text

StubcellΛ࢖ͬͯ ϑϩϯτ΍ΞϓϦͷ ։ൃޮ཰Λ͋͛Α͏ @sussan_0416 2017/01/19ɹएखΤϯδχΞLT #3

Slide 2

Slide 2 text

ླ໦޹޺ʢ@sussan_0416ʣ • 2015೥৽ଔೖࣾʢ3೥໨ ·ͩएखʣ • Android/iOSΞϓϦΤϯδχΞ
 ʢJava, Kotlin, Swiftʣ • ݱࡏ͸ɺ޿ࠂ഑৴Λ࠷దԽ͢Δػց ֶशΛ୲౰
 ʢpython, Dataflow, PHP etc..ʣ 

Slide 3

Slide 3 text

֓ཁ 1. ϑϩϯτଆ։ൃ͋Δ͋Δͷ࿩ 2. Stubcellͷಋೖํ๏ͱ࢖͍ํ 3. StubcellΛࣾ಺Ͱ࢖ͬͨࣄྫ 

Slide 4

Slide 4 text

ϑϩϯτ΍ΞϓϦͷ։ൃͰ 

Slide 5

Slide 5 text

Α͋͘Δʮ΋΍΋΍ʯ 

Slide 6

Slide 6 text

1. APIΑΓϑϩϯτͷ։ൃ͕ ઌߦͪ͠Όͬͨ 

Slide 7

Slide 7 text

2. σόοά͍͚ͨ͠Ͳ API͔Βҙਤͨ͠Ϩεϙϯε͕ ฦͬͯ͜ͳ͍ 

Slide 8

Slide 8 text

3. ֎෦ͷAPIΛ࢖͍ͬͯͯɺ SandboxϞʔυ͕ແ͍ 

Slide 9

Slide 9 text

։ൃͰΑ͋͘ΔϞϠϞϠ • APIΑΓϑϩϯτ͕։ൃઌߦͨ͠
 ˠ ͤΊͯURI͚ͩͰ΋༻ҙ͠ͱ͍ͯ΄͍͠ʂ • API͔Βҙਤͨ͠Ϩεϙϯε͕ฦͬͯ͜ͳ͍
 ˠ ϥϯμϜੑͷ͋Δ΋ͷͳͲ͸ݕূ͕ࠔ೉ʂ • SandboxϞʔυ͕ແ͍
 ˠ ֎෦ͩͬͨΒͳ͓͞Β೉͍͠ 

Slide 10

Slide 10 text

APIΛϞοΫͨ͠Βղܾʂ 

Slide 11

Slide 11 text

Stubcell ͬͯͷ͕͋ΔΒ͍͠  Stubcell https://github.com/yosuke-furukawa/stubcell

Slide 12

Slide 12 text

Stubcell • JSONΛฦ͢͜ͱʹಛԽͨ͠stubαʔόʔ • Ϩεϙϯε಺༰Λఆٛ͢ΔϑΝΠϧʹɺίϝ ϯτΛॻ͖ࠐΊΔʢJSON5ରԠʣ Stubcell ϞοΫ͍ͯ͠ͳ͍URI͸ɺຊདྷͷAPIʹϦΫΤετ͢Δ ϞοΫͨ͠URI͸ɺStubcell͔ΒϨεϙϯε 

Slide 13

Slide 13 text

ಋೖํ๏ 

Slide 14

Slide 14 text

npmͰΠϯετʔϧ $ npm -g install stubcell npm WARN deprecated [email protected]: Use uuid module instead /usr/local/bin/stubcell -> /usr/local/lib/node_modules/stubcell/bin/ stubcell.js + [email protected] added 110 packages in 14.713s 

Slide 15

Slide 15 text

࢖͍ํ͸3εςοϓ! • entry.yamlΛॻ͘ʢStubαʔόͷઃఆʣ • ֤URIͷϨεϙϯεΛςΩετϑΝΠϧʹॻ͘ • ίϚϯυϥΠϯ͔Βىಈ͢Δ 

Slide 16

Slide 16 text

͔ΜͨΜ! 

Slide 17

Slide 17 text

entry.yamlʢجຊྫʣ # جຊ - request: url: /hoge method: get response: status: 200 file: hoge.json # ௚઀ϨεϙϯεΛॻ͍ͨྫ - request: url: /fuga method: get response: status: 200 body: '{"text": ";͕ͩͶ"}' ←/hogeͷϦΫΤετʹ͸ ɹhoge.jsonͷ಺༰Λฦ͢ ʢී௨ͷςΩετͰ΋OKʣ ←bodyύϥϝʔλʹ ɹ௚઀ॻ͍ͨྫ 

Slide 18

Slide 18 text

͋ͱ͸ىಈ͢Δ͚ͩ $ stubcell Listening on 8090 entry yaml is /Users/ta_suzuki/Documents/stubcell/entry.yaml silent is false record proxy is undefined loose compare undefined $ stubcell --port 3000ɹɹˡ ϙʔτͷࢦఆ $ stubcell --entry ./entry.yamlɹɹˡ entryϑΝΠϧͷࢦఆ $ stubcell --record_target http://echo.jsontest.comɹɹˡ αʔόͷࢦఆ 

Slide 19

Slide 19 text

͔ΜͨΜ!! γϯϓϧ!! 

Slide 20

Slide 20 text

ࣾ಺Ͱ࢖ͬͨࣄྫ 

Slide 21

Slide 21 text

εϚϗΞϓϦ։ൃ Stubcell PC γϛϡϨʔλ ։ൃAPI ։ൃதͷURIΛϞοΫ ։ൃࡁΈͷURI͸௨ա ։ൃதͷURIΛϞοΫͯ͠ɺ։ൃޮ཰Λ্͛Δྫ APIଆͷ։ൃͷਐḿʹӨڹ͞Εͣɺϑϩϯτଆͷ։ൃΛਐΊΒΕΔΑ͏ʹͳͬͨ!! 

Slide 22

Slide 22 text

֎෦API΋ར༻ͷϑϩϯτ։ൃ ։ൃAPI ֎෦API Stubcell PC ֎෦ͷAPIΛ࢖༻͍ͯ͠ΔՕॴΛϞοΫͯ͠ɺ։ൃޮ཰Λ্͛Δྫ ِ૷ͨ͠JSONΛฦ͢ ΋͸΍઀ଓ͠ͳ͍ ֎෦APIͷϨεϙϯεΛِ૷Ͱ͖Δ͔Βɺσόοά͠΍͘͢ͳͬͨ!! 

Slide 23

Slide 23 text

ಋೖͯ͠Α͔ͬͨ͜ͱ • APIଆͷ։ൃͷਐḿʹ͔͔ΘΒͣҰ௨Γͷಈ࡞ ֬ೝ͕Ͱ͖Δ • ҙਤͨ͠ϨεϙϯεΛฦͤΔ͔Βσόοά͠΍ ͍͢ • entry.yaml΍Ϩεϙϯεͷ಺༰͸࢓༷ॻʹͳΔ ͠ɺςΩετఆ͔ٛͩΒgit؅ཧ͠΍͍͢ 

Slide 24

Slide 24 text

·ͱΊ • ։ൃதʹΑ͋͘Δʮ΋΍΋΍ʯ
 APIͷ։ൃঢ়گ΍ɺ֎෦ͷAPIͷڍಈʹӨڹ͞Εͣʹ։ൃ͍ͨ͠ͱ͖ͬͯ͋ΔΑͶ • StubcellΛ࢖͏ͱɺAPIΛϞοΫͰ͖ͯศར
 npm -g install stubcell
 entry.yamlΛॻ͘ɺϨεϙϯεΛϑΝΠϧʹॻ͘ɺstubcellͰىಈ͢Δ • StubcellΛࣾ಺Ͱ࢖ͬͨࣄྫ
 εϚϗΞϓϦ։ൃͱ֎෦APIΛ࢖ͬͨϑϩϯτΞϓϦͷࣄྫΛ঺հ