猛禽的编程艺术

编程是一门艺术

排序:
默认
按更新时间
按访问量
RSS订阅

搭建python数据分析平台

基本结构其实没什么高深的东西,无非是常用的那一套:pandas, numpy, matplotlib…但是为了更方便使用,加持了 jupyter notebook(即以前的ipython notebook)……又为了更方便使用,前端加了nginx或apache反代……双为了更安全,加持了Let’s...

2017-09-19 23:17:57

阅读数 2376

评论数 0

一个Redis消息队列实现

对前文所介绍的Redis Cache作了一点简单的扩展,增加了消息队列功能。

2017-07-14 23:39:10

阅读数 1501

评论数 0

一个Redis Cache实现

这次的目标是需要实现一个比较通用的cache,支持各种数据类型,有超时更新机制,超时更新需要有锁

2017-06-29 22:09:45

阅读数 3828

评论数 0

解决多进程中APScheduler重复运行的问题

问题在一个python web应用中需要定时执行一些任务,所以用了APScheduler这个库。又因为是用flask这个web框架,所以用了flask-apscheduler这个插件(本质上与直接用APScheduler一样,这里不作区分)。在开发中直接测试运行是没有问题的,但是用gunicorn...

2017-04-04 22:34:30

阅读数 8220

评论数 3

快速文件hash

最近打算把家里服务器上的文件理一下,想把重复的文件找出来,虽然我已经用了ZFS的dedup,实际占用空间并不会重复,但是还是觉得有必要理一下……写个程序扫描一遍并不复杂,但是要判断文件是不是重复就比较麻烦,可靠的方法当然是做全文件HASH,但是对于T级的硬盘来说,这样效率太低了,所以写了一段小代码...

2016-10-31 23:56:21

阅读数 3853

评论数 0

阿里大鱼短信接口(Python3版)

最近因为需要用到短信接口,选型的的结果是用阿里大鱼的短信服务,然而淘宝开放平台(TOP)的SDK已经很多年没有更新了,不支持python3,自己动手改了半天,还是不太正常,索性不用它,自己写一个算了。我才不会跟你们说我嫌弃它的代码,所谓大公司也就这样了。用法用法与TOP提供的SDK差不多,不过实现...

2016-03-16 20:21:52

阅读数 7380

评论数 6

基于fabric和hg的自动化部署

自动化部署fabric是个很好用的自动化部署工具,虽然功能比起puppet,saltstack之类要弱一些,但胜在用python,而且免安装服务端。

2015-12-25 00:42:53

阅读数 3674

评论数 0

几个bottle插件

上篇《Bottle的插件与view装饰器冲突问题》里说到的问题就是我在写这几个插件时碰到的问题。为便于使用bottle写了一组插件。最初自己用的时候是把所有功能都写在一个插件里,感觉有点笨重,不适合灵活组合,所以分拆改写成现在的样子。包含beaker.BeakerPluginparams.Para...

2015-11-22 20:59:46

阅读数 3269

评论数 1

Bottle的插件与view装饰器冲突问题

其实这个问题由来已久,早在2012年就有人在bottle那报告过,但是因为python的inspec库本身的问题,它的wraps函数不能保留被包装函数的参数信息,所以一直不能彻底解决。问题大致是这样:@app.get("/") @view("index") ...

2015-10-22 22:32:16

阅读数 3284

评论数 1

sqlalchemy的关联子查询

SQLAlchemy也算是用过好几年了,不过一直都用着其中相对简单的一小部分,最近写个程序碰到个问题,需要作一个关联子查询,试了很久才解决。

2015-09-25 17:13:09

阅读数 7681

评论数 2

把从Google Reader备份的BLOG做成电子书

一个将用 GReader-Archive 生成的 Google Reader 备份转成 epub 电子书的工具。

2013-07-11 16:53:35

阅读数 2774

评论数 1

bottle的几个小坑

