Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
Python入門者の集い #8 ゲスト講演② | Pythonを始めてからこれまでのこと
komo_fr
May 13, 2019
Education
1
360
Python入門者の集い #8 ゲスト講演② | Pythonを始めてからこれまでのこと
▼ Python入門者の集い #8
https://python-nyumon.connpass.com/event/113338/
komo_fr
May 13, 2019
Tweet
Share
More Decks by komo_fr
See All by komo_fr
komofr
0
9
komofr
15
7.3k
komofr
0
990
komofr
1
160
komofr
15
6k
komofr
2
410
komofr
4
1.3k
komofr
1
260
komofr
3
1.7k
Other Decks in Education
See All in Education
elenareimeryte
0
280
ykanoh
2
440
hedgehognoodle
0
160
shoin
0
200
atp
0
180
amarelo_n24
0
120
1ftseabass
PRO
0
210
atp
0
110
salvemaria
0
160
chaion07
0
110
matleenalaakso
0
4.1k
unsoluble_sugar
0
140
Featured
See All Featured
mongodb
23
3.8k
keithpitt
401
20k
holman
288
130k
edds
56
9.3k
dougneiner
119
7.8k
danielanewman
200
20k
sugarenia
233
830k
jeffersonlam
328
15k
jacobian
255
20k
lara
16
2.6k
lauravandoore
437
28k
jasonvnalue
82
8.1k
Transcript
Pythonೖऀͷू͍ #8
Who am I? @komo_fr (Tomoko Furuki) • ҩྍը૾ใγεςϜͷઃܭɾ࣮ɾධՁͳͲ ˠ άϧʔϓձࣾͷσʔλ׆༻ͷͨΊͷ
PoC࡞ɾػցֶशͳͲʢPython) → ϑϦʔ • Pythonബ͘͘4͘Β͍ • PyCon JP 2018, SciPy Japan 2019ͱ͔Ͱͨ͠
5/26 PyLadiesTokyo Meetup ઌੜͱͯ͠ࢀՃ ※ ࢀՃͰ͖ΔͷঁੑͷํͷΈͱͳΓ·͢. ྃ͝ঝ͍ͩ͘͞ https://pyladies-tokyo.connpass.com/event/129156/
Pythonʹग़ձ͔ͬͯΒ ͜Ε·Ͱ ࠓ͢͜ͱ
࣌Ḫͬͯ 2015ॳ಄… 2015 2016 2017 2018 2019
Pythonʹग़ձ͏લ (2015Ҏલ) • ҩྍը૾ใγεςϜͷઃܭɾ࣮ɾධՁͳͲ • ʮڠྗձࣾͷཧͰͳ͘ɺίʔυΛॻ͖͍ͨʯͱ͍ ͏رͷݩɺ1ʙ3ਓఔͷνʔϜʹ • C#, Objective-C,
Java, PowerShell, ৭ʑͬͨ
ྑ͔ͬͨ • ෳͷݴޠͷ࣮ܦݧΛಘΒΕͨ • ݴޠʹґଘ͠ͳ͍ࣝ • ൺֱ͢Δ͜ͱͰɺಛΛֶͿ • Objective-CΛͬͨ͜ͱͰ ʮͳΜͰ͜Μͳݴޠઃܭʹͨ͠Μͩʁʯͱ͍͏͜
ͱʹڵຯΛ࣋ͪग़͢
ෆຬͩͬͨ • ϲ݄͝ͱʹݴޠ͕มΘΔ • ͦͷݴޠͷࢥจԽɺਂ͍ͱ͜ΖʹͨͲΓண ͘લʹ࣍ʹ͍ͬͪΌ͏ • ʮ͏Θ͚ͩΛ͍ͬͯΔײ͕͢͡Δʯͱ͍͏ Γͳ͞ •
ϝΠϯݴޠ͕Objective-CͰෆ͕҆͋ͬͨ
ͤΊͯݴޠͻͱͭʹ ߜΓ͍ͨ ͋Ε͜Εͭ·Έ͙͍͢ΔͷͰͳ͘
͖͔͚ͬ ʢ2015ॳ಄ʣ
࣌ͷࢲർΕ͍ͯͨ
ՈࣄΛ͢Δݩؾ͕ͳ͍
ͰεϚϗήʔϜ͢Δ ʢ͓͔͍͠Ͷʣ
ͰεϚϗήʔϜ͢Δ ʢ͓͔͍͠Ͷʣ ը໘ΆͪΆͪ
ͰεϚϗήʔϜ͢Δ ʢ͓͔͍͠Ͷʣ ը໘ΆͪΆͪ ϙΠϯτ ՝ۚͰ Ψνϟ͕Ҿ͚Δʂ
ͰεϚϗήʔϜ͢Δ ʢ͓͔͍͠Ͷʣ ը໘ΆͪΆͪ ϙΠϯτ ՝ۚͰ Ψνϟ͕Ҿ͚Δʂ
෦શવย͔ͳ͍
None
՝ۚ͡Όͳͯ͘෦Λย͚ͨΒ ͝๙ඒͰ Ψνϟ͕Ҿ͚ͨΒ͍͍ͷʹ……
ΨνϟΛҾ͍ͨΒ ɹɹɹ͕͋ͨΕ ͍͍ͷʹ……
࡞Ζ͏
ໝ͢Δ • ఆظతʹΧϝϥͰ෦ΛࡱӨ • ը૾Λݩʹɺย͍͍ͯΔ or ͍ͳ͍Λఆ • ย͍͍ͯͨΒϙΠϯτ͕ஷ·Δʂ •
࿈cleanͩͱϘʔφεɺϨϕϧΞοϓ…… • Web্ͷը໘ͰϙΠϯτ֬ೝͰ͖Δ
• ఆظతʹΧϝϥͰ෦ΛࡱӨ • ը૾Λݩʹɺย͍͍ͯΔ or ͍ͳ͍Λఆ • ย͍͍ͯͨΒϙΠϯτ͕ஷ·Δʂ • ࿈cleanͩͱϘʔφεɺϨϕϧΞοϓ……
• Web্ͷը໘ͰϙΠϯτ֬ೝͰ͖Δ ໝ͢Δ
clean messy ແྉࣸਅૉࡐࣸਅ"$IUUQTXXXQIPUPBDDPN
clean messy •ઢ৭ͷछྨ͕গͳ͍ •ͪ͝Όͪ͝Όͯ͠ͳ͍ʢς Ϋενϟʣ •ݟ͍͑ͯΔচ໘ੵ͕͍ •….. • ઢ৭ͷछྨ͕ଟ͍ •
ͪ͝Όͪ͝Όͯ͠ΔʢςΫ ενϟʣ • ݟ͍͑ͯΔচ໘ੵ͕ڱ͍ • ….. ແྉࣸਅૉࡐࣸਅ"$IUUQTXXXQIPUPBDDPN
clean messy •ઢ৭ͷछྨ͕গͳ͍ •ͪ͝Όͪ͝Όͯ͠ͳ͍ʢς Ϋενϟʣ •ݟ͍͑ͯΔচ໘ੵ͕͍ •….. • ઢ৭ͷछྨ͕ଟ͍ •
ͪ͝Όͪ͝Όͯ͠ΔʢςΫ ενϟʣ • ݟ͍͑ͯΔচ໘ੵ͕ڱ͍ • ….. ແྉࣸਅૉࡐࣸਅ"$IUUQTXXXQIPUPBDDPN Ͱࠓͬͯ͏ ࣗͰಛྔͱ͔ ߟ͑ͳͯ͘ ͍͍ͷ͔ͳ……
• ී௨ͷهࣄͰʮσΟʔϓϥʔχϯάʯΛݟ͔͚Δ Α͏ʹͳΓ࢝Ίͨࠒ • ͰɺTensorflowChainerΪϦ·ͩग़ͯͳ ͔ͬͨ • Chainer: 2015/6 •
Tensorflow: 2015/11 2015ͷ͡Ί
•ը૾ॲཧ •ػցֶश •Raspberry pi ʢΧϝϥ༻ʣ Α͘Θ͔ΒΜͷͰ ΩʔϫʔυΛݩʹຊΛ୳͢
ը૾ॲཧ • PythonͰॻ͍ͯ͋ͬͨ • Numpyͱͷग़ձ͍ • ʮCΑΓָʹը૾ॲཧ ɹͰ͖ΔΜʂʯ • ʮOpenCV͑ΔΜʂʯ
IUUQTXXXPSFJMMZDPKQCPPLT
ػցֶश • PythonͰॻ͍ͯ͋ͬͨ • scikit-learnͱͷग़ձ͍ IUUQTXXXPSFJMMZDPKQ CPPLT
Raspberry PiʢΧϝϥ༻ʣ • ʮOSࡌͬͯͯ΄͍͔͠Β Arduinombed͡Όͳͯ͘ ϥζύΠͰ……ʯ • PythonͰॻ͍ͯ͋ͬͨ ࣌ୈ1൛ɺը૾ୈ4൛ IUUQTBN[OUP6GZVJC
ͨΒPythonʹग़͘Θ͢
ͨΒPythonʹग़͘Θ͢ ͳΜͰʔʁ
ઈົͳλΠϛϯά • ͘ઙ͘શ෦ೖΓͳ༰ • ίϛϡχςΟͷଘࡏΛΔ • PyDataͱ͍͏ݴ༿ΛΔ ࠓվగ൛͕ ग़͍ͯΔ
IUUQTBN[OUP%C5F/ IUUQTBN[OUPJV;/9N
Column: PyDataͷ͕Γ 1ZUIPOΤϯδχΞཆಡຊQ͔ΒҾ༻ RMATLABڧྗͰ͕͢ɺ൚༻ͷϓϩάϥϛϯάݴޠͰ ͋Γ·ͤΜɻҰํɺPythonɺ൚༻ϓϩάϥϛϯάݴޠͱ͠ ͯ๛ͳඪ४ϥΠϒϥϦαʔυύʔςΟύοέʔδ͕ఏ ڙ͞Ε͍ͯ·͢ɻPythonͳΒɺܭࢉػցֶशʹΑͬ ͯಘͨ݁ՌΛWebαʔϏεͱͯ͠ఏڙ͢Δͱ͜Ζ·ͰΛɺ ̍ͭͷϓϩάϥϛϯάݴޠͰߦ͑·͢ɻ
͓෦ɾԚ෦ఆɺ ҰͭͷݴޠͰָʹ࡞Εͦ͏……! • ఆظతʹΧϝϥͰ෦ΛࡱӨ • ը૾Λݩʹɺย͍͍ͯΔ or ͍ͳ͍Λఆ • ย͍͍ͯͨΒϙΠϯτ͕ஷ·Δʂ
• ࿈cleanͩͱϘʔφεɺϨϕϧΞοϓ…… • Web্ͰϙΠϯτ֬ೝͰ͖Δ
ͤΊͯݴޠͻͱͭʹ ߜΓ͍ͨ ͋Ε͜Εͭ·Έ͙͍͢ΔͷͰͳ͘
࣌झຯͰֶ΅͏ͱ͍ͯͨ͠ ݴޠͷީิ •Python •Go •Swift •Haskell
Pythonʹͨ͠ཧ༝ •ʮ಄ͷதͷΞΠσΞΛܗʹ͢Δʯͷʹ͍͍ͯͦ͏ •๛ͳOSSͷࢿ࢈ •ࢼߦࡨޡ͍͢͠εΫϦϓτݴޠ •PEPͳͲυΩϡϝϯτͷจԽ •ݴޠઃܭͷཧ༝͕υΩϡϝϯτԽ͞Ε͍ͯΔ •ʮҰͭͷݴޠΛਂ͘Γ͍ͨʯͱ͍͏ཉٻʹͬͨ͞
2015ޙ • ࣄͰ͏ػձ͕ͳ͍ & ҟಈͷόλόλ • IoTͷςʔϚͷࣾϋοΧιϯͰϥζύΠΛಈ͔͢ ͷʹPython (& OpenCV)
Λ͏ • पғ͔ΒʮͳΜͰPython???ʯͬͯԠͩͬͨ • ࣄ͕ऴΘ͔ͬͯΒҰਓͰؤுΔ ۀͰ͑ͳ͍ͷͰ ϓϥΠϕʔτͰগ͠ͰΔΑظ
2016 • AI / σʔλ׆༻ͷPoCΛ࡞Δ • Կܾ·͍ͬͯͳ͍ͷͰɺPythonΛબͨ • σʔλΛpandasͰཧ͢Δͱ͜Ζ͔Βελʔτ •
खΛಈ͔͢ػձ͕૿͑ͨ͜ͱͰɺͰ͖Δ͜ͱ૿͑Δ • ͕ɺࣾͩͱपΓʹ૬ஊͰ͖Δਓ͕͍ͳ͍ ۀͰ͍ग़ͨ͠ظ
Πϕϯτษڧձʹ ͋͑ͯߦ͍ͬͯͳ͔ͬͨ •࣌ͷ͓ؾ࣋ͪ •ʮిंͰҠಈ͢Δ͕࣌ؒମແ͍͔Βίʔυॻ࣌ؒ͘ ʹ͍͋ͯͨʯ •ʮ࠙ձͱ͔ߦͬͯԿΕ͍͍ͷ͔Θ͔Μͳ͍ɻ ͦͷ͘Β͍ͳΒίʔυॻ͖͍ͨʯ •ݱʹߦ͔ͣɺࢿྉಈըΛݟΔ •PyCon JPͱ͔ಛผʹେ͖͍Πϕϯτ͚ͩߦ͍ͬͯͨ
clean messy ແྉࣸਅૉࡐࣸਅ"$IUUQTXXXQIPUPBDDPN
Ԙ௮͚
ϥζύΠͰఆ؍ଌʁ •ʮఆ؍ଌ͍͔ͨ͠ΒϥζύΠʹΧϝϥ͚ͭͯʙʯ ˠ ηοτΞοϓͯ͠৭ʑ༡ΜͰ͍Δ͏ͪʹ໘ष͘ͳΔ ˠ Ԙ௮͚ •ʢผʹ࠷ॳMacͰ͑͑Ζ……ʣ
ࣗࣨͷը૾ΛूΊΔʁ •ʮػցֶश͔ͩΒը૾Λ͍ͬͺ͍ूΊΔͨΊʹఆظࡱӨ͠ ͯʙ……ʯ •ʮ͋ͬͰఆظࡱӨͩͱணସ͑தͷγʔϯࠞ͟Δ͔͠Ε ͳ͍͠ɺ෦શମͷը૾ͩͱൃදͱ͔Ͱ͍ʹ͍͘……ʯ ˠ ৭ʑߟ͍͑ͯΔ͏ͪʹ໘ष͘ͳΔ → Ԙ௮͚ •ʢผʹࣗͷ෦શମ͡Όͳͯ͑͑͘Ζ……ʣ
ը໘Ͳ͏͠Α͏ʁ • ʮDB࡞ͬͯσʔλಡΈࠐΜͰʙάϥϑදࣔͱ͔ΧϨ ϯμʔදࣔͱ͔Ͱ͖ͯʙεϚϗ͔ΒΞΫηεͰ͖ͯʙʯ ˠ (ུʣ → Ԙ௮͚ •
ʢผʹ࠷ॳTwitterSlackʹ௨͚ͩͰ͑͑ Ζ……ʣ
కΊΓͳ͍ͷʹ ڽͬͨΞΠσΞΛ͜Ͷͩ͢ͱ Ӭԕʹ಄ͷத͔Βग़ͯདྷͳ͍
Ԙ௮͚
2017લ • ҰਓͰؤுΔෆ҆ • िͣͬͱՈͰίʔυॻ͔͘ຊΛಡΜͰΔͷͰਫ਼ ਆ͕Ҿ͖͜Γ͕ͪ • ʮͲ͏ͤʹՈͰίʔυΛॻ͘ͳΒɺ֎Ͱίʔ υΛॻ͘ͷಉ͡Ͱʯ ίϛϡχςΟʹإΛग़࢝͠Ίͨظ
Output & Follow •PyCon JP 2017 Ͱհ͞ΕͨϥΠϒϥϦΛͬͯ 1िؒͰ1ݸΦϦδφϧͷԿ͔Λ࡞Δ x 3ຊ
•PythonstaʹΑΔiOSΞϓϦ •ScrapyʹΑΔεΫϨΠϐϯά •จষࣗಈੜ •3ຊ࡞ͬͯɺͦͷ͏ͪͻͱͭΛPyLadies TokyoͰLT
ྑ͔ͬͨ • ʮޱԼखͰࣗͷ͜ͱΛઆ໌͢Δͷ͕ۤखͰɺ ɹಈ͘ίʔυ͕͋Δͱձ͕͍͢͠ʯͱ͍͏ ɹೝࣝΛ࣋ͭ • ͍ظؒͰԿ͔Λ࡞Δʹ… ʮ࠷ݶ࡞ΕΔͷʯͷΓग़͠ํ͕ͳΜͱͳ͘Θ͔ Δ
2017ޙ - 2018લ • ಈػͷͻͱͭʮҰͭͷݴޠΛਂ͘Γ͍ͨʯ ωλΛͻͱͭʹߜΔظ
ྑ͔ͬͨ • ωλΛҰͭʹߜͬͨ͜ͱͰɺػձ͕૿͑ͨ • إΛ֮͑ͯΒ͑ͨ → ͍ΖΜͳਓ͔ΒɺΛ͔͚ͯΒ͑Δ ˠ PyConJpͰൃද͢Δ͖͔͚ͬ •
OSSʹprΛૹΔ • θϩ͔ΒԿ͔Λܧଓͯ͠֎ʹൃදͯ͠FbΛΒ͏ɺͱ͍ ͏ײ͕֮ͪΐͬͱΘ͔ͬͨ
͜ͷ࣌ظʹΒͳ͔ͬͨ͜ͱ • ϒϩάॻ͔ͳ͔ͬͨ • ࠓɺຊޠΑΓίʔυॻ͖͍ͨ ͦͷΘΓɺ͘͘ձͰίʔυΛॻ͍ͯՌൃද • ίϛϡχςΟͷӡӦɺߨࢣԕྀͨ͠ • ࠓɺ͕ࣗίʔυΛॻ͖͍ͨ
ͦͷΘΓɺLTͷίϯςϯπຒΊΔ(͕ࣗ࡞ͬͨ ͷʹ͍ͭͯ͢ ԿͰ͔ΜͰͰ͖ͳ͍
Ξτϓοτେࣄ͚ͩͲ શ෦Δͷେม ʢ͋ͳ͕ͨਓ͡Όͳ͍ݶΓʣ
ޠΓ
࣌ྲྀΕ 2019…… 2015 2016 2017 2018 2019
࠷ॳͷϓϩτ࡞ͬͨ OheyaObeya
ٸʹͲ͏ͨ͠ʁ • ϋοΧιϯ (FFS Hackathon 2018) ʹࢀՃʢకͷઃఆʣ • Կ͕ԿͰ࣮ࡍʹಈ͘ϒπΛ࡞Γ͍ͨ •
লΛ౿·͑ɺγϯϓϧʹߟ͑ͯ ·ͣʮҰ൪ָʹ࡞ΕΔͷʯΛ ࢦ͢ʢ࠷ॳڽΓ͗͢ͳ͍ʣ • ઃఆΛ෦શମͰͳ͘ ʮصͷ্ʯʹݶఆͨ͠
σϞಈըʢػೳͷҰ෦ʣ •https://www.youtube.com/watch?v=Pub1_Nes1tM&feature=youtu.be •KerasͰ࡞ͬͨɻৄࡉ-> IUUQTCJUMZ:,F)
·ͱΊ •͕ࣗཉ͍͠ͷΛ࡞ΔͨΊʹࢲPythonΛ࢝Ίͨ •࢝Ί͙ͯ͢ʹɺ͍͢͝Ξτϓοτ͕Ͱ͖ͨΘ͚Ͱ ͳ͔ͬͨ •ֶͼɺ୳ࡧͷ࣌ظͱूதͷ࣌ظ͕͋Δ •Ͳ͏͍͏ֶͼํ͕͍ͯΔ͔ɺࢼߦࡨޡ͠Α͏ •γϯϓϧʹߟ͑Α͏ •ͱʹ͔͘ίʔυΛॻ͜͏