Slide 1

Slide 1 text

1Z$PONJOJ4BQQPSP @tacck 1)1FS͕ฉ͖͍ͨ 1ZUIPOͷ͍͔ͭ͘ͷ͜ͱ 2019/05/11 1)1FS 1ZUIPO 1ZUIPO 1ZUIPO 1ZUIPO 1ZUIPO 1ZUIPO 1ZUIPO 1ZUIPO 1ZUIPO 1)1FS 1)1FS 1)1FS 1)1FS 1)1FS 1)1FS 1)1FS 1)1FS

Slide 2

Slide 2 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL ୭ • ໊લ tacck / ໦ݪ ୎໵ • ॴଐ גࣜձࣾϊʔεσΟςʔϧ • ࢓ࣄ ϞϏϦςΟIoTࣄۀ ͷԿͰ΋԰

Slide 3

Slide 3 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL 1ZUIPOJTUBͷօʑ༷ʹ
 ࢕͍͍ͨ

Slide 4

Slide 4 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL ͦͷલʹ

Slide 5

Slide 5 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL ීஈ͸1)1FS΍ͬͯ·͢ • ࢓ࣄͰ΋झຯͰ΋ɻ • ͦΕҎ֎ʹ͸ɺJavaॻ͍ͨΓɺJavaScriptॻ͍ͨΓɻ • ࢓ࣄͰPython͸ॻ͍ͯͳ͍Ͱ͢ɻɻɻ

Slide 6

Slide 6 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL ͦΜͳࢲͰ΋
 1ZUIPOΛ৮Δ͕࣌͋Γ·ͯ͠

Slide 7

Slide 7 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL

Slide 8

Slide 8 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL ֓ཁ ϒϥ΢β AWS IoT ηϯαʔ

Slide 9

Slide 9 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL ֓ཁ ϒϥ΢β AWS IoT ηϯαʔ ͜͜ʹPython

Slide 10

Slide 10 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL ֓ཁ ϒϥ΢β AWS IoT ηϯαʔ ηϯαʔ͔Β
 σʔλऔಘ͢Δ Pythonαϯϓϧ

Slide 11

Slide 11 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL ֓ཁ ϒϥ΢β AWS IoT ηϯαʔ AWS IoTϔ σʔλૹ৴͢Δ
 Pythonαϯϓϧ ηϯαʔ͔Β
 σʔλऔಘ͢Δ Pythonαϯϓϧ

Slide 12

Slide 12 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL ֓ཁ AWS IoTϔ σʔλૹ৴͢Δ
 Pythonαϯϓϧ ηϯαʔ͔Β
 σʔλऔಘ͢Δ Pythonαϯϓϧ

Slide 13

Slide 13 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL ֓ཁ ηϯαʔ͔Β
 σʔλऔಘ͢Δ Pythonαϯϓϧ AWS IoTϔ σʔλૹ৴͢Δ
 Pythonαϯϓϧ

Slide 14

Slide 14 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL Ωϝϥ ߹੒्ϓϩάϥϜ

Slide 15

Slide 15 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL • ͱΓ͋͑ͣαϯϓϧϓϩάϥϜΛ
 ͚ͬͭͯ͘ಈ͔ͯ͠ΈΔ • ಈ͖࢝ΊͨͷͰͦͷ··ಈ͔͠ଓ͚Δ • ҰिؒܦͭͱԿΛ΍͍͔ͬͯͨ๨ΕΔ

Slide 16

Slide 16 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL ߹੒्ϓϩάϥϜര஀

Slide 17

Slide 17 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL ߹੒्ϓϩάϥϜര஀ Έͳ͞Μ΋
 ࠇຐज़΍ͬͯ·͔͢?

Slide 18

Slide 18 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL Πϯσϯτͷ୩

Slide 19

Slide 19 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL • Πϯσϯτͷਂ͕͞ϒϩοΫΛද͢ • ͜Ε͸ྑ͍ • ͨͩɺ௕͍ίʔυΛεΫϩʔϧ͍ͯ͘͠ͱ
 ৺ʹҾ͔͔ͬΓ͕ੜ·ΕΔ͜ͱ΋

Slide 20

Slide 20 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL ϒϩοΫ࢝·ͬͨ

Slide 21

Slide 21 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL ϒϩοΫ·ͨ࢝·ͬͨ

Slide 22

Slide 22 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL ϒϩοΫऴΘ͔ͬͨͳ?

Slide 23

Slide 23 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL ϒϩοΫऴΘͬͯͳ͔ͬͨ

Slide 24

Slide 24 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL ϒϩοΫऴΘͬͯͳ͔ͬͨ ͕͜͜ Πϯσϯτͷ୩

Slide 25

Slide 25 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL ϒϩοΫऴΘ͔ͬͨͳ?

Slide 26

Slide 26 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL ϒϩοΫऴΘͬͯͳ͔ͬͨ

Slide 27

Slide 27 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL ϒϩοΫऴΘ͔ͬͨͳ?

Slide 28

Slide 28 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL ϒϩοΫऴΘͬͯͳ͔ͬͨ

Slide 29

Slide 29 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL …

Slide 30

Slide 30 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL … “ } ” ͸͍ͭग़Δͷ!!!!! (ग़·ͤΜ)

Slide 31

Slide 31 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL … “ } ” ͸͍ͭग़Δͷ!!!!! (ग़·ͤΜ) Ͳ͏΍ͬͨΒ
 ׳Ε·͔͢?

