Slide 1

Slide 1 text

ϚΠΫϩαʔϏεͱઃܭݪଇ !RTPOB 'J/$5FDIOPMPHJFT*OD ઃܭ/JHIUQPXFSFECZ$MBTTJ ձ৔גࣜձࣾ3FUUZ

Slide 2

Slide 2 text

XIPBNJ !2 • !RTPOB 5XJUUFS(JU)VC • 4PGUXBSF&OHJOFFS • ݱࡏ͸43&5FBNʹॴଐ • 'J/$5FDIOPMPHJFT • .JDSPTFSWJDFT.FFUVQओ࠵

Slide 3

Slide 3 text

ࠓ೔ͷςʔϚઃܭݪଇ

Slide 4

Slide 4 text

ࠓ೔ͷςʔϚઃܭݪଇΛ ϚΠΫϩαʔϏεʹ౰ͯ͸ΊͯΈΔ

Slide 5

Slide 5 text

"HFOEB !5 • ϚΠΫϩαʔϏεͷઃܭ • ͦ΋ͦ΋ϚΠΫϩαʔϏεͬͯ • ϚΠΫϩαʔϏεΛ࣮ફ͍ͯ͠Δͱ͖ʹ
 ͲΜͳઃܭ൑அΛ͢Δ͜ͱʹͳΔͷ͔ • ϚΠΫϩαʔϏεͱઃܭݪଇ • ϚΠΫϩαʔϏεͰͷઃܭ൑அͷ۩ମྫΛ΋ͱʹɺ
 ઃܭݪଇΛద༻ͯ͠ΈΔ

Slide 6

Slide 6 text

"ύʔτ ϚΠΫϩαʔϏεͷઃܭ൑அ

Slide 7

Slide 7 text

