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
Python Engineer First Book
Search
hsekine
November 09, 2017
Technology
1
1.5k
Python Engineer First Book
Python Engineer First Book
hsekine
November 09, 2017
Tweet
Share
More Decks by hsekine
See All by hsekine
What I Learned from the Python Community
hsekine
1
52
What I Learned from the Python Community
hsekine
0
260
Python's Situation in Japanese Startups
hsekine
1
180
technology-of-squeeze
hsekine
0
2.8k
Vacation Rentals of Hiroshima
hsekine
1
830
Technology of Mister Suite
hsekine
0
170
PyCon JP 2015 Opening 02
hsekine
0
98
PyCon JP 2015 Closing 02
hsekine
0
31
PyCon JP 2015 Opening 01
hsekine
0
75
Other Decks in Technology
See All in Technology
生成AIをより賢く エンジニアのための RAG入門 - Oracle AI Jam Session #20
kutsushitaneko
4
290
私なりのAIのご紹介 [2024年版]
qt_luigi
1
120
KnowledgeBaseDocuments APIでベクトルインデックス管理を自動化する
iidaxs
1
280
エンジニアカフェ忘年会2024「今年やらかしてしまったこと!」
keropiyo
0
100
Wantedly での Datadog 活用事例
bgpat
2
690
サイボウズフロントエンドエキスパートチームについて / FrontendExpert Team
cybozuinsideout
PRO
5
38k
Oracle Cloudの生成AIサービスって実際どこまで使えるの? エンジニア目線で試してみた
minorun365
PRO
4
300
最近のSfM手法まとめ
kwchrk
2
280
10個のフィルタをAXI4-Streamでつなげてみた
marsee101
0
180
社内イベント管理システムを1週間でAKSからACAに移行した話し
shingo_kawahara
0
200
能動的ドメイン名ライフサイクル管理のすゝめ / Practice on Active Domain Name Lifecycle Management
nttcom
0
240
株式会社ログラス − エンジニア向け会社説明資料 / Loglass Comapany Deck for Engineer
loglass2019
3
32k
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
50
11k
Raft: Consensus for Rubyists
vanstee
137
6.7k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.9k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
YesSQL, Process and Tooling at Scale
rocio
169
14k
A Philosophy of Restraint
colly
203
16k
The Language of Interfaces
destraynor
154
24k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
95
17k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
29
2k
How to Think Like a Performance Engineer
csswizardry
22
1.2k
Transcript
PythonΤϯδχΞ ϑΝʔετϒοΫ 2017/11/08 ؔࠜ༟ل ΈΜͳͷPythonษڧձ#30
ࣗݾհ • ؔࠜ༟ل • גࣜձࣾSQUEEZE • ຽധɺཱྀؗɺࣗࣾϗςϧͷӡӦ • ॓ധࣄۀऀ͚ͷαʔϏε •
Twitter: @checkpoint
ίϛϡχςΠ׆ಈ • PyCon JP 2014 ~ 2016 ελοϑ • Python͘͘ձͷओ࠵
• Pythonຊʢڞஶʣ
͓͢Δ͜ͱ • PythonΤϯδχΞϑΝʔετϒοΫͷհ • PythonͰͷWebΞϓϦέʔγϣϯ։ൃ
PythonΤϯδχΞϑΝʔετϒοΫ
എܠ • PythonΤϯδχΞཆಡຊʢ2લʣ • PythonͷΓ্͕ΓɺτϨϯυͷมԽ • Python3ରԠ • ϥΠϒϥϦɺπʔϧͷΞοϓσʔτ •
ΑΓࣄͰ͑Δ࣮ફతͳ༰ʹ͍ͨ͠
ஶऀ • 5ਓͷஶऀ • ීஈࣄͰPythonΛ༻͍ͯ͠Δϝϯόʔ • ͦΕͧΕͷϝϯόʔ͕1ষͣͭ୲
ରಡऀ • ϓϩάϥϛϯάͷܦݧ͕͋Δ • Pythonʹڵຯ͕͋ΓɺԿ͔ΛͬͯΈ͍ͨ • PythonͰɺ۩ମతʹԿ͕Ͱ͖Δ͔Γ͍ͨ
ಛ • ࣄͰ༻͢Δ্ͰͷϙΠϯτΛղઆ • ݴޠ༷ • ։ൃڥɺνʔϜ։ൃ • ۩ମతͳ׆༻ࣄྫ •
εΫϨΠϐϯάɺσʔλੳɺWeb։ൃ
શମͷ֓ཁ • ୈ1ষɹPythonͷಈ • ୈ2ষɹ࠷ݶ͓͖͍ͬͯͨPythonݴޠͷجຊ • ୈ3ষɹ։ൃڥͱνʔϜ։ൃ • ୈ4ষɹεΫϨΠϐϯά •
ୈ5ষɹPyDataೖΨΠυ • ୈ6ষɹWebΞϓϦέʔγϣϯ։ൃ
ୈ1ষɹPythonͷಈ • Pythonͷಛ • Pythonͷྺ࢙ • PythonͷίϛϡχςΟ
ୈ2ষ Pythonݴޠͷجຊ • Pythonͷσʔλܕʦجຊฤʧ • PythonͷσʔλܕʦίϨΫγϣϯฤʧ • ϑΝΠϧૢ࡞ͱϞδϡʔϧ • ඪ४ϥΠϒϥϦ
• αʔυύʔςΟύοέʔδ
ୈ3ষɹ։ൃڥͱνʔϜ։ൃ • GitͱGitHub • venv • ςετ • Sphinx •
PyCharm
ୈ4ষɹεΫϨΠϐϯά • εΫϨΠϐϯάͱ • αʔυύʔςΟύοέʔδ • εΫϨΠϐϯάϑϨʔϜϫʔΫ Scrapyೖ
ୈ5ষɹPyDataೖΨΠυ • PyDataͱ • ͡ΊͯͷJupyter Notebook • ࣮ફ Ϩΰσʔλੳʦσʔλ୳ࡧฤʧ •
࣮ફ ϨΰσʔλੳʦσʔλՄࢹԽɼੳฤʧ
ୈ6ষɹWebΞϓϦέʔγϣϯ։ൃ • WebϑϨʔϜϫʔΫೖ • DjangoΞϓϦέʔγϣϯͷ࡞ͱॳظઃఆ • ϏϡʔɼςϯϓϨʔτɼϧʔςΟϯά • ϞσϧɼཧαΠτ •
ϨΰཧΞϓϦέʔγϣϯͷ࡞
͜ͷຊͷྑ͍ͱ͜Ζ • ετʔϦʔͷ͋Δ׆༻ࣄྫ • ๛ͳαϯϓϧίʔυ • खΛಈ͔͢ࣄ͕େࣄ
PythonͰͷWebΞϓϦέʔγϣϯ։ൃ • PythonͰͷબࢶ • WebΞϓϦέʔγϣϯϑϨʔϜϫʔΫ • Djangoʹ͍ͭͯ
PythonͰͷબࢶ • CGI • WSGI • WebΞϓϦέʔγϣϯϑϨʔϜϫʔΫ
WSGIͱʁ • WebαʔόʔͱΞϓϦέʔγϣϯͷڞ௨ͷΠ ϯλʔϑΣʔε༷ • Java Servlet APIͷΑ͏ͳͷ • PEP333,
PEP 3333 • ඪ४ϥΠϒϥϦʹwsgiref ͕͋Δ
WebΞϓϦέʔγϣϯෳࡶ • DBΞΫηε • ςϯϓϨʔτඳը • ϧʔςΟϯά • ϑΥʔϜॲཧ •
ϑΝΠϧΞοϓϩʔυ • ηογϣϯཧ • ηΩϡϦςΟ • etc…
WebΞϓϦέʔγϣϯϑϨʔϜϫʔΫ • WebΞϓϦͷ։ൃʹඞཁͳػೳΛఏڙ • ॲཧͷྲྀΕΛϑϨʔϜϫʔΫଆͰ੍ޚ • ։ൃऀඞཁͳ෦ͷΈΛ։ൃ • ΫϥεΛ࡞Δ •
ςϯϓϨʔτΛॻ͘ Ϋϥε ςϯϓϨʔτ
PythonͷWebϑϨʔϜϫʔΫ • Pyramid • Tornado • Flask • Bottle •
Django
Pyramid • খ͘͞ɺૣ͘ɺݎ࣮ͳϑϨʔϜϫʔΫ • ͯ͢ͷػೳΛϑϨʔϜϫʔΫଆͰ༻ҙ͠ͳ ͍ • αʔυύʔςΟͷϥΠϒϥϦͱΈ߹Θͤ ͯ༻͢Δ
Tornado • FriendFeedʢݱFacebookʣ͕։ൃ • ඇಉظͷωοτϫʔΫI/OϥΠϒϥϦ • Jupyter NotebookͷWebαʔόʔ
Flask • ܰྔͳΞϓϦέʔγϣϯϑϨʔϜϫʔΫ • Werkzeug (WSGI utility library) • Jinja2
(Template Engine)
Bottle • ܰྔͳΞϓϦέʔγϣϯϑϨʔϜϫʔΫ • ҰͭͷPythonϑΝΠϧͰఏڙ • ϑϨʔϜϫʔΫͷֶशʹ࠷ద
Django • ϑϧελοΫͷϑϨʔϜϫʔΫ • ࠷৽όʔδϣϯ1.11 • υΩϡϝϯτɺςετ͕ॆ࣮ • ίϛϡχςΟ͕׆ൃ •
ࠃ֎ʹࣄྫ͕ଟ͍
Django͕ఏڙ͢Δػೳ • Ϟσϧ • Ϗϡʔ • ςϯϓϨʔτ • ϑΥʔϜ •
ཧαΠτ • ηΩϡϦςΟ • ࠃࡍԽ • Ϣʔβʔೝূ • ͦͷଞ
DjangoͰͷ։ൃͷྲྀΕ • ϓϩδΣΫτͷ࡞ • ΞϓϦέʔγϣϯͷ࡞ • ॳظઃఆ (settings.py) • Ϟσϧͷ࡞
• Ϗϡʔͷ࡞ • ςϯϓϨʔτͷ࡞ • ϧʔςΟϯάͷఆٛ
ཧαΠτ։ൃͷྲྀΕ • Ϟσϧͷ࡞ • ཧαΠτͷఆٛ • ͜Ε͚ͩͰศརͳཧαΠτ͕ߏஙͰ͖Δʂ
Ϟσϧͷఆٛ Ϣʔβ λΠτϧ ຊจ ࡞࣌ ߋ৽࣌
Ϟσϧͷఆٛ ϒϩά λΠτϧ ຊจ ΧςΰϦ Լॻ͖ ެ։࣌ ࡞࣌ ߋ৽࣌
ϚΠάϨʔγϣϯ
ཧαΠτͷઃఆ
ཧαΠτσϞ
ΞϓϦέʔγϣϯͷྲྀΕ ϒϥβ Ϗϡʔ ίϯτϩʔϥʔ Ϟσϧ %#ΞΫηεʣ ςϯϓϨʔτ ը໘ͷදࣔ
ΞϓϦέʔγϣϯ։ൃͷྲྀΕ • Ϟσϧͷ࡞ • ϑΥʔϜͷ࡞ • Ϗϡʔͷ࡞ • ςϯϓϨʔτͷ࡞ •
ϧʔςΟϯάͷఆٛ
࡞αΠτσϞ https://github.com/checkpoint/django_sample
ศརͳϥΠϒϥϦ • django-debug-toolbar • Django REST framework
͓͢͢ΊαΠτ • Django Girls Tutorial • https://www.djangopackages.com/
͓͢͢ΊίϛϡχςΟ • Python mini Hack-a-thon • TokyoDjangoMeetup • Python͘͘ձ
·ͱΊ • PythonΤϯδχΞϑΝʔετϒοΫ • PythonͰͷWeb։ൃʹ͍ͭͯ
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