整理了下flask项目的基本架子
作者:闲云无心 发布时间:May 17, 2012 分类:杂七杂八 No Comments
刚做下小修改的时候恍然意识到这东西不过是个即下即用的架子。 即没文档,又没测试,还没例子, 浪费bitbucket硬盘过于可耻了, 遂删之, 直接打包传这吧
md5sum: 49b55737350ea7b4b1c8861dc6513187
sha1sum: 8888feda9989d31dae1d6f9942104be04c39faed
本博客仅做摘随记用
作者:闲云无心 发布时间:May 17, 2012 分类:杂七杂八 No Comments
刚做下小修改的时候恍然意识到这东西不过是个即下即用的架子。 即没文档,又没测试,还没例子, 浪费bitbucket硬盘过于可耻了, 遂删之, 直接打包传这吧
md5sum: 49b55737350ea7b4b1c8861dc6513187
sha1sum: 8888feda9989d31dae1d6f9942104be04c39faed
作者:闲云无心 发布时间:May 11, 2012 分类:杂七杂八 No Comments
刚刚在python-cn看到有朋友问几个http client库的对比, 随便谈一下
我的使用历程是 urllib(2)->httplib2->requests
1, gzip/deflate
requests和httplib2支持, 而urllib(2)需要自己实现
2, unicode
requests既可以通过返回的response.content获取字节流,也可以通过response.text获取unicode (支持chardet猜)
httplib2和urllib(2)需要手动转
3, 状态(cookie)跟踪
requests可以很好的支持任意多个
httplib2需要操作request和response的headers,自动化程度上没requests高
urllib2支持, 但是是全局的,仅一个可以通过build_opener生成的opener对象多个操作(谢依云提醒)
4, 本地缓存
httplib2支持, 另外两个需要自己实现
5, 分块读写
requests和urllib(2)支持
httplib2不支持
6, 失败重试
requests和httplib2均支持, requests默认是关闭的(0), httplib2默认是5次
urllib(2)需要自己实现
7, socks代理
httplib2和urllib(2)支持通过socks模块实现
requests目前有人在做
当然, requests也不是没缺点的, 比如api细节方面变动频繁; 默认开启keep_alive,大量读取会产生无响应连接(无法通过timeout参数或者gevent Timeout关闭)
上面不确保没错漏, 聊为一家之言吧
作者:闲云无心 发布时间:May 1, 2012 分类:杂七杂八 No Comments
作者:闲云无心 发布时间:April 28, 2012 分类:杂七杂八 No Comments
豆瓣洪教授的作品
地址:https://github.com/hongqn/umysqldb
基于pymysql和ultramysql的封装
pymysql虽然可以通过monkey patch用于gevent环境, 但是本身在做大结果集获取的时候很慢, 而ultramysql很快, 但却不支持dbapi. 而通过umysqldb, 则鱼与熊掌可以兼得
不过洪教授暂时在ultramysql的issue list里表示, 未用于生产环境,使用自担风险