Slide 1

Slide 1 text

Pythonೖ໳ऀͷू͍ #8

Slide 2

Slide 2 text

Who am I? @komo_fr (Tomoko Furuki) • ҩྍը૾৘ใγεςϜͷઃܭɾ࣮૷ɾධՁͳͲ
 ˠ άϧʔϓձࣾ಺ͷσʔλ׆༻ͷͨΊͷ
 PoC࡞੒ɾػցֶशͳͲʢPython)
 → ϑϦʔ • Python͸ബ͘௕͘4೥͘Β͍ • PyCon JP 2018, SciPy Japan 2019ͱ͔Ͱ࿩ͨ͠

Slide 3

Slide 3 text

5/26 PyLadiesTokyo Meetup ઌੜ࿮ͱͯ͠ࢀՃ
 ※ ࢀՃͰ͖Δͷ͸ঁੑͷํͷΈͱͳΓ·͢. ྃ͝ঝ͍ͩ͘͞
 https://pyladies-tokyo.connpass.com/event/129156/


Slide 4

Slide 4 text

Pythonʹग़ձ͔ͬͯΒ ͜Ε·Ͱ ࠓ೔࿩͢͜ͱ

Slide 5

Slide 5 text

࣌͸Ḫͬͯ 2015೥ॳ಄… 2015 2016 2017 2018 2019

Slide 6

Slide 6 text

Pythonʹग़ձ͏લ (2015Ҏલ) • ҩྍը૾৘ใγεςϜͷઃܭɾ࣮૷ɾධՁͳͲ • ʮڠྗձࣾͷ؅ཧͰ͸ͳ͘ɺίʔυΛॻ͖͍ͨʯͱ͍ ͏ر๬ͷݩɺ1ʙ3ਓఔ౓ͷνʔϜʹ • C#, Objective-C, Java, PowerShell, ৭ʑ΍ͬͨ

Slide 7

Slide 7 text

ྑ͔ͬͨ఺ • ෳ਺ͷݴޠͷ࣮຿ܦݧΛಘΒΕͨ • ݴޠʹґଘ͠ͳ͍஌ࣝ • ൺֱ͢Δ͜ͱͰɺಛ௃ΛֶͿ • Objective-CΛ΍ͬͨ͜ͱͰ
 ʮͳΜͰ͜Μͳݴޠઃܭʹͨ͠Μͩʁʯͱ͍͏͜ ͱʹڵຯΛ࣋ͪग़͢

Slide 8

Slide 8 text

ෆຬͩͬͨ఺ • ਺ϲ݄͝ͱʹݴޠ͕มΘΔ • ͦͷݴޠͷࢥ૝΍จԽɺਂ͍ͱ͜ΖʹͨͲΓண ͘લʹ࣍ʹ͍ͬͪΌ͏ • ʮ͏Θ΂͚ͩΛ΍͍ͬͯΔײ͕͢͡Δʯͱ͍͏ ෺଍Γͳ͞ • ϝΠϯݴޠ͕Objective-CͰෆ͕҆͋ͬͨ

Slide 9

Slide 9 text

ͤΊͯݴޠ͸ͻͱͭʹ ߜΓ͍ͨ ͋Ε͜Εͭ·Έ͙͍͢ΔͷͰ͸ͳ͘

Slide 10

Slide 10 text

͖͔͚ͬ ʢ2015೥ॳ಄ʣ

Slide 11

Slide 11 text

౰࣌ͷࢲ͸ർΕ͍ͯͨ

Slide 12

Slide 12 text

ՈࣄΛ͢Δݩؾ͕ͳ͍

Slide 13

Slide 13 text

Ͱ΋εϚϗήʔϜ͸͢Δ ʢ͓͔͍͠Ͷʣ

Slide 14

Slide 14 text

Ͱ΋εϚϗήʔϜ͸͢Δ ʢ͓͔͍͠Ͷʣ ը໘ΆͪΆͪ

