Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
PHPerが聞きたいPythonのいくつかのこと - PyCon mini Sapporo 2...
Search
Kihara, Takuya
PRO
May 11, 2019
Technology
1.3k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
PHPerが聞きたいPythonのいくつかのこと - PyCon mini Sapporo 2019 #pyconsap
PyCon mini Sapporo 2019 #pyconsap
LTでの発表。
Kihara, Takuya
PRO
May 11, 2019
More Decks by Kihara, Takuya
See All by Kihara, Takuya
Amplify でも Auth0 をいい感じに使いたい! - Cognito Identity Pool を使った認証情報の連携 #auth0
tacck
PRO
0
100
雑食エンジニアの生きる道〜AI時代のこれから #seb_summit
tacck
PRO
1
210
それでは聞いてください「Impeller導入に失敗しました」 #FlutterKaigi #skia
tacck
PRO
0
540
5年目から始める Vue3 サイト改善 #frontendo
tacck
PRO
3
680
Amazon Q Developer CLI でゲームと Amplify アプリを作ってみた #ゆるWeb札幌
tacck
PRO
0
77
ゆるWeb勉強会@札幌 #30 #ゆるWeb札幌
tacck
PRO
0
51
Flutter を始めよう! - Flutter の開発現場から
tacck
PRO
0
210
GitHub Actions で Flutter アプリの CI/CD をやってます #ゆるWeb札幌
tacck
PRO
0
550
ゆるWeb勉強会@札幌 #29 #ゆるWeb札幌
tacck
PRO
0
220
Other Decks in Technology
See All in Technology
Text-to-SQLをAgentCoreで実現し、生成されるSQLの精度を定量的に評価する
yakumo
2
100
データレイクの「見えない問題」を可視化する
sansantech
PRO
1
230
AIは、人間らしい仕事の夢を見るか?─ AI時代のtoB/toEプロダクトを再設計する
techtekt
PRO
0
160
AIをフル活用してオンコール機能のプロトタイプを2日で作った話 / Building an AI-Powered On-Call Prototype in Just Two Days
nari_ex
0
150
初めてのDatabricks勉強会
taka_aki
2
190
Fabricをフル活用する AI Agent Hub -製造業特化AIエージェントの設計
iotcomjpadmin
0
160
SRE歴2ヶ月でも開発6年の知見を活かして、チームで止まっていた環境改善を前に進めた話
a_ono
0
110
toB プロダクトから見たWAF
tokai235
0
250
組織における AI-DLC 実践
askul
0
160
AI-DLCを “そのまま導入しなかった”話 ~組織に合わせてアジャストした 私たちの実践共有~
hiroramos4
PRO
1
440
週末にループ・エンジニアリングの理解を深めるためのスライド
nagatsu
0
590
Zenoh on Zephyr on LiteX
takasehideki
2
130
Featured
See All Featured
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
740
Test your architecture with Archunit
thirion
1
2.3k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
210
A designer walks into a library…
pauljervisheath
211
24k
So, you think you're a good person
axbom
PRO
2
2.1k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.7k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.3k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.3k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
400
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Transcript
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
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL ୭ • ໊લ tacck / ݪ •
ॴଐ גࣜձࣾϊʔεσΟςʔϧ • ࣄ ϞϏϦςΟIoTࣄۀ ͷԿͰ
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL 1ZUIPOJTUBͷօʑ༷ʹ ͍͍ͨ
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL ͦͷલʹ
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL ීஈ1)1FSͬͯ·͢ • ࣄͰझຯͰɻ • ͦΕҎ֎ʹɺJavaॻ͍ͨΓɺJavaScriptॻ͍ͨΓɻ • ࣄͰPythonॻ͍ͯͳ͍Ͱ͢ɻɻɻ
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL ͦΜͳࢲͰ 1ZUIPOΛ৮Δ͕࣌͋Γ·ͯ͠
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL ֓ཁ ϒϥβ AWS IoT ηϯαʔ
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL ֓ཁ ϒϥβ AWS IoT ηϯαʔ ͜͜ʹPython
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL ֓ཁ ϒϥβ AWS IoT ηϯαʔ ηϯαʔ͔Β σʔλऔಘ͢Δ Pythonαϯϓϧ
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL ֓ཁ ϒϥβ AWS IoT ηϯαʔ AWS IoTϔ σʔλૹ৴͢Δ
Pythonαϯϓϧ ηϯαʔ͔Β σʔλऔಘ͢Δ Pythonαϯϓϧ
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL ֓ཁ AWS IoTϔ σʔλૹ৴͢Δ Pythonαϯϓϧ ηϯαʔ͔Β σʔλऔಘ͢Δ Pythonαϯϓϧ
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL ֓ཁ ηϯαʔ͔Β σʔλऔಘ͢Δ Pythonαϯϓϧ AWS IoTϔ σʔλૹ৴͢Δ Pythonαϯϓϧ
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL Ωϝϥ ߹्ϓϩάϥϜ
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL • ͱΓ͋͑ͣαϯϓϧϓϩάϥϜΛ ͚ͬͭͯ͘ಈ͔ͯ͠ΈΔ • ಈ͖࢝ΊͨͷͰͦͷ··ಈ͔͠ଓ͚Δ • ҰिؒܦͭͱԿΛ͍͔ͬͯͨΕΔ
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL ߹्ϓϩάϥϜര
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL ߹्ϓϩάϥϜര Έͳ͞Μ ࠇຐज़ͬͯ·͔͢?
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL Πϯσϯτͷ୩
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL • Πϯσϯτͷਂ͕͞ϒϩοΫΛද͢ • ͜Εྑ͍ • ͨͩɺ͍ίʔυΛεΫϩʔϧ͍ͯ͘͠ͱ ৺ʹҾ͔͔ͬΓ͕ੜ·ΕΔ͜ͱ
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL ϒϩοΫ࢝·ͬͨ
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL ϒϩοΫ·ͨ࢝·ͬͨ
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL ϒϩοΫऴΘ͔ͬͨͳ?
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL ϒϩοΫऴΘͬͯͳ͔ͬͨ
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL ϒϩοΫऴΘͬͯͳ͔ͬͨ ͕͜͜ Πϯσϯτͷ୩
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL ϒϩοΫऴΘ͔ͬͨͳ?
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL ϒϩοΫऴΘͬͯͳ͔ͬͨ
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL ϒϩοΫऴΘ͔ͬͨͳ?
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL ϒϩοΫऴΘͬͯͳ͔ͬͨ
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL …
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL … “ } ” ͍ͭग़Δͷ!!!!! (ग़·ͤΜ)
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL … “ } ” ͍ͭग़Δͷ!!!!! (ग़·ͤΜ) Ͳ͏ͬͨΒ ׳Ε·͔͢?
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL λϓϧͷṖΛ͑
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL ( ( ,) ,)
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL ( ( ,) ,) λϓΔ?
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL JNQPSU͍͠
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL • ͿͬͪΌ͚ “import” ͕Θ͔Βͳ͍ • “from” ͕ग़Δͱ͞ΒʹΘ͔Βͳ͍ •
PHPͱPythonͰॻ͖ൺͯ͠Έͨɻ
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL 1)1ͰΫϥεΛ͏ͱ͖
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL Foo.php SubFolder Bar.php Folder (ύοέʔδ໊: App)
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL Foo.php SubFolder Bar.php Folder (ύοέʔδ໊: App) <?php namespace
App\SubFolder; class Bar { … } ΫϥεͱϑΝΠϧ໊ جຊతʹ1ର1
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL Foo.php SubFolder Bar.php Folder (ύοέʔδ໊: App) <?php namespace
App; use App\SubFolder\Bar; class Foo { public function someFunc() { $bar = new Bar(); } }
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL Foo.php SubFolder Bar.php Folder (ύοέʔδ໊: App) <?php namespace
App; use App\SubFolder\Bar; class Foo { public function someFunc() { $bar = new Bar(); } } “ύοέʔδ໊” + “SubFolder” + “Ϋϥε໊” Ͱɺ “Bar.php” ͷΫϥεΛࢀরɻ
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL Foo.php SubFolder Bar.php Folder (ύοέʔδ໊: App) <?php namespace
App; use App\SubFolder\Bar; class Foo { public function someFunc() { $bar = new Bar(); } } “ύοέʔδ໊” + “SubFolder” + “Ϋϥε໊” Ͱɺ “Bar.php” ͷΫϥεΛࢀরɻ ͜ͷΫϥεͰ Ϋϥε໊͚ͩͰݺͼग़͠Մೳ
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL 1ZUIPOͰΫϥεΛ͏ͱ͖
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL Foo.py SubFolder Bar.py Folder
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL Foo.py SubFolder (ύοέʔδ໊) Bar.py (Ϟδϡʔϧ໊) Folder class Bar:
… class Hoge: … ϑΝΠϧ໊Ϟδϡʔϧ໊ ϑΝΠϧʹෳΫϥεهࡌՄೳ PHPͩͱ “ϑΥϧμ໊” ͕ “Ϟδϡʔϧ໊” తͳҐஔ͚
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL Foo.py SubFolder (ύοέʔδ໊) Bar.py (Ϟδϡʔϧ໊) Folder import SubFolder.Bar
class Foo: def someFunc(self): bar = SubFolder.Bar.Bar()
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” Λ༻
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL Foo.py SubFolder (ύοέʔδ໊) Bar.py (Ϟδϡʔϧ໊) Folder from SubFolder.Bar
import Bar class Foo: def someFunc(self): bar = Bar() fromʹ “ύοέʔδ໊” + “Ϟδϡʔϧ໊” هࡌ ͜ͷதͷ “Ϋϥε” Λ༻͢Δએݴ importͷޙʹॻ͍ͨ “Bar” ΛϞδϡʔϧͰ༻
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” ΛϞδϡʔϧͰ༻
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ͱಉ͡Α͏ͳײ͡ͰΫϥεΛࢀরͰ͖Δɻ ͜ΕͰ ྑ͍ΜͰ͔͢Ͷ?
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL 1ZUIPOJTUBͷօʑ༷ɺ ɹ༏͘͠ڭ͍͑ͯͩ͘͞
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL 13
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL https://phpcon.hokkaido.jp/
1Z$PONJOJ4BQQPSPQZDPOTBQ !UBDDL FOE