<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feed.orzcc.com/styles/feedsky2.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://feed.orzcc.com" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feed.feedsky.com/zccpop" type="application/rss+xml"></fs:self_link><lastBuildDate>Mon, 10 May 2010 01:50:59 GMT</lastBuildDate><title>Orzcc Online</title><description>orzcc.com</description><image><url>http://www.feedsky.com/feed/zccpop/sc/gif</url><title>Orzcc Online</title><link>http://www.orzcc.com</link></image><link>http://www.orzcc.com</link><sy:updatePeriod>hourly</sy:updatePeriod><sy:updateFrequency>1</sy:updateFrequency><language>en</language><pubDate>Mon, 10 May 2010 01:55:33 GMT</pubDate><item><title>关于信息的推送</title><link>http://www.orzcc.com/?p=641233</link><content:encoded>&lt;p&gt;您是否被QQ群折磨得死去活来，又怕遗漏重要消息而舍不得屏蔽？&lt;br /&gt;
您又是否常常机械地check邮件，却从没有思考过如何来改进效率？&lt;br /&gt;
您是否经常不停地刷新某个页面，为的只是看到其他人对您的回复？&lt;br /&gt;
一切关乎信息的推送，关乎它的推送方式以及您该如何优化它来改进效率。&lt;/p&gt;
&lt;p&gt;一开始我就直接抛出一个可以称之为事实的假设：即信息的推送方式分为 push（推）和pull（拉）两种。之后所有的阐述都将围绕这个观点（假设）来进行。&lt;/p&gt;
&lt;h2&gt;现状&lt;/h2&gt;
&lt;p&gt;毋庸置疑，QQ群（旺旺群也一样） 在原始状态下是push的方式，它将信息强行推送给你，即用显著的提示信号（声音+图表闪烁）。但这个push又非彻底的push，因为在你没有登录QQ 时无法接收到这一信息（或者信息的提示信号）。由此你也可以猜到，我假定出来的彻底的push只有手机和传呼机之类的便携工具了。更准确地讲，彻底的 push工具只有传呼机的呼叫和手机上的短信、通话、邮件（开通了推送服务的移动邮件）、蓝牙等。扯多了，再回来。QQ群有个特殊的功能是［群消息设 置］，它可以将QQ群的方式改为pull（当你设置为接收不提示消息时）。这样的功能对于用户来讲是非常有用的，也是产品上对信息推送方式优化的一种进 步。但是我必须承认它只是起步，远远没有解决信息推送的问题。IM（即时聊天工具）的重心就是［即时］，也多多少少是由push方式本身所体现出来的，所 以一棒子打死肯定是不对的。因为［群消息设置］本身是从消息的接收端来切入的，也就是消息流的下游来切入。越是在下游来进行优化，就越吃力，这是肯定的。 就像数据库分表的方式，就是在上游的数据插入时进行优化来缓解下游的查询时的压力。ＱＱ群的问题扯到这里，关于使用ＱＱ群所产生信息困扰的具体场景我就不 直接描述了，你懂的！&lt;/p&gt;
&lt;p&gt;另外一种重要的工具便是email，在内部沟通时不用email的企业应该非常罕见吧。email的原生态是 pull的，但在其长期的演变优化后，已经可以变得伸缩自如，pull与push混搭，强大无比。从email的发送对象上来看，可以一对一，一对多（一 种是直接发送指定多个用户，另一种就是发送至邮件列表）。其中还有cc来进行角色的强化和弱化。邮件中的回复其实跟发送没有区别，只是引用了邮件发送的正 文。email的优化几乎都是接收端的优化，重点是接收信号的创造。邮件本身是没有接收信号的，它需要你手动check你的邮箱（有的是刷新，有的 是&amp;#8230;）。但是Email本身有POP、IMAP等协议，可以很好地进行扩展优化（本人对email 这块不是很熟悉，有扯烂的地方请文明点喷哈！）。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;优化之Outlook&lt;/strong&gt; Outlook（包括其他同类产品）通过机器定时地check你的远程邮箱，如有新邮件，就给出一个提示信号。有人就会说那么它现在就是一个非彻底的 push了！当然有需求就有市场，因为有些工作者必须对邮件敏感，所以不得不去折腾一个邮件推送服务来解决，将其优化为彻底的push。如有新邮件，服务 提供商自动将新邮件推送到你的手机上（用黑莓的大多都用这个服务吧，我是外行我扯淡！）。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;优化之Gmail&lt;/strong&gt; 我本身是Gmail的坚决拥护者+狂热fans，所以这边对于Gmail的赞美有太多主观因素。Gmail本身就是一个有账号身份的邮箱，但它又可以作为 邮箱客户端（类Outlook）。我的Gmail上就有3个账号，其一是Gmail本身，基本都是个人通信，另外两个是公司用。这样所有的邮件都统一在一 个客户端，便于接下来的优化。首先是提示信号的创造，通过Firefox插件（&lt;a id=&quot;zxd7&quot; title=&quot;Gmail Notifier&quot; href=&quot;https://addons.mozilla.org/en-US/firefox/addon/173&quot;&gt;Gmail Notifier&lt;/a&gt;等）。因为工作上不需要时时对邮件敏感，再加上出差不多，所以没必 要使用邮件推送服务（毕竟还是有开销的）。接下来是信息过滤的优化，这一块是这里的重点！Gmail给出了信息过滤的极为优雅的设置方式，但需要你去实践 了才会明白它的好。&lt;strong&gt;核心是标签（Label）&lt;/strong&gt;，分为系统标签（收件箱、加星、已发送、草稿箱、所有邮件、垃圾邮件、已删除）和自定义标签。 所有接收进来的邮件都会存放在收件箱，存档操作会将其移出收件箱（去掉收件箱标签），其他操作都对应类同。优化自然是搭配系统标签和自定义标签了。首先给 外部邮箱账号的邮件分别定义标签，比如company_1、company_2等（在接收选项中可以设置让机器自动地打对应的标签）。那么 company_1账号上的邮件会自动打上company_1标签，其他类同。&lt;strong&gt;另外一个核心是过滤器（Filter）&lt;/strong&gt;，设置标题为［Re |   答复］的邮件自动标记为已读的过滤器（注意别跳过收件箱）。如果你不想所有的回复都过滤掉，就对指定规则来进行过滤。经过这两个设置，再加上Gmail本 身会对主题和回复进行样式上的排列（很像论坛的方式），就完美地解决了本人工作及个人上的邮件信息处理。因为对于邮件主题，我需要的push，需要在开机 状态下对它敏感，而回复一般都不敏感，只要每天找个固定时间去手动check下好了（Gmail会将有新回复的邮件都加上收件箱标签，就好像有新回复的帖 子自动提前一样）。&lt;/p&gt;
&lt;p&gt;SNS服务的信息推送方式似乎都是多样的，举几个典型的例子来说说吧。传统的BBS中信息主要有短消息和关注信息点的 提示。前者是push，后者是pull。后者说通俗点就是，关注有人回复了你的帖子或者你的回复。通常就是傻瓜式地点击［我的话题］或者［我的回复］进行 查看。当然现代的BBS程序也做到了通过订阅来发送短信息进行提醒。这个还是挺不错的。人人网（校内）则默认使用了这一规则，并且它的短消息做得更为直 接、自动。有了新的评论或者评论回复，就会直接给出提示信号（+音效），页面是自动check的，而不需要手动刷新。Twitter本身完全是pull 的，但模仿它的微博，相对来讲是push的。这个是什么原因呢，下面会阐述到。&lt;/p&gt;
&lt;h2&gt;机制&lt;/h2&gt;
&lt;p&gt;上面扯了这么多，其实不是想介绍如何使用现有工具进行工作上的优化。主要是想讨论下信息推送方式的演变，以及今后程序上的发展方向。接下来就完全是我为了满足自身生理需要的YY了。&lt;/p&gt;
&lt;p&gt;我们计划设计一种新的工具（或者某系统中的模块），其职能就是用了沟通或者信息传达。但是这个工具（或模块）的应用场景很广，并且无法给出一个详细确切的描 述。（貌似这本身在软件工程上就是个错误，囧！）那么怎么应对今后不定的客户需求呢？&lt;/p&gt;
&lt;p&gt;首先，这个工具本身基于pull，例如 twitter，例如email。核心结构必须越简单越好，pull得越纯粹越好！然后给出一套完善的API，或者以其他扩展模块的方式对其进行选择性的 优化，将其改造成适应性不同的push方式。这种设计比较容易实现，也比较有效。我觉得越来越多的程序将会用这样的方式进行信息的推送。&lt;/p&gt;
&lt;p&gt;如果工具本身是push的，那么如何在发送者这一端进行优化就是重点了。发送者必须确保你所发送的对象都是有效对象，也就是对方愿意花精力来应付你push 过去的信息。比如手机短信，通话，直接性的邮件（非邮件组）等这类信息。但是发送端进行对象的选择是有问题的，当发送对象超过一定数量，发送者就会在这个 环节浪费过多的时间。那么，怎样在这个环节进行优化，发送者和接收者都满意呢？这个问题暂时没有很好的解决方案，期待达人！&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/364263012/zccpop/feedsky/s.gif?r=http://www.orzcc.com/?p=641233&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/zccpop/364263012/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/zccpop/364263012/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.orzcc.com/?feed=rss2&amp;p=641233</wfw:commentRss><slash:comments>0</slash:comments><description>您是否被QQ群折磨得死去活来，又怕遗漏重要消息而舍不得屏蔽？
您又是否常常机械地check邮件，却从没有思考过如何来改进效率？
您是否经常不停地刷新某个页面，为的只是看到其他人对您的回复？
一切关乎信息的推送，关乎它的推送方式以及您该如何优化它来改进效率。
一开始我就直接抛出一个可以称之为事实的假设：即信息的推送方式分为 push（推）和pull（拉）两种。之后所有的阐述都将围绕这个观点（假设）来进行。
现状
毋庸置疑，QQ群（旺旺群也一样） 在原始状态下是push的方式，它将信息强行推送给你，即用显著的提示信号（声音+图表闪烁）。但这个push又非彻底的push，因为在你没有登录QQ 时无法接收到这一信息（或者信息的提示信号）。由此你也可以猜到，我假定出来的彻底的push只有手机和传呼机之类的便携工具了。更准确地讲，彻底的 push工具只有传呼机的呼叫和手机上的短信、通话、邮件（开通了推送服务的移动邮件）、蓝牙等。扯多了，再回来。QQ群有个特殊的功能是［群消息设 置］，它可以将QQ群的方式改为pull（当你设置为接收不提示消息时）。这样的功能对于用户来讲是非常有用的，也是产品上对信息推送方式优化的一种进 步。但是我必须承认它只是起步，远远没有解决信息推送的问题。IM（即时聊天工具）的重心就是［即时］，也多多少少是由push方式本身所体现出来的，所 以一棒子打死肯定是不对的。因为［群消息设置］本身是从消息的接收端来切入的，也就是消息流的下游来切入。越是在下游来进行优化，就越吃力，这是肯定的。 就像数据库分表的方式，就是在上游的数据插入时进行优化来缓解下游的查询时的压力。ＱＱ群的问题扯到这里，关于使用ＱＱ群所产生信息困扰的具体场景我就不 直接描述了，你懂的！
另外一种重要的工具便是email，在内部沟通时不用email的企业应该非常罕见吧。email的原生态是 pull的，但在其长期的演变优化后，已经可以变得伸缩自如，pull与push混搭，强大无比。从email的发送对象上来看，可以一对一，一对多（一 种是直接发送指定多个用户，另一种就是发送至邮件列表）。其中还有cc来进行角色的强化和弱化。邮件中的回复其实跟发送没有区别，只是引用了邮件发送的正 文。email的优化几乎都是接收端的优化，重点是接收信号的创造。邮件本身是没有接收信号的，它需要你手动check你的邮箱（有的是刷新，有的 是&amp;#8230;）。但是Email本身有POP、IMAP等协议，可以很好地进行扩展优化（本人对email 这块不是很熟悉，有扯烂的地方请文明点喷哈！）。
优化之Outlook Outlook（包括其他同类产品）通过机器定时地check你的远程邮箱，如有新邮件，就给出一个提示信号。有人就会说那么它现在就是一个非彻底的 push了！当然有需求就有市场，因为有些工作者必须对邮件敏感，所以不得不去折腾一个邮件推送服务来解决，将其优化为彻底的push。如有新邮件，服务 提供商自动将新邮件推送到你的手机上（用黑莓的大多都用这个服务吧，我是外行我扯淡！）。
优化之Gmail 我本身是Gmail的坚决拥护者+狂热fans，所以这边对于Gmail的赞美有太多主观因素。Gmail本身就是一个有账号身份的邮箱，但它又可以作为 邮箱客户端（类Outlook）。我的Gmail上就有3个账号，其一是Gmail本身，基本都是个人通信，另外两个是公司用。这样所有的邮件都统一在一 个客户端，便于接下来的优化。首先是提示信号的创造，通过Firefox插件（Gmail Notifier等）。因为工作上不需要时时对邮件敏感，再加上出差不多，所以没必 要使用邮件推送服务（毕竟还是有开销的）。接下来是信息过滤的优化，这一块是这里的重点！Gmail给出了信息过滤的极为优雅的设置方式，但需要你去实践 了才会明白它的好。核心是标签（Label），分为系统标签（收件箱、加星、已发送、草稿箱、所有邮件、垃圾邮件、已删除）和自定义标签。 所有接收进来的邮件都会存放在收件箱，存档操作会将其移出收件箱（去掉收件箱标签），其他操作都对应类同。优化自然是搭配系统标签和自定义标签了。首先给 外部邮箱账号的邮件分别定义标签，比如company_1、company_2等（在接收选项中可以设置让机器自动地打对应的标签）。那么 company_1账号上的邮件会自动打上company_1标签，其他类同。另外一个核心是过滤器（Filter），设置标题为［Re &amp;#124;   答复］的邮件自动标记为已读的过滤器（注意别跳过收件箱）。如果你不想所有的回复都过滤掉，就对指定规则来进行过滤。经过这两个设置，再加上Gmail本 身会对主题和回复进行样式上的排列（很像论坛的方式），就完美地解决了本人工作及个人上的邮件信息处理。因为对于邮件主题，我需要的push，需要在开机 状态下对它敏感，而回复一般都不敏感，只要每天找个固定时间去手动check下好了（Gmail会将有新回复的邮件都加上收件箱标签，就好像有新回复的帖 子自动提前一样）。
SNS服务的信息推送方式似乎都是多样的，举几个典型的例子来说说吧。传统的BBS中信息主要有短消息和关注信息点的 提示。前者是push，后者是pull。后者说通俗点就是，关注有人回复了你的帖子或者你的回复。通常就是傻瓜式地点击［我的话题］或者［我的回复］进行 查看。当然现代的BBS程序也做到了通过订阅来发送短信息进行提醒。这个还是挺不错的。人人网（校内）则默认使用了这一规则，并且它的短消息做得更为直 接、自动。有了新的评论或者评论回复，就会直接给出提示信号（+音效），页面是自动check的，而不需要手动刷新。Twitter本身完全是pull 的，但模仿它的微博，相对来讲是push的。这个是什么原因呢，下面会阐述到。
机制
上面扯了这么多，其实不是想介绍如何使用现有工具进行工作上的优化。主要是想讨论下信息推送方式的演变，以及今后程序上的发展方向。接下来就完全是我为了满足自身生理需要的YY了。
我们计划设计一种新的工具（或者某系统中的模块），其职能就是用了沟通或者信息传达。但是这个工具（或模块）的应用场景很广，并且无法给出一个详细确切的描 述。（貌似这本身在软件工程上就是个错误，囧！）那么怎么应对今后不定的客户需求呢？
首先，这个工具本身基于pull，例如 twitter，例如email。核心结构必须越简单越好，pull得越纯粹越好！然后给出一套完善的API，或者以其他扩展模块的方式对其进行选择性的 优化，将其改造成适应性不同的push方式。这种设计比较容易实现，也比较有效。我觉得越来越多的程序将会用这样的方式进行信息的推送。
如果工具本身是push的，那么如何在发送者这一端进行优化就是重点了。发送者必须确保你所发送的对象都是有效对象，也就是对方愿意花精力来应付你push 过去的信息。比如手机短信，通话，直接性的邮件（非邮件组）等这类信息。但是发送端进行对象的选择是有问题的，当发送对象超过一定数量，发送者就会在这个 环节浪费过多的时间。那么，怎样在这个环节进行优化，发送者和接收者都满意呢？这个问题暂时没有很好的解决方案，期待达人！&lt;img src=&quot;http://www1.feedsky.com/t1/364263012/zccpop/feedsky/s.gif?r=http://www.orzcc.com/?p=641233&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/zccpop/364263012/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/zccpop/364263012/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>我是程序员</category><pubDate>Mon, 10 May 2010 09:50:59 +0800</pubDate><author>zcc</author><comments>http://www.orzcc.com/?p=641233#comments</comments><guid isPermaLink="false">http://www.orzcc.com/?p=641233</guid><dc:creator>zcc</dc:creator><fs:srclink>http://www.orzcc.com/?p=641233</fs:srclink><fs:srcfeed>http://www.orzcc.com/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/zccpop/~6974558/364263012/5082186</fs:itemid></item><item><title>Anti-spam</title><link>http://www.orzcc.com/?p=641230</link><content:encoded>&lt;p&gt;by zcc @2010-4-29&lt;/p&gt;
&lt;h2&gt;背景&lt;/h2&gt;
&lt;p&gt;这是一个比较 大的话题，由于经验有限，这次突击专题后所做的笔记也比较琐碎。泛滥的自动注册机和垃圾帖困扰着很多互联网产品，怎样反抗它们的进攻，如何降低spam爆 发率。本文主要给出相关的介绍，以及一些解决方法的思路。由于时间有限，尽量给出简单的实验性demo。&lt;/p&gt;
&lt;h2&gt;现状&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;从发帖机的 类型上来看：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;白痴型发帖机（自己做的发帖机，嘿嘿）&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;ul&gt;
&lt;li&gt;自动注册发帖指定内 容&lt;/li&gt;
&lt;li&gt;开启简单的认证码就可防御&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;半人工发贴机（&lt;a id=&quot;w.na&quot; title=&quot;狂人&quot; href=&quot;http://www.kuangren.net/&quot;&gt;狂人&lt;/a&gt;算一个）
&lt;ul&gt;
&lt;li&gt;提 供发帖帐号库和文章库实现自动调用&lt;/li&gt;
&lt;li&gt;基本具备自动化的功能&lt;/li&gt;
&lt;li&gt;无法识别验证码（但通过自动获取验证码区域，这部分通过人工 绕过）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;强悍型发帖机（&lt;a href=&quot;http://www.sf168.com/Article/18.html&quot;&gt;蓝 鸟论坛自动发帖机，没试过&lt;/a&gt;）
&lt;ul&gt;
&lt;li&gt;自动注册账号，也可由用户已注册过的账号&lt;/li&gt;
&lt;li&gt;有效识别论坛验证码&lt;/li&gt;
&lt;li&gt;根 据发帖时间限制，调整延时设置&lt;/li&gt;
&lt;li&gt;http代理设置（防止IP被封）&lt;/li&gt;
&lt;li&gt;自动识别Discuz/PHPWind/DVBBS /Leadbbs&lt;/li&gt;
&lt;li&gt;多方案同时工作，同时对6-7个不同的网站同时发帖&lt;/li&gt;
&lt;li&gt;随时查看发帖机状态&lt;/li&gt;
&lt;li&gt;论坛地址 可从地址列表自动读取，省去手工输入的麻烦&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;智能型发帖机
&lt;ul&gt;
&lt;li&gt;加入了人工智能，内容更人性化&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;人 肉发帖机
&lt;ul&gt;
&lt;li&gt;最智能的发贴机；也是可预见的最有效的方法&lt;/li&gt;
&lt;li&gt;雇佣低成本的人工劳力，配合一些简单的自动化软件进行武 装&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;从目前的防御手段上来看：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;验证码
&lt;ul&gt;
&lt;li&gt;采 用最广泛也是目前来讲最有效的方案&lt;/li&gt;
&lt;li&gt;下面会详细剖析这个主题&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;帐号限制
&lt;ul&gt;
&lt;li&gt;IP限制&lt;/li&gt;
&lt;li&gt;邀 请注册（相关认证）&lt;/li&gt;
&lt;li&gt;激活方式（邮箱激活、短信激活）&lt;/li&gt;
&lt;li&gt;对用户进行等级划分，对低等级用户进行相关限制&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;智 能过滤
&lt;ul&gt;
&lt;li&gt;采用算法进行相关判定过滤&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;人工审核
&lt;ul&gt;
&lt;li&gt;道高一尺，魔高一丈，最直接 的方法还是人肉！&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;&lt;strong&gt;目前phpwind中功能上的防御方案：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;邮件 激活注册用户 &lt;span style=&quot;color: #666666;&quot;&gt;（成功率：中，效率：低）&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;邀请注册&lt;span style=&quot;color: #666666;&quot;&gt;（成功率：高，效率：低）&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;同一IP重复注册&lt;span style=&quot;color: #666666;&quot;&gt;（成功率：低，效率：高）&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;注册邮箱黑白名单&lt;span style=&quot;color: #666666;&quot;&gt;（成功率：低，效率：中）&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;新会员发帖控制&lt;span style=&quot;color: #666666;&quot;&gt;（成 功率：中～中高，效率：中）&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;开启认证码（注册、前台登录、发帖）&lt;span style=&quot;color: #666666;&quot;&gt;（成功 率：高，效率：低）&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;验证问题设置（注册、前台登陆、发帖）&lt;span style=&quot;color: #666666;&quot;&gt;（成功率：高， 效率：低）&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;灌水预防&lt;span style=&quot;color: #666666;&quot;&gt;（成功率：低～中低，效率：高）&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;注 册文件名修改&lt;span style=&quot;color: #666666;&quot;&gt;（成功率：低，效率：中）&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;限制低等级会员权限&lt;span style=&quot;color: #666666;&quot;&gt;（成功率：高，效率：低）&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;案发事件及事发方的 窘境：&lt;/strong&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;一些自动注册发贴机为了绕过新会员发帖限制，会采用先进行疯狂注册，隔一段时间再进行发帖操作&lt;/li&gt;
&lt;li&gt;通 过代理绕过同一IP重复注册&lt;/li&gt;
&lt;li&gt;注册环节可开启相关限制，但在发帖环节开启验证码的话会严重影响用户体验&lt;/li&gt;
&lt;li&gt;为了不减少新用 户数量，开启邀请注册等功能不在考虑范围之内&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;总结到这一步，我不得不再做一次方向上的确认，范围上再收缩一下。首 先，需要明确的是我们的敌人到底是机器人（自动注册发贴机）还是垃圾信息。我们所能给出的方案能够有效地做到哪个程度，哪个深度是我们目前花合理的人力、 时间也无法到达的。由于phpwind是通用型产品，也由于目前的技术限制，没法在数据挖掘、AI上去获得相关资源，所以这里就确定我们要针对的是&lt;strong&gt;机 器人&lt;/strong&gt;（从严格意义上来看，似乎本文标题上就有些歧义）。&lt;/p&gt;
&lt;p&gt;纯理论地来讲，机器所做的无非是在有限程度上使人工自动化。而目前大多数 机器人的工作流程如下：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://docs.google.com/drawings/image?w=400&amp;amp;h=400&amp;amp;ac=1&amp;amp;id=syMbC5tYQwJzdANBcGIkIDQ&amp;amp;rev=176&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;用 户通过浏览器向服务器发出页面请求&lt;/li&gt;
&lt;li&gt;服务器返回给浏览器指定的html页面&lt;/li&gt;
&lt;li&gt;用户将填好的表单通过浏览器向服务器发送数 据&lt;/li&gt;
&lt;li&gt;机器人通过内置的伪浏览器（比如php中的curl）向服务器发出页面请求&lt;/li&gt;
&lt;li&gt;服务器返回给机器人指定的html页面&lt;/li&gt;
&lt;li&gt;机 器人根据服务器返回的html代码和自己的文章库制造post数据，发送给服务器&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;那么怎样去识别客户端是人还是机器呢？机器 和人的区别是什么？&lt;br /&gt;
在客户端上，机器的伪装技术几乎可以搞定放在客户端上的所有验证环节。另外就近几年的技术而言，机器（计算机）的识别能力主要 在于&lt;strong&gt;字&lt;/strong&gt;上面，而在图像、词语逻辑等上面还相对较弱。虽然客户端（浏览器）都能获得HTML页面，但如果在HTML页面上相关消息给出的形式 不是文字，而是图像或者一些判定逻辑的话，机器在识别上就会遇到阻碍。这也就是验证码的基本思想。验证码本身并不复杂，但放在应用环境中就会变得深不见 底。接下来就以验证码为入口，继续anti-spam的旅程。&lt;/p&gt;
&lt;h2&gt;验证码&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;比较权威的定义：&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;全 自动区分计算机和人类的测试&lt;/strong&gt;（&lt;strong&gt;CAPTCHA&lt;/strong&gt;, Completely Automated Public Test to  tell Computers and Humans Apart），是一种区分用户是&lt;a title=&quot;计算机&quot; href=&quot;http://zh.wikipedia.org/zh-cn/%E8%AE%A1%E7%AE%97%E6%9C%BA&quot;&gt;计算机&lt;/a&gt;和&lt;a title=&quot;人&quot; href=&quot;http://zh.wikipedia.org/zh-cn/%E4%BA%BA&quot;&gt;人&lt;/a&gt;的公共全自动程序。在 CAPTCHA测试中，作为&lt;a title=&quot;服务器&quot; href=&quot;http://zh.wikipedia.org/zh-cn/%E6%9C%8D%E5%8A%A1%E5%99%A8&quot;&gt;服务器&lt;/a&gt;的计算机会自动生成一个问题由用户来解答。这个问题可以由计算机生成并评判，但是必须只有人类才能解答。由于计算 机无法解答CAPTCHA的问题，所以回答出问题的用户就可以被认为是人类。&lt;/p&gt;
&lt;div&gt;—— 维基百科&lt;/div&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;phpwind验证码前端：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;br /&gt;
&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;纯 4位数字验证码&lt;/p&gt;
&lt;div id=&quot;nbu8&quot;&gt;&lt;img src=&quot;http://docs.google.com/File?id=dccxjszr_293cmxfg4c6_b&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;纯4位英文验证码&lt;/p&gt;
&lt;div id=&quot;k0un&quot;&gt;&lt;img src=&quot;http://docs.google.com/File?id=dccxjszr_294c4kfw4gt_b&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;
&lt;p&gt;加入各种干扰条件的英文验证码&lt;/p&gt;
&lt;div id=&quot;trk1&quot;&gt;&lt;img src=&quot;http://docs.google.com/File?id=dccxjszr_295cqmvx3p7_b&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;还有gif动画的以及中文验证码等等&lt;/p&gt;
&lt;p&gt;其他产品 中的验证码及对应的被识别率：&lt;a id=&quot;lu3c&quot; title=&quot;http://caca.zoy.org/wiki/PWNtcha&quot; href=&quot;http://caca.zoy.org/wiki/PWNtcha&quot;&gt;http://caca.zoy.org/wiki/PWNtcha&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;插 播：&lt;/strong&gt;验证码的威力在于，从理论上来讲想要绕过它唯一的途径就是在识别环节上，而图像（或逻辑、音频）的识别恰恰是目前机器的弱点。而复杂的加入干 扰条件的图像验证码，会让大部分的机器人望而却步。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;phpwind验证码生成机制：&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;在 ck.php中根据设置的验证码类型产生一个随机的验证码字符串&lt;/li&gt;
&lt;li&gt;将产生的随机字符串加密后与时间戳一并存入 cookie（&amp;#8217;cknum&amp;#8217;）（加密不可逆）&lt;/li&gt;
&lt;li&gt;使用php的GD库绘制验证码图片&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div id=&quot;trk1&quot;&gt;&lt;strong&gt;phpwind验证码验证机制：&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;服务器获取客户端提交过来 的字符串（gdcode）&lt;/li&gt;
&lt;li&gt;用SafeCheck函数拿$gdcode与cookie中的cknum进行校验&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;phpwind 所采用的验证码机制也就是&lt;a id=&quot;yeqc&quot; title=&quot;这篇文章中&quot; href=&quot;http://www.cnblogs.com/jianjunyue/archive/2010/04/14/1712237.html&quot;&gt;这篇文章中&lt;/a&gt;所提到的&lt;strong&gt;更高级的验证码&lt;/strong&gt;，并且做到了&lt;strong&gt;抵御过期cookies 法&lt;/strong&gt;（加入时间戳以及过期作废cookie）。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;验证码的危害&lt;/p&gt;
&lt;p&gt;&lt;/strong&gt;验证码的危害基本就在用户体验上，这项 不属于用户信息的必填环节浪费了用户太多的时间，围观&lt;a id=&quot;kndb&quot; title=&quot;抱怨1&quot; href=&quot;http://voidonring.blogbus.com/logs/2005/12/1736688.html&quot;&gt;抱怨1&lt;/a&gt;，&lt;a id=&quot;hspk&quot; title=&quot;抱怨2&quot; href=&quot;http://www.auiou.com/relevant/00001054.jsp&quot;&gt;抱 怨2&lt;/a&gt;&amp;#8230;&lt;/p&gt;
&lt;h3&gt;低成本防御&lt;/h3&gt;
&lt;p&gt;从技术角度看，有漏洞的软件总是不好。但从商业角度上来看，从成本分析上来看，能够以合理的性 价比满足需求就已经达到目标了。比如在为一些中小型站服务的时候，相应的机器人肯定也是廉价的机器人。它们大多数也就是通过购买自动注册发帖软件来低成本 地制造spam。所以，只要给出一个短时间内的临时修改方案，对方就不得不进行软件的升级。而该临时方案如果不是很通用的话，机器人软件也不会对一个不通 用的目标进行专门的升级。（程序员们别鄙视我这个非典型程序员～）&lt;/p&gt;&lt;/div&gt;
&lt;h2&gt;实验Demo&lt;/h2&gt;
&lt;h3&gt;&lt;strong&gt;1. 自动注册发贴机&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;只是用来做实验及学习curl的demo，功能上简陋得很～&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;功能及实验注意点：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;利 用预先设定的用户名前缀自动注册&lt;/li&gt;
&lt;li&gt;利用自动注册的帐号自动登录并遍历设定的板块ID范围进行发帖&lt;/li&gt;
&lt;li&gt;预先设定发帖间隔（最 好取消灌水预防来做实验，如有灌水预防，请务必设定大于灌水预防的发帖间隔）&lt;/li&gt;
&lt;li&gt;最好关闭CC攻击防护&lt;/li&gt;
&lt;li&gt;以./main.php 开始，结束么就自己关掉页面好了&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;&lt;br /&gt;
下载地址：&lt;/strong&gt;&lt;a id=&quot;k10l&quot; title=&quot;本地链接&quot; href=&quot;http://docs.google.com/leaf?id=0By2MIYZSEJutOTFlZGZjYWYtZGYwZi00MzlmLTk5YzItZWY1MGI1NTA0YWZi&amp;amp;hl=en&quot;&gt;本地链接&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;2.发帖页面监听&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;原理思路：&lt;/strong&gt;通过监听发帖页 面的用户动作，来确保客户端是通过发帖页面通道来进行发送数据的。本demo是通过监听输入区域的onkeydown/onkeyup动作，触发 ajax（do_by_hands.php），而被触发的程序生成一个该用户的临时缓存文件。发帖的时候就加入一个点来判断是否有生成临时文件就ok了。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;漏 洞：&lt;/strong&gt;还是老话，客户端的校验如何防止被伪造本身就是问题！发贴机根本就不需要伪造用户动作，直接分析出被监听的动作是什么 （do_by_hands.php），发送了什么数据，然后直接（向do_by_hands.php）发送相关数据就可以绕过了（伪造好cookie的前 提下）。另外一个原因是，不敢保证效率上会不会有问题。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;进一步防御（本demo没有实现）：&lt;/strong&gt;针对上面的问题，进一步改进： 被触发的动作文件（do_by_hands.php）文件名可以进一步设置成随机，可以进行一定程度上的加密。这样就可以从表面上防止了机器人的绕过。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;下 载地址（pw 7.5 sp3 gbk）：&lt;/strong&gt;&lt;a id=&quot;hupg&quot; title=&quot;本地链接&quot; href=&quot;http://docs.google.com/leaf?id=0By2MIYZSEJutYWI5N2M4NDctM2M0ZC00ZTcxLWIwNzItNTQ1Nzg3MjhiZjAw&amp;amp;hl=en&quot;&gt;本地链接&lt;/a&gt; &lt;span style=&quot;color: #666666;&quot;&gt;（代码注释：&lt;/span&gt;&lt;span style=&quot;color: #666666;&quot;&gt;// anti-spam by zcc）&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;3.隐形验证码&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;原理思路：&lt;/strong&gt;通 过在机器获取验证码环节上给出相关阻碍的方案。常规的验证码在内容本身上加密以及随机，但本方案是在DOM元素上的随机加密。假如这个加密方案成功的话， 也就不需要内容本身了，及验证码隐形。对于机器人，虽然隐形验证码的dom元素ID和值都是可见的，但因为值本身是随机的，所以无法定位。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;具 体步骤：&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;产生一个随机的验证码字符串&lt;/li&gt;
&lt;li&gt;将产生的随机字符串加密后存入  cookie（&amp;#8217;ckxnum&amp;#8217;）（可逆的加密）&lt;/li&gt;
&lt;li&gt;生成隐形验证码的页面（&amp;lt;input type=&amp;#8221;hidden&amp;#8221;  name=&amp;#8221;$xcode&amp;#8221; value=&amp;#8221;$xcode&amp;#8221; /&amp;gt;）&lt;/li&gt;
&lt;li&gt;服务器端根据cookie中的加密字符串进行解密得到变量的 名字&lt;/li&gt;
&lt;li&gt;根据得到的变量名获取隐形验证码的表单值进行验证&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;&lt;br /&gt;
漏洞：&lt;/strong&gt;机器人可以通过正则表达式等方 式来获取未知名的表单元素（也就是根据位置）。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;进一步方案（本demo没有实现）：&lt;/strong&gt;根据机器人的获取元素方式进行针对性的 改进。（说的比较扯淡，囧！）&lt;br /&gt;
另外，这个可逆的加密方法可以进一步改进，也可以增加后台控制。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;下载地址（pw 7.5  sp3 gbk）：&lt;/strong&gt;&lt;a id=&quot;a6ly&quot; title=&quot;本地链接&quot; href=&quot;http://docs.google.com/leaf?id=0By2MIYZSEJutZjllOGZkYzEtY2ZlNS00ZTk1LWIxOTUtNzUxODQ5ZmExZGM1&amp;amp;hl=en&quot;&gt;本地链接&lt;/a&gt; &lt;span style=&quot;color: #666666;&quot;&gt;（代码注释：&lt;/span&gt;&lt;span style=&quot;color: #666666;&quot;&gt;// anti-spam by zcc）&lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;总结&lt;/h2&gt;
&lt;p&gt;关于防自动注册发帖的想法和 相关情况叙述到这里，我并没有给出一个能够立马拿得出手的武器，没法一针见血地解决问题，这些都在情理之中。但是，从这些资料的阅读和思考中至少可以明白 这个方向的一些技术难点、敌方所采用的战术等等。不像刚开始接触的那样，自以为找到了一种可以破解的有效方案。上面所给出的实验demo也肯定会是一些漏 洞百出的方案，只是一些试图去解决的思路而已。仅此抛砖引玉，来进一步探究anti-spam的话题。&lt;/p&gt;
&lt;h2&gt;参考链接&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a id=&quot;tqok&quot; title=&quot;http://zh.wikipedia.org/zh-cn/%E9%AA%8C%E8%AF%81%E7%A0%81&quot; href=&quot;http://zh.wikipedia.org/zh-cn/%E9%AA%8C%E8%AF%81%E7%A0%81&quot;&gt;http://zh.wikipedia.org/zh-cn/%E9%AA%8C%E8%AF%81%E7%A0%81&lt;/a&gt; CAPTCHA（验证码）&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.auiou.com/relevant/00001054.jsp&quot;&gt;http://www.auiou.com/relevant/00001054.jsp&lt;/a&gt; 门槛的比喻&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.csdn.net/lake2/archive/2006/09/15/1224897.aspx&quot;&gt;http://blog.csdn.net/lake2/archive/2006/09/15/1224897.aspx&lt;/a&gt; 错误之后就清空cookie&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://sunng.info/blog/2009/10/%E9%AA%8C%E8%AF%81%E7%A0%81%E7%9A%84%E4%B8%A4%E7%A7%8D%E6%96%B9%E5%BC%8F&quot;&gt;http://sunng.info/blog/2009/10/%E9%AA%8C%E8%AF%81%E7%A0%81%E7%9A%84%E4%B8%A4%E7%A7%8D%E6%96%B9%E5%BC%8F/&lt;/a&gt; 验证码服务器&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://cn.engadget.com/2008/09/02/15-bt-captcha&quot;&gt;http://cn.engadget.com/2008/09/02/15-bt-captcha/&lt;/a&gt; 最BT的验证码&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.cnblogs.com/jianjunyue/archive/2010/04/14/1712237.html&quot;&gt;http://www.cnblogs.com/jianjunyue/archive/2010/04/14/1712237.html&lt;/a&gt; 强文—破解验证码&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.tanggaowei.com/2007/10/posts-5.html&quot;&gt;http://blog.tanggaowei.com/2007/10/posts-5.html&lt;/a&gt; 验证码是流氓软件&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://tech.sina.com.cn/i/2009-05-24/11153119447.shtml&quot;&gt;http://tech.sina.com.cn/i/2009-05-24/11153119447.shtml&lt;/a&gt; 验证码识别的科普文&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://groups.google.com/group/dedream/browse_thread/thread/e10bb7b3961dbea/e115efae57e80803&quot;&gt;https://groups.google.com/group/dedream/browse_thread/thread/e10bb7b3961dbea/e115efae57e80803&lt;/a&gt; 关于验证码的讨论&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://groups.google.com/group/pongba/browse_thread/thread/d474bc7090b2103/aa85a331c3953ed2&quot;&gt;https://groups.google.com/group/pongba/browse_thread/thread/d474bc7090b2103/aa85a331c3953ed2&lt;/a&gt; 又一个关于验证码的讨论&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://huaidan.org/archives/2085.html&quot;&gt;http://huaidan.org/archives/2085.html&lt;/a&gt; 高级的验证码识别&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://voidonring.blogbus.com/logs/2005/12/1736688.html&quot;&gt;http://voidonring.blogbus.com/logs/2005/12/1736688.html&lt;/a&gt; 交互设计痛恨验证码&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.awflasher.com/blog/archives/1443&quot;&gt;http://www.awflasher.com/blog/archives/1443&lt;/a&gt; 验证码判定的不是垃圾评论&lt;/li&gt;
&lt;/ul&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/364263013/zccpop/feedsky/s.gif?r=http://www.orzcc.com/?p=641230&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/zccpop/364263013/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/zccpop/364263013/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.orzcc.com/?feed=rss2&amp;p=641230</wfw:commentRss><slash:comments>0</slash:comments><description>by zcc @2010-4-29
背景
这是一个比较 大的话题，由于经验有限，这次突击专题后所做的笔记也比较琐碎。泛滥的自动注册机和垃圾帖困扰着很多互联网产品，怎样反抗它们的进攻，如何降低spam爆 发率。本文主要给出相关的介绍，以及一些解决方法的思路。由于时间有限，尽量给出简单的实验性demo。
现状
从发帖机的 类型上来看：

