Slide 1

Slide 1 text

3BJMTͷઃܭ ʙίϯτϩʔϥͷ ϝλϘΛ๷͛ʙ גࣜձࣾϚπϦΧ /PUJBࣄۀ੹೚ऀ݉4FOTFTϓϩμΫτϚωʔδϟʔ "ZVNV4VNJEB

Slide 2

Slide 2 text

ࣗݾ঺հ

Slide 3

Slide 3 text

גࣜձࣾ ϚπϦΧ 4FOTFT 4'"$3. /PUJB &NBJM5SBDLJOH 3BJMTPS3FBDU ΤϯδχΞ ઈࢍืूதͰ͢ʂ

Slide 4

Slide 4 text

w େֶߦ͖ͳ͕Β*5ϕϯνϟʔاۀͰ໿೥ؒ༗ঈΠϯλʔϯ w 1)1 .Z42- $BLF1)1 Y 8PSEQSFTT $ "41 /&5 w ౦ࣳ৘ใγεςϜגࣜձࣾͰ೥ؒϔϧεέΞࣄۀʹैࣄ w 7#/&5 $ 0SBDMF%BUBCBTF w ̍ਓͰىۀ͠Α͏ͱࢼΈΔ͕ࣦഊ w 3VCZPO3BJMT 'VFM1)1 .Z42- "84 "OTJCMF w גࣜձࣾϚπϦΧʹΤϯδχΞೋਓ໨ͷ૑ۀϝϯόʔͱͯ͠+PJO w /PUJBࣄۀ੹೚ऀ݉4FOTFTϓϩμΫτϚωʔδϟʔ w 3VCZPO3BJMT "OHVMBS+4 .Z42- "84 ܦྺ

Slide 5

Slide 5 text

ίϯτϩʔϥͷϝλϘ Λ๷͛

Slide 6

Slide 6 text

w 41"ߏ੒ͷΞϓϦέʔγϣϯͷઃܭΛ૝ఆͯ͠࡞ΒΕͨ಺༰ w 3BJMT͸"1*ͱͯ͠ར༻͢Δ૝ఆ લఏ

Slide 7

Slide 7 text

w ݻ༗ͷϢʔεέʔεΛຬͨͦ͏ͱ͢Δઃܭࢥ૝ w ͭͷίϯτϩʔϥʹϝιουΛੜ΍͠·͘Δ w ͭͷϝιου಺ͰΤϯυϙΠϯτΛ෼͚ͨ΄͏͕ྑ͍Α͏ͳ ॲཧͷ෼ذ͕ଟ਺ ίϯτϩʔϥͷϝλϘͷݪҼ܊

Slide 8

Slide 8 text

ରࡦ͸3&45GVM"1*ʹ ͋Δ

Slide 9

Slide 9 text

3&45GVM"1*ʹԊͬͯ஧࣮ʹ։ൃΛͰ͖ͯΔʁ✋

Slide 10

Slide 10 text

w ΞυϨεՄೳੑ "EESFTTBCJMJUZ w ఏڙ͢Δ৘ใ͕63*Λ௨ͯ͠දݱͰ͖Δ͜ͱɻશͯͷ৘ใ͸63*Ͱදݱ͞ΕΔҰҙͳΞυϨεΛ࣋ͬ ͍ͯΔ͜ͱɻ w εςʔτϨεੑ 4UBUFMFTT w )551Λϕʔεʹͨ͠εςʔτϨεͳΫϥΠΞϯταʔόϓϩτίϧͰ͋Δ͜ͱɻηογϣϯ౳ͷ ঢ়ଶ؅ཧ͸ͤͣɺ΍ΓऔΓ͞ΕΔ৘ใ͸ͦΕࣗମͰ׬݁ͯ͠ղऍͰ͖Δ͜ͱɻ w ઀ଓੑ $POOFDUBCJMJUZ w ৘ใͷ಺෦ʹɺผͷ৘ใ΍ ͦͷ৘ใͷผͷ ঢ়ଶ΁ͷϦϯΫΛؚΊΔ͜ͱ͕Ͱ͖Δ͜ͱɻ w ౷ҰΠϯλʔϑΣʔε 6OJGPSN*OUFSGBDF w ৘ใͷૢ࡞ औಘɺ࡞੒ɺߋ৽ɺ࡟আ ͸શͯ)551ϝιου (&5ɺ1045ɺ165ɺ%&-&5& Λར༻͢ Δ͜ͱɻ ˞ࢀߟIUUQTRJJUBDPN/BHBPLB,FOJDIJJUFNTDFGDFEGCG 3&45ͬͯͳΜ͚ͩͬ

