Save 37% off PRO during our Black Friday Sale! »

Kotlinを研究する

Ee398a67f5017cc2ad5c02d67d10e516?s=47 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をすでに使っている人に、言語思想などに関する理解を深めてもらう

Ee398a67f5017cc2ad5c02d67d10e516?s=128

doyaaaaaken

November 06, 2021
Tweet

Transcript

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

  2. ࣗݾ঺հ w ࢓ࣄ w גࣜձࣾTNBSUSPVOE$50૑ۀϝϯόʔ w αʔόαΠυ,PUMJOʢ,UPSʣɾ7VF+4Λࠓ͸Α͘ॻ͍͍ͯ·͢ w ,PUMJOྺ͸લ৬ࠐΈͰ೥͘Β͍ w

    044׆ಈ w LPUMJODTWͷ࡞ऀʢ⭐PWFSʣ w ,UPSɾ&YQPTFEɾLPUFTU౳΁ͷίϯτϦϏϡʔτ  @doyaaaaaken
  3. ൃද಺༰ w ಺༰ w ʰ,PUMJO͸ͲΜͳݴޠͰԿΛ໨ࢦ͍ͯ͠Δͷ͔ʱʹ͍ͭͯߟ࡯͢Δ w ͳΔ΂͘٬؍త৘ใΛݩʹ෼ੳ͢Δ͜ͱͰެฏͳߟ࡯಺༰ʹ w ໨ඪ w

    ,PUMJOΛ࢖ͬͨ͜ͱ͕ͳ͍ਓʹɺڵຯਂ͍஌ࣝ΍ٕज़બఆͷͨΊͷݕ౼ࡐྉΛఏڙ͢Δ w ,PUMJOΛ͢Ͱʹ࢖͍ͬͯΔਓʹɺݴޠࢥ૝ͳͲʹؔ͢ΔཧղΛਂΊͯ΋Β͏ 
  4. ໨࣍  ެࣜυΩϡϝϯτ͔ΒಡΈղ͘,PUMJO  ྺ࢙͔ΒಡΈղ͘,PUMJO  αʔϕΠ͔ΒಡΈղ͘,PUMJO  ݴޠ࢓༷͔ΒಡΈղ͘,PUMJO 

    ඪ४ϥΠϒϥϦ͔ΒಡΈղ͘,PUMJO  ࣮૷ύλʔϯ͔ΒಡΈղ͘,PUMJO  ެࣜ੠໌͔ΒಡΈղ͘ࠓޙͷ,PUMJO 
  5. ެࣜυΩϡϝϯτ͔ΒಡΈղ͘ ,PUMJO 

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

  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
  8. +BWBͱൺֱͨ͠༏Ґੑ ެࣜυΩϡϝϯτʹهࡌ͞Ε͍ͯΔ༏Ґੑ w ίʔυྔΛ໿ఔ࡟ݮ w ܕαϙʔτͷॆ࣮ w ಛʹ/VMMɾ/PU/VMMΛ۠ผ͢Δ͜ͱʹΑΓɺ/1&ΛճආͰ͖Δ͜ͱ͕ͭͷେ͖ͳ఺ w ϦονͳදݱྗΛ࣮ݱ͢Δ௥Ճػೳ܈

    w ྫɿTNBSUDBTUɾߴ֊ؔ਺ɾ֦ுؔ਺ w %4-Λ࡞ΕͨΓɺؔ਺ܕϓϩάϥϛϯά͕Ͱ͖ͨΓͱ+BWBΑΓ΋ࣗ༝౓͕ߴ͍  IUUQTLPUMJOMBOHPSHEPDTGBRIUNMXIBUBEWBOUBHFTEPFTLPUMJOHJWFNFPWFSUIFKBWBQSPHSBNNJOHMBOHVBHF
  9. (FU4UBSUFEͷϖʔδΛಡΈղ͘ (FU4UBSUFEͷϖʔδͷ๯಄ʹ,PUMJOͷಛ௃͕؆ܿʹॻ͔Ε͍ͯΔ w Ϟμϯ͕ͩ੒ख़͍ͯ͠Δ w ؆ܿʹॻ͚Δ w ҆શ w +BWBͱ૬ޓӡ༻Մೳ

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

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

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

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

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

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

     IUUQTRJJUBDPNQUJSJOHPJUFNTEEBCGDPNNFOUBFFDDDGBFE  IUUQTUFDIV[BCBTFDPNFOUSZ  IUUQTEPDTHPPHMFDPNQSFTFOUBUJPOEG&9S0)L9IKX.8S$*MGNT4$P6MZ'"R-@3*DFEJUTMJEFJEHEGE@@
  17. αʔϕΠ͔ΒಡΈղ͘,PUMJO 

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

  19. αʔϕΠɿ,PUMJO$FOTVT w αʔϕΠ֓ཁ w ೥ॳʹ+FU#SBJOT͕࣮ࢪ w  ໊͕ճ౴ w Χࠃͷਓ͕ؒճ౴

    w ׂ͕ࡀ w ,PUMJOΛϝΠϯݴޠͱͯ͠ ར༻͍ͯ͠Δਓ͸ ʢ+BWB͕ϝΠϯݴޠͷਓ͸ʣ w ͕,PUMJOܦݧ೥ະຬ ͕,PUMJOܦݧd೥ ͕,PUMJOܦݧd೥   IUUQTXXXKFUCSBJOTDPNMQLPUMJODFOTVT
  20. ར༻έʔε ϞόΠϧ։ൃɾαʔόαΠυ։ൃͰͷར༻͕ϝΠϯ   l8IBUEPSFTQPOEFOUTEFWFMPQJO,PUMJO zIUUQTXXXKFUCSBJOTDPNMQLPUMJODFOTVT ,PUMJOͰԿΛ։ൃ͍ͯ͠Δ͔ʁʢ˞্ҐҐ·ͰΛൈਮʣ   

     .PCJMF 8FC#BDLFOE -JCSBSZPS GSBNFXPSL 5PPMJOH %FTLUPQ 4ZTUFNT QSPHSBNNJOH 8FC'SPOUFOE  
  21. λʔήοτϓϥοτϑΥʔϜ "OESPJEɾ+7.4FSWFS͕ϝΠϯ   l1MBUGPSNTUBSHFUFEXJUI,PUMJOzIUUQTXXXKFUCSBJOTDPNMQLPUMJODFOTVT ର৅ͱ͢ΔϓϥοτϑΥʔϜ    

    ,PUMJO"OESPJE ,PUMJO+7.4FSWFS ,PUMJO+7.0UIFS ,PUMJO/BUJWF ,PUMJO+4  
  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
  23. αʔϕΠ5IF4UBUFPG%FWFMPQFS&DPTZTUFN w αʔϕΠ֓ཁ w ೥ʹ+FU#SBJOT͕࣮ࢪ w  ໊͕ճ౴ w Χࠃͷਓ͕ؒճ౴

    w ։ൃऀͷ؀ڥʹؔ͢ΔαʔϕΠ w ຖ೥ߦ͍ͬͯΔαʔϕΠ೥෼ͷूܭ   IUUQTXXXKFUCSBJOTDPNMQEFWFDPTZTUFN
  24. ओཁϓϩάϥϛϯάݴޠͷར༻౓߹͍ͷ೥ਪҠ ೥ʹ"OESPJE։ൃݴޠͱͯ͠αϙʔτ͞Εͨͷ͕సػ   l8IBUQSPHSBNNJOHMBOHVBHFTIBWFZPVVTFEJOUIFMBTUNPOUIT zIUUQTXXXKFUCSBJOTDPNMQEFWFDPTZTUFN ௚ۙ೥ʹར༻ͨ͠ϓϩάϥϛϯάݴޠ   

        ೥౓           +BWB 1)1 (P ,PUMJO 3VCZ 4DBMB
  25. ͦͷଞௐࠪɿ(PPHMF5SFOET ೥ʹ"OESPJE։ൃݴޠͱͯ͠αϙʔτ͞Εͨͷ͕సػ   IUUQTUSFOETHPPHMFDPNUSFOETFYQMPSF EBUFUPEBZZR'N'@MDSY ˞͢΂ͯͷࠃͰաڈ೥ؒͰz,PUMJOzͱ͍͏ϓϩάϥϛϯάݴޠʹ͍ͭͯݕࡧͨ݁͠Ռͷਓؾ౓ਪҠ

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

  27. ,PUMJOͷࢥ૝ 1SBHNBUJDʢ࣮༻తʣͳݴޠΛ໨ࢦͯ͠࡞ΒΕͨ l*G*XFSFUPDIPPTFPOFXPSEUPEFTDSJCF ,PUMJO`TEFTJHO JUXPVMECFQSBHNBUJTNz ʰ,PUMJOͷઃܭΛҰݴͰݴ͏ͳΒ࣮༻ओٛͩʱ   IUUQTCMPHKFUCSBJOTDPNLPUMJOLPUMJOSFMFBTFEQSBHNBUJDMBOHVBHFGPSKWNBOEBOESPJE ˞,PUMJOWϦϦʔε੠໌ΑΓൈਮ

  28. 1SBHNBUJDʢ࣮༻తʣͱ͸ %9ʢ։ൃऀମݧʣΛඇৗʹॏࢹ͍ͯ͠Δ WϦϦʔε੠໌಺Ͱͷ1SBHNBUJDͷઆ໌ w ,PUMJO͕৽͘͠ൃ໌ͨ͠ػೳɾ֓೦͸͔ᷮ͘͝ w FMFHBODFͳ͜ͱ͸େࣄ͕ͩɺVTFGVMͳ͜ͱ͕Ұ൪ͷ໨ඪ w ؆ܿͰ҆શͳίʔυ͕ॻ͚Δ w

    طଘͷίʔυ΍πʔϧͱͷޓ׵ੑΛඇৗʹॏཁࢹ͍ͯ͠Δ w ྫʣطଘͷ+BWBίʔυͱࠞͥΒΕΔɺ(SBEMFɾ.BWFO͕࢖͑Δ w ݴޠ͚ͩͰͳ͘։ൃ؀ڥ΋ಉ࣌ʹॏཁ w ྫʣ*%&ʹΑΔαϙʔτʢิ׬ɾܯࠂɾࣗಈϦϑΝΫλʣ͕ॆ࣮͍ͯ͠Δ   IUUQTCMPHKFUCSBJOTDPNLPUMJOLPUMJOSFMFBTFEQSBHNBUJDMBOHVBHFGPSKWNBOEBOESPJE
  29. ࣮ࡍͷݴޠ࢓༷Λݟͯ ࣮༻ੑॏࢹͳ఺Λײ͡औͬͯ ͍͚ͨͩΕ͹ͱࢥ͍·͢ 

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

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

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

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

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

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

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

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

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

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

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

  41. $PMMFDUJPOʢʣ $PMMFDUJPO΋+BWBಉ༷-JTU 4FU .BQ͕͋ΔʢσϑΥϧτ͸*NNVUBCMFʣ   IUUQTLPUMJOMBOHPSHEPDTDPMMFDUJPOTPWFSWJFXIUNMDPMMFDUJPOUZQFT ˞ਤ͸ެࣜυΩϡϝϯτΑΓൈਮ

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

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

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

  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
  46. ࣮૷ύλʔϯ͔ΒಡΈղ͘ ,PUMJO 

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

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

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

  50. %4-ʢυϝΠϯݻ༗ݴޠʣ ߴ֊ؔ਺Λ׆༻͢Δ͜ͱͰ%4-Λ࡞Δ͜ͱ΋Ͱ͖·͢   IUUQTRJJUBDPNEPZBBBBBLFOJUFNTFBGDF ˞࣮૷ํ๏ͷৄࡉ͸2JJUBهࣄʹ΋·ͱΊ͍ͯ·͢ ʰ,PUMJOͰωετߏ଄ͷ%4-Λ࣮૷͢Δํ๏ʱ

  51. Ϋϥεҕৡ ؆ܿͳίʔυͰ%FMFHBUJPOύλʔϯΛ࣮૷ՄೳʢzܧঝΑΓҕৡzͷݪཧʣ   IUUQTRJJUBDPNEPZBBBBBLFOJUFNT⒎GBEECCF ˞࣮૷ํ๏ͷৄࡉ͸2JJUBهࣄʹ΋·ͱΊ͍ͯ·͢ ʰ,PUMJOͷΫϥεҕৡͷ࢖͍ॴʱ

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

  53. ϩʔυϚοϓ ެ։ϩʔυϚοϓʹΑΔͱ೥݄࣌఺Ͱͷ஫ྗ෼໺͸ҎԼͷͱ͓Γ w ,PUMJOίϯύΠϥͷॻ͖௚͠ w ,PUMJO*%&ͷύϑΥʔϚϯεɾ҆ఆੑͷ޲্ w +7.αʔόαΠυͰͷϢʔεέʔεʹ͍ͭͯͷαϙʔτ֦ॆ w .VMUJQMBUGPSN.PCJMF΁ͷαϙʔτڧԽ

    㱺ݴޠͱͯ͠͸͢ͰʹNBUVSFͳͷͰݴޠ࢓༷Ϩϕϧͷ৽ػೳ͸΄΅ແ͠ ˞ݸਓͱͯ͠Wͷࠒ͔ΒϦϦʔε಺༰Λݟ͖͍ͯͯΔ਎ͱͯ͠΋ͣͬͱ͜͏͍ͬͨํ޲ੑͰਐΜͰ͍Δײ֮   IUUQTLPUMJOMBOHPSHEPDTSPBENBQIUNMLFZQSJPSJUJFT
  54. ίϯύΠϥͷॻ͖௚͠ʢCBDLFOEʣ ίϯύΠϥCBDLFOEʢλʔήοτϓϥοτϑΥʔϜݻ༗ίʔυੜ੒෦෼ʣΛ ,PUMJO։ൃࣗମͷੜ࢈ੑͷͨΊશϓϥοτϑΥʔϜͰҰ෦ڞ௨Խ   IUUQTCMPHKFUCSBJOTDPNLPUMJOUIFSPBEUPUIFLDPNQJMFS ˞+7.*3CBDLFOE͸WͰ4UBCMFࡁΈɻ+4*3CBDLFOE͸WͰ4UBCMFʹɻ

  55. ίϯύΠϥͷॻ͖௚͠ʢGSPOUFOEʣ ίϯύΠϥGSPOUFOEʢιʔείʔυͷߏจղੳ෦෼ʣΛ ίϯύΠϥɾ*%&ͷߴ଎ԽͷͨΊॻ͖௚͍ͯ͠Δ   IUUQTCMPHKFUCSBJOTDPNLPUMJOUIFSPBEUPUIFLDPNQJMFS ˞ਤ͸৽͍͠GSPOUFOE͕ੜ੒͢Δߏจ໦ྫ

  56. .VMUJQMBUGPSN ݱࡏ͸"MQIBόʔδϣϯͰɺʹ#FUBόʔδϣϯϦϦʔε༧ఆ Wͷࠒʢ˞W͸೥݄ϦϦʔεʣ͔Βগͣͭ͠ػೳ௥Ճ͞Ε͍ͯ·͢   IUUQTCMPHKFUCSBJOTDPNLPUMJOLNNCFUBSPBENBQWJEFPIJHIMJHIUT  IUUQTLPUMJOMBOHPSHEPDTNVMUJQMBUGPSNIUNM ˞֓೦ਤ ˞ϓϥοτϑΥʔϜ͝ͱͷίʔυϞδϡʔϧ෼ׂྫ

  57. ࢲతͳݟղ ,PUMJOϓϩδΣΫτ͸ࠓޙҎԼͷͭͷํ޲ੑʹਐΉ  ΑΓ1SBHNBUJDʢ࣮༻తʣͳݴޠʹ͢Δ΂͘։ൃऀମݧΛશํҐతʹ޲্ͤ͞Δ w *%&ʹΑΔ։ൃαϙʔτྗΛվળ w ίϯύΠϥͷ҆ఆੑɾ଎౓վળ w ৽نֶशऀ͕༰қʹΩϟονΞοϓͰ͖Δ࢓૊Έɾίϯςϯπ࡞੒ʢ˞,UPS͸೥લ͔Βͦ͏͍͏ํ޲ੑʣ

     .VMUJQMBUGPSNػೳΛڧԽ͢Δ͜ͱͰ"OESPJEɾαʔόαΠυ͚ͩͰͳ͘ J04ɾ%FTLUPQɾ8FCϑϩϯτΤϯυɾ૊ΈࠐΈ౳ ผϓϥοτϑΥʔϜͰ΋ίʔυ࠶ར༻Մೳʹ͢Δ   IUUQTCMPHKFUCSBJOTDPNLUPSLUPSSPBENBQGPS
  58.  ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ @doyaaaaaken