白痴型发帖机（自己做的发帖机，嘿嘿）




自动注册发帖指定内 容
开启简单的认证码就可防御


半人工发贴机（狂人算一个）

提 供发帖帐号库和文章库实现自动调用
基本具备自动化的功能
无法识别验证码（但通过自动获取验证码区域，这部分通过人工 绕过）


强悍型发帖机（蓝 鸟论坛自动发帖机，没试过）

自动注册账号，也可由用户已注册过的账号
有效识别论坛验证码
根 据发帖时间限制，调整延时设置
http代理设置（防止IP被封）
自动识别Discuz/PHPWind/DVBBS /Leadbbs
多方案同时工作，同时对6-7个不同的网站同时发帖
随时查看发帖机状态
论坛地址 可从地址列表自动读取，省去手工输入的麻烦


智能型发帖机

加入了人工智能，内容更人性化


人 肉发帖机

最智能的发贴机；也是可预见的最有效的方法
雇佣低成本的人工劳力，配合一些简单的自动化软件进行武 装



从目前的防御手段上来看：

验证码

采 用最广泛也是目前来讲最有效的方案
下面会详细剖析这个主题


帐号限制

IP限制
邀 请注册（相关认证）
激活方式（邮箱激活、短信激活）
对用户进行等级划分，对低等级用户进行相关限制


