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
Agile web dev with Pyhon
Search
Keith Yang
January 13, 2013
Technology
13
3.8k
Agile web dev with Pyhon
A presentation for WebConf Taiwan 2013
Keith Yang
January 13, 2013
Tweet
Share
More Decks by Keith Yang
See All by Keith Yang
請來的 AI Agent 同事們在寫程式時,怎麼用 pytest 去除各種幻想與盲點
keitheis
0
200
以 Python 應用來推進餐飲雲端 POS 系統:一個後端開發者的實戰分享
keitheis
0
330
Code Review of Senior Python Engineers
keitheis
0
250
成功地測試失敗 Fail tests successfully - Talk Slides - PyCon Taiwan 2021
keitheis
0
350
2020 給新手開發者學 Python 的建議與書單
keitheis
0
360
Django Cookiecutter short walk
keitheis
0
220
Reactive Programming in Python
keitheis
6
1.8k
迅速網站前端開發用 Python
keitheis
5
550
How PyCon APAC 2014 Web is built
keitheis
1
220
Other Decks in Technology
See All in Technology
primeNumber DATA MANAGEMENT CAMP #2:
masatoshi0205
1
620
Bill One 開発エンジニア 紹介資料
sansan33
PRO
5
18k
Introduction to Bill One Development Engineer
sansan33
PRO
0
370
Databricks (と気合い)で頑張るAI Agent 運用
kameitomohiro
0
330
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3k
ヘルシーSRE
tk3fftk
2
170
LINEヤフーにおけるAI駆動開発組織のプロデュース施策
lycorptech_jp
PRO
0
190
社内でAWS BuilderCards体験会を立ち上げ、得られた気づき / 20260225 Masaki Okuda
shift_evolve
PRO
1
150
Interop Tokyo 2025 ShowNet Team Memberで学んだSRv6を基礎から丁寧に
miyukichi_ospf
0
230
【Developers Summit 2026】Memory Is All You Need:コンテキストの「最適化」から「継続性」へ ~RAGを進化させるメモリエンジニアリングの最前線~
shisyu_gaku
5
830
社内ワークショップで終わらせない 業務改善AIエージェント開発
lycorptech_jp
PRO
1
400
LY Tableauでの Tableau x AIの実践 (at Tableau Now! - 2026-02-26)
yoshitakaarakawa
0
900
Featured
See All Featured
Thoughts on Productivity
jonyablonski
75
5.1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
380
Chasing Engaging Ingredients in Design
codingconduct
0
130
Documentation Writing (for coders)
carmenintech
77
5.3k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
63
53k
4 Signs Your Business is Dying
shpigford
187
22k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
760
How to train your dragon (web standard)
notwaldorf
97
6.5k
Between Models and Reality
mayunak
1
210
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
14k
Transcript
Agile web dev with Python a presentation by Keith Yang
for WebConf Taiwan 2013 @keitheis http://quest.keitheis.org/
WebConf.TW 2013 How to learn Python from zero to web
development? A question on programmers.stackexchange.com
WebConf.TW 2013 How to learn Python from zero to web
development? A question on programmers.stackexchange.com
WebConf.TW 2013 How to learn Python from zero to web
development? A question on programmers.stackexchange.com Just go over 14 tutorials.
WebConf.TW 2013 THAT simple, Dear.
WebConf.TW 2013 T^T simple, Tear.
WebConf.TW 2013 T^T simple, Tear. (括號:哭哭)
WebConf.TW 2013 Any one who likes Ruby or PHP ?
WebConf.TW 2013 Hold on
WebConf.TW 2013 It’s not that easier for any_language in web_development
WebConf.TW 2013 Then, how can we make it better?
WebConf.TW 2013 Good is meant to be chosen that’s why
we’re here.
WebConf.TW 2013 Choosing good... • Language • Framework • Library
• Application • Methodology • Architecture • Team • Organization
WebConf.TW 2013 >>> assert True or False We’re interested: Agile
Web Python
WebConf.TW 2013 >>> assert True or False We’re interested: Agile
Web Python Taiwan
WebConf.TW 2013 >>> assert True and False Traceback (most recent
call last): File "<stdin>", line 1, in <module> AssertionError Traceback (most recent call last): File "<stdin>", line 1, in <module> AssertionError
WebConf.TW 2013 >>> assert True and False Traceback (most recent
call last): File "<stdin>", line 1, in <module> AssertionError Traceback (most recent call last): File "<stdin>", line 1, in <module> AssertionError raise Exception quickly.
WebConf.TW 2013 Exception You can choose not to raise it
now, you will be !ne except it may come to visit you often, sometimes secretly.
WebConf.TW 2013 Keith Yang architect.py at biideal yet another di"erent
e-commerce provider Taipei.py organizer PyCon Taiwan sta"
WebConf.TW 2013 Keith Yang architect.py at biideal yet another di"erent
e-commerce provider Taipei.py organizer PyCon Taiwan sta" 2012 2013 ...
WebConf.TW 2013 Monthly meeting Python user group in Taipei Taipei.py
WebConf.TW 2013 We’re using Python And not just us. Python
has been popular in parts of the startups
WebConf.TW 2013 We’re using Python And not just us. Python
has been popular in parts of the startups Instagram, FriendFeed, ... how Facebook [like] it
WebConf.TW 2013 Looking for good
WebConf.TW 2013 Looking for good
WebConf.TW 2013 Looking for good Coder Dev Ops
WebConf.TW 2013 The best agile toolkit for Python web dev?
WebConf.TW 2013 Python itself. Yeah, you know the secret...
WebConf.TW 2013 Python itself. Yeah, you know the secret...
WebConf.TW 2013 “Nobody got !red for choosing Python”
WebConf.TW 2013 “Nobody got !red for choosing Python” not me,
not yet
WebConf.TW 2013 Python is good by people who is using
it
WebConf.TW 2013 Python is good by people who is using
it be careful with magic project that supports injection of apps, plugins, extensions
WebConf.TW 2013 “Simple, Stupid Language”
WebConf.TW 2013 “Simple, Stupid Language” Not much surprise Not much
magic No all day debug of $%@!? variables
WebConf.TW 2013 It practices elegance Rethink code in hands. Just
do it
WebConf.TW 2013 It practices elegance Rethink code in hands. Just
do it better.
WebConf.TW 2013 Web Toolkits Most popular one v.s. My opinionated
one v.s. Alternatives
WebConf.TW 2013 Web Frameworks of Python ... lots • Django
• Pyramid • Flask • Tornado • Web2py, Turbogears, bottle.py, ...
WebConf.TW 2013 Web Frameworks of Python ... lots • Django
• Pyramid • Flask • Tornado • Web2py, Turbogears, bottle.py, ... ALL AGILE!
WebConf.TW 2013 Web Frameworks of Python ... lots • Django
• Pyramid • Flask • Tornado • Web2py, Turbogears, bottle.py, ... ALL AGILE! Ready for RESTful
WebConf.TW 2013 As long as you know PEP 8 or
The Hitchhiker’s Guide to Python!
WebConf.TW 2013 As long as you know PEP 8 or
The Hitchhiker’s Guide to Python! Good style to follow
WebConf.TW 2013 Code Indention from the very beginning. Seems that
Co"eeScript loves it.
WebConf.TW 2013 It’s important You can make choice between several
well developed choices. Not just ONE there.
WebConf.TW 2013 How to pick a web framework from “Just
pick a good one.” to “I’ve compared EVERYTHING.”
WebConf.TW 2013 How to pick a web framework Goal Scale
Resources
WebConf.TW 2013 How to pick a web framework Goal: Blog,
Wiki, EC Platform Scale: Personal, Studio, Company, Enterprise Resources: Schedule, Support
WebConf.TW 2013 How to pick a web framework Micro: bottle.py
Mini: Flask by Armin Ronacher by Marcel Hellkamp
WebConf.TW 2013 How to pick a web framework Micro: bottle.py
Mini: Flask Middle: Django, Pyramid, web2py by Armin Ronacher by Marcel Hellkamp
WebConf.TW 2013 How to pick a web framework Micro: bottle.py
Mini: Flask Middle: Django, Pyramid, web2py Other: you’ll know what you want. by Armin Ronacher by Marcel Hellkamp
WebConf.TW 2013 What Makes Pyramid Unique Single-!le applications Decorator-based con!g
URL generation Debug Toolbar Add-ons Class-based and function-based views Asset speci!cations Extensible templating Event system No any “mutable globals” Transaction management
WebConf.TW 2013 What Makes Pyramid Unique Single-!le applications Decorator-based con!g
URL generation Debug Toolbar Add-ons Class-based and function-based views Asset speci!cations Extensible templating Event system No any “mutable globals” Transaction management Lots more!
WebConf.TW 2013 How to setup environment virtualenv + pip Search:
“keitheis pip” for my tutorial
WebConf.TW 2013 Documentation by Georg Brandl.
WebConf.TW 2013
WebConf.TW 2013 Object-Relational Mapping •SQLAlchemy unless you’re using Django ORM
or web2py DAL • You might also be interested in: MongoKit structured schema and validation layer
WebConf.TW 2013 Template •Mako or Jinja2 unless you’re using Django
Template • You might also be interested in: Plim “a Python port of Ruby’s Slim template language built on top of the Mako Templates”
WebConf.TW 2013 Manage Web Assets “webassets - Asset management for
Python” • with Django • with Flask • with Pyramid • other or no framework
WebConf.TW 2013 Do it later Celery asynchronous task queue/job queue
based on distributed message passing
WebConf.TW 2013 Testing •Nosetests (Django-nose?) • You might also be
interested in: pytest more powerful, detail, #exible and complex
WebConf.TW 2013 Coding tool •Sublime Text 2 powered by Python
•PyDev more powerful, detail, #exible and complex • Lots... Emacs, Vim, ...
WebConf.TW 2013 Coding tool •Sublime Text 2 powered by Python
•PyDev more powerful, detail, #exible and complex • Lots... Emacs, Vim, ...
WebConf.TW 2013 Deployment •Fabric + cuisine Server(s) administration in Python
• You might also be interested in: Plumbum di"erent style... # sudo[ls["-l", "-a"]] by Christian Vest Hansen and Jeffrey E. Forcier. by Sebastien Pierre by Tomer Filiba
WebConf.TW 2013 Fabric + cuisine def restart_service(service_name, time_interval=1): stop_service(service_name) time.sleep(time_interval)
# Avoid time attack start_service(service_name) def stop_service(service_name): return sudo( 'service {service_name} stop'.format( service_name=service_name)) def start_service(service_name): return sudo( 'service {service_name} start'.format( service_name=service_name))
WebConf.TW 2013 Process Management •Supervisor monitor and control a number
of processes on UNIX-like operating systems. • You might also be interested in: Circus.io process & socket manager. by Agendaless by Mozilla
WebConf.TW 2013 Powerful Data Computing If you’re going to have
numbers, you won’t hope to learn one more language for statistic and analysis.
WebConf.TW 2013 Python User Group in Taiwan Communities: PyHUG #
Taipei.py #
WebConf.TW 2013 Python User Group in Taiwan Communities: PyHUG #
Taipei.py # Yilan, Tainan, Kaohsiung, Kinmen, ... #
WebConf.TW 2013 PyCon Taiwan 2013 after PyCon.TW 2012 fantasy #
tw.pycon.org
WebConf.TW 2013 PyCon Taiwan 2013 after PyCon.TW 2012 fantasy #
Call for Proposals tw.pycon.org
WebConf.TW 2013 PyCon Taiwan 2013 after PyCon.TW 2012 fantasy #
Call for Proposals and Sponsorship tw.pycon.org
WebConf.TW 2013 Be agile but not scrumover#ow
WebConf.TW 2013 Choose good
WebConf.TW 2013 Some Fun Demo? % python Python 2.7.2 (default,
Jun 20 2012, 16:23:33) Type "help", "copyright", "credits" or "license" for more information. >>> import this
WebConf.TW 2013 Q & A