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

スマホゲーム業界におけるPHPの歴史とLaravel Octaneで広がるこれからのPHP【CADC2022】

スマホゲーム業界におけるPHPの歴史とLaravel Octaneで広がるこれからのPHP【CADC2022】

本セッションでは、スマホゲーム業界におけるPHPの歴史をまじえ、サイバーエージェントグループのゲーム事業のPHPを用いた開発の変遷とそこで培ってきたこれまでについてと、これからのPHPをテーマにお話しします。
昨今のゲームの要件の多様化に伴い、PHPで開発するときの新たな課題がみえてきました。
その課題に対して、PHPで起きている変革をふまえ解決方法を考えていきます。
解決方法の一つとして、「Laravel Octane」という、PHPでもっとも注目されているフレームワークのLaravelに取り入れられた新しい仕組みについて、直近の開発事例を踏まえ、フレームワークの詳細を紹介します。

2016ba6b977a2e6691811fa66d5f4336?s=128

CyberAgent
PRO

March 24, 2022
Tweet

More Decks by CyberAgent

Other Decks in Technology

Transcript

  1. None
  2. നҪӳ גࣜձࣾαΠόʔΤʔδΣϯτ 4(&౷ׅຊ෦ٕज़౷ׅࣨࣨ௕ %FWFMPQFS&YQFSU ୲౰ྖҬ1)1 ࢠձࣾࣾ$50 גࣜձࣾ$SBGU&HH גࣜձࣾαϜβοϓ #MPHɿIUUQBNFCMPKQHPPEPP 5XJUUFSɿ!HPPEPP

  3. "HFOEB ୈ෦ɿεϚϗήʔϜۀքʹ͓͚Δ1)1 w$"ͷήʔϜࣄۀͷྺ࢙ͱ1)1 w1)1Ͱഓͬͨ΋ͷ ୈ෦ɿ͜Ε͔Βͷ1)1 wଟ༷Խ͢ΔήʔϜͷཁ݅ͱ$"ͷࣄྫ w1)1ͷมֵ4XPPMFɺ-BSBWFM0DUBOFͷొ৔ w-BSBWFM0DUBOF%FFQ%JWF

  4. ୈ෦ εϚϗήʔϜۀքʹ͓͚Δ1)1

  5. $"ͷήʔϜࣄۀͷ ྺ࢙ͱ1)1

  6. ೥ ιʔγϟϧΞϓϦᴈ໌ظ

  7. Ҿ༻ɿIUUQTQIQDPOQIQHSKQQSPHSBN ೥ͷ1)1ΧϯϑΝϨϯε

  8. ౰࣌͸·ͩ Ψϥέʔ͕ओઓ৔

  9. ੕ۭόʔλ΢ϯ υϦʔϜϓϩσϡʔαʔ ίʔσϚχΞ ౰࣌ͷ$"ఏڙͷΞϓϦ

  10. ੕ۭόʔλ΢ϯ υϦʔϜϓϩσϡʔαʔ ίʔσϚχΞ ౰࣌ͷ$"ఏڙͷΞϓϦ શͯ1)1Ͱಈ͍͍ͯͨ ౰࣌ɺ1)1ͷΨϥέʔରԠ ϥΠϒϥϦ͸ॆ࣮͍ͯͨ͠

  11. •αʔό͸ΦϯϓϨ •$BLF1)1 •QVQQFUͰαʔόߏங •σϓϩΠ͸$BQJTUSBOP •%#ͷ.JHSBUJPO͸3BLF ˞͢΂ͯͷϓϩδΣΫτͰ࣮ࢪͰ͖ͯͨΘ͚Ͱ͸ͳ͍Ͱ͢ ౰࣌ ೥ ͷ։ൃͷ࢓ํ

  12. ೥ ϒϥ΢βιʔγϟϧ ΞϓϦޙظ

  13. ϒϥ΢βͷΞϓϦͱ ωΠςΟϒͷΞϓϦΛ ࡞Γ࢝Ίͨ

  14. •αʔό͸ΦϯϓϨ͔ΒΫϥ΢υ •$PEF*HOJUFS •σϓϩΠ͸TIFMM STZOD ౰࣌ ೥ ͷ։ൃͷ࢓ํ

  15. ೥ స׵ظ

  16. ࢠձࣾͷ̍ͭ ͕։ൃݴޠΛ 1)1͔Β/PEFKT΁

  17. Ұؾʹಋೖ •5%% •ςετͷࣗಈԽ •σϓϩΠͷࣗಈԽ •.JHSBUJPO؅ཧ •ϚʔδϦΫΤετʹΑΔ •ίʔυϨϏϡʔ

  18. 1)1ίϛϡχςΟͰ ֶΜͩࣄΛੜ͔ͨ͠

  19. ͜ͷεϥΠυͷ಺༰Λ࣮ફ http://www.ryuzee.com/contents/blog/6102

  20. ͜ͷεϥΠυͷ಺༰ΛऔΓೖΕΔ http://sotarok.hatenablog.com/entry/20120919/presented_git_and_pull_request_work_flow_at_phpcon2012

  21. •αʔό͸Ϋϥ΢υ •$PEF*HOJUFS 1)1  •FYQSFTT /PEFKT  •σϓϩΠ͸$BQJTUSBOP •%#ͷ.JHSBUJPO͸3BLF ౰࣌

    ೥ ͷ։ൃͷ࢓ํ
  22. ೥ ҆ఆظ

  23. ωΠςΟϒΞϓϦ͕ ओઓ৔

  24. •αʔό͸Ϋϥ΢υ •ϩδοΫ෦෼͸1)1 •ϦΞϧλΠϜ௨৴෦෼ $IBUPSϚϧνότϧʣʹ /PEFKT΋͘͠͸ɺ4BBTͷར༻ ݴޠͷ࢖͍෼͚

  25. ݱࡏ ੒ख़ظ

  26. ϚϧνϓϥοτϑΥʔϜԽ ͕ਐΉ 1$ʹ΋഑৴

  27. •(Pݴޠ͕૿͑ͨ H31$ͷબ୒  •ϦΞϧλΠϜ௨৴ͷཁ݅͸ଟ͍ 4BBTΛ࢖͏͜ͱ͕ଟ͍  •$MPVE4QBOOFSͷར༻΋ σʔλྔ͕ଟ͍  •ϦηϚϥɺCPUରࡦʹ೰·͞ΕΔ

    ଟ༷ੑ
  28. 1)1Ͱഓͬͨ΋ͷ

  29. ͍··Ͱͷࢿ࢈ աڈ೥ؒͷ։ൃӡ༻ܦݧ 1)1ͰͷιʔγϟϧΞϓϦ։ൃ

  30. ˠlਖ਼ղzΛ͍࣋ͬͯΔ ˠΠϯϑϥ؀ڥ ɹ։ൃϑϩʔ·ͰؚΊͨϊ΢ϋ΢

  31. ήʔϜ։ൃͷಛ௃ ɾҰճͭͬͨ͘Β͓ΘΓͰ͸ͳ͍ ɹˠιʔεͷण໋͕ࢥͬͨΑΓ௕͍ ɾӡ༻͕͋ΔͨΊɺৗʹιʔεʹखΛೖΕΔ ɹˠԼख͢Δͱɺຖ೔ϦϦʔε͕͋Δ ɹˠӡ༻͕͋ΔݶΓଓ͘։ൃ

  32. ϊ΢ϋ΢ॏཁ

  33. ͨͱ͑͹ ͜Μͳ͜ͱ

  34. "`ͷߋ৽্͕ॻ͖͞Εͯͳ͔ͬͨ͜ͱʹʂ A Aʼ DB ࢀর ߋ৽ ࢀর ߋ৽  •ಉҰϢʔβ͔Β

    •ಉ͡ϦΫΤετ͕ •ҧ͏αʔόʔʹ •΄΅ಉ࣌ʹͱͲ͍ͯ •ॲཧͷ௥͍ӽ͕͠ൃੜʂʢόάʣ
  35. ඞͣϢʔβͷϩοΫ ʢ௥͍ӽ͠͠ͳ͍Α͏  Λߋ৽ϩδοΫʹೖΕ͍ͯΔ ʢྫ͑͹ɺϢʔβςʔϒϧΛϩοΫʣ

  36. 8FCαʔϏεͱͯ͠ Έͨͱ͖ͷ ήʔϜ։ൃ͸ʁ

  37. جຊతͳߟ͑ํ͸ ଞͷ8FCαʔϏεͱಉ͡ ɾτϥϯβΫγϣϯͷߟ͑ํ ɾෛՙରࡦ ɾηΩϡϦςΟରࡦ

  38. ୈ෦ ͜Ε͔Βͷ1)1

  39. ଟ༷Խ͢ΔήʔϜͷ ཁ݅ͱ$"ͷࣄྫ

  40. εϚϗͰ΋৭ʑͳήʔϜ͕Ͱ͖͍ͯͯΔ wότϧϩΠϠϧܥ ࠷େਓͰ࠷ޙͷҰਓʹͳΔ·ͰϦΞϧλΠϜͰότϧ wόʔνϟϧϥΠϒܥ ಉ࣌઀ଓ਺ສਓʹ഑৴ wϦΞϧλΠϜϚονϯάܥ WTͳͲνʔϜʹ෼͔ΕͯϦΞϧλΠϜʹରઓ

  41. wότϧϩΠϠϧܥ w ϑΟʔϧυʹ͍ΔσʔλΛϢʔβؒͰಉظ w ஗Ԇ͕΄ͱΜͲΏΔ͞Εͳ͍ wόʔνϟϧϥΠϒܥ w Կਓ઀ଓ͠ʹདྷΔ͔Θ͔Βͳ͍தɺಉ࣌઀ଓਓ਺Λ εέʔϧ͢Δ࢓૊ΈͰ഑৴ wϦΞϧλΠϜϚονϯάܥ

    w ෳࡶͳϚονϯάͷΞϧΰϦζϜΛॲཧͭͭ͠ɺ ϢʔβετϨεʹͳΒͳ͍࣌ؒͰϚονϯά ήʔϜͷཁ݅
  42. $"ͷࣄྫ όʔνϟϧϥΠϒ ϓϩδΣΫτηΧΠΧϥϑϧεςʔδʂGFBUॳԻϛΫ όʔνϟϧϥΠϒͰಉ࣌઀ଓສਓʂ

  43. $"ͷࣄྫ ϦΞϧλΠϜϚονϯά wεϚʔτϑΥϯ޲͚›ۭதରઓΞΫγϣϯήʔϜ wWTͰ༡ͿϦΞϧλΠϜότϧ

  44. ,JDL'MJHIUͰͷϚονϯάཁ݅ ,JDL'MJHIU͸ɺϢʔβʔΛWTͷνʔϜʹ Ϛονϯά͢Δඞཁ͕͋Δ Ϛονϯάʹ͸ɺҎԼΛߟྀ͠ͳ͚Ε͹ͳΒͳ͍ wϢʔβʔͷϓϨΠεΩϧ͕͍ۙϢʔβʔΛϚονϯά͢Δ wότϧ಺ͰΩϟϥΫλʔΛۃྗඃΒͤͳ͍Α͏ʹ͢Δ w஥ؒͱϚονϯάʹࢀՃ͢Δ͜ͱ͕Ͱ͖Δ w஥ؒͱ͸ඞͣಉ͡νʔϜʹͳΔ wϚονϯά׬ྃલͳΒୀग़Ͱ͖Δ wϚονϯάͷ్தܦաΛදࣔ͢Δ

    w଎͘Ϛονϯά͢Δ
  45. 0QFO.BUDIͰ࣮ݱ IUUQTXXXTMJEFTIBSFOFU)BNNPVEJ4BNJSPQFONBUDIEFFQEJWF 0QFO.BUDIͷ֓ཁ

  46. 1)1Ͱ͏͍ͯ͝Δ ϚονϯάΛߦ͍ͬͯΔ෦෼͸..' ..'ʢ.BUDI.BLJOH'VODUJPOʣͱ͸ • ΧελϜՄೳͳϚονϯάϩδοΫ • ։ൃऀ͕Ϛονϯάʹؔ͢ΔϩδοΫΛ࣮૷͢Δ • ,JDL'MJHIUͰ͸1)1Ͱ࣮૷

  47. 1)1ͷมֵ 4XPPMF -BSBWFM0DUBOF ͷొ৔

  48. 1)1ͰͰ͖ͳ͔ͬͨ͜ͱ Ͱ͖ͳ͍ͱ͓΋͍ͬͯͨ͜ͱʣ wඇಉظॲཧ wଞϓϩηεΛىಈ͢Δͱ͍͏ٕ΋͋Δ͕ɾɾ w8FC4PDLFUαʔόʔ w044ͷϥΠϒϥϦ͸͋Δ ݹ͘͸ʮQIQXFCTPDLFUʯ IUUQTHJUIVCDPNCMPBUMFTTQIQXFCTPDLFU  wH31$αʔόʔ

    w༗໊ͳ(PPHMFάϧʔϓͷ΍ΓͱΓ ʮ5IFSFBSFTFWFSBMQSPCMFNTXJUIUIFJEFBPGBH31$ TFSWFSJO1)1 BOEXFIBWFOPQMBOTGPSUIBUʯ IUUQTHSPVQTHPPHMFDPNHHSQDJPD'*Z:B*@4 
  49. 4XPPMFͷొ৔ 4XPPMFJTBOFWFOUESJWFOBTZODISPOPVT DPSPVUJOFCBTFEDPODVSSFODZOFUXPSLJOH DPNNVOJDBUJPOFOHJOFXJUIIJHIQFSGPSNBODF XSJUUFOJO$ GPS1)1 IUUQTHJUIVCDPNTXPPMFTXPPMFTSD Πϕϯτۦಈܕͷඇಉظɾίϧʔνϯܕฒߦॲཧ ωοτϫʔΫ௨৴Τϯδϯ ඇಉظॲཧ΍ฒߦॲཧ͕͓खܰʹ͔͚Δʂ

    ͞Βʹ )551αʔόʔɺ8FC4PDLFUαʔόʔ͕Մೳʂ
  50. -BSBWFM0DUBOFͷొ৔ -BSBWFM0DUBOFʢΦΫλϯʣ͸ɺ4XPPMF΍3PBE3VOOFSͳͲͷߴੑ ೳͳΞϓϦέʔγϣϯαʔόΛ࢖༻͠ɺΞϓϦέʔγϣϯΛఏڙ͢Δ ͜ͱͰɺΞϓϦέʔγϣϯͷύϑΥʔϚϯεΛ޲্ͤ͞·͢ɻ0DUBOF ͸ΞϓϦέʔγϣϯΛҰ౓ىಈͨ͠ΒɺϝϞϦ಺ʹอ࣋͠ɺͦͯ͠௒ Ի଎ͰϦΫΤετΛૹΓฦ͠·͢ɻ ʢIUUQTSFBEPVCMFDPNMBSBWFMYKBPDUBOFIUNMʣ લड़ͷ4XPPMFΛ1)1Ͱ΋ͬͱ΋ਓؾͷߴ͍ϑ ϨʔϜϫʔΫͷ-BSBWFM͕औΓࠐΜͩʂ

  51. H31$αʔόʔ͸ɾɾɾ લड़ͷ(PPMHFάϧʔϓͷ΍ΓͱΓͷ͖ͭͮʹ࠷ۙ   ౤ߘ͕͋Γ·ͨ͠ ޙड़ͷதᒇ͞Μ !O@ ͕౤ߘ  ʮ*NUSZJOHUPJNQMFNFOU4FSWFS4USFBNJOH31$TXJUI"NQ

    )5514FSWFS "OFYBNQMFDIBUBQQBMNPTUXPSLTVTJOH&OWPZH31$8FC 1SPYZʯ
  52. ͍ͭʹH31$αʔόʔ 4FSWFS4USFBNJOH31$Λ"NQ IUUQTBNQIQPSH  Λ༻͍࣮ͯݱ ৄ͘͠͸Լهࢀর IUUQTTQFBLFSEFDLDPNOCVSBV[BLBSBTIJNFSVHSQDHSQDXFCOJQIQXPUJBOFUF

  53. 1)1ͰͰ͖Δ wඇಉظॲཧ w4XPPMFɺ-BSBWFM0DUBOFͰͰ͖Δʂ w8FC4PDLFUαʔόʔ w4XPPMFͰͰ͖Δʂ -BSBWFM0DUBOF͸·ͩະରԠ  wH31$αʔόʔ w"NQͰͰ͖Δʂ

  54. -BSBWFM0DUBOF %FFQ%JWF

  55. 1)1'1.ͱ-BSBWFM0DUBOFͷҧ͍ 1)1'1.ͷಈ࡞Πϝʔδ ϦΫΤετ͝ͱʹຖճॲཧ͕ߦΘΕΔ Proxy Server ϦΫΤετ Ϩεϙϯε ϦΫΤετ %JTL͔ΒΞϓϦΛ୳͢ ϝϞϦ্ʹϩʔυ

    ॲཧͷ࣮ߦ Ϩεϙϯε PHP-FPM
  56. 1)1'1.ͱ-BSBWFM0DUBOFͷҧ͍ -BSBWFM0DUBOFͷಈ࡞Πϝʔδ ىಈॲཧҎ߱͸ɺΞϓϦέʔγϣϯͷॲཧʹ$16Ϧ ιʔε͕ूதͰ͖͍ͯΔ ϦΫΤετ Ϩεϙϯε ϝϞϦ্ϩʔυࡁΈ ॲཧͷ࣮ߦ Laravel Octane

    ࣮ߦ݁Ռ
  57. -BSBWFM0DUBOFͷॲཧ .BOBHFSͱ8PSLFS ϦΫΤετΛड͚෇͚ͨ.BOHFS͕ 8PSLFSʹॲཧΛҕৡ͢Δ 8PSLFS 8PSLFS 8PSLFS ϦΫΤετ .BOBHFS ϓϩηεΛΈΔͱ.BOHFS͔Β8PSLFS͕

    ىಈ͞Ε͍ͯΔͷ͕Θ͔Δ
  58. -BSBWFM0DUBOFͷॲཧ 8PSLFS͸ϦΫΤετΛॲཧ͢Δ࣌ʹαϯυϘοΫείϯςφ ͷDMPOFΛड͚औͬͯॲཧ͢Δ WFOEPSMBSBWFMPDUBOFTSD8PSLFSQIQɹ ֘౰෦෼Λ؆ུԽʣ

  59. -BSBWFM0DUBOFͷॲཧ 8PSLFS͸ϦΫΤετ͕ऴྃ͢ΔͱαϯυϘοΫείϯςφΛ ۭʹͯ͠࢖༻͠ͳ͘ͳͬͨΦϒδΣΫτΛΞϯηοτ͢Δ WFOEPSMBSBWFMPDUBOFTSD8PSLFSQIQɹ ֘౰෦෼Λ؆ུԽʣ

  60. -BSBWFM0DUBOFͷॲཧ DMFBOVQॲཧ͸ଞʹ΋͋Δ MJTUFOFSTͱͯ̎ͭ͠ͷॲཧ͕ొ࿥͞Ε͍ͯΔ DPOpHPDUBOFQIQɹʢ֘౰ॲཧΛൈਮʣ

  61. -BSBWFM0DUBOFͷॲཧ -PDBMFɺ$PPLJFɺ4FTTJPOɺೝূ৘ใɺ3FRVFTU4DIFNF ͳͲΛॳظԽ͍ͯ͠Δ ͜ΕʹΑΓɺϦΫΤετΛލ͍ͩॲཧͷԚછΛ๷͍Ͱ͍Δ WFOEPSMBSBWFMPDUBOFTSD$PODFSOT1SPWJEFT%FGBVMU$POpHVSBUJPO0QUJPOTQIQɹʢ֘౰ॲཧΛൈਮʣ

  62. -BSBWFM0DUBOFࣄྫ

  63. -BSBWFM0DUBOFࣄྫ ΩϟϯϖʔϯαΠτͰ࢖༻ ௨ৗͷ-BSBWFMͰͷ։ൃͱҧ͍ɺ ஫ҙ͢Δ఺͕Θ͔ͬͨ

  64. -BSBWFM0DUBOFࣄྫ ϦΫΤετ͝ͱͷॲཧΛղઆ͕ͨ͠ɺ ΞϓϦέʔγϣϯίϯςφʔ͕DMPOF͞Ε ͔ͯΒ8PSLFS͕ϦΫΤετΛॲཧ͢Δ ϦΫΤετΛॲཧ͢Δલʹ ͍͔ͭ͘ΫϦʔϯΞοϓ͕͸͠Δ

  65. -BSBWFM0DUBOFࣄྫ 3PVUJOHʹؔͯ͠஫ҙ͕ඞཁ ΞϓϦέʔγϣϯίϯςφʹ3PVUJOH৘ใ ͸֨ೲ͞Ε͍ͯΔ $MPVTVSFͱͯ͠ొ࿥Λ͍ͯ͠ͳ͍ͱ 8PSLFS಺ͰɺΠϯελϯεԽ͞Εͨ $POUSPMMFS͕࠶ར༻͞ΕΔ

  66. -BSBWFM0DUBOFࣄྫ ۩ମతʹ͸ɺίϯετϥΫλΛඞͣݺͼͨ ͍$POUSPMMFS͸OFX͢ΔΑ͏ʹ$MPTVSF ܦ༝ͷݺͼग़͠ʹ͢Δ SPVUFTXFCQIQ

  67. -BSBWFM0DUBOFࣄྫ OFX͠ͳ͍ͱಉ͡Πϯελϯε͕͔ͭΘΕ ΔͨΊɺҎԼͷΑ͏ʹຊདྷมΘͬͯཉ͍͠ ஋͕มߋ͞Εͣʹ࢖͍·Θ͞ΕΔ

  68. -BSBWFM0DUBOF*OTJEF ιʔεΛ͓ͬͯΈΔ

  69. -BSBWFM0DUBOF*OTJEF ࣮ࡍͷιʔεΛ͓͍ͬͯͬͯΈ·͠ΐ͏ ىಈॲཧΛΈͯΈ·͢

  70. -BSBWFM0DUBOF*OTJEF ىಈॲཧɹPDUBOFTUBSU WFOEPSMBSBWFMPDUBOFTSD$PNNBOET4UBSU$PNNBOEQIQ QIQBSUJTBOPDUBOFTUBSUŠTFSWFSTXPPMF

  71. UIJTTUBSU4XPPMF4FSWFS͔Β PDUBOFTXPPMF͕ݺ͹ΕΔ WFOEPSMBSBWFMPDUBOFTSD$PNNBOET4UBSU$PNNBOEQIQ -BSBWFM0DUBOF*OTJEF

  72. PDUBOFTXPPMF͔ΒTXPPMFTFSWFS͕ 1SPDFTTܦ༝Ͱݺ͹ΕΔ WFOEPSMBSBWFMPDUBOFTSD$PNNBOET4UBSU4XPPMF$PNNBOEQIQɹʢൈਮʣ -BSBWFM0DUBOF*OTJEF

  73. TXPPMFTFSWFSͷॲཧͷதͰ 8PSLFSΛTUBSU WFOEPSMBSBWFMPDUBOFCJOTXPPMFTFSWFS -BSBWFM0DUBOF*OTJEF

  74. 0O8PSLFS4UBSUͷத਎ 8PLFSΛOFX͍ͯ͠Δ WFOEPSMBSBWFMPDUBOFTSD4XPPMF)BOEMFST0O8PSLFS4UBSUQIQ -BSBWFM0DUBOF*OTJEF

  75. PDUBOFTUBSUΛ͢Δͱ 8PSLFS͕଴ͪड͚ঢ়ଶʹͳ͍ͬͯΔ͜ͱ͕ ֬ೝͰ͖ͨ -BSBWFM0DUBOF*OTJEF

  76. -BSBWFM0DUBOF*OTJEF $POUSPMMFSͷDPOUSVDU͕ݺ͹ΕΔ࣌ͱ ݺ͹Εͳ͍࣌ͷҧ͍ΛݟͯΈ·͢

  77. ϦΫΤετड෇࣌ɹTXPPMFTFSWFS XPSLFSIBOEMFʹ ϦΫΤετ͕౉͞ΕΔ WFOEPSMBSBWFMPDUBOFCJOTXPPMFTFSWFS ൈਮ -BSBWFM0DUBOF*OTJEF

  78. 8PSLFSͷதͷॲཧΛ͓͍͖ͬͯ·͢ 8PSLFS "QQMJDBUJPO(BUFXBZ ,FSOFM 3PVUFS 3PVUF 8PSLFS͔Β"QQMJDBUJPO(BUFXBZͷIBOEMFϝιουʹ SFRVFTU͕౉͞Ε·͢ WFOEPSMBSBWFMPDUBOFTSD8PSLFSQIQɹʢൈਮʣ -BSBWFM0DUBOF*OTJEF

  79. 8PSLFS "QQMJDBUJPO(BUFXBZ ,FSOFM 3PVUFS 3PVUF "QQMJDBUJPO(BUFXBZ͔ΒLFSOFMͷIBOEMFʹ SFRVFTU͕౉͞Ε·͢ WFOEPSMBSBWFMPDUBOFTSD"QQMJDBUJPO(BUFXBZQIQ -BSBWFM0DUBOF*OTJEF

  80. 8PSLFS "QQMJDBUJPO(BUFXBZ ,FSOFM 3PVUFS 3PVUF LFSOFMͷIBOEMF͔ΒTFOE3FRVFTU5ISPVHI3PVUFSʹ SFRVFTU͕౉͞Ε·͢ WFOEPSMBSBWFMGSBNFXPSLTSDJMMVNJOBUF'PVOEBUJPO)UUQ,FSOFMQIQ -BSBWFM0DUBOF*OTJEF

  81. 8PSLFS "QQMJDBUJPO(BUFXBZ ,FSOFM 3PVUFS 3PVUF LFSOFMͷTFOE3FRVFTU5ISPVHI3PVUFS͔ΒEJTQBUDI5P3PVUFSʹ SFRVFTU͕౉͞Ε·͢ WFOEPSMBSBWFMGSBNFXPSLTSDJMMVNJOBUF'PVOEBUJPO)UUQ,FSOFMQIQ -BSBWFM0DUBOF*OTJEF

  82. 8PSLFS "QQMJDBUJPO(BUFXBZ ,FSOFM 3PVUFS 3PVUF LFSOFMͷEJTQBUDI5P3PVUFS͔Β3PVUFSͷEJTQBUDIʹ SFRVFTU͕౉͞Ε·͢ WFOEPSMBSBWFMGSBNFXPSLTSDJMMVNJOBUF'PVOEBUJPO)UUQ,FSOFMQIQ -BSBWFM0DUBOF*OTJEF

  83. 8PSLFS "QQMJDBUJPO(BUFXBZ ,FSOFM 3PVUFS 3PVUF 3PVUFSͷEJTQBUDI͔ΒEJTQBUDI5P3PVUFɺSVO3PVUFɺSVO3PVUF8JUIJO4UBDLʹ SFRVFTU͕౉͞Ε·͢ WFOEPSMBSBWFMGSBNFXPSLTSDJMMVNJOBUF3PVUJOH3PVUFSQIQ -BSBWFM0DUBOF*OTJEF

  84. 8PSLFS "QQMJDBUJPO(BUFXBZ ,FSOFM 3PVUFS 3PVUF 3PVUFSͷSVO3PVUF8JUIJO4UBDLʹͯɺHBUIFS3PVUF.JEEMFXBSF΁ SPVUF͕౉͞Ε·͢ WFOEPSMBSBWFMGSBNFXPSLTSDJMMVNJOBUF3PVUJOH3PVUFSQIQ -BSBWFM0DUBOF*OTJEF

  85. 8PSLFS "QQMJDBUJPO(BUFXBZ ,FSOFM 3PVUFS 3PVUF 3PVUFSͷHBUIFS3PVUF.JEEMFXBSFʹͯ3PVUFͷHBUIFS.JEEMFXBSF͕ݺ͹Ε·͢ WFOEPSMBSBWFMGSBNFXPSLTSDJMMVNJOBUF3PVUJOH3PVUFSQIQ -BSBWFM0DUBOF*OTJEF

  86. 8PSLFS "QQMJDBUJPO(BUFXBZ ,FSOFM 3PVUFS 3PVUF 3PVUFͷHBUIFS.JEEMFXBSFͰ͸ɺUIJTDPNQVUFE.JEEMFXBSF͕͋Ε͹ɺSFUVSO͍ͯ͠·͢ ˞ճ໨Ҏ߱ͷϦΫΤετ͸͜͜ͰSFUVSO͞Ε·͢  ͳ͍৔߹ɺDPOUSPMMFS.JEEMFXBSF͕Α͹Ε·͢ ໭Γ஋ͱͯ͠UIJTDPNQVUFE.JEEMFXBSFʹ஋͕֨ೲ͞ΕΔ

    WFOEPSMBSBWFMGSBNFXPSLTSDJMMVNJOBUF3PVUJOH3PVUFQIQ -BSBWFM0DUBOF*OTJEF
  87. 8PSLFS "QQMJDBUJPO(BUFXBZ ,FSOFM 3PVUFS 3PVUF 3PVUFͷDPOUSPMMFS.JEEMFXBSFͰHFU$POUSPMMFS͕ݺ͹Ε·͢ WFOEPSMBSBWFMGSBNFXPSLTSDJMMVNJOBUF3PVUJOH3PVUFQIQ -BSBWFM0DUBOF*OTJEF

  88. 8PSLFS "QQMJDBUJPO(BUFXBZ ,FSOFM 3PVUFS 3PVUF 3PVUFͷHFU$POUSPMMFS͔ΒDPOUBJOFSNBLF͕ΠϯελϯεԽ͢Δ $POUSPMMFSΛҾ਺ʹݺͼग़͞Ε·͢ WFOEPSMBSBWFMGSBNFXPSLTSDJMMVNJOBUF3PVUJOH3PVUFQIQ -BSBWFM0DUBOF*OTJEF

  89. 8PSLFS "QQMJDBUJPO(BUFXBZ ,FSOFM 3PVUFS 3PVUF DPOUBJOFSNBLF͔ΒSFTPMWFɺCVJMEͱݺ͹Εͯɺ࠷ऴతʹ 3FqFDUJPO$MBTTOFX*OTUBODF"SHTͰΠϯελϯεԽ͞Ε·͢ ͜ͷ࣌ͷΈ$POUSPMMFSͷDPOUSVDUFS͕࣮ߦ͞ΕΔʣ WFOEPSMBSBWFMGSBNFXPSLTSDJMMVNJOBUF$POUBJOFS$POUBJOFSQIQ -BSBWFM0DUBOF*OTJEF

  90. 8PSLFS "QQMJDBUJPO(BUFXBZ ,FSOFM 3PVUFS 3PVUF DPOUBJOFSNBLF͔ΒSFTPMWFɺCVJMEͱݺ͹Εͯɺ࠷ऴతʹ 3FqFDUJPO$MBTTOFX*OTUBODF"SHTͰΠϯελϯεԽ͞Ε·͢ ͜ͷ࣌ͷΈ$POUSPMMFSͷDPOUSVDUFS͕࣮ߦ͞ΕΔʣ WFOEPSMBSBWFMGSBNFXPSLTSDJMMVNJOBUF$POUBJOFS$POUBJOFSQIQɹ ൈਮ

    -BSBWFM0DUBOF*OTJEF
  91. 8PSLFS͕ϦΫΤετ͕଴ͪड͚Δ࢓૊Έͷ -BSBWMF0DUBOFͰ͸ 3PVUFDPNQVUFE.JEEMFXBSF ͷ಺༰͕8PSLFSʹอ࣋͞ΕΔͨΊ $POUSPMMFSͷDPOTUSVDU͸ ճ͔͠ݺͼ͞ΕΕͳ͍͜ͱ͕ ιʔε͔Β΋֬ೝͰ͖·ͨ͠ -BSBWFM0DUBOF*OTJEF

  92. -BSBWFM0DUBOF·ͱΊ w1)1'1.ʹൺ΂ߴ଎ʹॲཧͰ͖ΔΞʔΩςΫνϟ w8PSLFS͸ίϯςφΛDMPOFͯ͠ॲཧ͢Δ wDMFBOVQॲཧͰ͋Δఔ౓ॳظԽ͞ΕΔ w$POUSPMMFSͷίϯετϥΫλ͕ॳճϦΫΤετΛड ͚෇͚ͨ࣌ʹ͔͠ݺͼͩΕ͞Εͳ͍ wίϯετϥΫλΛϦΫΤετ͝ͱ࣮ߦ͍ͨ͠৔߹ ͸ɺ$MPTVSFݺͼग़͠ͰɺOFX͢Δ͜ͱ

  93. ·ͱΊ

  94. ήʔϜʹ͓͚Δαʔόʔଆͷཁ݅͸ ଟ༷Խ͖͍ͯͯ͠Δ 1)1ͰͰ͖ͳ͍ͱࢥ͍ͬͯͨ͜ͱ΋ -BSBWFM0DUBOFʹݟΒΕΔΑ͏ʹ ৽͍͠࢓૊ΈΛ 1)1͕औΓೖΕΔ͜ͱʹΑͬͯ ղܾͭͭ͋͠Δ

  95. -FU`T&OKPZ1)1

  96. ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