05 2013 档案

摘要:未完待续 阅读全文
posted @ 2013-05-28 10:15 jiezhao 阅读(141) 评论(0) 推荐(0)
摘要:1,黑天鹅以及软件测试中的黑天鹅 在发现澳大利亚的黑天鹅之前,欧洲人认为天鹅都是白色的。所以说”黑天鹅“代表了一个小概率事件,它罕有发生,但一旦出现,就具有很大的影响力。“黑天鹅”有着高度不可能事件所应具备的三个特征:第一点是不可预知性;第二点是它所带来的影响是巨大的;第三点是,在此之后,人们总是试图编造理由来作解释,好让整件事情看起来不是那么的随意就发生了,而是事先能够被预测到的—— 通过这样那样的分析。(参考自百度百科) 那么什么是软件测试中的黑天鹅呢? 举个例子: 比如一个产品经过一系列测试工作之后,将此产品上线使用。用户在使用该产品后发现并上报了一个bug后,测试人员对其进... 阅读全文
posted @ 2013-05-23 10:08 jiezhao 阅读(372) 评论(0) 推荐(0)
摘要:1,使用模块getopt 看个例子:import getopt,sys__version__ = '1.0.0'_debug = 0def main(): try: opts,args = getopt.getopt(sys.argv[1:], 'ho:vd', ['help','output=']) except getopt.GetoptError,e: print str(e) usage() sys.exit() output = False for o,a in opts: ... 阅读全文
posted @ 2013-05-20 14:53 jiezhao 阅读(1613) 评论(0) 推荐(0)
摘要:简单介绍就不说了,官网上都是有的。http://webpy.org/下面主要介绍一个我学习了web.py官网介绍之后自己写的一个小网站。未完待续 阅读全文
posted @ 2013-05-20 10:31 jiezhao 阅读(182) 评论(0) 推荐(0)
摘要:1,Siege是一个HTTP压力测试和评测工具,可以根据配置对一个web站点进行多用户的并发访问,记录每个用户所请求过程的响应的时间,并在一定数量的并发访问下重复进行。下载:http://www.joedog.org/siege-home/安装:tar -xzf *.gz./configuremakemake install安装后:[root@cdntest-6 ~]# siegeSIEGE 2.74Usage: siege [options] siege [options] URL siege -g URLOptions: -V, --version ... 阅读全文
posted @ 2013-05-15 13:58 jiezhao 阅读(644) 评论(0) 推荐(0)
摘要:1,Memoizing(自动缓存) 话不多说,看个例子。import time,hashlib,picklecache = {}def is_obsolete(entry,duration): return time.time() - entry['time'] > durationdef compute_key(function,args,kw): key = pickle.dumps((function.func_name,args,kw)) return hashlib.sha1(key).hexdigest()def memoize(duration=10): . 阅读全文
posted @ 2013-05-14 14:36 jiezhao 阅读(6649) 评论(0) 推荐(0)
摘要:1,列表推导(没当要对序列中的内容进行循环处理时,就应该尝试使用列表推倒) 在python中编写如下的代码是让人痛苦和不高效已经简洁美观的。numbers = range(10)evens = []for i in numbers: if i % 2 == 0: evens.append(i)print evens 毫无疑问,在python中它确实会使得程序的执行速度变得慢了(它使解释程序在每次循环中都要确定序系中哪一部分被修改) 列表推倒是这种场景下的争取选择,它使用编排好的特性对前述语法中的一部分进行了自动化处理: events = [i for i in r... 阅读全文
posted @ 2013-05-13 13:39 jiezhao 阅读(269) 评论(0) 推荐(0)
摘要:HTTP协议的chunked编码: 一般的HTTP Headers 应该包含Content-Length来指名报文的长度。 但是在有的时候,服务器无法确定HTTP回应的消息的大小,比如非常大的文件的下载,或者处理的逻辑比较复杂,需要一边处理一边实时生成消息(如果全部处理完再生成消息就会有很多缺点,比如用户收到响应的时间就会很长),这个时候服务器一般都使用chunked编码。此时,服务器不会带上Content-Length这个响应头,带上了两外一个头:Transfer-encoding:chunked。 chunked编码使用若干个Chunk组成,由一个标明长度为0的chunk结束... 阅读全文
posted @ 2013-05-10 11:23 jiezhao 阅读(5789) 评论(1) 推荐(0)
摘要:1,一般的情况下可以用python自带的debug包pdb来debug一个简单的routine。 用法如下: python -m pdb /path/script_name.py[root@cdntest-2 ~]# python -m pdb gdb.py > /root/gdb.py(1)<module>()-> import sys(Pdb) helpDocumented commands (type help <topic>):========================================EOF bt cont enable ... 阅读全文
posted @ 2013-05-07 14:11 jiezhao 阅读(701) 评论(0) 推荐(0)