גࣜձࣾσΟʔɾΤψɾΤʔσβΠϯຊ෦αʔϏεσβΠϯ෦%&((
౻ݪ৻ଠBLB1$IBO
APIʹͳΖ͏
FROKAN x UIT #2 - ΕLT ότϧ
Slide 30
Slide 30 text
ఆௌߨऀ
Slide 31
Slide 31 text
ఆௌߨऀ
w ීஈɺࣄͰϑϩϯτΤϯυΛॻ͍͍ͯΔ͕ɺझຯ
ݸਓ։ൃͰόοΫΤϯυॻ͍͍͖͍ͯͨਓ
w มͳAPI͕ੜ͑ͯΔͷΛݟ͚ͭΔͱָ͘͠ͳͬͪΌ͏ਓ
Slide 32
Slide 32 text
͜͏ͳΔͱΑͦ͞͏
w ॳֶऀʹෛ୲ͷগͳ͍ٕज़ελοΫΛͬͯɺ࣮ࡍʹ
(FUUJOH4UBSU͢Δػӡ͕ߴ·Δ
w ͱݴ͑Կͭ͘Ε͑͑ͶΜΛղফͯ͠ɺ࣮ࡍʹ
(FUUJOH4UBSU͢Δػӡ͕ߴ·Δ
Slide 33
Slide 33 text
Ͱ
Slide 34
Slide 34 text
ࠓɺग़ͯ͘ΔՌ
શ෦JSONͳΜͰ
Slide 35
Slide 35 text
Έͳ͞Μ͓खݩʹ
Slide 36
Slide 36 text
1PTUNBO
Slide 37
Slide 37 text
ͱ͔
Slide 38
Slide 38 text
1PTUXPNBO
Slide 39
Slide 39 text
ͱ͔
Slide 40
Slide 40 text
*OTPNOJB
Slide 41
Slide 41 text
ͱ͔ى্ͪ͛ͳ͕Β
ฉ͍͍͚ͯͨͩΔͱ
Slide 42
Slide 42 text
ָ͍͔͠͠Ε·ͤΜ
Slide 43
Slide 43 text
ΈΜͳ͕ى্ͪ͛ͯΔؒʹ
΅͕͘ञΛҿΉ࣌ؒ
Slide 44
Slide 44 text
͍
Slide 45
Slide 45 text
ࠓճ࡞ͬͨͷ
0
Slide 46
Slide 46 text
P-Chan API
Slide 47
Slide 47 text
IUUQTBQJQDIBOJN
Slide 48
Slide 48 text
ಡΜͰυϝΠϯͷ͘
Slide 49
Slide 49 text
΅͘ʹؔ͢Δใ͕ฦΓ·͢
Slide 50
Slide 50 text
GET /identification
GET /accounts
GET /assets
PATCH /assets
Slide 51
Slide 51 text
༻ٕज़
Slide 52
Slide 52 text
͜Μͳײ͡Ͱ͢
Slide 53
Slide 53 text
ࠓ
Slide 54
Slide 54 text
ୈҰষɺίίΒΜ
Slide 55
Slide 55 text
ୈೋষɺίίΒΜ
Slide 56
Slide 56 text
ʹผ͚ͯհ͍͖ͯ͠·͢
Slide 57
Slide 57 text
ͱΓ·αʔόʔΛى্ͪ͛ͯ
੩తͳใΛฦͯ͠ΈΔ
1
Slide 58
Slide 58 text
ίίΒΜͷ
Slide 59
Slide 59 text
͜ͷষݴ͍͍ͨ͜ͱ
ͻͱ͔ͭ͠ͳ͍
Slide 60
Slide 60 text
झຯor
ݸਓ։ൃ
&&
ॳΊͯͷαʔόʔαΠυNode.js
Slide 61
Slide 61 text
TypeScript + Express Ͱ͏
Slide 62
Slide 62 text
5ZQF4DSJQU&YQSFTT
w &YQSFTTӫރਰͷܹ͍͠ք۾ʹ͓͍ͯ͘͠ɺރΕ
ͭͭݱͰ͑ΔͷͰʢރΕͯΔͷใྔ͕๛
w 5ZQF4DSJQUϑϩϯτ·ͩ54ͱ૬ੑͷྑ͍ϑϨʔϜϫʔ
Ϋͦ͏͡Όͳ͍ϑϨʔϜϫʔΫ͋Δ͕ɺόοΫΤϯυ
͍͍ͩͨ૬ੑ͍͍ɻϑϩϯτͱҧͬͯXFCQBDLͷઃఆ
Ͱ͠ΜͲ͍ͱ͔ͳͯ͘ɺجຊUTDίϚϯυͰઓ͑ΔͷͰ
ྑ͞Έ͕͋Δɻ
ϚΠάϨʔγϣϯͷੜͱ࣮ߦ
prisma2 lift save && prisma2 lift up
5FSNJOBM
Slide 106
Slide 106 text
͜Μͳײ͡ͰՃͨ͠Γ
DPOUSPMMFSTBTTFUTUT
Slide 107
Slide 107 text
͜Μͳײ͡Ͱfindͨ͠Γ
DPOUSPMMFSTBTTFUTUT
Slide 108
Slide 108 text
ΊͪΌͪ͘Όײతͳ
ΦϒδΣΫτͷૢ࡞Ͱ݁
Slide 109
Slide 109 text
·ͩ·ͩ͜Ε͔ΒͳORM͚ͩͲɺ
৮ͬͨײ͡ɺखʹೃછΉؾ͕͢Δ
Slide 110
Slide 110 text
ҰԠTypeScript ORMքͷԦऀ
TypeORMͱͷൺֱ
Slide 111
Slide 111 text
vs TypeORM (1/2)
w ޙൃͷͨΊɺશମతʹ·ͩ·ͩউͯͳ͍ʢػೳͷଟ͞ɺ
ରԠ͢Δσʔλϕʔεͷଟ͞ɺ࣮ࡍͷར༻ྫͳͲͳͲʣ
w ͱݴ͑ɺ๏ਓ͕։ൃମͳͷͰɺ։ൃεϐʔυ͕҆ఆ
͍ͯ͠Δʢ࠷ͰִिͰΞϓσ͢Δͱݴͬͯͨʣ
w TypeORM ʹൺͯରԠ͢Δσʔλϕʔε͕ߜΒΕͯΔ
ͷɺܽͰ͋Δ͕རͰ͋Γͦ͏
Slide 112
Slide 112 text
vs TypeORM (2/2)
w Photon JS ORM
Lift JS Migration
͕ಠཱͯ͠
ಈ͘ͱ͍͏ͷNodeͬΆ͖ͯ͘ʢΈͷ
w ԿΑΓɺ·ͩv0.xͰ͋ΓProductionͰͷ༻ਪ͞
Ε͍ͯͳ͍ͷͰɺશମతʹࠓޙʹظͱ͍͏ײ͡
w ʢTypeScript Ͱॻ͚ΔORM͕ͦΜͳʹଟ͘ͳ͍தͰɺ
બࢶ͕૿͑Δ͜ͱࣗମɺ݁ߏՁ͕͋Γͦ͏ʣ
Slide 113
Slide 113 text
·ͱΊ
3
Slide 114
Slide 114 text
·ͱΊ
w όοΫΤϯυ͜ͱ͡ΊʮTypeScript + Express +
Prisma Frameworkʯ͕͍͍͔͠Εͳ͍Α
w ࣗͷใΛίϯςϯπʹͨ͠ΒɺແݶʹΤϯυϙΠϯ
τΛ࡞ΕΔͷͰɺʮͱݴ͑Կ࡞Ε͑͑ͶΜʯͰ
ΤλΔͱ͔ͳͦ͞͏ɺΦεεϝ
Slide 115
Slide 115 text
ࠓհͨ͠APIͳΜͰ͕͢
Slide 116
Slide 116 text
୭ಘ͔͔Βͳ͍͚Ͳ
Slide 117
Slide 117 text
ಛʹೝՄػߏͱ͔
ੵΜͰͳ͍ΜͰ
Slide 118
Slide 118 text
୭Ͱୟ͚·͢
Slide 119
Slide 119 text
ͱ͍͏Θ͚Ͱ
Slide 120
Slide 120 text
Ҏ্
Slide 121
Slide 121 text
גࣜձࣾσΟʔɾΤψɾΤʔσβΠϯຊ෦αʔϏεσβΠϯ෦%&((
౻ݪ৻ଠBLB1$IBO
APIʹͳΖ͏
FROKAN x UIT #2 - ΕLT ότϧ