SlideShare a Scribd company logo
1 of 24
Python web开发吐槽 @飞龙V5
关于飞龙 网名:飞龙(Felinx) 博客:http://feilong.me 微博:@飞龙V5 蜕变:物理男->星际狂->程序猿 更多:http://feilong.me/about
吐槽议题 为什么要吐槽? 吐槽Python web开发(Tornado) 吐槽Python web framework 集体吐槽…
为什么要吐槽? 爱之深 恨之切 改进!!!
吐槽议题 为什么要吐槽? 吐槽Python web开发(Tornado) 吐槽Python web framework 集体吐槽…
Ruby web开发现状
Python web开发现状 http://wiki.python.org/moin/WebFrameworks
Tornado web server or framework?  Tornado这货不是web框架 这货是一个Non-blocking web server 这货是一堆web开发工具集 这货勉强能算一个类web.py的微框架
WSGI VS Asynchronous ,[object Object]
PEP333 & PEP3333
asynchronous
tornado.auth
tornado.httpclient
middleware
tornado.wsgi.WSGIApplication,[object Object]
同步方式实现异步 def main(config): db = Database(**config) stmt_drop = "DROP TABLE IF EXISTS names" db.execute(stmt_drop) stmt_create = """     CREATE TABLE names (         id TINYINT UNSIGNED NOT NULL AUTO_INCREMENT,         name VARCHAR(30) DEFAULT '' NOT NULL,         info TEXT DEFAULT '',         age TINYINT UNSIGNED DEFAULT '30',         PRIMARY KEY (id)     )""" db.execute(stmt_create)     info = "abc"     names = (('Geert', info), ('Jan', info), ('Michel', info)) stmt_insert = "INSERT INTO names (name,info) VALUES (%s,%s)" db.executemany(stmt_insert, names) stmt_select = "SELECT id, name, info, age FROM names ORDER BY id"     print db.query(stmt_select) db.close() 实验项目:https://bitbucket.org/felinx/bullet
Tornado数据库操作 database.py – SQL裸奔 https://bitbucket.org/alexander_lee/flunt-sql-data-access-layer ORM –SQLAlchemy  Pymongo – 裸奔、MongoEngine、MongoKit
Tornado文档? http://www.tornadoweb.org被墙 文档可有可无,长期只有两页文档(v2.0有所改善) 官网镜像和中文文档http://www.tornadoweb.cn
Tornado版本 v0.1 	2009/09/10 v0.2 	2009/09/28 v1.0	2010/7/28 v1.1 	2010/09/28 v1.2 	2011/02/23 v2.0 	2011/06/25 Bug…       …
tornado.contrib? Cache Session Feed Sitemap Auth(CN) Route http://tornadogists.org/838422/ …
Breeze项目? 简化Tornado开发成本 提供通用的第三分库 项目模板&命令支持 https://bitbucket.org/breezemind/breeze
吐槽议题 为什么要吐槽? 吐槽Python web开发(Tornado) 吐槽Python web framework 集体吐槽…
Django ,[object Object]
ORM

More Related Content

Viewers also liked

Rúbrica de evaluación 3 esponja magica
Rúbrica de evaluación 3 esponja magicaRúbrica de evaluación 3 esponja magica
Rúbrica de evaluación 3 esponja magicaGuillermo Temelo
 
Vae victis!. Los galos contra roma
Vae victis!. Los galos contra romaVae victis!. Los galos contra roma
Vae victis!. Los galos contra romaIES ARANGUREN
 
Video forbrugertest + den optimale udviklingsproces
Video forbrugertest + den optimale udviklingsprocesVideo forbrugertest + den optimale udviklingsproces
Video forbrugertest + den optimale udviklingsprocesThore Fogh
 
Squire Technologies: Media Gateway
Squire Technologies: Media GatewaySquire Technologies: Media Gateway
Squire Technologies: Media GatewaySquire Technologies
 
6é castellano-léxico-abreviacion siglas-t6-t5
6é castellano-léxico-abreviacion siglas-t6-t56é castellano-léxico-abreviacion siglas-t6-t5
6é castellano-léxico-abreviacion siglas-t6-t56sise
 
