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.6k
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
270
Python's Situation in Japanese Startups
hsekine
1
200
technology-of-squeeze
hsekine
0
2.9k
Vacation Rentals of Hiroshima
hsekine
1
850
Technology of Mister Suite
hsekine
0
180
PyCon JP 2015 Opening 02
hsekine
0
120
PyCon JP 2015 Closing 02
hsekine
0
37
PyCon JP 2015 Opening 01
hsekine
0
110
Other Decks in Technology
See All in Technology
Claude Code Subagents 再入門 ~cc-sddの実装で学んだこと~
gotalab555
0
290
そのWAFのブロック、どう活かす? サービスを守るための実践的多層防御と思考法 / WAF blocks defense decision
kaminashi
0
200
Git in Team
kawaguti
PRO
3
370
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
43k
Codexとも仲良く。CodeRabbit CLIの紹介
moongift
PRO
0
200
フレームワークを意識させないワークショップづくり
keigosuda
0
160
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.8k
"プロポーザルってなんか怖そう"という境界を超えてみた@TSUDOI by giftee Tech #1
shilo113
0
190
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
930
ユーザーの声とAI検証で進める、プロダクトディスカバリー
sansantech
PRO
1
140
「使い方教えて」「事例教えて」じゃもう遅い! Microsoft 365 Copilot を触り倒そう!
taichinakamura
0
380
Simplifying Cloud Native app testing across environments with Dapr and Microcks
salaboy
0
150
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
The Cult of Friendly URLs
andyhume
79
6.6k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Bash Introduction
62gerente
615
210k
Making Projects Easy
brettharned
120
6.4k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
115
20k
Speed Design
sergeychernyshev
32
1.2k
How to Think Like a Performance Engineer
csswizardry
27
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։ൃʹ͍ͭͯ
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