智 能过滤

采用算法进行相关判定过滤


人工审核

道高一尺，魔高一丈，最直接 的方法还是人肉！



目前phpwind中功能上的防御方案：

邮件 激活注册用户 （成功率：中，效率：低）
邀请注册（成功率：高，效率：低）
同一IP重复注册（成功率：低，效率：高）
注册邮箱黑白名单（成功率：低，效率：中）
新会员发帖控制（成 功率：中～中高，效率：中）
开启认证码（注册、前台登录、发帖）（成功 率：高，效率：低）
验证问题设置（注册、前台登陆、发帖）（成功率：高， 效率：低）
灌水预防（成功率：低～中低，效率：高）
注 册文件名修改（成功率：低，效率：中）
限制低等级会员权限（成功率：高，效率：低）


案发事件及事发方的 窘境：

一些自动注册发贴机为了绕过新会员发帖限制，会采用先进行疯狂注册，隔一段时间再进行发帖操作
通 过代理绕过同一IP重复注册
注册环节可开启相关限制，但在发帖环节开启验证码的话会严重影响用户体验
为了不减少新用 户数量，开启邀请注册等功能不在考虑范围之内

总结到这一步，我不得不再做一次方向上的确认，范围上再收缩一下。首 先，需要明确的是我们的敌人到底是机器人（自动注册发贴机）还是垃圾信息。我们所能给出的方案能够有效地做到哪个程度，哪个深度是我们目前花合理的人力、 时间也无法到达的。由于phpwind是通用型产品，也由于目前的技术限制，没法在数据挖掘、AI上去获得相关资源，所以这里就确定我们要针对的是机 器人（从严格意义上来看，似乎本文标题上就有些歧义）。
纯理论地来讲，机器所做的无非是在有限程度上使人工自动化。而目前大多数 机器人的工作流程如下：