Slide 15

Slide 15 text

Ͱ΋εϚϗήʔϜ͸͢Δ ʢ͓͔͍͠Ͷʣ ը໘ΆͪΆͪ ϙΠϯτ΍ ՝ۚͰ Ψνϟ͕Ҿ͚Δʂ

Slide 16

Slide 16 text

Ͱ΋εϚϗήʔϜ͸͢Δ ʢ͓͔͍͠Ͷʣ ը໘ΆͪΆͪ ϙΠϯτ΍ ՝ۚͰ Ψνϟ͕Ҿ͚Δʂ

Slide 17

Slide 17 text

෦԰શવย෇͔ͳ͍

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

՝ۚ͡Όͳͯ͘෦԰Λย෇͚ͨΒ ͝๙ඒͰ Ψνϟ͕Ҿ͚ͨΒ͍͍ͷʹ……

Slide 20

Slide 20 text

ΨνϟΛҾ͍ͨΒ ɹɹɹ͕͋ͨΕ͹ ͍͍ͷʹ……

Slide 21

Slide 21 text

࡞Ζ͏

Slide 22

Slide 22 text

ໝ૝͢Δ • ఆظతʹΧϝϥͰ෦԰ΛࡱӨ • ը૾Λݩʹɺย෇͍͍ͯΔ or ͍ͳ͍Λ൑ఆ • ย෇͍͍ͯͨΒϙΠϯτ͕ஷ·Δʂ • ࿈೔cleanͩͱϘʔφεɺϨϕϧΞοϓ…… • Web্ͷը໘ͰϙΠϯτ֬ೝͰ͖Δ

Slide 23

Slide 23 text

• ఆظతʹΧϝϥͰ෦԰ΛࡱӨ • ը૾Λݩʹɺย෇͍͍ͯΔ or ͍ͳ͍Λ൑ఆ • ย෇͍͍ͯͨΒϙΠϯτ͕ஷ·Δʂ • ࿈೔cleanͩͱϘʔφεɺϨϕϧΞοϓ…… • Web্ͷը໘ͰϙΠϯτ֬ೝͰ͖Δ ໝ૝͢Δ

Slide 24

Slide 24 text

clean messy ແྉࣸਅૉࡐࣸਅ"$IUUQTXXXQIPUPBDDPN

Slide 25

Slide 25 text

clean messy •ઢ΍৭ͷछྨ͕গͳ͍ •ͪ͝Όͪ͝Όͯ͠ͳ͍ʢς Ϋενϟʣ •ݟ͍͑ͯΔচ໘ੵ͕޿͍ •….. • ઢ΍৭ͷछྨ͕ଟ͍ • ͪ͝Όͪ͝Όͯ͠ΔʢςΫ ενϟʣ • ݟ͍͑ͯΔচ໘ੵ͕ڱ͍ • ….. ແྉࣸਅૉࡐࣸਅ"$IUUQTXXXQIPUPBDDPN

Slide 26

Slide 26 text

clean messy •ઢ΍৭ͷछྨ͕গͳ͍ •ͪ͝Όͪ͝Όͯ͠ͳ͍ʢς Ϋενϟʣ •ݟ͍͑ͯΔচ໘ੵ͕޿͍ •….. • ઢ΍৭ͷछྨ͕ଟ͍ • ͪ͝Όͪ͝Όͯ͠ΔʢςΫ ενϟʣ • ݟ͍͑ͯΔচ໘ੵ͕ڱ͍ • ….. ແྉࣸਅૉࡐࣸਅ"$IUUQTXXXQIPUPBDDPN Ͱ΋ࠓͬͯ΋͏ ࣗ෼Ͱಛ௃ྔͱ͔ ߟ͑ͳͯ͘΋ ͍͍ͷ͔ͳ……

Slide 27

Slide 27 text