距离我在《web.py应用工具库:webpyext 》里说要换用bottle,已经过去快两个月了……其实在那之前我已经开始着手在换了。目前那个用于 Backbone.js 介绍的例子程序已经完成更换,其它一些原来基于web.py的应用也在逐步重写中。期间各种小坑不断,还好至今还没有碰到什么大坑……...

2013-07-01 17:51:53

阅读数 4778

评论数 3

RESTful客户端库:RestClient

WebService话说我刚知道这词的时候还是十二年前…大约2001年,微软的.net刚出来的时候,这货就热了,只不过当年这货的标配通讯协议是SOAP。当年我觉得这货还是很方便的,但是在尝鲜过后,我根本没有兴趣将它用于实际的应用…它实在是太笨重了。这种笨重包括几个方面:首先SOAP本身的数据结构就...

2013-06-01 21:32:20

阅读数 30001

评论数 3

使用gunicorn部署web.py应用

经常看到有人问python的web应用如何部署的问题。常见的方案是用apache的mod_wsgi,或者高端一点的用uWsgi。但是个人觉得这些都太复杂了,使用维护都不方便,我一般是推荐用gunicorn,配合Apache或Nginx,可以实现简单高效的应用部署和维护。为此特地写了这么个文档来介绍...

2013-03-16 15:59:22

阅读数 35359

评论数 4

重写了一下gcrawler

去年做过一个《gcrawler:一个基于gevent的简单爬虫框架》,当时因为是模仿Scrapy的,所以整个实现其实很不gevent,太难看,并且实际上效率也不高。这次因为要改写一个以前用Scrapy写的爬虫,于是就拿这个自己做的东西来用——去年其实也拿这个东西做过,只是有一段时间没用了。改写了一...

2012-11-07 23:33:35

阅读数 2989

评论数 0

继续小测python web server

上次的测试见《小测几种python web server的性能》。前两天参加了PyCon2012上海站。虽然今年的PyCon被各种吐槽,但还是有点收获的。比如ShellXu的元编程,赖总的state/message,沈大侠谈的pypy等。回来就想测一下用pypy跑web应用看看性能如何。顺便也对上...

2012-10-23 12:39:43

阅读数 5548

评论数 0

在FreeBSD的virtualenv环境下安装pysqlite和gevent

virtualenv是个好东西,可以为各个python应用建立各自独立的虚拟环境,对于开发和部署都是很有用的。特别是增强版的virtualenvwrapper,好用到爆。但是它也会带来很妖蛾子的问题。比如之前我就曾经碰到过这样的问题:题外话:Mac OS X 10.6 Snow Leopard 下...

2012-09-02 16:57:34

阅读数 3570

评论数 0

PyCon 2011 China记

感谢在Sting等人的努力下促成了本次大会,同时也感谢各大赞助商。两天的会程内容丰富,干货很多,收获很大。会议的全部内容(视频和幻灯片)可以访问这里:http://e.gensee.com/v_3df867沈崴这次虽然没谈什么具体技术,只是泛泛地谈了Python的过去现状和未来,不过鉴于每次见到他...

2011-12-12 15:32:50

阅读数 2593

评论数 0

从BLOG到电子书——把wordpress备份的WXR转为epub

古人云,敝帚自珍。虽然自己写的BLOG都是些没营养的东西,但还是想收藏起来。花了点时间研究了一下epub格式,写了段转换程序,把Wordpress导出的备份文件WXR转成epub格式。本想贴代码凑数,结果发现代码还是多了点,所以还是改成下载吧。第一个是生成epub的库:epubbuilder.py...

2011-09-28 21:57:36

阅读数 30622

评论数 0

用gcrawler进行多级页面并发下载的例子

基本的思路就是scheduler生成器在生成完所有urls以后继续等待下一步的解析结果,然后继续将解析结果生成返回。在worker方法里则增加一个解析方法调用,然后把返回的结果能过类成员传递给scheduler。这样包括下一级页面在内的所有链接都可以通过并发的方式下载了。

2011-04-07 18:15:00

阅读数 4554

评论数 1

提示
确定要删除当前文章?
取消 删除