SHA-1 vs SHA-256

标签:JavaScript, Python, 性能

最近想在GAE上实现一个验证码,但又不想用传统的键盘输入方式。一来是习惯用鼠标,切换到键盘很麻烦;二来是生成图片的成本很大,在GAE上还不能用C实现;三是在让机器难以识别的同时,也会造成用户的困惑。
所以想到Google曾经提出的一个技术:提供一组选项,用鼠标将正确的选项拖动到指定位置,然后提交。

在GAE上实现按“最热门”排序

标签:Google App Engine, Python

在Nick的博客看到一篇《'Most popular' metrics in App Engine》,读了几天终于断断续续地读完了,于是又转载了过来。

首先介绍下“最热门”吧。对一个网站来说,每篇文章都有浏览数和评论数等数据,这些是由浏览者产生的。而这些数目越高,就表明它的流行度越高,也就越热门。网站可以通过给出当前最热门的文章列表,吸引浏览者阅读更多文章,这就是“最热门”的用意。

用Blobstore在GAE上存储二进制文件

标签:Google App Engine, Python

GAE SDK 1.3.0版发布带来了一个好消息,可以用Blobstore来存储大型二进制文件了,上限为单个文件50MB。
不过该服务还是实验性质,API可能会更改,而且必须开启支付(本地测试是免费的)。
目前Blobstore的免费存储配额为1GB,而带宽是和其他请求一样计算的;只要不超过配额,就无需多付费。
下面照惯例,仍只介绍Python版的,这里是官方文档

用Descriptor实现另一种风格的Decorator

标签:Python

之前我曾写过《在Python中实现Decorator模式》,里面展示的例子都是一个函数封装另一个函数,然后返回封装后的函数,即:
def decorator(func):
	def wrapper(arg):
		#做另一些事
		return func(arg)
	return wrapper

@decorator
def f(param):
	#做一些事
虽然这就是正统的写法,但对于不太了解闭包的人来说,那个wrapper太难懂了,就会有种Decorator很恐怖的印象。

用Python生成暴力破解字典

标签:Python

事先声明一下,我只是一时兴起,绝对没有去做和谐的事,各位也请自重=。=

其实暴力破解字典就是将可输入的字符进行全排列,是非常简单的方法,只不过用C语言写起来很繁琐,因此我想到了Python。

Python 2.7 alpha 1发布

标签:Python

自从上次下载页被GFW后,目前Python全站都被GFW了,我只想说操你妈的GFW工作人员,祝你们全家在新的一年里,全身长满菊花。
会翻墙的可以去下载Python 2.7,我只介绍一些改动。

强大的Python Shell:IPython

标签:Python

以前一直使用Python自带的交互式Shell,感觉也还够用,至少比Ruby好;不过今天用了下IPython,发现它实在太强了,支持彩色高亮显示、代码补完、魔术函数、宏、编辑和保存文件、调用操作系统的Shell命令等功能。

Java、PHP、Python与MySQL交互的性能测试

标签:Java, PHP, Python, 性能

这几天看源码弄清了一件事:WEB服务器接收浏览器请求、将请求传给PHP/Python进程(FCGI等)、与数据库进行交互都是用socket(套接字)。
也就是说,这些行为都是进程间通信。一台WEB服务器在硬件、操作系统不变的情况下,它的性能主要取决于socket通信的速度。如果所有进程都在一台服务器上的话,这个速度就取决于通信的效率了。

« 看看还有什么好玩意