Slide 32

Slide 32 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL λϓϧͷṖΛ௥͑

Slide 33

Slide 33 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL ( ( ,) ,)

Slide 34

Slide 34 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL ( ( ,) ,) λϓΔ?

Slide 35

Slide 35 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL JNQPSU೉͍͠໰୊

Slide 36

Slide 36 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL • ͿͬͪΌ͚ “import” ͕Θ͔Βͳ͍ • “from” ͕ग़Δͱ͞ΒʹΘ͔Βͳ͍ • PHPͱPythonͰॻ͖ൺ΂ͯ͠Έͨɻ

Slide 37

Slide 37 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL 1)1ͰΫϥεΛ࢖͏ͱ͖

Slide 38

Slide 38 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL Foo.php SubFolder Bar.php Folder (ύοέʔδ໊: App)

Slide 39

Slide 39 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL Foo.php SubFolder Bar.php Folder (ύοέʔδ໊: App)

Slide 40

Slide 40 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL Foo.php SubFolder Bar.php Folder (ύοέʔδ໊: App)

Slide 41

Slide 41 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL Foo.php SubFolder Bar.php Folder (ύοέʔδ໊: App)

Slide 42

Slide 42 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL Foo.php SubFolder Bar.php Folder (ύοέʔδ໊: App)

Slide 43

Slide 43 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL 1ZUIPOͰΫϥεΛ࢖͏ͱ͖

Slide 44

Slide 44 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL Foo.py SubFolder Bar.py Folder

Slide 45

Slide 45 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL Foo.py SubFolder (ύοέʔδ໊) Bar.py (Ϟδϡʔϧ໊) Folder class Bar: … class Hoge: … ϑΝΠϧ໊͸Ϟδϡʔϧ໊ ϑΝΠϧ಺ʹෳ਺ΫϥεهࡌՄೳ PHPͩͱ “ϑΥϧμ໊” ͕ “Ϟδϡʔϧ໊” తͳҐஔ෇͚

Slide 46

Slide 46 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL Foo.py SubFolder (ύοέʔδ໊) Bar.py (Ϟδϡʔϧ໊) Folder import SubFolder.Bar class Foo: def someFunc(self): bar = SubFolder.Bar.Bar()

Slide 47

Slide 47 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL Foo.py SubFolder (ύοέʔδ໊) Bar.py (Ϟδϡʔϧ໊) Folder import SubFolder.Bar class Foo: def someFunc(self): bar = SubFolder.Bar.Bar() “ύοέʔδ໊” + “Ϟδϡʔϧ໊” + “Ϋϥε໊” “Bar.py” ಺ͷΫϥεΛࢀর ࢖͍͍ͨ “ύοέʔδ໊” + “Ϟδϡʔϧ໊” هࡌ ͜ͷϞδϡʔϧ಺Ͱ “SubFolder.Bar” Λ࢖༻

Slide 48

Slide 48 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL Foo.py SubFolder (ύοέʔδ໊) Bar.py (Ϟδϡʔϧ໊) Folder from SubFolder.Bar import Bar class Foo: def someFunc(self): bar = Bar() fromʹ “ύοέʔδ໊” + “Ϟδϡʔϧ໊” هࡌ ͜ͷதͷ “Ϋϥε” Λ࢖༻͢Δએݴ importͷޙʹॻ͍ͨ “Bar” ΛϞδϡʔϧ಺Ͱ࢖༻

Slide 49

Slide 49 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL Foo.py SubFolder (ύοέʔδ໊) Bar.py (Ϟδϡʔϧ໊) Folder from SubFolder.Bar import Bar class Foo: def someFunc(self): bar = Bar() ͜ͷॻ͖ํΛ͢Δͱɺ
 PHPͱಉ͡Α͏ͳײ͡ͰΫϥεΛࢀরͰ͖Δɻ fromʹ “ύοέʔδ໊” + “Ϟδϡʔϧ໊” هࡌ ͜ͷதͷ “Ϋϥε” Λ࢖༻͢Δએݴ importͷޙʹॻ͍ͨ “Bar” ΛϞδϡʔϧ಺Ͱ࢖༻

Slide 50

Slide 50 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL Foo.py SubFolder (ύοέʔδ໊) Bar.py (Ϟδϡʔϧ໊) Folder from SubFolder.Bar import Bar class Foo: def someFunc(self): bar = Bar() fromʹ “ύοέʔδ໊” + “Ϟδϡʔϧ໊” هࡌ ͜ͷதͷ “Ϋϥε” Λ࢖༻͢Δએݴ importͷޙʹॻ͍ͨ “Bar” ΛϞδϡʔϧ಺Ͱ࢖༻ ͜ͷॻ͖ํΛ͢Δͱɺ
 PHPͱಉ͡Α͏ͳײ͡ͰΫϥεΛࢀরͰ͖Δɻ ͜ΕͰ
 ྑ͍ΜͰ͔͢Ͷ?

Slide 51

Slide 51 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL 1ZUIPOJTUBͷօʑ༷ɺ
 ɹ༏͘͠ڭ͍͑ͯͩ͘͞

Slide 52

Slide 52 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL 13

Slide 53

Slide 53 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL https://phpcon.hokkaido.jp/

Slide 54

Slide 54 text

1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL FOE