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

The First Step of Swift Concurrency

The First Step of Swift Concurrency

The summary of Swift Concurrency

[email protected]

June 23, 2021
Tweet

Other Decks in Programming

Transcript

  1. QPUBUPUJQTTIJ[
    4XJGU$PODVSSFODZୈҰา

    View Slide

  2. @stzn3
    shiz(ͣ͠)
    @shiz
    stzn
    ෱Ԭࡏॅ iOSΤϯδχΞ
    iOSDC Japan ελοϑ

    View Slide

  3. 4XJGU$PODVSSFODZ
    w ඇಉظॲཧ΍ಉ࣌ฒߦॲཧΛߏ଄Խͨ͠ํ๏Ͱॻͨ͘ΊʹݴޠͰαϙʔτ͢
    Δػೳ
    w 4XJGU͔Β࢖༻Մೳ ˞J04ɺNBD04ɺUW04ɺ
    XBUDI04͕ඞཁ

    w ·ͩϨϏϡʔதͷ΋ͷ΋͋ΔͨΊมΘΔՄೳੑ͋Γ ࠓճ͸9DPEF#FUB࣌఺
    ͷ৘ใʹج͍ͮͨ಺༰ʹͳ͍ͬͯ·͢


    ˞6OTUSVDUVSFE%FUBDIFEUBTLͷ৽͍͠γϯλοΫε͸XBUDI04ͷΈͰ༗ޮͰɺࠓޙJ04
    ͳͲʹ΋൓ө͞ΕΔͱ૝ఆ͞Ε·͢ BQQMFͷSFMBTFͷϒϥϯνͰ͸طʹมߋࡁ

    View Slide

  4. "TZODBXBJU
    4USVDUVSFEDPODVSSFODZ
    "DUPST

    View Slide

  5. "TZODBXBJU

    View Slide

  6. "TZODBXBJU
    w ඇಉظॲཧΛಉظॲཧͱಉ͡Α͏ͳํ๏Ͱهड़Ͱ͖ΔΑ͏ʹ
    w ࣗવͳྲྀΕͰίʔυ͕ಡΊɺҙਤ͕ཧղ͠΍͍͢
    w ༨෼ͳखଓ͖Λॻ͔ͳͯ͘ࡁΉ
    w ίϯύΠϥ͕طଘͷඇಉظॲཧͰى͜͠΍͍͢ϛεΛ๷͍Ͱ͘ΕΔ
    w ؔ਺͚ͩͰ͸ͳ͘HFUPOMZϓϩύςΟ΍GPSϧʔϓͰ΋࢖͑Δ
    w طଘͷίʔϧόοΫܗࣜͷϝιου΋BTZODʹม׵Ͱ͖Δ
    w طଘͷ'SBNFXPSL΋ରԠ

    View Slide

  7. "TZODBXBJU ίʔϧόοΫΛ࢖ͬͨ৔߹

    ಉظ
    ඇಉظ
    ಉظ
    ඇಉظ

    View Slide

  8. "TZODBXBJU ίʔϧόοΫͷ೉͠͞

    ωετ͕ਂ͘ͳΔ ෳࡶͰಡΈͮΒ͍

    View Slide

  9. "TZODBXBJU ίʔϧόοΫͷ೉͠͞

    ॲཧͷྲྀΕ͕ٯʹͳΔ Լ͔Β্΁

    View Slide

  10. "TZODBXBJU ίʔϧόοΫͷ೉͠͞

    खಈͰ໭Γ஋Λ؅ཧ͠ͳ͚Ε͹͍͚ͳ͍ ๨Ε΍͍͢

    ίϯύΠϥ͸Կ΋ॿ͚ͯ͘Εͳ͍

    View Slide

  11. "TZODBXBJU ৽͍͠ॻ͖ํ

    View Slide

  12. "TZODBXBJU ৽͍͠ॻ͖ํ

    BTZODΛ෇͚Δ͜ͱͰؔ਺͕TVTQFOE˞͢Δ͜ͱΛࣔ͢
    ˞TVTQFOE தஅ


    ݱࡏͷॲཧͷྲྀΕΛதஅͯ͠ɺ࣮ߦ͍ͯͨ͠εϨουͰଞͷλεΫΛ
    ࣮ߦͰ͖ΔΑ͏ʹ͢Δ͜ͱ
    ஫γεςϜ͕ඞཁͩͱ൑அͨ࣌͠ͷΈதஅ͞ΕΔ

    View Slide

  13. "TZODBXBJU ৽͍͠ॻ͖ํ

    BTZODΛ෇͚Δ͜ͱͰؔ਺͕TVTQFOE˞͢Δ͜ͱΛࣔ͢
    BXBJUͷ஍఺ͰTVTQFOE͢Δ
    ˞TVTQFOE தஅ


    ݱࡏͷॲཧͷྲྀΕΛதஅͯ͠ɺ࣮ߦ͍ͯͨ͠εϨουͰଞͷλεΫΛ
    ࣮ߦͰ͖ΔΑ͏ʹ͢Δ͜ͱ
    ஫γεςϜ͕ඞཁͩͱ൑அͨ࣌͠ͷΈதஅ͞ΕΔ

    View Slide

  14. "TZODBXBJU ৽͍͠ॻ͖ํ

    BTZODΛ෇͚Δ͜ͱͰؔ਺͕TVTQFOE͢Δ͜ͱΛࣔ͢
    ˞SFTVNF ࠶։


    TVTQFOE͍ͯͨ݁͠Ռ͕ฦ͖ͬͯͨ஍఺͔ΒॲཧΛ࠶։͢Δ͜ͱ
    ஫BXBJUͷલͰ࣮ߦ͍ͯͨ͠εϨουͰ࣮ߦ͕࠶։͞ΕΔΘ͚Ͱ͸ͳ͍
    ݁Ռ͕ฦͬͯ͘ΔͱॲཧΛSFTVNF˞͢Δ
    BXBJUͷ஍఺ͰTVTQFOE͢Δ ඞͣͰ͸ͳ͍

    View Slide

  15. "TZODBXBJU ৽͍͠ॻ͖ํ

    Τϥʔ͕ى͜Δ৔߹͸UIPSXTΛ෇͚Δ ಉظؔ਺ͱಉ͡

    View Slide

  16. "TZODBXBJU ϝϦοτ

    ωετ͕গͳ͍
    ॲཧͷྲྀΕ͕ࣗવ ্͔ΒԼ΁

    View Slide

  17. "TZODBXBJU ϝϦοτ

    ίϯύΠϥ͕ॲཧͷ໭͠๨ΕΛ๷͍Ͱ͘ΕΔ
    6**NBHFΛฦ͔͢ΤϥʔΛεϩʔ͢Δ

    View Slide

  18. "TZODBXBJU ؔ਺Ҏ֎ʹ΋࢖͑Δ

    HFUPOMZϓϩύςΟ
    GPSJOϧʔϓ "TZOD4FRVFODF

    View Slide

  19. "TZODBXBJU ಺෦ͷ࢓૊Έ

    4XJGU$PODVSSFODZ4VTQFOEͷ࢓૊Έ
    ৄࡉ͸

    View Slide

  20. 4USVDUVSFEDPODVSSFODZ

    View Slide

  21. 4USVDUVSFEDPODVSSFODZ
    w ಉ࣌ฒߦॲཧΛߏ଄Խͯ͠ѻ͑ΔΑ͏ʹ
    w Ͳ͜Ͱಉ࣌ฒߦͷॲཧ͕ߦΘΕ͍ͯΔͷ͔͕Θ͔Γ΍͍͢
    w λεΫؒͷґଘؔ܎͕໌֬Ͱ؅ཧ͠΍͍͢ Ωϟϯηϧ΍ॲཧ݁Ռͷ଴ػ

    w ίϯύΠϥ͕҆શʹޮ཰Α͘ಉ࣌ฒߦॲཧͰ͖ΔΑ͏ʹαϙʔτͯ͘͠ΕΔ

    View Slide

  22. 4USVDUVSFEDPODVSSFODZ "TZODBXBJU

    View Slide

  23. 4USVDUVSFEDPODVSSFODZ "TZODBXBJU

    ຖճ݁ՌΛBXBJU͠ͳ͍ͱ࣍ʹਐ·ͳ͍
    🚫
    🚫
    🚫

    View Slide

  24. 4USVDUVSFEDPODVSSFODZ BTZODMFU

    View Slide

  25. 4USVDUVSFEDPODVSSFODZ BTZODMFU

    BTZODMFUͷ࣌఺Ͱ $IJMEUBTLΛੜ੒ͯ͠
    ӈͷॲཧ͕։࢝
    ͜ͷ࣌఺Ͱॲཧ͸·ͩதஅ͠ͳ͍

    View Slide

  26. 4USVDUVSFEDPODVSSFODZ BTZODMFU

    BXBJUͷ࣌఺Ͱطʹॲཧ͕׬͍ྃͯ͠Ε͹஋Λऔಘ͠ɺ·ͩͳΒ
    ͹TVTQFOE͢Δ
    BTZODMFU͸ੜ੒͞ΕͨείʔϓͷதͰ׬ྃ ·ͨ͸Ωϟϯηϧ

    ͞Εͳ͚Ε͹ͳΒͳ͍
    🚫
    🚫
    BTZODMFUͷੜଘείʔϓ

    View Slide

  27. 4USVDUVSFEDPODVSSFODZ 5BTL(SPVQ

    (SPVQͷείʔϓΛੜ੒͢Δ
    $IJMEUBTLΛੜ੒ͯ͠ॲཧ։࢝
    ׬ྃͨ͠ॱʹ݁ՌΛऔಘ
    ಈతͳ਺ͷಉ࣌ฒߦॲཧΛ࣮ߦ͢Δ
    ஫BTZODMFUͩͱGPSϧʔϓͷείʔϓͰຖճ݁ՌΛ଴ͭඞཁ͕͋Δ

    View Slide

  28. 4USVDUVSFEDPODVSSFODZ 6OTUSVDUVSFE%FUBDIFEUBTL

    w BTZODͷείʔϓҎ֎ TZODϝιουͳͲ
    Ͱ5BTLΛ࣮ߦͰ͖ΔΑ͏ʹ͢Δ
    w ̍ͭͷؔ਺ͷείʔϓΛ௒͑ͯॊೈʹ5BTLͷϥΠϑαΠΫϧΛ؅ཧͰ͖Δ ݁
    Ռͷऔಘ΍DBODFMͳͲ

    6OTUSVDUVSFEDPODVSSFODZ
    ৄࡉ͸

    View Slide

  29. 4USVDUVSFEDPODVSSFODZ BTZODMFU

    5BTLͷπϦʔߏ଄Λߏங͢Δ
    4USVDUVSFEDPODVSSFODZͷ࢓૊Έ
    ৄࡉ͸

    View Slide

  30. ($% (SBOE$FOUSBM%JTQBUDI
    WT4XJGU$PODVSSFODZ
    ৄࡉ͸

    View Slide

  31. 4USVDUVSFEDPODVSSFODZ ࢖͍෼͚

    Ͳ͔͜Βݺͼग़ͤΔʁ ੜଘظؒ Ωϟϯηϧ
    ݩͷίϯςΩετ͔Β
    ܧঝ͢Δ΋ͷ
    BTZODMFUUBTLT BTZODؔ਺ એݴͷείʔϓ಺ ࣗಈ
    QSJPSJUZ
    UBTLMPDBMWBMVF
    (SPVQUBTLT XJUI 5ISPXJOH
    5BTL(SPVQ
    UBTLHSPVQͷ
    είʔϓ಺
    ࣗಈ
    QSJPSJUZ
    UBTLMPDBMWBMVF
    6OTUSVDUVSFEUBTLT Ͳ͔͜ΒͰ΋ είʔϓͳ͠ 5BTLܦ༝
    QSJPSJUZ
    UBTLMPDBMWBMVF
    BDUPS
    %FUBDIFEUBTLT Ͳ͔͜ΒͰ΋ είʔϓͳ͠ 5BTLܦ༝ Կ΋

    View Slide

  32. "DUPST

    View Slide

  33. "DUPST
    w ϓϩάϥϜ಺Ͱڞ༗͞ΕΔՄมঢ়ଶ TIBSFENVUBCMFTUBUF
    Λಉظ͢Δ࢓૊ΈΛ
    ఏڙͯ͠σʔλڝ߹Λ๷͙ػೳ ܕ

    w ϓϩάϥϜͷଞͷ෦෼͔Β಺෦ͷঢ়ଶΛJTPMBUF ִ཭
    ͢Δ
    w "DUPSͷঢ়ଶʹ͸"DUPSΛ௨͔ͯ͠͠ΞΫηεͰ͖ͣɺΞΫηεͰ͖Δͷ͸Ұ౓ʹ
    Ұͭͷ5IFBE͚ͩ
    w TUSVDUɺFOVNɺDMBTTʹ͍ۙػೳΛ͍࣋ͬͯΔࢀরܕ
    w ίʔυΛݟ͚ͨͩͰσʔλ͕कΒΕ͍ͯΔ͔͕Θ͔Δ MPDBMSFBTPOJOH

    w ܕ͕$PODVSSFODZͷڥքͱͳΔͷͰΞϓϦ಺ͷߏ଄͕ΑΓ໌֬ʹ
    σʔλڝ߹ͭͷεϨου͕ಉ͡σʔλʹಉ࣌ʹΞΫηε͢Δ͜ͱ

    ͨͩ͠ɺͦͷ಺ͷগͳ͘ͱ΋Ұ͕ͭॻ͖ࠐΈͰ͋Δ͜ͱ

    View Slide

  34. "DUPST Ͳ͏΍ͬͯσʔλڝ߹Λ๷͙͔ʁ

    "UPNJDT

    -PDLT

    4FSJBMEJTQBUDIRVFVFT
    ๷͙͜ͱ͸Ͱ͖Δ΋ͷͷɺਖ਼͘͠࢖
    Θͳ͍ͱ๷͛ͳ͍ ࢖͍ํ΋೉͍͠

    "DUPST
    ݴޠ͕๷͙αϙʔτΛͯ͘͠ΕΔ ί
    ϯύΠϥνΣοΫ

    View Slide

  35. λΠϛϯά࣍ୈͰ݁Ռ͕ఆ·Βͳ͍
    σόοάͰݟ͚ͭͮΒ͍όά
    "DUPST σʔλڝ߹

    View Slide

  36. "DUPST BDUPS

    σʔλڝ߹Λىͣ͜͞ʹՄมঢ়ଶΛڞ༗͢Δ͜ͱ͕Ͱ͖Δ
    BDUPSΛ࢖ͬͯએݴ
    "DUPSͰσʔλ͕कΒΕ͍ͯ
    Δ͜ͱ͕͜͜Ͱ͙͢ʹΘ͔Δ

    MPDBMSFBTPOJOH

    View Slide

  37. "DUPST "DUPSͷTZODͳDPEF΁ͷΞΫηε

    BXBJU͕ඞཁ
    "DUPS͕ଞͷॲཧΛ࣮ߦ͍ͯ͠Δ৔߹͸
    TVTQFOE͠ɺ͋ͱͰ"DUPS্Ͱ࣮ߦ͞Ε
    Δ
    "DUPS֎ "DUPS಺
    BXBJU͸ෆཁ
    BXBJU

    View Slide

  38. "DUPSTΛࢧ͑Δ࢓૊Έ
    "DUPSJTPMBUJPO σʔλڝ߹Λ๷͙ͨΊͷϧʔϧ

    "DUPSSFFOUSBODZ
    ৄࡉ͸

    View Slide

  39. .BJO"DUPS
    w ඞཁͳ৔߹ʹTVTQFOEͯ͠ඞͣ.BJO5ISFBEΛ࣮ߦ͢Δ͜ͱΛࣔ͢
    w .BJO5ISFBEͰ࣮ߦ͠ͳ͚Ε͹ͳΒͳ͍ॲཧΛίϯύΠϥ͕νΣοΫͰ͖Δ
    Α͏ʹͳΔ
    w ෆཁͳίϯςΩετεΠονΛආ͚ͯޮ཰Α͘ΞϓϦΛ࣮ߦͰ͖Δ
    w ܕΛ.BJO"DUPSʹ͢ΔͱશͯͷϝϯόͱαϒΫϥε͕.BJO"DUPSʹͳΔ
    w OPOJTPMBUFEΛ෇͚Δ͜ͱͰ.BJO"DUPS͔ΒݸʑͷϝϯόΛআ֎Ͱ͖Δ

    View Slide

  40. .BJO"DUPS %JTQBUDI2VFVF

    .BJO5ISFBEͰ࣮ߦ͢ΔͨΊʹɺ.BJO2VFVFΛ࢖͏ඞཁ͕͋Δ ίϯύ
    Πϥ͸ॿ͚ͯ͘Εͳ͍

    ͜ͷίʔυ͸5ISFBETBGF
    ͜ͷϝιουΛݟ͚ͨͩͰ
    ͸Θ͔Βͳ͍
    ݺͼग़͠ଆΛݟΔ·Ͱ5ISFBETBGF͔Ͳ͏͔͕Θ͔Βͳ͍
    ίϯύΠϥ͸ॿ͚ͯ͘Εͳ͍
    %FCVH࣮ߦ࣌ͷΤϥʔͰॳΊͯؾ͕෇͘͜ͱ΋

    View Slide

  41. .BJO"DUPS !.BJO"DUPS

    !.BJO"DUPSΛ෇͚Δ͜ͱͰ.BJO5ISFBEͰ࣮ߦ͞ΕΔ
    .BJO"DUPS֎͔Β͸OPOBTZODͰ΋BXBJU͕ඞཁ

    View Slide

  42. .BJO"DUPS .BJO"DUPSSVO

    தஅ͞ΕΔՄೳੑ͕͋Δ
    தஅͤͣʹ·ͱΊ࣮ͯߦ͞ΕΔ
    தஅ͞ΕΔՄೳੑ͕͋Δ

    View Slide

  43. ·ͱΊ
    w "TZODBXBJU

    ඇಉظॲཧΛಉظॲཧͱಉ͡Α͏ͳܗͰهड़͢Δ͜ͱ͕Ͱ͖Δ
    w 4USVDUVSFEDPODVSSFODZ

    5BTLΛߏ଄Խͯ͠ɺޮ཰ྑ͍ํ๏Ͱಉ࣌ฒߦॲཧΛѻ͏͜ͱ͕
    Ͱ͖Δ
    w "DUPST

    ෳ਺εϨου͔Βڞ༗͞ΕͨՄมঢ়ଶ΁ͷಉ࣌ΞΫηεΛ๷͙
    ͜ͱͰσʔλڝ߹Λ๷͙͜ͱ͕Ͱ͖Δ

    View Slide

  44. ࢀߟࢿྉ
    w 4XJGU$PODVSSFODZղઆηογϣϯ

    .FFUBTZODBXBJUJO4XJGU

    &YQMPSFTUSVDUVSFEDPODVSSFODZJO4XJGU

    1SPUFDUNVUBCMFTUBUFXJUI4XJGUBDUPST

    4XJGUDPODVSSFODZ#FIJOEUIFTDFOFT
    w ҰॹʹαϯϓϧΛϦϑΝΫλϦϯά͠ͳ͕Βֶ΂Δηογϣϯ

    4XJGUDPODVSSFODZ6QEBUFBTBNQMFBQQ
    w ͦͷଞ

    l4USVDUVSFEDPODVSSFODZzXJUITQFDJBMHVFTU%PVH(SFHPS

    4XJGU'PSVNT

    View Slide

  45. ͜Μͳ͜ͱ΍ͬͯ·͢
    w -',NPCJMFEFWQPET&1+14XJGU͔ΒͷBTZODBXBJUΛֶͼ͍ͨํ΁
    w 4XJGUݴޠΨΠυ೔ຊޠ൛ ࡞੒த
    ͓͔͠ͳͱ͜Ζ͕͋Ε͹HJUIVCͰ13ͳͲ௖͚·͢ͱخ͍͠Ͱ͢

    IUUQTHJUIVCDPNTU[OUIFTXJGUQSPHSBNNJOHMBOHVBHFKQ

    View Slide

  46. ͋Γ͕ͱ͏͍͟͝·ͨ͠

    View Slide

  47. ิ଍ࢿྉ

    View Slide

  48. طଘͷίʔϧόοΫϝιουΛ
    BTZODϝιουʹม׵͢Δ

    View Slide

  49. IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOTXJGUXJUIDIFDLFEDPOUJOVBUJPO
    IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOTXJGUXJUIDIFDLFEUISPXJOHDPOUJOVBUJPO
    IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOTXJGUXJUIVOTBGFDPOUJOVBUJPO
    IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOTXJGUXJUIVOTBGFUISPXJOHDPOUJOVBUJPO

    View Slide

  50. IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOTXJGUXJUIDIFDLFEDPOUJOVBUJPO
    IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOTXJGUXJUIDIFDLFEUISPXJOHDPOUJOVBUJPO
    XJUI999$POUJOVBUJPOͰғΉ
    IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOTXJGUXJUIVOTBGFDPOUJOVBUJPO
    IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOTXJGUXJUIVOTBGFUISPXJOHDPOUJOVBUJPO

    View Slide

  51. IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOTXJGUXJUIDIFDLFEDPOUJOVBUJPO
    IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOTXJGUXJUIDIFDLFEUISPXJOHDPOUJOVBUJPO
    DPOUJOVBUJPOΛ࢖ͬͯ
    ॲཧΛ࠶։ SFTVNF
    ͢Δ
    IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOTXJGUXJUIVOTBGFDPOUJOVBUJPO
    IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOTXJGUXJUIVOTBGFUISPXJOHDPOUJOVBUJPO
    XJUI999$POUJOVBUJPOͰғΉ

    View Slide

  52. طଘͷ'SBNFXPSL΋"TZOD
    BXBJUʹରԠ

    View Slide

  53. IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOGPVOEBUJPOVSMTFTTJPOEBUB
    63-4FTTJPO

    View Slide

  54. IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOGPVOEBUJPOOPUJ
    fi
    DBUJPODFOUFSOPUJ
    fi
    DBUJPOT
    /PUJGJDBUJPO$FOUFS

    View Slide

  55. 4XJGU$PODVSSFODZ

    4VTQFOEͷ࢓૊Έ

    View Slide

  56. εϨου͕ؔ਺Λݺͼग़͢ͱελοΫྖҬʹ'SBNFͱͯ͠௥Ճ͞ΕΔ
    4UBDL'SBNF

    TZODؔ਺ͷ৘ใ͸ৗʹ4UBDL'SBNFʹอ࣋͞ΕΔ
    4UBDL'SBNF
    4UBDL'SBNF
    4UBDL'SBNF
    εϨου εϨου εϨου

    View Slide

  57. BTZODؔ਺ͷ৔߹ɺॲཧ͕SFTVNF͞Εͨޙʹඞཁͳ৘ใΛ)FBQʹอ࣋
    ͢Δ "TZOD'SBNF

    TVTQFOE͞ΕΔ஍఺ TVTQFOTJPOQPJOU
    Λލ͕ͳ͍৘ใ͸4UBDL
    'SBNFʹอ࣋͞ΕΔ
    "TZOD'SBNF
    4UBDL'SBNF

    View Slide

  58. ࣍ͷؔ਺͕ݺ͹Εͨࡍʹ4UBDLͰ͸Ұ൪্ͷ4UBDL'SBNF͕ೖΕସΘΔ
    ͦͷޙඞཁͳ৘ใ͸શͯ)FBQ'SBNFʹೖ͍ͬͯΔͨΊ

    View Slide

  59. ͜͏͢Δ͜ͱͰεϨου͸ϒϩοΫ͞ΕͣʹଞͷॲཧΛܧଓ͢Δ͜ͱ͕
    Ͱ͖Δ

    View Slide

  60. View Slide

  61. ॲཧ͕SFTVNF͞ΕΔͱ"TZOD'SBNFʹ͋ͬͨ৘ใ͕࠶ͼ4UBDLɹ
    'SBNFʹ௥Ճ͞ΕΔ ˞ಉ͡εϨουͱ͸ݶΒͳ͍

    View Slide

  62. TZODؔ਺͸4UBDL'SBNFʹͷΈอ࣋͞ΕΔ TVTQFOE͞ΕΔ͜ͱ͸ͳ͘
    ಉ͡εϨουͰॲཧ͞ΕΔͨΊ

    View Slide

  63. 4USVDUVSFEDPODVSSFODZͷ࢓
    ૊Έ

    View Slide

  64. 4USVDUVSFEDPODVSSFODZ 5BTLͷπϦʔߏ଄

    BTZOD಺ͰผͷBTZODΛݺͿͱ5BTLͷπϦʔߏ଄Λߏங͢Δ

    View Slide

  65. 4USVDUVSFEDPODVSSFODZ 5BTLͷπϦʔߏ଄

    5BTLͷπϦʔߏ଄಺Ͱ༷ʑͳίϯςΩετ QSJPSJUZ DBODFM৘ใ
    ͳͲ
    Λڞ༗͍ͯ͠Δ
    📝
    4XJGU͸͜ͷؔ܎Λ೺Ѳ͍ͯ͠Δ

    View Slide

  66. 4USVDUVSFEDPODVSSFODZ Ωϟϯηϧͷ఻೻

    5BTL͕Ωϟϯηϧ͞ΕΔͱɺશͯͷ4VCUBTL΋Ωϟϯηϧঢ়ଶʹ
    ͳΔ

    ❌ ❌
    ͨͩ͠։࢝͞Εͨॲཧ͸ܧଓ͢Δ $PPQFSBUJWFDBODFMMBUJPO

    τϥϯβΫγϣϯ్͕தͰٸʹதஅ͞ΕΔϦεΫΛආ͚Δ

    View Slide

  67. Ωϟϯηϧ͸खಈͰνΣοΫ͢Δඞཁ͕͋Δ
    4USVDUVSFEDPODVSSFODZ ΩϟϯηϧνΣοΫ

    5BTL$BODFMMBUJPO&SSPSΛεϩʔ͢Δ
    Ωϟϯηϧ͞Ε͍ͯΔ͔Ͳ͏͔ΛνΣοΫ͢Δ

    View Slide

  68. 4USVDUVSFEDPODVSSFODZ ׬ྃ৚݅

    શͯͷ4VCUBTL͸͜ͷείʔϓΛൈ͚Δ·Ͱʹ
    ׬ྃ ਖ਼ৗऴྃɺΤϥʔΛεϩʔͳͲ
    ͠ͳ͚Ε͹ͳΒͳ͍
    ˞BXBJU͠ͳ͍ͱΩϟϯηϧঢ়ଶʹͳΔ΋ͷͷɺॲཧ͸ܧଓ͠҉໧తʹ׬ྃΛ଴ػ͢Δ
    4VC5BTL͕5BTLΑΓ΋௕͘ଘଓ͢Δ͜ͱ͕ͳ͍

    View Slide

  69. 4USVDUVSFEDPODVSSFODZ Τϥʔͷ৔߹

    ·ͩBXBJU͍ͯ͠ͳ͍4VCUBTL͸શͯΩϟϯηϧঢ়ଶʹͳΔ͕ɺ
    ॲཧ͸ܧଓ͢Δ $PPQFSBUJWFDBODFMMBUJPO

    Τϥʔ͕ൃੜͨ͠৔߹
    τϥϯβΫγϣϯ్͕தͰٸʹதஅ͞ΕΔϦεΫΛආ͚Δ
    UISPX&SSPS

    View Slide

  70. 5BTL͸શͯͷ4VCUBTL͕׬ྃޙʹΤϥʔΛεϩʔ͢Δ
    4USVDUVSFEDPODVSSFODZ Τϥʔͷ৔߹

    Τϥʔ͕ൃੜͨ͠৔߹
    UISPX&SSPS

    View Slide

  71. 5BTL(SPVQ͸ɺBXBJU͍ͯ͠ͳ͍$IJMEUBTLʹؔͯ͠͸ɺ׬ྃ͢
    Δ·Ͱ1BSFOU͕BXBJU͠ͳ͍
    4USVDUVSFEDPODVSSFODZ 5BTL(SPVQ

    View Slide

  72. 6OTUSVDUVSFEDPODVSSFODZ

    View Slide

  73. 6OTUSVDUVSFEDPODVSSFODZ
    w ಠཱͨ͠ɺτοϓϨϕϧͷ5BTLΛੜ੒͢Δ
    w BTZODͷείʔϓҎ֎ TZODϝιουͳͲ
    Ͱ5BTLΛ࣮ߦͰ͖ΔΑ͏ʹ͢Δ
    w ̍ͭͷؔ਺ͷείʔϓΛ௒͑ͯॊೈʹ5BTLͷϥΠϑαΠΫϧΛ؅ཧͰ͖Δ ݁
    Ռͷऔಘ΍DBODFMͳͲ

    w 5BTLͷ݁ՌΛ଴ͭඞཁ͕ͳ͍৔߹
    fi
    SFBOEGPSHFU

    View Slide

  74. 6OTUSVDUVSFEDPODVSSFODZ 6OTUSVDUVSFEUBTL

    TZODίʔυ͔ΒBTZODίʔυ͸ݺͼग़͢͜ͱ͕Ͱ͖ͳ͍
    !.BJO"DUPS͸ॲཧΛ.BJO5ISFBEͰ࣮ߦ͢Δ

    View Slide

  75. 6OTUSVDUVSFEDPODVSSFODZ 6OTUSVDUVSFEUBTL

    5BTLͷJOJUΛ࢖͏͜ͱͰ5BTLΛ௥Ճ͢Δ͜ͱ͕Ͱ͖Δ
    5BTLͷJOJU͸ݺͼग़ͨ͠λεΫͷίϯςΩετ΍1SJPSJUZΛܧঝ
    ͢Δ
    !.BJO"DUPS͸ॲཧΛ.BJO5ISFBEͰ࣮ߦ͢Δ

    View Slide

  76. 6OTUSVDUVSFEDPODVSSFODZ 6OTUSVDUVSFEUBTL

    5BTLΛอ͓͖࣋ͯ͠ɺޙͰ஋ͷऔಘΛߦͳͬͨΓɺDBODFMΛߦ
    ͏͜ͱ͕Ͱ͖Δ
    ˞ٯʹ҉໧తʹॲཧͷ׬ྃΛ଴ػͨ͠ΓɺࣗಈΩϟϯηϧ͞ΕͣɺखಈͰ؅ཧ͢Δඞཁ͕͋Δ

    View Slide

  77. 6OTUSVDUVSFEDPODVSSFODZ %FUBDIFEUBTL

    5BTLEFUBDIFE͸पғͷίϯςΩετ͔Βಠཱͨ͠
    5BTL %FUBDIFE5BTL
    Λ࡞੒͢Δ .BJO"DUPSͰ͸࣮ߦ͞Εͳ
    ͍

    View Slide

  78. 6OTUSVDUVSFEDPODVSSFODZ %FUBDIFEUBTL

    %FUBDIFE5BTLͷதͰ5BTL(SPVQΛ࡞੒ͯ͠͞Βʹಉ࣌ฒߦ
    ॲཧΛ௥Ճ͢Δ͜ͱ͕Ͱ͖Δ

    View Slide

  79. 6OTUSVDUVSFEDPODVSSFODZ %FUBDIFEUBTL

    τοϓͷ%FUBDIFE5BTLΛDBODFM͢Ε͹5BTL(SPVQͷશͯͷ
    $IJME5BTL΋DBODFM͞ΕΔ

    View Slide

  80. ($% (SBOE$FOUSBM%JTQBUDI

    WT4XJGU$PODVSSFODZ

    View Slide

  81. 5ISFBEFYQMPTJPO໰୊

    View Slide

  82. εϨου͸ৗʹਐΈଓ͚ͳ͚Ε͹ͳΒͳ͍

    View Slide

  83. $PODVSSFOU2VFVFͷ৔߹ɺෳ਺ͷλεΫΛಉ࣌ʹ࣮ߦ͢ΔͨΊʹ͢΂
    ͯͷ$16ίΞ͕๞࿨ঢ়ଶʹͳΔ·ͰɺγεςϜ͸5ISFBEΛىಈ͢Δ

    View Slide

  84. ͔͠͠ɺεϨου͕ϒϩοΫ͞Εͨ৔߹

    View Slide

  85. $PODVSSFOU2VFVF͸$16ͷίΞ਺Λ௒͑ͯεϨουΛ࡞੒͢Δ
    ֤ίΞ͸εϨουΛಈ͔͠ଓ͚Δ͜ͱ͕Ͱ͖Δ
    ଞͷεϨου͕εϨουͷϒϩοΫΛղআͰ͖Δ͔΋͠Εͳ͍

    View Slide

  86. εϨου͕ϒϩοΫ͞Εͨ৔߹ɺεϨου͕ͲΜͲΜ૿͍͑ͯ͘
    5ISFBEFYQMPTJPO

    View Slide

  87. εϨου͸ඞཁͳ৘ใΛอ͍࣋ͯ͠ΔͨΊϝϞϦΛফඅ͢Δ
    .FNPSZPWFSIFBE

    View Slide

  88. $16ͰDPOUFYUTXJUDI͕ա৒ʹൃੜͯ͠ޮ཰͕ѱ͍
    4DIFEVMJOHPWFSIFBE

    View Slide

  89. εϨουͷ਺͸ݻఆ ࠷େ$16਺෼
    Ͱ$POUJOVBUJPOͱ͍͏୯ҐͰ৘ใ
    Λอ͍࣋ͯ͠Δ

    View Slide

  90. γεςϜ͕ঢ়گʹԠͯ͡$POUJOVBUJPOΛεϨου্Ͱ࣮ߦ͢Δ

    View Slide

  91. $PPQFSBUJWFUISFBEQPPMͱ͍͏ݻఆ௕ $16ίΞ਺
    ͷεϨουϓʔ
    ϧΛ࢖ͬͯεϨουΛ࠶ར༻͍ͯ͠Δ TVTQFOE͢Δ͜ͱͰγεςϜ͕
    ؅ཧͰ͖Δ

    View Slide

  92. 5ISFBEFYQMPTJPOΛ๷͙ͨΊʹɺ($%Ͱ͸4VCTZTUFN͝ͱʹ4FSJBM
    RVFVFΛ࢖͏ͳͲ؅ཧ͕೉͔͕ͬͨ͠ɺ4XJGU$PODVSSFODZͰ͸σϑ
    ΥϧτͰγεςϜ͕؅ཧͯ͘͠ΕΔ

    View Slide

  93. $PPQFSBUJWFUISFBEQPPMͰ%JTQBUDI4FNBQIPSFͳͲΛ࢖ͬͯϒϩ
    οΫͯ͠͠·͍ͬͯΔ৔߹ʹνΣοΫͰ͖Δ

    View Slide

  94. 1SJPSJUZJOWFSTJPO໰୊

    View Slide

  95. 4FSJBM2VFVFͷ৔߹ɺλεΫ͸௥Ճ͞Εͨॱ൪ʹ࣮ߦ͞ΕΔ
    ݫ֨ͳ'*'0 'JSTU*O 'JSTU0VU

    View Slide

  96. ༏ઌ౓ͷߴ͍λεΫͷલʹ௿͍λεΫ͕͋Δ৔߹

    View Slide

  97. ༏ઌ౓ͷ௿͍λεΫͷ༏ઌ౓Λ্࣮͛ͯߦ͢Δ
    1SJPSJUZJOWFSTJPO

    View Slide

  98. 4XJGUͷ"DUPSͷ৔߹ɺ"DUPS͕ଞͷλεΫΛ࣮ߦ͍ͯ͠ͳ͚Ε͹ɺ
    લʹλεΫ͕௥Ճ͞Ε͍ͯͨͱͯ͠΋৽͍͠λεΫΛઌʹ࣮ߦͰ͖Δ
    "DUPSSFFOUSBODZ

    View Slide

  99. ͜ͷ࢓૊ΈΛ࢖͏ͱɺ༏ઌ౓ͷߴ͍λεΫ͕ޙ͔Β௥Ճ͞Εͯ΋ઌʹ
    ࣮ߦ͢Δ͜ͱ͕Ͱ͖Δ 1SJPSJUZJOWFSTJPO͕ى͖ͳ͍

    View Slide

  100. "DUPSJTPMBUJPO σʔλڝ߹Λ๷͙ͨΊͷϧʔϧ

    View Slide

  101. "DUPSJTPMBUJPO 1SPUPDPM$POGPSNBODF

    ଞͷܕͱಉ༷ʹ1SPUPDPMʹ४ڌͰ͖Δ
    TUBUJDϝιουʹTFMGΠϯελϯε͸ଘࡏͤͣɺ"DUPSʹִ཭ JTPMBUFE

    ͞Ε͍ͯͳ͍
    "DUPS֎ʹͳΔ

    View Slide

  102. "DUPSJTPMBUJPO 1SPUPDPM$POGPSNBODF

    ଞͷܕͱಉ༷ʹ1SPUPDPMʹ४ڌͰ͖Δ
    TUBUJDϝιουʹTFMGΠϯελϯε͸ଘࡏͤͣɺ"DUPSʹִ཭ JTPMBUFE

    ͞Ε͍ͯͳ͍
    "DUPS֎ʹͳΔ
    "DUPS֎͕ͩɺJE/VNCFS͸JNNVUBCMFͳͷͰΞΫηεͰ͖Δ
    JNNVUBCMF

    View Slide

  103. "DUPSJTPMBUJPO 1SPUPDPM$POGPSNBODF

    "DUPS֎͔ΒΞΫηε͢Δʹ͸BXBJU͢Δඞཁ͕͋Δ͕ɺIBTI JOUP
    ͸
    BTZODϝιουͰ͸ͳ͍
    "DUPS֎͔ΒΞΫηε͞ΕΔՄೳੑ͕͋Δ

    View Slide

  104. "DUPSJTPMBUJPO OPOJTPMBUFE

    wOPOJTPMBUFEΛ෇͚Δ͜ͱͰߏจ্"DUPS಺ͷཁૉʹݟ͑Δ΋ͷΛɺ
    "DUPS͔ΒJTPMBUFE͞Εͳ͍Α͏ʹ͢Δ͜ͱ͕Ͱ͖Δ
    w"DUPS֎ͳͷͰ"DUPS಺ͷՄมͳঢ়ଶΛࢀর͢Δ͜ͱ͸Ͱ͖ͳ͍
    "DUPS֎ͱݟͳ͞ΕΔ
    JNNVUBCMFͳͷͰ0,

    View Slide

  105. "DUPSJTPMBUJPO OPOJTPMBUFE

    "DUPS֎ͳͷͰ"DUPS಺ͷՄมͳঢ়ଶΛࢀর͢Δ͜ͱ͸Ͱ͖ͳ͍

    View Slide

  106. "DUPSJTPMBUJPO $MPTVSF

    $MPTVSF΋"DUPSJTPMBUFE ΋͘͠͸OPOJTPMBUFE

    BXBJUෆཁ

    View Slide

  107. "DUPSJTPMBUJPO $MPTVSF

    BTZOD%FUBDIͷ಺෦͸"DUPS֎ͳͷͰσʔλڝ߹ͷՄೳੑ͋Γ
    JTPMBUFEͰ͸ͳ͍ͷͰBXBJUඞཁ

    View Slide

  108. "DUPSJTPMBUJPO 4USVDUͷड͚౉͠

    TUSVDUͷ৔߹͸ίϐʔ͕౉͞ΕΔͨΊɺ"DUPSʹӨڹΛ༩͑ͳ͍
    ίϐʔ͕౉͞ΕΔ

    View Slide

  109. "DUPSJTPMBUJPO $MBTTͷड͚౉͠

    DMBTTͷ৔߹͸ࢀর͕౉͞Εɺσʔλڝ߹ͷՄೳੑ͕͋Δ ͨͩ͠ίϯύ
    ΠϧΤϥʔʹ͸ͳΒͳ͍

    ࢀর͕౉͞ΕΔ

    View Slide

  110. "DUPSJTPMBUJPO 4FOEBCMFϓϩτίϧ

    w $PODVSSFODZͰ҆શʹڞ༗Ͱ͖ΔܕΛࣔ͢ϓϩτίϧ
    w 4FOEBCMFͳܕ

    7BMVF5ZQF

    "DUPS

    ϝϯόશͯJNNVUBCMFͳΫϥε

    ಺෦Ͱಉظ͕Ͱ͖ΔΫϥε

    ˏ4FOEBCMFؔ਺ܕ
    w ४ڌ͢Δͱ4XJGUίϯύΠϥ͕4FOEBCMF͔Ͳ͏͔ΛνΣοΫ͢Δ
    w δΣωϦοΫͳܕͷ৔߹ɺδΣωϦοΫҾ਺͕4FOEBCMFͳΒ͹4FOEBCMFʹͳ
    Δ $POEJUJPOBM$POGPSNBODF

    View Slide

  111. "DUPSJTPMBUJPO 4FOEBCMFνΣοΫ

    4FOEBCMFνΣοΫͰίϯύΠϧΤϥʔʹͳΔ
    TUSVDUͳΒ0,

    View Slide

  112. "DUPSJTPMBUJPO !4FOEBCMFؔ਺

    w !4FOEBCMFؔ਺ܕ͸4FOEBCMFϓϩτίϧʹ४ڌ͢Δ
    w !4FOEBCMFΫϩʔδϟʹ͸͍͔ͭ͘ͷ੍໿͕՝͞ΕΔ

    ՄมͳϩʔΧϧม਺ΛΩϟϓνϟͰ͖ͳ͍

    શͯͷΩϟϓνϟ͞ΕΔ஋͸4FOEBCMFͰͳ͚Ε͹ͳΒͳ͍

    "DUPS֎͔Β"DUPSͷίʔυ࣮ߦͰ͖ͯ͠·͏ͨΊ
    ಉظతͳ4FOEBCMFΫϩ
    ʔδϟ͸"DUPSJTPMBUFEʹͰ͖ͳ͍

    View Slide

  113. "DUPSJTPMBUJPO !4FOEBCMFؔ਺

    View Slide

  114. "DUPSSFFOUSBODZ

    View Slide

  115. 4XJGUͷ"DUPSͷ৔߹ɺ"DUPS͕ଞͷλεΫΛ࣮ߦ͍ͯ͠ͳ͚Ε͹ɺ
    લʹλεΫ͕௥Ճ͞Ε͍ͯͨͱͯ͠΋৽͍͠λεΫΛઌʹ࣮ߦͰ͖Δ
    "DUPSSFFOUSBODZ

    View Slide

  116. "DUPSSFFOUSBODZͷ஫ҙ఺

    View Slide

  117. "DUPSSFFOUSBODZ
    ը૾Λऔಘͯ͠DBDIF͢Δ

    View Slide

  118. "DUPSSFFOUSBODZ
    σʔλڝ߹͸ى͖ͳ͍΋ͷͷɺظ଴ͨ݁͠ՌʹͳΒͳ͍͜ͱ͕͋Δ
    TVTQFOE͢ΔՄೳੑ͕͋Δ
    Ծʹಉ͡63-͔Βҧ͏ը૾͕औಘͰ
    ͖Δ৔߹ɺTVTQFOEதʹ΋͏Ұճಉ
    ͡63-΁ϦΫΤετ͢ΔͱDBDIF্͕
    ॻ͖͞Εͯ͠·͏

    View Slide

  119. "DUPSSFFOUSBODZ
    ͦ΋ͦ΋ճݺ͹ͳ
    ͍Α͏ʹ͢Δ
    ஫ҙBXBJUલͷঢ়ଶ͕BXBJUޙͰ΋ඞͣಉͩ͡ͱ͸ࢥ͍ࠐ·ͳ͍͜ͱ

    View Slide