$30 off During Our Annual Pro Sale. View Details »

Protocol Buffersのスキーマを利用した開発

sonatard
August 31, 2019

Protocol Buffersのスキーマを利用した開発

sonatard

August 31, 2019
Tweet

More Decks by sonatard

Other Decks in Programming

Transcript

  1. 1
    1SPUPDPM#V⒎FSTͷεΩʔϚΛ
    ར༻ͨ͠։ൃ
    CVJMEFSTDPO5PLZP
    !TPOBUBSEͦͳଠ

    View Slide

  2. ͦͳଠ
    @sonatard
    D Technologies
    • ωοτϫʔΫɺLinuxαʔόΠϯϑϥ 4೥
    • RTOS, Socket, TCP/IP, DHCP, DNS࣮૷
    7೥
    • GAE/Go 2.5೥
    • TypeScript, React 5ϲ݄
    • iOS, Swift 2೔
    • ΞʔΩςΫνϟɺઃܭ
    • MVCܥ
    • Clean Architecture
    • ϦϑΝΫλϦϯά
    • OOP, SOLIDݪଇ
    • ৽͍͠ύϥμΠϜΛษڧͯ͠ɺγεςϜ΍
    ίʔυΛγϯϓϧʹ͢Δ͜ͱ͕޷͖
    • ࠷ۙͷϒʔϜ͸GraphQLͱRx(Swift)

    View Slide

  3. • ͸ ͡ Ί ʹ
    • . p r o t o ϑ Ν Π ϧ ͷ ύ ʔ ε ͱ ར ༻
    • Ԡ ༻ ฤ
    • p r o t o ϑ Ν Π ϧ Λ ύ ʔ ε ͠ ͯ ͍ Δ π ʔ ϧ
    • · ͱ Ί

    View Slide

  4. 4
    ͸͡Ίʹ
    w ۙ೥(31$ͷීٴͱͱ΋ʹ1SPUPDPM#V⒎FST΋ଟ͘ͷػձͰར༻͞ΕΔ
    Α͏ʹͳΓ·ͨ͠ɻ
    w 1SPUPDPM#V⒎FST͸(31$Ͱར༻͞ΕΔγϦΞϥΠθʔγϣϯπʔϧͱ
    ͯ͠ར༻Ͱ͖Δ͜ͱͱͱ΋ʹɺεΩʔϚͱͯ͠ͷར༻Ձ஋΋ߴ͘༗༻
    Ͱ͢ɻ
    w ࢲͱͯ͠͸+40/4DIFNF΍0QFO"1*ʹൺ΂ͯɺͱͯ΋ಡΈ΍͍͢
    ϑΥʔϚοτͩͱࢥ͍·͢
    w ·ͨύʔε͔ͯ͠Βͷपล։ൃ؀ڥ΋੔͍ͬͯΔͨΊɺεΩʔϚΛ
    ύʔεͯࣗ͠෼ͨͪͷͨΊͷπʔϧΛ։ൃ͢Δ͜ͱͰɺ೔ৗͷ։ൃۀ
    ຿Λվળ͢Δ͜ͱ͕ͱͯ΋͠΍͍͢Ͱ͢

    View Slide

  5. 5
    ͸͡Ίʹ
    w ͔͠͠εΩʔϚΛύʔεͯ͠ίʔυͷࣗಈੜ੒ͳͲ͸ɺҰݟϋʔυϧ
    ͕ߴ͘ײ͡·͢
    w ͦ͜ͰࠓճͷൃදͰ͸ɺ࣮ࡍʹίʔυੜ੒Λ͢Δํ๏Λ঺հ͢Δ͜ͱ
    ͰϋʔυϧΛԼ͛ΒΕΕ͹ͱࢥ͍·͢ɻ

    View Slide

  6. 6
    1SPUPDPM#V⒎FSTͱ͸
    w 1SPUPDPM#V⒎FST͸ɺߏ଄ԽσʔλΛγϦΞϥΠζ͢ΔͨΊͷॊೈͰ
    ޮ཰తͳࣗಈԽϝΧχζϜɻ
    w ߏ଄Խσʔλ
    w *OUFSGBDF%FpOJUJPOMBOHVBHF *%-
    ʹΑΓఆٛ͢Δɻ
    w γϦΞϥΠζ
    w ެࣜͰఏڙ͞Ε͍ͯΔπʔϧɺ*%-Ͱఆٛͨͨ͠͠σʔλߏ଄͔
    Βίʔυੜ੒Λߦ͏ɻ
    w ੜ੒͞ΕͨίʔυΛݩʹެࣜϥΠϒϥϦΛ༻͍ͯγϦΞϥΠζɺ
    σγϦΞϥΠζ͢Δɻ
    w ༷ʑͳݴޠʹରԠ͍ͯ͠Δ
    w $ $ %BSU (P +BWB 1ZUIPO

    View Slide

  7. 7
    ओͳར༻ྫ
    w (31$
    w QSPUPDŠHP@PVUQMVHJOTHSQDQSPUPVTFSQSPUP

    View Slide

  8. 8
    ओͳར༻ྫ
    w (31$
    w QSPUPDŠHP@PVUQMVHJOTHSQDQSPUPVTFSQSPUP
    w ੜ੒͞ΕΔίʔυ

    View Slide

  9. 9
    ओͳར༻ྫ
    w (31$
    w QSPUPDŠHP@PVUQMVHJOTHSQDQSPUPVTFSQSPUP
    w ੜ੒͞ΕΔίʔυ
    w ࣮૷͢Δίʔυ
    w ੜ੒͞ΕͨΠϯλʔϑΣʔεʹ͋Θ࣮ͤͯ૷Λ༻ҙ͢Δͱɺ
    SFRVFTUͷγϦΞϥΠζΛࣗಈͰͨ͠ޙɺ࣮૷ͨ͠ϝιουΛ࣮ߦ
    ͯ͘͠ΕΔ

    View Slide

  10. 10
    ਤࣔ
    ωοτϫʔΫ
    (31$Ͱૹ৴͞ΕͨσʔλΛ
    ߏ଄ମʹϚοϐϯά
    ؔ਺࣮ߦ
    ΫϥΠΞϯτ
    ։ൃऀ͸௨৴ϓϩτίϧʹґଘͨ͠
    ίʔυΛॻ͔ͳ͍ͰࡁΉ
    QSPUPDͷ
    HSQDϓϥάΠϯ
    QSPUPϑΝΠϧ
    εΩʔϚ

    αʔό
    ։ൃ؀ڥ
    ಡΈࠐΈ
    σϓϩΠ

    View Slide

  11. 11
    1SPUPDPM#V⒎FSTͷޡղ
    w (31$ͱҰॹʹ࢖Θͳ͚Ε͹͍͚ͳ͍
    w ❌
    w 1SPUPDPM#V⒎FST͸ɺ(31$͔Βಠཱͨ͠࢓༷ͱπʔϧͰ͋Δ
    w ⭕
    w ʮεΩʔϚఆٛ͸͍͚ͨ͠Ͳ)551ͱҟͳΔͱ͜Ζ͕͋ΔͷͰ(31$
    ͷ࠾༻͕೉͍͠ʯ
    w ❌
    w εΩʔϚఆٛΛͯ͠ɺ)551ͷ#PEZʹ1SPUPDPM#V⒎FSTΛ৐ͤͯૹΔ
    ͜ͱ͕Ͱ͖Δ
    w ߋʹεΩʔϚͱͯ͠͸QSPUPϑΝΠϧΛ࢖͍ɺ)551ͷ#PEZʹ+40/Λ
    ৐ͤͯૹΔ͜ͱ΋Ͱ͖Δ
    w ͭ·Γ+40/εΩʔϚͷ୅ସͱͯ͠࢖͏͜ͱ΋Մೳ

    View Slide

  12. 12
    )551Ͱͷ1SPUPDPM#V⒎FSTͷར༻QSPUPCVGΛૹΔ
    w εΩʔϚఆٛΛͯ͠ɺ)551ͷ#PEZʹ৐ͤͯૹड৴Ͱ͖Δ
    w )551ϋϯυϥΛࣗ෼Ͱ࣮૷ͯ͠(31$ͱಉ༷ͷϝιουΛ࣮ߦ
    w +40/31$΍3&45ͩͬͨΒ౰ͨΓલʹ΍͍ͬͯΔ͜ͱ
    w +40/31$΍3&45ͷ#PEZ͚ͩม͑Δ͜ͱ΋Ͱ͖Δ
    )551ϦΫΤετͷ#PEZΛSFBE
    QSPUPͷϥΠϒϥϦͰσγϦΞϥΠζ
    ࣮૷ͨ͠ϝιουΛ࣮ߦ
    ฦΓ஋ΛγϦΞϥΠζͯ͠ૹ৴

    View Slide

  13. 13
    )551Ͱͷ1SPUPDPM#V⒎FSTͷར༻+40/ΛૹΔ
    w ઌ΄ͲͷQSPUPͱ΄΅ಉ౳ʹ+40/΋γϦΞϥΠζͰ͖Δ
    w +40/ͱͯ͠γϦΞϥΠζ͢Δίʔυ
    w ௨ৗͷKTPOύοέʔδͰ͸ͳ͘ɺKTPOQCύοέʔδΛར༻͢Δ
    w +40/ͱ1SPUPDPM#V⒎FSTͷ૬ޓม׵͸࢓༷ͱͯ͠ఆΊΒΕ͍ͯΔͨ
    Ίɺͦͷ࢓༷ʹଇ࣮ͬͨ૷ͱͳ͍ͬͯΔ
    w IUUQTEFWFMPQFSTHPPHMFDPNQSPUPDPMCV⒎FSTEPDT
    QSPUPKTPO
    ࣮૷ͨ͠ϝιουΛ࣮ߦ
    KTPOQCͰσγϦΞϥΠζ
    KTPOQCͰγϦΞϥΠζͯ͠ૹ৴

    View Slide

  14. 14
    )551Ͱͷ1SPUPDPM#V⒎FSTͷར༻
    w ͱ͸͍͑ɺҎԼͷΑ͏ͳίʔυΛ"1*͝ͱʹ৑௕ʹॻ͔ͳ͚Ε͹͍͚
    ͳ͍ͷ͸໘౗
    w ࣗಈੜ੒͍ͨ͠ʜ
    ΋͠(FU6TFS"1*͕
    ૿͑ͯ΋มΘΔՕॴ͸গͳ͍

    View Slide

  15. 15
    (31$ͱಉ༷ʹ)551 +40/PSQSPUP
    ϓϥάΠϯΛ࡞Ε͹ྑ͍
    ωοτϫʔΫ
    )551Ͱૹ৴͞ΕͨσʔλΛ
    ߏ଄ମʹϚοϐϯά
    ؔ਺࣮ߦ
    ΫϥΠΞϯτ
    ։ൃऀ͸௨৴ϓϩτίϧʹґଘͨ͠
    ίʔυΛॻ͔ͳ͍ͰࡁΉ
    QSPUPDͷ
    IUUQϓϥάΠϯ
    QSPUPϑΝΠϧ
    εΩʔϚ

    αʔό
    ։ൃ؀ڥ
    ಡΈࠐΈ
    σϓϩΠ
    $POUFOU5ZQFʹΑͬͯ
    QSPUPͱKTPO੾Γସ͑ΔͳͲ΋Մೳ

    View Slide

  16. 16
    ͦͷଞͷࣗಈੜ੒
    w ΫϥΠΞϯτͷ3FQPTJUPSZͷ࣮૷

    View Slide

  17. 17
    w σόοά༻ͷ1PTUNBOͷઃఆ
    ͦͷଞͷࣗಈੜ੒

    View Slide

  18. 18
    ࣗಈੜ੒
    w ೉ͦ͠͏ʜ

    View Slide

  19. 19
    ࣗಈੜ੒͸೉͍͠ʁ
    w ࣗಈੜ੒͢ΔͨΊʹඞཁͳ஋
    αʔϏε໊ ϝιου໊
    ϦΫΤετͷܕ Ϩεϙϯεͷܕ

    View Slide

  20. 20
    ࣗಈੜ੒͸؆୯͔΋
    w αʔϏε໊ɺϝιου໊ɺϦΫΤετͷܕɺϨεϙϯεͷܕ͑͞ɺऔ
    ಘͰ͖Ε͹୯७ͳQSJOUGͰ໨తͷίʔυ͕ੜ੒Ͱ͖ͦ͏

    View Slide

  21. 21
    ͸͡Ίʹ·ͱΊ
    w ඞཁͳ஋͑͞1SPUPDPM#V⒎FSTͷ*%-Ͱ͋ΔQSPUPϑΝΠϧ͔ΒऔಘͰ
    ͖Ε͹ɺࣗಈੜ੒Ͱ͖ͦ͏ͳ͜ͱ͕Θ͔Γ·ͨ͠
    w ଓ͍ͯɺͲͷΑ͏ʹQSPUPϑΝΠϧΛύʔε͍͔ͯ͘͠Λ঺հ͠·
    ͢ɻ

    View Slide

  22. • ͸ ͡ Ί ʹ
    • . p r o t o ϑ Ν Π ϧ ͷ ύ ʔ ε ͱ ར ༻
    • Ԡ ༻ ฤ
    • p r o t o ϑ Ν Π ϧ Λ ύ ʔ ε ͠ ͯ ͍ Δ π ʔ ϧ
    • · ͱ Ί

    View Slide

  23. 23
    QSPUPϑΝΠϧͷύʔε
    w QSPUPϑΝΠϧΛύʔεͱ࣮૷͢Δखஈ͸͍͔ͭ͘ଘࡏ͠·͢
    w QSPUPDΛར༻ͯ͠ύʔεͯ͠QMVHJOΛ࡞੒͢Δ
    w QSPUPDΛར༻ͯ͠ύʔεͯ͠ಠࣗͷπʔϧΛ࡞੒͢Δ
    w αʔυύʔςΟͷϥΠϒϥϦͰύʔεͯ͠ಠࣗͷπʔϧΛ࡞੒͢Δ

    View Slide

  24. 24
    QSPUPϑΝΠϧͷύʔε
    w QSPUPDΛར༻ͯ͠ύʔεͯ͠QMVHJOΛ࡞੒͢Δ
    w QSPUPDΛར༻ͯ͠ύʔεͯ͠ಠࣗͷπʔϧΛ࡞੒͢Δ
    w αʔυύʔςΟͷϥΠϒϥϦͰύʔεͯ͠ಠࣗͷπʔϧΛ࡞੒͢Δ

    View Slide

  25. 25
    QSPUPDQMVHJOΛ࡞੒͢Δ
    w Ұ൪ͷਖ਼߈๏Ͱ͢
    w QSPUPDͱ͸ɺ1SPUPDPM#V⒎FST͕ެࣜʹఏڙ͢ΔίϚϯυϥΠϯπʔ
    ϧͰ͢ɻ
    w QSPUPDʹ͸ϓϥάΠϯػߏ͕౥ࡌ͞Ε͓ͯΓɺ࣮ߦ࣌ʹॴఆͷҾ਺Λ
    ౉͢ͱϓϥάΠϯʹύʔεͨ݁͠ՌΛ౉ͯ͘͠Ε·͢ɻ
    w ϓϥάΠϯࣗମ͸ผ్࣮ߦՄೳͳܗࣜͱͯ͠࡞Δඞཁ͕͋Γ·͢ɻ
    w ྫ
    QSPUPDHFOHPIUUQϓϥάΠϯΛ࡞੒ͨ͠৔߹
    w QSPUPDHPIUUQ@PVUQSPUP

    View Slide

  26. 26
    QSPUPDQMVHJOͷύʔεͨ݁͠Ռͷड͚औΓํ
    w QSPUPDϓϥάΠϯ͸ඪ४ೖྗͰύʔεͨ݁͠ՌΛड͚औΓ·͢ɻ
    w ͜ͷͱ͖ύʔεͨ݁͠Ռ͸ɺ1SPUPDPM#V⒎FSTͱͯ͠γϦΞϥΠζ͞Ε
    ͍ͯΔͷͰɺQMVHJO$PEF(FOFSBUPS3FRVFTUͱͯ͠σγϦΞϥΠζ͠
    ·͢ɻ
    w ͋ͱ͸ύʔεͨ݁͠ՌΛݩʹQMVHJO$PEF(FOFSBUPS3FTQPOTFΛ࡞੒
    ͢Δ

    View Slide

  27. 27
    QSPUPDQMVHJOͷϨεϙϯε
    w QMVHJO$PEF(FOFSBUPS3FTQPOTFͷத਎͸ɺ
    QMVHJO$PEF(FOFSBUPS3FTQPOTF@'JMFͷ഑ྻΛ͍࣋ͬͯΔɻ
    w QMVHJO$PEF(FOFSBUPS3FTQPOTF
    w /BNF͸ग़ྗ͢ΔϑΝΠϧ໊
    w $POUFOU͸ϑΝΠϧͷத਎

    View Slide

  28. 28
    QSPUPDQMVHJOͷύʔεͷ໰୊఺
    w ਖ਼߈๏ͳ΍ΓํͳͷͰ͕͢QSPUPDͷύʔεͨ݁͠Ռ͕গ͠࢖͍ʹ͍͘
    w .FUIPE͕࣋ͭ*OQVU5ZQFͱ0VUQVU5ZQF͕࣮ࡍʹܕ৘ใΛ͍࣋ͬͯ
    ΔΘ͚Ͱ͸ͳ͘ɺܕͷ໊લΛจࣈྻͰ͍࣋ͬͯΔ͚ͩͰ͢ɻ
    w ܕ৘ใΛ࢖͍͍ͨ৔߹͸ɺ·ͨผͷ৔ॴ͔Βదٓऔಘ͢Δඞཁ͕
    ͋Δ

    View Slide

  29. 29
    QSPUPϑΝΠϧͷύʔε
    w QSPUPDΛར༻ͯ͠ύʔεͯ͠QMVHJOΛ࡞੒͢Δ
    w QSPUPDΛར༻ͯ͠ύʔεͯ͠ಠࣗͷπʔϧΛ࡞੒͢Δ
    w αʔυύʔςΟͷϥΠϒϥϦͰύʔεͯ͠ಠࣗͷπʔϧΛ࡞੒͢Δ

    View Slide

  30. 30
    QSPUPDΛར༻ͯ͠ύʔεͯ͠ಠࣗͷπʔϧΛ࡞੒͢Δ
    w ͱͷҧ͍͸ϓϥάΠϯͱ࣮ͯ͠૷͠ͳ͍ͱ͍͏͜ͱͰ͢
    w ͪ͜ΒͩͱQMVHJOʹൺ΂࣮ͯ૷͕୯७Ͱ͢
    w ·ͨಠࣗͷίϚϯυϥΠϯπʔϧͱͯ͠࡞੒ՄೳͰ͢
    w QCQBSTFS1BSTF'JMF͕ߦͳ͍ͬͯΔ͜ͱ͸ɺQSPUPDίϚϯυΛ࣮ߦ͠
    ͯඪ४ग़ྗʹύʔεͨ݁͠ՌΛग़ྗͯ͠ɺQMVHJOͱಉ͡ܗࣜͷܕʹ
    VONBSTIBM͍ͯ͠·͢
    w QSPUPDŠEFTDSJQUPS@TFU@PVUEFWTUEPVUͰඪ४ग़ྗͰ͖Δ
    w QCQBSTFS͸ɺHJUIVCʹஔ͍͓͖ͯ·ͨ͠
    w IUUQTHJUIVCDPNTPOBUBSEQCQBSTFS

    View Slide

  31. 31
    QSPUPDΛར༻ͯ͠ύʔε͢Δ໰୊఺
    w QMVHJOͷͱ͖ͱ͸࣮ߦํ๏͕ҟͳΔ͚ͩͰɺύʔεͨ݁͠Ռ͕ѻ͍ͮ
    Β͍͜ͱ͸มΘΓ·ͤΜɻ
    w ࠷ऴతͳग़ྗʹ͍ͭͯ͸ɺQMVHJOͷΑ͏ʹಛผͳػߏ͕͋ΔΘ͚Ͱ͸
    ͳ͍ͷͰࣗ༝Ͱ͢ɻ
    w ̍ϑΝΠϧͳΒ୯७ʹQSJOUG͢Δɻ
    w ෳ਺ϑΝΠϧͳΒదٓϑΝΠϧʹॻ͖ࠐΉ
    w ͳͲ

    View Slide

  32. 32
    QSPUPϑΝΠϧͷύʔε
    w QSPUPDΛར༻ͯ͠ύʔεͯ͠QMVHJOΛ࡞੒͢Δ
    w QSPUPDΛར༻ͯ͠ύʔεͯ͠ಠࣗͷπʔϧΛ࡞੒͢Δ
    w αʔυύʔςΟͷϥΠϒϥϦͰύʔεͯ͠ಠࣗͷπʔϧΛ࡞੒͢Δ

    View Slide

  33. 33
    αʔυύʔςΟͷϥΠϒϥϦͰύʔεͯ͠ಠࣗͷπʔϧΛ࡞੒͢Δ
    w KIVNQQSPUPSFqFDUͱ͍͏ڊେͳϥΠϒϥϦ͕ଘࡏ͠·͢
    w ެࣜͷύʔαΑΓ΋ػೳ͕ଟ͍Ͱ͢
    w ͨͩ͠ύʔεͷํ๏΋ɺύʔεͨ݁͠Ռͷܕ΋ҟͳΔͨΊɺQMVHJOͱ
    ͯ͠ར༻͢Δ͜ͱ͸Ͱ͖ͣɺಠࣗͷίϚϯυϥΠϯπʔϧͱͯ͠࡞Δ
    ͜ͱʹͳΓ·͢ɻ
    w ࢲ͸͜ΕΛར༻ͯ͠։ൃ͍ͯ͠ΔͷͰɺύʔεͨ݁͠ՌΛͲͷΑ͏ʹ
    ར༻͍͔ͯ͘͠Λ۩ମతʹઆ໌͍͖ͯ͠·͢

    View Slide

  34. 34
    KIVNQQSPUPSFqFDUΛར༻ͨ͠ύʔεͷํ๏
    w IUUQTHJUIVCDPNKIVNQQSPUPSFqFDU
    w ύʔεͷํ๏͸ઌ΄Ͳͱ͋·ΓมΘΓ·ͤΜ

    View Slide

  35. 35
    ύʔεͨ͠ࡍͷ໰୊఺͸ղܾ͍ͯ͠Δ
    w ઌ΄Ͳ͸.FUIPE͕࣋ͭϦΫΤετͱϨεϙϯεͷܕ໊͕લ͚ͩͰ৘
    ใΛ͍࣋ͬͯͳ͍ͨΊ࢖͍ʹ͍͘ͱ͍͏͓࿩Λ͠·ͨ͠
    w ͪ͜ΒͷϥΠϒϥϦ͸ͦͷ໰୊͕ղܾ͍ͯ͠·͢ɻ
    w TUSJOHͰ͸ͳ͘.FTTBHF%FTDSJQUPSΛ࣋ͭ
    w தʹ͸'JFMEͷ৘ใͳͲ΋ؚ·ΕΔ

    View Slide

  36. 36
    ͜ͷϥΠϒϥϦ͸࢖͏΂͖͔
    w ศརͱ͸͍͑αʔυύʔςΟ͸ͪΐͬͱʜͱࢥΘΕΔͱࢥ͍·͕͢ɺ
    QSPUPCVGͷ(P࣮૷͸Wͷ։ൃ͕ਐΊΒΕ͓ͯΓɺͦͪΒ͸͜ͷϥΠϒ
    ϥϦΛࢀߟʹͯ͠࡞ΒΕͨͷͰ͸ͳ͍͔ͱ͍͏ܗ੻͕ݟΒΕ·͢
    w QSPUPCVGWͷQSPUPSFqFDU͸ɺKIVNQQSPUPSFqFDUͱͱͯ΋ࣅ͍ͯΔ
    ΠϯλʔϑΣʔεΛ͍ͯ͠Δ͜ͱ͕Θ͔Γ·͢
    w ͦͷͨΊ͜ͷπʔϧͷֶͼ͸ɺΉ͠Ζࠓޙʹੜ͖ͯ͘ΔՄೳੑ͕ߴ͍
    Ͱ͢

    View Slide

  37. 37
    1SPUPDPM#V⒎FST։ൃϦϙδτϦ
    w ݱࡏར༻͞Ε͍ͯΔW
    w IUUQTHJUIVCDPNQSPUPDPMCV⒎FSTQSPUPCVG
    w W
    w IUUQTHJUIVCDPNQSPUPDPMCV⒎FSTQSPUPCVGHP

    View Slide

  38. 38
    KIVNQQSPUPSFqFDUΛར༻ͨ͠ύʔεͷίʔυ
    w ࣮ࡍʹύʔεͨ͠஋͔ΒίʔυΛॻ͍ͯΈΔ
    w ҎԼͷΑ͏ͳ5ZQF4DSJQUͷΫϥΠΞϯτΛࣗಈੜ੒͢ΔίʔυΛॻ͘

    View Slide

  39. 39
    KIVNQQSPUPSFqFDUΛར༻ͨ͠ύʔεͷίʔυ
    w ίʔυ͸͜Ε͚ͩͰ͢
    w JNQPSU΍εϖʔε߹Θͤͯ΋ߦ
    ύʔε
    ੜ੒
    ग़ྗ
    ίʔυͷςϯϓϨʔτ

    View Slide

  40. 40
    KIVNQQSPUPSFqFDUΛར༻ͨ͠ύʔεͷίʔυͷ࣮૷ৄࡉ
    w ύʔεͨ݁͠Ռͷར༻
    w ࣮ߦ݁Ռ
    ύʔεͨ݁͠Ռʹ͸ෳ਺ͷϑΝΠϧͷ৘ใ
    ϑΝΠϧͷதʹ͸ෳ਺ͷαʔϏε
    αʔϏεͷதʹ͸ෳ਺ͷϝιου
    αʔϏε໊ɺϝιου໊ɺ
    ϦΫΤετλΠϓ໊ɺ
    ϨεϙϯελΠϓ໊

    View Slide

  41. 41
    αʔυύʔςΟͷϥΠϒϥϦͰύʔεͯ͠ಠࣗͷπʔϧΛ࡞੒͢Δ·ͱΊ
    w KIVNQQSPUPSFqFDUΛ࢖͑͹؆୯ʹίʔυͷࣗಈੜ੒͕Ͱ͖Δ

    View Slide

  42. • ͸ ͡ Ί ʹ
    • . p r o t o ϑ Ν Π ϧ ͷ ύ ʔ ε ͱ ར ༻
    • Ԡ ༻ ฤ
    • p r o t o ϑ Ν Π ϧ Λ ύ ʔ ε ͠ ͯ ͍ Δ π ʔ ϧ
    • · ͱ Ί

    View Slide

  43. 43
    Ԡ༻ฤ
    w Ԡ༻ฤHPPHMFBQJ)UUQ
    w Ԡ༻ฤQSPUP͔ΒKTPOΛੜ੒

    View Slide

  44. 44
    Ԡ༻ฤ
    w QSPUPͷύʔεΛ͔ͯͦ͜͠Β)551ΫϥΠΞϯτΛੜ੒͠·͕ͨ͠ɺ
    ࣮͸QSPUP͔Β)551ͷม׵ʹ͸࢓༷͕ࡦఆ͞Ε͓ͯΓɺઌ΄Ͳͷ࣮૷
    ͸ͦͷ࢓༷ʹଇ͍ͬͯΔΘ͚Ͱ͸͋Γ·ͤΜɻ
    w ࣾ಺πʔϧͰಛఆ༻్ʹ࢖͏ͷʹ͸े෼Ͱ͕͢ɺ֎෦πʔϧͱ͠
    ͯެ։͢ΔͳΒۃྗ࢓༷ʹै͏΂͖Ͱ͢
    w HPPHMFBQJ)UUQ3VMF
    w (31$ͱ)551ϝιουͷม׵͸ɺ(PPHMF͕نఆ͍ͯ͠Δ
    w ͜Ε͸༗໊ͳHSQDHBUFXBZͰ΋ར༻͍ͯ͠Δ࢓༷
    w IUUQTDMPVEHPPHMFDPNFOEQPJOUTEPDTHSQDTFSWJDFDPOpH
    SFGFSFODFSQDHPPHMFBQJIUUQSVMF
    w ͜ͷ࢓༷ʹਖ਼֬ʹै͏ͱ޻਺͕େ෯ʹ૿Ճ͠·͢

    View Slide

  45. 45
    Ԡ༻ฤHPPHMFBQJ)UUQ3VMF
    w HPPHMFBQJ)UUQ3VMFͰ͸31$ΛͲͷΑ͏ͳ)551ͷϦΫΤετʹରԠ
    ͤ͞Δ͔Λॻ͘͜ͱ͕Ͱ͖·͢
    w HSQDHBUFXBZͳͲ΋͜ͷ࢓༷Λ࠾༻͍ͯ͠·͢
    w ઌ΄Ͳ࡞੒ͨ͠πʔϧ͸ɺҎԼͷΑ͏ʹඞͣQPTUੜ੒͞Ε·͢ɻ
    w ্هͷΑ͏ʹɺQPTUͱͳ͍ͬͯΕ͹໰୊͋Γ·ͤΜ͕ɺ΋͠HFUͱ
    ͳ͍ͬͯΔͱؒҧͬͨίʔυΛग़ྗͯ͠͠·͍·͢

    View Slide

  46. 46
    Ԡ༻ฤHPPHMFBQJ)UUQ3VMF
    w HPPHMFBQJ)UUQ3VMF͸ɺ1SPUPDPM#V⒎FSTͷPQUJPOͱ͍͏࢓༷ʹجͮ
    ͖ఆٛ͞Ε͍ͯ·͢ɻ
    w ͜ͷPQUJPOͷ࢓༷΋QSPUPϑΝΠϧͰఆٛ͞Ε͓ͯΓɺͦͷQSPUP͔Β
    ੜ੒͞ΕͨίʔυΛར༻͢Δ͜ͱͰύʔε͕ՄೳʹͳΓ·͢ɻ
    w ఆٛ͞ΕͨQSPUPϑΝΠϧ͸ҎԼʹଘࡏ͠·͢
    w IUUQTHJUIVCDPNHPPHMFBQJTHPPHMFBQJTCMPCNBTUFS
    HPPHMFBQJBOOPUBUJPOTQSPUP
    w QSPUPϑΝΠϧ͔Βੜ੒͞Εͨ(Pͷιʔείʔυ͸ҎԼʹଘࡏ͠·͢
    w IUUQHPPHMFHPMBOHPSHHFOQSPUPHPPHMFBQJTBQJBOOPUBUJPOT

    View Slide

  47. 47
    Ԡ༻ฤHPPHMFBQJ)UUQ3VMF
    w HPPHMFBQJ)UUQ3VMFʹج͖ͮQSPUPϑΝΠϧΛมߋ͠·͢
    JNQPSUͷ௥Ճ
    PQUJPOͷ௥Ճ
    HFUΛࢦఆ

    View Slide

  48. 48
    Ԡ༻ฤHPPHMFBQJ)UUQ3VMF
    w HPPHMFBQJ)UUQ3VMFʹج͖ͮύʔε͢ΔίʔυΛมߋ͠·͢
    NFUIPEΛՄมʹ͢Δ
    NFUIPE͔ΒIUUQ.FUIPEΛ
    औಘͯ͠DSFBUF.FUIPEʹ౉͢

    View Slide

  49. 49
    Ԡ༻ฤHPPHMFBQJ)UUQ3VMF
    w QSPUPͷNFUIPE͔Β)551ͷϝιου໊Λऔಘ
    PQUJPOΛऔಘͯ͠ɺ
    BOOPUBUJPOT&@)UUQΛ
    ࣋ͭ͜ͱΛ֬ೝ
    BOOPUBUJPOT&@)UUQͷ
    FYUFOTJPOΛऔಘ
    FYUFOTJPOΛ
    BOOPUBUJPOT)UUQͷܕʹม׵
    IUUQ3VMF͔Β
    )551ϝιου໊Λऔಘ

    View Slide

  50. 50
    Ԡ༻ฤHPPHMFBQJ)UUQ3VMF
    w )5513VMFͷܕ͔Β)551ϝιουͷ໊લΛऔಘ
    IUUQ3VMF͔Βϝιου໊Λฦ͢

    View Slide

  51. 51
    Ԡ༻ฤHPPHMFBQJ)UUQ3VMF
    w HPPHMFBQJ)UUQ3VMFʹج͖ͮύʔε͢ΔίʔυΛ࣮ߦ
    ϝιου͕QSPUPͷࢦఆͨ͠௨Γ
    HFUʹͳ͍ͬͯΔ

    View Slide

  52. 52
    Ԡ༻ฤHPPHMFBQJ)UUQ3VMF
    w ޻਺͕େ෯ʹ૿͑Δͱݴ͏ׂʹࢥͬͨΑΓେมͰ͸ͳ͔ͬͨ
    w )UUQ3VMFͷ࢓༷͸͜Ε͚ͩͰ͸ͳ͍
    w ͜ΜͳPQUJPO΋ॻ͚ͯ͠·͏ʜ
    w ະରԠͳ࢓༷͸υΩϡϝϯτʹهࡌ͠·͠ΐ͏
    ͭͷ31$ʹෳ਺ͷ)551ϦΫΤετ
    CPEZͷํΛϦΫΤετͷ
    ಛఆͷϑΟʔϧυʹ௚઀Ϛοϐϯά
    ͦͷଞʹ΋ύεύϥϝʔλɺ
    ΫΤϦʔετϦϯάͳͲ

    View Slide

  53. 53
    Ԡ༻ฤ
    w Ԡ༻ฤHPPHMFBQJ)UUQ
    w Ԡ༻ฤQSPUP͔ΒKTPOΛੜ੒

    View Slide

  54. 54
    Ԡ༻ฤ
    w QSPUP͔Β1PTUNBOͷKTPOͷϦΫΤετύϥϝʔλΛੜ੒͢Δ
    w ؆୯ʹͰ͖ͦ͏ͰɺͰ͖ͳ͍ύλʔϯ
    w ՝୊
    w (Pͷ$SFBUF6TFS3FRVTUߏ଄ମ͕͋Ε͹ɺ+40/͸ੜ੒Ͱ͖Δ
    w ύʔεͨ࣌͠఺Ͱ͸(Pͷߏ଄ମͱͯ͠$SFBUF6TFS3FRVFTU͸ੜ੒
    ͞Ε͍ͯͳ͍ɻී௨͸ҎԼͷϑϩʔ͕ඞཁʹͳΔ
    w ύʔεɺ(PͷϑΝΠϧग़ྗɺग़ྗͨ͠ϑΝΠϧͷϏϧυ͢Δ
    w ͭ·Γύʔεͨ͠ஈ֊Ͱ͸ɺ+40/Λ࡞Δ͜ͱ͸೉͍͠

    View Slide

  55. 55
    Ԡ༻ฤ
    w KIVNQQSPUPSFqFDUͷEZOBNJDύοέʔδͰղܾ
    w EZOBNJDύοέʔδ͸ɺQSPUPΛύʔεͨ͠৘ใ͔Βಈతʹ
    .FTBTHFΛੜ੒Ͱ͖Δ
    Ҿ਺ͷܕ͔Βಈతʹ.FTTBHFΛ࡞੒
    .FTTBHFΛNBSTIBMՄೳ
    ࣮ߦ݁Ռ

    View Slide

  56. 56
    Ԡ༻ฤ
    w DSFBUF3FRVFTU.FTTBHFʹ͸໰୊͕࢒͍ͬͯΔ
    w .FTTBHF͕.FTTBHFΛؚΜͰ͍Δ৔߹ʹOVMMʹͳͬͯ͠·͏
    ࣮ߦ݁Ռ͕OVMM
    .FTTBHFͷதʹ.FTTBHF͕͋Δ৔߹

    View Slide

  57. 57
    Ԡ༻ฤ
    w .FTBTHFΛ࠶ؼతʹੜ੒͢Δ
    ࣮ߦ݁Ռ͕ద੾ʹදࣔ
    ͢΂ͯͷϑΟʔϧυΛνΣοΫ
    ϑΟʔϧυ͕
    .FTTBHFͳΒ࠶ؼͰɺ
    .FTTBHFΛ࡞੒
    ࡞੒ͨ͠ϑΟʔϧυͷ.FTTBHF
    Λ਌ͷ.FTTBHFʹઃఆ

    View Slide

  58. • ͸ ͡ Ί ʹ
    • . p r o t o ϑ Ν Π ϧ ͷ ύ ʔ ε ͱ ར ༻
    • Ԡ ༻ ฤ
    • p r o t o ϑ Ν Π ϧ Λ ύ ʔ ε ͠ ͯ ͍ Δ π ʔ ϧ
    • · ͱ Ί

    View Slide

  59. 59
    1SPUPDPM#V⒎FSTΛύʔε͍ͯ͠Δπʔϧ঺հ
    w HSQDHBUFXBZIUUQTHJUIVCDPNHSQDFDPTZTUFNHSQDHBUFXBZCZZVHVJ͞Μ
    w HPPHMFBQJ)UUQ3VMFΛ࢓༷௨Γʹύʔε͢Δؾ֓͋Δํ͸ࢀߟʹͳΔ
    w FWBOTIUUQTHJUIVCDPNLUSFWBOTCZLUS͞Μ
    w (31$DMJFOU
    w $-*Ϟʔυͱ3&1-Ϟʔυ͕͋Δɺ3&1-ϞʔυͰ͸ಈతʹิ׬͕ޮ͘
    w KIVNQQSPUPSFqFDUΛ࠾༻
    w QSPUPDHFOHPIUUQIUUQTHJUIVCDPNOBNFUBLFQSPUPDHFOHPIUUQCZOBNFUBLF
    ͞Μ
    w (31$ͱಉ͡ίʔυࣗಈੜ੒Λ)551Ͱ΋࣮ݱ͢ΔQSPUPDϓϥάΠϯ
    w $POUFOU5ZQFʹ͋Θͤͯ+40/PS1SPUP͔൑ఆͯ͠σγϦΞϥΠζ͢Δ
    w IUUQTHJUIVCDPNQTFVEPNVUPQSPUPLJUΛ࠾༻
    w QSPUPUPQPTUNBOIUUQTHJUIVCDPNTPOBUBSEQSPUPUPQPTUNBOCZTPOBUBSE
    w QSPUP͔ΒQPTUNBOͷઃఆΛɺJNQPSUՄೳͳKTPOܗࣜͰग़ྗ͢Δ
    w KIVNQQSPUPSFqFDUΛ࠾༻

    View Slide

  60. 60
    QSPUPDϓϥάΠϯࢀߟ
    w QSPUPDϓϥάΠϯͷॻ͖ํ
    w IUUQTRJJUBDPNZVHVJJUFNTEEEFFF
    w QSPUPDϓϥάΠϯͱΧελϜΦϓγϣϯ
    w IUUQTRJJUBDPNZVHVJJUFNT
    BEFGBCGGBDD@SFGFSFODFFCBDDBD

    View Slide

  61. • ͸ ͡ Ί ʹ
    • . p r o t o ϑ Ν Π ϧ ͷ ύ ʔ ε ͱ ར ༻
    • Ԡ ༻ ฤ
    • p r o t o ϑ Ν Π ϧ Λ ύ ʔ ε ͠ ͯ ͍ Δ π ʔ ϧ
    • · ͱ Ί

    View Slide

  62. 62
    ·ͱΊ
    w 1SPUPDPM#V⒎FST͸͸γϦΞϥΠθʔγϣϯπʔϧͰ͋Γ*%-Ͱ΋͋Δ
    w (31$ʹґଘͤͣʹར༻Ͱ͖Δ
    w ύʔε͢Δํ๏͸ෳ਺͋Δ͕ɺ͓͢͢Ί͸KIVNQQSPUPSFqFDU
    w (PͷQSPUPCVGͷ࣮૷͸Wͷ։ൃ͕ਐΊΒΕ͓ͯΓKIVNQQSPUPSFqFDUͷ
    ӨڹΛड͚͍ͯΔ
    w ࣾ಺༻Ͱ͋Ε͹ɺؾܰʹίʔυੜ੒Ͱ͖Δ
    w πʔϧΛ֎෦ͱͯ͠ެ։ͯ͠ɺ͢΂ͯͷ࢓༷ʹରԠ͠Α͏ͱ͢Δͱ೉қ
    ౓্͕͕Δ

    View Slide