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

Kotlinを研究する

doyaaaaaken
November 06, 2021

 Kotlinを研究する

『Kotlinを研究する』(※ JJUG FALL 2021で発表)

Abstract:
KotlinはJVMで動作する静的型付けのオブジェクト指向プログラミング言語です。
モダンな記法が使えることや、Java/Scala等のJVM言語の文法と類似性が高く学習コストが低いことから、サーバーサイド・Androidを中心とした開発において利用される機会が増えています。

発表では『Kotlinはどんな言語で何を目指しているのか』について考察したいと思います。
客観的な事実や公表されているデータを元にKotlinについて読み解いていきます。
発表の特徴としては、可能な限り客観的な情報による分析を行うことで極力偏らない内容になっており、それに補足する形でKotlinを4年程使ってきた登壇者個人の主観的見解も交えていきます。

<目次>

公式ドキュメントから読み解くKotlin
歴史から読み解くKotlin
サーベイから読み解くKotlin
言語仕様から読み解くKotlin
標準ライブラリから読み解くKotlin
実装パターンから読み解くKotlin
公式声明から読み解く今後のKotlin
<発表の目標>
・Kotlinを使ったことがない人に、興味深い知識や技術選定のための検討材料を提供する
・Kotlinをすでに使っている人に、言語思想などに関する理解を深めてもらう

doyaaaaaken

November 06, 2021
Tweet

More Decks by doyaaaaaken

Other Decks in Programming

