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

Symfony+Doctrine ORMで始める安全なモジュラモノリス

Symfony+Doctrine ORMで始める安全なモジュラモノリス

PHPカンファレンス2023「Symfony+Doctrine ORMで始める安全なモジュラモノリス」のスライドです。
## トーク概要
モノリス全盛期〜マイクロサービスブームを経て、近年、両者のいいところ取りができるアーキテクチャとしてモジュラモノリスが話題になることも増えてきました。PHPでも流行のLaravelフレームワークでのやり方やハマりポイントの記事がありますが、基本的に密結合を指向しているLaravelをベースにかなり無理をして実現している事例を見かけます。
私が数年にわたってSymfony+Doctrine ORMをベースにモジュラモノリスでアプリケーションを開発してきた経験から、Laravelベースで開発するよりも数段楽にモジュラモノリスを実現できることを証明したいと思います。

Hiromi Hishida

October 08, 2023
Tweet

More Decks by Hiromi Hishida

Other Decks in Programming

Transcript

  1. 1)1$POGFSFODF+BQBO UI0DUPCFS CZ)JSPNJ)JTIJEB !XFC

    4ZNGPOZͱ%PDUSJOFͰ࢝ΊΔ
    ҆શͳϞδϡϥϞϊϦε

    View full-size slide

  2. w 1)1FSྺ೥
    w ೥ʙ೥ϑϦʔϥϯε։ൃऀ
    w ೥ʙ೥݄ʢגʣΧϧςοτίϛϡχέʔ
    γϣϯζΤϯδχΞɾϦʔυΤϯδχΞɾϚωʔδϟ
    ʔʢೝఆεΫϥϜϚελʔʣ
    w ޿ࠂӡ༻ޮ཰ԽπʔϧΛ࡞͍ͬͯ·ͨ͠ʢˡϞδϡ
    ϥϞϊϦε΍͍ͬͯͨͷ͸͜ͷͱ͖ʣ
    w ೥݄ʙʢגʣϦϯέʔδΤϯδχΞ
    w #UP#UP&༧๷ҩྍϓϩμΫτΛ࡞͍ͬͯ·͢
    w ೔ຊ4ZNGPOZϢʔβʔձ /BHPZBQIQ
    w ໊ݹ԰ࡏॅʢ݄͔Β͸݄ʙճͷϖʔεͰ౦ژʹདྷͯ·
    ͢ʣ
    XFCʢͳͳ͏͐Ϳʣ
    ঁੑͷ݈߁՝୊αϙʔτ
    GFNDMF
    ͔͔Γ͚ͭอ݈ࢣGPS-*/&
    ϝϯλϧ΢ΣϧωεαʔϏε
    SBTJLB

    View full-size slide

  3. ͜ͷτʔΫͷର৅
    w 1)1ͰͷϞδϡϥϞϊϦεʹڵຯ͕͋Δ
    w طʹϞδϡϥϞϊϦεʹ௅ઓࣦͯ͠ഊͨ͠
    w -BSBWFMͰϞδϡϥϞϊϦεΛ࣮ફͯۤ͠࿑͍ͯ͠Δ

    View full-size slide

  4. ϞδϡϥϞϊϦεͱ͸
    w 3BJMT
    IUUQTNFEJVNDPN!EBO@NBOHFTUIFNPEVMBSNPOPMJUISBJMT
    BSDIJUFDUVSFGCGD
    w 4IPQJGZ
    IUUQTTIPQJGZFOHJOFFSJOHEFDPOTUSVDUJOHNPOPMJUI
    EFTJHOJOHTPGUXBSFNBYJNJ[FTEFWFMPQFSQSPEVDUJWJUZ
    w Ϟδϡʔϧʹ෼͚ͯ։ൃ͞Ε͍ͯΔ͕ɺϞϊϦεͱͯ͠σϓϩΠͰ͖ΔΞϓϦέʔγϣϯ
    w ϞϊϦεʜҰຕؠ
    w ϚΠΫϩαʔϏε΁ͷୈҰาͱͯ͠ϞδϡϥϞϊϦεʹ͠Α͏೿ͱɺ΋͏ͣͬͱϞδϡ
    ϥϞϊϦεͷ··Ͱ͍Δͷ͕ਖ਼ղ೿͕͋Δ

    View full-size slide

  5. ϞδϡϥϞϊϦεͱ͸
    w Ϟδϡʔϧʹ෼͚ͯ։ൃ͞Ε͍ͯΔ͕ɺϞϊϦεͱͯ͠σϓϩΠͰ͖ΔΞϓϦ
    έʔγϣϯ

    View full-size slide

  6. ϞϊϦεͱͷҧ͍
    w ಠཱͨ͠Ϟδϡʔϧʢίϯϙʔωϯτʣʹίʔυ͕෼཭͞Ε͍ͯΔ

    View full-size slide

  7. ϚΠΫϩαʔϏεͱͷҧ͍
    w ͭͷΞϓϦέʔγϣϯͱͯ͠·ͱΊͯσϓϩΠ͞ΕΔ

    View full-size slide

  8. ϞδϡϥϞϊϦεͷར఺
    w ϚΠΫϩαʔϏεͷΑ͏ʹɺಠཱͨ͠Ϟδϡʔϧ͝ͱʹ։ൃͰ͖Δ
    w ͭͷϞδϡʔϧͷվम࣌ʹผϞδϡʔϧʹର͢ΔӨڹΛখ͘͞Ͱ͖Δ
    w ϞϊϦεͷΑ͏ʹɺ୯ҰΞϓϦέʔγϣϯͱͯ͠σϓϩΠͰ͖Δ
    w ෳ਺ͷϚΠΫϩαʔϏεͷσϓϩΠλΠϛϯάΛௐ੔͢Δඞཁͳ͠

    View full-size slide

  9. ϞδϡϥϞϊϦεͷܽ఺
    w ୯ҰػೳͷΞϓϦέʔγϣϯͰ͸΍Δ͚ͩແବͳΞʔΩςΫνϟ
    w Ϟδϡʔϧʹ෼͚ΒΕͳ͍ͳΒ΍Δ΂͖Ͱͳ͍
    w ϞδϡϥϞϊϦεͷܗΛอͭͷ͕೉͍͠
    w ͲΜͳ;͏ʹ೉͍͠ͷ͔ɺࠓ೔ͷτʔΫͷதͰઆ໌͠·͢

    View full-size slide

  10. ϞδϡϥϞϊϦεߏ੒ͷΰʔϧ
    w جຊతʹ͸ϞϊϦεͳͷͰɺϑϨʔϜϫʔΫͷϓϩδΣΫτߏ଄Λ࣋ͭ
    w ΞϓϦέʔγϣϯͱͯ͠ͷػೳͷίʔυ͸ػೳ͝ͱͷϞδϡʔϧʹ۠੾ΒΕͯ
    ͍Δʢݫີʹ͸ڥք͸ػೳͱ͸ݶΒͳ͍ʣ

    View full-size slide

  11. ϞδϡϥϞϊϦεߏ੒ͷΰʔϧ
    📁BQQ
    ɹ📁$POTPMF
    ɹ📁)UUQ
    ɹ📁.PEFMT
    ɹ📁.PEVMFT
    ɹɹ📁1SPQPTBM.PEVMF
    ɹɹ📁5JDLFU.PEVMF
    ɹ📁4FSWJDFT
    ɹ

    View full-size slide

  12. ҆શͳϞδϡϥϞϊϦεߏ੒ͷΰʔϧ
    w ϞϊϦεͰ͋Γଓ͚Δ
    w ୯ҰͷΞϓϦέʔγϣϯͱͯ͠σϓϩΠͰ͖Δঢ়ଶΛอͭ
    w ϞδϡϥʔͰ͋Γଓ͚Δ
    w ϞδϡʔϧؒͷಠཱੑΛอͭ

    View full-size slide

  13. 4ZNGPOZͱ%PDUSJOFͰ࢝ΊΔ҆શͳϞδϡϥϞϊϦε
    w 4ZNGPOZ
    w 4ZNGPOZ5IF'BTU5SBDLʢ೔ຊޠ༁͋ΓʣIUUQTTZNGPOZDPNCPPL
    w 4ZNGPOZυΩϡϝϯτʢӳޠͷΈʣIUUQTTZNGPOZDPNEPDDVSSFOUJOEFYIUNM
    w 4ZNGPOZDBTUTʢӳޠͷΈ ࣮ફతαϯϓϧଟ਺ʣIUUQTTZNGPOZDBTUTDPN
    w ೔ຊޠͰ࣭໰͸9 GPSNFSMZ5XJUUFS
    ͷϋογϡλάTZNGPOZ@KB͔QIQVTFSTKB4MBDLͷTZNGPOZKBνϟϯωϧ΁Ͳ͏ͧɻ
    w %PDUSJOF
    w %PDUSJOFυΩϡϝϯτೖޱʢӳޠͷΈʣIUUQTXXXEPDUSJOFQSPKFDUPSHQSPKFDUTPSNIUNM
    w %PDUSJOFͱ&MPRVFOUൺֱେશΞυϕϯτΧϨϯμʔʢ೔ຊޠʣIUUQTRJJUBDPNBEWFOUDBMFOEBSQIQEPDUSJOFPSN
    WTFMPRVFOU
    w ೔ຊޠͰ࣭໰͸9 GPSNFSMZ5XJUUFS
    ͷϋογϡλάTZNGPOZ@KB͔QIQVTFSTKB4MBDLͷTZNGPOZKBνϟϯωϧ΁Ͳ͏ͧɻ

    View full-size slide

  14. GBLFGPSUFF
    w Α͋͘ΔʢʁʣΧϯϑΝϨϯεӡӦࢧԉγεςϜ
    w ϩάΠϯͨ͠Ϣʔβʔ͸޲͚ʹͭͷػೳΛఏڙ
    w ϓϩϙʔβϧ౤ߘ
    w νέοτߪೖ
    w ϓϩϙʔβϧͷӾཡ͸ϩάΠϯ͠ͳͯ͘΋Ͱ͖Δ
    w ຊ౰͸؅ཧऀը໘ͱ͔εϙϯαʔืूͱ͔৭ʑඞཁͳΜ͚ͩͲʜࠓ೔͸ׂѪ͠·͢
    😜

    View full-size slide

  15. 4ZNGPOZ͸΋ͱ΋ͱϞδϡϥϞϊϦεΛ৫ΓࠐΜͰ͍ͨʁʂʙ#VOEMFʙ
    w #VOEMFʢόϯυϧʣ
    w ϓϥάΠϯతʹϑϨʔϜϫʔΫͷڍಈΛΧελϚΠζͨ͠Γɺ࠶ར༻ՄೳͳػೳΛ૊ΈࠐΊΔ࢓૊Έ
    w ࣮͸4ZNGPOZϑϨʔϜϫʔΫͷػೳࣗମ͕#VOEMFͱͯ͠ఏڙ͞Ε͍ͯΔʢTZNGPOZGSBNFXPSL
    CVOEMFʣ
    w αʔυύʔςΟ͔Β΋ศརͳ#VOEMF͕഑෍͞Ε͍ͯΔʢQBDLBHJTU΍HJUIVCʣ
    w ౰વɺࣗ࡞΋Ͱ͖Δ
    w 4ZNGPOZ
    IUUQTTZNGPOZDPNSFMFBTFT͔Βଘࡏ
    w ౰ॳ͸ػೳ͝ͱʹ#VOEMFΛ෼͚࣮ͯ૷͢Δ͜ͱ͕ެࣜͰ΋ਪ঑͞Ε͍ͯͨʢ࣮͸࠷ॳͷϞδϡϥϞϊ
    Ϧεߏ૝͔ͩͬͨ΋͠Εͳ͍ʁʂʣ

    View full-size slide

  16. 4ZNGPOZ͸΋ͱ΋ͱϞδϡϥϞϊϦεΛ৫ΓࠐΜͰ͍ͨʁʂʙ#VOEMFʙ
    IUUQTHJUIVCDPNXFCQIQDPOTZNGPOZEPDUSJOFNPEVMFSNPOPMJUITBNQMF

    View full-size slide

  17. #VOEMFʹ෼͚͔ͨΒͱݴͬͯ҆શͰ͸ͳ͍

    View full-size slide

  18. #VOEMFʹ෼͚͔ͨΒͱݴͬͯ҆શͰ͸ͳ͍
    IUUQTHJUIVCDPNXFCQIQDPOTZNGPOZEPDUSJOFNPEVMFSNPOPMJUITBNQMFCMPCNPEVMFSNPOPMJUINPEVMFT5JDLFU#VOEMFTSD4FSWJDF
    4QFBLFS4QFDJ
    fi
    DBUJPOQIQ

    View full-size slide

  19. #VOEMFʹ෼͚͔ͨΒͱݴͬͯ҆શͰ͸ͳ͍
    w ϞδϡʔϧΛඈͼӽ͑ͨࢀর
    w 1SPQPTBM#VOEMFͷΫϥεͷϝιουΛ5JDLFU#VOEMF͔Βݺͼग़ͨ͘͠ͳ
    ͬͨΓ
    w ΫϩεϦϑΝϨϯε
    w 5JDLFU#VOEMFͷΫϥε͕1SPQPTBM#VOEMFͷΫϥεʹґଘ͍ͯͯ͠ɺ͞Β
    ʹͦͷΫϥεʹ5JDLFU#VOEMFͷผͷΫϥε͕ґଘ͍ͯͨ͠Γ

    View full-size slide

  20. #VOEMFʹ෼͚͔ͨΒͱݴͬͯ҆શͰ͸ͳ͍ΫϩεϦϑΝϨϯεͷةݥੑ
    w վमൣғ͕ͭͷ#VOEMF಺ʹด͡ΒΕͳ͍
    w 5JDLFU#VOEMF಺ͷΫϥεΛվमͨ͠Β1SPQPTBM#VOEMFʹ΋Өڹ͕ग़ͯ͠·
    ͏
    w 5JDLFU#VOEMFͷதͷػೳΛվम͍ͨ͠ͷʹɺ1SPQPTBM#VOEMF΋৮Δ͜ͱʹ
    w #VOEMF͝ͱʹνʔϜ΍୲౰ΤϯδχΞΛ෼͚͖Εͳ͍
    w 5JDLFUνʔϜ͕5JDLFU#VOEMF಺ͷΫϥεΛվमͨ͠Β1SPQPTBMνʔϜ΋ಉ
    ͡ΫϥεΛฤू͍ͯͯ͠ϓϧϦΫΤετ͕ίϯϑϦΫτ͢Δ

    View full-size slide

  21. ϧʔϧ
    w ֤Ϟδϡʔϧ಺͔Β͸ΞϓϦέʔγϣϯ΍ଞͷϞδϡʔϧ΁ͷґଘېࢭ
    w WFOEPSʹ͸ґଘͯ͠ྑ͍
    w ϞδϡʔϧΛ·͙ͨॲཧ͸ϞδϡʔϧଆͰͳ͘ΞϓϦέʔγϣϯଆʹॻ͘

    View full-size slide

  22. ʮͦΜͳϧʔϧͩͱશ෦BQQʹॻ͘͜ͱʹͳΔΜ͕ͩʁʯ
    w ͨͿΜϞδϡʔϧͷ෼͚ํ͕ؒҧͬͯ·͢ɻ

    View full-size slide

  23. ϧʔϧ९कΛαϙʔτ͢Δ1)1ͷػೳJOUFSGBDF
    w Ϟδϡʔϧ಺Ͱ͸JOUFSGBDFʹґଘ͢Δ
    w ΞϓϦέʔγϣϯଆʹJOUFSGBDFͷ۩৅ΫϥεΛஔ͘
    IUUQTXXXZPVUVCFDPNXBUDI W[T*%XNQ,Y&

    View full-size slide

  24. ϧʔϧ९कΛαϙʔτ͢Δ1)1ͷػೳJOUFSGBDF
    IUUQTHJUIVCDPNXFCQIQDPOTZNGPOZEPDUSJOFNPEVMFSNPOPMJUITBNQMFDPNNJUBBDBCCFDEG

    View full-size slide

  25. ϧʔϧ९कΛαϙʔτ͢Δ1)1ͷػೳJOUFSGBDF
    IUUQTHJUIVCDPNXFCQIQDPOTZNGPOZEPDUSJOFNPEVMFSNPOPMJUITBNQMFDPNNJUBBDBCCFDEG

    View full-size slide

  26. ϧʔϧ९कΛαϙʔτ͢Δ4ZNGPOZͷػೳEFQFOEFODZJOKFDUJPOʢ%*ʣ
    w Ϟδϡʔϧ಺ͷJOUFSGBDF΁ͷґଘʹΞϓϦέʔγϣϯଆͷ۩৅ΫϥεΛ஫ೖ
    ͢Δ
    w -BSBWFMͷ%*ʹ΋ಉ༷ͷػೳ͕͋Δʢ1SPWJEFSʹCJOEΛॻ͘ʣ

    View full-size slide

  27. ϧʔϧ९कΛαϙʔτ͢Δ4ZNGPOZͷػೳEFQFOEFODZJOKFDUJPO %*

    IUUQTHJUIVCDPNXFCQIQDPOTZNGPOZEPDUSJOFNPEVMFSNPOPMJUITBNQMFCMPCEJDPO
    fi
    HTFSWJDFTZBNM

    View full-size slide

  28. ϧʔϧ९कΛαϙʔτ͢Δ%PDUSJOFͷػೳSFTPMWF@UBSHFU@FOUJUJFT

    View full-size slide

  29. ϧʔϧ९कΛαϙʔτ͢Δ%PDUSJOFͷػೳSFTPMWF@UBSHFU@FOUJUJFT
    w ΞϓϦέʔγϣϯଆͷΤϯςΟςΟʹର͢ΔϦϨʔγϣϯ໰୊
    w యܕతʹ͸ΞϓϦέʔγϣϯଆʹ6TFS͕͋ΓɺϞδϡʔϧଆʹ6TFSͷॴ༗
    ͢ΔϦιʔε͕͋Δͱ͖
    w %PDUSJOFʹ͸JOUFSGBDFʹରͯ͠ϦϨʔγϣϯ͕ఆٛͰ͖Δػೳ͕͋Γɺ֤
    JOUFSGBDF͸Ͳͷ۩৅ΤϯςΟςΟʹׂΓ౰ͯΔ͔ઃఆͰ͖Δ
    ʢSFTPMWF@UBSHFU@FOUJUJFTઃఆʣ

    View full-size slide

  30. w ࣮ࡍͷίʔυΛ͓ݟͤ͠·͢
    ϧʔϧ९कΛαϙʔτ͢Δ%PDUSJOFͷػೳSFTPMWF@UBSHFU@FOUJUJFT

    View full-size slide

  31. w ࣮ࡍͷίʔυΛ͓ݟͤ͠·͢
    ϧʔϧ९कΛαϙʔτ͢Δ%PDUSJOFͷػೳSFTPMWF@UBSHFU@FOUJUJFT

    View full-size slide

  32. w ࣮ࡍͷίʔυΛ͓ݟͤ͠·͢
    ϧʔϧ९कΛαϙʔτ͢Δ%PDUSJOFͷػೳSFTPMWF@UBSHFU@FOUJUJFT

    View full-size slide

  33. ϧʔϧ९कΛαϙʔτ͢Δ5XJHʢ5XJH#VOEMFʣͷػೳUFNQMBUFPWFSSJEF
    w ϞδϡʔϧଆͷςϯϓϨʔτʹ΋ΞϓϦέʔγϣϯͷϨΠΞ΢τʢڞ௨ϔομ
    ʔϑολʔ΍ελΠϧ౳ʣΛద༻͍ͨ͠
    w Ϟδϡʔϧ಺͔ΒΞϓϦέʔγϣϯͷϨΠΞ΢τςϯϓϨʔτΛࢀর͢Δ
    ͱςϯϓϨʔτͷΫϩεϦϑΝϨϯε͕ൃੜ͢ΔͷͰ/(
    w Ϟδϡʔϧ಺ʹԾͷMBZPVUΛஔ͖ɺ5XJH#VOEMFͷUFNQMBUFPWFSSJEFΛ࢖ͬ
    ͯԾͷMBZPVUΛΞϓϦέʔγϣϯଆͰ֦ு͢Δ

    View full-size slide

  34. w ࣮ࡍͷίʔυΛ͓ݟͤ͠·͢
    ϧʔϧ९कΛαϙʔτ͢Δ5XJHʢ5XJH#VOEMFʣͷػೳUFNQMBUFPWFSSJEF

    View full-size slide

  35. ϧʔϧ९कΛαϙʔτ͢Δ5XJHʢ5XJH#VOEMFʣͷػೳUFNQMBUFPWFSSJEF

    View full-size slide

  36. ϧʔϧ९कΛαϙʔτ͢Δ5XJHʢ5XJH#VOEMFʣͷػೳUFNQMBUFPWFSSJEF

    View full-size slide

  37. ϧʔϧ९कΛαϙʔτ͢Δ5XJHʢ5XJH#VOEMFʣͷػೳUFNQMBUFPWFSSJEF

    View full-size slide

  38. ϧʔϧ९कΛαϙʔτ͢ΔDPNQPTFSͷػೳύοέʔδ෼཭
    w ͦ͏͸ݴͬͯ΋શ෦ͷϞδϡʔϧʹڞ௨Ͱ࢖͍͍ͨFOVN΍Ϋϥεఆ਺͕ඞཁ
    ˠWFOEPSʹͯ͠͠·͏
    w DPNQPTFSύοέʔδΛ࡞Δ
    w QBDLBHJTUʹެ։͠ͳͯ͘΋DPNQPTFSKTPOʹSFQPTJUPSJFTΛॻ͚͹࢖͑·
    ͢IUUQTHFUDPNQPTFSPSHEPDSFQPTJUPSJFTNE

    View full-size slide

  39. ϧʔϧ९कΛαϙʔτ͢ΔDPNQPTFSͷػೳύοέʔδ෼཭
    IUUQTHJUIVCDPNXFCQIQDPOTZNGPOZEPDUSJOFNPEVMFSNPOPMJUITBNQMFUSFFQBDLBHFTFQBSBUJPO

    View full-size slide

  40. ϧʔϧΛकͬͨ҆શͳϞδϡϥϞϊϦε
    w ϞδϡʔϧΛΞϓϦέʔγϣϯͱ͸཭Εͨ৔ॴʹஔ͘
    w ґଘͷํ޲ΛΞϓϦέʔγϣϯ͔ΒϞδϡʔϧͷํ޲ͷΈʹݶఆ͢Δ
    w JOUFSGBDFͱ4ZNGPOZͷ%*Λར༻͢Δ
    w %PDUSJOFͷSFTPMWF@UBSHFU@FOUJUJFTΛར༻͢Δ
    w 5XJH#VOEMFͷUFNQMBUFPWFSSJEFΛར༻͢Δ
    w ڞ௨ͷఆ਺΍FOVN͸ύοέʔδ෼཭͢Δ

    View full-size slide

  41. ΋ͬͱ҆શʹ͢Δʹ͸ʁ
    w ϞδϡϥϞϊϦεͷ҆શΛอ͍ͪͨ
    w ϞϊϦεͰ͋Γଓ͚Δ
    w ϞδϡϥʔͰ͋Γଓ͚Δ

    View full-size slide

  42. ΋ͬͱ҆શʹ͢ΔͷΛαϙʔτ͢ΔDPNQPTFSͷػೳύοέʔδ෼཭
    w ֤ϞδϡʔϧΛύοέʔδ෼཭͢Δ
    w ઈରʹΫϩεϦϑΝϨϯεͰ͖ͳ͍ʢ෺ཧʣ
    w Ϟδϡʔϧ͸ଞͷϞδϡʔϧʹґଘͰ͖ͳ͍
    w Ϟδϡʔϧ͸ΞϓϦέʔγϣϯʹґଘͰ͖ͳ͍
    w ΞϓϦέʔγϣϯ͸ϞδϡʔϧʹґଘͰ͖Δ

    View full-size slide

  43. ΋ͬͱ҆શʹ͢ΔͷΛαϙʔτ͢ΔDPNQPTFSͷػೳύοέʔδ෼཭

    View full-size slide

  44. ҆શͳϞδϡϥϞϊϦε
    w ϞδϡʔϧΛΞϓϦέʔγϣϯͱ͸཭Εͨ৔ॴʹஔ͘
    w ґଘͷํ޲ΛΞϓϦέʔγϣϯ͔ΒϞδϡʔϧͷํ޲ͷΈʹݶఆ͢Δ
    w JOUFSGBDFͱ4ZNGPOZͷ%*Λར༻͢Δ
    w %PDUSJOFͷSFTPMWF@UBSHFU@FOUJUJFTΛར༻͢Δ
    w 5XJH#VOEMFͷUFNQMBUFPWFSSJEFΛར༻͢Δ
    w ڞ௨ͷఆ਺΍FOVN͸ύοέʔδ෼཭͢Δ
    w ඞཁͳ৔߹͸ɺϞδϡʔϧࣗମΛύοέʔδ෼཭͢Δ /&8

    View full-size slide

  45. ҆શͳϞδϡϥϞϊϦε
    w "QQΛଠΒͤͯ͠·͏
    w ܗ্ࣜϧʔϧΛक͍ͬͯΔͷͰؾ͖ͮʹ͍͘ɾؾ͔ͮΕʹ͍͘
    w ݁ہ͸νʔϜͷจԽɺϨϏϡʔ͕࠷ޙͷࡆʹͳΔ

    View full-size slide

  46. ·ͱΊ
    w 1)1ͰͷϞδϡϥϞϊϦεʹڵຯ͕͋Δ
    w ͲΜͳ෩ʹ࣮ݱͰ͖Δ͔ΠϝʔδͰ͖·͔ͨ͠ʁ
    w طʹϞδϡϥϞϊϦεʹ௅ઓࣦͯ͠ഊͨ͠
    w ϞδϡϥϞϊϦεͱ͍͏ܗΛอͭίπΛ࣋ͪؼͬͯϦτϥΠͯ͠΄͍͠
    w -BSBWFMͰϞδϡϥϞϊϦεΛ࣮ફͯۤ͠࿑͍ͯ͠Δ
    w ͨͿΜ΄΅&MPRVFOU͕ѱ͍ͷͰMBSBWFMEPDUSJOFΛ࢖ͬͯ-BSBWFMͷதͰ%PDUSJOFΛ࢖ͬͯΈͯ΄͍͠
    w ີ݁߹ࢤ޲ͷ-BSBWFMͰͳ͘ૄ݁߹ࢤ޲ͷ4ZNGPOZʹҠߦ͢Δ͜ͱ΋બ୒ࢶʹೖΕͯΈͯ΄͍͠
    w શͯͷϓϩμΫτɾϓϩδΣΫτʹద༻͢΂͖΋ͷͰ͸ͳ͍
    w ಠཱͨ͠ػೳ͕ෳ਺͋ͬͯɺͦΕͧΕผͷ։ൃऀͰ։ൃ͍ͨ͠ͱ͖͸ݕ౼ͯ͠ྑ͍

    View full-size slide

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

    View full-size slide