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

フラットなPHPからオブジェクト指向で自動テストのあるPHPへ、そしてフレームワークへ #phpcon2022

Hiromi Hishida
September 24, 2022

フラットなPHPからオブジェクト指向で自動テストのあるPHPへ、そしてフレームワークへ #phpcon2022

PHP Conference Japan 2022 day1 track3 13:20〜のセッションスライドです。
---

https://fortee.jp/phpcon-2022/proposal/ef41a5ba-4efd-4a9f-b6a8-ae456df00541

フラットなPHPの書き方はわかった、では次はフレームワークへ…というとき、どんな基準でフレームワークを選んでいますか?なぜそのフレームワークを使ってアプリケーションを書くと良いのか、理解できていますか?堅牢でメンテナブルなアプリケーションを作るとき、なぜフラットなPHPでは難しいのでしょうか?
入門書や動画講座でPHPの基本文法を学んだあと、盲目的に次のステップとしてフレームワークを学習するのではなく、必要性を実感した上でフレームワークを学習してほしい、と私は常々考えています。
このトークではフラットなペラ1枚のPHPスクリプトから出発して、オブジェクト指向で自動テストのできるPHPアプリケーションへ、そして更にフレームワークを使ったアプリケーションになるまで、コードと考え方をお話しします。

◆含まれるもの

PHPのオブジェクト指向の用語と書き方
ありふれたスクリプトの中に埋め込まれた「仕事」の発見と整理の考え方
PHPUnitを使った自動テストの基本
Symfonyフレームワークを使ってHTTPリクエストを受け取ってHTTPレスポンスを返すまで
◆含まないもの

データベース操作
テーブル設計
Laravelフレームワークの使い方

Hiromi Hishida

September 24, 2022
Tweet

More Decks by Hiromi Hishida

Other Decks in Programming