Transcript

  1. !++6($$$'BMM
    খࢁ݈ଠ ,PZBNB,FOUB
    !EPZBBBBBLFO
    ,PUMJOΛݚڀ͢Δ

    View Slide

  2. ࣗݾ঺հ
    w ࢓ࣄ
    w גࣜձࣾTNBSUSPVOE$50૑ۀϝϯόʔ
    w αʔόαΠυ,PUMJOʢ,UPSʣɾ7VF+4Λࠓ͸Α͘ॻ͍͍ͯ·͢
    w ,PUMJOྺ͸લ৬ࠐΈͰ೥͘Β͍
    w 044׆ಈ
    w LPUMJODTWͷ࡞ऀʢ⭐PWFSʣ
    w ,UPSɾ&YQPTFEɾLPUFTU౳΁ͷίϯτϦϏϡʔτ

    @doyaaaaaken

    View Slide

  3. ൃද಺༰
    w ಺༰
    w ʰ,PUMJO͸ͲΜͳݴޠͰԿΛ໨ࢦ͍ͯ͠Δͷ͔ʱʹ͍ͭͯߟ࡯͢Δ
    w ͳΔ΂͘٬؍త৘ใΛݩʹ෼ੳ͢Δ͜ͱͰެฏͳߟ࡯಺༰ʹ
    w ໨ඪ
    w ,PUMJOΛ࢖ͬͨ͜ͱ͕ͳ͍ਓʹɺڵຯਂ͍஌ࣝ΍ٕज़બఆͷͨΊͷݕ౼ࡐྉΛఏڙ͢Δ
    w ,PUMJOΛ͢Ͱʹ࢖͍ͬͯΔਓʹɺݴޠࢥ૝ͳͲʹؔ͢ΔཧղΛਂΊͯ΋Β͏

    View Slide

  4. ໨࣍
    ެࣜυΩϡϝϯτ͔ΒಡΈղ͘,PUMJO
    ྺ࢙͔ΒಡΈղ͘,PUMJO
    αʔϕΠ͔ΒಡΈղ͘,PUMJO
    ݴޠ࢓༷͔ΒಡΈղ͘,PUMJO
    ඪ४ϥΠϒϥϦ͔ΒಡΈղ͘,PUMJO
    ࣮૷ύλʔϯ͔ΒಡΈղ͘,PUMJO
    ެࣜ੠໌͔ΒಡΈղ͘ࠓޙͷ,PUMJO

    View Slide

  5. ެࣜυΩϡϝϯτ͔ΒಡΈղ͘
    ,PUMJO

    View Slide

  6. ·ͣ͸ެࣜυΩϡϝϯτͷ৘ใΛݩʹ
    ,PUMJOͱ͸Կ͔ʁ
    ֓ཁΛ஌ͬͯ΋Β͍͍ͨͱࢥ͍·͢

    View Slide

  7. ,PUMJOͷಛ௃
    ެࣜυΩϡϝϯτʹهࡌ͞Ε͍ͯΔಛ௃
    w +FU#SBJOTʹΑΓ։ൃ͞Εͨ੩తܕ෇͚ݴޠ
    w ΦϒδΣΫτࢦ޲ɾؔ਺ܕͲͪΒͰ΋ॻ͚Δ
    w +7.ɾ"OESPJEɾ+BWB4DSJQUɾ/BUJWF౳༷ʑͳϓϥοτϑΥʔϜ޲͚ʹ։ൃՄೳ
    w +BWBͱ૬ޓӡ༻Մʢʹ+BWBɾ,PUMJOΛಉҰϓϩδΣΫτʹࠞͥΒΕΔʣ
    w +BWB͔Β,PUMJOɺ,PUMJO͔Β+BWBͷݺͼग़͕͠γʔϜϨεʹՄೳ
    w +BWBϥΠϒϥϦ͕ར༻Ͱ͖Δ
    w +BWBίʔυΛ,PUMJOʹࣗಈม׵͢ΔػೳΛ*%&Ͱఏڙ
    w 044Ͱ͋Γίʔυ͸(JUIVCͰ؅ཧɻ-JDFOTF͸"QBDIFɻ

    IUUQTLPUMJOMBOHPSHEPDTGBRIUNM

    View Slide

  8. +BWBͱൺֱͨ͠༏Ґੑ
    ެࣜυΩϡϝϯτʹهࡌ͞Ε͍ͯΔ༏Ґੑ
    w ίʔυྔΛ໿ఔ࡟ݮ
    w ܕαϙʔτͷॆ࣮
    w ಛʹ/VMMɾ/PU/VMMΛ۠ผ͢Δ͜ͱʹΑΓɺ/1&ΛճආͰ͖Δ͜ͱ͕ͭͷେ͖ͳ఺
    w ϦονͳදݱྗΛ࣮ݱ͢Δ௥Ճػೳ܈
    w ྫɿTNBSUDBTUɾߴ֊ؔ਺ɾ֦ுؔ਺
    w %4-Λ࡞ΕͨΓɺؔ਺ܕϓϩάϥϛϯά͕Ͱ͖ͨΓͱ+BWBΑΓ΋ࣗ༝౓͕ߴ͍

    IUUQTLPUMJOMBOHPSHEPDTGBRIUNMXIBUBEWBOUBHFTEPFTLPUMJOHJWFNFPWFSUIFKBWBQSPHSBNNJOHMBOHVBHF

    View Slide

  9. (FU4UBSUFEͷϖʔδΛಡΈղ͘
    (FU4UBSUFEͷϖʔδͷ๯಄ʹ,PUMJOͷಛ௃͕؆ܿʹॻ͔Ε͍ͯΔ
    w Ϟμϯ͕ͩ੒ख़͍ͯ͠Δ
    w ؆ܿʹॻ͚Δ
    w ҆શ
    w +BWBͱ૬ޓӡ༻Մೳ
    w .VMUJQMBUGPSN
    ʢ༷ʑͳϓϥοτϑΥʔϜʹର͠
    ։ൃˍίʔυ࠶ར༻Մೳʣ

    IUUQTLPUMJOMBOHPSHEPDTHFUUJOHTUBSUFEIUNM

    View Slide

  10. ଞݴޠ͔ΒͷӨڹ
    ެࣜυΩϡϝϯτʹΑΔͱ
    +BWBɾ$ɾ+BWB4DSJQUɾ4DBMBɾ(SPPWZͳͲ͔ΒӨڹΛ͏͚͍ͯΔ
    ˞ొஃऀݸਓʢݩ4DBMBΤϯδχΞʣͷܦݧͱͯ͠͸,PUMJO͸4DBMBͱࣅ͍ͯΔ෦෼͕ଟ͘
    4DBMB͔ΒͷҠߦίετ͸͔ͳΓ௿͍Ͱ͢ʢिؒఔ౓ͰΩϟονΞοϓͰ͖ͨʣ

    IUUQTLPUMJOMBOHPSHEPDTGBRIUNMJTLPUMJOIBSE

    View Slide

  11. ྺ࢙͔ΒಡΈղ͘,PUMJO

    View Slide

  12. എܠ஌ࣝͱͯ͠
    ྺ࢙΍ݱࡏͷීٴঢ়گʹ͍ͭͯ
    ஌ͬͯ΋Β͍͍ͨͱࢥ͍·͢

    View Slide

  13. ,PUMJOͷྺ࢙

    IUUQTCMPHKFUCSBJOTDPNLPUMJOIFMMPXPSME
    IUUQTBEUNBHDPNBSUJDMFTLPUMJOHPFTPQFOTPVSDFBTQY
    IUUQTTQSJOHJPCMPHEFWFMPQJOHTQSJOHCPPUBQQMJDBUJPOTXJUILPUMJO
    IUUQTCMPHKFUCSBJOTDPNLPUMJOLPUMJOPOBOESPJEOPXP⒏DJBM
    IUUQTUFDIDSVODIDPNLPUMJOJTOPXHPPHMFTQSFGFSSFEMBOHVBHFGPSBOESPJEBQQEFWFMPQNFOU
    IUUQTHJUIVCDPN+FU#SBJOTLPUMJOSFMFBTFT
    +FU#SBJOT͕ࣾ,PUMJOͷ։ൃϓϩ
    δΣΫτʹ͍ͭͯެද


    ,PUMJO͕044ͱͯ͠ެ։
    ,PUMJOWϦϦʔε
    4QSJOH#PPU͕,PUMJOΛ
    αϙʔτ։࢝

    (PPHMF*0ʹͯ(PPHMF͕
    "OESPJE։ൃʹͯ
    ,PUMJOΛެࣜʹαϙʔτ
    ͢Δ͜ͱΛൃද
    (PPHMF͕"OESPJE։ൃʹ͓͍ͯ
    ,PUMJOΛୈҰݴޠͱͯ͠ਪ঑͢ΔࢫΛൃද
    W͕ग़͔ͯΒ·ͩ೥଍Βͣͷए͍ݴޠ
    ,PUMJOW
    ϦϦʔε

    View Slide

  14. సػ
    "OESPJEͷ։ൃݴޠʹਪ঑͞Εͨ͜ͱ͸ͭͷେ͖ͳసػʹ
    w ཧ༝͸αʔϕΠͷηΫγϣϯͰ
    ޙड़͠·͢
    w ,PUMJO'PVOEBUJPO͕
    +FU#SBJOTɾ(PPHMFͰڞಉઃཱ͞Ε
    αϙʔτମ੍ʹ҆৺ײ΋

    IUUQTEFWFMPQFSBOESPJEDPNLPUMJOpSTU IMKB
    IUUQTLPUMJOMBOHPSHEPDTLPUMJOGPVOEBUJPOIUNM

    View Slide

  15. "OESPJEͰͷ,PUMJO࠾༻ࣄྫ
    "OESPJE։ൃͰ͸طʹࢧ഑తͳ஍ҐΛཱ֬
    "OESPJEެࣜυΩϡϝϯτʹΑΔͱ
    ্Ґ ݅ͷ"OESPJEΞϓϦͷҎ্ʹ,PUMJOίʔυؚ͕·Ε͍ͯΔ

    IUUQTEFWFMPQFSBOESPJEDPNLPUMJOTUPSJFT IMKB

    View Slide

  16. αʔόαΠυͰͷ,PUMJO࠾༻ࣄྫ
    ࠃ಺اۀͰͷ࠾༻ࣄྫ
    w αΠόʔΤʔδΣϯτɾ-*/&ɾ:BIPPɾϏζϦʔνɾ%..ɾ4BO4BOɾ1BZ1BZɾ
    ΤϜεϦʔɾΫϥ΢υϫʔΫεɾ೔ຊܦࡁ৽ฉࣾʜFUD
    w /FXTQJDLTͰ͸೥݄ʹαʔόαΠυͷओཁݴޠΛ,PUMJOʹมߋ
    w εϚʔτϥ΢ϯυͰ΋೥͔Βར༻

    IUUQTRJJUBDPNQUJSJOHPJUFNTEEBCGDPNNFOUBFFDDDGBFE
    IUUQTUFDIV[BCBTFDPNFOUSZ
    IUUQTEPDTHPPHMFDPNQSFTFOUBUJPOEG&9S0)L9IKX.8S$*MGNT4$P6MZ'"R-@3*DFEJUTMJEFJEHEGE@@

    View Slide

  17. αʔϕΠ͔ΒಡΈղ͘,PUMJO

    View Slide

  18. αʔϕΠͷ݁ՌΛݩʹ
    ,PUMJOͷओͳར༻༻్΍ਓؾ͕ग़ͨసػʹ͍ͭͯ
    ஌ͬͯ΋Β͍͍ͨͱࢥ͍·͢

    View Slide

  19. αʔϕΠɿ,PUMJO$FOTVT
    w αʔϕΠ֓ཁ
    w ೥ॳʹ+FU#SBJOT͕࣮ࢪ
    w ໊͕ճ౴
    w Χࠃͷਓ͕ؒճ౴
    w ׂ͕ࡀ
    w ,PUMJOΛϝΠϯݴޠͱͯ͠
    ར༻͍ͯ͠Δਓ͸
    ʢ+BWB͕ϝΠϯݴޠͷਓ͸ʣ
    w ͕,PUMJOܦݧ೥ະຬ
    ͕,PUMJOܦݧd೥
    ͕,PUMJOܦݧd೥

    IUUQTXXXKFUCSBJOTDPNMQLPUMJODFOTVT

    View Slide

  20. ར༻έʔε
    ϞόΠϧ։ൃɾαʔόαΠυ։ൃͰͷར༻͕ϝΠϯ

    l8IBUEPSFTQPOEFOUTEFWFMPQJO,PUMJO zIUUQTXXXKFUCSBJOTDPNMQLPUMJODFOTVT
    ,PUMJOͰԿΛ։ൃ͍ͯ͠Δ͔ʁʢ˞্ҐҐ·ͰΛൈਮʣ




    .PCJMF 8FC#BDLFOE -JCSBSZPS
    GSBNFXPSL
    5PPMJOH %FTLUPQ 4ZTUFNT
    QSPHSBNNJOH
    8FC'SPOUFOE


    View Slide

  21. λʔήοτϓϥοτϑΥʔϜ
    "OESPJEɾ+7.4FSWFS͕ϝΠϯ

    l1MBUGPSNTUBSHFUFEXJUI,PUMJOzIUUQTXXXKFUCSBJOTDPNMQLPUMJODFOTVT
    ର৅ͱ͢ΔϓϥοτϑΥʔϜ




    ,PUMJO"OESPJE ,PUMJO+7.4FSWFS ,PUMJO+7.0UIFS ,PUMJO/BUJWF ,PUMJO+4


    View Slide

  22. *OTQJSBUJPOUPUSZ,PUMJOʢ˞্ҐҐ·ͰΛൈਮʣ




    /VMM4BGFUZ .PEFSO
    +BWB
    3FQMBDFNFOU
    +BWB
    *OUFSQPSBCJMJUZ
    -FTT
    $PEF
    /FFEFE
    'VODUJPOBM
    1SPHSBNNJOH
    4UZMF
    (PPHMF
    SFDPNNFOET
    JUGPS"OESPJE
    &BTFPG
    MFBSOJOH
    0QFO
    TPVSDF
    $PSPVUJOFT %4-
    ,PUMJOΛࢼͨ͠ཧ༝
    +BWB͔ΒͷҠߦϝϦοτͱ(PPHMFͷਪ঑͕ཧ༝Ͱ,PUMJOΛࢼ͢ਓ͕ଟ͍

    l*OTQJSBUJPOUPUSZ,PUMJOzIUUQTXXXKFUCSBJOTDPNMQLPUMJODFOTVT

    View Slide

  23. αʔϕΠ5IF4UBUFPG%FWFMPQFS&DPTZTUFN
    w αʔϕΠ֓ཁ
    w ೥ʹ+FU#SBJOT͕࣮ࢪ
    w ໊͕ճ౴
    w Χࠃͷਓ͕ؒճ౴
    w ։ൃऀͷ؀ڥʹؔ͢ΔαʔϕΠ
    w ຖ೥ߦ͍ͬͯΔαʔϕΠ೥෼ͷूܭ

    IUUQTXXXKFUCSBJOTDPNMQEFWFDPTZTUFN

    View Slide

  24. ओཁϓϩάϥϛϯάݴޠͷར༻౓߹͍ͷ೥ਪҠ
    ೥ʹ"OESPJE։ൃݴޠͱͯ͠αϙʔτ͞Εͨͷ͕సػ

    l8IBUQSPHSBNNJOHMBOHVBHFTIBWFZPVVTFEJOUIFMBTUNPOUIT zIUUQTXXXKFUCSBJOTDPNMQEFWFDPTZTUFN
    ௚ۙ೥ʹར༻ͨ͠ϓϩάϥϛϯάݴޠ







    ೥౓






    +BWB 1)1 (P ,PUMJO 3VCZ 4DBMB

    View Slide

  25. ͦͷଞௐࠪɿ(PPHMF5SFOET
    ೥ʹ"OESPJE։ൃݴޠͱͯ͠αϙʔτ͞Εͨͷ͕సػ

    IUUQTUSFOETHPPHMFDPNUSFOETFYQMPSF EBUFUPEBZZR'N'@MDSY
    ˞͢΂ͯͷࠃͰաڈ೥ؒͰz,PUMJOzͱ͍͏ϓϩάϥϛϯάݴޠʹ͍ͭͯݕࡧͨ݁͠Ռͷਓؾ౓ਪҠ

    View Slide

  26. ݴޠ࢓༷͔ΒಡΈղ͘,PUMJO

    View Slide

  27. ,PUMJOͷࢥ૝
    1SBHNBUJDʢ࣮༻తʣͳݴޠΛ໨ࢦͯ͠࡞ΒΕͨ
    l*G*XFSFUPDIPPTFPOFXPSEUPEFTDSJCF
    ,PUMJO`TEFTJHO JUXPVMECFQSBHNBUJTNz
    ʰ,PUMJOͷઃܭΛҰݴͰݴ͏ͳΒ࣮༻ओٛͩʱ

    IUUQTCMPHKFUCSBJOTDPNLPUMJOLPUMJOSFMFBTFEQSBHNBUJDMBOHVBHFGPSKWNBOEBOESPJE
    ˞,PUMJOWϦϦʔε੠໌ΑΓൈਮ

    View Slide

  28. 1SBHNBUJDʢ࣮༻తʣͱ͸
    %9ʢ։ൃऀମݧʣΛඇৗʹॏࢹ͍ͯ͠Δ
    WϦϦʔε੠໌಺Ͱͷ1SBHNBUJDͷઆ໌
    w ,PUMJO͕৽͘͠ൃ໌ͨ͠ػೳɾ֓೦͸͔ᷮ͘͝
    w FMFHBODFͳ͜ͱ͸େࣄ͕ͩɺVTFGVMͳ͜ͱ͕Ұ൪ͷ໨ඪ
    w ؆ܿͰ҆શͳίʔυ͕ॻ͚Δ
    w طଘͷίʔυ΍πʔϧͱͷޓ׵ੑΛඇৗʹॏཁࢹ͍ͯ͠Δ
    w ྫʣطଘͷ+BWBίʔυͱࠞͥΒΕΔɺ(SBEMFɾ.BWFO͕࢖͑Δ
    w ݴޠ͚ͩͰͳ͘։ൃ؀ڥ΋ಉ࣌ʹॏཁ
    w ྫʣ*%&ʹΑΔαϙʔτʢิ׬ɾܯࠂɾࣗಈϦϑΝΫλʣ͕ॆ࣮͍ͯ͠Δ

    IUUQTCMPHKFUCSBJOTDPNLPUMJOLPUMJOSFMFBTFEQSBHNBUJDMBOHVBHFGPSKWNBOEBOESPJE

    View Slide

  29. ࣮ࡍͷݴޠ࢓༷Λݟͯ
    ࣮༻ੑॏࢹͳ఺Λײ͡औͬͯ
    ͍͚ͨͩΕ͹ͱࢥ͍·͢

    View Slide

  30. *NNVUBCMFʢෆมʣม਺
    *NNVUBCMFͳม਺ར༻͕جຊʢ.VUBCMFͩͱϝϯςφϯεੑ͕௿͍ͨΊʣ

    View Slide

  31. $MBTT
    ؆ܿͳίʔυͰఆٛՄೳ

    View Slide

  32. %BUB$MBTT
    ୯ͳΔσʔλͷശͱͯ͠ΫϥεΛར༻͍ͨ͠ͱ͖ʹ͸EBUBDMBTTΛ࢖͏
    ʢFRVBMT
    UP4USJOH
    DPQZ
    ͳͲͷؔ਺͕σϑΥϧτͰར༻Մೳʣ

    View Slide

  33. σϑΥϧτͰ͸ΫϥεܧঝෆՄ
    PQFOԋࢉࢠΛ͚ͭͳ͍ͱΫϥεܧঝͰ͖ͳ͍
    ʢܧঝ͸มߋ༰қੑ͕௿͘ͳΓଟ༻͢΂͖΋ͷͰ͸ͳ͍ͨΊʣ

    View Slide

  34. ؔ਺ఆٛͷॊೈੑ
    ؔ਺͸τοϓϨϕϧ΁ͷఆٛ΍ωετͨ͠ఆ͕ٛՄೳ

    View Slide

  35. &YUFOTJPOGVODUJPOTʢ֦ுؔ਺ʣ
    ೚ҙͷΫϥεɾΦϒδΣΫτʹର͠޷͖ͳؔ਺Λੜ΍͢͜ͱ͕Ͱ͖Δػೳ

    View Slide

  36. /VMM4BGFUZ
    OVMMʹͳΓ͏Δม਺͸ܕ໊຤ඌʹ Λ͚ͭͯOVMMBCMFͳܕͱͯ͠දݱՄೳ
    ʢ/VMM1PJOUFS&YDFQUJPOΛ࡟ݮͰ͖Δʣ

    View Slide

  37. )JHIPSEFSGVODUJPOʢߴ֊ؔ਺ʣͱ-BNCEB
    ؆ܿʹॻ͚ΔͨΊޙड़͢Δ%4-ͷΑ͏ͳॊೈͳදݱΛ࣮ݱՄೳ

    View Slide

  38. ඪ४ϥΠϒϥϦ͔ΒಡΈղ͘
    ,PUMJO

    View Slide

  39. ඪ४ϥΠϒϥϦΛ࢖࣮ͬͨࡍͷίʔυΛݟͯ
    ࣮༻ੑॏࢹͳ఺Λײ͡औͬͯ
    ͍͚ͨͩΕ͹ͱࢥ͍·͢

    View Slide

  40. +BWBඪ४ϥΠϒϥϦͱͷྨࣅੑ
    ,PUMJOඪ४ϥΠϒϥϦͱͯ͠ચ࿅͞Εͨ"1*Ͱؔ਺Λఏڙͭͭ͠
    +BWBͷඪ४ϥΠϒϥϦͱಉ໊͡લʹͨ͠Γ಺෦తʹར༻͢Δέʔε͕ଟ͍

    View Slide

  41. $PMMFDUJPOʢʣ
    $PMMFDUJPO΋+BWBಉ༷-JTU 4FU .BQ͕͋ΔʢσϑΥϧτ͸*NNVUBCMFʣ

    IUUQTLPUMJOMBOHPSHEPDTDPMMFDUJPOTPWFSWJFXIUNMDPMMFDUJPOUZQFT
    ˞ਤ͸ެࣜυΩϡϝϯτΑΓൈਮ

    View Slide

  42. $PMMFDUJPOʢʣ
    -JTU 4FU .BQͷϑΝΫτϦϝιου͕άϩʔόϧؔ਺ͱͯ͠ར༻Մೳ

    View Slide

  43. $PMMFDUJPOʢʣ
    $PMMFDUJPOૢ࡞ʹؔΘΔؔ਺܈΋༷ʑͳ΋ͷ͕ఆٛ͞Ε͍ͯΔ

    View Slide

  44. ྫ֎Ͱ͸ͳ͘OVMMΛฦ͢"1*σβΠϯʢʣ
    0S/VMMͱ͍͏QPTUpY͕ͭ͘ϝιου͕ඇৗʹଟ͍

    View Slide

  45. ྫ֎Ͱ͸ͳ͘OVMMΛฦ͢"1*σβΠϯʢʣ
    3PNBO&MJ[BSPWʢ,PUMJOϥΠϒϥϦͷνʔϜϦʔυ!+FU#SBJOTʣ͞ΜʹΑΔͱ
    ,PUMJOΒ͍͠"1*σβΠϯ͸ྫ֎Ͱ͸ͳ͘OVMM΍ઐ༻ܕΛฦ͢΋ͷ
    w +BWBʹ͸ݕࠪྫ֎ͱ͍͏࢓૊Έ͕͕͋ͬͨɺྫ֎νΣοΫͷͨΊͷϘΠϥʔϓϨʔτ
    ίʔυ͕૿͑ΔͨΊɺ,PUMJOͰ͸࢖͑ͳ͍Α͏ʹͨ͠
    w ྫ֎ࣗମ͸,PUMJOͰ࢖͑Δ͕ɺྫ֎͸༧ظͤ͵໰୊ൃੜ࣌ͷΈʹ౤͛ΔΑ͏ʹ͠ɺ
    ͳΔ΂్͘தͰ͸ΩϟονͤͣτοϓϨϕϧͰΩϟον͢ΔΑ͏ʹ͢Δ
    w ૝ఆ͍ͯ͠Δҟৗܥॲཧ͸OVMM΍ઐ༻ͷܕʹΑΓදݱ͢Δ
    ʢྫɿʰUP*OU
    ͠Α͏ͱ͕ͨ͠਺஋จࣈྻͰ͸ͳ͍ͷͰ਺஋ʹͰ͖ͳ͍ʱέʔε͸
    ɹɹɹ༰қʹ૝ఆՄೳʣ
    ˞ৄࡉ͸2JJUBهࣄʹ΋·ͱΊ͍ͯ·͢
    ʰ,PUMJOΒ͍͠"1*σβΠϯʹ͢Δʹ͸ྫ֎Ͱ͸ͳ͘OVMMΛฦ͢ʱ

    IUUQTFMJ[BSPWNFEJVNDPNLPUMJOBOEFYDFQUJPOTGE
    IUUQTRJJUBDPNEPZBBBBBLFOJUFNTDFDGFC

    View Slide

  46. ࣮૷ύλʔϯ͔ΒಡΈղ͘
    ,PUMJO

    View Slide

  47. Α͋͘Δ࣮૷ύλʔϯΛ
    ؆ܿͳίʔυͰॻ͚Δ͜ͱΛ
    ײ͍͚ͯͨͩ͡Ε͹ͱࢥ͍·͢

    View Slide

  48. Ϗϧμʔύλʔϯ
    ໊લ෇͖Ҿ਺ɾσϑΥϧτҾ਺Ͱ࣮ݱՄೳʢϏϧμʔΫϥε͸ෆཁʣ

    View Slide

  49. ஗ԆධՁม਺
    ඪ४ϥΠϒϥϦͰαϙʔτ͞Ε͍ͯΔʢҕৡϓϩύςΟͱ͍͏ػೳΛར༻ʣ

    View Slide

  50. %4-ʢυϝΠϯݻ༗ݴޠʣ
    ߴ֊ؔ਺Λ׆༻͢Δ͜ͱͰ%4-Λ࡞Δ͜ͱ΋Ͱ͖·͢

    IUUQTRJJUBDPNEPZBBBBBLFOJUFNTFBGDF
    ˞࣮૷ํ๏ͷৄࡉ͸2JJUBهࣄʹ΋·ͱΊ͍ͯ·͢
    ʰ,PUMJOͰωετߏ଄ͷ%4-Λ࣮૷͢Δํ๏ʱ

    View Slide

  51. Ϋϥεҕৡ
    ؆ܿͳίʔυͰ%FMFHBUJPOύλʔϯΛ࣮૷ՄೳʢzܧঝΑΓҕৡzͷݪཧʣ

    IUUQTRJJUBDPNEPZBBBBBLFOJUFNT⒎GBEECCF
    ˞࣮૷ํ๏ͷৄࡉ͸2JJUBهࣄʹ΋·ͱΊ͍ͯ·͢
    ʰ,PUMJOͷΫϥεҕৡͷ࢖͍ॴʱ

    View Slide

  52. ެࣜ੠໌͔ΒಡΈղ͘ࠓޙͷ
    ,PUMJO

    View Slide

  53. ϩʔυϚοϓ
    ެ։ϩʔυϚοϓʹΑΔͱ೥݄࣌఺Ͱͷ஫ྗ෼໺͸ҎԼͷͱ͓Γ
    w ,PUMJOίϯύΠϥͷॻ͖௚͠
    w ,PUMJO*%&ͷύϑΥʔϚϯεɾ҆ఆੑͷ޲্
    w +7.αʔόαΠυͰͷϢʔεέʔεʹ͍ͭͯͷαϙʔτ֦ॆ
    w .VMUJQMBUGPSN.PCJMF΁ͷαϙʔτڧԽ
    㱺ݴޠͱͯ͠͸͢ͰʹNBUVSFͳͷͰݴޠ࢓༷Ϩϕϧͷ৽ػೳ͸΄΅ແ͠
    ˞ݸਓͱͯ͠Wͷࠒ͔ΒϦϦʔε಺༰Λݟ͖͍ͯͯΔ਎ͱͯ͠΋ͣͬͱ͜͏͍ͬͨํ޲ੑͰਐΜͰ͍Δײ֮

    IUUQTLPUMJOMBOHPSHEPDTSPBENBQIUNMLFZQSJPSJUJFT

    View Slide

  54. ίϯύΠϥͷॻ͖௚͠ʢCBDLFOEʣ
    ίϯύΠϥCBDLFOEʢλʔήοτϓϥοτϑΥʔϜݻ༗ίʔυੜ੒෦෼ʣΛ
    ,PUMJO։ൃࣗମͷੜ࢈ੑͷͨΊશϓϥοτϑΥʔϜͰҰ෦ڞ௨Խ

    IUUQTCMPHKFUCSBJOTDPNLPUMJOUIFSPBEUPUIFLDPNQJMFS
    ˞+7.*3CBDLFOE͸WͰ4UBCMFࡁΈɻ+4*3CBDLFOE͸WͰ4UBCMFʹɻ

    View Slide

  55. ίϯύΠϥͷॻ͖௚͠ʢGSPOUFOEʣ
    ίϯύΠϥGSPOUFOEʢιʔείʔυͷߏจղੳ෦෼ʣΛ
    ίϯύΠϥɾ*%&ͷߴ଎ԽͷͨΊॻ͖௚͍ͯ͠Δ

    IUUQTCMPHKFUCSBJOTDPNLPUMJOUIFSPBEUPUIFLDPNQJMFS
    ˞ਤ͸৽͍͠GSPOUFOE͕ੜ੒͢Δߏจ໦ྫ

    View Slide

  56. .VMUJQMBUGPSN
    ݱࡏ͸"MQIBόʔδϣϯͰɺʹ#FUBόʔδϣϯϦϦʔε༧ఆ
    Wͷࠒʢ˞W͸೥݄ϦϦʔεʣ͔Βগͣͭ͠ػೳ௥Ճ͞Ε͍ͯ·͢

    IUUQTCMPHKFUCSBJOTDPNLPUMJOLNNCFUBSPBENBQWJEFPIJHIMJHIUT
    IUUQTLPUMJOMBOHPSHEPDTNVMUJQMBUGPSNIUNM
    ˞֓೦ਤ ˞ϓϥοτϑΥʔϜ͝ͱͷίʔυϞδϡʔϧ෼ׂྫ

    View Slide

  57. ࢲతͳݟղ
    ,PUMJOϓϩδΣΫτ͸ࠓޙҎԼͷͭͷํ޲ੑʹਐΉ
    ΑΓ1SBHNBUJDʢ࣮༻తʣͳݴޠʹ͢Δ΂͘։ൃऀମݧΛશํҐతʹ޲্ͤ͞Δ
    w *%&ʹΑΔ։ൃαϙʔτྗΛվળ
    w ίϯύΠϥͷ҆ఆੑɾ଎౓վળ
    w ৽نֶशऀ͕༰қʹΩϟονΞοϓͰ͖Δ࢓૊Έɾίϯςϯπ࡞੒ʢ˞,UPS͸೥લ͔Βͦ͏͍͏ํ޲ੑʣ
    .VMUJQMBUGPSNػೳΛڧԽ͢Δ͜ͱͰ"OESPJEɾαʔόαΠυ͚ͩͰͳ͘
    J04ɾ%FTLUPQɾ8FCϑϩϯτΤϯυɾ૊ΈࠐΈ౳
    ผϓϥοτϑΥʔϜͰ΋ίʔυ࠶ར༻Մೳʹ͢Δ

    IUUQTCMPHKFUCSBJOTDPNLUPSLUPSSPBENBQGPS

    View Slide


  58. ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠
    @doyaaaaaken

    View Slide