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

祝Node-v10リリース これまでのNodeの振り返り

祝Node-v10リリース これまでのNodeの振り返り

Shigeki Ohtsu

April 27, 2018
Tweet

More Decks by Shigeki Ohtsu

Other Decks in Technology

Transcript

  1. ॕ/PEFWϦϦʔε
    ͜Ε·Ͱͷ/PEFͷৼΓฦΓ
    /PEFֶԂ࣌ݶ໨
    ೥݄೔
    Ϡϑʔגࣜձࣾ
    େ௡ൟथ

    View full-size slide

  2. ࣗݾ঺հ
    w Ϡϑʔגࣜձࣾ$%/νʔϜɺ/PEFKTαϙʔτνʔϜ
    w ୈ୅ࠇଳ ωοτϫʔΫηΩϡϦςΟʣɺ044σϕϩο
    ύʔೝఆऀIUUQTBCPVUZBIPPDPKQISXPSLQMBDFDVMUVSFIUNMBODIPS
    w /PEFKT$PMMBCPSBUPS ݩ54$ϝϯόʔ

    w DSZQUPɺηΩϡϦςΟνʔϜ

    View full-size slide

  3. /PEFW "SHPO
    ͸
    ʹ&0-
    %VCOJVN υϒχ΢Ϝ

    View full-size slide

  4. /PEFKTͷΞʔΩςΫνϟ
    04 XJO NBD TPMBSJT GSFFCTE PQFOCTE MJOVY BOESPJE BJY DMPVEBCJ

    $16 BSN BSN JB NJQT NJQTFM NJQTFM QQD QQD Y Y Y Y@ T TY

    MJCVW
    7
    0QFO44-
    [MJC
    IUUQQBSTFS
    OHIUUQ
    DBSFT
    JDVTNBMM
    OPEFJOTQFDU
    BDPSO
    /PEF$PSF $

    /PEF$PSF +4

    5IJSE1BSUZ.PEVMFT

    View full-size slide

  5. Ξοϓσʔτ͞Εͨ
    ෇ଐϥΠϒϥϦ܈
    /PEFW /PEFW

    View full-size slide

  6. 7Ξοϓσʔτ
    ʹ൐͏৽ػೳ

    View full-size slide

  7. "TZOD*UFSBUPS"TZOD(FOFSBUPS TUBHF

    const http = require('http');
    const url = new URL('http://html5.ohtsu.org/');
    function promisifiedGet(url) {
    return new Promise((resolve, reject) => {
    http.get(url, (res) => {
    res.statusCode === 200 ? resolve(res) :
    reject(new Error('No response data'));
    });
    });
    }
    async function asyncHttpGet(url) {
    const res = await promisifiedGet(url);
    let data = '';
    res.setEncoding('utf-8');
    for await (const chunk of res) {
    data += chunk;
    }
    console.log('Response: ', data);
    }
    asyncHttpGet(url).catch((e) => {
    console.log('Error: ', e.message);
    });;
    GPSBXBJUPG͸ɺ3FBEBCMF4USFBNͱΊͪΌ૬ੑ͕ྑ͍
    ৄ͘͠͸4USFBN<4ZNCPMBTZOD*UFSBUPS>ͷ঺հͰ

    View full-size slide

  8. 1SPNJTFpOBMMZ
    TUBHF
    const http = require('http');
    const url = new URL('http://html5.ohtsu.org/');
    function promisifiedGet(url) {
    return new Promise((resolve, reject) => {
    http.get(url, (res) => {
    res.statusCode === 200 ? resolve(res) :
    reject(new Error('No response data'));
    });
    });
    }
    promisifiedGet(url).then((res) => {
    let data = '';
    res.setEncoding('utf-8');
    res.on('data', (chunk) => {
    data += chunk;
    });
    res.on('end', () => {
    console.log('Response: ', data);
    });
    }).catch((e) => {
    console.log('Error: ', e.message);
    }).finally(() => {
    console.log('final called');
    });
    BTZODGVODUJPOͰUSZʙDBUDIʙpOBMMZ͕࢖͑Δ͔Βͦͬͪͷํ͕ྑ͘ͳ͍ʁ

    View full-size slide

  9. 3FH&YQOBNFEDBQUVSF TUBHF

    DPOTUQBUUFSO ZFBSaE\^
    NPOUIaE\^
    EBZaE\^
    V
    DPOTUSFTVMUQBUUFSOFYFD

    DPOTPMFMPH SFTVMUHSPVQT

    OPEFSFHFY@OBNFE@DBQUVSFKT
    \ZFBS NPOUI EBZ^
    DPOTPMFMPH aQ\/VNCFS^VUFTU ᶃ


    DPOTPMFMPH aQ\"MQIBCFUJD^VUFTU େ௡


    DPOTPMFMPH ?aQ\4DSJQU@&YUFOTJPOT)JSBHBOB^VUFTU ͓͓ͭ


    DPOTPMFMPH ?aQ\4DSJQU@&YUFOTJPOT)JSBHBOB^VUFTU େ௡


    3FH&YQ6OJDPEFQSPQFSUZFTDBQFT TUBHF

    OPEFVOJDPEF@FTDBQFE@SFHFYKT
    USVF
    USVF
    USVF
    GBMTF
    ໊෇͚Ͱ͖Δ
    άϧʔϓΦϒδΣΫτͰड͚Δ
    6OJDPEF༻ͷϓϩύ
    ςΟ৭ʑ

    View full-size slide

  10. 0QUJPOBMDBUDICJOEJOH TUBHF

    USZ\
    UISPXOFX&SSPS IPHF

    ^DBUDI\
    DPOTPMFMPH DBVHIU

    ^
    DPOTPMFMPH FOE

    F
    ͕͍Βͳ͍
    4USJOHQSPUPUZQFUSJN4UBSUUSJN&OE TUBHF

    DPOTUTUSIPHFGVHB
    DPOTPMFMPH TUSUSJN4UBSU


    DPOTPMFMPH TUSUSJN&OE


    OPEFTUSJOH@USJN@TUBSU@FOEKT
    IPHFGVHB
    IPHFGVHB
    લۭന࡟আ
    ޙۭന࡟আ

    View full-size slide

  11. 'VODUJPOQSPUPUZQFUP4USJOH3FWJTJPO TUBHF

    GVODUJPOIPHFGVHBGPP
    \^
    DPOTPMFMPH GPPUP4USJOH


    OPEFGVODUJPO@UP@TUSJOHKT
    GVODUJPOGPP
    \^
    OPEFGVODUJPO@UP@TUSJOHKT
    GVODUJPOIPHFGVHBGPP
    \^
    /PEFWͰ͸ɺ
    /PEFWʹͳΔͱɺ
    ίϝϯτͷೖͬͨ'VODUJPO
    7̔ͷΞοϓσʔτͰଞʹ΋ηΩϡϦςΟରࡦ΍ੑೳ޲্ͳͲ͍
    Ζ͍Ζͨ͘͞Μ͋Γ·͢ɻ

    View full-size slide

  12. /PEFWͷมߋ఺

    View full-size slide

  13. /PEFW
    %FQSFDBUJPOT ओཁͳ΋ͷ͚ͩ

    w SFRVJSF BTTFSU
    %PDPOMZ SFRVJSF BTTFSU
    TUSJDUΛ࢖͓͏
    w QSPDFTTCJOEJOH VUJM
    JTܕνΣοΫ %PDPOMZXJUIXBSO
    VUJMUZQFTJT Λ࢖͓͏
    w #V⒎FSͷSFBEXSJUFͷOP"TTFSUҾ਺ &P-ੑೳ্໰୊ͳ͠
    w DSZQUPDSFBUF$JQIFSDSFBUF%FDJQIFS %PDPOMZDJQIFS*7
    EFDJQIFS*7Λ࢖͓͏
    w UMT/1/ 3VOUJNF"-1/Λ࢖͓͏

    View full-size slide

  14. &SSPSDPEF
    w ैདྷ/PEFίΞͷΤϥʔϝοηʔδ&SSPSNFTTBHF͸݁ߏࣗ
    ༝ʹ෇͚ΒΕ͖ͯͨɻ
    w ͔͠͠UZQP΍هड़ؒҧ͍ͳͲͷमਖ਼͕ඞཁʹͳΔͱϝοηʔ
    δΛνΣοΫ͍ͯ͠ΔϞδϡʔϧ͕͋ͬͯ4FNWFS.BKPSʹ
    ͳͬͯ͠·͏໰୊͕ൃੜɻ
    w ౷Ұతʹ&SSPSDPEFΛ෇༩ɻϝοηʔδमਖ਼ͷࣗ༝౓Λߴ͘
    ͨ͠ɻ
    DPOTUIUUQSFRVJSF IUUQ

    DPOTUQPSU
    DPOTUTFSWFSIUUQDSFBUF4FSWFS
    MJTUFO QPSU
    \
    DPOTPMFMPH -JTUFOJOHPOQPSU

    ^
    PO FSSPS F
    \
    JG FNFTTBHFMJTUFO&"%%3*/64&QPSU
    \
    DPOTPMFFSSPS QPSUJTVTFE

    ^
    ^

    DPOTUIUUQSFRVJSF IUUQ

    DPOTUQPSU
    DPOTUTFSWFSIUUQDSFBUF4FSWFS
    MJTUFO QPSU
    \
    DPOTPMFMPH -JTUFOJOHPOQPSU

    ^
    PO FSSPS F
    \
    JG FDPEF&"%%3*/64&
    \
    DPOTPMFFSSPS QPSUJTVTFE

    ^
    ^

    View full-size slide

  15. /PEFW"1*Ϋϥεਤ
    IUUQTHJUIVCDPNEBSBJOPEFDMBTTEJBHSBN
    IUUQTRJJUBDPNEBSBJJUFNTBCDGCFFF

    View full-size slide

  16. &WFOU&NJUUFS
    ͜Ε·Ͱ਺ʑͷఏҊ͕ੜ·Εɺ٫Լ͞Εͯ
    ͖ͨP⒎ SFNPWF-JTUFOFSͷΤΠϦΞε
    ͕
    ಋೖʢձ௕ɺྦͰ͠ΐʣɻ
    ӳޠͰ͸POͷ൓ରޠ͸P⒎Ͱ͸ͳ͍ɻͰ΋Έ
    ΜͳP⒎Λ୳͢ͷͰ69తʹ໰୊͋Γɻ
    ҙݟׂ͕Ε͕ͨ54$WPUFͰಋೖܾఆɻ
    EPDʹͳ͔͚ͬͨͲɺ࣍όʔδϣϯͰهࡌ
    @FWFOUTΛӅ͠ɺ͜Ε·Ͱࢀর͖ͯͨ͠
    ϞδϡʔϧΛٹࡁ͢ΔͨΊޓ׵"1*Λఏڙ

    View full-size slide

  17. TUSFBN
    )JHI8BUFS.BSL MFOHUI͸WʹόοΫϙʔτࡁ

    View full-size slide

  18. 4USFBNpOJTIFE TUSFBN DC

    w TUSFBN్͕தͰBCPSU͞ΕΔͱFOE΍pOJTIΠϕϯ
    τ͕FNJU͞Εͳ͍ɻ
    w TUSFBN͕SFBEBCMF XSJUBCMFͰͳ͘ͳͬͨ͜ͱΛͪΌ
    ΜͱDBMMCBDL௨஌Ͱ͖ΔΑ͏4USFBNpOJTIFEΛಋೖ
    DPOTUIUUQSFRVJSF IUUQ

    DPOTUVSMOFX63- IUUQIUNMPIUTVPSH

    DPOTUDMJFOUIUUQHFU VSM SFT
    \
    SFTSFTVNF

    ^
    PO pOJTI
    \
    DPOTPMFMPH pOJTIFE

    ^

    DMJFOUBCPSU

    DPOTU\pOJTIFE^SFRVJSF TUSFBN

    DPOTUIUUQSFRVJSF IUUQ

    DPOTUVSMOFX63- IUUQIUNMPIUTVPSH

    DPOTUDMJFOUIUUQHFU VSM SFT
    \
    SFTSFTVNF

    ^
    PO pOJTI
    \
    DPOTPMFMPH pOJTIFE

    ^

    pOJTIFE DMJFOU FSS
    \
    DPOTPMFMPH pOJTIFEFSSPS FSSNFTTBHF

    ^

    DMJFOUBCPSU

    OPEFTUSFBN@pOJTIFEKT

    OPEFTUSFBN@pOJTIFEKT
    pOJTIFEFSSPS1SFNBUVSFDMPTF

    View full-size slide

  19. 4USFBNQJQFMJOF TUSFBNT DC

    w ैདྷͷQJQFͰ͸FSSPSQSPQBHBUJPOʹ໰୊͕͋ͬͨɻ
    w pOJTIFEΛ͔·͢͜ͱͰɺQJQFMJOFͰFSSPSॲཧ͕Մೳʹ
    DPOTUGTSFRVJSF GT

    DPOTU[MJCSFRVJSF [MJC

    DPOTUpMFOPU@FYJTUUYU
    GTDSFBUF3FBE4USFBN pMF

    QJQF [MJCDSFBUF([JQ


    QJQF GTDSFBUF8SJUF4USFBN pMFH[


    PO FSSPS F
    \
    DPOTPMFMPH &SSPS FNFTTBHF

    ^

    DPOTUGTSFRVJSF GT

    DPOTU[MJCSFRVJSF [MJC

    DPOTU\QJQFMJOF^SFRVJSF TUSFBN

    DPOTUpMFOPU@FYJTUUYU
    QJQFMJOF
    GTDSFBUF3FBE4USFBN pMF

    [MJCDSFBUF([JQ

    GTDSFBUF8SJUF4USFBN pMFH[

    F
    \
    JG F

    DPOTPMFMPH &SSPS FNFTTBHF

    ^

    OPEFTUSFBN@QJQFKT
    FWFOUTKT
    UISPXFS6OIBOEMFEFSSPSFWFOU
    ?
    &SSPS&/0&/5OPTVDIpMFPSEJSFDUPSZ PQFOOPU@FYJTUUYU
    &NJUUFEFSSPSFWFOUBU
    BUGTKT
    BU'43FR8SBQPODPNQMFUF GTKT

    OPEFTUSFBN@QJQFMJOFKT
    &SSPS&/0&/5OPTVDIpMFPSEJSFDUPSZ PQFOOPU@FYJTUUYU

    View full-size slide

  20. SFBEBCMF<4ZNCPMBTZOD*UFSBUPS>
    w SFBEBCMFTUSFBN͕શ෦"TZOD*UFSBUPSʹ
    w GPSBXBJUPG͕࢖͑Δ
    &YQFSJNFOUBM"1*
    DPOTUGTSFRVJSF GT

    DPOTUpMFIPHFUYU
    BTZODGVODUJPOQSJOU SFBEBCMF
    \
    SFBEBCMFTFU&ODPEJOH VUG

    MFUEBUB
    GPSBXBJU DPOTULPGSFBEBCMF
    \
    EBUBL
    ^
    DPOTPMFMPH EBUB

    ^
    QSJOU GTDSFBUF3FBE4USFBN pMF

    DBUDI DPOTPMFMPH

    OPEFTUSFBN@BTZODJUFSBUPSKT
    OPEF
    &YQFSJNFOUBM8BSOJOH3FBEBCMF<4ZNCPMBTZOD*UFSBUPS>JTBOFYQFSJNFOUBMGFBUVSF5IJTGFBUVSFDPVMEDIBOHFBUBOZUJNF
    BBBB

    View full-size slide

  21. DPOTUIUUQSFRVJSF IUUQ

    DPOTUVSMOFX63- IUUQIUNMPIUTVPSH

    GVODUJPOQSPNJTJpFE(FU VSM
    \
    SFUVSOOFX1SPNJTF SFTPMWF SFKFDU
    \
    IUUQHFU VSM SFT
    \
    SFTTUBUVT$PEF SFTPMWF SFT
    SFKFDU OFX&SSPS /PSFTQPOTFEBUB


    ^

    ^

    ^
    BTZODGVODUJPOBTZOD)UUQ(FU VSM
    \
    MFUSFT
    USZ\
    SFTBXBJUQSPNJTJpFE(FU VSM

    ^DBUDI F
    \
    DPOTPMFMPH FSSPS FNFTTBHF

    SFUVSO
    ^
    MFUEBUB
    SFTTFU&ODPEJOH VUG

    GPSBXBJU DPOTUDIVOLPGSFT
    \
    EBUBDIVOL
    ^
    DPOTPMFMPH EBUB

    ^
    BTZOD)UUQ(FU VSM

    readable[Symbol.asyncIterator] HTTP GETͷαϯϓϧίʔυ
    શͯͷ3FBEBCMF4USFBN͕
    BTZOD*UFSBUPSγϯϘϧΛ࣋
    ͭͷͰGPSBXBJU PG
    Ͱ
    PO EBUB
    ͷΠϕϯτͰ
    SFTPMWF͕Ͱ͖Δɻ
    ैདྷ૬ੑ͕ѱ͔ͬͨTUSFBN
    ͱ1SPNJTFͱͷؔ܎͕վળɻ
    ͖ͬ͢Γɺ͖Ε͍ʂʂ
    &YQFSJNFOUBM"1*

    View full-size slide

  22. DPOTUIUUQSFRVJSF IUUQ

    DPOTUQJQFMJOFSFRVJSF VUJM
    QSPNJTJGZ SFRVJSF TUSFBN
    QJQFMJOF

    DPOTUNBY4J[F
    GVODUJPOQSPNJTJpFE(FU VSM
    \
    SFUVSOOFX1SPNJTF SFTPMWF SFKFDU
    \
    DPOTUDMJFOUIUUQHFU VSM SFT
    \
    JG SFTIFBEFST<DPOUFOUMFOHUI>NBY4J[F
    \
    SFTPMWF SFT

    ^FMTF\
    DMJFOUBCPSU

    SFKFDU OFX&SSPS 3FTQPOTFEBUBJTUPPMBSHF


    ^
    ^
    ^

    ^
    BTZODGVODUJPOBTZOD1JQFMJOF VSM TFSWFS@SFT
    \
    DPOTUDMJFOU@SFTBXBJUQSPNJTJpFE(FU VSM

    TFSWFS@SFTXSJUF)FBE \
    5SBOTGFS&ODPEJOHDIVOL $POUFOU&ODPEJOHH[JQ
    $POUFOU5ZQFDMJFOU@SFTIFBEFST<DPOUFOUUZQF>^

    BXBJUQJQFMJOF
    DMJFOU@SFT
    SFRVJSF [MJC
    DSFBUF([JQ

    TFSWFS@SFT


    DPOTPMFMPH 1JQFMJOFTVDDFFEFE

    ^
    DPOTUTFSWFSIUUQDSFBUF4FSWFS SFR SFT
    \
    DPOTUVSMOFX63- IUUQIUNMPIUTVPSH

    BTZOD1JQFMJOF VSM SFT
    DBUDI F
    \
    DPOTPMFFSSPS 1JQFMJOFFSSPS FNFTTBHF

    SFTXSJUF)FBE \$POUFOU5ZQFUFYUQMBJO^

    SFTFOE FNFTTBHF
    ^

    MJTUFO

    "TZOD4USFBNQJQFMJOF
    ͷαϯϓϧίʔυ
    w όοΫΤϯυ͔ΒίϯςϯπΛऔಘͯ͠
    ѹॖͯ͠ΫϥΠΞϯτʹฦ͢؆୯ͳ
    3FWFSTF1SPYZ
    w L#Ҏ্ͷίϯςϯπ͸αΠζ௒աͰ
    Τϥʔʹ͢Δ࢓༷ɻ్தͰIUUQBCPSU

    ͤ͞Δɻ
    w VUJMQSPNJTJGZͰ4USFBNQJQFMJOFΛ
    1SPNJTFԽ
    w QJQFͰͭͳ͙TUSFBNΛQJQFMJOFͰฒ΂ͯ
    1SPNJTFͷղܾΛ଴ͭ
    w QJQFதͷTUSFBNͰͷΤϥʔ SFKFDU
    Λ
    QJQFMJOF͔ΒͪΌΜͱDBUDIͯ͠ϋϯυ
    ϦϯάͰ͖Δ

    View full-size slide

  23. OFU
    w GT͸GEΛऔಘͨ͠ΒPQFOΠϕϯτ
    w OFU͸TPDLFU઀ଓͰ͖ͨΒDPOOFDU
    Πϕϯτ
    w IUUQ͸ηογϣϯཱ͕֬ͨ͠Β
    SFBEZΠϕϯτ
    w ͜ͷ̏ͭΛ౷Ұతʹѻ͏Α͏DPOOFDU
    ΍PQFO௚ޙʹSFBEZΠϕϯτΛ௥Ճ

    View full-size slide

  24. IUUQ
    DPOTUIUUQSFRVJSF IUUQ

    DPOTUTFSWFSIUUQDSFBUF4FSWFS SFR SFT
    \
    SFTXSJUF1SPDFTTJOH

    SFTXSJUF)FBE \DPOUFOUUZQFUFYUQMBJO^

    SFTFOE %POF

    ^
    MJTUFO
    \
    DPOTUDMJFOUIUUQHFU \QPSUTFSWFSBEESFTT
    QPSU^ SFT
    \
    SFTSFTVNF

    SFTPO FOE
    \
    TFSWFSDMPTF

    ^

    ^

    DMJFOUPO JOGPSNBUJPO SFT
    \
    DPOTPMFMPH SFTTUBUVT$PEF

    ^

    ^

    StatusCode 102 Processing ΛૹΔ
    10XͷϨεϙϯεͷΠϕϯτ͕औΕΔ
    • 100 Continue, RFC7231
    • 102 Processing, RFC2518
    • 103 Early Hints, RFC8297
    ͨͩ͠101 Switching Protocols (Upgrade)
    ͸ର৅֎

    View full-size slide

  25. GTQSPNJTFT
    w GTܥͷ"1*Λશͯ1SPNJTFԽ
    w "TZOD'VODUJPOͰฦͬͯ͘Δ
    w 1SPNJTF"TZODؔ਺ͷωΠςΟϒԽɺੑೳ޲্Ͱ&YQFSJNFOUBM"1*ʹ
    &YQFSJNFOUBM"1*
    DPOTU\TUBU^SFRVJSF GT

    DPOTUpMFIPHFUYU
    GVODUJPOQSPNJTJpFE'T4UBU pMF
    \
    SFUVSOOFX1SPNJTF SFTPMWF SFKFDU
    \
    TUBU pMF FSS T
    \
    JG FSS
    \
    SFTPMWF T

    ^FMTF\
    SFKFDU FSS

    ^
    ^

    ^

    ^
    QSPNJTJpFE'T4UBU pMF
    UIFO T
    \
    DPOTPMFMPH TTJ[F

    ^
    DBUDI F
    \
    DPOTPMFMPH FNFTTBHF

    ^

    DPOTU\TUBU^SFRVJSF GT

    DPOTUVUJMSFRVJSF VUJM

    DPOTUpMFIPHFUYU
    QSPNJTJpFE'T4UBUVUJMQSPNJTJGZ TUBU

    QSPNJTJpFE'T4UBU pMF
    UIFO T
    \
    DPOTPMFMPH TTJ[F

    ^
    DBUDI F
    \
    DPOTPMFMPH FNFTTBHF

    ^

    DPOTU\TUBU^SFRVJSF GTQSPNJTFT

    DPOTUpMFIPHFUYU
    TUBU pMF
    UIFO TUBU
    \
    DPOTPMFMPH TUBUTJ[F

    ^
    DBUDI F
    \
    DPOTPMFMPH FNFTTBHFT

    ^

    ΂ͨ VUJMQSPNJTJGZ
    GTQSPNJTFT

    View full-size slide

  26. BTTFSUTUSJDU
    w BTTFSUͷTUSJDUNPEF͕ಋೖ͞ΕΔ
    w TUSJDUNPEFͰ͸શͯTUSJDUFRVBMͰ൑ఆ
    w -FHBDZ.PEFSFRVJSF BTTFSU
    ͸EFQSFDUFE %PDPOMZ

    DPOTUBTTFSUSFRVJSF BTTFSU

    USZ\
    BTTFSUFRVBM OVMM VOEFpOFE

    ^DBUDI F
    \
    DPOTPMFMPH FNFTTBHF

    ^
    DPOTUBTTFSUSFRVJSF BTTFSU
    TUSJDU
    USZ\
    BTTFSUFRVBM OVMM VOEFpOFE

    ^DBUDI F
    \
    DPOTPMFMPH FNFTTBHF

    ^
    OPEFBTTFSU@TUSJDUKT

    OPEFBTTFSU@TUSJDUKT
    *OQVU"FYQFDUFEUPTUSJDUMZFRVBMJOQVU#
    FYQFDUFEBDUVBM
    OVMM
    VOEFpOFE

    View full-size slide

  27. DPOTUVUJMSFRVJSF VUJM

    BTZODGVODUJPOIPHF"TZOD
    \^
    GVODUJPONZ*T"TZOD'VODUJPO GVOD
    \
    SFUVSO0CKFDUQSPUPUZQFUP4USJOHDBMM GVOD

    ^
    DPOTPMFMPH NZ*T"TZOD'VODUJPO IPHF"TZOD

    USVF
    DPOTPMFMPH VUJMUZQFTJT"TZOD'VODUJPO IPHF"TZOD

    USVF
    VUJMUZQFTJT
    7ωΠςΟϒʹΑΔνΣοΫ
    JT"SHVNFOUT0CKFDU JT"TZOD'VODUJPO JT#PPMFBO0CKFDU JT%BUB7JFX JT%BUF JT&YUFSOBM JT(FOFSBUPS'VODUJPO JT(FOFSBUPS0CKFDU JT.BQ JT.BQ*UFSBUPS
    JT/BUJWF&SSPS JT/VNCFS0CKFDU JT1SPNJTF JT1SPYZ JT3FH&YQ JT4FU JT4FU*UFSBUPS JT4IBSFE"SSBZ#V⒎FS JT4USJOH0CKFDU JT4ZNCPM0CKFDU JT8FBL.BQ
    JT8FBL4FU JT8FC"TTFNCMZ$PNQJMFE.PEVMF
    +4ʹΑΔνΣοΫ
    JT"SSBZ#V⒎FS JT5ZQFE"SSBZ JT6JOU"SSBZ JT6JOU$MBNQFE"SSBZ JT6JOU"SSBZ JT6JOU"SSBZ JT*OU"SSBZ JT*OU"SSBZ JT*OU"SSBZ
    JT'MPBU"SSBZ JT'MPBU"SSBZ JT"OZ"SSBZ#V⒎FS
    +4ॲཧͷΦʔόϔου
    7ωΠςΟϒ
    w Ҏલ͔ΒQSPDFTTCJOEJOH VUJM
    JT Ͱ಺෦ར༻͞Ε͖ͯͨ
    w উखʹ࢖͍ͬͯΔϞδϡʔϧ͕ଟ͍
    w VUJMUZQFTJT ͱͯ͠ެ։"1*Խɻͦͷ୅ΘΓQSPDFTTCJOEJOHͷํ͸
    EFQSFDBUFE

    View full-size slide

  28. 63- 63-4FBSDI1BSBNT͕
    άϩʔόϧʹ
    w ϒϥ΢βʔͱಉ͘͡8)"58(ͷ63- 63-4FBSDI1BSBNT
    ͕άϩʔόϧʹ
    w কདྷతʹVSMQBSTF
    ͷஔ͖׵͑ɺW΁ͷόοΫϙʔτ΋ݕ
    ౼த
    DPOTUIUUQSFRVJSF IUUQ

    DPOTUVSMOFX63- IUUQIUNMPIUTVPSH

    IUUQHFU VSM SFT
    \
    SFTSFTVNF

    DPOTPMFMPH SFTTUBUVT$PEF

    ^

    View full-size slide

  29. ͦͷଞ
    w /"1*͕4UBCMFʹ
    w FYQFSJNFOUBMWNNPEVMFT&4NPEVMF
    w FYQFSJNFOUBMSFQMBXBJU
    w USBDFFWFOU͕Φϓγϣϯϑϥάແ͠Ͱར༻Մɻಈతʹ੾
    Γସ͑ͨΓɺػೳ΋௥Ճɻ
    w DPOTPMFUBCMF

    w QSPDFTTQQJE
    w GTSFBMQBUIOBUJWFGTSFBMQBUI4ZODOBUJWF
    w NPEVMFCVJMUJO.PEVMFT
    w JNNFEJBUFSFG
    VOSFG

    w UMT4PDLFUHFU'JOJTIFE
    HFU1FFS'JOJTIFE

    ଞʹ΋͍Ζ͍Ζ

    View full-size slide

  30. ৼΓฦΓ
    w ೥SZʹΑΔ/PEFKT஀ੜ ʙW

    w ೥ʙ೥+PZFOU/PEF WʙW

    w ೥݄/PEFֶԂ࣌ݶ໨
    w ೥JPKT෼྾ɺ౷߹ɻ/PEF'PVOEBUJPOઃཱ
    w ೥݄/PEFW-54 "SHPO
    ϦϦʔε
    w ೥݄೔/PEFW&0-
    /PEF'PVOEBUJPOମ੍ʹͳͬͯॳΊͯ-54ϦϦʔεϥΠϯΛશ͏ͨ͠ɻ

    View full-size slide

  31. มΘͬͨ͜ͱ
    1SPT
    w ࢀՃऀͷ૿େɺຽओԽ
    w Ұ෦ͷఱ࠽త։ൃऀ͚ͩ͡Όͳͯ͘΋ϝϯςՄೳ
    w ߹ҙܗ੒ͷϧʔϧ࡞Γ͕੔උ
    w 4FNWFSͷపఈԽ "1*มߋϧʔϧͷపఈʣɺ-54ͷ҆ఆԽ
    w *OUFSOFU(JBOUT%JTUSJCVUPSͷίϛοτ
    w (PPHMFͷڠྗ͕ඇৗʹେ͖͍ɻ/PEF͕7ͷpSTUDMBTTʹ
    w $* υΩϡϝϯτͳͲ։ൃ؀ڥͷ੔උɺॆ࣮
    $POT
    w ΍ͬͺΓେม ଟ͘ͷJTTVFͱ෯޿͍ػೳɺߴ͍඼࣭ཁٻ

    w ৽ͨͳࣄΛ΍Δͷ͕େม &14 /(ͷ࠳ં

    View full-size slide

  32. ͜Ε͔Β͸
    w ීٴظΛա͗ͯ੒ख़ظʹֻ͔ࠩͬͨ͠ͷͰ͸ͳ͍͔ʁ
    w -54ͷ҆ఆ౓͸࣮ূ͞Εͨɻ͜Ε·ͰҎ্ʹ04΍Ϋϥ΢υ
    αʔϏεͷඪ४ͱͯ͠ѻΘΕΔͩΖ͏ɻ
    w Ͱ΋΍Δ͜ͱ΍՝୊͸·ͩ·ͩ࢒͍ͬͯΔɻ&4΍7ͷਐԽ
    ΋Ҿ͖ଓ͖ଓ͘ɻ
    w /PEFͱ͸ผʹֵ৽తͳ͜ͱΛԿ͔͍ͨ͠ػӡ͕ߴ·Δ͔΋ɻ

    View full-size slide