SlideShare a Scribd company logo

Python web开发吐槽

Python web开发吐槽,以吐槽Tornado为主,吐槽吐槽Python web开发的不爽,以求优化改进,更好的用Python来开发web运用。

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

Recommended

La princesa vestida con la bolsa de papel
La princesa vestida con la bolsa de papelLa princesa vestida con la bolsa de papel
La princesa vestida con la bolsa de papelGloria Osuna Velasco
 
En búsqueda de la meteorología extrema en españa
En búsqueda de la meteorología extrema en españaEn búsqueda de la meteorología extrema en españa
En búsqueda de la meteorología extrema en españaAeb1234
 
კლოუნის თვალთახედვა ჰაინრიხ ბიოლი
კლოუნის თვალთახედვა   ჰაინრიხ ბიოლიკლოუნის თვალთახედვა   ჰაინრიხ ბიოლი
კლოუნის თვალთახედვა ჰაინრიხ ბიოლიTeotatt
 
Zarafa SummerCamp 2012 - Keynote Peter Ganten
Zarafa SummerCamp 2012 - Keynote Peter GantenZarafa SummerCamp 2012 - Keynote Peter Ganten
Zarafa SummerCamp 2012 - Keynote Peter GantenZarafa
 

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 安全基础