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

IoTをServerless風にテストしたい!

Keita Mohri
August 22, 2018

 IoTをServerless風にテストしたい!

Serverless Meetup Fukuoka #2

Keita Mohri

August 22, 2018
Tweet

More Decks by Keita Mohri

Other Decks in Technology

Transcript

  1. *P5Λ
    4FSWFSMFTT෩ʹςετ͍ͨ͠ʂ
    ໟརܒଠ
    4FSWFSMFTT.FFUVQ'VLVPLB

    View Slide

  2. ࣗݾ঺հ
    ໟརܒଠʢ΋͏Γ͚͍ͨʣ
    'VTJD$P -UE
    ൃҊऀϓϩμΫτΦʔφʔ
    *P5ܥͷडୗҊ݅
    લ৬͸ ༯ոͱ͔Ͱ༗໊ͳ
    ๭ήʔϜձࣾ

    View Slide

  3. ࣗݾ঺հ
    IUUQTRJJUBDPN,UB.JUFNTBGBBCC
    IUUQTHJUIVCDPN,UB.[BSV
    ϝʔϧʹύεϫʔυ෇͖[JQΛఴ෇ͯ͠ʮύεϫʔυ͸ผ్͓ૹΓ͍ͨ͠·͢ʯ
    ͱ͢Δ׳श͕ΊΜͲ͍͘͞ͷͰͳΜͱ͔ͨ͠
    4FSWFSMFTTతͳաڈ࡞

    View Slide

  4. ຊ೔ͷ͓࿩
    ‣ *P5ͱ4FSWFSMFTT
    ‣ *P5ͱςετ
    ‣ *P5ͱ4FSWFSMFTTͱςετͱ

    View Slide

  5. *P5ͱ4FSWFSMFTT

    View Slide

  6. *P5ݩ೥໰୊
    *P5ݩ೥ɹ
    *P5ݩ೥ɹ
    *P5ݩ೥ɹ
    *P5ݩ೥ɹ
    ݕࡧ
    ݕࡧ ݕࡧ
    ݕࡧ

    View Slide

  7. *P5ݩ೥໰୊
    *P5ݩ೥ɹ ݕࡧ
    ͳ͠ ‣ ࣌୅͕ਐΈ࢝Ί͍ͯΔ
    ‣ *P5ͷ໰͍߹Θͤ΋૿͖͑ͯͨ
    ‣ 1P$͔Βຊ։ൃ΁ͷҠߦ΋૿͖͑ͯͨ
    ‣ େن໛ͳ*P5։ൃ͕૿͖͍͑ͯͯΔʂ

    View Slide

  8. 4FSWFSMFTTͰ͋ͬͯ͘Ε
    ࠓͲ͖4FSWFSMFTT͡Όͳ͍ͱ
    ࢮΜͰ͠·͏
    Backend
    Sensor/Device

    View Slide

  9. ΋͠4FSWFSNPSF
    ͩͬͨΒʜ
    Backend
    Sensor/Device
    ো֐͕ى͖ͨΑʂ
    PS
    ϝϯςͯ͠Ͷʂ

    View Slide

  10. ΋͠4FSWFSNPSF
    ͩͬͨΒʜ
    Backend
    Sensor/Device
    ແ࣊൵ʹ΋σʔλΛ
    ૹΓଓ͚ΔΑʂ
    ো֐͕ى͖ͨΑʂ
    PS
    ϝϯςͯ͠Ͷʂ

    View Slide

  11. ΋͠4FSWFSNPSF
    ͩͬͨΒʜ
    Backend
    Sensor/Device

    ແ࣊൵ʹ΋σʔλΛ
    ૹΓଓ͚ΔΑʂ
    ো֐͕ى͖ͨΑʂ
    PS
    ϝϯςͯ͠Ͷʂ

    View Slide

  12. ো֐ϝϯςʹରͯ͠ແ࣊൵

    View Slide

  13. ΋͠4FSWFSNPSF
    ͩͬͨΒʜ
    Backend
    Sensor/Device
    Ұؾʹ୆
    ૿΍͢Αʂ

    View Slide

  14. ΋͠4FSWFSNPSF
    ͩͬͨΒʜ
    Backend
    Sensor/Device
    Ұؾʹ୆
    ૿΍͢Αʂ
    ࠓ೔͸ௐࢠ͕͍͍͔Β
    ͨ͘͞ΜૹΔΑʂ

    View Slide

  15. ΋͠4FSWFSNPSF
    ͩͬͨΒʜ
    Backend
    Sensor/Device
    Ұؾʹ୆
    ૿΍͢Αʂ
    ࠓ೔͸ௐࢠ͕͍͍͔Β
    ͨ͘͞ΜૹΔΑʂ ϜϦϜϦϜϦ

    View Slide

  16. ΋͠4FSWFSNPSF
    ͩͬͨΒʜ
    Backend
    Sensor/Device
    ϜϦϜϦϜϦ
    ແ࣊൵ʹ΋σʔλΛ
    ૹΓଓ͚ΔΑʂ

    View Slide

  17. ΋͠4FSWFSNPSF
    ͩͬͨΒʜ
    Backend
    Sensor/Device

    ϜϦϜϦϜϦ
    ແ࣊൵ʹ΋σʔλΛ
    ૹΓଓ͚ΔΑʂ

    View Slide

  18. εέʔϧʹରͯ͠ແ࣊൵

    View Slide

  19. *P5ͷσʔλϩετ͸͔ͳΓࠔΔ
    ‣ औΓ໭ͤͳ͍
    ਓؒ૬खͱ͸ҧͬͯʮ΋͏Ұ౓ૹͬͯʯ͕Ͱ͖ͳ͍ ͜ͱ͕ଟ͍

    ‣ ࣌ܥྻͰҙຯ͕͋Δ
    ஋ͷมಈΛάϥϑͰݟ͔ͨͬͨΓ
    σʔλʹԠͯ͡εςʔλε͕มΘΔ΋ͷͩͬͨΓ
    ‣ ॏཁͳҙຯΛ࣋ͭσʔλͷ৔߹΋
    ΞϥʔτͷτϦΨʔʹͳΔΑ͏ͳ΋ͷͩͬͨΒେม

    View Slide

  20. *P5ͱ4FSWFSMFTT
    *P5ͷ൵௧ͳڣͼ
    ো֐ى͖ͳ͍Ͱʂ
    ͍͍ײ͡ʹεέʔϧͯ͠ʂ
    ϝϯςདྷͳ͍Ͱʂ

    View Slide

  21. *P5ͱ4FSWFSMFTT
    *P5ͷ൵௧ͳڣͼ 4FSWFSMFTTͷแ༰ྗ
    ো֐ى͖ͳ͍Ͱʂ
    ͍͍ײ͡ʹεέʔϧͯ͠ʂ
    ো֐ ΄΅
    ͳ͠
    εέʔϧ͕ಘҙ ͳͷ͕ଟ͍

    ϝϯςདྷͳ͍Ͱʂ ϝϯς΋ ͨͿΜ
    ͳ͠

    View Slide

  22. *P5ͱ4FSWFSMFTT
    *P5ͷ൵௧ͳڣͼ 4FSWFSMFTTͷแ༰ྗ
    ো֐ى͖ͳ͍Ͱʂ
    ͍͍ײ͡ʹεέʔϧͯ͠ʂ
    ো֐ ΄΅
    ͳ͠
    εέʔϧ͕ಘҙ ͳͷ͕ଟ͍

    ϝϯςདྷͳ͍Ͱʂ ϝϯς΋ ͨͿΜ
    ͳ͠

    View Slide

  23. "84ᐌ͘
    IUUQTXXXTMJEFTIBSFOFU"NB[PO8FC4FSWJDFT+BQBOBXTCMBDLCFMUPOMJOFTFNJOBSJPU
    "84#MBDL#FMU0OMJOF4FNJOBS*P5޲͚࠷৽ΞʔΩςΫνϟύλʔϯ

    View Slide

  24. "[VSFᐌ͘
    IUUQTBLBNTJPUSFGBSDIJUFDUVSF
    "[VSF*P53FGFSFODF"SDIJUFDUVSF(VJEF

    View Slide

  25. ($1ᐌ͘
    IUUQTXXXZPVUVCFDPNXBUDI WLQ&U92BL
    "OPWFSWJFXPG$MPVE*P5$PSF (PPHMF*0

    View Slide

  26. ຊ೔ͷ͓࿩
    ‣ *P5ͱ4FSWFSMFTT
    ‎ *P5ͷ#BDLFOE͸4FSWFSMFTTͰΩϚϦʂ
    ‣ *P5ͱςετ
    ‣ *P5ͱ4FSWFSMFTTͱςετͱ

    View Slide

  27. *P5ͱςετ

    View Slide

  28. *P5ͷςετ͕΍ΓͮΒ͍໰୊
    ͪΌΜͱςετ͠Α͏ͱ͢Δͱ
    ͱͯ΋΍ΓͮΒ͍
    Backend
    Sensor/Device

    View Slide

  29. *P5ͷςετ͕΍ΓͮΒ͍໰୊
    σʔλ͕དྷͳ͍ͱಈ͔ͳ͍
    Backend
    Sensor/Device
    D a t a

    View Slide

  30. *P5ͷςετ͕΍ΓͮΒ͍໰୊
    ςετʹඞཁͳσʔλΛ
    Ͳ͔͜Βௐୡ͠Α͏ʁ
    Backend
    Sensor/Device
    D a t a

    View Slide

  31. *P5ͷςετ͕΍ΓͮΒ͍໰୊
    ͦͷ··࣮σόΠε͔Β
    σʔλΛૹΖ͏
    Backend
    Sensor/Device
    D a t a

    View Slide

  32. ࣮σόΠε͔ΒૹΔ࡞ઓ
    ‣ ௐୡ
    ͔ͳΓ͕͔͔࣌ؒΔ
    ࣗࣾ։ൃ ηϯαʔͷબఆɾઃܭɾ࣮૷ͳͲ
    PSط੒඼ͷߪೖ
    ‣ ॳظίετ
    ୆͋ͨΓͦΕͳΓͷඅ༻͕͔͔Δ
    ςετ໨తͰ५୔ʹ༻ҙ͢Δͷ͸ඇݱ࣮త
    ‣ धཁʹԠͨ͡εέʔϧ
    ΋ͪΖΜ͠ͳ͍

    View Slide

  33. ͓΍ʜ

    View Slide

  34. ͜Ε͸Ҏલզʑ͕ܾผΛਤͬͨ
    ʮΦϯϓϨʯతͳ΍ͭͰ͸ʁ

    View Slide

  35. *P5ͷςετ͕΍ΓͮΒ͍໰୊
    ͳΒ͹γϛϡϨʔλʔΛ࡞ͬͯ
    ૹͬͯ͋͛Α͏
    Backend
    Simulator
    D a t a

    View Slide

  36. γϛϡϨʔλʔ͔ΒૹΔ࡞ઓ
    ‣ αʔόʔͷ͓ੈ࿩
    Ͳ͔͜͠Βͷαʔόʔ খن໛ͳΒϩʔΧϧʁ
    ͔ΒૹΒͳ͚Ε͹
    αʔόʔͷઃఆͱ͔͍Ζ͍Ζେม
    ‣ ΋Ζ΋Ζಠ࣮ࣗ૷
    #BDLFOE΁ͷ઀ଓɾೝূ
    ૹΔσʔλͷத਎΍σόΠεͷঢ়ଶભҠ੍ޚ
    Քಇঢ়گͷ؂ࢹ
    େྔՔಇ࣌ͷεέʔϧ
    ‣ ςετ༻σʔλ͕ཉ͍͚ͩ͠ͳͷʹ࡞ۀྔ͕ଟ͗͢Δ

    View Slide

  37. ͓΍ʜ

    View Slide

  38. ͜Ε͸Ҏલզʑ͕ܾผΛਤͬͨ
    ʮαʔόʔʯతͳ΍ͭͰ͸ʁ

    View Slide

  39. 4FSWFSMFTTతʹղܾ͠Α͏
    σόΠεͷ'VODUJPOBM4BB4͸
    Ͱ͖ͳ͍΋ͷ͔ʜ
    Backend
    Functional Saas?
    D a t a

    View Slide

  40. ͜Μͳײ͡
    ‣ ඞཁͳͱ͖ʹ͙͢ʹௐୡͰ͖Δ
    ‣ αʔόʔͷଘࡏΛҙࣝͤͣʹඞཁͳ୆਺͚ͩՔಇͰ͖Δ
    ‣ ඞཁͳσʔλΛૹΔ͜ͱ͚ͩʹूதͰ͖Δ
    ‣ ϓϩάϥϜͰىಈ΍ఀࢭ੍͕ޚͰ͖Δ

    View Slide

  41. ຊ೔ͷ͓࿩
    ‣ *P5ͱ4FSWFSMFTT
    ‎ *P5ͷ#BDLFOE͸4FSWFSMFTTͰΩϚϦʂ
    ‣ *P5ͱςετ
    ‎ ී௨ʹ΍Δͱπϥ͍ɻ'VODUJPOBM4BB4ͳσόΠε͕΄͍͠ʂ
    ‣ *P5ͱ4FSWFSMFTTͱςετͱ

    View Slide

  42. *P5ͱ4FSWFSMFTTͱςετͱ

    View Slide

  43. *P5ςετ༻Ծ૝σόΠε࡞੒αʔϏε
    ੈքॳʂ

    View Slide

  44. NPDLNPDLͱ͸ʁ
    σόΠεʹ୅Θͬͯ
    ςετ༻σʔλΛૹΔԾ૝σόΠε
    Backend
    D a t a

    View Slide

  45. ಈ࡞֓ཁ

    Backend
    ίϯιʔϧͰઃఆΛߦͳ͏
    σʔλૹ৴ઌ
    ϓϩτίϧ
    σʔλੜ੒ํ๏ͷઃఆ
    ঢ়ଶભҠͷઃఆ
    FUDʜ

    View Slide

  46. ಈ࡞֓ཁ

    Backend
    NPDLΛͭ͘Δ

    View Slide

  47. ಈ࡞֓ཁ

    Backend
    D a t a

    NPDLΛಈ͔͢

    View Slide

  48. View Slide

  49. ରԠϓϩτίϧɾ࿈ܞαʔϏε
    ɹϓϥοτϑΥʔϜ ɹαʔϏε ɹϓϩτίϧ
    ɹಠࣗαʔόʔ ɹ
    ɹ)551)5514

    ɹ.255.2554
    ɹ"NB[PO8FC4FSWJDFT
    ɹɹɹ"84*P5$PSF ɹ)5514.2554
    ɹɹɹ"NB[PO,JOFTJT%BUB4USFBNT ɹ
    ɹ(PPHMF$MPVE1MBUGPSN ɹɹɹ$MPVE*P5$PSF ɹ.2554
    ɹ.JDSPTPGU"[VSF ɹɹɹ"[VSF*P5)VC ɹ.2554 ".214
    ɹ403"$0.
    ɹɹɹ403"$0.1MBUGPSN

    ɹɹɹ#FBN'VOOFM)BSWFTU ۙ೔ϦϦʔε

    ɹ
    ɹͦͷଞ ɹ͓ؾܰʹ͝૬ஊ͍ͩ͘͞

    View Slide

  50. ରԠϓϩτίϧɾ࿈ܞαʔϏε
    ɹϓϥοτϑΥʔϜ ɹαʔϏε ɹϓϩτίϧ
    ɹಠࣗαʔόʔ ɹ
    ɹ)551)5514

    ɹ.255.2554
    ɹ"NB[PO8FC4FSWJDFT
    ɹɹɹ"84*P5$PSF ɹ)5514.2554
    ɹɹɹ"NB[PO,JOFTJT%BUB4USFBNT ɹ
    ɹ(PPHMF$MPVE1MBUGPSN ɹɹɹ$MPVE*P5$PSF ɹ.2554
    ɹ.JDSPTPGU"[VSF ɹɹɹ"[VSF*P5)VC ɹ.2554 ".214
    ɹ403"$0.
    ɹɹɹ403"$0.1MBUGPSN

    ɹɹɹ#FBN'VOOFM)BSWFTU ۙ೔ϦϦʔε

    ɹ
    ɹͦͷଞ ɹ͓ؾܰʹ͝૬ஊ͍ͩ͘͞
    4FSWFSMFTTͳ*P5#BDLFOEʹରԠʂ

    View Slide

  51. "MM4FSWFSMFTT
    Backend
    D a t a
    'VODUJPOBM4BB4 'VODUJPOBM4BB4
    'BB4

    View Slide

  52. ͜͜·Ͱ͘Ε͹

    *P5ͷ&&ςετ͕
    $*ͰͰ͖Δʂ

    View Slide

  53. "84Ͱ΍ͬͯΈͨ
    Thermometer
    Amazon Kinesis
    Data Streams
    AWS Lambda Amazon DynamoDB
    {

    "serial_number": "mk-00001",

    "timestamp": "2018-08-21T07:09:05Z",

    "temperatures": [

    "22.8",

    "21.9"

    ]

    }
    ఆظతʹσʔλऔಘ ݅ͣͭ1VU
    |serial_number|timestamp |temperature01|temperature02|created_at |

    |-------------|-------------------|-------------|-------------|-------------------|

    |mk-00001 |2018/08/21 07:09:05|23.8 |25.4 |2018/08/21 07:09:06|

    |mk-00002 |2018/08/21 07:09:05|23.2 |24.0 |2018/08/21 07:09:06|

    |mk-00001 |2018/08/21 07:09:15|24.1 |25.6 |2018/08/21 07:09:17|

    |mk-00002 |2018/08/21 07:09:15|23.8 |24.4 |2018/08/21 07:09:18|

    |mk-00001 |2018/08/21 07:09:25|24.3 |25.0 |2018/08/21 07:09:26|

    |mk-00002 |2018/08/21 07:09:25|24.0 |23.9 |2018/08/21 07:09:27|
    ςετର৅ͷΞϓϦέʔγϣϯ

    View Slide

  54. σϞ

    View Slide

  55. "84Ͱ΍ͬͯΈͨ
    ᶃίʔυΛ1VTI

    View Slide

  56. "84Ͱ΍ͬͯΈͨ
    ᶃίʔυΛ1VTI ᶄ$*ىಈ

    View Slide

  57. "84Ͱ΍ͬͯΈͨ
    AWS Batch
    ᶃίʔυΛ1VTI ᶄ$*ىಈ
    ᶅ"84#BUDIͷ

    +PCΛૹ৴
    ؅ཧԼͷίϯϐϡʔςΟϯά؀ڥ &$
    ্Ͱ+PCΛ࣮ߦ͢Δ
    &$͸࣮ߦ͢Δ+PCͷྔʹԠͯࣗ͡ಈͰ૿ݮͯ͘͠ΕΔ
    +PC͸ίϯςφΛ࢖࣮ͬͯߦ͢Δ

    େ୾ʹͬ͘͟Γݴ͑͹௕࣌ؒՔಇ͕Մೳͳ-BNCEB

    View Slide

  58. "84Ͱ΍ͬͯΈͨ
    AWS Batch
    EC2 instance
    ᶃίʔυΛ1VTI ᶄ$*ىಈ
    ᶅ"84#BUDIͷ

    +PCΛૹ৴
    ᶆίϯϐϡʔςΟϯά
    ؀ڥ࡞੒

    View Slide

  59. "84Ͱ΍ͬͯΈͨ
    AWS Batch
    EC2 instance
    Amazon ECR
    Container
    ᶃίʔυΛ1VTI ᶄ$*ىಈ
    ᶅ"84#BUDIͷ

    +PCΛૹ৴
    ᶆίϯϐϡʔςΟϯά
    ؀ڥ࡞੒
    ᶇίϯςφىಈ

    View Slide

  60. "84Ͱ΍ͬͯΈͨ
    EC2 instance
    Container
    ᶈ$MPOF
    AWS SAM
    Test Script
    #!/bin/bash

    git clone $CODE_REPO $CODE_DIR

    cd $CODE_DIR

    sh test/batch/run.sh

    View Slide

  61. "84Ͱ΍ͬͯΈͨ
    EC2 instance
    Container
    ᶈ$MPOF
    AWS SAM
    Test Script
    Amazon Kinesis
    Data Streams
    AWS Lambda Amazon DynamoDB
    ᶉ%FQMPZ
    #!/bin/bash

    git clone $CODE_REPO $CODE_DIR

    cd $CODE_DIR

    sh test/batch/run.sh Cloudformation Stack

    View Slide

  62. "84Ͱ΍ͬͯΈͨ
    EC2 instance
    Container
    ᶈ$MPOF
    AWS SAM
    Test Script
    Amazon Kinesis
    Data Streams
    AWS Lambda Amazon DynamoDB
    ᶉ%FQMPZ
    #!/bin/bash

    git clone $CODE_REPO $CODE_DIR

    cd $CODE_DIR

    sh test/batch/run.sh
    ᶊNPDLىಈ"1*
    Cloudformation Stack

    View Slide

  63. "84Ͱ΍ͬͯΈͨ
    EC2 instance
    Container
    ᶈ$MPOF
    AWS SAM
    Test Script
    Amazon Kinesis
    Data Streams
    AWS Lambda Amazon DynamoDB
    ᶉ%FQMPZ
    #!/bin/bash

    git clone $CODE_REPO $CODE_DIR

    cd $CODE_DIR

    sh test/batch/run.sh
    ᶊNPDLىಈ"1*
    ᶋςετσʔλૹ৴
    Cloudformation Stack

    View Slide

  64. "84Ͱ΍ͬͯΈͨ
    EC2 instance
    Container
    AWS SAM
    Test Script
    Amazon Kinesis
    Data Streams
    AWS Lambda Amazon DynamoDB
    ᶌͨ·ͬͨσʔλΛूܭ
    Cloudformation Stack

    View Slide

  65. "84Ͱ΍ͬͯΈͨ
    EC2 instance
    Container
    AWS SAM
    Test Script
    Amazon Kinesis
    Data Streams
    AWS Lambda Amazon DynamoDB
    ᶌͨ·ͬͨσʔλΛूܭ
    ᶍ4MBDLʹ݁ՌΛ௨஌
    Cloudformation Stack

    View Slide

  66. "84Ͱ΍ͬͯΈͨ
    EC2 instance
    Container
    AWS SAM
    Test Script
    Amazon Kinesis
    Data Streams
    AWS Lambda Amazon DynamoDB
    ᶌͨ·ͬͨσʔλΛूܭ
    ᶍ4MBDLʹ݁ՌΛ௨஌
    ᶎ4UBDLΛ࡟আ
    Cloudformation Stack

    View Slide

  67. "84Ͱ΍ͬͯΈͨ
    EC2 instance
    Container
    AWS SAM
    Test Script
    Amazon Kinesis
    Data Streams
    AWS Lambda Amazon DynamoDB
    ᶌͨ·ͬͨσʔλΛूܭ
    ᶍ4MBDLʹ݁ՌΛ௨஌
    ᶎ4UBDLΛ࡟আ
    Cloudformation Stack
    ᶏ$POUBJOFSऴྃ

    View Slide

  68. "84Ͱ΍ͬͯΈͨ
    EC2 instance
    Container
    AWS SAM
    Test Script
    Amazon Kinesis
    Data Streams
    AWS Lambda Amazon DynamoDB
    ᶌͨ·ͬͨσʔλΛूܭ
    ᶍ4MBDLʹ݁ՌΛ௨஌
    ᶎ4UBDLΛ࡟আ
    Cloudformation Stack
    ᶏ$POUBJOFSऴྃ
    ᶐίϯϐϡʔςΟϯά؀ڥ࡟আ

    View Slide

  69. "84Ͱ΍ͬͯΈͨ
    ‣ ຊ൪؀ڥͱશ͘ಉ͡؀ڥͰςετ͕Ͱ͖Δ
    ‣ ςετ؀ڥཱ͕ͭͷ͸ςετͷͱ͖͚ͩ
    ‣ "84#BUDIΛ࢖͍ͬͯΔͷͰ$JSDMF$*͸͙͢ʹख์ͤΔ
    ‎ ࣌ؒɺ೔ɺिؒ୯ҐͷΤΠδϯάςετͰ΋ݱ࣮తʹՄೳ

    View Slide

  70. ຊ೔ͷ͓࿩
    ‣ *P5ͱ4FSWFSMFTT
    ‎ *P5ͷ#BDLFOE͸4FSWFSMFTTͰΩϚϦʂ
    ‣ *P5ͱςετ
    ‎ ී௨ʹ΍Δͱπϥ͍ɻ'VODUJPOBM4BB4ͳσόΠε͕΄͍͠ʂ
    ‣ *P5ͱ4FSWFSMFTTͱςετͱ
    ‎ Λ࢖͏͜ͱͰ"MM4FSWFSMFTTʹʂ$*΋ճͤΔʂʂ

    View Slide

  71. ͷ͜Ε͔Β
    ‣ ͱΓ͋͑ͣ"1*ΛϦϦʔε͢Δ
    ‎ ϦϦʔεͨ͠Βࠓճͷ$*͕Ͱ͖·͢
    ‣ ૹ৴ͨ͠σʔλΛऔಘͰ͖ΔΑ͏ʹ͢Δʂ
    ‎ ཷ·ͬͨσʔλͱಥ͖߹ΘͤͨΓͰ͖ͯɺςετͷ෯͕޿͕Δ

    View Slide

  72. ·ͱΊ

    View Slide

  73. ຊ೔ͷ͓࿩
    ‣ *P5ͷ#BDLFOE͸4FSWFSMFTT͕ελϯμʔυ
    ‣ *P5ͷςετ͸ී௨ʹ΍Δͱπϥ͍
    ‣ Λ࢖͏͜ͱͰ"MM4FSWFSMFTTͰςετ͕Մೳʹ
    ‣ ͦͷ੎͍ʹ৐ͬͯ$*΋ճͨ͠ʂ

    View Slide

  74. ͝ਗ਼ௌ͋Γ͕ͱ͏
    ͍͟͝·ͨ͠ʂ
    IUUQTNPDLNPDLDPNKB

    View Slide