Wireless Valve Monitoring System From Rotork
Wireless Valve Monitoring System From RotorkWireless Valve Monitoring System From Rotork
Wireless Valve Monitoring System From RotorkCTi Controltech
 
SYLABUS DE COMUNICACION
SYLABUS DE COMUNICACION SYLABUS DE COMUNICACION
SYLABUS DE COMUNICACION Richard Andrade
 
Renta vitalicia y retiro Programado
Renta vitalicia y retiro ProgramadoRenta vitalicia y retiro Programado
Renta vitalicia y retiro Programadodeisy0119
 
Kerajinan dari fiberglass
Kerajinan dari fiberglassKerajinan dari fiberglass
Kerajinan dari fiberglassDini33
 

Viewers also liked (13)

Rúbrica de evaluación 3 esponja magica
Rúbrica de evaluación 3 esponja magicaRúbrica de evaluación 3 esponja magica
Rúbrica de evaluación 3 esponja magica
 
Cadena logistica
Cadena logisticaCadena logistica
Cadena logistica
 
Vae victis!. Los galos contra roma
Vae victis!. Los galos contra romaVae victis!. Los galos contra roma
Vae victis!. Los galos contra roma
 
Video forbrugertest + den optimale udviklingsproces
Video forbrugertest + den optimale udviklingsprocesVideo forbrugertest + den optimale udviklingsproces
Video forbrugertest + den optimale udviklingsproces
 
Squire Technologies: Media Gateway
Squire Technologies: Media GatewaySquire Technologies: Media Gateway
Squire Technologies: Media Gateway
 
6é castellano-léxico-abreviacion siglas-t6-t5
6é castellano-léxico-abreviacion siglas-t6-t56é castellano-léxico-abreviacion siglas-t6-t5
6é castellano-léxico-abreviacion siglas-t6-t5
 
Wireless Valve Monitoring System From Rotork
Wireless Valve Monitoring System From RotorkWireless Valve Monitoring System From Rotork
Wireless Valve Monitoring System From Rotork
 
Información cultural de mariguitar
Información cultural de mariguitarInformación cultural de mariguitar
Información cultural de mariguitar
 
L'Espagne
L'EspagneL'Espagne
L'Espagne
 
SYLABUS DE COMUNICACION
SYLABUS DE COMUNICACION SYLABUS DE COMUNICACION
SYLABUS DE COMUNICACION
 
Renta vitalicia y retiro Programado
Renta vitalicia y retiro ProgramadoRenta vitalicia y retiro Programado
Renta vitalicia y retiro Programado
 
Kerajinan dari fiberglass
Kerajinan dari fiberglassKerajinan dari fiberglass
Kerajinan dari fiberglass
 
Qué es el trabajo decente
Qué es el trabajo decenteQué es el trabajo decente
Qué es el trabajo decente
 

Similar to Python web开发吐槽

Web安全解决方案V1.0
Web安全解决方案V1.0Web安全解决方案V1.0
Web安全解决方案V1.0xuanliang
 
Pycontw2013x
Pycontw2013xPycontw2013x
Pycontw2013xweijr
 
Python和web开发
Python和web开发Python和web开发
Python和web开发moonbingbing
 
100902 wm4wps-py-webdev
100902 wm4wps-py-webdev100902 wm4wps-py-webdev
100902 wm4wps-py-webdevZoom Quiet
 
Collaboration On Rails
Collaboration On RailsCollaboration On Rails
Collaboration On RailsJesse Cai
 
Rails 快速上手攻略(Rails Getting Started)
Rails 快速上手攻略(Rails Getting Started)Rails 快速上手攻略(Rails Getting Started)
Rails 快速上手攻略(Rails Getting Started)旻琦 潘
 
揭秘Html5和Css3
揭秘Html5和Css3揭秘Html5和Css3
揭秘Html5和Css3Adam Lu
 
揭秘Html5和Css3 ---- 鲁超伍
揭秘Html5和Css3 ---- 鲁超伍揭秘Html5和Css3 ---- 鲁超伍
揭秘Html5和Css3 ---- 鲁超伍裕波 周
 
Html5css3 go.yeefe.com
Html5css3 go.yeefe.comHtml5css3 go.yeefe.com
Html5css3 go.yeefe.comtellyeefe
 