用 户通过浏览器向服务器发出页面请求
服务器返回给浏览器指定的html页面
用户将填好的表单通过浏览器向服务器发送数 据
机器人通过内置的伪浏览器（比如php中的curl）向服务器发出页面请求
服务器返回给机器人指定的html页面
机 器人根据服务器返回的html代码和自己的文章库制造post数据，发送给服务器

那么怎样去识别客户端是人还是机器呢？机器 和人的区别是什么？
在客户端上，机器的伪装技术几乎可以搞定放在客户端上的所有验证环节。另外就近几年的技术而言，机器（计算机）的识别能力主要 在于字上面，而在图像、词语逻辑等上面还相对较弱。虽然客户端（浏览器）都能获得HTML页面，但如果在HTML页面上相关消息给出的形式 不是文字，而是图像或者一些判定逻辑的话，机器在识别上就会遇到阻碍。这也就是验证码的基本思想。验证码本身并不复杂，但放在应用环境中就会变得深不见 底。接下来就以验证码为入口，继续anti-spam的旅程。
验证码
比较权威的定义：
全 自动区分计算机和人类的测试（CAPTCHA, Completely Automated Public Test to  tell Computers and Humans Apart），是一种区分用户是计算机和人的公共全自动程序。在 CAPTCHA测试中，作为服务器的计算机会自动生成一个问题由用户来解答。这个问题可以由计算机生成并评判，但是必须只有人类才能解答。由于计算 机无法解答CAPTCHA的问题，所以回答出问题的用户就可以被认为是人类。
—— 维基百科

phpwind验证码前端：


纯 4位数字验证码


纯4位英文验证码

加入各种干扰条件的英文验证码

还有gif动画的以及中文验证码等等
其他产品 [...]&lt;img src=&quot;http://www1.feedsky.com/t1/364263013/zccpop/feedsky/s.gif?r=http://www.orzcc.com/?p=641230&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/zccpop/364263013/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/zccpop/364263013/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>我是程序员</category><pubDate>Mon, 10 May 2010 09:47:31 +0800</pubDate><author>zcc</author><comments>http://www.orzcc.com/?p=641230#comments</comments><guid isPermaLink="false">http://www.orzcc.com/?p=641230</guid><dc:creator>zcc</dc:creator><fs:srclink>http://www.orzcc.com/?p=641230</fs:srclink><fs:srcfeed>http://www.orzcc.com/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/zccpop/~6974558/364263013/5082186</fs:itemid></item><item><title>KM 工具之痛</title><link>http://www.orzcc.com/?p=641191</link><content:encoded>&lt;h3&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Google Docs&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;优点：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;跨平台&lt;/li&gt;
&lt;li&gt;UI完美&lt;/li&gt;
&lt;li&gt;编辑器完美&lt;/li&gt;
&lt;li&gt;共享机制完美&lt;/li&gt;
&lt;li&gt;文件组织形式完美&lt;/li&gt;
&lt;li&gt;Google 出品&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;缺点：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;无法存储附件（可通过内部链接代替）&lt;/li&gt;
&lt;li&gt;没有本地客户端&lt;/li&gt;
&lt;li&gt;被墙（虽然可以翻墙，但毕竟&amp;#8230;）&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;CyberArticles&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;优点：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;功能强大（包括文件树目录、附件、代码着色等）&lt;/li&gt;
&lt;li&gt;文件存储可配合Dropbox来同步&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;缺点：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;无法跨平台&lt;/li&gt;
&lt;li&gt;发展方向定位不稳定（WizKnowledge分支搅乱）&lt;/li&gt;
&lt;li&gt;不开源（无法进行二次开发）&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Wiki [MoinMoin/DocuWiki/MediaWiki]&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;优点：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;跨平台&lt;/li&gt;
&lt;li&gt;开源且可以进行定制开发&lt;/li&gt;
&lt;li&gt;本地/Web形式可选&lt;/li&gt;
&lt;li&gt;有助于代码水平的研究提升&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;缺点：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;撰写步骤过于复杂&lt;/li&gt;
&lt;li&gt;文件组织整理过于复杂&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Evernote&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;优点：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;跨平台（限制级）&lt;/li&gt;
&lt;li&gt;发展迅猛，口碑不错&lt;/li&gt;
&lt;li&gt;信息录入方式非常完美（包括本地客户端、浏览器插件、手机客户端、Web等形式）&lt;/li&gt;
&lt;li&gt;自带同步模式&lt;/li&gt;
&lt;li&gt;UI（可惜新版的UI非常难看）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;缺点：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;没有附件形式（免费用户。如果足够强大，此条作废）&lt;/li&gt;
&lt;li&gt;无法创建子目录（重点话题！）&lt;/li&gt;
&lt;li&gt;无法创建内部链接&lt;/li&gt;
&lt;li&gt;编辑器格式太过简单&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;说：&lt;/h2&gt;
&lt;p&gt;目前正在使用Google Docs，正在尝试MoinMoin，还未完全弃用WizKnowledge！&lt;br /&gt;
我 希望有一款能够很好地将信息的录入、筛选、分类、存放集一体的工具，它首先必须是能够促进我写作欲望的，并且能够跨平台。另外，它最好足够的安全，不易导 致信息的丢失。从这几天的MoinMoin的试用情况来看，用Wiki来进行个人知识管理太过于笨 重，CyberArticles/WizKnowledge 虽然功能异常强大，但由于是个人作品，背景不够深厚，发展空间不大，从扩展性、跨平台等来看都是缺陷。目前只有Google Docs了，配合Dropbox同步一些文件基本可以做到日常的知识管理。我期待HTML5的发展能够使Google Docs的离线模式更加完善，另外希望有牛人能够利用Google 开放的API写出更棒的Docs的本地化客户端、浏览器插件等。&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/364263014/zccpop/feedsky/s.gif?r=http://www.orzcc.com/?p=641191&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/zccpop/364263014/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/zccpop/364263014/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.orzcc.com/?feed=rss2&amp;p=641191</wfw:commentRss><slash:comments>1</slash:comments><description>Google Docs
优点：

跨平台
UI完美
编辑器完美
共享机制完美
文件组织形式完美
Google 出品

缺点：

无法存储附件（可通过内部链接代替）
没有本地客户端
被墙（虽然可以翻墙，但毕竟&amp;#8230;）

CyberArticles
优点：

功能强大（包括文件树目录、附件、代码着色等）
文件存储可配合Dropbox来同步

缺点：

无法跨平台
发展方向定位不稳定（WizKnowledge分支搅乱）
不开源（无法进行二次开发）

Wiki [MoinMoin/DocuWiki/MediaWiki]
优点：

跨平台
开源且可以进行定制开发
本地/Web形式可选
有助于代码水平的研究提升

缺点：

撰写步骤过于复杂
文件组织整理过于复杂

Evernote
优点：

跨平台（限制级）
发展迅猛，口碑不错
信息录入方式非常完美（包括本地客户端、浏览器插件、手机客户端、Web等形式）
自带同步模式
UI（可惜新版的UI非常难看）

缺点：

没有附件形式（免费用户。如果足够强大，此条作废）
无法创建子目录（重点话题！）
无法创建内部链接
编辑器格式太过简单

