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

pytestによるCIレボリューション(2020年更新版)

abenben
July 04, 2020

 pytestによるCIレボリューション(2020年更新版)

2020年7月4日の「Python Charity Talks in Japan」で発表したスライドです。
https://pyconjp.connpass.com/event/177586/

abenben

July 04, 2020
Tweet

More Decks by abenben

Other Decks in Technology

Transcript

  1. 2020.7.4(⼟)
    Institution for a Global Society株式会社 阿部⼀也(あべんべん)
    1ZUIPO$IBSJUZ5BMLTJO+BQBO
    QZUFTUʹΑΔ$*ϨϘϦϡʔγϣϯ

    View Slide

  2. ͓લ୭Α
    ʲॴଐʳ
    *OTUJUVUJPOGPSB(MPCBM4PDJFUZגࣜձࣾ ͷ
    ্੮ݚڀһʢ㲈*5ΤϯδχΞʣͰ͢ɻ
    ʲ*5ίϛϡχςΟӡӦʢछྨʣʳ
    4UBSU1ZUIPO$MVC
    GJOQZ GJOBODFͱQZUIPO

    'JO+"84
    95FDI+"84
    GPVOE*5ʢαϙʔλʔʣ
    ͭ͘͹ɾദͷ༿ϏοτίΠϯ
    ϑΟϯςοΫΤϯδχΞཆ੒ίϛϡχςΟ
    76$"-BCP
    ͋΂Μ΂ΜʢѨ෦Ұ໵ʣ

    View Slide

  3. དྷि΋ษڧձ͠·͢
    IUUQTGJOQZDPOOQBTTDPNFWFOU
    IUUQTTUBSUQZUIPODPOOQBTTDPNFWFOU

    View Slide

  4. ஫ҙࣄ߲
    ຊࢿྉͷ಺༰͸શͯஶऀݸਓʹؼ͢Δ΋ͷͰ͋Γɺ
    ॴଐ͢ΔػؔͷݟղΛ൓өͨ͠΋ͷͰ͸͋Γ·ͤΜɻ

    View Slide

  5. ࠓ೔ͷ͓࿩
    • QZUFTUʹ͍ͭͯ
    • $*ʢ$JSDMF$*ʣʹ͍ͭͯ

    View Slide

  6. ࠓ೔ͷൃද͸
    1Z$PO +1Ͱൃදͨ͠಺༰ͷ
    ΞοϓσʔτͰ͢ɻ
    https://pycon.jp/2019/sessions/?sessionId=225

    View Slide

  7. QZUFTUʹ͍ͭͯ

    View Slide

  8. ςετۦಈ1ZUIPO
    ʲ໨࣍ʳ
    $)"15&3͸͡ΊͯͷQZUFTU
    $)"15&3ςετؔ਺Λ࡞੒͢Δ
    $)"15&3QZUFTUͷϑΟΫενϟ
    $)"15&3૊ΈࠐΈϑΟΫενϟ
    $)"15&3ϓϥάΠϯ
    $)"15&3ߏ੒
    $)"15&3QZUFTUΛଞͷπʔϧͰ࢖ͬͯΈΔ
    ෇࿥"Ծ૝؀ڥ
    ෇࿥#QJQ
    ෇࿥$QZUFTUͷϓϥάΠϯ
    ෇࿥%1ZUIPOϓϩδΣΫτͷύοέʔδԽͱ഑෍
    ෇࿥&Y6OJUϑΟΫενϟ
    ෇࿥' ˒
    Ϋϥ΢υͰQZUFTUΛ࢖͏ $JSDMF$*

    ෇࿥( ˒
    QZUFTUΛ༻͍ͨςετۦಈ։ൃ
    ˒
    ೔ຊޠ຋༁൛ͷΈ
    IUUQTXXXTIPFJTIBDPKQCPPLEFUBJM

    View Slide

  9. ςετͷछྨ
    ςετͷछྨ ಺༰ උߟ
    Ϣχοτςετ ؔ਺΍ΫϥεͳͲɺίʔυͷ͘͝Ұ෦ΛνΣοΫ͢Δςετɻ ϗϫΠτϘοΫε
    ςετ
    ݁߹ςετ ෳ਺ͷΫϥε΍αϒγεςϜͳͲɺҰճΓେ͖ͳίʔυΛ
    νΣοΫ͢Δςετɻ
    ϗϫΠτϘοΫε
    ςετ
    γεςϜςετ ςετ͍ͯ͠ΔςετશମΛνΣοΫ͢Δςετɻຊ൪؀ڥʹ
    ͍ۙ؀ڥͰςετΛ͢Δɻ
    ϒϥοΫϘοΫε
    ςετ
    ػೳςετ γεςϜશମͷػೳͱੑೳΛςετ͢Δɻ
    γεςϜ͕ސ٬ͷཁٻΛຬ͍ͨͯ͠Δ͔Λςετ͢Δɻ
    ϒϥοΫϘοΫε
    ςετ
    ൽԼςετ
    ࠷ऴతͳΤϯυϢʔβʔͷΠϯλϑΣʔεʹର࣮ͯ͠ߦ͞ΕΔ
    ͷͰ͸ͳ͘ɺද໘ͷ͙͢Լʹ͋ΔΠϯλʔϑΣʔεʹର࣮ͯ͠
    ߦ͢Δςετɻ
    "1*૚ʹରͯ͠ߦ͏ςετɻ
    ϒϥοΫϘοΫε
    ςετ

    View Slide

  10. (PPHMF&OHJOFFSJOH1SBDUJDFT%PDVNFOUBUJPO
    ü %FTJHOʢγεςϜʹͱͬͯద੾ͳઃܭ͔ʁʣ
    ü 'VODUJPOBMJUZʢ࡞ऀ͕ҙਤͨ͠ͱ͓ΓʹৼΔ෣͏͔ʁʣ
    ü $PNQMFYJUZʢͰ͖Δ͚ͩγϯϓϧʹͳ͍ͬͯΔ͔ʁʣ
    ü 5FTUTʢద੾ͳࣗಈςετ͕උΘ͍ͬͯΔ͔ʁʣ
    ü /BNJOHʢม਺΍Ϋϥεɺϝιουʹ໌֬ͳ໊લ͕෇͚ΒΕ͍ͯΔ͔ʁʣ
    ü $PNNFOUTʢίϝϯτ͸໌֬Ͱ෼͔Γ΍͍͔͢ʁʣ
    ü 4UZMFʢίʔυ͸ελΠϧΨΠυʹै͍ͬͯΔ͔ʁʣ
    ü %PDVNFOUBUJPOʢؔ࿈͢ΔυΩϡϝϯτ͸ߋ৽͞Ε͍ͯΔ͔ʁʣ
    ※日本語プロジェクト https://shuuji3.github.io/eng-practices/
    https://www.publickey1.jp/blog/19/googlegoogle_engineering_practices_documentation.html

    View Slide

  11. 1ZUIPOͷϢχοτςετϑϨʔϜϫʔΫ
    VOJUUFTU OPTFςετ
    ࣍ϖʔδͰઆ໌
    1ZUIPOͷඪ४ϥΠϒ
    ϥϦͱͯ͠༻ҙ͞Εͯ
    ͍Δɻ
    +6OJUΛϕʔεʹͯ͠
    ͍Δʢ5FTU$BTFΛܧ
    ঝ͢Δඞཁ͕͋Δʣɻ
    ଟ࠼ͳΦϓγϣϯͰॊ
    ೈͳςετ͕Ͱ͖ɺΧ
    όϨοδΛऔΔ͜ͱ΋
    Ͱ͖Δɻ
    %4-ه๏ʹରԠ͍ͯ͠
    Δɻ
    ಛఆͷΫϥεΛܧঝ͢
    Δඞཁ͕ͳ͍

    View Slide

  12. (PPHMFτϨϯυ

    View Slide

  13. QZUFTUͷಛ௃
    ü ୯७ͳςετΛॻ͘ͷ͕؆୯Ͱ͋Δɻ
    ü ෳࡶͳςετΛॻ͘ͷ΋؆୯Ͱ͋Δɻ
    ü ςετ͕ಡΈ΍͍͢ɻ
    ü ςετ͕ಡΈ΍͍͢ɻʢॏཁͳͷͰ̎ճॻ͖·ͨ͠ʣ
    ü ΋ͷͷ਺ඵͰ࢖͍࢝ΊΔ͜ͱ͕Ͱ͖Δɻ
    ü ςετΛࣦഊͤ͞Δʹ͸BTTFUΛ࢖༻͢Δɻ
    TFMGBTTFSU&RVBM
    Ͱ΋TFMGBTTFSU-FTT5IBO
    Ͱ΋ͳ͘ɺͨͩͷBTTFSUͰ͋Δɻ
    ü VOJUUFTUɺOPTF༻ʹॻ͔Εͨςετ΋࣮ߦͰ͖Δɻ
    ʮςετۦಈ1ZUIPOʯ!ᠳӭࣾΑΓ

    View Slide

  14. QZUFTUͷΠϯετʔϧ

    View Slide

  15. QZUFTUͷGJYUVSF
    ϑΟΫενϟ͸ɺ࣮ࡍͷςετؔ਺ͷ࣮ߦʹઌཱͬͯʢ·ͨ͸ͦͷલޙʹʣɺ
    QZUFTUʹΑ࣮ͬͯߦ͞ΕΔؔ਺Ͱ͢ɻ
    ༷ʑͳείʔϓͰར༻ՄೳʢTFTTJPO DMBTT NPEVMF GVODUJPOʣ
    ࢀߟɿςετۦಈ1ZUIPOʢᠳӭࣾʣ

    View Slide

  16. ͨ͠ࢉ
    ͻ͖ࢉ
    ͔͚ࢉ
    όάΛ࢓ࠐΜͩ
    ΘΓࢉ
    ςετର৅ͷϓϩάϥϜ

    View Slide

  17. ᶃϦετͷ಺༰ΛՄࢹԽ͢ΔͨΊʹ༻ҙ
    ςετΫϥεʢQZUFTUʣ

    View Slide

  18. ᶃςετύλʔϯͷ഑ྻ
    ʢҎԼͷͭΛνΣοΫΛ͢Δʣ




    ᶆςετͷ࣮ࢪ
    ᶄςετύλʔϯΛ
    ࣮̍ͮͭࢪ
    ᶅςετσʔλͷՄࢹԽํ๏
    Ճࢉͷςετ

    View Slide

  19. ݮࢉͷςετ

    View Slide

  20. ͔͚ࢉͷςετ
    ソースコード側にバグがあるので
    テストが失敗する予定

    View Slide

  21. ʲ࢓ࠐΈʳςετલʹ
    SFUVSOΛೖΕ
    ςετέʔεʹ
    ࿙ΕΛൃੜͤ͞Δ
    ΘΓࢉͷςετ

    View Slide

  22. QZUFTUͷ࣮ߦ
    ࣦഊͨ͠ςετͷ
    ৄࡉ͕ग़ྗ͞ΕΔ
    ͷͰΘ͔Γ΍͍͢

    View Slide

  23. շదͳ؀ڥͰ։ൃΛ

    View Slide

  24. շదͳ؀ڥͰ։ൃΛ
    ςετʹؔ͢Δ
    ػೳ͕ॆ࣮
    ʢ༗ঈ൛ͷΈʣ
    ΠϯλϥΫςΟϒ
    ͳσʔλ෼ੳʹ͸
    ޲͍͍ͯΔ͕։ൃ
    ޲͚Ͱ͸ͳ͍

    View Slide

  25. 74$PEFͱ͸
    • ϚΠΫϩιϑτʹΑͬͯ։ൃ͞Ε͍ͯΔιʔείʔυΤσΟλɻ
    ʢ೥ϦϦʔεʣ
    • ιʔείʔυ͕ϋΠϥΠτදࣔ͞ΕΔɻ
    ʢ༷ʑͳϓϩάϥϛϯάݴޠʹରԠʣ
    • ϑΝΠϧ΍ϑΥϧμͷ؅ཧ͕؆୯ɻ
    • ศརͳ֦ுػೳ͕͋Δɻ
    • ̎ͭͷϑΝΠϧΛಉ࣌ʹ։͍ͯ
    ࡞ۀͰ͖Δɻ
    • ίʔυͷࣗಈิ׬ػೳɻ
    • ೔ຊޠઃఆɻ
    • 8JEPXT049-JOVYͰಈ࡞Մೳɻ

    View Slide

  26. 1ZUIPOͷࣗಈิ׬Λ༗ޮԽ
    ஫ҙʣ༗ޮʹ͢Δʹ͸ɺجຊઃఆ͔Β
    QZUIPOKFEJ&OBCMFEΛݕࡧͯ͠ɺνΣοΫΛ֎͢͜ͱɻ

    View Slide

  27. ͜ͷล
    74$PEFͰQZUFTUͷઃఆ

    View Slide

  28. ᶃςετΛදࣔ
    ᶄςετΛ࣮ߦ
    ᶅ݁ՌΛ֬ೝ
    74$PEFͰQZUFTUͷ࣮ߦ

    View Slide

  29. ςετͷࣦഊ͕
    ৄࡉʹදࣔ͞ΕΔ
    74$PEFͰQZUFTUͷ࣮ߦ

    View Slide

  30. 1Z$IBSNͱ͸
    • ߴ඼࣭ͳ*%&
    • 8JEPXT049-JOVYͰಈ࡞Մೳɻ
    • 1SPGFTTJPOBM&EJUJPOʢ༗ঈ൛ʣͱ$PNNVOJUZ&EJUJPOʢແঈ൛ʣ͕͋Δɻ
    • 8FC։ൃʹ͸1SPGFTTJPOBM&EJUJPO͕͓קΊɻ
    +BWB4DSJQUɺ$PGGFF4DSJQUɺ5ZQF4DSJQUɺ)5.-$44αϙʔτ
    ϑϨʔϜϫʔΫɿ%KBOHPɺ'MBTLɺ(PPHMF"QQ&OHJOFɺ1ZSBNJEɺXFCQZͷαϙʔτ
    σʔλϕʔεͱ42-ͷαϙʔτ
    • ༗ঈ൛ʹ͸೔ؒͷ
    ϑϦʔτϥΠΞϧ͕͋ΔͷͰ·ͣ͸ମݧɻ
    • ೔ຊޠઃఆ΋Մೳ
    ʢ&1-ϥΠηϯεͰผஂମ͕ఏڙʣ
    IUUQTRJJUBDPNTVFDIBSPJUFNTECCGG
    • ςετϑϨʔϜϫʔΫʹରԠʢ༗ঈ൛ͷΈʣ

    View Slide

  31. 1Z$IBSNʢ༗ঈ൛ʣͰQZUFTUͷઃఆ
    ʮ3VOʯϝχϡʔͷʮ&EJU$POGJHVSBUJPOTʯ͔ΒҎԼͷը໘Λ։͍ͯɺ
    ࠨ্ͷΛΫϦοΫͯ͠ʮ1ZUIPOUFTUTʯ͔ΒʮQZUFTUʯΛબ୒͢Δɻ

    View Slide

  32. 1Z$IBSNʢ༗ঈ൛ʣͰQZUFTUͷઃఆ
    /BNFʹ೚ҙͷ໊લΛೖྗͯ͠ɺ
    5BSHFUʹ͸ UFTUͷ͋ΔϑΥϧμΛࢦఆ͢Δɻ

    View Slide

  33. 1Z$IBSNʢ༗ঈ൛ʣ͸ɺ
    ໰୊ͷ͋ΔՕॴͷ
    ϦϯΫ͕༻ҙ͞ΕΔͷͰ
    ͙͢ʹιʔε΁ભҠ͕Ͱ͖Δɻ
    1Z$IBSNʢ༗ঈ൛ʣͰQZUFTUͷઃఆ

    View Slide

  34. $JSDMF$*ʹ͍ͭͯ

    View Slide

  35. $*$%ͱ͸
    $* $%
    $POUJOVPVT*OUFHSBUJPO $POUJOVPVT%FMJWFSZ
    ܧଓతΠϯςάϨʔγϣϯ ܧଓతσϦόϦʔ
    ։ൃऀ޲͚ͷࣗಈԽϓϩηεɻ
    ৽͍͠ίʔυมߋ͕ఆظతʹϏϧυɺ
    ςετ͞Εɺ౷߹ϦϙδτϦʹ౷߹
    ͞ΕΔ͜ͱɻ
    όάͷࣗಈൃݟɺख࡞ۀͷഉআɺೲ
    ظ୹ॖͳͲͷ։ൃޮ཰Խ͕໨తɻ
    ։ൃऀʹΑΔมߋΛϦϙδτϦ͔Β
    ຊ൪؀ڥʹࣗಈతʹϦϦʔε͠ɺސ
    ٬͕࢖༻Ͱ͖ΔΑ͏ʹ͢Δ΋ͷɻ
    ৽نίʔυͷಋೖ࡞ۀͷෛ୲Λ࠷খ
    ݶʹ͢Δͷ΋໨తɻ

    View Slide

  36. $JSDMF$*
    Ϗϧυɿιʔείʔυ͔Β࣮ߦՄೳͳΞϓϦέʔγϣϯΛߏங͠·͢ɻ
    ʢ%PDLFSΠϝʔδͷQVMMɺґଘύοέʔδͷΠϯετʔϧɺίϯύΠϧʣ
    ςετɿ65ͳͲͷςετίʔυΛ࣮ߦͯ͠ಈ࡞֬ೝΛͨ͠ΓɺίʔυελΠϧνΣοΫΛߦ͏ɻ
    σϓϩΠɿϏϧυͯ͠ςετ͕௨ͬͨ΋ͷΛຊ൪؀ڥ΍ݕূ؀ڥͳͲʹϦϦʔε͠·͢ɻ
    • Ϋϥ΢υܕͷ$*$%αʔϏεʢ4BB4ʣ
    • (JU)VC·ͨ͸(JU#VDLFUͱ࿈ܞ͠ͳ͕Β࢖͏
    • QSJWBUFϦϙδτϦͰ΋ແྉ
    • $JSDMF$*ͷ7.ʹ44)઀ଓͯ͠σόοά͕Մೳ

    View Slide

  37. ୅දతͳΫϥ΢υؔ࿈ςΫϊϩδʔͷҰཡ
    Cloud Native Computing Foundation作成 : IUUQTMBOETDBQFDODGJP

    View Slide

  38. ୅දతͳΫϥ΢υؔ࿈ςΫϊϩδʔͷҰཡ
    Cloud Native Computing Foundation作成 : IUUQTMBOETDBQFDODGJP
    ֦େ͢Δͱ
    ൃݟʂʂ

    View Slide

  39. ʢิ଍ʣ(JU)VC"DUJPOT
    $JSDMF$*ͷϫʔΫϑϩʔͱ΄΅ಉ͡ػೳ
    ʻϝϦοτʼ
    ɾ(JU)VC͚ͩͰϫʔΫϑϩʔΛ׬݁Ͱ͖Δͷ͸ັྗ
    ʻσϝϦοτʼ
    ɾ$JSDMF$*΄Ͳࡉ͔͍ઃఆ͸Ͱ͖ͳ͍ɻ
    ɾੑೳɾ҆ఆੑʢ$JSDMF$*ͷ7.ʹൺ΂Δͱײ֮తʹ͔ͳΓ஗͍ʣ
    ɾύΠϓϥΠϯ·Ͱͷ੍ޚ͸ͳ͍ʢ$JSDMF$*ͷ৽ػೳʣ
    IUUQTXXXBNB[PODPKQEQ
    IUUQTNJZBKBOCPPUIQNJUFNT

    View Slide

  40. $JSDMF$*ͷϓϥϯ
    IUUQTDJSDMFDJKQQSJDJOH

    View Slide

  41. $JFDMF$*͕৽6*ʹͳΓɺ͞Βʹݟ΍͘͢ͳͬͨ
    چ6*
    ৽6*

    View Slide

  42. ϩʔΧϧ؀ڥ΁ͷηοτΞοϓ NBD

    %PDLFS͕ೖ͍ͬͯͳ͍৔߹͸ɺΠϯετʔϧɻ
    $JSDMF$*ͷΠϯετʔϧ

    View Slide

  43. αϯϓϧίʔυʢ(JU)VCʣ
    https://github.com/abenben/circleci-pytest-2020
    αϯϓϧ͸ͪ͜Βͷ(JU)VCͰެ։

    View Slide

  44. ϓϩδΣΫτͷߏ੒
    $JSDMF$*ͷઃఆϑΝΠϧ
    ιʔείʔυ
    ςετίʔυ
    QZUFTUͷઃఆʢԿ͔͋Ε͹ʣ

    View Slide

  45. $JSDMF$*ͷઃఆʢجຊఆٛɾ༻ޠʣ
    δϣϒͷதͰڞ௨͢Δॲཧ͸ɺ
    ίϚϯυͱͯ͠ఆٛͰ͖·͢ɻ
    TUFQʢεςοϓʣɿ
    ୯ҰͷίϚϯυɻ
    KPCʢδϣϒʣɿ
    ୯ҰͷFYFDVUPS্Ͱ࿈ଓ࣮ͯ͠ߦ͢Δεςοϓ
    ͷू߹ɻ
    XPSLGMPXʢϫʔΫϑϩʔʣɿ
    δϣϒͷू߹ɻ࣮ߦॱং͸೚ҙʹઃఆɻ
    PSCɿ
    طଘͷ$JSDMF$*ઃఆ͔Β࢖͍͍ͨͱ͚ͩ͜࢖͑Δ
    ศརͳ৽ػೳɻQZUIPOPSCT΋ެ։͞ΕͯΔͷͰ
    ࢖ͬͪΌ͓͏ɻ
    DPNNBOEɿ
    Ұ࿈ͷεςοϓͷఆٛΛ֎ͩͨ͠͠΋ͷɻ
    ύΠϓϥΠϯʢDPOGJHZNMϑΝΠϧͦͷ΋ͷʣɿ
    Ϗϧυ͕τϦΨʔ͞Εͨͱ͖ʹ࣮ߦ͞ΕΔϫʔΫ
    ϑϩʔΛؚΉɺઃఆϑΝΠϧશମɻϫʔΫϑϩʔ
    Λแؚ͢Δɻ

    View Slide

  46. $JSDMF$*ͷઃఆʢδϣϒʣ
    TUFQʢεςοϓʣɿ
    ୯ҰͷίϚϯυɻ
    KPCʢδϣϒʣɿ
    ୯ҰͷFYFDVUPS্Ͱ࿈ଓ࣮ͯ͠ߦ͢Δεςοϓ
    ͷू߹ɻ
    XPSLGMPXʢϫʔΫϑϩʔʣɿ
    δϣϒͷू߹ɻ࣮ߦॱং͸೚ҙʹઃఆɻ
    PSCɿ
    طଘͷ$JSDMF$*ઃఆ͔Β࢖͍͍ͨͱ͚ͩ͜࢖͑Δ
    ศརͳ৽ػೳɻQZUIPOPSCT΋ެ։͞ΕͯΔͷͰ
    ࢖ͬͪΌ͓͏ɻ
    DPNNBOEɿ
    Ұ࿈ͷεςοϓͷఆٛΛ֎ͩͨ͠͠΋ͷɻ
    ύΠϓϥΠϯʢDPOGJHZNMϑΝΠϧͦͷ΋ͷʣɿ
    Ϗϧυ͕τϦΨʔ͞Εͨͱ͖ʹ࣮ߦ͞ΕΔϫʔΫ
    ϑϩʔΛؚΉɺઃఆϑΝΠϧશମɻϫʔΫϑϩʔ
    Λแؚ͢Δɻ

    View Slide

  47. $JSDMF$*ͷઃఆʢϫʔΫϑϩʔʣ
    TUFQʢεςοϓʣɿ
    ୯ҰͷίϚϯυɻ
    KPCʢδϣϒʣɿ
    ୯ҰͷFYFDVUPS্Ͱ࿈ଓ࣮ͯ͠ߦ͢Δεςοϓ
    ͷू߹ɻ
    XPSLGMPXʢϫʔΫϑϩʔʣɿ
    δϣϒͷू߹ɻ࣮ߦॱং͸೚ҙʹઃఆɻ
    PSCɿ
    طଘͷ$JSDMF$*ઃఆ͔Β࢖͍͍ͨͱ͚ͩ͜࢖͑Δ
    ศརͳ৽ػೳɻQZUIPOPSCT΋ެ։͞ΕͯΔͷͰ
    ࢖ͬͪΌ͓͏ɻ
    DPNNBOEɿ
    Ұ࿈ͷεςοϓͷఆٛΛ֎ͩͨ͠͠΋ͷɻ
    ύΠϓϥΠϯʢDPOGJHZNMϑΝΠϧͦͷ΋ͷʣɿ
    Ϗϧυ͕τϦΨʔ͞Εͨͱ͖ʹ࣮ߦ͞ΕΔϫʔΫ
    ϑϩʔΛؚΉɺઃఆϑΝΠϧશମɻϫʔΫϑϩʔ
    Λแؚ͢Δɻ

    View Slide

  48. $JSDMF$* 0SCT 1ZUIPO༻

    IUUQTDJSDMFDJDPNPSCTSFHJTUSZPSCDJSDMFDJQZUIPO

    View Slide

  49. ϩʔΧϧ1$্ͷ%PDLFSͰಈ࡞Λ֬ೝ͢Δ͜ͱ΋Ͱ͖Δ
    ஫ҙɿϩʔΧϧͰ͸ϫʔΫϑϩʔ͸
    αϙʔτ͠ͳ͍ͷͰ+0#୯ҐͰ࣮ߦ͠·͢
    ஫ҙɿϩʔΧϧͰɺ࣮ߦ
    Ͱ͖ͳ͍΋ͷ΋͋Δɻ
    DJSDMFDJMPDBMFYFDVUFKPCUFTU@BEE@TVCUSBDU

    View Slide

  50. ϩʔΧϧ1$্Ͱ$JSDMF$*ͷઃఆϑΝΠϧΛνΣοΫ
    DJSDMFDJ DPOGJHWBMJEBUF
    $POGJHGJMFBUDJSDMFDJDPOGJHZNM JTWBMJE

    View Slide

  51. ૣ଎ɺ4BB4൛$JSDMF$*Λར༻࢓༷ʂ
    ·ͣ͸Ϣʔβʔొ࿥͔Β

    View Slide

  52. ϓϩδΣΫτΛϑΥϩʔ͢Δ
    ॳճϩάΠϯ௚ޙ͸ɺͲͷ(JU)VCͷϓϩδΣΫτͱ΋࿈ܞ͍ͯ͠ͳ͍ͷͰɺ
    ʮ'PMMPX1SPKFDUTʯΛԡͯؔ͠࿈෇͚Λ͢Δɻ

    View Slide

  53. (JU)VCͷϓϩδΣΫτ΁ؔ࿈͚ͮ
    બ୒͢Δ

    View Slide

  54. (JU)VC΁ͷؔ࿈͚ͮ௚ޙʹࣗಈͰ$*͕࣮ߦ͞ΕΔ
    ͭͷςετ͕ಉ࣌ʹz3VOOJOHதzɻ
    ৄࡉ͕ݟ͚ͨΕ͹
    ʮUFTU@DBMDVMBUPSʯͷϦϯΫͰ֬ೝ

    View Slide

  55. ϫʔΫϑϩʔͰঢ়گΛ֬ೝ
    ͔͚ࢉɾΘΓࢉͷςετͰԿ͔ࣦഊʢ'"*-&%ʣͯ͠Δʂ˔ΛΫϦοΫ͠Α͏
    ςετ͕ฒྻͰߦΘΕ͍ͯΔͷΛ֬ೝͰ͖Δ

    View Slide

  56. ʢࢀߟʣύΠϓϥΠϯը໘͔Β΋֬ೝͰ͖Δ
    ͔͚ࢉɾΘΓࢉͷςετͰԿ͔ࣦഊʢ'"*-&%ʣͯ͠Δʂ˔ʮ'BJMFEʯΛΫϦοΫͯ֬͠ೝ

    View Slide

  57. ͔͚ࢉͷςετ͕ࣦഊ
    ºͷ݁Ռ͕ Ͱ
    ºͷ݁Ռ͕ ͬͯɺɺɺ
    ͜Ε଍͠ࢉʹͳͬͯΔʁʁ

    View Slide

  58. $JSDMF$*ͱ4MBDLΛ࿈ܞ͢Δ
    TMBDL༻ͷPSCTͳͲ΋ެ։͞Ε͍ͯΔɻ
    ˞چ6*ը໘ʹ੾Γସ͑Δͱɺ6*͔ΒTMBDLͷ8FCIPPL63-Ͱ΋࿈ܞͰ͖·͢ʢࣗ෼͸ͪ͜ΒͰઃఆʣɻ

    View Slide

  59. 4MBDLͰ΋௨஌Λड͚ΕΔʢࣦഊʂʣ
    ৄࡉ৘ใ΁ͷϦϯΫ͕
    ͨ͘͞Μ͋ͬͯ
    ΊͪΌΊͪΌ਌੾ʂ

    View Slide

  60. 44)઀ଓͯ͠αʔόʔͰͷσόοά͕Մೳ
    ͜͜Λ
    ΫϦοΫ
    αʔόʔ΁
    44)ํ๏͕ग़ͯ͘Δ
    44)Ͱ઀ଓͯ͠
    QZUFTUΛQECͰσόοά

    View Slide

  61. όάΛमਖ਼͢Δ

    View Slide

  62. (JU)VC΁1VTI 1Z$IBSN͔Β

    View Slide

  63. $JSDMF$*͕ࣗಈͰ࠶࣮ߦ͢Δ

    View Slide

  64. ςετ͸੒ޭͨ͠ɻ͕ɺ৽ͨͳ໰୊ൃੜʂ
    ςετͷΧόϨοδͰࣦഊʢ'"*-&%ʣͯ͠Δʂ˔ʮ'BJMFEʯΛΫϦοΫͯ֬͠ೝ

    View Slide

  65. ίʔυͷத͕શ෦ςετ͞Εͯͳ͍ʂ

    View Slide

  66. ςετΧόϨοδ͕໿͔͠ͳ͍

    View Slide

  67. ΧόϨοδϨϙʔτʢ"35*'"$54ʣΛ֬ೝ͢Δ
    ͜͜ΛΫϦοΫ

    View Slide

  68. QZUFTUDPWͷ݁ՌΛ֬ೝ
    *OEFYIUNMΛݟΔ

    View Slide

  69. ςετ͞Ε͍ͯͳ͍ՕॴΛಛఆ
    ΧόϨοδ͕ͷ
    DBMDVMBUPSQZͷϦϯΫ͔Β
    ৄࡉΛ֬ೝ͢Δ
    ʮ͋ΕͬʁΘΓࢉͷςετ͕͞Εͯͳ͍ʂʁʯ
    ʢςετίʔυΛݟͯΈΑ͏ʂʣ

    View Slide

  70. ΘΓࢉͷςετΛνΣοΫ
    ʮ͋ɺ͜Μͳͱ͜ΖʹSFUVSO͕ʯ
    ʢʹςετͯ͠ͳ͔ͬͨ׼ʣ
    lSFUVSOzΛ࡟আ͠·͢ɻ

    View Slide

  71. मਖ਼ͯ͠(JU)VC΁1VTI 1Z$IBSN͔Β

    View Slide

  72. গ͢͠Δͱɺ4MBDL͔Β$JSDMF$*੒ޭͷ௨஌

    View Slide

  73. $JSDMF$*ͷδϣϒ΋શ෦੒ޭʘ ?0?
    ʗ
    ϫʔΫϑϩʔ͔Βݟͯ΋
    %FQMPZ·Ͱ੒ޭͯ͠ΔͷΛ֬ೝ

    View Slide

  74. $JSDMF$*ύΠϓϥΠϯ
    ґଘؔ܎ͷͳ͍࡞ۀ͸ɺϫʔΫϑϩʔຖʢྫɿ$*$%ͱυΩϡϝϯτެ։ʣʹ४උͯ͠
    ಉ࣌ʹ΍ͬͪΌ͍·͠ΐ͏ʂ

    View Slide

  75. $%ͷ෦෼ʹ͍ͭͯ
    ࣌ؒͷ౎߹Ͱɺઆ໌Λলུ͠·͢ɻ
    @@

    $JSDMF$*͔Βෳ਺ͷ8FC ΞϓϦέʔγϣϯαʔό΁σϓϩΠɺ
    'BB4 'VODUJPOBTB4FSWJDFʣʹ΋σϓϩΠͰ͖·͢ɻ
    ฒྻͰςετΛߦͬͯɺશͯͷςετ͕׬͔ྃͯ͠Β
    ҰׅͰσϓϩΠ͢ΔͳͲͷಉظΛߦ͏͜ͱ΋Ͱ͖·͢ɻ
    'BB4"84 -BNCEB (PPHMF $MVEF 'VODUJPOT "[VSV 'VODUJPOT
    ࠓճ͸આ໌͖͠Ε·ͤΜͰ͕ͨ͠ɺ
    $JSDMF$*ʹ͸෼ࢄॲཧʢ1BSBMMFMJTNʣͳͲɺ
    ଞʹ΋ศརͳػೳ͕ͨ͘͞ΜඋΘ͍ͬͯ·ͨ͠ɻ

    View Slide

  76. 74$PEFͷ$JSDMF$*֦ுػೳ
    ᶅ$JSDMF$*֦ுΛ
    Πϯετʔϧ͢Δ
    ᶆ$JSDMF$*ͷΩʔΛઃఆ͢Δ
    ᶇ͜͜ΛΫϦοΫ͢Δͱ$JSDMF$*ͷ4BB4Λදࣔ
    ᶃ$JSDMF$*ͷϢʔβઃ
    ఆΛදࣔ
    ᶄ1FSTPOBM"1*5PLFOͰ೚ҙͷτʔΫϯΛ࡞੒

    View Slide

  77. ·ͱΊ
    ü ػցʹͰ͖Δ࡞ۀ͸ۃྗࣗಈԽ͠Α͏ʂ
    ʢࣗ෼΍஥ؒͷແବΛݮΒͤΔʣ

    View Slide

  78. ΤϯδχΞืूதͰ͢ʂ
    IUUQTJHMPCBMTPDJFUZDPNDBSFFST
    ۀ຿ৄࡉ 8FCΞϓϦέʔγϣϯ੍࡞ɾӡ༻
    ΞϓϦέʔγϣϯɺαʔϏεվળͷϓϥϯχϯάࢀՃ
    Ԡืࢿ֨ Լهͷ஌ࣝɺεΩϧɺܦݧΛ͓࣋ͪͷํ
    •+BWB3VCZ1ZUIPO1)1$4DBMB(PͳͲͷϓϩάϥϛϯ
    άݴޠΛ࢖༻ͨ͠ɺαʔόʔαΠυϓϩάϥϜ։ൃͷܦݧ
    •8FCαʔϏεͷӡ༻ܦݧ
    •3%#.4ར༻ܦݧ
    •αʔόʔαΠυͷ஌ࣝ
    ׻ܴεΩϧ Լهͷ஌ࣝɺεΩϧɺܦݧΛ͓࣋ͪͷํ
    •$*πʔϧར༻ܦݧ
    •ΞδϟΠϧ։ൃͷܦݧ
    •"NB[PO8FC4FSWJDF &$ 3%4 4౳
    •8FCΞϓϦέʔγϣϯϑϨʔϜϫʔΫͷར༻ܦݧ
    •+4ϑϨʔϜϫʔΫར༻ͷܦݧʢ7VFKT BOHVMBS3FBDUKT ͳͲ

    •+BWB4DSJQU $44 )5.-
    •(JU
    •ϓϩδΣΫτ؅ཧπʔϧʢ+JSB3FENJOF#BDLMPH౳ʣͷ஌ࣝ
    •/P42-ར༻ܦݧ
    •ϑϩϯτΤϯυͷ஌ࣝ
    •όϥϯεྑ͍Ϗδωε஌ࣝ

    View Slide