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
250
Python's Situation in Japanese Startups
hsekine
1
170
technology-of-squeeze
hsekine
0
2.7k
Vacation Rentals of Hiroshima
hsekine
1
800
Technology of Mister Suite
hsekine
0
160
PyCon JP 2015 Opening 02
hsekine
0
76
PyCon JP 2015 Closing 02
hsekine
0
25
PyCon JP 2015 Opening 01
hsekine
0
58
Other Decks in Technology
See All in Technology
アクセシビリティを考慮したUI/CSSフレームワーク・ライブラリ選定
yajihum
2
1k
長期運用プロジェクトでのMySQLからTiDB移行の検証
colopl
2
820
Reducing Cross-Zone Egress at Spotify with Custom gRPC Load Balancing Recap
koh_naga
0
190
「スニダン」開発組織の構造に込めた意図 ~組織作りはパッションや政治ではない!~
rinchsan
3
520
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
2k
KubeConにproposalを送りたい人へのアドバイス
sat
PRO
3
220
推しは推せるときに推せ! プロダクトにフィードバックしていこう
nakasho
0
280
オーナーシップを持つ領域を明確にする
konifar
13
3.1k
サーバー間 GraphQL と webmock-graphql の話 / server-to-server graphql and webmock-graphql
qsona
2
180
コンテナセキュリティの基本と脅威への対策
kyohmizu
3
750
Postman v10リリース後を振り返る
nagix
0
170
Azure犬駆動開発の記録/GlobalAzureFukuoka2024_20240420
nina01
1
200
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
14
1.5k
Reflections from 52 weeks, 52 projects
jeffersonlam
345
19k
Facilitating Awesome Meetings
lara
42
5.6k
Embracing the Ebb and Flow
colly
80
4.1k
GitHub's CSS Performance
jonrohan
1025
450k
Building a Modern Day E-commerce SEO Strategy
aleyda
17
6.4k
Designing the Hi-DPI Web
ddemaree
276
33k
StorybookのUI Testing Handbookを読んだ
zakiyama
13
4.6k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
659
120k
Music & Morning Musume
bryan
41
5.6k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
241
1.2M
Producing Creativity
orderedlist
PRO
337
39k
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։ൃʹ͍ͭͯ
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