Slide 11

Slide 11 text

w 3&45ͷݪଇʹଇͬͯߏங͞Εͨ8FCγεςϜͷ)551Ͱͷݺ ͼग़͠ΠϯλʔϑΣʔεͷ͜ͱ 3&45GVM"1*ͬͯͳΜ͚ͩͬ

Slide 12

Slide 12 text

ͳͥ3&45GVM"1*͕ର ࡦʹͳΔͷ͔

Slide 13

Slide 13 text

w ;BMBOEPʢβϥϯυΡʣ͕ग़͍ͯ͠Δ"1*ΨΠυϥΠϯʹҎԼͷΑ͏ͳݴ ༿͕͋Δ w l3&45GVM"1*͸ɺݻ༗ͷϢʔεέʔε͔Β͸੾Γ཭͞ΕɺΫϥΠΞϯ ταʔόΛૄ݁߹ʹ͢Δ܏޲ʹ͋Γ·͢z w IUUQTSFTUGVMBQJHVJEFMJOFTKBOFUMJGZDPNBQJEFTJHOQSJODJQMFT w 3&45Ͱߏ੒͞Εͨ0QFO"1*Ͱ͸ݻ༗ͷϢʔεέʔεʹԊͬͨ"1*Λग़͠ ͍ͯΔͱ͜͸ݟͨ͜ͱ͕ແ͍ w 3&45GVM"1*͸ݻ༗ͷϢʔεέʔε͔Β੾Γ཭͞Ε͍ͯΔͱߟ͍͑ͯ ͍ 3&45GVM"1*͸ݻ༗ͷϢʔεέʔε͔Β੾Γ཭͢

Slide 14

Slide 14 text

w ӈͷ5SFMMPͷϖʔδΛදࣔ͢Δͷ ʹ͸ɺ#PBSE -JTU $BSE "DUJWJUZ ͳͲͷ৘ใ͕ඞཁͰ৭ʑͳϦιʔ ε͕͋Δ͕ɺྫ͑͹ͭͷ"1*Λୟ ͘ͱશͯͷϦιʔε͕Ͱ͖ɺӈͷ ϖʔδΛදࣔ͢Δ͜ͱ͕Ͱ͖Δɺ ͱ͍͏ͷ͸ʮ͋ΔϖʔδΛ։ͨ͘ Ίͷ"1*ʯͱ͍͏͜ͱͰݻ༗ͷ ϢʔεέʔεʹͳΔ w ͜ΕΛ΍Δͱ૝૾Ͱ͖ΔΑ͏ʹί ϯτϩʔϥ͕ϝλϘʹͳΔ ݻ༗ͷϢʔεέʔεͷۃ୺ͳྫ

Slide 15

Slide 15 text

w ઌఔͷ#PBSE -JTU $BSE "DUJWJUZͦΕͧΕͷϦιʔεΛऔಘ͢ ΔͨΊͷ"1*͕͋Δ w IUUQTEFWFMPQFSTUSFMMPDPNSFGFSFODFJOUSPEVDUJPO w ͱͯ΋៉ྷͳͷͰɺઃܭͰ೰Μͩͱ͖ʹΑ͘ݟΔ 5SFMMP͸៉ྷͳ3&45GVM"1*

Slide 16

Slide 16 text

w ίϯτϩʔϥͷॲཧΛϞσϧʹಀͯ͠ίϯτϩʔϥͷϝλϘΛ ճආ͢Δͷ͸ਖ਼͍͠ରࡦͰ͸ͳ͍ w ˠϞσϧ͕ϝλϘʹͳΓɺӅΕϝλϘʹͳΔ ؒҧͬͨରࡦ

Slide 17

Slide 17 text

3BJMTͰϝλϘʹͳΒͳ͍ͨ Ίͷίϯτϩʔϥͷॻ͖ํͱ ͸

Slide 18

Slide 18 text

class ItemsController < ActionController::API # GET /items def index; end # GET /items/{id} def show; end # POST /items def create; end # PATCH /items/{id} def update; end # DELETE /items/{id} def destroy; end end ϝλϘʹͳΒͳ͍ͨΊͷίϯτϩʔϥͷॻ͖ํͱ͸

Slide 19

Slide 19 text

*UFNͷ$47ҰׅܥͷॲཧΛೖΕ͍ͨͷͰϝιουΛ ௥Ճ͠Α͏

Slide 20

Slide 20 text

