Upgrade to Pro — share decks privately, control downloads, hide ads and more …

マイクロサービスと設計原則 / Microservices and Design Principles

qsona
November 08, 2018

マイクロサービスと設計原則 / Microservices and Design Principles

qsona

November 08, 2018
Tweet

More Decks by qsona

Other Decks in Technology

Transcript

  1. ϚΠΫϩαʔϏεͱઃܭݪଇ
    !RTPOB 'J/$5FDIOPMPHJFT*OD

    ઃܭ/JHIUQPXFSFECZ$MBTTJ
    ձ৔גࣜձࣾ3FUUZ

    View full-size slide

  2. XIPBNJ
    !2
    • !RTPOB 5XJUUFS(JU)VC

    • 4PGUXBSF&OHJOFFS
    • ݱࡏ͸43&5FBNʹॴଐ
    • 'J/$5FDIOPMPHJFT
    • .JDSPTFSWJDFT.FFUVQओ࠵

    View full-size slide

  3. ࠓ೔ͷςʔϚઃܭݪଇ

    View full-size slide

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

    View full-size slide

  5. "HFOEB
    !5
    • ϚΠΫϩαʔϏεͷઃܭ
    • ͦ΋ͦ΋ϚΠΫϩαʔϏεͬͯ
    • ϚΠΫϩαʔϏεΛ࣮ફ͍ͯ͠Δͱ͖ʹ

    ͲΜͳઃܭ൑அΛ͢Δ͜ͱʹͳΔͷ͔
    • ϚΠΫϩαʔϏεͱઃܭݪଇ
    • ϚΠΫϩαʔϏεͰͷઃܭ൑அͷ۩ମྫΛ΋ͱʹɺ

    ઃܭݪଇΛద༻ͯ͠ΈΔ

    View full-size slide

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

    View full-size slide

  7. ϚΠΫϩαʔϏεͱ͸ʁ
    !7
    • ڠௐͯ͠ಈ࡞͢Δɺ

    খن໛Ͱࣗ཯తͳαʔϏε
    ग़య: ϚΠΫϩαʔϏεΞʔΩςΫνϟ(O'reilly Japan)

    View full-size slide

  8. ϚΠΫϩαʔϏεͷྑ͞
    !8
    • ٕज़ҟ࣭ੑ
    • ͦΕͧΕ࠷దͳݴޠɾϥΠϒϥϦɾσʔλετΞ౳Λར༻Ͱ͖Δ
    • ٕज़తෛ࠴ΛҾ͖ͣΓʹ͍͘
    • ճ෮ੑ 3FTJMJFODF

    • αʔϏεʹো֐͕ى͖ͯ΋શମ΁ͷӨڹ͸গͳ͍
    • σϓϩΠͷಠཱ
    • ΞδϟΠϧͳՁ஋ఏڙ
    • খࣗ͘͞཯ɾಠཱͨ͠૊৫
    • ίϛϡχέʔγϣϯύεΛݮΒ͠ɺҙࢥܾఆΛૉૣ͘

    View full-size slide

  9. ϚΠΫϩαʔϏεͷྑ͞ઃܭ൑அͷ΋ͷ͞͠
    !9
    • ϚΠΫϩαʔϏεͷྑ͞ΛอͯΔྑ͍ઃܭ
    • ؾΛ͚͍ͭͯͳ͍ͱ͙͢ʹྑ͕ࣦ͞ΘΕΔ͔Β஫ҙ
    • .JDSPTFSWJDFT.FFUVQWPMͰ࿩͠·ͨ͠

    ϚΠΫϩαʔϏεͱΫϥΠΞϯτཧ૝ͱݱ࣮ͷڱؒͰ

    IUUQTTQFBLFSEFDLDPNRTPOBJEFBMBOESFBMJUZPGNJDSPTFSWJDFTGSPNUIFDMJFOUTJEF
    • ͲΕ͕ͲΕ͘Β͍ॏཁ͔͸ɺঢ়گʹΑͬͯҟͳΔ
    • ྫٕज़ҟ࣭ੑ
    • 31$Λ࢖͏ͱϚΠφʔͳݴޠͰͷ࣮૷͕ͳ͔ͬͨΓ͢Δ

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  12. αʔϏεͷڥքΛఆΊΔ

    View full-size slide

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

    View full-size slide

  14. αʔϏεͷڥքΛఆΊΔ
    !14
    • %PNBJO%SJWFO%FTJHOͷߟ͑Λద༻͢ΔͱΑͦ͞͏
    • #PVOEFE$POUFYU ڥք͚ͮΒΕͨίϯςΩετ

    • αʔϏε෼ׂͷڥք
    • "HHSFHBUF3PPU ू໿ϧʔτ

    • "1*ઃܭͷཻ౓

    View full-size slide

  15. 2

    ϚΠΫϩαʔϏεͷڥք಺͸

    ͔͋ΜઃܭͰ΋ྑ͍ʁ (Yes/No)

    View full-size slide

  16. 2

    ϚΠΫϩαʔϏεͷڥք಺͸

    ͔͋ΜઃܭͰ΋ྑ͍ʁ (Yes/No)
    ※ݸਓͷײ૝Ͱ͢

    View full-size slide

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

    Φεεϝ͢Δ

    View full-size slide

  18. αʔϏεΛ౷߹͢Δ

    View full-size slide

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

    "1*ͷཻ౓ͳͲ͕ઃܭ൑அͷϙΠϯτ

    View full-size slide

  20. ԣஅతͳ՝୊ʹରॲ͢Δ

    View full-size slide

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

    ԣஅతͳαʔϏεΛ࡞Δͷ͔ɺͳͲ

    View full-size slide

  22. #ύʔτ

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

    View full-size slide

  23. ઃܭݪଇ
    !23
    • ઃܭݪଇͱ͸

    ʮࠓ͜͜ʹ͋Δ͜ͷߏ଄͕ɺྑ͍ઃܭʹͳ͍ͬͯΔ͔Ͳ͏͔ʯ

    Λ͔֬ΊΔͨΊͷࢦ਑
    ग़య: ࣮گதܧγϦʔζ ʮ։ൃݱ৔Ͱ໾ཱͨͤΔͨΊͷઃܭݪଇͱύλʔϯʯ
    #builderscon 2018 - ೣܕͷ஝Իػ͸ 1 ෼ؒʹ 45 ճʹΌ͋ͱ໐͘

    View full-size slide

  24. ͱΓ͋͑ͣͭͷݪଇΛҾ͖߹͍ʹग़ͯ͠Έ·͢
    !24
    • 431 4JOHMF3FTQPOTJCJMJUZ1SJODJQMF ୯Ұ੹೚ݪଇ

    • 1%4 1SFTFOUBUJPO%PNBJO4FQBSBUJPO ϓϨθϯςʔγϣϯͱυϝΠϯͷ෼཭

    • %3: %POU3FQFBU:PVSTFMG

    View full-size slide

  25. 431 ୯Ұ੹೚ݪଇ

    View full-size slide

  26. 431 ୯Ұ੹೚ݪଇ

    !26
    • มߋ͢Δཧ༝͕ಉ͡΋ͷ͸ूΊΔɺ

    มߋ͢Δཧ༝͕ҧ͏΋ͷ͸෼͚Δ
    Gather together the things that
    change for the same reasons.

    Separate those things that 

    change for different reasons.

    View full-size slide

  27. 431 ୯Ұ੹೚ݪଇ

    !27
    • มߋ͢Δཧ༝͕ಉ͡΋ͷ͸ूΊΔɺ

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

    View full-size slide

  28. 431 ୯Ұ੹೚ݪଇ

    !28
    • มߋ͢Δཧ༝͕ಉ͡΋ͷ͸ूΊΔɺ

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

    View full-size slide

  29. 1%4 ϓϨθϯςʔγϣϯͱυϝΠϯͷ෼཭

    !30
    • ͦͷ໊ͷ௨ΓͰ͢Ͷ
    ग़య: PresentationDomainSeparation (Martin Fowler, 2003)
    https://martinfowler.com/bliki/PresentationDomainSeparation.html

    View full-size slide

  30. %3: %POU3FQFBU:PVSTFMG

    !32
    • ·͋આ໌ෆཁͰ͸ʁ

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  34. ػೳԣஅϏδωεͷྫ
    !36
    • 'J/$Ͱͷྫಛ஡εϚʔτΞϓϦ
    • 'J/$ΞϓϦͷҰܗଶ
    • ಛఆͷܦ࿏͔ΒΞϓϦΛΠϯετʔϧ͢Δͱ

    ಛ஡ϢʔβʔʹͳΓɺ

    ಛ஡ઐ༻ΦϯϘʔσΟϯά͕࢝·Δ
    • ಛ஡ઐ༻ϛογϣϯ͕ղ์͞ΕΔ
    • ಛ஡Ϣʔβʔ༻ʹΧελϚΠζ͞Εͨ

    QVTI௨஌͕഑৴͞ΕΔ

    View full-size slide

  35. ػೳԣஅϏδωεͷྫ
    !37
    • 'J/$Ͱͷྫಛ஡εϚʔτΞϓϦ
    • 'J/$ΞϓϦͷҰܗଶ
    • ಛఆͷܦ࿏͔ΒΞϓϦΛΠϯετʔϧ͢Δͱ

    ಛ஡ϢʔβʔʹͳΓɺ

    ಛ஡ઐ༻ΦϯϘʔσΟϯά͕࢝·Δ
    • ಛ஡ઐ༻ϛογϣϯ͕ղ์͞ΕΔ
    • ಛ஡Ϣʔβʔ༻ʹΧελϚΠζ͞Εͨ

    QVTI௨஌͕഑৴͞ΕΔ
    • 6TFS5BHαʔϏε
    • 0OCPBSEJOHαʔϏε
    • .JTTJPOαʔϏε
    • 1VTI௨஌αʔϏε
    ͦΕͧΕ͕
    ϚΠΫϩαʔϏεʹରԠ

    View full-size slide

  36. ػೳԣஅϏδωεͷྫ
    !38
    • 'J/$Ͱͷྫಛ஡εϚʔτΞϓϦ
    • 'J/$ΞϓϦͷҰܗଶ
    • ಛఆͷܦ࿏͔ΒΞϓϦΛΠϯετʔϧ͢Δͱ

    ಛ஡ϢʔβʔʹͳΓɺ

    ಛ஡ઐ༻ΦϯϘʔσΟϯά͕࢝·Δ
    • ಛ஡ઐ༻ϛογϣϯ͕ղ์͞ΕΔ
    • ಛ஡Ϣʔβʔ༻ʹΧελϚΠζ͞Εͨ

    QVTI௨஌͕഑৴͞ΕΔ
    • 6TFS5BHαʔϏε
    • 0OCPBSEJOHαʔϏε
    • .JTTJPOαʔϏε
    • 1VTI௨஌αʔϏε
    ͦΕͧΕ͕
    ϚΠΫϩαʔϏεʹରԠ
    ͜ͷྫͩͱ
    ͪΐͬͱઆ໌͠ʹ͍͘
    ผͷྫΛग़͍ͤͯͩ͘͞͞

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    ։ൃεϐʔυΛ࠷େԽ͢Δઓज़ͱ΋͍͑Δ
    • ٕज़తෛ࠴ͷલआΓ

    View full-size slide

  42. 1%4Λ࣋ͪग़͢
    !44
    • 1SFTFOUBUJPOϏδωεͱ%PNBJOϏδωε͕͋ΔͷͰ͸ʁʁ
    • ઌੜ޲͚ੜె޲͚อޢऀ޲͚αʔϏεΛ

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  45. ͦΜͳʹਓ͕५୔ʹ͍ͳ͍໰୊
    !47
    • ཧ۶্ྑͯ͘΋ɺ

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

    View full-size slide

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

    υϝΠϯΛཧղ͔ͯ͠ΒαʔϏε෼ׂͤΑ
    • ू໿ϨΠϠʔͷଠΓա͗ʹ஫ҙ

    View full-size slide

  47. ݱ࣮͸೉͍͠

    View full-size slide

  48. ໰୊
    αʔϏεؒͷओैؔ܎

    Ͳͬͪʹ͢Δ͔
    αʔϏε౷߹ͷ໰୊

    View full-size slide

  49. αʔϏεؒͷओैؔ܎
    !51
    • αʔϏε"Ͱͷσʔλ΍ग़དྷࣄΛɺαʔϏε#Ͱ΋࢖͍͍ͨͱ͖
    • ͭ·Γɺ"ͱ#Λ࿈ܞͤ͞Δ
    • ֓Ͷ௨Γ͋Δ

    "͕#ʹ1045͢Δ

    #͕"͔Β(&5͢Δ

    "͕ΠϕϯτΛ౤͛ɺ

    #͕TVCTDSJCFͯ͠ॲཧ
    A B
    A B
    A B
    POST
    GET

    View full-size slide

  50. αʔϏεؒͷओैؔ܎
    !52

    ͱ
    ͸࣮࣭ಉ͡

    ͸"͕ओɺ#͕ै


    ͸#͕ओɺ"͕ै
    • ͭ·Γɺ͜ͷػೳʹରͯ͠

    ͲͪΒ͕ओମతʹͳΔ΂͖͔ʁ

    ͱ͍͏࿩
    A B
    A B
    A B
    POST
    GET

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  53. ୯Ұ੹೚ݪଇ
    !55
    • -JGFMPH͕ओͱ͢Δͱ
    • -JGFMPH͸ɺϔϧεσʔλΛه࿥͢Δ੹຿ͱ

    ׂͱ৭Μͳจݴ͕͋ΔϦονͳ
    1VTI௨஌ΛૹΔ੹຿Λ྆ํ΋ͭ
    • ͜Ε͸୯Ұ੹೚ݪଇʹ൓͢Δ ௿ڽू

    • 1VTI௨஌͕ओͱ͢Δͱ
    • 1VTI௨஌αʔϏε͸ɺ-JGFMPHҎ֎ͷ৭ΜͳαʔϏε͔Β΋

    ΠϕϯτΛड͚औΔ
    • ΋͠1VTI௨஌ΛશͯϚωδϝϯτ͢ΔਓνʔϜ͕͍ΔͳΒ͹

    ୯Ұ੹೚ݪଇΛຬͨ͢
    • ͦ͏Ͱͳ͚Ε͹୯Ұ੹೚ݪଇʹ൓͢Δ ີ݁߹

    View full-size slide

  54. 1%4 ϓϨθϯςʔγϣϯͱυϝΠϯͷ෼཭

    !56
    • 1VTI௨஌ͷจݴ͸ɺҰछͷϓϨθϯςʔγϣϯͱΈͳͤͳ͘΋ͳ͍
    • ͦͷΑ͏ʹଊ͑ͨ৔߹
    • ʮา਺ʯͱ͍͏υϝΠϯͱ

    ʮ௨஌จݴʯͱ͍͏ϓϨθϯςʔγϣϯΛ෼͚͍ͨ
    • ͭ·Γ1VTI௨஌Λओʹ͢Ε͹ୡ੒Ͱ͖Δ

    View full-size slide

  55. ࣮ࡍͷঢ়گ
    !57
    • ɹɹ͔ΒૹΒΕΔ1VTI௨஌΍ΞϓϦ಺௨஌Λ

    Ұݩ؅ཧ͢ΔαʔϏε͕͋Δ
    • ͔ͦ͜Β1VTI௨஌αʔϏεʹ1045͍ͯ͠Δ
    • 1VTI௨஌αʔϏε͸ඇৗʹബ͍ ͕ɺผ్ϏδωεϩδοΫ͕͋Δ

    • ݱঢ়ɺ1VTI௨஌αʔϏε͕Φʔφʔෆࡏͷ໰୊͋Γ
    Lifelog Push௨஌
    Others

    View full-size slide

  56. ݱ࣮͸೉͍͠

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  59. ѱ͍%3:ͷྫ
    !61
    • ֤࡞඼͕ɺଞͷ࡞඼ͱಠཱͯ͠ฤूͰ͖ͳ͘ͳ͍ͬͯΔ
    • ʮੲʑɺ͋Δͱ͜Ζʹɾɾɾʯͷจʹ

    ੹೚Λ͍࣋ͬͯΔͷ͸໌Β͔ʹ֤࡞ՈͰ͋Δ͸ͣ
    • ୯Ұ੹೚ݪଇʹ൓͠ɺີ݁߹ʹͳ͍ͬͯΔ
    • ҰํɺϝϦοτ΋গͳ͍
    • จ͕୹͍ͷͰɺΘ͟Θ͟ϥΠϒϥϦԽ͢Δҙຯ͕
    • Ծʹݟͨ໨্ಉ͡Ͱ΋
    ڞ௨Խ͢΂͖Ͱͳ͍΋ͷ͸

    ͨ͘͞Μ͋Δ

    View full-size slide

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

    View full-size slide

  61. ݱ࣮ͷ໰୊ྫ
    !63
    • ֤αʔϏεʹ$*ͷઃఆϑΝΠϧ͕ࢄΒ͹͍ͬͯΔ
    • DJSDMFDJDPOGJHZNM
    • େମίϐϖʹ͍ۙ
    • σϓϩΠϑϩʔΛमਖ਼͍ͨ͠ͱ͖ɺશαʔϏεʹ

    मਖ਼ͯ͠ճΒͳ͍ͱ͍͚ͳ͍
    • %3:ݪଇʹ൓͢Δʂ

    View full-size slide

  62. ݱ࣮ͷ໰୊ྫ
    !64
    • ֤αʔϏε͕ಉ͡Α͏ͳϥΠϒϥϦΛ࢖͍ͬͯΔ
    • ͋ΔϥΠϒϥϦʹ੬ऑੑ͕͋ͬͨͱ͖ɺશαʔϏεΛ

    ߋ৽ͯ͠ճΒͳ͚Ε͹ͳΒͳ͍
    • %3:ݪଇʹ൓͢Δʂ

    View full-size slide

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

    View full-size slide

  64. Ͳ͏͢Δ͔ʁ
    !66
    • ҊαʔϏεςϯϓϨʔτΛڧ੍ͤ͞Δʁ
    • શαʔϏε͕ڞ௨ͷϥΠϒϥϦ΍ઃఆΛ࢖͏Πϝʔδ
    • ֤αʔϏε͕ີ݁߹ʹͳΓɺٕज़ҟ࣭ੑͳͲ͕ࣦΘΕΔ
    • جຊతʹ͸σϝϦοτͷ͕ଟ͍ͱࢥ͏
    • ੹೚ͱ੹೚͕ަΘΓ͍͋ͬͯΔͷͰɺ

    ୯Ұ੹೚ݪଇͰ؆୯ʹ౴͑Λग़͢͜ͱ͸Ͱ͖ͳ͍
    • ϝϦοτɾσϝϦοτʹάϥσʔγϣϯ͕͋Δ
    • ϝϦοτΛͳΔ΂͘࢒ͭͭ͠ɺσϝϦοτΛ࠷খԽ͢Δ

    View full-size slide

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

    ·ͱΊͯ1VMM3FRVFTUΛग़ͤΔํ๏͕͋ͬͨΒڭ͑ͯ΄͍͠

    View full-size slide

  66. ݱ࣮͸೉͍͠

    View full-size slide

  67. ·ͱΊ
    !69
    • ઃܭݪଇ͸ɺϚΠΫϩαʔϏεͷઃܭΛ͢Δ্Ͱ΋

    ࢦ਑ʹ͢Δ͜ͱ͕Ͱ͖Δ
    • ݱ࣮ʹ͸೉͍͠໰୊͕͍Ζ͍Ζ͋Δ
    • ϚΠΫϩαʔϏεͷྑ͞Λࡴ͞ͳ͍Α͏ʹ஫ҙ͠ͳ͕Βɺ

    ݱ࣮ͷ໰୊ʹରॲ͍ͯ͘͠
    • ϚΠΫϩαʔϏεͷઃܭʹڵຯ͕͋Δਓ͸

    'J/$5FDIOPMPHJFTࣾͷ࠾༻ʹ͝Ԡื͍ͩ͘͞ʂ
    • IUUQTXXXXBOUFEMZDPNDPNQBOJFTGJOD

    View full-size slide