说：
目前正在使用Google Docs，正在尝试MoinMoin，还未完全弃用WizKnowledge！
我 希望有一款能够很好地将信息的录入、筛选、分类、存放集一体的工具，它首先必须是能够促进我写作欲望的，并且能够跨平台。另外，它最好足够的安全，不易导 致信息的丢失。从这几天的MoinMoin的试用情况来看，用Wiki来进行个人知识管理太过于笨 重，CyberArticles/WizKnowledge 虽然功能异常强大，但由于是个人作品，背景不够深厚，发展空间不大，从扩展性、跨平台等来看都是缺陷。目前只有Google Docs了，配合Dropbox同步一些文件基本可以做到日常的知识管理。我期待HTML5的发展能够使Google Docs的离线模式更加完善，另外希望有牛人能够利用Google 开放的API写出更棒的Docs的本地化客户端、浏览器插件等。&lt;img src=&quot;http://www1.feedsky.com/t1/364263014/zccpop/feedsky/s.gif?r=http://www.orzcc.com/?p=641191&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/zccpop/364263014/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/zccpop/364263014/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>km</category><category>我是程序员</category><category>tools</category><pubDate>Tue, 09 Feb 2010 21:17:36 +0800</pubDate><author>zcc</author><comments>http://www.orzcc.com/?p=641191#comments</comments><guid isPermaLink="false">http://www.orzcc.com/?p=641191</guid><dc:creator>zcc</dc:creator><fs:srclink>http://www.orzcc.com/?p=641191</fs:srclink><fs:srcfeed>http://www.orzcc.com/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/zccpop/~6974558/364263014/5082186</fs:itemid></item><item><title>笔记：卓有成效的程序员[上]</title><link>http://www.orzcc.com/?p=641185</link><content:encoded>&lt;p&gt;（The Productive Programmer&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;——Neal Ford&lt;/span&gt;）&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;第1章 概述&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;其实问题的关键在于，那些对于普通用户而言能提高其生产率的东西（比如漂亮的图形界面、鼠标、下拉菜单等），对于其他一些人（程序开发者们）来说却是他们获得计算机最佳性能的障碍。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;本书通过创造模式来描述一些东西，从而为这些事物命名：一旦一件东西有了名字，当再次看到它时就会更容易认出来。本书的其中一个目标是定义一系列的生产率法则，来帮助你更好地定义自己的提高生产率的技术。就像所有的模式一样，在有了名字之后，就能更简单地识别出来。同样，知道为什么一些东西会让你更加高效，会帮助你更快地识别出其他一些能使你工作得更有效率的东西。&lt;br /&gt;
&lt;span style=&quot;color: #0000ff;&quot;&gt;（模式的作用）&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;第2章 加速法则&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;科幻小说作者道格拉斯·亚当斯有句名言：“我们真正需要的只是已经能工作的东西，但我们能得到的却只是技术。”&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;一个应用程序列表的有用程度与它的长度成反比。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;&lt;strong&gt;&lt;span id=&quot;more-641185&quot;&gt;&lt;/span&gt;启动面板&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;加载器（Launcher）是一类应用程序，允许你输入应用程序（或文档）名称的第一部分来加载它。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;&lt;/p&gt;
&lt;li&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&lt;strong&gt;&lt;em&gt;Launchy&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Enso&lt;/li&gt;
&lt;li&gt;Windows 7自带的搜索/运行&lt;/li&gt;
&lt;p&gt;&lt;/span&gt;&lt;/ul&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;Windows-&amp;lt;数字&amp;gt;：启动相应的快速启动项&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;strong&gt;加速器&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;&lt;strong&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;首选键盘而非鼠标！&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;开发人员实质上是特殊的数据录入职员。我们输入计算机的数据不是来自外界资源，而是来自我们的大脑。但是数据录入操作员的教训仍能使我们产生共鸣。根据他们所输入的信息量来收费的数据录入工人知道，使用鼠标会以数量级程度降低他们的速度。开发人员可以从中学到重要的一课。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;遗憾的是，VI的学习曲线太陡峭，大概需要两年坚持使用VI才能达到这种程度——就算已经用了一年又364天，你还是会有遇到难题的时候。&lt;br /&gt;
Emacs是一个原始的IDE：通过插件结构，它可以做的远不止是编辑文件。VI用户轻蔑地将Emacs称为：“一个只有有限文本编辑能力的伟大的操作系统”。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;VI和Emacs都支持一个非常重要的加速器：永远不要将你的双手从字符按键上移开。即使是下移到键盘上的箭头按键都会使你慢下来，因为你必须再次回到主排键来输入字符。真正有用的编辑器会使你的手保持在最佳位置，同时进行输入和导航。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;Windows资源管理器的地址栏也提供Tab文件名补全&lt;br /&gt;
Alt-D：切换到地址栏&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;&lt;strong&gt;多重剪贴板：成批复制粘贴要比反复多次复制粘贴快&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&lt;strong&gt;环境切换会消耗时间！&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;剪贴板增强软件综述：CLCL，ClipX，Ditto等：&lt;a href=&quot;http://xbeta.info/clipx-clcl-ditto.htm&quot;&gt;http://xbeta.info/clipx-clcl-ditto.htm&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;&lt;strong&gt;开发加速器&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;测验一下：什么是屏幕上最大的可点击目标？答案是：正位于你光标下的那个目标，这就是为什么右键菜单中应当放置最重要的内容。从执行点击的角度来说，你鼠标下的目标对象实际上是无穷大的。第二个问题：什么是第二大的目标？是屏幕的边缘，因为你可以用最快速度把鼠标甩到边缘，却不会越过它。这说明真正重要的内容应该放到屏幕的边缘。这些结论来自于Fitt定律：“需要移动的距离”和“目标的大小”共同决定了用鼠标点击一个目标的容易程度。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;&lt;strong&gt;在上下文中学习IDE快捷键，而不要去背长长地列表。&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;&lt;strong&gt;当你第二次输入一个复杂结构时，将它做成模板。&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;&lt;strong&gt;宏&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;如果要对多行文本做同样的操作，就应该找出其中的模式，并把它记录为一个宏。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;在一段文本上执行某个特定操作的次数越多，就越有可能会再次重复它。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;不要总是重复输入相同的命令。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;AutoHotKey：键盘宏工具&lt;br /&gt;
小众的AHK专题：&lt;a href=&quot;http://www.appinn.com/category/autohotkey/&quot;&gt;http://www.appinn.com/category/autohotkey/&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;每天花一点点时间来使每一天都更高效。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;一切的要点都在于寻找一种平衡：一方面需要花时间去学习，另一方面这些学习会让你变得更高效。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;strong&gt;第3章 专注法则&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;Windows 有时就像一个被惯坏的3岁小孩，一直大喊大叫着想要引起你的注意。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;不要文件树，要搜索。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;不远的将来：按属性搜索&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;在诉诸高级搜索之前，先尝试简单的搜索。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;有根视图把资源管理器变成了项目管理工具。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;适用于普通的资源管理器的参数：explorer /e,/root,c:\work\dir&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;虚拟桌面可以让原本杂乱无章的一大堆窗口变得整洁。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;strong&gt;第4章 自动化法则&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;计算机原本就该从事简单重复的工作。只要把任务指派给它们，它们就可以一遍又一遍毫不走样地重复执行，而且速度很快。但我却经常看见一种奇怪的现象：人们在计算机上手工做一些简单重复的工作，计算机则在大半夜扎堆闲聊取笑这些可怜的用户。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;软件开发中有很多显而易见的东西需要自动化：构建、持续集成和文档。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;cURL能用各种协议与加密的网站交互。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;Pipes能用来组合、过滤和处理RSS信息，用于创建网页或是新的RSS源。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;即便不是工具最初的设计意图，只要是合适的场合，同样可以使用这些工具。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;Ant内建对批量文件的支持。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;用Rake执行常见任务，配合Ruby驱动底层操作系统。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;Selenium用来Web测试的浏览器。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;手工执行简单重复的任务会让你变傻，会消耗你的注意力，而注意力是最重要的生产率之源。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;写bash脚本的两条原因：&lt;br /&gt;
第一，既然你已经做了一次，那么几乎可以肯定以后你还会做同样的事。&lt;br /&gt;
第二，把一切有用的命令都保存在脚本中，就等于给你做的事情（甚至还可能包括为什么要做这些事）创建了一份活的文档。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;是否应该自动化的关键在于投资回报率和缓解风险。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;当你打算把某个任务自动化时，项目经理可能会担心你的工作失控。我们都有过这样的经验：原本以为只要两个小时就能搞定的事，最终用了4天才能做完。要控制这种风险，最好的办法就是“时间盒”（timebox）：首先定好一段时间来探索和了解情况，时间一到就客观地评估是否值得去做这件事。使用时间盒是为了掌握更多信息，以便作出切合实际的决策。时间盒到期以后，如果掌握的信息不够，你也可以再增加一个时间盒，以便找出更多信息。我知道，巧妙地自动化脚本比那些无聊的项目工作更让你感兴趣，但还是现实点吧，你的老板一定比较喜欢脚踏实地的工作量估计。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;研究性的工作应该放在时间盒里做。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;剪牦牛毛是件危险地事，因为它会吃掉你大把的时间。这也能解释为什么任务工作量估算常常出现偏差：剪光一头牦牛的毛需要多少时间？始终牢记你到底要做什么，如果情况开始失控就及时抽身而出。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;strong&gt;第5章 规范性法则&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;你、Bob，还有你所有的同事们正遭受折磨，因为你们使用了某个重要东西的多个版本，事实证明这样的东西一定会失去同步。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;规范表示（canonical  representation）指的是不损失信息的前提下最简单的表达形式。规范性（canonicality）指的是消除重复。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;Don&amp;#8217;t Repeat yourself，DRY&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;作为一种显而易见的规范性的应用，版本控制在绝大多数开发企业中已经成为常态。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;我倾向于优先选择不会锁住文件的版本控制系统。如果有不止一个开发者作了改动它会合并文件内容（这叫做乐观修订）。这是一个很好的例子：工具应该鼓励好的行为。惩罚坏的行为。尽早、尽可能频繁地提交文件到版本控制中鼓励你进行小步改动。如果进行了长时间的改动你就会面临合并冲突的问题，认识到这一点将鼓励你越发经常地提交，这种工具产生了一种有用的张力，以微妙但有益的方式改变了你的工作方式。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;尽管版本控制系统的使用相当普遍，但通常并没有用到它全部的潜能。版本控制能够让你的项目攻坚尽可能地DRY。构建你的项目所需要的任何东西都应该进入版本控制，包括二进制文件（库、框架、JAR文件、构建脚本等）。唯一不应该在版本控制系统中的是因为路径、IP地址等原因而特定于开发者及其的配置文件。即使在这种情形下，也只有特定开发者机器的信息应该保存在本地文件中。构建工具（像Ant和Nant）允许你把特定的信息抽取到构建脚本之外，从而隔离变化。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;对于任何你不自己去构建的东西，只在版本控制中保存一份。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;每个开发组织都需要的另外一种实践是持续集成。持续集成是一个过程，在这个过程中尼定期编译整个项目，运行测试，生成文档，以及执行其他一切构建软件所需要的活动。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;使用间接机制创建友善的工作空间（workspace）。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;针对Windows 2000 和 XP 用户的 junction：是一个命令行工具，允许你创建和删除硬链接。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;通过复制粘贴来复用是邪恶的，不论你复制粘贴的是什么。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;你有过打电话交谈时有恼人的回声的体验吗？这就是阻抗失配（impedance  mismatch），是由信号无法精确同步引起的。阻抗失配是由电子工程领域渗透到软件时间的一个词汇，因为它描述了我们的一些问题。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;在软件开发中，阻抗失配是导致违反DRY原则的常见原因之一。阻抗失配发生在两种抽象风格的边界处：从基于集合到基于对象，或从过程式到面向对象。因为你试图融合两种抽象风格，在边界处就出现了重复。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;不要让对象-关系映射工具（O/R映射器）违反规范原则。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;这个问题的解决方案是创建唯一表示，并以它为基准声场另外两种。第一步，我们需要决定谁是这些向南喜的“正式”持有者。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;永远不要手动编辑一个自动生成的文件，因为在你下次执行构建的时候它会被重新生成。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;通过扩展开放类或者部分类来为生成的代码增加行为。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;过时的文档比没有文档更糟，因为它会主动误导你。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;文档总是管理者和开发者之间的战场：管理者想要更多，而开发者想给更少。它也是对付信息重复的战场。开发者应该能够积极主动地修改代码，改进它的结构，使它能够逐渐演化改进。如果所有的代码都必须有文档记录，那么文档也必须同时演化。但绝大多数时候，代码和文档会失去同步，因为进度的压力，没有动力，以及其他原因。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;对管理者来说，文档意味着缓解风险。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;阻止文档过时的最好方法是尽可能自动生成它。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;始终保持“活”的文档。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;重复是软件开发中最大的阻力！&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&amp;gt;&amp;gt;精选软件资源站&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt;善用佳软    ：&lt;a href=&quot;http://xbeta.info/&quot;&gt;http://xbeta.info&lt;/a&gt;&lt;br /&gt;
小众软件    ：&lt;a href=&quot;http://www.appinn.com/&quot;&gt;http://www.appinn.com&lt;/a&gt;&lt;br /&gt;
SF             ：&lt;a href=&quot;https://sourceforge.net/&quot;&gt;https://sourceforge.net&lt;/a&gt;&lt;br /&gt;
绿盟          ：&lt;a href=&quot;http://www.xdowns.com/&quot;&gt;http://www.xdowns.com&lt;/a&gt;&lt;br /&gt;
汉化新世纪：&lt;a href=&quot;http://www.hanzify.org/&quot;&gt;http://www.hanzify.org&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/364263015/zccpop/feedsky/s.gif?r=http://www.orzcc.com/?p=641185&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/zccpop/364263015/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/zccpop/364263015/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.orzcc.com/?feed=rss2&amp;p=641185</wfw:commentRss><slash:comments>0</slash:comments><description>（The Productive Programmer——Neal Ford）
 
第1章 概述
其实问题的关键在于，那些对于普通用户而言能提高其生产率的东西（比如漂亮的图形界面、鼠标、下拉菜单等），对于其他一些人（程序开发者们）来说却是他们获得计算机最佳性能的障碍。
本书通过创造模式来描述一些东西，从而为这些事物命名：一旦一件东西有了名字，当再次看到它时就会更容易认出来。本书的其中一个目标是定义一系列的生产率法则，来帮助你更好地定义自己的提高生产率的技术。就像所有的模式一样，在有了名字之后，就能更简单地识别出来。同样，知道为什么一些东西会让你更加高效，会帮助你更快地识别出其他一些能使你工作得更有效率的东西。
（模式的作用）
第2章 加速法则
科幻小说作者道格拉斯·亚当斯有句名言：“我们真正需要的只是已经能工作的东西，但我们能得到的却只是技术。”
一个应用程序列表的有用程度与它的长度成反比。
启动面板
加载器（Launcher）是一类应用程序，允许你输入应用程序（或文档）名称的第一部分来加载它。

Launchy
Enso
Windows 7自带的搜索/运行

Windows-&amp;#60;数字&amp;#62;：启动相应的快速启动项
加速器
首选键盘而非鼠标！
开发人员实质上是特殊的数据录入职员。我们输入计算机的数据不是来自外界资源，而是来自我们的大脑。但是数据录入操作员的教训仍能使我们产生共鸣。根据他们所输入的信息量来收费的数据录入工人知道，使用鼠标会以数量级程度降低他们的速度。开发人员可以从中学到重要的一课。
遗憾的是，VI的学习曲线太陡峭，大概需要两年坚持使用VI才能达到这种程度——就算已经用了一年又364天，你还是会有遇到难题的时候。
Emacs是一个原始的IDE：通过插件结构，它可以做的远不止是编辑文件。VI用户轻蔑地将Emacs称为：“一个只有有限文本编辑能力的伟大的操作系统”。
VI和Emacs都支持一个非常重要的加速器：永远不要将你的双手从字符按键上移开。即使是下移到键盘上的箭头按键都会使你慢下来，因为你必须再次回到主排键来输入字符。真正有用的编辑器会使你的手保持在最佳位置，同时进行输入和导航。
Windows资源管理器的地址栏也提供Tab文件名补全
Alt-D：切换到地址栏
多重剪贴板：成批复制粘贴要比反复多次复制粘贴快
环境切换会消耗时间！
剪贴板增强软件综述：CLCL，ClipX，Ditto等：http://xbeta.info/clipx-clcl-ditto.htm
开发加速器
测验一下：什么是屏幕上最大的可点击目标？答案是：正位于你光标下的那个目标，这就是为什么右键菜单中应当放置最重要的内容。从执行点击的角度来说，你鼠标下的目标对象实际上是无穷大的。第二个问题：什么是第二大的目标？是屏幕的边缘，因为你可以用最快速度把鼠标甩到边缘，却不会越过它。这说明真正重要的内容应该放到屏幕的边缘。这些结论来自于Fitt定律：“需要移动的距离”和“目标的大小”共同决定了用鼠标点击一个目标的容易程度。
在上下文中学习IDE快捷键，而不要去背长长地列表。
当你第二次输入一个复杂结构时，将它做成模板。
宏
如果要对多行文本做同样的操作，就应该找出其中的模式，并把它记录为一个宏。
在一段文本上执行某个特定操作的次数越多，就越有可能会再次重复它。
不要总是重复输入相同的命令。
AutoHotKey：键盘宏工具
小众的AHK专题：http://www.appinn.com/category/autohotkey/
每天花一点点时间来使每一天都更高效。
一切的要点都在于寻找一种平衡：一方面需要花时间去学习，另一方面这些学习会让你变得更高效。
第3章 专注法则
Windows 有时就像一个被惯坏的3岁小孩，一直大喊大叫着想要引起你的注意。
不要文件树，要搜索。
不远的将来：按属性搜索
在诉诸高级搜索之前，先尝试简单的搜索。
有根视图把资源管理器变成了项目管理工具。
适用于普通的资源管理器的参数：explorer /e,/root,c:\work\dir
虚拟桌面可以让原本杂乱无章的一大堆窗口变得整洁。
第4章 自动化法则
计算机原本就该从事简单重复的工作。只要把任务指派给它们，它们就可以一遍又一遍毫不走样地重复执行，而且速度很快。但我却经常看见一种奇怪的现象：人们在计算机上手工做一些简单重复的工作，计算机则在大半夜扎堆闲聊取笑这些可怜的用户。
软件开发中有很多显而易见的东西需要自动化：构建、持续集成和文档。
cURL能用各种协议与加密的网站交互。
Pipes能用来组合、过滤和处理RSS信息，用于创建网页或是新的RSS源。
即便不是工具最初的设计意图，只要是合适的场合，同样可以使用这些工具。
Ant内建对批量文件的支持。
用Rake执行常见任务，配合Ruby驱动底层操作系统。
Selenium用来Web测试的浏览器。
手工执行简单重复的任务会让你变傻，会消耗你的注意力，而注意力是最重要的生产率之源。
写bash脚本的两条原因：
第一，既然你已经做了一次，那么几乎可以肯定以后你还会做同样的事。
第二，把一切有用的命令都保存在脚本中，就等于给你做的事情（甚至还可能包括为什么要做这些事）创建了一份活的文档。
是否应该自动化的关键在于投资回报率和缓解风险。
当你打算把某个任务自动化时，项目经理可能会担心你的工作失控。我们都有过这样的经验：原本以为只要两个小时就能搞定的事，最终用了4天才能做完。要控制这种风险，最好的办法就是“时间盒”（timebox）：首先定好一段时间来探索和了解情况，时间一到就客观地评估是否值得去做这件事。使用时间盒是为了掌握更多信息，以便作出切合实际的决策。时间盒到期以后，如果掌握的信息不够，你也可以再增加一个时间盒，以便找出更多信息。我知道，巧妙地自动化脚本比那些无聊的项目工作更让你感兴趣，但还是现实点吧，你的老板一定比较喜欢脚踏实地的工作量估计。
研究性的工作应该放在时间盒里做。
剪牦牛毛是件危险地事，因为它会吃掉你大把的时间。这也能解释为什么任务工作量估算常常出现偏差：剪光一头牦牛的毛需要多少时间？始终牢记你到底要做什么，如果情况开始失控就及时抽身而出。
第5章 规范性法则
你、Bob，还有你所有的同事们正遭受折磨，因为你们使用了某个重要东西的多个版本，事实证明这样的东西一定会失去同步。
规范表示（canonical  representation）指的是不损失信息的前提下最简单的表达形式。规范性（canonicality）指的是消除重复。
Don&amp;#8217;t Repeat yourself，DRY
作为一种显而易见的规范性的应用，版本控制在绝大多数开发企业中已经成为常态。
我倾向于优先选择不会锁住文件的版本控制系统。如果有不止一个开发者作了改动它会合并文件内容（这叫做乐观修订）。这是一个很好的例子：工具应该鼓励好的行为。惩罚坏的行为。尽早、尽可能频繁地提交文件到版本控制中鼓励你进行小步改动。如果进行了长时间的改动你就会面临合并冲突的问题，认识到这一点将鼓励你越发经常地提交，这种工具产生了一种有用的张力，以微妙但有益的方式改变了你的工作方式。
尽管版本控制系统的使用相当普遍，但通常并没有用到它全部的潜能。版本控制能够让你的项目攻坚尽可能地DRY。构建你的项目所需要的任何东西都应该进入版本控制，包括二进制文件（库、框架、JAR文件、构建脚本等）。唯一不应该在版本控制系统中的是因为路径、IP地址等原因而特定于开发者及其的配置文件。即使在这种情形下，也只有特定开发者机器的信息应该保存在本地文件中。构建工具（像Ant和Nant）允许你把特定的信息抽取到构建脚本之外，从而隔离变化。
对于任何你不自己去构建的东西，只在版本控制中保存一份。
每个开发组织都需要的另外一种实践是持续集成。持续集成是一个过程，在这个过程中尼定期编译整个项目，运行测试，生成文档，以及执行其他一切构建软件所需要的活动。
使用间接机制创建友善的工作空间（workspace）。
针对Windows 2000 和 XP 用户的 junction：是一个命令行工具，允许你创建和删除硬链接。
通过复制粘贴来复用是邪恶的，不论你复制粘贴的是什么。
你有过打电话交谈时有恼人的回声的体验吗？这就是阻抗失配（impedance  mismatch），是由信号无法精确同步引起的。阻抗失配是由电子工程领域渗透到软件时间的一个词汇，因为它描述了我们的一些问题。
在软件开发中，阻抗失配是导致违反DRY原则的常见原因之一。阻抗失配发生在两种抽象风格的边界处：从基于集合到基于对象，或从过程式到面向对象。因为你试图融合两种抽象风格，在边界处就出现了重复。
不要让对象-关系映射工具（O/R映射器）违反规范原则。
这个问题的解决方案是创建唯一表示，并以它为基准声场另外两种。第一步，我们需要决定谁是这些向南喜的“正式”持有者。
永远不要手动编辑一个自动生成的文件，因为在你下次执行构建的时候它会被重新生成。
通过扩展开放类或者部分类来为生成的代码增加行为。
过时的文档比没有文档更糟，因为它会主动误导你。
文档总是管理者和开发者之间的战场：管理者想要更多，而开发者想给更少。它也是对付信息重复的战场。开发者应该能够积极主动地修改代码，改进它的结构，使它能够逐渐演化改进。如果所有的代码都必须有文档记录，那么文档也必须同时演化。但绝大多数时候，代码和文档会失去同步，因为进度的压力，没有动力，以及其他原因。
对管理者来说，文档意味着缓解风险。
阻止文档过时的最好方法是尽可能自动生成它。
始终保持“活”的文档。
重复是软件开发中最大的阻力！
 