给聚划算后端开发的前端培训
给聚划算后端开发的前端培训给聚划算后端开发的前端培训
给聚划算后端开发的前端培训j5726
 
新技术新挑战
新技术新挑战新技术新挑战
新技术新挑战xiang.zhaox
 
Py ladies 0928
Py ladies 0928Py ladies 0928
Py ladies 0928Yen_CY
 
HTML5移动WEB应用程序开发(PhoneGap)
HTML5移动WEB应用程序开发(PhoneGap)HTML5移动WEB应用程序开发(PhoneGap)
HTML5移动WEB应用程序开发(PhoneGap)amd6400
 
HTML5移动应用开发分享会(PhoneGap)
HTML5移动应用开发分享会(PhoneGap)HTML5移动应用开发分享会(PhoneGap)
HTML5移动应用开发分享会(PhoneGap)amd6400
 
D2 如何发现前端性能问题
D2 如何发现前端性能问题D2 如何发现前端性能问题
D2 如何发现前端性能问题aoao
 
从问题开始,谈前端架构
从问题开始,谈前端架构从问题开始,谈前端架构
从问题开始,谈前端架构裕波 周
 
让我们的页面跑得更快
让我们的页面跑得更快让我们的页面跑得更快
让我们的页面跑得更快li qiang
 
WEB 安全基础
WEB 安全基础WEB 安全基础
WEB 安全基础xki
 

Similar to Python web开发吐槽 (20)

Web安全解决方案V1.0
Web安全解决方案V1.0Web安全解决方案V1.0
Web安全解决方案V1.0
 
Pycontw2013x
Pycontw2013xPycontw2013x
Pycontw2013x
 
Python系列4
Python系列4Python系列4
Python系列4
 
Python和web开发
Python和web开发Python和web开发
Python和web开发
 
100902 wm4wps-py-webdev
100902 wm4wps-py-webdev100902 wm4wps-py-webdev
100902 wm4wps-py-webdev
 
Collaboration On Rails
Collaboration On RailsCollaboration On Rails
Collaboration On Rails
 
Rails 快速上手攻略(Rails Getting Started)
Rails 快速上手攻略(Rails Getting Started)Rails 快速上手攻略(Rails Getting Started)
Rails 快速上手攻略(Rails Getting Started)
 
揭秘Html5和Css3
揭秘Html5和Css3揭秘Html5和Css3
揭秘Html5和Css3
 
揭秘Html5和Css3 ---- 鲁超伍
揭秘Html5和Css3 ---- 鲁超伍揭秘Html5和Css3 ---- 鲁超伍
揭秘Html5和Css3 ---- 鲁超伍
 
Html5css3 go.yeefe.com
Html5css3 go.yeefe.comHtml5css3 go.yeefe.com
Html5css3 go.yeefe.com
 
给聚划算后端开发的前端培训
给聚划算后端开发的前端培训给聚划算后端开发的前端培训
给聚划算后端开发的前端培训
 
新技术新挑战
新技术新挑战新技术新挑战
新技术新挑战
 
Py ladies 0928
Py ladies 0928Py ladies 0928
Py ladies 0928
 
HTML5移动WEB应用程序开发(PhoneGap)
HTML5移动WEB应用程序开发(PhoneGap)HTML5移动WEB应用程序开发(PhoneGap)
HTML5移动WEB应用程序开发(PhoneGap)
 
HTML5移动应用开发分享会(PhoneGap)
HTML5移动应用开发分享会(PhoneGap)HTML5移动应用开发分享会(PhoneGap)
HTML5移动应用开发分享会(PhoneGap)
 
D2 如何发现前端性能问题
D2 如何发现前端性能问题D2 如何发现前端性能问题
D2 如何发现前端性能问题
 
从问题开始,谈前端架构
从问题开始,谈前端架构从问题开始,谈前端架构
从问题开始,谈前端架构
 
让我们的页面跑得更快
让我们的页面跑得更快让我们的页面跑得更快
让我们的页面跑得更快
 
[系列活動] Python 爬蟲實戰
[系列活動] Python 爬蟲實戰[系列活動] Python 爬蟲實戰
[系列活動] Python 爬蟲實戰
 
WEB 安全基础
WEB 安全基础WEB 安全基础
WEB 安全基础
 

Python web开发吐槽