• ී௨ͷهࣄͰʮσΟʔϓϥʔχϯάʯΛݟ͔͚Δ Α͏ʹͳΓ࢝Ίͨࠒ • Ͱ΋ɺTensorflow΍Chainer͸ΪϦ·ͩग़ͯͳ ͔ͬͨ • Chainer: 2015/6 • Tensorflow: 2015/11 2015೥ͷ͸͡Ί

Slide 28

Slide 28 text

•ը૾ॲཧ •ػցֶश •Raspberry pi ʢΧϝϥ༻ʣ Α͘Θ͔ΒΜͷͰ ΩʔϫʔυΛݩʹຊΛ୳͢

Slide 29

Slide 29 text

ը૾ॲཧ • PythonͰॻ͍ͯ͋ͬͨ • Numpyͱͷग़ձ͍ • ʮCΑΓָʹը૾ॲཧ
 ɹͰ͖Δ΍Μʂʯ • ʮOpenCV࢖͑Δ΍Μʂʯ IUUQTXXXPSFJMMZDPKQCPPLT

Slide 30

Slide 30 text

ػցֶश • PythonͰॻ͍ͯ͋ͬͨ • scikit-learnͱͷग़ձ͍ IUUQTXXXPSFJMMZDPKQ CPPLT

Slide 31

Slide 31 text