ϚΠΫϩαʔϏεͱ͸ʁ !7 • ڠௐͯ͠ಈ࡞͢Δɺ
 খن໛Ͱࣗ཯తͳαʔϏε ग़య: ϚΠΫϩαʔϏεΞʔΩςΫνϟ(O'reilly Japan)

Slide 8

Slide 8 text

ϚΠΫϩαʔϏεͷྑ͞ !8 • ٕज़ҟ࣭ੑ • ͦΕͧΕ࠷దͳݴޠɾϥΠϒϥϦɾσʔλετΞ౳Λར༻Ͱ͖Δ • ٕज़తෛ࠴ΛҾ͖ͣΓʹ͍͘ • ճ෮ੑ 3FTJMJFODF • αʔϏεʹো֐͕ى͖ͯ΋શମ΁ͷӨڹ͸গͳ͍ • σϓϩΠͷಠཱ • ΞδϟΠϧͳՁ஋ఏڙ • খࣗ͘͞཯ɾಠཱͨ͠૊৫ • ίϛϡχέʔγϣϯύεΛݮΒ͠ɺҙࢥܾఆΛૉૣ͘

Slide 9

Slide 9 text

ϚΠΫϩαʔϏεͷྑ͞ઃܭ൑அͷ΋ͷ͞͠ !9 • ϚΠΫϩαʔϏεͷྑ͞ΛอͯΔྑ͍ઃܭ • ؾΛ͚͍ͭͯͳ͍ͱ͙͢ʹྑ͕ࣦ͞ΘΕΔ͔Β஫ҙ • .JDSPTFSWJDFT.FFUVQWPMͰ࿩͠·ͨ͠
 ϚΠΫϩαʔϏεͱΫϥΠΞϯτཧ૝ͱݱ࣮ͷڱؒͰ
 IUUQTTQFBLFSEFDLDPNRTPOBJEFBMBOESFBMJUZPGNJDSPTFSWJDFTGSPNUIFDMJFOUTJEF • ͲΕ͕ͲΕ͘Β͍ॏཁ͔͸ɺঢ়گʹΑͬͯҟͳΔ • ྫٕज़ҟ࣭ੑ • 31$Λ࢖͏ͱϚΠφʔͳݴޠͰͷ࣮૷͕ͳ͔ͬͨΓ͢Δ

Slide 10

Slide 10 text

ͲΜͳઃܭ൑அ͕͋Δͷ͔ʁ ˞͔͜͜Β͸͔ͳΓࢲݟ͕ೖΓ·͢ɻ Ұ୴ɺࠓͷࣗ෼͕Ͱ͖Δ੔ཧΛͯ͠ΈΔɻ

Slide 11

Slide 11 text

ϚΠΫϩαʔϏεʹ͓͚ΔͭͷઃܭϙΠϯτ !11 • αʔϏεͷڥքΛఆΊΔ • αʔϏεΛ౷߹͢Δ • ԣஅతͳ՝୊ʹରॲ͢Δ

Slide 12

Slide 12 text

αʔϏεͷڥքΛఆΊΔ

Slide 13

Slide 13 text

αʔϏεͷڥքΛఆΊΔ !13 • ϚΠΫϩαʔϏεͰ࠷΋ॏཁͳҙࢥܾఆ • ڥքΛఆΊΔج४ • Ϗδωε • ਓɾ૊৫ • τϥϯβΫγϣϯ • αʔϏεΛ·͕ͨͬͨ෼ࢄτϥϯβΫγϣϯ͸ෆՄೳͱࢥ͏΂͠ • ٕज़

Slide 14

Slide 14 text

αʔϏεͷڥքΛఆΊΔ !14 • %PNBJO%SJWFO%FTJHOͷߟ͑Λద༻͢ΔͱΑͦ͞͏ • #PVOEFE$POUFYU ڥք͚ͮΒΕͨίϯςΩετ • αʔϏε෼ׂͷڥք • "HHSFHBUF3PPU ू໿ϧʔτ • "1*ઃܭͷཻ౓

Slide 15

Slide 15 text

2
 ϚΠΫϩαʔϏεͷڥք಺͸
 ͔͋ΜઃܭͰ΋ྑ͍ʁ (Yes/No)

Slide 16

Slide 16 text

2
 ϚΠΫϩαʔϏεͷڥք಺͸
 ͔͋ΜઃܭͰ΋ྑ͍ʁ (Yes/No) ※ݸਓͷײ૝Ͱ͢

Slide 17

Slide 17 text

ڥք಺Ͱͷࣦഊʹ͸׮༰ʹ !17 • ڥքΛݟޡΔͱޙͰΊͬͪΌͭΒ͍͕ • ڥք಺ͷࣦഊ͸ɺ͋ͱͰऔΓฦͤΔ • ٕज़తෛ࠴΋؅ཧ͠΍͍͢ • αʔϏεΛখ͍ͯ͘͞͠ΔϝϦοτ • Ͳ͏ͤະདྷΛ͢΂ͯݟਾ͑Δ͜ͱ͸Ͱ͖ͳ͍ʜ • ˞%#ͷਖ਼نԽ͚ͩ͸ͪΌΜͱ΍͓ͬͯ͘ͷΛ
 Φεεϝ͢Δ

Slide 18

Slide 18 text

αʔϏεΛ౷߹͢Δ

Slide 19

Slide 19 text

αʔϏεͷ౷߹ !19 • ෳ਺ͷαʔϏεΛ࿈ܞͤ͞Δ • "1*࿈ܞ • 3&45GVM 31$ • ඇಉظΠϕϯτϕʔεͷ࿈ܞ • ϝοηʔδΩϡʔΛ࢖͏͜ͱ͕ଟ͍ • ͲͷΑ͏ʹ࿈ܞ͢Δ͔ɺͲΜͳٕज़Λར༻͢Δ͔ɺ
 "1*ͷཻ౓ͳͲ͕ઃܭ൑அͷϙΠϯτ

Slide 20

Slide 20 text

ԣஅతͳ՝୊ʹରॲ͢Δ

Slide 21

Slide 21 text

ԣஅతͳ՝୊΁ͷରॲ !21 • αʔϏε͕૿͑Δͱɺ؅ཧ͕೉͘͠ͳͬͯ͘Δ • ͦΕͧΕ͕ࣅͨΑ͏ͳ՝୊Λ΋͕ͭɺݸʑͰղফ͢Δͷ͸ޮ཰͕ѱ͍ • ϥΠϒϥϦͳͷ͔ɺΨΠυϥΠϯͳͷ͔ɺ
 ԣஅతͳαʔϏεΛ࡞Δͷ͔ɺͳͲ

Slide 22

Slide 22 text

#ύʔτ
 ϚΠΫϩαʔϏεͱઃܭݪଇ

Slide 23

Slide 23 text

ઃܭݪଇ !23 • ઃܭݪଇͱ͸
 ʮࠓ͜͜ʹ͋Δ͜ͷߏ଄͕ɺྑ͍ઃܭʹͳ͍ͬͯΔ͔Ͳ͏͔ʯ
 Λ͔֬ΊΔͨΊͷࢦ਑ ग़య: ࣮گதܧγϦʔζ ʮ։ൃݱ৔Ͱ໾ཱͨͤΔͨΊͷઃܭݪଇͱύλʔϯʯ #builderscon 2018 - ೣܕͷ஝Իػ͸ 1 ෼ؒʹ 45 ճʹΌ͋ͱ໐͘

Slide 24

Slide 24 text

ͱΓ͋͑ͣͭͷݪଇΛҾ͖߹͍ʹग़ͯ͠Έ·͢ !24 • 431 4JOHMF3FTQPOTJCJMJUZ1SJODJQMF ୯Ұ੹೚ݪଇ • 1%4 1SFTFOUBUJPO%PNBJO4FQBSBUJPO ϓϨθϯςʔγϣϯͱυϝΠϯͷ෼཭ • %3: %POU3FQFBU:PVSTFMG

Slide 25

Slide 25 text

431 ୯Ұ੹೚ݪଇ

Slide 26

Slide 26 text

431 ୯Ұ੹೚ݪଇ !26 • มߋ͢Δཧ༝͕ಉ͡΋ͷ͸ूΊΔɺ
 มߋ͢Δཧ༝͕ҧ͏΋ͷ͸෼͚Δ Gather together the things that change for the same reasons.
 Separate those things that 
 change for different reasons.

Slide 27

Slide 27 text

431 ୯Ұ੹೚ݪଇ !27 • มߋ͢Δཧ༝͕ಉ͡΋ͷ͸ूΊΔɺ
 มߋ͢Δཧ༝͕ҧ͏΋ͷ͸෼͚Δ • ҎԼͷݪଇΛ಺แ͍ͯ͠Δ • ߴڽू ૄ݁߹ • ؔ৺͝ͱͷ෼཭ ग़య: The Single Responsibility Principle (Robert C, Martin 2014) https://blog.cleancoder.com/uncle-bob/2014/05/08/SingleReponsibilityPrinciple.html

Slide 28

Slide 28 text

431 ୯Ұ੹೚ݪଇ !28 • มߋ͢Δཧ༝͕ಉ͡΋ͷ͸ूΊΔɺ
 มߋ͢Δཧ༝͕ҧ͏΋ͷ͸෼͚Δ • มߋ͢Δཧ༝ͱ͸ɺ۩ମతʹԿͳͷ͔ʁ • ఏএऀ͍Θ͘ɺมߋ͢Δཧ༝ͱ͸ʮਓʯͰ͋Δ • 5IJTQSJODJQMFJTBCPVUQFPQMF ग़య: The Single Responsibility Principle (Robert C, Martin 2014) https://blog.cleancoder.com/uncle-bob/2014/05/08/SingleReponsibilityPrinciple.html

Slide 29

Slide 29 text

1%4

Slide 30

Slide 30 text

1%4 ϓϨθϯςʔγϣϯͱυϝΠϯͷ෼཭ !30 • ͦͷ໊ͷ௨ΓͰ͢Ͷ ग़య: PresentationDomainSeparation (Martin Fowler, 2003) https://martinfowler.com/bliki/PresentationDomainSeparation.html

Slide 31

Slide 31 text

%3:

Slide 32

Slide 32 text

%3: %POU3FQFBU:PVSTFMG !32 • ·͋આ໌ෆཁͰ͸ʁ

Slide 33

Slide 33 text

ͱΓ͋͑ͣ ͜ͷͭͷݪଇΛ෢ثʹ ݱ࣮ͷ໰୊ʹཱͪ޲͔ͬͯΈΔ

Slide 34

Slide 34 text

໰୊ ػೳԣஅϏδωε αʔϏεͷڥք͸Ͳ͔͜

Slide 35

Slide 35 text

ػೳԣஅϏδωε !35 • લఏϚΠΫϩαʔϏε͸Ϗδωεͷ୯Ґʹ͢΂͖ • લఏػೳ • ػೳΛԣஅ͢ΔΑ͏ͳϏδωε • ྫΩϟϯϖʔϯΠϕϯτܥ ՝ۚϓϥϯ ސ٬͝ͱͷΧελϚΠζ FUD • ԣஅϏδωεʹԊͬͯνʔϜ͕࡞ΒΕΔ͜ͱ΋͋Δ

Slide 36

Slide 36 text

ػೳԣஅϏδωεͷྫ !36 • 'J/$Ͱͷྫಛ஡εϚʔτΞϓϦ • 'J/$ΞϓϦͷҰܗଶ • ಛఆͷܦ࿏͔ΒΞϓϦΛΠϯετʔϧ͢Δͱ
 ಛ஡ϢʔβʔʹͳΓɺ
 ಛ஡ઐ༻ΦϯϘʔσΟϯά͕࢝·Δ • ಛ஡ઐ༻ϛογϣϯ͕ղ์͞ΕΔ • ಛ஡Ϣʔβʔ༻ʹΧελϚΠζ͞Εͨ
 QVTI௨஌͕഑৴͞ΕΔ

Slide 37

Slide 37 text

ػೳԣஅϏδωεͷྫ !37 • 'J/$Ͱͷྫಛ஡εϚʔτΞϓϦ • 'J/$ΞϓϦͷҰܗଶ • ಛఆͷܦ࿏͔ΒΞϓϦΛΠϯετʔϧ͢Δͱ
 ಛ஡ϢʔβʔʹͳΓɺ
 ಛ஡ઐ༻ΦϯϘʔσΟϯά͕࢝·Δ • ಛ஡ઐ༻ϛογϣϯ͕ղ์͞ΕΔ • ಛ஡Ϣʔβʔ༻ʹΧελϚΠζ͞Εͨ
 QVTI௨஌͕഑৴͞ΕΔ • 6TFS5BHαʔϏε • 0OCPBSEJOHαʔϏε • .JTTJPOαʔϏε • 1VTI௨஌αʔϏε ͦΕͧΕ͕ ϚΠΫϩαʔϏεʹରԠ

Slide 38

Slide 38 text

ػೳԣஅϏδωεͷྫ !38 • 'J/$Ͱͷྫಛ஡εϚʔτΞϓϦ • 'J/$ΞϓϦͷҰܗଶ • ಛఆͷܦ࿏͔ΒΞϓϦΛΠϯετʔϧ͢Δͱ
 ಛ஡ϢʔβʔʹͳΓɺ
 ಛ஡ઐ༻ΦϯϘʔσΟϯά͕࢝·Δ • ಛ஡ઐ༻ϛογϣϯ͕ղ์͞ΕΔ • ಛ஡Ϣʔβʔ༻ʹΧελϚΠζ͞Εͨ
 QVTI௨஌͕഑৴͞ΕΔ • 6TFS5BHαʔϏε • 0OCPBSEJOHαʔϏε • .JTTJPOαʔϏε • 1VTI௨஌αʔϏε ͦΕͧΕ͕ ϚΠΫϩαʔϏεʹରԠ ͜ͷྫͩͱ ͪΐͬͱઆ໌͠ʹ͍͘ ผͷྫΛग़͍ͤͯͩ͘͞͞

Slide 39

Slide 39 text

ՍۭͷʮڭҭʯαʔϏε !39 • αʔϏεߏ੒ • ࢦಋऀ ઌੜ ޲͚αʔϏε • ඃࢦಋऀ ੜె ޲͚αʔϏε • อޢऀ޲͚αʔϏε • FUD • Ϣʔβʔ͸্ͷΑ͏ͳ୯ҐͰʮαʔϏεʯΛଊ͍͑ͯΔ • ཪʹ͸༷ʑͳػೳ͕͋Δ • ྫ॓୊ ࿈བྷ FUD • ػೳ͸ෳ਺ͷαʔϏε͔Β࢖ΘΕΔ

Slide 40

Slide 40 text

ઃܭύλʔϯػೳͰͷϚΠΫϩαʔϏε !40 • ઌੜੜెอޢऀ$MJFOU॓୊࿈བྷ4FSWJDF ॓୊ ࿈བྷ อޢऀ ઌੜ ੜె อޢऀνʔϜ ੜెνʔϜ Client Apps (SPAͳͲ) Services ઌੜνʔϜ

Slide 41

Slide 41 text

ઃܭύλʔϯػೳͰͷϚΠΫϩαʔϏε !41 • ୯Ұ੹೚ݪଇͰΈͯΈΔ • ػೳ໘Ͱ͸Αͦ͞͏ • ػೳ͕αʔϏεʹू·Δߴڽू • ֤ػೳ͸ಠཱʹ։ൃɾσϓϩΠՄೳૄ݁߹ • ʮਓɾ૊৫ʯͷ໘Ͱ͸Ͳ͏ͩΖ͏͔ʁ • Ϗδωεతͳ૊৫ͷ෼͚ํ͸ʮઌੜνʔϜʯʮੜెνʔϜʯ͔΋͠Εͳ͍ • ͭ·Γɺෳ਺ͷνʔϜ͕ͭͷػೳʹखΛೖΕΔ • ୯Ұ੹೚Ͱͳ͍ʁ

Slide 42

Slide 42 text

ઃܭύλʔϯϏδωεͰͷαʔϏεͱڞ༗%# !42 • ઌੜαʔϏε ੜెαʔϏε อޢऀαʔϏε • ͍ΘΏΔʮ෼அ͞ΕͨϞϊϦεʯ˞ ॓୊DB ࿈བྷDB อޢऀ ઌੜ ੜె อޢऀνʔϜ ੜెνʔϜ Services ઌੜνʔϜ ※ग़య: Rails Developers Meetup 2018: Day 1 Ͱ ʰQuipperʹ͓͚Δʮؔ৺ͷ෼཭ʯͷྺ࢙ʱͱ͍͏ൃදΛ͠ ·ͨ͠ - @kyanny's blog https://blog.kyanny.me/entry/2018/03/24/230459

Slide 43

Slide 43 text

ઃܭύλʔϯϏδωεͰͷαʔϏεͱڞ༗%# !43 • ୯Ұ੹೚ݪଇͰΈͯΈΔ • ڞ༗%#͸ີ݁߹ • %#͸࣮૷Ͱ͋ΓɺΠϯλʔϑΣΠεͱଊ͑Δ΂͖Ͱ͸ຊདྷͳ͍ • ϚΠΫϩαʔϏεͷจ຺Ͱ͸໌֬ʹΞϯνύλʔϯ • ʮਓɾ૊৫ʯͷ໘Ͱ͸ߴڽूɾૄ݁߹ʹͳ͍ͬͯΔͱ΋͍͑Δ • Ϗδωεͷ࣮ଶʹ߹ͬͨαʔϏεߏ੒ • ಛʹ։ൃॳظϑΣʔζͰ͸σϝϦοτ͕࣮͸খ͘͞ɺ
 ։ൃεϐʔυΛ࠷େԽ͢Δઓज़ͱ΋͍͑Δ • ٕज़తෛ࠴ͷલआΓ

Slide 44

Slide 44 text

1%4Λ࣋ͪग़͢ !44 • 1SFTFOUBUJPOϏδωεͱ%PNBJOϏδωε͕͋ΔͷͰ͸ʁʁ • ઌੜ޲͚ੜె޲͚อޢऀ޲͚αʔϏεΛ
 1SFTFOUBUJPOϏδωεͱଊ͑ͯΈΔ • 1SFTFOUBUJPO୲౰αʔϏε͸ɺΤϯυϢʔβʔʹ޲͚ͨू໿Λ୲౰͢Δ • ઌੜαʔϏε ੜెαʔϏε อޢऀαʔϏε • #'' #BDLFOETGPS'SPOUFOET ʹ͍ۙΠϝʔδ • %PNBJO୲౰αʔϏε͸ɺػೳΛ୲౰͢Δ • ॓୊αʔϏε ࿈བྷαʔϏε • ֤1SFTFOUBUJPOϏδωεͷཁٻΛௐఀ͢Δ

Slide 45

Slide 45 text

͜Μͳײ͡ !45 • Ϣʔβʔʹ͍ۙνʔϜͱɺόοΫΤϯυͷνʔϜ͕͋Δ ॓୊ ࿈བྷ อޢऀ ઌੜ ੜె อޢऀνʔϜ ੜెνʔϜ ઌੜνʔϜ ॓୊νʔϜ ࿈བྷνʔϜ

Slide 46

Slide 46 text

࣮ࡍ͸୯७͡Όͳ͍ !46 • อޢऀʹ͔͠࢖ΘΕͳ͍αʔϏε΋͋Δ͔΋ ॓୊ ࿈བྷ PTA อޢऀ ઌੜ ੜె อޢऀνʔϜ ੜెνʔϜ ઌੜνʔϜ ॓୊νʔϜ ࿈བྷνʔϜ

Slide 47

Slide 47 text

ͦΜͳʹਓ͕५୔ʹ͍ͳ͍໰୊ !47 • ཧ۶্ྑͯ͘΋ɺ
 ࣮ࡍ͸ͦΜͳʹ૊৫͝ͱ෼͚ΒΕͳ͍͜ͱ͕ଟ͍ • ඞཁҎ্ʹૄ݁߹ʹͪ͠Όͬͯ଍͕ॏ͘ͳΔ΍ͭ • ๧ࢠͷ͔ͿΓ෼͚ͱ͔ͰؤுΔʁ

Slide 48

Slide 48 text

1%ͷڥք͋΍;΍໰୊ !48 • 1SFTFOUBUJPOͩͱࢥ͍ͬͯͨ΋ͷ͕࣮͸%PNBJOͩͬͨΓ͢Δ • ରࡦ • ͔ͬ͠Γٞ࿦ͯ͠ɺͳΔ΂͘%PNBJOʹدͤΔ • ͦΕͰ΋෼͔Βͳ͔ͬͨΒ1SFTFOUBUJPOʹدͤΔ • ؔ࿈͢Δ͔΋ • ෼அ͞ΕͨϞϊϦε͸։ൃॳظʹ͓͍ͯඞͣ͠΋ΞϯνύλʔϯͰ͸ͳ͍ • ڥքΛݟޡͬͯϚΠΫϩαʔϏεԽ͢Δͱ஍ࠈΛݟΔɺ
 υϝΠϯΛཧղ͔ͯ͠ΒαʔϏε෼ׂͤΑ • ू໿ϨΠϠʔͷଠΓա͗ʹ஫ҙ

Slide 49

Slide 49 text

ݱ࣮͸೉͍͠

Slide 50

Slide 50 text

໰୊ αʔϏεؒͷओैؔ܎
 Ͳͬͪʹ͢Δ͔ αʔϏε౷߹ͷ໰୊

Slide 51

Slide 51 text

αʔϏεؒͷओैؔ܎ !51 • αʔϏε"Ͱͷσʔλ΍ग़དྷࣄΛɺαʔϏε#Ͱ΋࢖͍͍ͨͱ͖ • ͭ·Γɺ"ͱ#Λ࿈ܞͤ͞Δ • ֓Ͷ௨Γ͋Δ • "͕#ʹ1045͢Δ • #͕"͔Β(&5͢Δ • "͕ΠϕϯτΛ౤͛ɺ
 #͕TVCTDSJCFͯ͠ॲཧ A B A B A B POST GET

Slide 52

Slide 52 text

αʔϏεؒͷओैؔ܎ !52 • ͱ ͸࣮࣭ಉ͡ • ͸"͕ओɺ#͕ै • ͸#͕ओɺ"͕ै • ͭ·Γɺ͜ͷػೳʹରͯ͠
 ͲͪΒ͕ओମతʹͳΔ΂͖͔ʁ
 ͱ͍͏࿩ A B A B A B POST GET

Slide 53

Slide 53 text

۩ମྫ !53 • 'J/$ΞϓϦͰͷྫ • Ϣʔβʔͷา਺͕͋ΔҰఆҎ্ʹͳΔͱɺQVTI௨஌͕ඈͿ • QVTI௨஌ͷจݴ͸ݻఆͰ͸ͳ͍ • छྨ͸ΊͪΌͨ͘͞Μ͋Δ • ɹΩϟϥΫλʔ͔Βϝοηʔδ͕ಧ͘

Slide 54

Slide 54 text

ओैؔ܎Λߟ͑Δ !54 • ͭͷαʔϏε • -JGFMPHαʔϏε • า਺ͳͲͷϔϧεέΞσʔλΛѻ͏ • 1VTI௨஌ • ϢʔβʹQVTI௨஌ΛૹΔͨΊͷ৘ใ Λ࣋ͪɺ࣮ࡍʹQVTI௨஌ΛૹΔ • ͲͪΒ͕ओͰ͋Δ΂͖͔ʁ • ओʹͳΔ΄͏͕ࠓճͷػೳ 1VTI ௨஌ͷ࣮ࡍͷจݴͳͲ Λ࣋ͭ Lifelog Push௨஌ Lifelog Push௨஌ POST

Slide 55

Slide 55 text

୯Ұ੹೚ݪଇ !55 • -JGFMPH͕ओͱ͢Δͱ • -JGFMPH͸ɺϔϧεσʔλΛه࿥͢Δ੹຿ͱ
 ׂͱ৭Μͳจݴ͕͋ΔϦονͳ 1VTI௨஌ΛૹΔ੹຿Λ྆ํ΋ͭ • ͜Ε͸୯Ұ੹೚ݪଇʹ൓͢Δ ௿ڽू • 1VTI௨஌͕ओͱ͢Δͱ • 1VTI௨஌αʔϏε͸ɺ-JGFMPHҎ֎ͷ৭ΜͳαʔϏε͔Β΋
 ΠϕϯτΛड͚औΔ • ΋͠1VTI௨஌ΛશͯϚωδϝϯτ͢ΔਓνʔϜ͕͍ΔͳΒ͹
 ୯Ұ੹೚ݪଇΛຬͨ͢ • ͦ͏Ͱͳ͚Ε͹୯Ұ੹೚ݪଇʹ൓͢Δ ີ݁߹

Slide 56

Slide 56 text

1%4 ϓϨθϯςʔγϣϯͱυϝΠϯͷ෼཭ !56 • 1VTI௨஌ͷจݴ͸ɺҰछͷϓϨθϯςʔγϣϯͱΈͳͤͳ͘΋ͳ͍ • ͦͷΑ͏ʹଊ͑ͨ৔߹ • ʮา਺ʯͱ͍͏υϝΠϯͱ
 ʮ௨஌จݴʯͱ͍͏ϓϨθϯςʔγϣϯΛ෼͚͍ͨ • ͭ·Γ1VTI௨஌Λओʹ͢Ε͹ୡ੒Ͱ͖Δ

Slide 57

Slide 57 text

࣮ࡍͷঢ়گ !57 • ɹɹ͔ΒૹΒΕΔ1VTI௨஌΍ΞϓϦ಺௨஌Λ
 Ұݩ؅ཧ͢ΔαʔϏε͕͋Δ • ͔ͦ͜Β1VTI௨஌αʔϏεʹ1045͍ͯ͠Δ • 1VTI௨஌αʔϏε͸ඇৗʹബ͍ ͕ɺผ్ϏδωεϩδοΫ͕͋Δ • ݱঢ়ɺ1VTI௨஌αʔϏε͕Φʔφʔෆࡏͷ໰୊͋Γ Lifelog Push௨஌ Others

Slide 58

Slide 58 text

ݱ࣮͸೉͍͠

Slide 59

Slide 59 text

໰୊ ࣅͨΑ͏ͳઃఆͱ͔͕֤αʔϏεʹ ॻ͔ΕͯࢄΒ͹Δ໰୊ ԣஅతͳ໰୊΁ͷରॲ

Slide 60

Slide 60 text

Կ͕ѱ͍͔આ໌Ͱ͖·͔͢ʁ !60

Slide 61

Slide 61 text

ѱ͍%3:ͷྫ !61 • ֤࡞඼͕ɺଞͷ࡞඼ͱಠཱͯ͠ฤूͰ͖ͳ͘ͳ͍ͬͯΔ • ʮੲʑɺ͋Δͱ͜Ζʹɾɾɾʯͷจʹ
 ੹೚Λ͍࣋ͬͯΔͷ͸໌Β͔ʹ֤࡞ՈͰ͋Δ͸ͣ • ୯Ұ੹೚ݪଇʹ൓͠ɺີ݁߹ʹͳ͍ͬͯΔ • ҰํɺϝϦοτ΋গͳ͍ • จ͕୹͍ͷͰɺΘ͟Θ͟ϥΠϒϥϦԽ͢Δҙຯ͕ • Ծʹݟͨ໨্ಉ͡Ͱ΋ ڞ௨Խ͢΂͖Ͱͳ͍΋ͷ͸
 ͨ͘͞Μ͋Δ

Slide 62

Slide 62 text

ྑ͍%3:ɾѱ͍%3:ʁ !62 • ྑ͠ѱ͠ͷίϯτϥετ͕͋Δ • ʮ࡞඼ʯʹ͸ʮ࡞Ոʯ͕੹೚Λ࣋ͭͷ͸ࣗ໌ • ࡞඼ͱ͸ͦ͏͍͏΋ͷͩͱΈΜͳೝ͍ࣝͯ͠Δ • Ͱ΋ɺฤूऀࢹ఺ͩͱ·ͨҧͬͯݟ͑Δ • දهΏΕ͕ؾʹͳΔ • UZQPΛݮΒ͍ͨ͠ • %3:ͷσϝϦοτΛ؇࿨͢Δྫ • ڞ௨ϥΠϒϥϦ͸༻ҙ͢Δ • ϥΠϒϥϦ͸ద੾ʹ֦ுͷޱ͕ۭ͍͍ͯΔ • ผʹ࢖Θͳͯ͘΋͍͍

Slide 63

Slide 63 text

ݱ࣮ͷ໰୊ྫ !63 • ֤αʔϏεʹ$*ͷઃఆϑΝΠϧ͕ࢄΒ͹͍ͬͯΔ • DJSDMFDJDPOGJHZNM • େମίϐϖʹ͍ۙ • σϓϩΠϑϩʔΛमਖ਼͍ͨ͠ͱ͖ɺશαʔϏεʹ
 मਖ਼ͯ͠ճΒͳ͍ͱ͍͚ͳ͍ • %3:ݪଇʹ൓͢Δʂ

Slide 64

Slide 64 text

ݱ࣮ͷ໰୊ྫ !64 • ֤αʔϏε͕ಉ͡Α͏ͳϥΠϒϥϦΛ࢖͍ͬͯΔ • ͋ΔϥΠϒϥϦʹ੬ऑੑ͕͋ͬͨͱ͖ɺશαʔϏεΛ
 ߋ৽ͯ͠ճΒͳ͚Ε͹ͳΒͳ͍ • %3:ݪଇʹ൓͢Δʂ

Slide 65

Slide 65 text

ݱ࣮ͷ໰୊Λ੔ཧ͢Δ !65 • ϏδωενʔϜͱԣஅνʔϜͷ੹຿͕ॏͳΔ αʔϏεA AνʔϜ αʔϏεB BνʔϜ ϩδοΫ CIઃఆ ϥΠϒϥϦ ϩδοΫ CIઃఆ ϥΠϒϥϦ SREνʔϜ σϓϩΠ ηΩϡϦςΟ

Slide 66

Slide 66 text

Ͳ͏͢Δ͔ʁ !66 • ҊαʔϏεςϯϓϨʔτΛڧ੍ͤ͞Δʁ • શαʔϏε͕ڞ௨ͷϥΠϒϥϦ΍ઃఆΛ࢖͏Πϝʔδ • ֤αʔϏε͕ີ݁߹ʹͳΓɺٕज़ҟ࣭ੑͳͲ͕ࣦΘΕΔ • جຊతʹ͸σϝϦοτͷ͕ଟ͍ͱࢥ͏ • ੹೚ͱ੹೚͕ަΘΓ͍͋ͬͯΔͷͰɺ
 ୯Ұ੹೚ݪଇͰ؆୯ʹ౴͑Λग़͢͜ͱ͸Ͱ͖ͳ͍ • ϝϦοτɾσϝϦοτʹάϥσʔγϣϯ͕͋Δ • ϝϦοτΛͳΔ΂͘࢒ͭͭ͠ɺσϝϦοτΛ࠷খԽ͢Δ

Slide 67

Slide 67 text

Αͦ͞͏ͳҊ !67 • جຊతʹ͸ϚΠΫϩαʔϏεͷࣗ཯ੑΛॏࢹ͢΂͖ • σϓϩΠ΍ηΩϡϦςΟ΋ɺୈҰٛతʹ͸֤αʔϏεͷ੹຿ͱ͢Δ • 43&͸ͦΕΛαϙʔτͨ͠Γɺ࠷ޙͷࡆͱͳΔ • ࣮૷ͷ%3:Ͱ͸ͳ͘ɺ࡞ۀͷ%3:Λ໨ࢦ͢ • ࣮૷ʹ͸֤αʔϏε͕ୈҰٛతʹ੹೚Λ΋͍ͬͯΔ • ͔ͩΒ֤αʔϏεʹίϛοτ͞Ε͍ͯΔɻ࣮૷ࣗମ͸%3:͡Όͳ͍ • 43&͸ԣஅతʹมߋͷఏҊ͕ग़དྷΔ • ࣅͨΑ͏ͳมߋͷఏҊΛ·ͱΊͯͰ͖Ε͹͍͍ • ෳ਺ͷ(JU)VC3FQPTJUPSZʹରͯ͠ࣅͨΑ͏ͳมߋΛ
 ·ͱΊͯ1VMM3FRVFTUΛग़ͤΔํ๏͕͋ͬͨΒڭ͑ͯ΄͍͠

Slide 68

Slide 68 text

ݱ࣮͸೉͍͠

Slide 69

Slide 69 text

·ͱΊ !69 • ઃܭݪଇ͸ɺϚΠΫϩαʔϏεͷઃܭΛ͢Δ্Ͱ΋
 ࢦ਑ʹ͢Δ͜ͱ͕Ͱ͖Δ • ݱ࣮ʹ͸೉͍͠໰୊͕͍Ζ͍Ζ͋Δ • ϚΠΫϩαʔϏεͷྑ͞Λࡴ͞ͳ͍Α͏ʹ஫ҙ͠ͳ͕Βɺ
 ݱ࣮ͷ໰୊ʹରॲ͍ͯ͘͠ • ϚΠΫϩαʔϏεͷઃܭʹڵຯ͕͋Δਓ͸
 'J/$5FDIOPMPHJFTࣾͷ࠾༻ʹ͝Ԡื͍ͩ͘͞ʂ • IUUQTXXXXBOUFEMZDPNDPNQBOJFTGJOD

Slide 70

Slide 70 text

8FBSFIJSJOH