$30 off During Our Annual Pro Sale. View Details »

フレームワークで見るObserverパターン #PHPerKaigi 2022

フレームワークで見るObserverパターン #PHPerKaigi 2022

去年、「オブジェクト指向のこころ (SOFTWARE PATTERNS SERIES)」を読みました。その中で、デザインパターンの1つ「Observerパターン」の紹介がされています。「そういえば、今まで使ってきたフレームワークの中でObserverパターンの処理があったな」「でも、微妙に記述方法が違ったな?」「それぞれの違いを比較してみたいかも!」となりました。

CakePHPに見るObserverパターン「CakeEvent」
Laravelに見るObserverパターン「Laravel Observer」
どのように使うのか?どのような実装がなされているのか?それぞれのいいところ・・・ナドナド、「Observerパターン」の基本的な説明も含めて、時間の許す限りまとめます!

asumikam

April 11, 2022
Tweet

More Decks by asumikam

Other Decks in Technology

Transcript

  1. ϑϨʔϜϫʔΫͰݟΔ
    0CTFSWFSύλʔϯ

    View Slide

  2. ͜Μʹͪ͸ʂ
    w ͋͢Έ 🐤!BTVNJLBN

    w খాݪʹ͋Δ)BNFF ϋϛΟ
    גࣜձࣾʹۈΊਃ͢
    w 8FCΞϓϦ։ൃ🙋
    w ύϯϑϨοτΈͨʙʙʂʁΈͯʙʙʙʂʂ

    View Slide

  3. 0CTFSWFSύλʔϯΛҙࣝ͠ͳ͕Β
    ϑϨʔϜϫʔΫͷػೳΛ
    טΈకΊͯΈͨΑʂ
    ࠓ೔ͷൃදͷϙΠϯτ

    View Slide

  4. ͓͠ͳ͕͖
    w 0CTFSWFSύλʔϯ
    w ֓ཁ
    w ࣮૷ྫ
    w ϑϨʔϜϫʔΫͰݟΔ0CTFSWFSύλʔϯ
    w $BLF1)1
    w -BSBWFM
    w ݟൺ΂ͯΈΔ·ͱΊ

    View Slide


  5. 0CTFSWFSύλʔϯ

    View Slide

  6. 0CTFSWFSύλʔϯͱ͸
    0CTFSWFSύλʔϯͱ͸
    w ఆٛ
    w ͋ΔΦϒδΣΫτʢ؂ࢹ͞ΕΔऀʣͷঢ়ଶ͕มԽͨ͠ࡍɺ

    ͦΕʹґଘ͢Δ͢΂ͯͷΦϒδΣΫτʢ؂ࢹऀʮ0CTFSWFSʯʣʹର͠
    ͯࣗಈతʹ௨஌ɺߋ৽͕ߦΘΕΔΑ͏ʹ͢Δ

    View Slide

  7. ྫͰݟ͍ͯ͘ʂ
    0CTFSWFSύλʔϯͱ͸
    w ʮ৽نϢʔβͷొ࿥ʯΛྫʹ0CTFSWFSύλʔϯΛ࣮૷ͯ͠ΈΔ🍃
    w จ຺ʹΑͬͯέʔεόΠέʔε
    w ͜Ε͕ৗʹϕετʂͱ͍͏ൃ৴Ͱ͸ͳ͍ɾɾɾʂ🐱

    View Slide

  8. ྫʮ৽نϢʔβͷొ࿥ʯ
    0CTFSWFSύλʔϯͱ͸ྫ
    ৽نొ࿥ͷ͋ͱʹ
    ʮѫࡰϝʔϧͷૹ৴ʯ
    ʮ͔·΅͜ϝΠπ͔Ͳ͏͔֬ೝʯ
    ͯ͠ཉ͍͠ʂ
    ˞͔·΅͜ϝΠπɾɾɾ
    খాݪࡏॅͰ͋Δ͜ͱ

    View Slide

  9. Ͳ͏΍࣮ͬͯ૷͠Α͏ɺɺ🤔
    0CTFSWFSύλʔϯͱ͸ྫ
    w ௥Ճཁٻ
    w ѫࡰϝʔϧͷૹ৴
    w ͔·΅͜ϝΠπ͔ͷ֬ೝ
    w .PEFMʹهड़ʁ
    w จ຺ʹؔ܎ͷͳ͍ॲཧ͕ೖΓࠐΜͰ͠·͏
    w $POUSPMMFSʹهड़ʁ
    w ʮ.PEFMͷঢ়ଶͷมԽʯΛ஌Δߏ଄ʹͳΔ

    View Slide

  10. 0CTFSWFSύλʔϯͷద༻
    0CTFSWFSύλʔϯͱ͸0CTFSWFSύλʔϯͷద༻
    w .PEFMΛʮ؂ࢹ͞ΕΔऀʯʹ͢Δ
    w 0CTFSWFSΛ࡞Δʢ࣮ࡍͷॲཧʣ
    w 0CTFSWFSͷొ࿥ൃՐͷهड़

    View Slide

  11. .PEFMΛʮ؂ࢹ͞ΕΔऀʯʹ͢Δ
    0CTFSWFSύλʔϯͱ͸0CTFSWFSύλʔϯͷద༻
    w ҎԼΛهड़
    w 0CTFSWFSΛొ࿥͢Δ࢓૊Έ
    w 0CTFSWFSΛൃՐ͢Δ࢓૊Έ
    w ࠓճ͸ຊʹ฿ͬͯJOUFSGBDFΛ࢖࣮ͬͯ૷

    View Slide

  12. 0CTFSWFSΛ࡞Δʢ࣮ࡍͷॲཧʣ
    0CTFSWFSύλʔϯͱ͸0CTFSWFSύλʔϯͷద༻
    w 0CTFSWFS
    w FYFDͱ͍͏ϝιουΛ࣮૷ͤ͞Δ
    w 8FMDPNF-FUUFS
    ,BNBCPLP.BUFT$IFDLFS
    w FYFDͷ࣮૷

    View Slide

  13. 0CTFSWFSΛొ࿥ൃՐ͢Δ
    0CTFSWFSύλʔϯͱ͸0CTFSWFSύλʔϯͷద༻

    View Slide

  14. 0CTFSWFSύλʔϯΛద༻ͨ͜͠ͱͰ
    0CTFSWFSύλʔϯͱ͸0CTFSWFSύλʔϯͷద༻
    w ໾ׂͷ෼཭͕Ͱ͖ͨ💘
    w ৽ͨͳཁٻ͕དྷͨ࣌΋҆৺💘
    w ͋͢ΈΊ΋

    ʮ؂ࢹऀʹ௨஌ʯ͸͍ͯ͠Δײ͡🤔

    ͕͜͜1VC4VCύλʔϯͱͷҧ͍ͩͳΜ🙆✨

    View Slide


  15. ϑϨʔϜϫʔΫͰݟΔ

    0CTFSWFSύλʔϯ

    View Slide

  16. ϑϨʔϜϫʔΫͰݟΔ0CTFSWFSύλʔϯ
    ϑϨʔϜϫʔΫͰݟΔ0CTFSWFSύλʔϯ
    w .PEFMͷॲཧʹ߹ΘͤͯԿ͔͠ΒͷΠϕϯτൃՐɺɺɺ
    w ࠓ·ͰͰܦݧ͔ͨ͠΋ʂʂ🤔
    w 0CTFSWFSύλʔϯͰ͖ͪΜͱͳͧΓͳ͕Βཧղ͍ͨ͠ʂ
    w ઌఔͷྫΛ༻͍ͭͭϑϨʔϜϫʔΫΛݟ͍ͯ͘ʂ

    View Slide

  17. $BLF1)1ͰݟΔ0CTFSWFSύλʔϯ
    $BLF1)1ͰݟΔ0CTFSWFSύλʔϯ
    w ίʔϧόοΫͷϥΠϑαΠΫϧ
    w ΠϕϯτγεςϜ

    View Slide

  18. ίʔϧόοΫͷϥΠϑαΠΫϧ🔮
    $BLF1)1ͰݟΔ0CTFSWFSύλʔϯίʔϧόοΫͷϥΠϑαΠΫϧ
    w 5BCMF͕نఆͷΠϕϯτΛ༻ҙ
    IUUQTCPPLDBLFQIQPSHKBPSNUBCMFPCKFDUTIUNMUBCMFDBMMCBDLT
    ˝͜ͷهड़͚ͩͰɺউखʹTBWFͷޙʹݺΜͰ͘ΕΔɾɾɾʂ

    View Slide

  19. ࠓ͔Βͷ͋Β͢͡
    $BLF1)1ͰݟΔ0CTFSWFSύλʔϯͲ͏΍ͬͯಈ͍ͯΔʁ
    w ϑϨʔϜϫʔΫଆͰ༧Ί&WFOUʢ0CTFSWFSʣΛ

    ొ࿥ͯ͠ൃՐ͍ͤͯ͞Δ🙆
    w ͦͷΠϕϯτ͸Ͳ͏΍ͬͯొ࿥͞Ε͍ͯΔʁ
    w ͦͷΠϕϯτ͸Ͳ͏΍ͬͯൃՐ͍ͯ͠Δʁ

    View Slide

  20. ࠓ͔Βͷ͋Β͢͡
    $BLF1)1ͰݟΔ0CTFSWFSύλʔϯͲ͏΍ͬͯಈ͍ͯΔʁ
    w ొ৔ਓ෺
    w 5BCMFʢ؂ࢹ͞ΕΔऀʣ
    w &WFOUʢ࣮ࡍͷॲཧʣ
    w &WFOU.BOBHFSʢ؂ࢹ͢Δऀʣ
    w &WFOU%JTQBUDIFS5SBJUͰ؅ཧ͞Ε͍ͯΔ

    View Slide

  21. Πϕϯτ͸Ͳ͏΍ͬͯొ࿥͞Ε͍ͯΔʁ
    $BLF1)1ͰݟΔ0CTFSWFSύλʔϯͲ͏΍ͬͯಈ͍ͯΔʁ
    w 6TFST5BCMF͕Ҿ਺

    View Slide

  22. $BLF1)1ͰݟΔ0CTFSWFSύλʔϯͲ͏΍ͬͯಈ͍ͯΔʁ
    w &WFOU.BOBHFS@BUUBDI4VCTDSJCFS
    w 5BCMFʹ࣮૷͞Ε͍ͯΔ
    JNQMFNFOUFE&WFOUTΛ͙Δ͙Δ🌀
    w &WFOU-JTUFOFS*OUFSGBDFͷ࣮૷
    Πϕϯτ͸Ͳ͏΍ͬͯొ࿥͞Ε͍ͯΔʁ

    View Slide

  23. $BLF1)1ͰݟΔ0CTFSWFSύλʔϯͲ͏΍ͬͯಈ͍ͯΔʁ
    Πϕϯτ͸Ͳ͏΍ͬͯొ࿥͞Ε͍ͯΔʁ

    View Slide

  24. $BLF1)1ͰݟΔ0CTFSWFSύλʔϯͲ͏΍ͬͯಈ͍ͯΔʁ
    Πϕϯτ͸Ͳ͏΍ͬͯొ࿥͞Ε͍ͯΔʁ

    View Slide

  25. $BLF1)1ͰݟΔ0CTFSWFSύλʔϯͲ͏΍ͬͯಈ͍ͯΔʁ
    Πϕϯτ͸Ͳ͏΍ͬͯొ࿥͞Ε͍ͯΔʁ

    View Slide

  26. $BLF1)1ͰݟΔ0CTFSWFSύλʔϯͲ͏΍ͬͯಈ͍ͯΔʁ
    Πϕϯτ͸Ͳ͏΍ͬͯొ࿥͞Ε͍ͯΔʁ
    w ·ͱΊΔͱɺɺ
    w 6TFST5BCMF͕ΠϯελϯεԽ͞Εͨ࣌఺Ͱ
    w &WFOU.BOBHFS͕ࣗ਎ͷϓϩύςΟ@MJTUFOFSʹ
    w BGUFS4BWFʢNPSFʣΛDBMMBCMFͱͯ͠ηοτ͍ͯ͠Δ❗

    View Slide

  27. $BLF1)1ͰݟΔ0CTFSWFSύλʔϯͲ͏΍ͬͯಈ͍ͯΔʁ
    Πϕϯτ͸Ͳ͏΍ͬͯൃՐ͍ͯ͠Δʁ

    View Slide

  28. $BLF1)1ͰݟΔ0CTFSWFSύλʔϯͲ͏΍ͬͯಈ͍ͯΔʁ
    Πϕϯτ͸Ͳ͏΍ͬͯൃՐ͍ͯ͠Δʁ
    w &WFOU.BOBHFSEJTQBUDI
    w UIJTMJTUFOFST
    w GPSFBDIͰ͙Δ͙Δ@DBMM-JTUFOFS🌀
    w &WFOU.BOBHFS@DBMM-JTUFOFS
    w DBMMBCMFΛ࣮ߦ

    View Slide

  29. $BLF1)1ͰݟΔ0CTFSWFSύλʔϯͲ͏΍ͬͯಈ͍ͯΔʁ
    Πϕϯτ͸Ͳ͏΍ͬͯൃՐ͍ͯ͠Δʁ
    w &WFOU.BOBHFSEJTQBUDI
    w UIJTMJTUFOFST
    w GPSFBDIͰ͙Δ͙Δ@DBMM-JTUFOFS🌀
    w &WFOU.BOBHFS@DBMM-JTUFOFS
    w DBMMBCMFΛ࣮ߦ

    View Slide

  30. $BLF1)1ͰݟΔ0CTFSWFSύλʔϯͲ͏΍ͬͯಈ͍ͯΔʁ
    Πϕϯτ͸Ͳ͏΍ͬͯൃՐ͍ͯ͠Δʁ
    w ·ͱΊΔͱɺɺ
    w .PEFMͷTBWF͕ݺ͹ΕΔͱ
    w ࣮ࡍͷTBWFॲཧͷޙʹ&WFOU.BOBHFSEJTQBUDI͕ൃՐ🔥
    w @MJTUFOFSTͷDBMMBCMF͕࣮ߦ͞ΕΔ

    View Slide

  31. $BLF1)1ͰݟΔ0CTFSWFSύλʔϯίʔϧόοΫͷϥΠϑαΠΫϧ
    Θ͔ͬͨ͜ͱ
    w &WFOU.BOBHFSͷϓϩύςΟʹ&WFOUΛೖΕΔ

    &WFOU.BOBHFSͷϓϩύςΟͷ&WFOUΛ࣮ߦ

    ͱ͍͏γϯϓϧͳ࣮૷✨
    w νϣϩͬͱॻ͘Α͏ͳॲཧ

    ʢPSจ຺͕ଘࡏ͍͍ͯ͠ॲཧʣͱ͸

    ૬ੑΑͦ͞͏🙌
    w ิ଍

    ࠓճศ্ٓলུͨ͠Օॴʹ

    ଞͷEJTQBUDI&WFOU΋͍ͨΑ🦥

    View Slide

  32. $BLF1)1ͰݟΔ0CTFSWFSύλʔϯ
    $BLF1)1ͰݟΔ0CTFSWFSύλʔϯΠϕϯτγεςϜ
    w ΠϕϯτγεςϜ
    w IUUQTCPPLDBLFQIQPSHKBDPSFMJCSBSJFTFWFOUTIUNM
    w ಈ͍ͯΔ࢓૊Έ͸͖ͬ͞ͱಉ͡❗
    w ࣗ෼ఆٛͨ͠λΠϛϯάͰొ࿥ɾൃՐ͕Ͱ͖Δ🔧

    View Slide

  33. ΠϕϯτγεςϜΛར༻࣮ͯ͠૷
    $BLF1)1ͰݟΔ0CTFSWFSύλʔϯΠϕϯτγεςϜ
    w &WFOUͱͯ͠ొ࿥
    w 6TFS$POUSPMMFSSFHJTUFS
    w 8FMDPNF-FUUFS&WFOU
    w ,BNBCPLP.BUFT$IFDLFS&WFOU
    w ͖ͬ͞͸5BCMFࣗ਎Λొ࿥͍͕ͯͨ͠ɺ

    ࠓճ͸ࣗ෼Ͱఆٛͨ͠&WFOUΛొ࿥👉

    View Slide

  34. $BLF1)1ͰݟΔ0CTFSWFSύλʔϯΠϕϯτγεςϜ
    w &WFOUͷ࣮૷ʢ࣮ࡍͷॲཧʣ
    w &WFOU໊ͱ&WFOUͷඥ͚ͮ
    w 999&WFOUJNQMFNFOUFE&WFOUT
    w ޷͖ͳ໊લΛ͚ͭͯ0,🙆
    ΠϕϯτγεςϜΛར༻࣮ͯ͠૷

    View Slide

  35. $BLF1)1ͰݟΔ0CTFSWFSύλʔϯΠϕϯτγεςϜ
    w ൃՐͷλΠϛϯάΛఆٛ
    w 6TFST5BCMFBGUFS4BWF
    w ʮ.PEFM6TFSTBGUFS4BWFʯ

    ͱ͍͏ΠϕϯτΛEJTQBUDI
    w ิ଍

    BGUFS4BWFʹهड़͍ͯ͠Δ͕ɺ

    ࣗ෼Ͱఆٛͨ͠ϞσϧͷϝιουͰ΋0,

    ŜţŦŷŢŴřŦƄŘ🙆
    ΠϕϯτγεςϜΛར༻࣮ͯ͠૷

    View Slide

  36. $BLF1)1ͰݟΔ0CTFSWFSύλʔϯ
    w ίʔϧόοΫͷϥΠϑαΠΫϧ
    w खܰͳ֦ு🙆
    w ΠϕϯτγεςϜ
    w ΑΓґଘੑͷ෼཭͕Ͱ͖Δײͩ͡🙌
    w ʮ؂ࢹ͢Δऀʯͱʮ؂ࢹ͞ΕΔऀʯͱ
    ʮൃՐ͢ΔॲཧʯΛ͔ͬ͠Γ෼཭
    શମͷ·ͱΊ

    View Slide

  37. -BSBWFMͰݟΔ0CTFSWFSύλʔϯ
    -BSBWFMͰݟΔ0CTFSWFSύλʔϯ
    w 0CTFSWFS
    w &MPRVFOUͷCPPUʹΑΔ֦ு
    w &WFOU
    w ʮ͞·͟·ͳΠϕϯτʯΛ0CTFSWFSԽͰ͖Δ

    View Slide

  38. 0CTFSWFSΛར༻࣮ͯ͠૷🔮
    -BSBWFMͰݟΔ0CTFSWFSύλʔϯ0CTFSWFS
    ˝࣮ࡍͷهड़ͨͪ
    IUUQTMBSBWFMDPNEPDTYFMPRVFOUFWFOUT
    w نఆͷΠϕϯτ͕༻ҙ͞Ε͍ͯΔ

    View Slide

  39. ࠓ͔Βͷ͋Β͢͡
    -BSBWFMͰݟΔ0CTFSWFSύλʔϯͲ͏΍ͬͯಈ͍͍ͯΔʁ
    w Ͳ͏΍ͬͯొ࿥͞Ε͍ͯΔʁ
    w Ͳ͏΍ͬͯൃՐ͍ͯ͠Δʁ
    w ࣮͸ɾɾɾߏ଄ࣗମ͸DBLF1)1ͱΊͬͪΐࣅͯΔ✨

    View Slide

  40. ࠓ͔Βͷ͋Β͢͡
    -BSBWFMͰݟΔ0CTFSWFSύλʔϯͲ͏΍ͬͯಈ͍͍ͯΔʁ
    w ొ৔ਓ෺
    w .PEFMʢ؂ࢹ͞ΕΔऀʣ
    w 6TFS0CTFSWFSʢ࣮ࡍͷॲཧʣ
    w %JTQBUDIFSʢ؂ࢹ͢Δऀʣ

    View Slide

  41. Ͳ͏΍ͬͯొ࿥͞Ε͍ͯΔʁ
    -BSBWFMͰݟΔ0CTFSWFSύλʔϯͲ͏΍ͬͯಈ͍͍ͯΔʁ
    w &WFOU4FSWJDF1SPWJEFSCPPU
    w ؂ࢹͷ։࢝🙆
    w ͜ͷεϥΠυͰ͸͋Μ·Γ۷Γ·ͤΜ

    View Slide

  42. Ͳ͏΍ͬͯొ࿥͞Ε͍ͯΔʁ
    -BSBWFMͰݟΔ0CTFSWFSύλʔϯͲ͏΍ͬͯಈ͍͍ͯΔʁ
    w )BT&WFOUTPCTFSWF
    w )BT&WFOUTSFHJTUFS0CTFSWFS
    w HFU0CTFSWBCMF&WFOUTΛά
    ϧάϧ🌀

    View Slide

  43. Ͳ͏΍ͬͯొ࿥͞Ε͍ͯΔʁ
    -BSBWFMͰݟΔ0CTFSWFSύλʔϯͲ͏΍ͬͯಈ͍͍ͯΔʁ

    View Slide

  44. Ͳ͏΍ͬͯొ࿥͞Ε͍ͯΔʁ
    -BSBWFMͰݟΔ0CTFSWFSύλʔϯͲ͏΍ͬͯಈ͍͍ͯΔʁ
    w )BT&WFOUTSFHJTUFS.PEFM&WFOU
    w 6TFS0CTFSWFS͸ʮDSFBUFEʯΛ

    ࣮૷͍ͯ͠Δ🙆
    w )BT&WFOUTSFHJTUFS.PEFM&WFOU
    w EJTQBUDIFSMJTUFO

    View Slide

  45. Ͳ͏΍ͬͯొ࿥͞Ε͍ͯΔʁ
    -BSBWFMͰݟΔ0CTFSWFSύλʔϯͲ͏΍ͬͯಈ͍͍ͯΔʁ
    w %JTQBUDIFSMJTUFO
    w ࣗ਎ͷϓϩύςΟUIJTMJTUFOFSTʹ
    MJTUFOFS DBMMBCMF
    Λొ࿥
    w ͖ͬ͞ͷߏ଄ͱಉ͡ɾɾɾʂ🙆

    View Slide

  46. Ͳ͏΍ͬͯొ࿥͞Ε͍ͯΔʁ
    -BSBWFMͰݟΔ0CTFSWFSύλʔϯͲ͏΍ͬͯಈ͍͍ͯΔʁ
    w ·ͱΊΔͱɺɺ
    w &WFOU4FSWJDF1SPWJEFSͰొ࿥ॲཧΛهड़
    w %JTQBUDIFSͷϓϩύςΟMJTUFOFSTʹ
    w DSFBUFE NPSF
    ͕DBMMBCMFͱͯ͠ηοτ͞ΕΔ❗

    View Slide

  47. Ͳ͏΍ͬͯൃՐ͍ͯ͠Δʁ
    -BSBWFMͰݟΔ0CTFSWFSύλʔϯͲ͏΍ͬͯಈ͍͍ͯΔʁ

    View Slide

  48. Ͳ͏΍ͬͯൃՐ͍ͯ͠Δʁ
    -BSBWFMͰݟΔ0CTFSWFSύλʔϯͲ͏΍ͬͯಈ͍͍ͯΔʁ
    w %JTQBUDIFSHFU-JTUFOFST
    w ઌ΄Ͳొ࿥ͨ͠

    MJTUFOFSTͰά
    ϧάϧ🌀
    w MJTUFOFSʹ͸DBMMBCMF͕ೖ͍ͬͯΔ
    ͷͰ࣮ߦ͞ΕΔ

    View Slide

  49. Ͳ͏΍ͬͯൃՐ͍ͯ͠Δʁ
    -BSBWFMͰݟΔ0CTFSWFSύλʔϯͲ͏΍ͬͯಈ͍͍ͯΔʁ
    w %JTQBUDIFSHFU-JTUFOFST
    w ઌ΄Ͳొ࿥ͨ͠

    MJTUFOFSTͰά
    ϧάϧ🌀
    w MJTUFOFSʹ͸DBMMBCMF͕ೖ͍ͬͯΔ
    ͷͰ࣮ߦ͞ΕΔ

    View Slide

  50. Ͳ͏΍ͬͯൃՐ͍ͯ͠Δʁ
    -BSBWFMͰݟΔ0CTFSWFSύλʔϯͲ͏΍ͬͯಈ͍͍ͯΔʁ
    w ·ͱΊΔͱɺɺ
    w .PEFMͷTBWFϝιουΛݺͿͱ
    w %JTQBUDIFSEJTQBUDI͕ಈ͍ͯ
    w MJTUFOFSTͷDBMMBCMF͕࣮ߦ͞ΕΔ❗

    View Slide

  51. &MPRVFOUͷCPPUʹΑΔ֦ு
    -BSBWFMͰݟΔ0CTFSWFSύλʔϯ&MPRVFOUͷCPPUʹΑΔ֦ு
    w .PEFMʹCPPUΛఆٛ
    w ΠϕϯτΛΫϩʔδϟͱͯ͠ొ࿥
    w νϣϩͬPSจ຺͕ؔ܎͋Δ࣌͸

    ͜ΕͰ֦ுͰ͖ͦ͏🙌
    w ิ଍

    CPPUCPPUJOHCPPUFE͕͋Γͦ͏ʜ👀
    IUUQTMBSBWFMDPNEPDTYFMPRVFOUFWFOUT

    View Slide

  52. $BLF1)1ͰݟΔ0CTFSWFSύλʔϯ
    w &MPRVFOUͷCPPUʹΑΔ֦ுɺखܰ🙆
    w 0CTFSWFS
    w $POUSPMMFS.PEFM͔Βશ͘࢕͑ͳ͘ͳ
    Δఔ౓ʹ͸෼཭͞Ε͍ͯΔ
    w طଘͰ༻ҙ͞Ε͍ͯΔΠϕϯτҎ֎ʹ

    ࣗ෼Ͱੜ΍͢͜ͱ΋Ͱ͖Δ✨
    w ଟํ໘Ͱ֦ுੑ͕͋ͬͯεϯήɾɾɾ
    શମͷ·ͱΊ

    View Slide


  53. ݟൺ΂ͯΈΔ·ͱΊ

    View Slide

  54. ࣅ͍ͯΔͳʙͱࢥͬͨͱ͜Ζ🌸
    ݟൺ΂ͯΈΔ·ͱΊ
    w ʮΠϕϯτͷϥΠϑαΠΫϧʯͱʮ&MPRVFOUͷCPPUʹΑΔ֦ுʯ
    w શମͷઃܭ
    w 0CTFSWFSͷొ࿥ɾൃՐͷॲཧͷྲྀΕ
    w ʮ؂ࢹ͞ΕΔʯʮ؂ࢹ͢Δʯʮ࣮ࡍͷॲཧʯͷ෼཭ߏ଄

    View Slide

  55. ৭͕ग़͍ͯΔͳʙͱࢥͬͨͱ͜Ζ🌈
    ݟൺ΂ͯΈΔ·ͱΊ
    w ʮ࣮ࡍͷॲཧʯ෦෼ͷଋറ౓
    w $BLF1)1ͷํ͸&WFOU*OUFSGBDF͕ఏڙ͞Ε͍͕ͯͨɺ

    -BSBWFM͸ࣗ༝ʹهड़Ͱ͖Δײͩͬͨ͡
    w ʮ࣮ࡍͷॲཧʯ෦෼ͷӅΕ౓
    w $BLF1)1͸ొ࿥ॲཧ͕ݟ͍͑ͯͨ👓͚Ͳɺ

    -BSBWFM͸ຊ౰ʹݟ͑ͳ͍ɾɾɾʂ🙈

    View Slide

  56. ͋͢ΈΊ΋
    ݟൺ΂ͯΈΔ·ͱΊ
    w ༝ॹਖ਼͖͠ʮ0CTFSWFSύλʔϯʯ͕͜Μͳʹ਎ۙʹ͍ͨͳΜͯ
    w ͔͠΋ීஈ͸ύλʔϯΛҙࣝ͠ͳ͍Ͱ΋࢖͑ΔΑ͏ʹͳ͍ͬͯΔɾɾɾʂ
    w جຊతͳ࣮૷ํ਑͸ಉ͡ํ޲޲͍ͯΔͳʙ🙆
    w ͜ͷล֦ு͍ͨ͠ƃũƄŢŔʂͱ͍͏ͱ͜Ζʹɾɾɾଘࡏʢ͍ʣΔɾɾɾʂ
    w ϑϨʔϜϫʔΫͷத਎Λ೷͍ͯΈͯຐ๏ͷཪଆΛ֞ؒݟͨײ͡👀

    View Slide

  57. ݟͯ͘ΕͯŗžŜƄŪŤƃŝœŖ😘
    5SBDL"͸ͦͷ··ʂ📺
    -5΋ΑΖͪ͘🐱

    View Slide