&amp;#62;&amp;#62;精选软件资源站
善用佳软    ：http://xbeta.info
小众软件    ：http://www.appinn.com
SF             ：https://sourceforge.net
绿盟          ：http://www.xdowns.com
汉化新世纪：http://www.hanzify.org&lt;img src=&quot;http://www1.feedsky.com/t1/364263015/zccpop/feedsky/s.gif?r=http://www.orzcc.com/?p=641185&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/zccpop/364263015/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/zccpop/364263015/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>我是程序员</category><category>tools</category><pubDate>Tue, 12 Jan 2010 21:18:48 +0800</pubDate><author>zcc</author><comments>http://www.orzcc.com/?p=641185#comments</comments><guid isPermaLink="false">http://www.orzcc.com/?p=641185</guid><dc:creator>zcc</dc:creator><fs:srclink>http://www.orzcc.com/?p=641185</fs:srclink><fs:srcfeed>http://www.orzcc.com/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/zccpop/~6974558/364263015/5082186</fs:itemid></item><item><title>我的2009</title><link>http://www.orzcc.com/?p=641179</link><content:encoded>&lt;p&gt;作总结时，我一如既往地不给自己或者别人打一个好看的分数。性格造成的也罢，习惯也罢，但我的2009也算是一个不平凡的一年。就如大多数临近毕业的同学们一样，这一年来我们开始关注生计，开始经历一个既兴奋又让人担忧的断奶期。&lt;/p&gt;
&lt;p&gt;从起初上半年的阿里种树项目，认识了不少如今还十分要好的朋友，也第一次接触企业环境下的工作模式。虽然只是一个校内的模拟实训，但几个月下来也搞得有声有色。年中，第一次经历面试，经历残酷的竞争。很多之前看起来可以自欺欺人的缺点在此刻暴露得如此绚烂。很多人开始反省，开始琢磨如何在接下来的竞争中胜出。就像婴儿时期的哭泣会讨喜，也会被认为理所当然；但长大的那刻，不适时机的哭泣却是无可争议的耻辱。最后十分幸运地能够进入阿里实习，十分感谢给过我机会的阿里，感谢并肩经历实训的朋友们！&lt;/p&gt;
&lt;p&gt;七月，开始在B2B的实习，从刚开始为期1个月的擎天柱训练营、国际站的QA轮岗实习，到最后时间不长的中文站；从创业大厦到滨江新园区；从一个蜗居成性的小和山人渐渐成为沾染了阿里风的奋斗小青年。说实在的，这3个多月的确经历得足够丰富。非常可惜，最后实力不济也罢，表现不佳也罢，随着该离去的和不该离去的孩子们，阿里的实习生活也就此打住。&lt;/p&gt;
&lt;p&gt;痛快地在下沙和老友们疯玩了两天，又灰心丧气地回到老根据地小和山，继续过着蜗居的生活，同时也开始Finding a job。在混迹了一个多月后，又跟着某位大师做了两个礼拜的创业型项目，最后来到了现在的归宿——PW。新工作刚开始半个月，新同事也刚刚开始熟悉，新的氛围也刚刚开始适应。期待那些成长中的欣喜和感叹在2010年的希望中绽放。&lt;/p&gt;
&lt;p&gt;生活不像电影，它不会向你隐藏那些蹩脚的道具，那些不该出现的丑陋的画面，那些演员私底下的抱怨，那些梦想背后的现实。你可能在向朋友叙述时，擅自赋予那些带着个人情感的修饰，本能地过滤掉某些情节，也许还会参杂着主观性的希冀。但即便是自欺欺人，生活在向你叙述的时候，还是会远远超出你的预期，让你在每个断奶期总是手足无措。&lt;/p&gt;
&lt;p&gt;另外，迈入2010之际，我依旧单身！我没能像小贝这么幸福能够在雨天遇到一个绽放如白莲花的可爱姑娘，当然也没有机会让这该死的情人和命运来背叛。2009，我在情感上一贫如洗！咀嚼着那些干瘪的精神粮食，再梦幻再艺术的电影都只是影像，一如夜里的梦，早上醒来，一无所有。&lt;/p&gt;
&lt;p&gt;新年新气象，2010年，我想给zcc一个自由的发挥空间。我依旧坚信不给自己设定太过细致的目标，不给自己太多牵绊的理由。不过以下的这几点，也算是烧香敬神，权当礼数上的应酬：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;尽可能地在该思考的时候思考，而不是纯粹地让自己多看多少书&lt;/li&gt;
&lt;li&gt;尽可能地在不该敷衍的时候敷衍，而不是一如既往的无所谓&lt;/li&gt;
&lt;li&gt;尽可能地在做选择的时候坚决一些&lt;/li&gt;
&lt;li&gt;尽可能地经历一段疑似爱情的爱情&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;午夜时分，祝亲们、友们永生！2010，我来了！&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/364263016/zccpop/feedsky/s.gif?r=http://www.orzcc.com/?p=641179&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/zccpop/364263016/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/zccpop/364263016/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.orzcc.com/?feed=rss2&amp;p=641179</wfw:commentRss><slash:comments>2</slash:comments><description>作总结时，我一如既往地不给自己或者别人打一个好看的分数。性格造成的也罢，习惯也罢，但我的2009也算是一个不平凡的一年。就如大多数临近毕业的同学们一样，这一年来我们开始关注生计，开始经历一个既兴奋又让人担忧的断奶期。
从起初上半年的阿里种树项目，认识了不少如今还十分要好的朋友，也第一次接触企业环境下的工作模式。虽然只是一个校内的模拟实训，但几个月下来也搞得有声有色。年中，第一次经历面试，经历残酷的竞争。很多之前看起来可以自欺欺人的缺点在此刻暴露得如此绚烂。很多人开始反省，开始琢磨如何在接下来的竞争中胜出。就像婴儿时期的哭泣会讨喜，也会被认为理所当然；但长大的那刻，不适时机的哭泣却是无可争议的耻辱。最后十分幸运地能够进入阿里实习，十分感谢给过我机会的阿里，感谢并肩经历实训的朋友们！
七月，开始在B2B的实习，从刚开始为期1个月的擎天柱训练营、国际站的QA轮岗实习，到最后时间不长的中文站；从创业大厦到滨江新园区；从一个蜗居成性的小和山人渐渐成为沾染了阿里风的奋斗小青年。说实在的，这3个多月的确经历得足够丰富。非常可惜，最后实力不济也罢，表现不佳也罢，随着该离去的和不该离去的孩子们，阿里的实习生活也就此打住。
痛快地在下沙和老友们疯玩了两天，又灰心丧气地回到老根据地小和山，继续过着蜗居的生活，同时也开始Finding a job。在混迹了一个多月后，又跟着某位大师做了两个礼拜的创业型项目，最后来到了现在的归宿——PW。新工作刚开始半个月，新同事也刚刚开始熟悉，新的氛围也刚刚开始适应。期待那些成长中的欣喜和感叹在2010年的希望中绽放。
生活不像电影，它不会向你隐藏那些蹩脚的道具，那些不该出现的丑陋的画面，那些演员私底下的抱怨，那些梦想背后的现实。你可能在向朋友叙述时，擅自赋予那些带着个人情感的修饰，本能地过滤掉某些情节，也许还会参杂着主观性的希冀。但即便是自欺欺人，生活在向你叙述的时候，还是会远远超出你的预期，让你在每个断奶期总是手足无措。
另外，迈入2010之际，我依旧单身！我没能像小贝这么幸福能够在雨天遇到一个绽放如白莲花的可爱姑娘，当然也没有机会让这该死的情人和命运来背叛。2009，我在情感上一贫如洗！咀嚼着那些干瘪的精神粮食，再梦幻再艺术的电影都只是影像，一如夜里的梦，早上醒来，一无所有。
新年新气象，2010年，我想给zcc一个自由的发挥空间。我依旧坚信不给自己设定太过细致的目标，不给自己太多牵绊的理由。不过以下的这几点，也算是烧香敬神，权当礼数上的应酬：

尽可能地在该思考的时候思考，而不是纯粹地让自己多看多少书
尽可能地在不该敷衍的时候敷衍，而不是一如既往的无所谓
尽可能地在做选择的时候坚决一些
尽可能地经历一段疑似爱情的爱情

