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

942bb606679caf4c57b38927f83178e1?s=47 qsona
November 08, 2018

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

942bb606679caf4c57b38927f83178e1?s=128

qsona

November 08, 2018
Tweet

Transcript

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

  2. XIPBNJ !2 • !RTPOB 5XJUUFS(JU)VC  • 4PGUXBSF&OHJOFFS • ݱࡏ͸43&5FBNʹॴଐ

    • 'J/$5FDIOPMPHJFT • .JDSPTFSWJDFT.FFUVQओ࠵
  3. ࠓ೔ͷςʔϚઃܭݪଇ

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

  5. "HFOEB !5 • ϚΠΫϩαʔϏεͷઃܭ • ͦ΋ͦ΋ϚΠΫϩαʔϏεͬͯ • ϚΠΫϩαʔϏεΛ࣮ફ͍ͯ͠Δͱ͖ʹ
 ͲΜͳઃܭ൑அΛ͢Δ͜ͱʹͳΔͷ͔ •

    ϚΠΫϩαʔϏεͱઃܭݪଇ • ϚΠΫϩαʔϏεͰͷઃܭ൑அͷ۩ମྫΛ΋ͱʹɺ
 ઃܭݪଇΛద༻ͯ͠ΈΔ
  6. "ύʔτ ϚΠΫϩαʔϏεͷઃܭ൑அ

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

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

    3FTJMJFODF  • αʔϏεʹো֐͕ى͖ͯ΋શମ΁ͷӨڹ͸গͳ͍ • σϓϩΠͷಠཱ • ΞδϟΠϧͳՁ஋ఏڙ • খࣗ͘͞཯ɾಠཱͨ͠૊৫ • ίϛϡχέʔγϣϯύεΛݮΒ͠ɺҙࢥܾఆΛૉૣ͘
  9. ϚΠΫϩαʔϏεͷྑ͞ઃܭ൑அͷ΋ͷ͞͠ !9 • ϚΠΫϩαʔϏεͷྑ͞ΛอͯΔྑ͍ઃܭ • ؾΛ͚͍ͭͯͳ͍ͱ͙͢ʹྑ͕ࣦ͞ΘΕΔ͔Β஫ҙ • .JDSPTFSWJDFT.FFUVQWPMͰ࿩͠·ͨ͠
 ϚΠΫϩαʔϏεͱΫϥΠΞϯτཧ૝ͱݱ࣮ͷڱؒͰ
 IUUQTTQFBLFSEFDLDPNRTPOBJEFBMBOESFBMJUZPGNJDSPTFSWJDFTGSPNUIFDMJFOUTJEF

    • ͲΕ͕ͲΕ͘Β͍ॏཁ͔͸ɺঢ়گʹΑͬͯҟͳΔ • ྫٕज़ҟ࣭ੑ • 31$Λ࢖͏ͱϚΠφʔͳݴޠͰͷ࣮૷͕ͳ͔ͬͨΓ͢Δ
  10. ͲΜͳઃܭ൑அ͕͋Δͷ͔ʁ ˞͔͜͜Β͸͔ͳΓࢲݟ͕ೖΓ·͢ɻ Ұ୴ɺࠓͷࣗ෼͕Ͱ͖Δ੔ཧΛͯ͠ΈΔɻ

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

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

  13. αʔϏεͷڥքΛఆΊΔ !13 • ϚΠΫϩαʔϏεͰ࠷΋ॏཁͳҙࢥܾఆ • ڥքΛఆΊΔج४ • Ϗδωε • ਓɾ૊৫

    • τϥϯβΫγϣϯ • αʔϏεΛ·͕ͨͬͨ෼ࢄτϥϯβΫγϣϯ͸ෆՄೳͱࢥ͏΂͠ • ٕज़
  14. αʔϏεͷڥքΛఆΊΔ !14 • %PNBJO%SJWFO%FTJHOͷߟ͑Λద༻͢ΔͱΑͦ͞͏ • #PVOEFE$POUFYU ڥք͚ͮΒΕͨίϯςΩετ  • αʔϏε෼ׂͷڥք

    • "HHSFHBUF3PPU ू໿ϧʔτ  • "1*ઃܭͷཻ౓
  15. 2
 ϚΠΫϩαʔϏεͷڥք಺͸
 ͔͋ΜઃܭͰ΋ྑ͍ʁ (Yes/No)

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

  17. ڥք಺Ͱͷࣦഊʹ͸׮༰ʹ !17 • ڥքΛݟޡΔͱޙͰΊͬͪΌͭΒ͍͕ • ڥք಺ͷࣦഊ͸ɺ͋ͱͰऔΓฦͤΔ • ٕज़తෛ࠴΋؅ཧ͠΍͍͢ • αʔϏεΛখ͍ͯ͘͞͠ΔϝϦοτ

    • Ͳ͏ͤະདྷΛ͢΂ͯݟਾ͑Δ͜ͱ͸Ͱ͖ͳ͍ʜ • ˞%#ͷਖ਼نԽ͚ͩ͸ͪΌΜͱ΍͓ͬͯ͘ͷΛ
 Φεεϝ͢Δ
  18. αʔϏεΛ౷߹͢Δ

  19. αʔϏεͷ౷߹ !19 • ෳ਺ͷαʔϏεΛ࿈ܞͤ͞Δ • "1*࿈ܞ • 3&45GVM 31$ •

    ඇಉظΠϕϯτϕʔεͷ࿈ܞ • ϝοηʔδΩϡʔΛ࢖͏͜ͱ͕ଟ͍ • ͲͷΑ͏ʹ࿈ܞ͢Δ͔ɺͲΜͳٕज़Λར༻͢Δ͔ɺ
 "1*ͷཻ౓ͳͲ͕ઃܭ൑அͷϙΠϯτ
  20. ԣஅతͳ՝୊ʹରॲ͢Δ

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

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

  23. ઃܭݪଇ !23 • ઃܭݪଇͱ͸
 ʮࠓ͜͜ʹ͋Δ͜ͷߏ଄͕ɺྑ͍ઃܭʹͳ͍ͬͯΔ͔Ͳ͏͔ʯ
 Λ͔֬ΊΔͨΊͷࢦ਑ ग़య: ࣮گதܧγϦʔζ ʮ։ൃݱ৔Ͱ໾ཱͨͤΔͨΊͷઃܭݪଇͱύλʔϯʯ #builderscon

    2018 - ೣܕͷ஝Իػ͸ 1 ෼ؒʹ 45 ճʹΌ͋ͱ໐͘
  24. ͱΓ͋͑ͣͭͷݪଇΛҾ͖߹͍ʹग़ͯ͠Έ·͢ !24 • 431 4JOHMF3FTQPOTJCJMJUZ1SJODJQMF ୯Ұ੹೚ݪଇ  • 1%4 1SFTFOUBUJPO%PNBJO4FQBSBUJPO

    ϓϨθϯςʔγϣϯͱυϝΠϯͷ෼཭  • %3: %POU3FQFBU:PVSTFMG
  25. 431 ୯Ұ੹೚ݪଇ

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

    that change for the same reasons.
 Separate those things that 
 change for different reasons.
  27. 431 ୯Ұ੹೚ݪଇ !27 • มߋ͢Δཧ༝͕ಉ͡΋ͷ͸ूΊΔɺ
 มߋ͢Δཧ༝͕ҧ͏΋ͷ͸෼͚Δ • ҎԼͷݪଇΛ಺แ͍ͯ͠Δ • ߴڽू

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

    • 5IJTQSJODJQMFJTBCPVUQFPQMF ग़య: The Single Responsibility Principle (Robert C, Martin 2014) https://blog.cleancoder.com/uncle-bob/2014/05/08/SingleReponsibilityPrinciple.html
  29. 1%4

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

    https://martinfowler.com/bliki/PresentationDomainSeparation.html
  31. %3:

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

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

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

  35. ػೳԣஅϏδωε !35 • લఏϚΠΫϩαʔϏε͸Ϗδωεͷ୯Ґʹ͢΂͖ • લఏػೳ • ػೳΛԣஅ͢ΔΑ͏ͳϏδωε • ྫΩϟϯϖʔϯΠϕϯτܥ

    ՝ۚϓϥϯ ސ٬͝ͱͷΧελϚΠζ FUD • ԣஅϏδωεʹԊͬͯνʔϜ͕࡞ΒΕΔ͜ͱ΋͋Δ
  36. ػೳԣஅϏδωεͷྫ !36 • 'J/$Ͱͷྫಛ஡εϚʔτΞϓϦ • 'J/$ΞϓϦͷҰܗଶ • ಛఆͷܦ࿏͔ΒΞϓϦΛΠϯετʔϧ͢Δͱ
 ಛ஡ϢʔβʔʹͳΓɺ
 ಛ஡ઐ༻ΦϯϘʔσΟϯά͕࢝·Δ

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

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

    • ಛ஡ઐ༻ϛογϣϯ͕ղ์͞ΕΔ • ಛ஡Ϣʔβʔ༻ʹΧελϚΠζ͞Εͨ
 QVTI௨஌͕഑৴͞ΕΔ • 6TFS5BHαʔϏε • 0OCPBSEJOHαʔϏε • .JTTJPOαʔϏε • 1VTI௨஌αʔϏε ͦΕͧΕ͕ ϚΠΫϩαʔϏεʹରԠ ͜ͷྫͩͱ ͪΐͬͱઆ໌͠ʹ͍͘ ผͷྫΛग़͍ͤͯͩ͘͞͞
  39. ՍۭͷʮڭҭʯαʔϏε !39 • αʔϏεߏ੒ • ࢦಋऀ ઌੜ ޲͚αʔϏε • ඃࢦಋऀ

    ੜె ޲͚αʔϏε • อޢऀ޲͚αʔϏε • FUD • Ϣʔβʔ͸্ͷΑ͏ͳ୯ҐͰʮαʔϏεʯΛଊ͍͑ͯΔ • ཪʹ͸༷ʑͳػೳ͕͋Δ • ྫ॓୊ ࿈བྷ FUD • ػೳ͸ෳ਺ͷαʔϏε͔Β࢖ΘΕΔ
  40. ઃܭύλʔϯػೳͰͷϚΠΫϩαʔϏε !40 • ઌੜੜెอޢऀ$MJFOU ॓୊࿈བྷ4FSWJDF ॓୊ ࿈བྷ อޢऀ ઌੜ ੜె

    อޢऀνʔϜ ੜెνʔϜ Client Apps (SPAͳͲ) Services ઌੜνʔϜ
  41. ઃܭύλʔϯػೳͰͷϚΠΫϩαʔϏε !41 • ୯Ұ੹೚ݪଇͰΈͯΈΔ • ػೳ໘Ͱ͸Αͦ͞͏ • ػೳ͕αʔϏεʹू·Δߴڽू • ֤ػೳ͸ಠཱʹ։ൃɾσϓϩΠՄೳૄ݁߹

    • ʮਓɾ૊৫ʯͷ໘Ͱ͸Ͳ͏ͩΖ͏͔ʁ • Ϗδωεతͳ૊৫ͷ෼͚ํ͸ʮઌੜνʔϜʯʮੜెνʔϜʯ͔΋͠Εͳ͍ • ͭ·Γɺෳ਺ͷνʔϜ͕ͭͷػೳʹखΛೖΕΔ • ୯Ұ੹೚Ͱͳ͍ʁ
  42. ઃܭύλʔϯϏδωεͰͷαʔϏεͱڞ༗%# !42 • ઌੜαʔϏε ੜెαʔϏε อޢऀαʔϏε • ͍ΘΏΔʮ෼அ͞ΕͨϞϊϦεʯ˞ ॓୊DB ࿈བྷDB

    อޢऀ ઌੜ ੜె อޢऀνʔϜ ੜెνʔϜ Services ઌੜνʔϜ ※ग़య: Rails Developers Meetup 2018: Day 1 Ͱ ʰQuipperʹ͓͚Δʮؔ৺ͷ෼཭ʯͷྺ࢙ʱͱ͍͏ൃදΛ͠ ·ͨ͠ - @kyanny's blog https://blog.kyanny.me/entry/2018/03/24/230459
  43. ઃܭύλʔϯϏδωεͰͷαʔϏεͱڞ༗%# !43 • ୯Ұ੹೚ݪଇͰΈͯΈΔ • ڞ༗%#͸ີ݁߹ • %#͸࣮૷Ͱ͋ΓɺΠϯλʔϑΣΠεͱଊ͑Δ΂͖Ͱ͸ຊདྷͳ͍ • ϚΠΫϩαʔϏεͷจ຺Ͱ͸໌֬ʹΞϯνύλʔϯ

    • ʮਓɾ૊৫ʯͷ໘Ͱ͸ߴڽूɾૄ݁߹ʹͳ͍ͬͯΔͱ΋͍͑Δ • Ϗδωεͷ࣮ଶʹ߹ͬͨαʔϏεߏ੒ • ಛʹ։ൃॳظϑΣʔζͰ͸σϝϦοτ͕࣮͸খ͘͞ɺ
 ։ൃεϐʔυΛ࠷େԽ͢Δઓज़ͱ΋͍͑Δ • ٕज़తෛ࠴ͷલआΓ
  44. 1%4Λ࣋ͪग़͢ !44 • 1SFTFOUBUJPOϏδωεͱ%PNBJOϏδωε͕͋ΔͷͰ͸ʁʁ • ઌੜ޲͚ੜె޲͚อޢऀ޲͚αʔϏεΛ
 1SFTFOUBUJPOϏδωεͱଊ͑ͯΈΔ • 1SFTFOUBUJPO୲౰αʔϏε͸ɺΤϯυϢʔβʔʹ޲͚ͨू໿Λ୲౰͢Δ •

    ઌੜαʔϏε ੜెαʔϏε อޢऀαʔϏε • #'' #BDLFOETGPS'SPOUFOET ʹ͍ۙΠϝʔδ • %PNBJO୲౰αʔϏε͸ɺػೳΛ୲౰͢Δ • ॓୊αʔϏε ࿈བྷαʔϏε • ֤1SFTFOUBUJPOϏδωεͷཁٻΛௐఀ͢Δ
  45. ͜Μͳײ͡ !45 • Ϣʔβʔʹ͍ۙνʔϜͱɺόοΫΤϯυͷνʔϜ͕͋Δ ॓୊ ࿈བྷ อޢऀ ઌੜ ੜె อޢऀνʔϜ

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

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

  48. 1%ͷڥք͋΍;΍໰୊ !48 • 1SFTFOUBUJPOͩͱࢥ͍ͬͯͨ΋ͷ͕࣮͸%PNBJOͩͬͨΓ͢Δ • ରࡦ • ͔ͬ͠Γٞ࿦ͯ͠ɺͳΔ΂͘%PNBJOʹدͤΔ • ͦΕͰ΋෼͔Βͳ͔ͬͨΒ1SFTFOUBUJPOʹدͤΔ

    • ؔ࿈͢Δ͔΋ • ෼அ͞ΕͨϞϊϦε͸։ൃॳظʹ͓͍ͯඞͣ͠΋ΞϯνύλʔϯͰ͸ͳ͍ • ڥքΛݟޡͬͯϚΠΫϩαʔϏεԽ͢Δͱ஍ࠈΛݟΔɺ
 υϝΠϯΛཧղ͔ͯ͠ΒαʔϏε෼ׂͤΑ • ू໿ϨΠϠʔͷଠΓա͗ʹ஫ҙ
  49. ݱ࣮͸೉͍͠

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

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

    "͕#ʹ1045͢Δ •  #͕"͔Β(&5͢Δ •  "͕ΠϕϯτΛ౤͛ɺ
 #͕TVCTDSJCFͯ͠ॲཧ A B A B A B POST GET
  52. αʔϏεؒͷओैؔ܎ !52 •  ͱ ͸࣮࣭ಉ͡ •  ͸"͕ओɺ#͕ै •

      ͸#͕ओɺ"͕ै • ͭ·Γɺ͜ͷػೳʹରͯ͠
 ͲͪΒ͕ओମతʹͳΔ΂͖͔ʁ
 ͱ͍͏࿩ A B A B A B POST GET
  53. ۩ମྫ !53 • 'J/$ΞϓϦͰͷྫ • Ϣʔβʔͷา਺͕͋ΔҰఆҎ্ʹͳΔͱɺQVTI௨஌͕ඈͿ • QVTI௨஌ͷจݴ͸ݻఆͰ͸ͳ͍ • छྨ͸ΊͪΌͨ͘͞Μ͋Δ

    • ɹΩϟϥΫλʔ͔Βϝοηʔδ͕ಧ͘
  54. ओैؔ܎Λߟ͑Δ !54 • ͭͷαʔϏε • -JGFMPHαʔϏε • า਺ͳͲͷϔϧεέΞσʔλΛѻ͏ • 1VTI௨஌

    • ϢʔβʹQVTI௨஌ΛૹΔͨΊͷ৘ใ Λ࣋ͪɺ࣮ࡍʹQVTI௨஌ΛૹΔ • ͲͪΒ͕ओͰ͋Δ΂͖͔ʁ • ओʹͳΔ΄͏͕ࠓճͷػೳ 1VTI ௨஌ͷ࣮ࡍͷจݴͳͲ Λ࣋ͭ Lifelog Push௨஌ Lifelog Push௨஌ POST
  55. ୯Ұ੹೚ݪଇ !55 • -JGFMPH͕ओͱ͢Δͱ • -JGFMPH͸ɺϔϧεσʔλΛه࿥͢Δ੹຿ͱ
 ׂͱ৭Μͳจݴ͕͋ΔϦονͳ 1VTI௨஌ΛૹΔ੹຿Λ྆ํ΋ͭ • ͜Ε͸୯Ұ੹೚ݪଇʹ൓͢Δ

    ௿ڽू  • 1VTI௨஌͕ओͱ͢Δͱ • 1VTI௨஌αʔϏε͸ɺ-JGFMPHҎ֎ͷ৭ΜͳαʔϏε͔Β΋
 ΠϕϯτΛड͚औΔ • ΋͠1VTI௨஌ΛશͯϚωδϝϯτ͢ΔਓνʔϜ͕͍ΔͳΒ͹
 ୯Ұ੹೚ݪଇΛຬͨ͢ • ͦ͏Ͱͳ͚Ε͹୯Ұ੹೚ݪଇʹ൓͢Δ ີ݁߹
  56. 1%4 ϓϨθϯςʔγϣϯͱυϝΠϯͷ෼཭ !56 • 1VTI௨஌ͷจݴ͸ɺҰछͷϓϨθϯςʔγϣϯͱΈͳͤͳ͘΋ͳ͍ • ͦͷΑ͏ʹଊ͑ͨ৔߹ • ʮา਺ʯͱ͍͏υϝΠϯͱ
 ʮ௨஌จݴʯͱ͍͏ϓϨθϯςʔγϣϯΛ෼͚͍ͨ

    • ͭ·Γ1VTI௨஌Λओʹ͢Ε͹ୡ੒Ͱ͖Δ
  57. ࣮ࡍͷঢ়گ !57 • ɹɹ͔ΒૹΒΕΔ1VTI௨஌΍ΞϓϦ಺௨஌Λ
 Ұݩ؅ཧ͢ΔαʔϏε͕͋Δ • ͔ͦ͜Β1VTI௨஌αʔϏεʹ1045͍ͯ͠Δ • 1VTI௨஌αʔϏε͸ඇৗʹബ͍ ͕ɺผ్ϏδωεϩδοΫ͕͋Δ

     • ݱঢ়ɺ1VTI௨஌αʔϏε͕Φʔφʔෆࡏͷ໰୊͋Γ Lifelog Push௨஌ Others
  58. ݱ࣮͸೉͍͠

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

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

  61. ѱ͍%3:ͷྫ !61 • ֤࡞඼͕ɺଞͷ࡞඼ͱಠཱͯ͠ฤूͰ͖ͳ͘ͳ͍ͬͯΔ • ʮੲʑɺ͋Δͱ͜Ζʹɾɾɾʯͷจʹ
 ੹೚Λ͍࣋ͬͯΔͷ͸໌Β͔ʹ֤࡞ՈͰ͋Δ͸ͣ • ୯Ұ੹೚ݪଇʹ൓͠ɺີ݁߹ʹͳ͍ͬͯΔ •

    ҰํɺϝϦοτ΋গͳ͍ • จ͕୹͍ͷͰɺΘ͟Θ͟ϥΠϒϥϦԽ͢Δҙຯ͕ • Ծʹݟͨ໨্ಉ͡Ͱ΋ ڞ௨Խ͢΂͖Ͱͳ͍΋ͷ͸
 ͨ͘͞Μ͋Δ
  62. ྑ͍%3:ɾѱ͍%3:ʁ !62 • ྑ͠ѱ͠ͷίϯτϥετ͕͋Δ • ʮ࡞඼ʯʹ͸ʮ࡞Ոʯ͕੹೚Λ࣋ͭͷ͸ࣗ໌ • ࡞඼ͱ͸ͦ͏͍͏΋ͷͩͱΈΜͳೝ͍ࣝͯ͠Δ • Ͱ΋ɺฤूऀࢹ఺ͩͱ·ͨҧͬͯݟ͑Δ

    • දهΏΕ͕ؾʹͳΔ • UZQPΛݮΒ͍ͨ͠ • %3:ͷσϝϦοτΛ؇࿨͢Δྫ • ڞ௨ϥΠϒϥϦ͸༻ҙ͢Δ • ϥΠϒϥϦ͸ద੾ʹ֦ுͷޱ͕ۭ͍͍ͯΔ • ผʹ࢖Θͳͯ͘΋͍͍
  63. ݱ࣮ͷ໰୊ྫ !63 • ֤αʔϏεʹ$*ͷઃఆϑΝΠϧ͕ࢄΒ͹͍ͬͯΔ • DJSDMFDJDPOGJHZNM • େମίϐϖʹ͍ۙ • σϓϩΠϑϩʔΛमਖ਼͍ͨ͠ͱ͖ɺશαʔϏεʹ


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

  65. ݱ࣮ͷ໰୊Λ੔ཧ͢Δ !65 • ϏδωενʔϜͱԣஅνʔϜͷ੹຿͕ॏͳΔ αʔϏεA AνʔϜ αʔϏεB BνʔϜ ϩδοΫ CIઃఆ

    ϥΠϒϥϦ ϩδοΫ CIઃఆ ϥΠϒϥϦ SREνʔϜ σϓϩΠ ηΩϡϦςΟ
  66. Ͳ͏͢Δ͔ʁ !66 • ҊαʔϏεςϯϓϨʔτΛڧ੍ͤ͞Δʁ • શαʔϏε͕ڞ௨ͷϥΠϒϥϦ΍ઃఆΛ࢖͏Πϝʔδ • ֤αʔϏε͕ີ݁߹ʹͳΓɺٕज़ҟ࣭ੑͳͲ͕ࣦΘΕΔ • جຊతʹ͸σϝϦοτͷ͕ଟ͍ͱࢥ͏

    • ੹೚ͱ੹೚͕ަΘΓ͍͋ͬͯΔͷͰɺ
 ୯Ұ੹೚ݪଇͰ؆୯ʹ౴͑Λग़͢͜ͱ͸Ͱ͖ͳ͍ • ϝϦοτɾσϝϦοτʹάϥσʔγϣϯ͕͋Δ • ϝϦοτΛͳΔ΂͘࢒ͭͭ͠ɺσϝϦοτΛ࠷খԽ͢Δ
  67. Αͦ͞͏ͳҊ !67 • جຊతʹ͸ϚΠΫϩαʔϏεͷࣗ཯ੑΛॏࢹ͢΂͖ • σϓϩΠ΍ηΩϡϦςΟ΋ɺୈҰٛతʹ͸֤αʔϏεͷ੹຿ͱ͢Δ • 43&͸ͦΕΛαϙʔτͨ͠Γɺ࠷ޙͷࡆͱͳΔ • ࣮૷ͷ%3:Ͱ͸ͳ͘ɺ࡞ۀͷ%3:Λ໨ࢦ͢

    • ࣮૷ʹ͸֤αʔϏε͕ୈҰٛతʹ੹೚Λ΋͍ͬͯΔ • ͔ͩΒ֤αʔϏεʹίϛοτ͞Ε͍ͯΔɻ࣮૷ࣗମ͸%3:͡Όͳ͍ • 43&͸ԣஅతʹมߋͷఏҊ͕ग़དྷΔ • ࣅͨΑ͏ͳมߋͷఏҊΛ·ͱΊͯͰ͖Ε͹͍͍ • ෳ਺ͷ(JU)VC3FQPTJUPSZʹରͯ͠ࣅͨΑ͏ͳมߋΛ
 ·ͱΊͯ1VMM3FRVFTUΛग़ͤΔํ๏͕͋ͬͨΒڭ͑ͯ΄͍͠
  68. ݱ࣮͸೉͍͠

  69. ·ͱΊ !69 • ઃܭݪଇ͸ɺϚΠΫϩαʔϏεͷઃܭΛ͢Δ্Ͱ΋
 ࢦ਑ʹ͢Δ͜ͱ͕Ͱ͖Δ • ݱ࣮ʹ͸೉͍͠໰୊͕͍Ζ͍Ζ͋Δ • ϚΠΫϩαʔϏεͷྑ͞Λࡴ͞ͳ͍Α͏ʹ஫ҙ͠ͳ͕Βɺ
 ݱ࣮ͷ໰୊ʹରॲ͍ͯ͘͠

    • ϚΠΫϩαʔϏεͷઃܭʹڵຯ͕͋Δਓ͸
 'J/$5FDIOPMPHJFTࣾͷ࠾༻ʹ͝Ԡื͍ͩ͘͞ʂ • IUUQTXXXXBOUFEMZDPNDPNQBOJFTGJOD
  70. 8FBSFIJSJOH