上一页 1 ··· 7 8 9 10 11 12 13 14 15 下一页
摘要: http://blog.sina.com.cn/s/blog_6a031c3701013gaj.html 是否会和我一样经常碰到这样的情景:在VIM中编辑了一个系统配置文件,当需要保存时才发现当前的用户对该文件没有写入的权限。 如果已经做了很多修改,放弃保存的确很懊恼,只好先保存在用户的主目录下,再用sudo mv移动到文件的原始位置,并按需要chown。 这样做实在太麻烦了,以下的这个技巧... 阅读全文
posted @ 2013-01-04 14:19 @且听风吟@ 阅读(194) 评论(0) 推荐(0)
摘要: 建造模式是对象的创建模式。建造模式可以将一个产品的内部表象与产品的生成过程分割开来,从而可以使一个建造过程生成具有不同的内部表象的产品对象。 在有些情况下,一个对象的一些性质必须按照某个顺序赋值才有意义。在某个性质没有赋值之前,另一个性质则无法赋值。这样情况使得性质本身的建造涉及 到复杂的业务逻辑。建造者模式将产品的结构和产品的零件建造过程对客户端隐藏起来,把对建造过程进行指挥的责任和具体建造... 阅读全文
posted @ 2013-01-03 18:39 @且听风吟@ 阅读(169) 评论(0) 推荐(0)
摘要: 单例模式是对象的创建模式。其确保一个类只有一个实例。完成类的实例化,并向整个系统提供这个实例。 单例模式的要点有三个 只能有一个实例 自行创建这个实例 向整个系统提供这个实例 单例类实现上又包括饿汉式单例类和懒汉式单例类 饿汉式单例类 类初始化时进行实例化 懒汉式单例类 在第一次调用的时候实例化 阅读全文
posted @ 2013-01-02 21:03 @且听风吟@ 阅读(158) 评论(0) 推荐(0)
摘要: 抽象工厂也是类的创建模式。抽象工厂面对的是多个产品等级结构的系统设计。而工厂方法模式针对的是一个产品等级结构。 该模式在增加新的产品族时:只需要在每个产品等级下面增加一个具体的产品角色即可。只需要对应的增加新的具体工厂类即可,是满足“开闭”原则的。 当模式在增加新的产品等级时:就需要修改工厂角色的接口,为其增加一个新的工厂方法。因此所有的工厂角色都需要修改,需要为每个工厂类都增加一个新的... 阅读全文
posted @ 2013-01-02 11:46 @且听风吟@ 阅读(140) 评论(0) 推荐(0)
摘要: 工厂方法模式是类的创建模式,又叫虚拟构造子(Virtual Constructor)模式或者多态性工厂(Polymorphic Factory)模式。 该模式中,核心的工厂类不再是负责所有的产品创建,而是将具体创建的工作交给具体子类去做。 即提供一个抽象的接口工厂类。针对不同的产品从抽样的接口工厂类实现对应的产品工厂类。工厂类和产品类一一对应。 工厂方法模式添加新的产品,只需要对应的向系统中... 阅读全文
posted @ 2013-01-02 11:36 @且听风吟@ 阅读(228) 评论(0) 推荐(0)
摘要: 简单工厂模式是类的创建模式,又叫做静态工厂方法模式(Static Factory Method)模式。由工厂对象决定创建出哪一种产品类的实例。 对简单工厂来说,增加一个新产品是一个痛苦的过程。工厂角色需要知道每一种产品,如何创建他们,以及何时向客户端提供他们。即增加新的产品 意味着需要修改这个工厂角色的源代码。 一个使用简单工厂的代码示例如下: 1: //... 阅读全文
posted @ 2013-01-02 10:14 @且听风吟@ 阅读(187) 评论(0) 推荐(0)
摘要: 单一职责原则(Single Responsibility Principle,SRP)定义:There should never be more than one reason for a class to change.即有且只有一个原因引起类的变更。即类要提供的功能尽可能简单明确。其意义如下:降低类的复杂性,实现的职责具有清晰的定义提高可读性提高可维护性降低变更引起的风险,对系统扩展性和可维护性都有帮助。但是单一职责存在的一个问题是,“职责”没有一个明确的划分标准。如果分的太细,则会导致接口和实现类的数量的增加,反而提高了负责度,降低了可维护性。在具体应用时要适度把握。接口隔离原则(Int 阅读全文
posted @ 2013-01-02 08:06 @且听风吟@ 阅读(166) 评论(0) 推荐(0)
摘要: 今天做case分析,发现一个抓取失败的case,失败为抓取中错误。使用wget 测试,发现经常出现connection reset by peer。经过多次尝试,发现偶有成功案例。后来使用curl测试了一下,发现是ok的。和wget的测试几乎倒转。(几乎全是成功,偶有失败,但是很少了)查了下资料,对了wget和curl, 发现最大的区别是wget仅支持http 1.0,而curl默认支持的为http1.1。而查询资料,http 1.0和http1.1比较明显的区别是对长连接的支持和chunked的支持。基于此,查看curl使用说明,使用curl -0 使用http1.0测试,发现失败又是很多。 阅读全文
posted @ 2012-12-25 21:28 @且听风吟@ 阅读(188) 评论(0) 推荐(0)
摘要: [源自]http://www.cnblogs.com/mchina/archive/2012/12/24/2831220.html一、简介 nali,名字取自中文“哪里”的拼音。nali包含一组命令行程序,其主要功能就是把一些网络工具的输出的IP字符串,附加上地理位置信息(使用纯真数据库QQWry.Dat)。例如74.125.128.104会变成74.125.128.104[美国 加利福尼亚州山景市谷歌公司]。查询是在本地进行,并不会进行联网查询,所以效率方面不会对原始命令产生什么影响。 目前包含以下几个命令:nalinali-dignali-nslookupnali-traceroute.. 阅读全文
posted @ 2012-12-24 17:30 @且听风吟@ 阅读(254) 评论(0) 推荐(0)
摘要: split是用来切分文本文件很好用的一个命令linux下通过split --help 可以查看到split的用法split --help用法:split [选项]... [输入 [前缀]]将输入内容拆分为固定大小的分片并输出到"前缀aa"、"前缀ab",...;默认以 1000 行为拆分单位,默认前缀为"x"。如果不指定文件,或者文件为"-",则从标准输入读取数据。长选项必须使用的参数对于短选项时也是必需使用的。 -a, --suffix-length=N 指定后缀长度为N (默认为2) -b, --bytes=大 阅读全文
posted @ 2012-12-24 17:22 @且听风吟@ 阅读(229) 评论(0) 推荐(0)
上一页 1 ··· 7 8 9 10 11 12 13 14 15 下一页