Raspberry PiʢΧϝϥ༻ʣ • ʮOSࡌͬͯͯ΄͍͔͠Β
 Arduino΍mbed͡Όͳͯ͘
 ϥζύΠͰ……ʯ • PythonͰॻ͍ͯ͋ͬͨ ౰࣌͸ୈ1൛ɺը૾͸ୈ4൛ IUUQTBN[OUP6GZVJC

Slide 32

Slide 32 text

΍ͨΒPythonʹग़͘Θ͢

Slide 33

Slide 33 text

΍ͨΒPythonʹग़͘Θ͢ ͳΜͰʔʁ

Slide 34

Slide 34 text

ઈົͳλΠϛϯά • ޿͘ઙ͘શ෦ೖΓͳ಺༰ • ίϛϡχςΟͷଘࡏΛ஌Δ • PyDataͱ͍͏ݴ༿Λ஌Δ ࠓ͸վగ൛͕ ग़͍ͯΔ IUUQTBN[OUP%C5F/ IUUQTBN[OUPJV;/9N

Slide 35

Slide 35 text

Column: PyDataͷ޿͕Γ 1ZUIPOΤϯδχΞཆ੒ಡຊQ͔ΒҾ༻ R΍MATLAB͸ڧྗͰ͕͢ɺ൚༻ͷϓϩάϥϛϯάݴޠͰ͸ ͋Γ·ͤΜɻҰํɺPython͸ɺ൚༻ϓϩάϥϛϯάݴޠͱ͠ ͯ๛෋ͳඪ४ϥΠϒϥϦ΍αʔυύʔςΟ੡ύοέʔδ͕ఏ ڙ͞Ε͍ͯ·͢ɻPythonͳΒɺ਺஋ܭࢉ΍ػցֶशʹΑͬ ͯಘͨ݁ՌΛWebαʔϏεͱͯ͠ఏڙ͢Δͱ͜Ζ·ͰΛɺ ̍ͭͷϓϩάϥϛϯάݴޠͰߦ͑·͢ɻ

Slide 36

Slide 36 text

͓෦԰ɾԚ෦԰൑ఆɺ ҰͭͷݴޠͰָʹ࡞Εͦ͏……! • ఆظతʹΧϝϥͰ෦԰ΛࡱӨ • ը૾Λݩʹɺย෇͍͍ͯΔ or ͍ͳ͍Λ൑ఆ • ย෇͍͍ͯͨΒϙΠϯτ͕ஷ·Δʂ • ࿈೔cleanͩͱϘʔφεɺϨϕϧΞοϓ…… • Web্ͰϙΠϯτ֬ೝͰ͖Δ

Slide 37

Slide 37 text

ͤΊͯݴޠ͸ͻͱͭʹ ߜΓ͍ͨ ͋Ε͜Εͭ·Έ͙͍͢ΔͷͰ͸ͳ͘

Slide 38

Slide 38 text

౰࣌झຯͰֶ΅͏ͱ͍ͯͨ͠ ݴޠͷީิ •Python •Go •Swift •Haskell

Slide 39

Slide 39 text

Pythonʹͨ͠ཧ༝ •ʮ಄ͷதͷΞΠσΞΛܗʹ͢Δʯͷʹ޲͍͍ͯͦ͏ •๛෋ͳOSSͷࢿ࢈ •ࢼߦࡨޡ͠΍͍͢εΫϦϓτݴޠ •PEPͳͲυΩϡϝϯτͷจԽ •ݴޠઃܭͷཧ༝͕υΩϡϝϯτԽ͞Ε͍ͯΔ •ʮҰͭͷݴޠΛਂ͘஌Γ͍ͨʯͱ͍͏ཉٻʹࢗͬͨ͞

Slide 40

Slide 40 text

2015೥ޙ൒ • ࢓ࣄͰ͸࢖͏ػձ͕ͳ͍ & ҟಈͷόλόλ • IoTͷςʔϚͷࣾ಺ϋοΧιϯͰϥζύΠΛಈ͔͢ ͷʹPython (& OpenCV) Λ࢖͏ • पғ͔Β͸ʮͳΜͰPython???ʯͬͯ൓Ԡͩͬͨ • ࢓ࣄ͕ऴΘ͔ͬͯΒҰਓͰؤுΔ ۀ຿Ͱ࢖͑ͳ͍ͷͰ
 ϓϥΠϕʔτͰগ͠Ͱ΋΍ΔΑظ

Slide 41

Slide 41 text

2016೥ • AI / σʔλ׆༻ͷPoCΛ࡞Δ • Կ΋ܾ·͍ͬͯͳ͍ͷͰɺPythonΛબ΂ͨ • σʔλΛpandasͰ੔ཧ͢Δͱ͜Ζ͔Βελʔτ • खΛಈ͔͢ػձ͕૿͑ͨ͜ͱͰɺͰ͖Δ͜ͱ΋૿͑Δ • ͕ɺࣾ಺ͩͱपΓʹ૬ஊͰ͖Δਓ͕͍ͳ͍ ۀ຿Ͱ࢖͍ग़ͨ͠ظ

Slide 42

Slide 42 text

Πϕϯτ΍ษڧձʹ͸
 ͋͑ͯߦ͍ͬͯͳ͔ͬͨ •౰࣌ͷ͓ؾ࣋ͪ •ʮిंͰҠಈ͢Δ͕࣌ؒ໪ମແ͍͔Βίʔυॻ࣌ؒ͘ ʹ͍͋ͯͨʯ •ʮ࠙਌ձͱ͔ߦͬͯ΋Կ஻Ε͹͍͍ͷ͔Θ͔Μͳ͍ɻ ͦͷ͘Β͍ͳΒίʔυॻ͖͍ͨʯ •ݱ஍ʹ͸ߦ͔ͣɺࢿྉ΍ಈըΛݟΔ •PyCon JPͱ͔ಛผʹେ͖͍Πϕϯτ͚ͩߦ͍ͬͯͨ

Slide 43

Slide 43 text

clean messy ແྉࣸਅૉࡐࣸਅ"$IUUQTXXXQIPUPBDDPN

Slide 44

Slide 44 text

Ԙ௮͚

Slide 45

Slide 45 text

ϥζύΠͰఆ఺؍ଌʁ •ʮఆ఺؍ଌ͍͔ͨ͠ΒϥζύΠʹΧϝϥ͚ͭͯʙʯ
 ˠ ηοτΞοϓͯ͠৭ʑ༡ΜͰ͍Δ͏ͪʹ໘౗ष͘ͳΔ
 ˠ Ԙ௮͚
 •ʢผʹ࠷ॳ͸MacͰ΋͑͑΍Ζ……ʣ

Slide 46

Slide 46 text

ࣗࣨͷը૾ΛूΊΔʁ •ʮػցֶश͔ͩΒը૾Λ͍ͬͺ͍ूΊΔͨΊʹఆظࡱӨ͠ ͯʙ……ʯ •ʮ͋ͬͰ΋ఆظࡱӨͩͱணସ͑தͷγʔϯ΋ࠞ͟Δ͔΋͠Ε ͳ͍͠ɺ෦԰શମͷը૾ͩͱൃදͱ͔Ͱ࢖͍ʹ͍͘……ʯ
 ˠ ৭ʑߟ͍͑ͯΔ͏ͪʹ໘౗ष͘ͳΔ
 → Ԙ௮͚ •ʢผʹࣗ෼ͷ෦԰શମ͡Όͳͯ͘΋͑͑΍Ζ……ʣ

Slide 47

Slide 47 text

ը໘Ͳ͏͠Α͏ʁ • ʮDB࡞ͬͯσʔλಡΈࠐΜͰʙάϥϑදࣔͱ͔ΧϨ ϯμʔදࣔͱ͔Ͱ͖ͯʙεϚϗ͔ΒΞΫηεͰ͖ͯʙʯ 
 ˠ (ུʣ
 → Ԙ௮͚ • ʢผʹ࠷ॳ͸Twitter΍Slackʹ௨஌͚ͩͰ΋͑͑΍ Ζ……ʣ

Slide 48

Slide 48 text

కΊ੾Γ΋ͳ͍ͷʹ ڽͬͨΞΠσΞΛ͜Ͷͩ͢ͱ Ӭԕʹ಄ͷத͔Βग़ͯདྷͳ͍

Slide 49

Slide 49 text

Ԙ௮͚

Slide 50

Slide 50 text

2017೥લ൒ • ҰਓͰؤுΔෆ҆ • ि຤ͣͬͱՈͰίʔυॻ͔͘ຊΛಡΜͰΔͷͰਫ਼ ਆ͕Ҿ͖͜΋Γ͕ͪ • ʮͲ͏ͤ౔೔ʹՈͰίʔυΛॻ͘ͳΒɺ֎Ͱίʔ υΛॻ͘ͷ΋ಉ͡Ͱ͸ʯ ίϛϡχςΟʹإΛग़࢝͠Ίͨظ

Slide 51

Slide 51 text

Output & Follow •PyCon JP 2017 Ͱ঺հ͞ΕͨϥΠϒϥϦΛ࢖ͬͯ
 1िؒͰ1ݸΦϦδφϧͷԿ͔Λ࡞Δ x 3ຊ •PythonstaʹΑΔiOSΞϓϦ •ScrapyʹΑΔεΫϨΠϐϯά •จষࣗಈੜ੒ •3ຊ࡞ͬͯɺͦͷ͏ͪͻͱͭΛPyLadies TokyoͰLT

Slide 52

Slide 52 text

ྑ͔ͬͨ఺ • ʮޱԼखͰࣗ෼ͷ͜ͱΛઆ໌͢Δͷ͕ۤखͰ΋ɺ
 ɹಈ͘ίʔυ͕͋Δͱձ࿩͕͠΍͍͢ʯͱ͍͏
 ɹೝࣝΛ࣋ͭ • ୹͍ظؒͰԿ͔Λ࡞Δʹ͸…
 ʮ࠷௿ݶ࡞ΕΔ΋ͷʯͷ੾Γग़͠ํ͕ͳΜͱͳ͘Θ͔ Δ

Slide 53

Slide 53 text

2017೥ޙ൒ - 2018લ൒ • ಈػͷͻͱͭʮҰͭͷݴޠΛਂ͘஌Γ͍ͨʯ ωλΛͻͱͭʹߜΔظ

Slide 54

Slide 54 text

ྑ͔ͬͨ఺ • ωλΛҰͭʹߜͬͨ͜ͱͰɺػձ͕૿͑ͨ • إΛ֮͑ͯ΋Β͑ͨ
 → ͍ΖΜͳਓ͔Βɺ੠Λ͔͚ͯ΋Β͑Δ
 ˠ PyConJpͰൃද͢Δ͖͔͚ͬ • OSSʹprΛૹΔ • θϩ͔ΒԿ͔Λܧଓͯ͠֎ʹൃදͯ͠FbΛ΋Β͏ɺͱ͍ ͏ײ͕֮ͪΐͬͱΘ͔ͬͨ

Slide 55

Slide 55 text

͜ͷ࣌ظʹ΍Βͳ͔ͬͨ͜ͱ • ϒϩά͸ॻ͔ͳ͔ͬͨ • ࠓ͸ɺ೔ຊޠΑΓίʔυॻ͖͍ͨ
 ͦͷ୅ΘΓɺ΋͘΋͘ձͰίʔυΛॻ͍ͯ੒Ռൃද • ίϛϡχςΟͷӡӦɺߨࢣ͸ԕྀͨ͠ • ࠓ͸ɺࣗ෼͕ίʔυΛॻ͖͍ͨ
 ͦͷ୅ΘΓɺLTͷίϯςϯπ͸ຒΊΔ(ࣗ෼͕࡞ͬͨ ΋ͷʹ͍ͭͯ࿩͢ ԿͰ΋͔ΜͰ΋͸Ͱ͖ͳ͍

Slide 56

Slide 56 text

Ξ΢τϓοτ͸େࣄ͚ͩͲ શ෦΍Δͷ͸େม ʢ͋ͳ͕ͨ௒ਓ͡Όͳ͍ݶΓʣ

Slide 57

Slide 57 text

ޠΓ

Slide 58

Slide 58 text

࣌͸ྲྀΕ 2019೥…… 2015 2016 2017 2018 2019

Slide 59

Slide 59 text

࠷ॳͷϓϩτ࡞ͬͨ OheyaObeya

Slide 60

Slide 60 text

ٸʹͲ͏ͨ͠ʁ • ϋοΧιϯ (FFS Hackathon 2018) ʹࢀՃʢక੾ͷઃఆʣ • Կ͕ԿͰ΋࣮ࡍʹಈ͘ϒπΛ࡞Γ͍ͨ • ൓লΛ౿·͑ɺγϯϓϧʹߟ͑ͯ
 ·ͣ͸ʮҰ൪ָʹ࡞ΕΔ΋ͷʯΛ
 ໨ࢦ͢ʢ࠷ॳ͸ڽΓ͗͢ͳ͍ʣ • ໰୊ઃఆΛ෦԰શମͰ͸ͳ͘
 ʮصͷ্ʯʹݶఆͨ͠

Slide 61

Slide 61 text

σϞಈըʢػೳͷҰ෦ʣ •https://www.youtube.com/watch?v=Pub1_Nes1tM&feature=youtu.be •KerasͰ࡞ͬͨɻৄࡉ-> IUUQTCJUMZ:,F)

Slide 62

Slide 62 text

·ͱΊ •ࣗ෼͕ཉ͍͠΋ͷΛ࡞ΔͨΊʹࢲ͸PythonΛ࢝Ίͨ •࢝Ί͙ͯ͢ʹɺ͍͢͝Ξ΢τϓοτ͕Ͱ͖ͨΘ͚Ͱ͸ ͳ͔ͬͨ •ֶͼ͸ɺ୳ࡧͷ࣌ظͱूதͷ࣌ظ͕͋Δ •Ͳ͏͍͏ֶͼํ͕޲͍ͯΔ͔ɺࢼߦࡨޡ͠Α͏ •γϯϓϧʹߟ͑Α͏ •ͱʹ͔͘ίʔυΛॻ͜͏