python and the web
DESCRIPTION
Keynote for Day 2 of PyCon Taiwan 2012, by James TauberTRANSCRIPT
![Page 1: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/1.jpg)
PYTHON AND THE WEBJ ames Tauber
@jtauber
![Page 2: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/2.jpg)
![Page 3: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/3.jpg)
![Page 4: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/4.jpg)
Python Web
![Page 5: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/5.jpg)
Python Web
![Page 6: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/6.jpg)
Python Web
![Page 7: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/7.jpg)
Python Web
![Page 8: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/8.jpg)
Python Web
![Page 9: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/9.jpg)
“python” in talk and “web” in talk
![Page 10: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/10.jpg)
HISTORY1989
GvR starts work on PythonTBL writes proposal for what would become WWW
1994
Python 1.0 released
First WWW conference
W3C founded
1997
HTML 3.2 releasedPython 1.5 released
![Page 11: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/11.jpg)
Python Web
![Page 12: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/12.jpg)
Batter ies Inc luded
![Page 13: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/13.jpg)
NumPy
Sc iPy
Matp lot l ib
pandas
![Page 14: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/14.jpg)
NLTK
![Page 15: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/15.jpg)
music21
sebast ian / czerny
![Page 16: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/16.jpg)
Sphinx
readthedocs .or g
![Page 17: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/17.jpg)
PyPI
cr ate . io
![Page 18: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/18.jpg)
You can’t use a specialist language to build a system
![Page 19: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/19.jpg)
•computer scientists
•domain experts
•system administrators
•web developers
![Page 20: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/20.jpg)
“Programs are meant to be read by humans and only incidentally for computers to execute”
—Don Knuth
![Page 21: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/21.jpg)
Python Web
![Page 22: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/22.jpg)
HTML, HTTP, URLs
![Page 23: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/23.jpg)
Ser v ing s tat ic f i les wi th hyper l inks
![Page 24: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/24.jpg)
Images
CSS
Ser ver S ide Inc ludes
![Page 25: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/25.jpg)
CGI
Common Gateway Inter face
![Page 26: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/26.jpg)
Inver t ing Code and Mar kup
PHP and ASP
![Page 27: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/27.jpg)
Database-backed Webs i tes
![Page 28: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/28.jpg)
LAMP
![Page 29: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/29.jpg)
J avascr ipt
![Page 30: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/30.jpg)
XML
![Page 31: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/31.jpg)
Web Ser v ices
![Page 32: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/32.jpg)
AJAX
![Page 33: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/33.jpg)
JSON
![Page 34: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/34.jpg)
what i s a web page?
what i s a webs i te?
![Page 35: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/35.jpg)
Candelabr a Demo
![Page 36: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/36.jpg)
j tauber.g i thub.com demo
![Page 37: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/37.jpg)
Python Web
![Page 38: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/38.jpg)
LAMP
Python
![Page 39: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/39.jpg)
ZOPE
Plone
![Page 40: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/40.jpg)
WSGI
![Page 41: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/41.jpg)
MVC
![Page 42: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/42.jpg)
database mapping
HTML templat ing
request rout ing
![Page 43: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/43.jpg)
TurboGears 1
SQLObject
K id
Cher r yPy
![Page 44: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/44.jpg)
TurboGears 2
SQLAlchemy
Gensh i
Py lons
![Page 45: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/45.jpg)
Repoze BFG
Pylons
Pyramid
![Page 46: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/46.jpg)
Flask
Wer kzeur g
J in ja2
![Page 47: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/47.jpg)
Django
![Page 48: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/48.jpg)
![Page 49: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/49.jpg)
![Page 50: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/50.jpg)
1.0 September 2008
1.1 Ju ly 2009
1.2 May 2010
1.3 March 2011
1.4 March 2012
![Page 51: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/51.jpg)
t imezones
SELECT FOR UPDATE
password hash ing
s igned cook ies
pro ject /app templates
wsg i .py
in-browser test ing
![Page 52: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/52.jpg)
a layer above?
![Page 53: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/53.jpg)
why layer ?
![Page 54: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/54.jpg)
por tab i l i ty o f h igher layer s
![Page 55: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/55.jpg)
reusab i l i ty o f lower layer s
![Page 56: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/56.jpg)
“We read Knuth so you don’t have to”
—Tim Peters
![Page 57: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/57.jpg)
idea realization
What you do for a living is not be creative, what you do is ship
— Seth Godin
![Page 58: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/58.jpg)
Pinax prov ides what many s i tes have in common so you can focus on what makes your s i te d i f ferent
![Page 59: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/59.jpg)
Project layoutDefau l t templates
Account ManagementReusable apps
Star ter Pro jects
![Page 60: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/60.jpg)
AnnouncementsAttachments
AvatarsBadgesBlogs
BookmarksContact import
Email confirmationFriends
InvitationsMarkup
MicrobloggingNotification
OAuthOpenID
PaginationPhotosProfiles
Sign up codesTaggingTasks
Threaded-commentsTimezones
User-to-user messagesVotingWikis
![Page 61: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/61.jpg)
cach ing (Redis)search (So l r / Haystack)
message queues (Celer y)
![Page 62: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/62.jpg)
Prov id ing Web APIs
![Page 63: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/63.jpg)
Consuming Web APIs
![Page 64: Python and the Web](https://reader034.vdocument.in/reader034/viewer/2022052301/5552c1bcb4c905920f8b4933/html5/thumbnails/64.jpg)
PYTHON AND THE WEBJ ames Tauber
@jtauber