午夜时分，祝亲们、友们永生！2010，我来了！&lt;img src=&quot;http://www1.feedsky.com/t1/364263016/zccpop/feedsky/s.gif?r=http://www.orzcc.com/?p=641179&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/zccpop/364263016/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/zccpop/364263016/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>我爱发牢骚</category><category>zcc</category><pubDate>Sat, 02 Jan 2010 00:24:18 +0800</pubDate><author>zcc</author><comments>http://www.orzcc.com/?p=641179#comments</comments><guid isPermaLink="false">http://www.orzcc.com/?p=641179</guid><dc:creator>zcc</dc:creator><fs:srclink>http://www.orzcc.com/?p=641179</fs:srclink><fs:srcfeed>http://www.orzcc.com/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/zccpop/~6974558/364263016/5082186</fs:itemid></item><item><title>Blog已迁移…</title><link>http://www.orzcc.com/?p=641172</link><content:encoded>&lt;p&gt;这次就不清空历史日志了，但不随人愿，链接部分丢失。就麻烦已经交换链接的朋友知会一声，我好补上您的Blog链接，谢谢！&lt;/p&gt;
&lt;p&gt;还有其他新的达人朋友们交换链接吗？请回复此日志，谢谢！&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/364263017/zccpop/feedsky/s.gif?r=http://www.orzcc.com/?p=641172&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/zccpop/364263017/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/zccpop/364263017/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.orzcc.com/?feed=rss2&amp;p=641172</wfw:commentRss><slash:comments>5</slash:comments><description>这次就不清空历史日志了，但不随人愿，链接部分丢失。就麻烦已经交换链接的朋友知会一声，我好补上您的Blog链接，谢谢！
还有其他新的达人朋友们交换链接吗？请回复此日志，谢谢！&lt;img src=&quot;http://www1.feedsky.com/t1/364263017/zccpop/feedsky/s.gif?r=http://www.orzcc.com/?p=641172&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/zccpop/364263017/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/zccpop/364263017/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>我爱发牢骚</category><pubDate>Sun, 27 Dec 2009 14:46:55 +0800</pubDate><author>zcc</author><comments>http://www.orzcc.com/?p=641172#comments</comments><guid isPermaLink="false">http://www.orzcc.com/?p=641172</guid><dc:creator>zcc</dc:creator><fs:srclink>http://www.orzcc.com/?p=641172</fs:srclink><fs:srcfeed>http://www.orzcc.com/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/zccpop/~6974558/364263017/5082186</fs:itemid></item><item><title>物流是否能够外包？</title><link>http://www.orzcc.com/?p=641124</link><content:encoded>&lt;p&gt;最近频频传出马云秘密投资建立物流公司的&lt;a href=&quot;http://www.yunkeji.com/?p=5525&quot; target=&quot;_blank&quot;&gt;消息&lt;/a&gt;，鉴于这在某个角度上看契合了我此前的&lt;a href=&quot;http://www.orzcc.com/?p=639151&quot; target=&quot;_blank&quot;&gt;胡言乱语&lt;/a&gt;，我再谈谈关于电子商务平台角色转变上的看法。&lt;/p&gt;
&lt;p&gt;首先说说大平台的范围，电子商务平台作为纯服务类角色，能够直接面对用户的除了线上运营的网站、客服，就属线下默默服务的物流了。而物流也恰恰是电子商务中唯一一个真正在现实中接触客户的。在这个青黄交接，线上信誉还比不上线下的时候，物流怎能不提上日程。再者，电子商务作为颠覆性革命性的存在最为核心的原因就是它的成本。货柜场所的成本、进货渠道的成本、人力成本、耗材成本等等。另外，顾客的人力成本转嫁给了公司的物流。所以，不管从哪个角度看，电子商务的完善就是公司自己来消化物流的耗损，将物流所产生的费用计算在销售成本之中。而这样看来，电子商务中的物流既需要高质量的服务，也无法产生合理理由的额外利润，这样看来它还有作为独立机构存在的理由了吗？&lt;/p&gt;
&lt;p&gt;在目前看来，淘宝似乎是一家不可打败的电子商务公司。未来十年的业界基本就是淘宝（B2C和C2C）和垂直类（B2C）平台组成。淘宝所扮演的大平台角色将会使淘宝的重心越来越往下移。平台的基础设施，标准的制定，提供完善的API等等。也许部分的垂直类平台也将会不可避免地使用淘宝大平台提供的API或者遵守淘宝大平台的标准。大平台只要做好大平台本身应该做的职责，让第三方去扮演导购、广告交易等角色。物流、客服、网站即是大平台的根基，而作为建立在大平台之上的中小商家们，转变成了异常“轻”的轻公司。沉重的包袱必定需要某一方去承担，而大平台必须将其揽入。&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/364263018/zccpop/feedsky/s.gif?r=http://www.orzcc.com/?p=641124&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/zccpop/364263018/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/zccpop/364263018/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.orzcc.com/?feed=rss2&amp;p=641124</wfw:commentRss><slash:comments>0</slash:comments><description>最近频频传出马云秘密投资建立物流公司的消息，鉴于这在某个角度上看契合了我此前的胡言乱语，我再谈谈关于电子商务平台角色转变上的看法。
首先说说大平台的范围，电子商务平台作为纯服务类角色，能够直接面对用户的除了线上运营的网站、客服，就属线下默默服务的物流了。而物流也恰恰是电子商务中唯一一个真正在现实中接触客户的。在这个青黄交接，线上信誉还比不上线下的时候，物流怎能不提上日程。再者，电子商务作为颠覆性革命性的存在最为核心的原因就是它的成本。货柜场所的成本、进货渠道的成本、人力成本、耗材成本等等。另外，顾客的人力成本转嫁给了公司的物流。所以，不管从哪个角度看，电子商务的完善就是公司自己来消化物流的耗损，将物流所产生的费用计算在销售成本之中。而这样看来，电子商务中的物流既需要高质量的服务，也无法产生合理理由的额外利润，这样看来它还有作为独立机构存在的理由了吗？
在目前看来，淘宝似乎是一家不可打败的电子商务公司。未来十年的业界基本就是淘宝（B2C和C2C）和垂直类（B2C）平台组成。淘宝所扮演的大平台角色将会使淘宝的重心越来越往下移。平台的基础设施，标准的制定，提供完善的API等等。也许部分的垂直类平台也将会不可避免地使用淘宝大平台提供的API或者遵守淘宝大平台的标准。大平台只要做好大平台本身应该做的职责，让第三方去扮演导购、广告交易等角色。物流、客服、网站即是大平台的根基，而作为建立在大平台之上的中小商家们，转变成了异常“轻”的轻公司。沉重的包袱必定需要某一方去承担，而大平台必须将其揽入。&lt;img src=&quot;http://www1.feedsky.com/t1/364263018/zccpop/feedsky/s.gif?r=http://www.orzcc.com/?p=641124&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/zccpop/364263018/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/zccpop/364263018/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>电子商务</category><category>我爱互联网</category><pubDate>Sun, 20 Dec 2009 23:48:55 +0800</pubDate><author>zcc</author><comments>http://www.orzcc.com/?p=641124#comments</comments><guid isPermaLink="false">http://www.orzcc.com/?p=641124</guid><dc:creator>zcc</dc:creator><fs:srclink>http://www.orzcc.com/?p=641124</fs:srclink><fs:srcfeed>http://www.orzcc.com/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/zccpop/~6974558/364263018/5082186</fs:itemid></item><item><title>BBS和SNS</title><link>http://www.orzcc.com/?p=640859</link><content:encoded>&lt;p&gt;04年开始玩BBS，作为当时众多的小站站长中的一个，经常为BBS的人气而发愁。在一段时间的作坊式运营后逐渐发现了一些问题：&lt;br /&gt;
怎样使众多的会员或者非会员能有版主一样的积极性？&lt;br /&gt;
怎样使人人都成为“版主”?&lt;/p&gt;
&lt;p&gt;若干年后的今天，SNS基本算是击败了BBS模式。仔细看看常规SNS的架构，分析下它的各个模块（元素）和BBS的元素。其实SNS只是BBS的一种进化，一些模块的巧妙改变所带来的显著提升罢了。&lt;/p&gt;
&lt;p&gt;1. SNS最主要的改变既是个人主页的出现。其实它只是将BBS的控制面板（个人信息）元素突显化而已。但这个小小的改变就使所有用户都成了“版主”。&lt;br /&gt;
2. SNS还有其他形式各异的元素，比如状态、日志、照片、投票、分享、活动等。其实它们也只是BBS中主题帖前所加的分类的突显化。&lt;br /&gt;
3. 我认为SNS最为有用的革命性更新就是信息的订阅机制。你所关注的信息或是传递给你的信息都会以最显著的形式进行提示。&lt;/p&gt;
&lt;p&gt;BBS 到SNS的进化，就好像是从温饱到小康的改变。BBS的框架内，信息一股脑儿地放在一处，获取者只能手动筛选过滤；而在SNS这里，信息经过机器的过滤器 输出到不同管道（当然，这个过滤器设置在传输信息的前端），并且根据条件输出给目标对象。BBS到SNS的进化其实也是过滤机制的模型建立。而这个模型还 太过粗糙，有待改进。SNS继续革新（进化）的方向应该也是这个过滤器的进化。&lt;/p&gt;
&lt;p&gt;SNS不能做什么？&lt;br /&gt;
1. SNS不能设置可控的信息可见度。SNS只能设置个人主页的访问权限，只能设置信息要么所有可见，要么好友可见，要么所有不可见。它不能使可见性设定为特定范围。&lt;br /&gt;
2. SNS的推送信息服务不完整。你只能以短消息、留言、评论等形式将自己的信息推送给目标对象（只有一个）。你不能将日志、相册等主题式信息推送给目标对象（或者目标范围）。当然更不用说设置被推送的限制了。&lt;br /&gt;
3. SNS不能订阅指定的信息。订阅信息的更新提醒的优先级肯定不会太高，怎样做好消息提醒的优先级控制也是个问题。&lt;br /&gt;
4. &amp;#8230;&lt;/p&gt;
&lt;p&gt;SNS不能做的事还有很多？就上述几条而言，大多功能在Google Wave中已经实现了。SNS还会不断地进化，是进化成Google Wave形式，还是另辟路径，谁知道呢。&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/364263019/zccpop/feedsky/s.gif?r=http://www.orzcc.com/?p=640859&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/zccpop/364263019/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/zccpop/364263019/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.orzcc.com/?feed=rss2&amp;p=640859</wfw:commentRss><slash:comments>3</slash:comments><description>04年开始玩BBS，作为当时众多的小站站长中的一个，经常为BBS的人气而发愁。在一段时间的作坊式运营后逐渐发现了一些问题：
怎样使众多的会员或者非会员能有版主一样的积极性？
怎样使人人都成为“版主”?
若干年后的今天，SNS基本算是击败了BBS模式。仔细看看常规SNS的架构，分析下它的各个模块（元素）和BBS的元素。其实SNS只是BBS的一种进化，一些模块的巧妙改变所带来的显著提升罢了。
1. SNS最主要的改变既是个人主页的出现。其实它只是将BBS的控制面板（个人信息）元素突显化而已。但这个小小的改变就使所有用户都成了“版主”。
2. SNS还有其他形式各异的元素，比如状态、日志、照片、投票、分享、活动等。其实它们也只是BBS中主题帖前所加的分类的突显化。
3. 我认为SNS最为有用的革命性更新就是信息的订阅机制。你所关注的信息或是传递给你的信息都会以最显著的形式进行提示。
BBS 到SNS的进化，就好像是从温饱到小康的改变。BBS的框架内，信息一股脑儿地放在一处，获取者只能手动筛选过滤；而在SNS这里，信息经过机器的过滤器 输出到不同管道（当然，这个过滤器设置在传输信息的前端），并且根据条件输出给目标对象。BBS到SNS的进化其实也是过滤机制的模型建立。而这个模型还 太过粗糙，有待改进。SNS继续革新（进化）的方向应该也是这个过滤器的进化。
SNS不能做什么？
1. SNS不能设置可控的信息可见度。SNS只能设置个人主页的访问权限，只能设置信息要么所有可见，要么好友可见，要么所有不可见。它不能使可见性设定为特定范围。
2. SNS的推送信息服务不完整。你只能以短消息、留言、评论等形式将自己的信息推送给目标对象（只有一个）。你不能将日志、相册等主题式信息推送给目标对象（或者目标范围）。当然更不用说设置被推送的限制了。
3. SNS不能订阅指定的信息。订阅信息的更新提醒的优先级肯定不会太高，怎样做好消息提醒的优先级控制也是个问题。
4. &amp;#8230;
SNS不能做的事还有很多？就上述几条而言，大多功能在Google Wave中已经实现了。SNS还会不断地进化，是进化成Google Wave形式，还是另辟路径，谁知道呢。&lt;img src=&quot;http://www1.feedsky.com/t1/364263019/zccpop/feedsky/s.gif?r=http://www.orzcc.com/?p=640859&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/zccpop/364263019/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/zccpop/364263019/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>bbs</category><category>sns</category><category>我爱互联网</category><pubDate>Tue, 17 Nov 2009 20:34:17 +0800</pubDate><author>zcc</author><comments>http://www.orzcc.com/?p=640859#comments</comments><guid isPermaLink="false">http://www.orzcc.com/?p=640859</guid><dc:creator>zcc</dc:creator><fs:srclink>http://www.orzcc.com/?p=640859</fs:srclink><fs:srcfeed>http://www.orzcc.com/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/zccpop/~6974558/364263019/5082186</fs:itemid></item><item><title>那年的互联网</title><link>http://www.orzcc.com/?p=640467</link><content:encoded>&lt;p&gt;本篇的内容为2009年8月28日晚在老家翻箱倒柜的成果，特整理在此以作纪念。内容最早记录在&lt;a href=&quot;http://t.sina.com.cn/orzcc&quot; target=&quot;_blank&quot;&gt;新浪微博&lt;/a&gt;中。&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;19块钱的《中国电脑教育报》2003年合订本（上）算是我的计算机启蒙书。记得炎炎夏日家中停电，啃着这本字如蚂蚁的【天书】&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;span&gt;翻出一张2003年的桌面截图打印稿：那时的遨游叫MyIE2 ；那时的下载工具是影音传送带＋网络蚂蚁；那时的资源共享用百宝；那时的杀毒防盗用瑞星＋天网＋木马终结者；那时的游戏用联众；那时的音乐播放用 WinAMP；那时的视频播放用RealOne；QQ是2003Ⅱ正式版，边上放着QQ号&lt;/span&gt;&lt;span&gt;申请机QQReg。还有一款黑客玩具Fluxay4.71&lt;/span&gt;&lt;br /&gt;
最明显的是:迅雷终结蚂蚁、影音和Flashget；千千静听和酷狗终结了WinAMP；暴风终结了RealPlayer。可是QQ依然是QQ！&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;p&gt;【2003年1月6日第1期：Windows Longhorn之最】那时候还没有Vista&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;p&gt;【2003年1月13日第2期：实战Windows XP系统还原】那时候还在迷信这个东西～&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;p&gt;【2003年1月13日第2期：双系统共享收藏夹】那时候的双系统：98＋XP&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;p&gt;【2003年1月13日第2期：一定要删除网络实名吗？】那时候还有3721的网络实名工具，在热炒中文域名&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;p&gt;【2003年1月27日第4期：免费大餐哪里找】那时候的网络相册：碧海银沙，容量50M，是作者介绍的相册中最大的一个。&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;p&gt;【2003年2月17日第5期：40GB硬盘变20GB了】那时候的组装电脑硬盘标配是40G&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;p&gt;【2003年3月3日第7期：网上第1单】介绍手工艺品毛线钩花直销网店—七色花（gouhua.net）；不知道现在是否还活着？&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;p&gt;【2003年3月24日第10期：抛弃IE需要理由吗】作者推荐Opera、Fast Browser、MyIE（遨游前身）、MSN Explorer&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;p&gt;【2003年3月31日第11期：创办一家e快餐】介绍网上快餐店的创业，有丽华快餐、亚惠快餐、中华美食网、无忧订餐网。&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;p&gt;【2003年6月23日第23期：大家一起来“砌”论坛】那时的dvbbs（动网）真的好热！&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;p&gt;2003年，那时的OS从98过渡到XP&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;p&gt;2003年5月是淘宝投资创办的时间。那时的计算机媒体满是着垂直网店的创业指导。&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;p&gt;【电脑爱好者2003年第19期：Google准备上市】Google作为全世界最受欢迎的搜索引擎提供商，已经做好了上市准备，其计划出售 价值100亿美元的股票。Google可以凭借售股购买其他的网络公司，这样可以瓜分竞争对手，全球使用率最高的搜索引擎—雅虎的市场。&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;p&gt;【电脑爱好者2003第19期：有网页，就有电子书】介绍网文快捕（WebCatcher）。如今挚爱的同名软件，英文却改成了CyberArticles。高一即开始了PKM。&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;p&gt;【电脑爱好者2004第14期：邮箱扩容多少是个头儿】Google推出了令人震撼的1G免费邮箱。那时各提供商为了应对海量邮箱时代做出了升级之后，新浪30M，雅虎100M，网易260M，Hotmail250M。&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;p&gt;同年，腾讯也悄然开通了QQ邮箱与外部邮箱的互通互联。普通用户5M，会员100M。&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;p&gt;【电脑爱好者2004第14期：MyIE2要更名？！】其实再好的名字也只是一个称呼，只要软件本身踏踏实实地做好功能完善，名字不会成为其继续流传的绊脚石。——遨游做到了！&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;p&gt;【电脑爱好者2005第16期：博客网的改版】博客真是互联网2.0的革命力量？博客代表草根阶级与商业化无关。&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;p&gt;【电脑世界2005年12月：百度版权持久战】百度遭遇音乐版权诉讼&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;p&gt;【电脑世界2005年12月号：教您网上淘“淘宝”】&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;p&gt;【电脑迷2006年6月上：Google一次推出4项新品——Google Co-op，Google桌面，Google Notebook，Google Trends】Google的辉煌从另一种角度说明了，基于网络的信息整合，优势将远远大于一个独立的操作系统。&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;p&gt;【电脑爱好者2006上半年合订本：月薪8000元难觅的软件测试人才】&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;p&gt;【电脑爱好者2006年上半年合订本：网上购物在Web2.0时代】Donews总编辑洪波认为，现在的Web2.0的应用层出不穷，有人拿 去卖东西，如客齐集、淘趣网；有人拿去赚吆喝，如博客网；有人拿去搞娱乐，如猫扑网。这些都是将Web2.0技术和理念用于不同细分市场的结果&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;互联网用十年的时间能够承载世界百年的变迁，多少公司的兴衰，多少产品的更替，供给着一代又一代网民。&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/364263020/zccpop/feedsky/s.gif?r=http://www.orzcc.com/?p=640467&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/zccpop/364263020/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/zccpop/364263020/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.orzcc.com/?feed=rss2&amp;p=640467</wfw:commentRss><slash:comments>6</slash:comments><description>本篇的内容为2009年8月28日晚在老家翻箱倒柜的成果，特整理在此以作纪念。内容最早记录在新浪微博中。
19块钱的《中国电脑教育报》2003年合订本（上）算是我的计算机启蒙书。记得炎炎夏日家中停电，啃着这本字如蚂蚁的【天书】
翻出一张2003年的桌面截图打印稿：那时的遨游叫MyIE2 ；那时的下载工具是影音传送带＋网络蚂蚁；那时的资源共享用百宝；那时的杀毒防盗用瑞星＋天网＋木马终结者；那时的游戏用联众；那时的音乐播放用 WinAMP；那时的视频播放用RealOne；QQ是2003Ⅱ正式版，边上放着QQ号申请机QQReg。还有一款黑客玩具Fluxay4.71
最明显的是:迅雷终结蚂蚁、影音和Flashget；千千静听和酷狗终结了WinAMP；暴风终结了RealPlayer。可是QQ依然是QQ！
【2003年1月6日第1期：Windows Longhorn之最】那时候还没有Vista
【2003年1月13日第2期：实战Windows XP系统还原】那时候还在迷信这个东西～
【2003年1月13日第2期：双系统共享收藏夹】那时候的双系统：98＋XP
【2003年1月13日第2期：一定要删除网络实名吗？】那时候还有3721的网络实名工具，在热炒中文域名
【2003年1月27日第4期：免费大餐哪里找】那时候的网络相册：碧海银沙，容量50M，是作者介绍的相册中最大的一个。
【2003年2月17日第5期：40GB硬盘变20GB了】那时候的组装电脑硬盘标配是40G
【2003年3月3日第7期：网上第1单】介绍手工艺品毛线钩花直销网店—七色花（gouhua.net）；不知道现在是否还活着？
【2003年3月24日第10期：抛弃IE需要理由吗】作者推荐Opera、Fast Browser、MyIE（遨游前身）、MSN Explorer
【2003年3月31日第11期：创办一家e快餐】介绍网上快餐店的创业，有丽华快餐、亚惠快餐、中华美食网、无忧订餐网。
【2003年6月23日第23期：大家一起来“砌”论坛】那时的dvbbs（动网）真的好热！
2003年，那时的OS从98过渡到XP
2003年5月是淘宝投资创办的时间。那时的计算机媒体满是着垂直网店的创业指导。
【电脑爱好者2003年第19期：Google准备上市】Google作为全世界最受欢迎的搜索引擎提供商，已经做好了上市准备，其计划出售 价值100亿美元的股票。Google可以凭借售股购买其他的网络公司，这样可以瓜分竞争对手，全球使用率最高的搜索引擎—雅虎的市场。
【电脑爱好者2003第19期：有网页，就有电子书】介绍网文快捕（WebCatcher）。如今挚爱的同名软件，英文却改成了CyberArticles。高一即开始了PKM。
【电脑爱好者2004第14期：邮箱扩容多少是个头儿】Google推出了令人震撼的1G免费邮箱。那时各提供商为了应对海量邮箱时代做出了升级之后，新浪30M，雅虎100M，网易260M，Hotmail250M。
同年，腾讯也悄然开通了QQ邮箱与外部邮箱的互通互联。普通用户5M，会员100M。
【电脑爱好者2004第14期：MyIE2要更名？！】其实再好的名字也只是一个称呼，只要软件本身踏踏实实地做好功能完善，名字不会成为其继续流传的绊脚石。——遨游做到了！
【电脑爱好者2005第16期：博客网的改版】博客真是互联网2.0的革命力量？博客代表草根阶级与商业化无关。
【电脑世界2005年12月：百度版权持久战】百度遭遇音乐版权诉讼
【电脑世界2005年12月号：教您网上淘“淘宝”】
【电脑迷2006年6月上：Google一次推出4项新品——Google Co-op，Google桌面，Google Notebook，Google Trends】Google的辉煌从另一种角度说明了，基于网络的信息整合，优势将远远大于一个独立的操作系统。
【电脑爱好者2006上半年合订本：月薪8000元难觅的软件测试人才】
【电脑爱好者2006年上半年合订本：网上购物在Web2.0时代】Donews总编辑洪波认为，现在的Web2.0的应用层出不穷，有人拿 去卖东西，如客齐集、淘趣网；有人拿去赚吆喝，如博客网；有人拿去搞娱乐，如猫扑网。这些都是将Web2.0技术和理念用于不同细分市场的结果
互联网用十年的时间能够承载世界百年的变迁，多少公司的兴衰，多少产品的更替，供给着一代又一代网民。&lt;img src=&quot;http://www1.feedsky.com/t1/364263020/zccpop/feedsky/s.gif?r=http://www.orzcc.com/?p=640467&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/zccpop/364263020/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/zccpop/364263020/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>互联网</category><category>我爱互联网</category><pubDate>Thu, 22 Oct 2009 10:45:54 +0800</pubDate><author>zcc</author><comments>http://www.orzcc.com/?p=640467#comments</comments><guid isPermaLink="false">http://www.orzcc.com/?p=640467</guid><dc:creator>zcc</dc:creator><fs:srclink>http://www.orzcc.com/?p=640467</fs:srclink><fs:srcfeed>http://www.orzcc.com/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/zccpop/~6974558/364263020/5082186</fs:itemid></item><item><title>【无处藏身 系列三】BY ZCC</title><link>http://www.orzcc.com/?p=639715</link><content:encoded>&lt;p&gt;不经典我不推荐！&lt;/p&gt;
&lt;p&gt;没有尝试过的我不推荐！&lt;/p&gt;
&lt;p&gt;虚华无用的我不推荐！&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://cn.wizbrother.com/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;&lt;em&gt;CyberArticle（网文快捕）&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
又一款非常实用的知识管理工具，相较于网络应用与本地客户端完美搭档的&lt;a href=&quot;http://www.evernote.com/&quot; target=&quot;_blank&quot;&gt;Evernote&lt;/a&gt;，较于轻便快捷的&lt;a href=&quot;http://cintanotes.com/&quot; target=&quot;_blank&quot;&gt;CintaNotes&lt;/a&gt;，较于元老级的&lt;a href=&quot;http://www.wjjsoft.com/mybase.html#nyfcgi&quot; target=&quot;_blank&quot;&gt;MyBase&lt;/a&gt;，我只想说，网文快捕是最实用的。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;它&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;没有网络存储功能&lt;/li&gt;
&lt;li&gt;没有华丽的软件界面&lt;/li&gt;
&lt;li&gt;没有强大的公司背景&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;但是它有&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;国人熟悉的软件操作方式&lt;/li&gt;
&lt;li&gt;有强大的导入导出功能&lt;/li&gt;
&lt;li&gt;有支持各类浏览器的网页抓取插件&lt;/li&gt;
&lt;li&gt;有快捷的目录标签分类&lt;/li&gt;
&lt;li&gt;有排序颜色批量处理密码保护等实用的管理操作&lt;/li&gt;
&lt;li&gt;异常牛逼的附件添加功能&lt;/li&gt;
&lt;li&gt;简易实用的目录功能&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;对我最有吸引力的功能莫过于附件功能了，它能方便自如地添加所有格式的附件，比如Word/PPT/PDF等。&lt;/p&gt;
&lt;p&gt;最最最关键的是，它是国人开发的哦！&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;配合工具&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://docs.google.com/&quot; target=&quot;_blank&quot;&gt;Google Docs&lt;/a&gt;/Office&lt;/li&gt;
&lt;li&gt;移动硬盘/网络硬盘（让静止的快捕长上翅膀）&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.xmind.net/&quot; target=&quot;_blank&quot;&gt;XMind&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;http://www.voidtools.com/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;&lt;em&gt;Everything&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
你怀疑过Windows自带的搜索功能吗？如蚂蚁般让人恼火，却又从来没有念头找个工具来替代它。其实有一个非常小巧的工具会让你颠覆对本地搜索的理解，它就是Everything。的确，在它眼里，任何文件，Everything，都是它的掌中之物，搜之既来！&lt;/p&gt;
&lt;p&gt;它主要有三种搜索形式：&lt;/p&gt;
&lt;p&gt;1.正常模式下，搜索全盘&lt;/p&gt;
&lt;p&gt;2.文件夹模式。右击文件夹，将搜索该文件夹内的所有文件。&lt;/p&gt;
&lt;p&gt;3.最为独特的网页模式，勾选工具菜单下的HTTP服务器，设定好端口，即可在网页中登录http://localhost:port来搜索本地文件。这个特有的功能配合Firefox的搜索工具栏非常的好用。&lt;/p&gt;
&lt;p&gt;它的特色，不用多说，三句话：快！快！真快！&lt;br /&gt;
&lt;a href=&quot;http://www.fonlan.cn/&quot; target=&quot;_blank&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.fonlan.cn/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;&lt;em&gt;GDI++&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
这个恶魔般的工具华丽般地装扮你的系统字体，也同时会引发一些不必要的问题。但是很遗憾的是，我深深地爱上了它。&lt;/p&gt;
&lt;p&gt;Windows的字体渲染不敢恭维，与苹果、Ubuntu相差太多了，GDI++让一切变得可能。&lt;/p&gt;
&lt;p&gt;很简单地点击安装它，选择加载项是选择否；安装完毕后的好图标显示在右下角的通知区域。你会发现一切焕然一新。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;配合工具：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;微软雅黑字体&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;引发的问题：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Emule等软件内部成白色一片，无法辨认字体（GDI++配置文件中的屏蔽进程列表中添加emule.exe）&lt;/li&gt;
&lt;li&gt;StarUML图中的中文字体乱码（同上，添加staruml.exe）&lt;/li&gt;
&lt;/ul&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/364263021/zccpop/feedsky/s.gif?r=http://www.orzcc.com/?p=639715&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/zccpop/364263021/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/zccpop/364263021/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.orzcc.com/?feed=rss2&amp;p=639715</wfw:commentRss><slash:comments>1</slash:comments><description>不经典我不推荐！
没有尝试过的我不推荐！
虚华无用的我不推荐！
CyberArticle（网文快捕）
又一款非常实用的知识管理工具，相较于网络应用与本地客户端完美搭档的Evernote，较于轻便快捷的CintaNotes，较于元老级的MyBase，我只想说，网文快捕是最实用的。
它

