python and the web

64
PYTHON AND THE WEB James Tauber @jtauber

Upload: pycontw

Post on 13-May-2015

1.084 views

Category:

Technology


2 download

DESCRIPTION

Keynote for Day 2 of PyCon Taiwan 2012, by James Tauber

TRANSCRIPT

Page 1: Python and the Web

PYTHON AND THE WEBJ ames Tauber

@jtauber

Page 2: Python and the Web
Page 3: Python and the Web
Page 4: Python and the Web

Python Web

Page 5: Python and the Web

Python Web

Page 6: Python and the Web

Python Web

Page 7: Python and the Web

Python Web

Page 8: Python and the Web

Python Web

Page 9: Python and the Web

“python” in talk and “web” in talk

Page 10: Python and the Web

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

Python Web

Page 12: Python and the Web

Batter ies Inc luded

Page 13: Python and the Web

NumPy

Sc iPy

Matp lot l ib

pandas

Page 14: Python and the Web

NLTK

Page 15: Python and the Web

music21

sebast ian / czerny

Page 16: Python and the Web

Sphinx

readthedocs .or g

Page 17: Python and the Web

PyPI

cr ate . io

Page 18: Python and the Web

You can’t use a specialist language to build a system

Page 19: Python and the Web

•computer scientists

•domain experts

•system administrators

•web developers

Page 20: Python and the Web

“Programs are meant to be read by humans and only incidentally for computers to execute”

—Don Knuth

Page 21: Python and the Web

Python Web

Page 22: Python and the Web

HTML, HTTP, URLs

Page 23: Python and the Web

Ser v ing s tat ic f i les wi th hyper l inks

Page 24: Python and the Web

Images

CSS

Ser ver S ide Inc ludes

Page 25: Python and the Web

CGI

Common Gateway Inter face

Page 26: Python and the Web

Inver t ing Code and Mar kup

PHP and ASP

Page 27: Python and the Web

Database-backed Webs i tes

Page 28: Python and the Web

LAMP

Page 29: Python and the Web

J avascr ipt

Page 30: Python and the Web

XML

Page 31: Python and the Web

Web Ser v ices

Page 32: Python and the Web

AJAX

Page 33: Python and the Web

JSON

Page 34: Python and the Web

what i s a web page?

what i s a webs i te?

Page 35: Python and the Web

Candelabr a Demo

Page 36: Python and the Web

j tauber.g i thub.com demo

Page 37: Python and the Web

Python Web

Page 38: Python and the Web

LAMP

Python

Page 39: Python and the Web

ZOPE

Plone

Page 40: Python and the Web

WSGI

Page 41: Python and the Web

MVC

Page 42: Python and the Web

database mapping

HTML templat ing

request rout ing

Page 43: Python and the Web

TurboGears 1

SQLObject

K id

Cher r yPy

Page 44: Python and the Web

TurboGears 2

SQLAlchemy

Gensh i

Py lons

Page 45: Python and the Web

Repoze BFG

Pylons

Pyramid

Page 46: Python and the Web

Flask

Wer kzeur g

J in ja2

Page 47: Python and the Web

Django

Page 48: Python and the Web
Page 49: Python and the Web
Page 50: Python and the Web

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

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

a layer above?

Page 53: Python and the Web

why layer ?

Page 54: Python and the Web

por tab i l i ty o f h igher layer s

Page 55: Python and the Web

reusab i l i ty o f lower layer s

Page 56: Python and the Web

“We read Knuth so you don’t have to”

—Tim Peters

Page 57: Python and the Web

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

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

Project layoutDefau l t templates

Account ManagementReusable apps

Star ter Pro jects

Page 60: Python and the Web

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

cach ing (Redis)search (So l r / Haystack)

message queues (Celer y)

Page 62: Python and the Web

Prov id ing Web APIs

Page 63: Python and the Web

Consuming Web APIs

Page 64: Python and the Web

PYTHON AND THE WEBJ ames Tauber

@jtauber