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.7k
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
以 Python 應用來推進餐飲雲端 POS 系統:一個後端開發者的實戰分享
keitheis
0
180
Code Review of Senior Python Engineers
keitheis
0
200
成功地測試失敗 Fail tests successfully - Talk Slides - PyCon Taiwan 2021
keitheis
0
270
2020 給新手開發者學 Python 的建議與書單
keitheis
0
330
Django Cookiecutter short walk
keitheis
0
190
Reactive Programming in Python
keitheis
6
1.8k
迅速網站前端開發用 Python
keitheis
5
540
How PyCon APAC 2014 Web is built
keitheis
1
200
CKAN Introduction with zh_TW
keitheis
0
280
Other Decks in Technology
See All in Technology
How to Quickly Call American Airlines®️ U.S. Customer Care : Full Guide
flyaahelpguide
0
240
モニタリング統一への道のり - 分散モニタリングツール統合のためのオブザーバビリティプロジェクト
niftycorp
PRO
1
220
【LT会登壇資料】TROCCO新コネクタ「スマレジ」を活用した直営店データの分析
kazari0425
1
140
united airlines ™®️ USA Contact Numbers: Complete 2025 Support Guide
flyunitedhelp
1
470
【あのMCPって、どんな処理してるの?】 AWS CDKでの開発で便利なAWS MCP Servers特集
yoshimi0227
6
600
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
54
22k
IPA&AWSダブル全冠が明かす、人生を変えた勉強法のすべて
iwamot
PRO
2
220
freeeのアクセシビリティの現在地 / freee's Current Position on Accessibility
ymrl
2
260
ロールが細分化された組織でSREは何をするか?
tgidgd
1
160
クラウド開発の舞台裏とSRE文化の醸成 / SRE NEXT 2025 Lunch Session
kazeburo
1
400
AWS CDK 入門ガイド これだけは知っておきたいヒント集
anank
4
490
Getting to Know Your Legacy (System) with AI-Driven Software Archeology (WeAreDevelopers World Congress 2025)
feststelltaste
1
180
Featured
See All Featured
Code Review Best Practice
trishagee
69
19k
How to Think Like a Performance Engineer
csswizardry
25
1.7k
Navigating Team Friction
lara
187
15k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
980
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Visualization
eitanlees
146
16k
Producing Creativity
orderedlist
PRO
346
40k
The Pragmatic Product Professional
lauravandoore
35
6.7k
Done Done
chrislema
184
16k
BBQ
matthewcrist
89
9.7k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
How to train your dragon (web standard)
notwaldorf
96
6.1k
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