没有网络存储功能
没有华丽的软件界面
没有强大的公司背景

但是它有

国人熟悉的软件操作方式
有强大的导入导出功能
有支持各类浏览器的网页抓取插件
有快捷的目录标签分类
有排序颜色批量处理密码保护等实用的管理操作
异常牛逼的附件添加功能
简易实用的目录功能

对我最有吸引力的功能莫过于附件功能了，它能方便自如地添加所有格式的附件，比如Word/PPT/PDF等。
最最最关键的是，它是国人开发的哦！
配合工具：

Google Docs/Office
移动硬盘/网络硬盘（让静止的快捕长上翅膀）
XMind

Everything
你怀疑过Windows自带的搜索功能吗？如蚂蚁般让人恼火，却又从来没有念头找个工具来替代它。其实有一个非常小巧的工具会让你颠覆对本地搜索的理解，它就是Everything。的确，在它眼里，任何文件，Everything，都是它的掌中之物，搜之既来！
它主要有三种搜索形式：
1.正常模式下，搜索全盘
2.文件夹模式。右击文件夹，将搜索该文件夹内的所有文件。
3.最为独特的网页模式，勾选工具菜单下的HTTP服务器，设定好端口，即可在网页中登录http://localhost:port来搜索本地文件。这个特有的功能配合Firefox的搜索工具栏非常的好用。
它的特色，不用多说，三句话：快！快！真快！

GDI++
这个恶魔般的工具华丽般地装扮你的系统字体，也同时会引发一些不必要的问题。但是很遗憾的是，我深深地爱上了它。
Windows的字体渲染不敢恭维，与苹果、Ubuntu相差太多了，GDI++让一切变得可能。
很简单地点击安装它，选择加载项是选择否；安装完毕后的好图标显示在右下角的通知区域。你会发现一切焕然一新。
配合工具：

微软雅黑字体

引发的问题：

Emule等软件内部成白色一片，无法辨认字体（GDI++配置文件中的屏蔽进程列表中添加emule.exe）
StarUML图中的中文字体乱码（同上，添加staruml.exe）&lt;img src=&quot;http://www1.feedsky.com/t1/364263021/zccpop/feedsky/s.gif?r=http://www.orzcc.com/?p=639715&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/zccpop/364263021/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/zccpop/364263021/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>我是杂食动物</category><category>tools</category><pubDate>Fri, 14 Aug 2009 11:05:29 +0800</pubDate><author>zcc</author><comments>http://www.orzcc.com/?p=639715#comments</comments><guid isPermaLink="false">http://www.orzcc.com/?p=639715</guid><dc:creator>zcc</dc:creator><fs:srclink>http://www.orzcc.com/?p=639715</fs:srclink><fs:srcfeed>http://www.orzcc.com/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/zccpop/~6974558/364263021/5082186</fs:itemid></item></channel></rss>