class ItemsController < ActionController::API # GET /items def index; end # GET /items/{id} def show; end # POST /items def create; end # PATCH /items/{id} def update; end # DELETE /items/{id} def destroy; end # POST /items_bulk def bulk_create; end # ͜Ε͸΍Βͳ͍΄͏͕͍͍ # PATCH /items_bulk def bulk_update; end # ͜Ε͸΍Βͳ͍΄͏͕͍͍ end ϝλϘʹͳΔίϯτϩʔϥͷॻ͖ํ

Slide 21

Slide 21 text

class ItemsController < ActionController::API # GET /items def index; end # GET /items/{id} def show; end # POST /items def create; end # PATCH /items/{id} def update; end # DELETE /items/{id} def destroy; end end class Bulk::ItemsController < ActionController::API # POST /bulk/items def create; end # PATCH /bulk/items def update; end end ϝλϘʹͳΓʹ͘ίϯτϩʔϥͷॻ͖ํ

Slide 22

Slide 22 text

w ॳΊ͸׳Εͳ͍͔΋͠Εͳ͍͕ɺͲΜͳϦιʔε JUFN VTFS QBZNFOU Ͱ͋ͬͯ΋ɺJOEFY TIPX DSFBUF VQEBUF EFTUSPZϝ ιουͰ࡞੒͢Δ w %))ࢯ͕ݴ͍ͬͯΔ w IUUQTQPTUEDDIPXEIIPSHBOJ[FTIJTSBJMTDPOUSPMMFST ίϯτϩʔϥͷॻ͖ํʹ౷ҰੑΛ

Slide 23

Slide 23 text

৭ʑͳαʔϏεͷ"1*Λ ݟ͍ͯΔͱڞ௨෦෼͕

Slide 24

Slide 24 text

w ιʔτͷঢॱ߱ॱ w JEঢॱJUFNT TPSUJE w JE߱ॱJUFNT TPSUJE w ιʔτͷෳ਺ࢦఆ w JE߱ॱ OBNFঢॱJUFNT TPSUJE OBNF w ιʔτͷঢॱ߱ॱσϑΥϧτ஋ w JUFNT TPSUJEͱͨ͠৔߹ঢॱͱͳΔ ιʔτฤ

Slide 25

Slide 25 text

w ౓ʹऔಘͰ͖Δσʔλ਺ͷ্ݶ w ্݅ݶJUFNT MJNJU w ݅໨͔Βͷऔಘ w ݅໨͔ΒJUFNT P⒎TFUMJNJU w ͷϨίʔυΛऔಘ w ݅໨͔ΒJUFNT QBHFMJNJU ϖʔδϯά

Slide 26

Slide 26 text

w ݕࡧจࣈ͸JUFNT RIPHFIPHFͷΑ͏ʹRύϥϝʔλʹΘͨ ͢ w (JUIVCͷྫJTTVFT RJTJTTVFJTPQFOCVOEMFS ݕࡧ

Slide 27

Slide 27 text

3&45GVM"1*ͰΑ͘࢖༻͞Ε ΔઃܭΛ؆୯ʹ࣮ݱͰ͖Δ 3BJMTʹ૊ΈࠐΉHFNΛ࡞ͬͨ

Slide 28

Slide 28 text

w 3&45GVM"1*ͷҰൠతͳ࢖༻ͷઢ ࿏ʹ৐Δͱ͍͏ҙຯΛࠐΊͯ TFOSPʹ w JUFNT TPSUJE OBNFͱϦΫΤε τΛ౤͛ΔͱίϯτϩʔϥͰݺͼ ग़͢QBSBNTͷதΛɺ42-ͷ 03%&3#:۟ʹม׵ w IUUQTHJUIVCDPN XBMLFSTVNJEBTFOSP w ελʔͱ͍͏ༀ෺Λ͍ͩ͘͞ TFOSPHFN

Slide 29

Slide 29 text

w ίϯτϩʔϥΛϝλϘʹ͠ͳ͍ͨΊʹݻ༗ͷϢʔεέʔεΛຬ ͨͦ͏ͱ͢Δ"1*ͷઃܭࢥ૝͸΍Ί·͠ΐ͏ w ͭͷίϯτϩʔϥʹϝιουΛੜ΍͠·͘Δͷ͸΍Ί·͠ΐ ͏ w جຊతʹ͸JOEFY TIPX DSFBUF VQEBUF EFTUSPZҎ֎͸ͳΔ ΂͘࢖Θͳ͍Α͏ʹ͠·͠ΐ͏ w "1*ͷઃܭͰ೰ΜͩΒɺ৭ʑͳαʔϏεͷ0QFO"1*ͷ࢖༻ͳͲ Λࢀߟʹͯ͠Έ·͠ΐ͏ ·ͱΊ

Slide 30

Slide 30 text

͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