2010年5月20日

Python recipe(4):Substrings

摘要: 代码先行: Example Source Code [http://www.cnblogs.com/tomsheep/] 以上代码改写自Python Cookbook 3-11概述: 给出两种取子字符串的方法:第一种比较naive,依赖下标做slicing;第二种借助python内建struct模块解析字符串代码说明:1. 第一种方法中有一个trick,zip([0]+cuts, cuts) 使... 阅读全文

posted @ 2010-05-20 23:43 tomsheep 阅读(375) 评论(0) 推荐(0) 编辑

Python recipe(3):Reverse String

摘要: 代码先行: Example Source Code [http://www.cnblogs.com/tomsheep/] 以上代码来自Python Cookbook 3-10概述: 无需多说,反转字符串。BTW,我很纳闷为什么这样的操作不是string内建的……代码说明:1. list的reverse函数:反转一个list2. string的join和spilt函数分别&... 阅读全文

posted @ 2010-05-20 22:40 tomsheep 阅读(2095) 评论(0) 推荐(0) 编辑

Python recipe(2): Charset Filter

摘要: 先贴代码: Example Source Code [http://www.cnblogs.com/tomsheep/] 以上代码来自Python Cookbook 3-8概述: 给定一个想要保留的字符集(keep),创建一个filter使其能过滤掉keep之外的字符。这里的makefilter返回值为一个functor,接受三个参数(其中两个有默认值)。canonicform函数实际是对mak... 阅读全文

posted @ 2010-05-20 20:12 tomsheep 阅读(419) 评论(0) 推荐(0) 编辑

Python recipe(1) : DSU

摘要: 废话少说,先贴代码: Example Source Code [http://www.cnblogs.com/tomsheep/]  代码来自Python Cookbook 2-7如代码所示,这是两种“按属性排序”的方法,第一种比较直观,但1)效率较低,因为decorate和undecorate都是O (N), 算法复杂度主要依赖于sort的O(NlogN), 所... 阅读全文

posted @ 2010-05-20 18:24 tomsheep 阅读(800) 评论(0) 推荐(1) 编辑

2010年5月15日

TAOCP(1):算法初步

摘要: 何谓算法?     算法即一个有穷规则的集合,其中之规则规定了一个解决某一特定类型问题的运算序列;它有5个主要特性: 1. 有穷性:在执行有穷步后结束 2. 确定性:算法的每一个步骤,都必须是确切定义的 3. 输入 4. 输出 5. 能行性:他们原则上都是能够精确地进行的。而且人们用笔和纸做有穷次即可完成。   算法举例: 欧几里德求最大公... 阅读全文

posted @ 2010-05-15 22:16 tomsheep 阅读(391) 评论(0) 推荐(0) 编辑

2010年5月9日

twitter API proxy

摘要: 网上搜到的twitter API总是隔几天就挂了,作为墙内人士感到鸭梨很大。今天用Google App Engine自己搭了一个API代理。 做法google一搜一堆,我就不重复了 可以参考http://www.mtime.com/my/whitefrog/blog/3295759/ 需要的资源有: 1. birdnest 2. GAE + python (不愿意装这个也可以,下载gae的... 阅读全文

posted @ 2010-05-09 22:38 tomsheep 阅读(577) 评论(0) 推荐(0) 编辑

2010年5月3日

敏捷软件开发(五):单一职责原则(SRP)

摘要:        社么是敏捷设计?敏捷设计是一个过程,不是一个事件。他是一个持续应用原则、模式以及实践来改进软件的结构和可读性的过程。他致力于保持系统设计在任何时候都尽可能简单、干净以及富有表现力。        下面我们介绍一些软件设计的一些原则和模式。 单一职责原则(SRP)... 阅读全文

posted @ 2010-05-03 00:19 tomsheep 阅读(388) 评论(0) 推荐(0) 编辑

2010年5月2日

敏捷软件开发(四):测试

摘要: 总的来说,编写测试好处有三: 一、使系统健壮、验证正确性 二、测试是一种良好的文档 三、对架构和设计有积极的影响,易于解耦        常用MOCK OBJECTS模式解耦各模块        常用XML作为测试输入、输出,解耦各模块    &... 阅读全文

posted @ 2010-05-02 22:31 tomsheep 阅读(294) 评论(0) 推荐(0) 编辑

敏捷软件开发(三):计划

摘要:        这是对XP中计划游戏部分的描述。相比其他敏捷方法,更加详细、精确。开发人员看到的是基于他们自己的估算并且由他们自己度量的开发速度控制的合理计划。管理人员从每次迭代中获取数据,使用这些数据来控制和管理项目。客户可以经常看到项目的进展,度量开发速度,拥有他们需要的所有数据和控制权,按照他们的意愿管理项目。 1. 初始探索 &... 阅读全文

posted @ 2010-05-02 12:04 tomsheep 阅读(590) 评论(0) 推荐(0) 编辑

敏捷软件开发(二):极限编程概述

摘要:        极限编程是一组简单、具体的实践,这些实践结合在一起形成了一个敏捷开发过程。项目团队可以直接拿来使用,也可以增加一些实践,或者对其中一些实践进行修改后再采用。 1. 客户作为团队成员 2. 用户素材        对于做计划而言,了解需求需要做到能够估算它的程度... 阅读全文

posted @ 2010-05-02 11:27 tomsheep 阅读(435) 评论(0) 推荐(0) 编辑

导航