Transcript

  1. UI4FQUFNCFS BU1)1$POGFSFODFJO5PLZP CZ)JSPNJ)JTIJEB !XFC

    ϑϥοτͳ1)1͔ΒΦϒδΣΫτࢦ޲
    Ͱࣗಈςετͷ͋Δ1)1΁ɺͦͯ͠ϑ
    ϨʔϜϫʔΫ΁

    View full-size slide

  2. *MMVTUESBXOCZ!UEBLBL
    XFCʢͳͳ͏͐Ϳʣ
    1)1ྺ೥ɻதֶ೥ੜͱߴߍ೥ੜͷ฼ɻग़࢈ޙʹ
    ಠֶͰϑϦʔϥϯεˠΧϧςοτίϛϡχέʔγϣϯ
    ζ։ൃ෦ɺݱࡏ1)1νʔϜϚωʔδϟʔʢϓϨΠϯά
    ϚωʔδϟʔʣɻೝఆεΫϥϜϚελʔऔಘɻ
    w ೔ຊ4ZNGPOZϢʔβʔձɺ1)1ϝϯλʔζ
    4ZNGPOZ5IF'BTU5SBDL೔ຊޠ຋༁νʔ
    ϜͳͲͰ׆ಈ
    w %%% 5%% ϓϩμΫτϚωδϝϯτ

    View full-size slide

  3. ͜ͷηογϣϯͷର৅
    w ࠷ۙ1)1Λֶͼ࢝Ίͨਓ
    w εΫʔϧ΍ΦϯϥΠϯߨ࠲Ͱ1)1ΛֶΜͰɺ࣍ʹԿΛͨ͠Β͍͍ͷʁͱࢥͬ
    ͍ͯΔਓ

    View full-size slide

  4. 1)1ͷจ๏
    w 1)1NBOVBMIUUQTXXXQIQOFUNBOVBMKB
    w 1)1ೖ໳ຊ

    View full-size slide

  5. 1)1ͷจ๏
    w QIQͰ͸͡·Δ
    w ͭͷ໋ྩ͸lzͰऴΘΔ
    w Λ͚ͭΔͱม਺
    w *GจͰ৔߹෼͚
    w GPSจ XIJMFจͰ܁Γฦ͠
    w ഑ྻͱGPSFBDI
    w ؔ਺ఆٛͱݺͼग़͠

    View full-size slide

  6. 1)1ͷจ๏
    w QIQͰ͸͡·Δ
    w ͭͷ໋ྩ͸lzͰऴΘΔ
    w Λ͚ͭΔͱม਺
    w *GจͰ৔߹෼͚
    w GPSจ XIJMFจͰ܁Γฦ͠
    w ഑ྻͱGPSFBDI
    w ؔ਺ఆٛͱݺͼग़͠
    ΋͏ɺ؆୯ͳϓϩάϥϜͳΒ
    ॻ͚·͢Ͷ

    View full-size slide

  7. 1)1ͷจ๏ɺͪΌΜͱϚελʔͨ͠ʁ
    QIQ

    JG J
    \

    FDIPb"`

    ^FMTF\

    FDIPb#`

    ^


    J͕ͷͱ͖ɺͷͱ͖ɺͷͱ͖ɺͷͱ͖ͦΕͧΕ"͕ग़Δ͔#͕ग़Δ͔೴಺Ͱγ
    ϛϡϨʔγϣϯͰ͖·͔͢ʁ

    View full-size slide

  8. 1)1ͷจ๏ɺͪΌΜͱϚελʔͨ͠ʁ
    w *GจʹݶΒͣɺجຊతͳ1)1ίʔυͷ೴಺γϛϡϨʔγϣϯ͕·ͩո͍͠ਓ͸
    จ๏ϚελʔͰ͖Δ·Ͱ෮श͠·͠ΐ͏ɻ
    w ೖ໳ຊʹ໭ͬͯɺ1)1ͷαϯϓϧίʔυΛຊΛݟͳ͍ͰࣗવʹଧͪࠐΊΔ
    Α͏ʹͳΔ·Ͱ΍Δ
    w ϓϩάϥϛϯά໰୊
    w "U$PEFSIUUQTBUDPEFSKQ
    w -FFU$PEFIUUQTMFFUDPEFDPN

    View full-size slide

  9. ͓͠ͳ͕͖
    w 1)1ͷΦϒδΣΫτࢦ޲
    w 1)1ͷΦϒδΣΫτࢦ޲Λੜ͔࣮ͨ͠૷ํ๏
    w ࣗಈςετɾςετۦಈ։ൃʢ5%%ʣ
    w ϑϨʔϜϫʔΫͱ͸

    View full-size slide

  10. 1)1ͷΦϒδΣΫτࢦ޲
    w PCKFDU
    w DMBTT
    w FYUFOETʢܧঝʣ
    w JOTUBODF
    w QSPQFSUZ
    w NFUIPE
    w JOUFSGBDF

    View full-size slide

  11. 1)1ͷΦϒδΣΫτࢦ޲

    ΦϒδΣΫτͱ͸
    w ෺ମɺର৅ɺ໨త
    w ਓؒ
    w ෺
    w ݐ෺
    w Πϕϯτ
    w ੈͷத͸ΦϒδΣΫτͰᷓΕ͍ͯΔ

    View full-size slide

  12. 1)1ͷΦϒδΣΫτࢦ޲

    Ϋϥεͷߟ͑ํ
    w ҩࢣ͸ਓؒͷױऀʹ஫ࣹΛଧͭ͜ͱ͕
    Ͱ͖Δɻ

    View full-size slide

  13. 1)1ͷΦϒδΣΫτࢦ޲

    Ϋϥεͷߟ͑ํ
    w ्ҩࢣ͸ɺਓؒʹ͸஫ࣹΛଧͭ͜ͱ͕
    Ͱ͖ͳ͍ɻಈ෺ʹ͸஫ࣹΛଧͭ͜ͱ͕
    Ͱ͖Δɻ

    View full-size slide

  14. 1)1ͷΦϒδΣΫτࢦ޲

    Ϋϥεͷߟ͑ํ
    w ्ҩࢣ͸ʮಈ෺ʯʹ஫ࣹΛଧͭ͜ͱ͕Ͱ͖Δɻ
    w ҩࢣ͸ʮਓؒʯʹ஫ࣹΛଧͭ͜ͱ͕Ͱ͖Δɻ

    View full-size slide

  15. 1)1ͷΦϒδΣΫτࢦ޲

    Ϋϥεͷߟ͑ํ

    View full-size slide

  16. 1)1ͷΦϒδΣΫτࢦ޲

    ܧঝͷߟ͑ํ

    View full-size slide

  17. 1)1ͷΦϒδΣΫτࢦ޲

    ܧঝͷߟ͑ํ

    View full-size slide

  18. 1)1ͷΦϒδΣΫτࢦ޲

    ܧঝͷߟ͑ํ
    w ʮݘʯ͸ʮಈ෺ʯΛܧঝ͍ͯ͠Δ
    w ʮݘʯ͸ʮݘʯͷಛ௃͚ͩͰͳ͘ʮಈ෺ʯͷಛ௃΋ซͤ࣋ͭ
    w ʮνϫϫʯͱ͔ʮγϕϦΞϯϋεΩʔʯ͸ʮݘʯΛߋʹܧঝ͍ͯ͠Δ

    View full-size slide

  19. 1)1ͷΦϒδΣΫτࢦ޲

    Ϋϥεͱ࣮ମʢΠϯελϯεʣ

    View full-size slide

  20. 1)1ͷΦϒδΣΫτࢦ޲

    Ϋϥεͱ࣮ମʢΠϯελϯεʣ
    w ्ҩࢣΫϥε
    w ࡳຈࢢͷࢁా्ҩࢣʢΠϯελϯεʣ
    w ໊ݹ԰ࢢͷాத्ҩࢣʢΠϯελϯεʣ
    w ಈ෺Ϋϥε
    w ݘΫϥε
    w νϫϫΫϥε
    w ϝϦʔͪΌΜʢΠϯελϯεʣ
    w ౾ࣲΫϥε
    w ଠ࿠͘ΜʢΠϯελϯεʣ
    w ՖࢠͪΌΜʢΠϯελϯεʣ

    View full-size slide

  21. 1)1ͷΦϒδΣΫτࢦ޲

    ϓϩύςΟ

    View full-size slide

  22. 1)1ͷΦϒδΣΫτࢦ޲

    ϓϩύςΟ
    w ໊લʜʮࢁాઌੜ͓ئ͍͠·͢ʯʮాதઌੜ͓ئ͍͠·͢ʯ
    w ಛ௃ʜʮঁੑͷઌੜ͓ئ͍͠·͢ʯʮएઌੜͰ͓ئ͍͠·͢ʯʮϝΨωͷઌ
    ੜͷ΄͏Λ͓ئ͍͠·͢ʯ

    View full-size slide

  23. 1)1ͷΦϒδΣΫτࢦ޲

    ϝιου
    w ्ҩࢣ͸ಈ෺ʹʮ஫ࣹΛଧͭʯͱ͍͏ߦಈ͕Ͱ͖Δɻ
    w ्ҩࢣΫϥε͸ಈ෺Λର৅ʹʮ஫ࣹΛଧͭʯͱ͍͏ϝιουΛ͍࣋ͬͯΔ
    w ҩࢣ΋ʮ஫ࣹΛଧͭʯͱ͍͏ߦಈ͕Ͱ͖Δ͕ɺର৅͸ʮಈ෺ʯͰͳ͘ʮਓ
    ؒʯɻ
    w ҩࢣΫϥε͸ਓؒΛର৅ʹʮ஫ࣹΛଧͭʯͱ͍͏ϝιουΛ͍࣋ͬͯΔ

    View full-size slide

  24. 1)1ͷΦϒδΣΫτࢦ޲

    ϝιου
    w ݘʮ๸͑Δʯ͜ͱ͕Ͱ͖Δ
    w ϥΠΦϯ΋ʮ๸͑Δʯ͜ͱ͕Ͱ͖Δ
    w ͔͠͠ɺϥΠΦϯ͸ݘͰ͸ͳ͍
    w ͜͜Ͱʮ๸͑ΔϝιουΛ͍࣋ͬͯΔ͔ΒϥΠΦϯ΋ݘͱͯ͠ѻ͏ʯͱ͍
    ͏ݴޠ΋͋Δ͕ɺ1)1͸ͦ͏Ͱ͸ͳ͍ɻ

    View full-size slide

  25. 1)1ͷΦϒδΣΫτࢦ޲

    Ӆṭʢϝιουͷޮ༻ʣ
    w ϝϦʔͪΌΜʢࡀʣJO
    w ϝϦʔͪΌΜʢࡀʣJO
    w ʜ

    View full-size slide

  26. 1)1ͷΦϒδΣΫτࢦ޲

    Ӆṭʢϝιουͷޮ༻ʣ
    w ϝϦʔͪΌΜ
    w ʮ೥݄೔ੜ·ΕʯΛϓϩύς
    Οͱͯ࣋ͭ͠
    w ʮ೥ྸΛݴ͏ʯϝιουʹΑΓɺ࣮ߦ
    ࣌఺ͷ೥ྸΛग़ͤΔʢӅṭʹ੒ޭʣ

    View full-size slide

  27. 1)1ͷΦϒδΣΫτࢦ޲

    JOUFSGBDF
    w DMBTTͱJOUFSGBDF
    w ʮา͘͜ͱ͕Ͱ͖ΔʯJOUFSGBDF
    w ʮνϫϫʯDMBTT

    View full-size slide

  28. 1)1ͷΦϒδΣΫτࢦ޲
    w PCKFDU
    w DMBTT
    w FYUFOETʢܧঝʣ
    w JOTUBODF
    w QSPQFSUZ
    w NFUIPE
    w JOUFSGBDF

    View full-size slide

  29. 1)1ͷΦϒδΣΫτࢦ޲

    1)1Ͱͷද͠ํΫϥε
    JOUFSGBDF8BMLBCMF\

    ^
    DMBTT.BNF4IJCB\

    ^

    View full-size slide

  30. 1)1ͷΦϒδΣΫτࢦ޲

    1)1Ͱͷද͠ํܧঝ
    w 1)1Ͱ͸ܧঝ͸JNQMFNFOUT FYUFOETΛ࢖ͬͯද͢ɻ
    w JOUFSGBDF͕JOUFSGBDFΛܧঝ͢Δͱ͖͸FYUFOET
    w DMBTT͕JOUFSGBDFΛܧঝ͢Δͱ͖͸JNQMFNFOUT
    w DMBTT͕DMBTTΛܧঝ͢Δͱ͖͸FYUFOET
    w JOUFSGBDF͕DMBTTΛܧঝ͢Δ͜ͱ͸ͳ͍

    View full-size slide

  31. 1)1ͷΦϒδΣΫτࢦ޲

    1)1Ͱͷද͠ํܧঝ
    JOUFSGBDF8BMLBCMF\^
    JOUFSGBDF3VOOBCMFFYUFOET8BMLBCMF\^
    DMBTT4IJCBJOVJNQMFNFOUT3VOOBCMF\^
    DMBTT.BNF4IJCBFYUFOET4IJCBJOV\^

    View full-size slide

  32. 1)1ͷΦϒδΣΫτࢦ޲

    1)1Ͱͷද͠ํΠϯελϯε
    w OFXΫϥε໊

    View full-size slide

  33. 1)1ͷΦϒδΣΫτࢦ޲

    1)1Ͱͷද͠ํΠϯελϯε
    DMBTT.BNF4IJCB\^

    NZ%PHOFX.BNF4IJCB

    View full-size slide

  34. 1)1ͷΦϒδΣΫτࢦ޲

    1)1Ͱͷද͠ํϓϩύςΟͷఆٛ
    w DMBTT಺ʹAϓϩύςΟ໊A
    w Ϋϥε֎͔Β΋ಡΈॻ͖͍ͨ͠QVCMJDϓϩύςΟ໊
    w Ϋϥε಺͚ͩͰಡΈॻ͖͍ͨ͠QSJWBUFϓϩύςΟ໊
    w ܧঝ͍ͯ͠ΔΫϥε͚͕ͩಡΈॻ͖͍ͨ͠QSPUFDUFEϓϩύςΟ໊

    View full-size slide

  35. 1)1ͷΦϒδΣΫτࢦ޲

    1)1Ͱͷද͠ํϓϩύςΟͷఆٛ
    *OUFSGBDF8BMLBCMF\^
    DMBTT.BNF4IJCBJNQMFNFOUT8BMLBCMF\

    QVCMJDTUSJOHOBNF

    QSPUFDUFEJOUXFJHIU

    QSJWBUFa%BUF5JNF*NNVUBCMFCJSUI%BUF

    ^

    View full-size slide

  36. 1)1ͷΦϒδΣΫτࢦ޲

    1)1Ͱͷද͠ํϓϩύςΟͷಡΈॻ͖
    w ಡΈऔΓʢ֎͔Βʣ
    w FDIPΠϯελϯεϓϩύςΟ໊
    w ΠϯελϯεϓϩύςΟ໊ϓϩύςΟͷ஋ʹΛ଍͢
    w ॻ͖ࠐΈʢ֎͔Βʣ
    w ΠϯελϯεϓϩύςΟ໊b͸ͳ͜`

    View full-size slide

  37. 1)1ͷΦϒδΣΫτࢦ޲

    1)1Ͱͷද͠ํϓϩύςΟͷಡΈॻ͖
    *OUFSGBDF8BMLBCMF\^
    DMBTT.BNF4IJCBJNQMFNFOUT8BMLBCMF\

    QVCMJDTUSJOHOBNF

    QSPUFDUFEJOUXFJHIU

    QSJWBUFa%BUF5JNF*NNVUBCMFCJSUI%BUF

    ^
    NZ%PHOFX.BNF4IJCB


    NZ%PHOBNFbϙν`

    FDIPb໊લ`NZ%PHOBNF

    FDIPbମॏ`NZ%PHXFJHIU

    FDIPb஀ੜ೔`NZ%PHCJSUI%BUF

    View full-size slide

  38. 1)1ͷΦϒδΣΫτࢦ޲

    1)1Ͱͷද͠ํϓϩύςΟͷಡΈॻ͖
    w ಡΈऔΓʢத͔Βʣ
    w FDIPUIJTϓϩύςΟ໊
    w UIJTϓϩύςΟ໊ϓϩύςΟͷ஋ʹΛ଍͢
    w ॻ͖ࠐΈʢத͔Βʣ
    w UIJTϓϩύςΟ໊b͸ͳ͜`

    View full-size slide

  39. 1)1ͷΦϒδΣΫτࢦ޲

    1)1Ͱͷද͠ํϝιουͷఆٛ
    w DMBTT಺ʹGVODUJPOϝιου໊ ໨త෺ͷΫϥε໨త෺ͷΠϯελϯε

    \ʢ͜͜ʹ࣮ࡍͷॲཧ಺༰ʣ^ͷΑ͏ʹఆٛ
    w ϝιουʹ΋ϓϩύςΟͱಉ༷ʹQSJWBUF QSPUFDUFE QVCMJDΛܾΊΔ͜ͱ
    ͕Ͱ͖Δ
    w JOUFSGBDF಺ʹGVODUJPOϝιου໊ ໨త෺ͷΫϥε໨త෺ͷΠϯελϯ
    ε
    Λఆٛ͢Δ͜ͱ΋Ͱ͖Δ

    View full-size slide

  40. 1)1ͷΦϒδΣΫτࢦ޲

    1)1Ͱͷද͠ํϝιουͷఆٛ
    *OUFSGBDF8BMLBCMF\

    QVCMJDGVODUJPOXBML
    WPJE

    ^

    DMBTT%PHJNQMFNFOUT8BMLBCMF\

    QSJWBUFJOUIQ

    QVCMJDGVODUJPOXBML
    WPJE

    \

    UIJTIQา͘ͱർΕΔͷͰ)1͕ݮΔ

    ^

    QVCMJDGVODUJPOFBU 'PPE*OUFSGBDFGPPE
    TUSJOH

    \

    UIJTIQGPPEFOFSHZ৯΂ͨΒ)1͕ճ෮

    SFUVSObZVN`

    ^

    ^

    View full-size slide

  41. 1)1ͷΦϒδΣΫτࢦ޲

    1)1Ͱͷද͠ํϝιουͷ࣮ߦ
    w Πϯελϯεϝιου໊ Ҿ਺

    View full-size slide

  42. 1)1ͷΦϒδΣΫτࢦ޲

    1)1Ͱͷද͠ํϝιουͷ࣮ߦ
    DMBTT%PHJNQMFNFOUT8BMLBCMF\

    QVCMJDGVODUJPOXBML
    WPJE

    \

    ^

    QVCMJDGVODUJPOFBU 'PPE*OUFSGBDFGPPE
    TUSJOH

    \

    SFUVSObZVN`

    ^

    ^

    NZ%PHOFX%PH


    NZ%PHXBML
    Ҿ਺΋ड͚औΒͣ஋΋ฦ͞ͳ͍ͷͰ͜ΕͰऴΘΓ

    GFFECBDLNZ%PHFBU EPH'PPE
    Ҿ਺ͱͯ͠EPH'PPEΛ౉͍ͯ͠ΔɻPOJPO͸౉ͪ͠Όμϝɻ

    FDIPGFFECBDLZVN͕ฦ͖͍ͬͯͯΔͷͰFDIP͢ΔͱZVN͕ೖ͍ͬͯΔ͜ͱ͕Θ͔Δ

    View full-size slide

  43. 1)1ͷΦϒδΣΫτࢦ޲

    1)1Ͱͷද͠ํಛघͳϝιου
    w @@DPOTUSVDU
    ϝιουʜΫϥεΛΠϯελϯεԽ͢Δͱ͖ʹࣗಈతʹ࣮ߦ͞
    ΕΔɻίϯετϥΫλɻ
    w @@EFTUSVDU
    ϝιουʜΫϥεͷΠϯελϯεΛഁغ͢Δͱ͖ʹࣗಈతʹ࣮ߦ
    ͞ΕΔɻσετϥΫλɻ

    View full-size slide

  44. 1)1ͷΦϒδΣΫτࢦ޲

    1)1Ͱͷද͠ํಛघͳϝιου
    w OFXΫϥε ίϯετϥΫλͷҾ਺ ίϯετϥΫλͷҾ਺

    View full-size slide

  45. 1)1ͷΦϒδΣΫτࢦ޲

    1)1Ͱͷද͠ํಛघͳϝιου
    DMBTT%PH\

    QVCMJDGVODUJPO@@DPOTUSVDU QSJWBUFJOUXFJHIU
    \^

    QVCMJDGVODUJPOJT)FBWZ
    CPPM

    \

    SFUVSOUIJTXFJHIU

    ^

    ^

    MJHIU%PHOFX%PH


    IFBWZ%PHOFX%PH


    WBS@EVNQ MJHIU%PHJT)FBWZ

    ͍ܰͷͰGBMTF

    WBS@EVNQ IFBWZ%PHJT)FBWZ

    ॏ͍ͷͰUSVF

    View full-size slide

  46. 1)1ͷΦϒδΣΫτࢦ޲
    w PCKFDU
    w DMBTT
    w FYUFOETʢܧঝʣ
    w JOTUBODF
    w QSPQFSUZ
    w NFUIPE
    w JOUFSGBDF

    View full-size slide

  47. ͓͠ͳ͕͖
    w 1)1ͷΦϒδΣΫτࢦ޲
    w 1)1ͷΦϒδΣΫτࢦ޲Λੜ͔࣮ͨ͠૷ํ๏
    w ࣗಈςετɾςετۦಈ։ൃʢ5%%ʣ
    w ϑϨʔϜϫʔΫͱ͸

    View full-size slide

  48. 1)1ͷΦϒδΣΫτࢦ޲Λੜ͔࣮ͨ͠૷ํ๏
    ϑϥοτͳ1)1Ͱ࣮૷ͨ͠ϝʔϧϑΥʔϜ
    w ͜͜ʹίʔυ
    IUUQTHJUIVCDPNXFCQIQDPOPPQTBNQMFCMPC
    fl
    BUQVCMJDJOEFYQIQ

    View full-size slide

  49. 1)1ͷΦϒδΣΫτࢦ޲Λੜ͔࣮ͨ͠૷ํ๏
    ϑϥοτͳ1)1Ͱ࣮૷ͨ͠ϝʔϧϑΥʔϜ
    w ͜͜ʹίʔυ

    View full-size slide

  50. 1)1ͷΦϒδΣΫτࢦ޲Λੜ͔࣮ͨ͠૷ํ๏
    ϑϥοτͳ1)1Ͱ࣮૷ͨ͠ϝʔϧϑΥʔϜ
    w ͜͜ʹίʔυ
    ʢུʣ

    View full-size slide

  51. 1)1ͷΦϒδΣΫτࢦ޲Λੜ͔࣮ͨ͠૷
    ϑϥοτͳ1)1Ͱ࣮૷ͨ͠ϝʔϧϑΥʔϜ
    w αϯϓϧϝʔϧϑΥʔϜͷ໰୊఺
    w ߦ਺͕ଟ͍
    w Ͳ͔͜Օॴ͚ͩΛमਖ਼͢Δͱ͖ɺશମʹӨڹͯ͠͠·͏
    w ςετͮ͠Β͍
    w ಈ࡞֬ೝ͸ϒϥ΢βͰ࣮ࡍʹखಈͰશύλʔϯࢼ͞ͳ͍ͱ͍͚ͳ͍

    View full-size slide

  52. 1)1ͷΦϒδΣΫτࢦ޲Λੜ͔࣮ͨ͠૷ํ๏

    ೔ຊޠͰ࢓ࣄΛ੔ཧ͢Δ

    View full-size slide

  53. 1)1ͷΦϒδΣΫτࢦ޲Λੜ͔࣮ͨ͠૷ํ๏

    ೔ຊޠͰ࢓ࣄΛ੔ཧ͢Δ
    όϦσʔγϣϯ

    View full-size slide

  54. 1)1ͷΦϒδΣΫτࢦ޲Λੜ͔࣮ͨ͠૷ํ๏

    ೔ຊޠͰ࢓ࣄΛ੔ཧ͢Δ
    ϝʔϧૹ৴
    ׬ྃը໘ʹϦμΠϨΫτ

    View full-size slide

  55. 1)1ͷΦϒδΣΫτࢦ޲Λੜ͔࣮ͨ͠૷ํ๏

    ೔ຊޠͰ࢓ࣄΛ੔ཧ͢Δ
    ʢུʣ
    ϑΥʔϜදࣔ

    View full-size slide

  56. 1)1ͷΦϒδΣΫτࢦ޲Λੜ͔࣮ͨ͠૷ํ๏

    ೔ຊޠͰ࢓ࣄΛ੔ཧ͢Δ
    w 1045ͳΒ
    w όϦσʔγϣϯ
    w όϦσʔγϣϯ͕/(ͳΒ
    w ϑΥʔϜදࣔ
    w ϝʔϧૹ৴
    w ϝʔϧૹ৴͕੒ޭͳΒ
    w ׬ྃը໘΁ϦμΠϨΫτ
    w 1045͡Όͳ͔ͬͨΒ
    w ϑΥʔϜදࣔ
    ˡ࢓ࣄͷൃಈ͢Δ৚݅
    ˡ࢓ࣄͷ໊લ

    View full-size slide

  57. 1)1ͷΦϒδΣΫτࢦ޲Λੜ͔࣮ͨ͠૷ํ๏

    ࢓ࣄΛ͢ΔਓʢΫϥεʣΛ෼͚Δ
    ೖྗΛ
    ड͚औΔ
    ॲཧ ॲཧ ग़ྗΛදࣔ
    Ϋϥε Ϋϥε Ϋϥε Ϋϥε
    ˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠ

    View full-size slide

  58. 1)1ͷΦϒδΣΫτࢦ޲Λੜ͔࣮ͨ͠૷ํ๏

    ࢓ࣄΛ͢ΔਓʢΫϥεʣΛ෼͚Δ
    w όϦσʔγϣϯʜ7BMJEBUF"DUJPO
    w ϝʔϧૹ৴ʜ4FOE.BJM"DUJPO
    w ׬ྃը໘΁ϦμΠϨΫτʜ$PNQMFUF"DUJPO
    w ϑΥʔϜදࣔʜ4IPX'PSN"DUJPO

    View full-size slide

  59. 1)1ͷΦϒδΣΫτࢦ޲Λੜ͔࣮ͨ͠૷ํ๏

    ࢓ࣄΛ͢ΔਓʢΫϥεʣΛ෼͚Δ
    ˡݩͷεΫϦϓτ͔Βίϐϖͯ͠
    ͖ͨόϦσʔγϣϯ෦෼
    ˡ7BMJEBUF"DUJPOΫϥεΛఆٛ
    ˡEPϝιουΛఆٛ
    IUUQTHJUIVCDPNXFCQIQDPOPPQTBNQMFCMPCEJWJEFJOUPDMBTTTSD7BMJEBUF"DUJPOQIQ

    View full-size slide

  60. 1)1ͷΦϒδΣΫτࢦ޲Λੜ͔࣮ͨ͠૷ํ๏

    ࢓ࣄΛ͢ΔਓʢΫϥεʣΛ෼͚Δ
    ˡ4FOE"DUJPOΫϥεΛఆٛ
    ˡEPϝιουΛఆٛ
    ˡϝʔϧૹ৴Λίϐϖ
    ˡ׬ྃը໘දࣔ͸αϒͷผͷ࢓ࣄ
    ͱ͢Δ
    IUUQTHJUIVCDPNXFCQIQDPOPPQTBNQMFCMPCEJWJEFJOUPDMBTTTSD4FOE"DUJPOQIQ

    View full-size slide

  61. 1)1ͷΦϒδΣΫτࢦ޲Λੜ͔࣮ͨ͠૷ํ๏

    ࢓ࣄΛ͢ΔਓʢΫϥεʣΛ෼͚Δ
    w 7BMJEBUF"DUJPO
    w 4FOE"DUJPO
    w $PNQMFUF"DUJPO
    w 4IPX'PSN"DUJPO

    View full-size slide

  62. 1)1ͷΦϒδΣΫτࢦ޲Λੜ͔࣮ͨ͠૷ํ๏

    ࢓ࣄΛ͢ΔਓʢΫϥεʣΛ෼͚Δ
    w 1045ͳΒ
    w όϦσʔγϣϯ
    w όϦσʔγϣϯ͕/(ͳΒ
    w ϑΥʔϜදࣔ
    w ϝʔϧૹ৴
    w ϝʔϧૹ৴͕੒ޭͳΒ
    w ׬ྃը໘΁ϦμΠϨΫτ
    w 1045͡Όͳ͔ͬͨΒ
    w ϑΥʔϜදࣔ

    View full-size slide

  63. 1)1ͷΦϒδΣΫτࢦ޲Λੜ͔࣮ͨ͠૷ํ๏

    ࢓ࣄΛ͢ΔਓʢΫϥεʣΛ෼͚Δ
    IUUQTHJUIVCDPNXFCQIQDPOPPQTBNQMFCMPCEJWJEFJOUPDMBTTQVCMJDJOEFYQIQ

    View full-size slide

  64. 1)1ͷΦϒδΣΫτࢦ޲Λੜ͔࣮ͨ͠૷ํ๏

    ࢓ࣄΛ͢ΔਓʢΫϥεʣΛ෼͚Δ

    View full-size slide

  65. 1)1ͷΦϒδΣΫτࢦ޲Λੜ͔࣮ͨ͠૷ํ๏

    ࢓ࣄΛ͢ΔਓʢΫϥεʣΛ෼͚Δ
    ೖྗΛ
    ड͚औΔ
    ॲཧ ॲཧ ग़ྗΛදࣔ
    Ϋϥε Ϋϥε Ϋϥε Ϋϥε
    ˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠ

    View full-size slide

  66. 1)1ͷΦϒδΣΫτࢦ޲Λੜ͔࣮ͨ͠૷ํ๏

    ࢓ࣄΛ͢ΔਓʢΫϥεʣΛ෼͚Δ
    IUUQTHJUIVCDPNXFCQIQDPOPPQTBNQMFCMPCVTFCPYTSD#PYQIQ

    View full-size slide

  67. 1)1ͷΦϒδΣΫτࢦ޲Λੜ͔࣮ͨ͠૷ํ๏

    ࢓ࣄΛ͢ΔਓʢΫϥεʣΛ෼͚Δ
    ˡҾ਺ͱͯ͠CPYΛड͚औΔ
    ˡ@1045Ͱͳ͘CPYQPTUʹ
    ରͯ͠όϦσʔγϣϯ͢Δ
    ˡΤϥʔ͕͋Ε͹CPYWBMJEBUJPO&SSPSTʹηοτ
    IUUQTHJUIVCDPNXFCQIQDPOPPQTBNQMFCMPCVTFCPYTSD7BMJEBUF"DUJPOQIQ

    View full-size slide

  68. 1)1ͷΦϒδΣΫτࢦ޲Λੜ͔࣮ͨ͠૷ํ๏

    ࢓ࣄΛ͢ΔਓʢΫϥεʣΛ෼͚Δ
    w #PYΛ͔ͭͬͨ"DUJPOΛ࢖ͬͯJOEFYQIQΛ૊ΈཱͯΔ
    IUUQTHJUIVCDPNXFCQIQDPOPPQTBNQMFCMPCVTFCPYQVCMJDJOEFYQIQ

    View full-size slide

  69. ͓͠ͳ͕͖
    w 1)1ͷΦϒδΣΫτࢦ޲
    w 1)1ͷΦϒδΣΫτࢦ޲Λੜ͔࣮ͨ͠૷ํ๏
    w ࣗಈςετɾςετۦಈ։ൃʢ5%%ʣ
    w ϑϨʔϜϫʔΫͱ͸

    View full-size slide

  70. ࣗಈςετɾςετۦಈ։ൃʢ5%%ʣ

    ࣗಈςετͱ͸
    w ςετۦಈ։ൃIUUQTXXXBNB[PODPKQEQ
    w 1)16OJUNBOVBMIUUQTQIQVOJUSFBEUIFEPDTJPKBMBUFTU
    w 1)1ΧϯϑΝϨϯεɾ1)1FS,BJHJͷաڈͷ5%%ؔ࿈ηογϣϯಈը
    w ࠓ೔ʙ5SBDL!1BOEB@1SPHSBN͞Μͷʮ࣮ફʂϢχοτςετೖ
    ໳ʯ

    View full-size slide

  71. ࣗಈςετɾςετۦಈ։ൃʢ5%%ʣ

    ςετίʔυͷॻ͖ํ
    w 1)16OJUa'SBNFXPSLa5FTU$BTFΛܧঝͨ͠ςετΫϥεΛॻ͘
    w ݪଇͱͯ͠Ϋϥε໊Λl5FTUzͰऴΘΔΑ͏ʹ໊෇͚Δ
    w େ఍͸ςετ͍ͨ͠ର৅ͷΫϥεͷ໊લʹz5FTUzΛ͚ͭΔ
    w ςετ༻ͷϝιουΛఆٛ͢Δ
    w ݪଇͱͯ͠ϝιου໊ΛzUFTUz͔Β࢝ΊΔ
    w େ఍͸ςετύλʔϯ͝ͱʹϝιουΛ෼͚Δ

    View full-size slide

  72. ࣗಈςετɾςετۦಈ։ൃʢ5%%ʣ

    ςετίʔυͷαϯϓϧ
    ˡ7BMJEBUF"DUJPO5FTUΫϥεΛఆٛɺQIQVOJUͷ5FTU$BTFΛܧঝ
    ˡਖ਼ৗͳσʔλͰςετ
    ˡਖ਼ৗͳσʔλͳͷͰΤϥʔ͕ग़ͳ͍͜ͱ֬ೝ
    ˡFNBJM͕ͳ͍ҟৗͳσʔλ
    ˢFNBJM͕ͳ͍ҟৗͳσʔλͳͷͰɺΤϥʔ
    ͕ग़Δ͜ͱΛ֬ೝ
    ˡUFTU@ਖ਼ৗϝιουΛఆٛ
    ˡUFTU@ϝʔϧΞυϨεະهೖϝιουΛఆٛ
    IUUQTHJUIVCDPNXFCQIQDPOPPQTBNQMFCMPCNBJOUFTUT7BMJEBUF"DUJPO5FTUQIQ

    View full-size slide

  73. ࣗಈςετɾςετۦಈ։ൃʢ5%%ʣ

    ࣗಈςετͷϝϦοτ
    w ༷ʑͳύλʔϯΛը໘Λਓ͕ؒ৮Δ͜ͱͳ͘νΣοΫͰ͖Δ
    w ͲΜͳύλʔϯΛςετ͍ͯͯ͠ɺͲΜͳύλʔϯΛςετͯ͠ͳ͍ͷ͔ূڌ
    ͕࢒Δ
    w ޙ͔ΒϓϩδΣΫτʹKPJO͢Δਓʹ΋Θ͔Δ
    w Կ౓Ͱ΋ɾؾܰʹɾʢେ఍͸ʣ୹࣌ؒͰςετͰ͖Δ

    View full-size slide

  74. ͓͠ͳ͕͖
    w 1)1ͷΦϒδΣΫτࢦ޲
    w 1)1ͷΦϒδΣΫτࢦ޲Λੜ͔࣮ͨ͠૷ํ๏
    w ࣗಈςετɾςετۦಈ։ൃʢ5%%ʣ
    w ϑϨʔϜϫʔΫͱ͸

    View full-size slide

  75. ϑϨʔϜϫʔΫͱ͸
    ೖྗΛ
    ड͚औΔ
    ॲཧ ॲཧ ग़ྗΛදࣔ
    Ϋϥε Ϋϥε Ϋϥε Ϋϥε
    ˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠˠ

    View full-size slide

  76. ϑϨʔϜϫʔΫͱ͸
    IUUQTHJUIVCDPNTZNGPOZTZNGPOZCMPCTSD4ZNGPOZ$PNQPOFOU)UUQ,FSOFM)UUQ,FSOFMQIQ-

    View full-size slide

  77. ϑϨʔϜϫʔΫͱ͸
    w ΞϓϦέʔγϣϯͷओཁػೳΛ࡞Δͷʹूத͢Δ
    w $POUSPMMFSͷத਎ͷ࣮૷ΛؤுΔ
    w Ϣʔβʔͷ՝୊Λղܾ͢Δ
    w ࢓ࣄΛൃݟ͢ΔͨΊͷޠኮΛ૿΍͢
    w όϦσʔγϣϯɾϦμΠϨΫτͷΑ͏ͳɺʮΑ͋͘Δ࢓ࣄʯͷύλʔϯΛ஌
    Δ

    View full-size slide

  78. ϑϨʔϜϫʔΫͱ͸
    w ϑϨʔϜϫʔΫ͸࢖ͬͯ΋࢖ΘΕΔͳ
    w lͲ͏ͳͬͨΒ)BQQZͳΜ͚ͩͬʁz

    View full-size slide

  79. ϑϨʔϜϫʔΫͱ͸
    ϑϨʔϜϫʔΫΛֶΜͰΈ͍ͨͱࢥͬͨΒʜ
    w 4ZNGPOZ5IF'BTU5SBDLIUUQTTZNGPOZDPNEPDDVSSFOUUIFGBTU
    USBDLKBJOEFYIUNM
    w IUUQTTZNGPOZDPNEPDDVSSFOUTFUVQIUNM͔Β(FUUJOH4UBSUFE

    View full-size slide

  80. IUUQTUXJUUFSDPNXFCTUBUVT
    ͓·͚

    View full-size slide