<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feed.kakee.net/styles/feedsky0.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.kakee.net" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feed.feedsky.com/kakee" type="application/rss+xml"></fs:self_link><lastBuildDate>Wed, 23 Nov 2011 16:30:27 GMT</lastBuildDate><title>疯中舞步，梦的河流</title><description>我经常梦见自己在做梦……</description><link>http://www.kakee.net</link><sy:updatePeriod>hourly</sy:updatePeriod><sy:updateFrequency>1</sy:updateFrequency><language>en</language><pubDate>Wed, 23 Nov 2011 16:30:27 GMT</pubDate><item><title>要和你 做爱做的事。</title><link>http://www.kakee.net/?p=21</link><content:encoded>&lt;a href='http://www.kakee.net/?attachment_id=38' title='16'&gt;&lt;img width=&quot;150&quot; height=&quot;150&quot; src=&quot;http://www.kakee.net/wp-content/uploads/2011/11/16-150x150.jpg&quot; class=&quot;attachment-thumbnail&quot; alt=&quot;16&quot; title=&quot;16&quot; /&gt;&lt;/a&gt;
&lt;a href='http://www.kakee.net/?attachment_id=37' title='15'&gt;&lt;img width=&quot;150&quot; height=&quot;150&quot; src=&quot;http://www.kakee.net/wp-content/uploads/2011/11/15-150x150.jpg&quot; class=&quot;attachment-thumbnail&quot; alt=&quot;15&quot; title=&quot;15&quot; /&gt;&lt;/a&gt;
&lt;a href='http://www.kakee.net/?attachment_id=36' title='14'&gt;&lt;img width=&quot;150&quot; height=&quot;150&quot; src=&quot;http://www.kakee.net/wp-content/uploads/2011/11/14-150x150.jpg&quot; class=&quot;attachment-thumbnail&quot; alt=&quot;14&quot; title=&quot;14&quot; /&gt;&lt;/a&gt;
&lt;a href='http://www.kakee.net/?attachment_id=35' title='13'&gt;&lt;img width=&quot;150&quot; height=&quot;150&quot; src=&quot;http://www.kakee.net/wp-content/uploads/2011/11/13-150x150.jpg&quot; class=&quot;attachment-thumbnail&quot; alt=&quot;13&quot; title=&quot;13&quot; /&gt;&lt;/a&gt;
&lt;a href='http://www.kakee.net/?attachment_id=34' title='12'&gt;&lt;img width=&quot;150&quot; height=&quot;150&quot; src=&quot;http://www.kakee.net/wp-content/uploads/2011/11/12-150x150.jpg&quot; class=&quot;attachment-thumbnail&quot; alt=&quot;12&quot; title=&quot;12&quot; /&gt;&lt;/a&gt;
&lt;a href='http://www.kakee.net/?attachment_id=33' title='11'&gt;&lt;img width=&quot;150&quot; height=&quot;150&quot; src=&quot;http://www.kakee.net/wp-content/uploads/2011/11/11-150x150.jpg&quot; class=&quot;attachment-thumbnail&quot; alt=&quot;11&quot; title=&quot;11&quot; /&gt;&lt;/a&gt;
&lt;a href='http://www.kakee.net/?attachment_id=32' title='10'&gt;&lt;img width=&quot;150&quot; height=&quot;150&quot; src=&quot;http://www.kakee.net/wp-content/uploads/2011/11/10-150x150.jpg&quot; class=&quot;attachment-thumbnail&quot; alt=&quot;10&quot; title=&quot;10&quot; /&gt;&lt;/a&gt;
&lt;a href='http://www.kakee.net/?attachment_id=31' title='09'&gt;&lt;img width=&quot;150&quot; height=&quot;150&quot; src=&quot;http://www.kakee.net/wp-content/uploads/2011/11/09-150x150.jpg&quot; class=&quot;attachment-thumbnail&quot; alt=&quot;09&quot; title=&quot;09&quot; /&gt;&lt;/a&gt;
&lt;a href='http://www.kakee.net/?attachment_id=30' title='08'&gt;&lt;img width=&quot;150&quot; height=&quot;150&quot; src=&quot;http://www.kakee.net/wp-content/uploads/2011/11/08-150x150.jpg&quot; class=&quot;attachment-thumbnail&quot; alt=&quot;08&quot; title=&quot;08&quot; /&gt;&lt;/a&gt;
&lt;a href='http://www.kakee.net/?attachment_id=29' title='07'&gt;&lt;img width=&quot;150&quot; height=&quot;150&quot; src=&quot;http://www.kakee.net/wp-content/uploads/2011/11/07-150x150.jpg&quot; class=&quot;attachment-thumbnail&quot; alt=&quot;07&quot; title=&quot;07&quot; /&gt;&lt;/a&gt;
&lt;a href='http://www.kakee.net/?attachment_id=28' title='06'&gt;&lt;img width=&quot;150&quot; height=&quot;150&quot; src=&quot;http://www.kakee.net/wp-content/uploads/2011/11/06-150x150.jpg&quot; class=&quot;attachment-thumbnail&quot; alt=&quot;06&quot; title=&quot;06&quot; /&gt;&lt;/a&gt;
&lt;a href='http://www.kakee.net/?attachment_id=27' title='05'&gt;&lt;img width=&quot;150&quot; height=&quot;150&quot; src=&quot;http://www.kakee.net/wp-content/uploads/2011/11/05-150x150.jpg&quot; class=&quot;attachment-thumbnail&quot; alt=&quot;05&quot; title=&quot;05&quot; /&gt;&lt;/a&gt;
&lt;a href='http://www.kakee.net/?attachment_id=26' title='04'&gt;&lt;img width=&quot;150&quot; height=&quot;150&quot; src=&quot;http://www.kakee.net/wp-content/uploads/2011/11/04-150x150.jpg&quot; class=&quot;attachment-thumbnail&quot; alt=&quot;04&quot; title=&quot;04&quot; /&gt;&lt;/a&gt;
&lt;a href='http://www.kakee.net/?attachment_id=25' title='03'&gt;&lt;img width=&quot;150&quot; height=&quot;150&quot; src=&quot;http://www.kakee.net/wp-content/uploads/2011/11/03-150x150.jpg&quot; class=&quot;attachment-thumbnail&quot; alt=&quot;03&quot; title=&quot;03&quot; /&gt;&lt;/a&gt;
&lt;a href='http://www.kakee.net/?attachment_id=24' title='02'&gt;&lt;img width=&quot;150&quot; height=&quot;150&quot; src=&quot;http://www.kakee.net/wp-content/uploads/2011/11/02-150x150.jpg&quot; class=&quot;attachment-thumbnail&quot; alt=&quot;02&quot; title=&quot;02&quot; /&gt;&lt;/a&gt;
&lt;a href='http://www.kakee.net/?attachment_id=23' title='01'&gt;&lt;img width=&quot;150&quot; height=&quot;150&quot; src=&quot;http://www.kakee.net/wp-content/uploads/2011/11/01-150x150.jpg&quot; class=&quot;attachment-thumbnail&quot; alt=&quot;01&quot; title=&quot;01&quot; /&gt;&lt;/a&gt;
&lt;a href='http://www.kakee.net/?attachment_id=22' title='17'&gt;&lt;img width=&quot;150&quot; height=&quot;150&quot; src=&quot;http://www.kakee.net/wp-content/uploads/2011/11/17-150x150.jpg&quot; class=&quot;attachment-thumbnail&quot; alt=&quot;17&quot; title=&quot;17&quot; /&gt;&lt;/a&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/579872878/kakee/feedsky/s.gif?r=http://www.kakee.net/?p=21&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.kakee.net/?feed=rss2&amp;p=21</wfw:commentRss><slash:comments>0</slash:comments><description>&lt;img src=&quot;http://www1.feedsky.com/t1/579872878/kakee/feedsky/s.gif?r=http://www.kakee.net/?p=21&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>未分类</category><pubDate>Thu, 24 Nov 2011 00:30:27 +0800</pubDate><author>admin</author><comments>http://www.kakee.net/?p=21#comments</comments><guid isPermaLink="false">http://www.kakee.net/?p=21</guid><dc:creator>admin</dc:creator><fs:srclink>http://www.kakee.net/?p=21</fs:srclink><fs:srcfeed>http://www.kakee.net/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/kakee/~7160097/579872878/5268945</fs:itemid></item><item><title>为什么要有IBGP?</title><link>http://www.kakee.net/?p=15</link><content:encoded>&lt;p&gt;&lt;a href=&quot;http://www.kakee.net/wp-content/uploads/2011/08/cenic-design.jpg&quot;&gt;&lt;img class=&quot;size-medium wp-image-16 alignleft&quot; title=&quot;ibgp-cisco&quot; src=&quot;http://www.kakee.net/wp-content/uploads/2011/08/cenic-design-300x212.jpg&quot; alt=&quot;&quot; width=&quot;300&quot; height=&quot;212&quot; /&gt;&lt;/a&gt;我们知道,在自治系统内部使用IGP路由协议,而在不同自治系统之间使用BGP路由协议(严格来讲,BGP不是路由协议).&lt;/p&gt;
&lt;p&gt;BGP产生的原因是为了在不同自治系统(AS)之间进行路由转发,而其中又提出了EBGP和IBGP两种,EBGP用于在不同自治系统之间,而让我不太明白的是IBGP,书上说它是应用于自治系统内部,可是在自治系统内部我们是使用IGP.这就和”BGP是应用于不同自治系统之间”产生矛盾,我想问问大家,IBGP存在的意义,比如说某种情况,需要使用到IBGP,它在网络中起到的作用.&lt;/p&gt;
&lt;p&gt;为什么要有IBGP，原因如下：&lt;/p&gt;
&lt;p&gt;1、IGP的能力限制，IGP处理路由的条目有限，而目前internet上核心路由器的路由表已经超过10万条。假如没有IBGP，那么这些路由只能采取重分发的方式直接导入到IGP中，这样做的缺点很明显：&lt;/p&gt;
&lt;p&gt;第一，IGP协议的作者并没有打算让IGP来处理如此大量的路由，IGP本身也无法处理这样大的路由数量；&lt;/p&gt;
&lt;p&gt;第二，如果非要让IGP来处理，那么根据IGP的处理原则，假如这10万路由中任何一条路由发生变化，那么运行IGP的路由器就不得不重新计算路由，更为严重的是，假如其中某一条路由出现路由抖动的情况，例如端口反复UP/DOWN，这会导致所有的IGP路由器每时每刻都不得不把10万条路由重新计算一遍，这种计算量对于绝大多数路由器来说是无法负担的。另外对于运行RIP V1的路由器来说，10万条路由的定期更新，这根本就是无法接受的事情，除去带宽占用率不谈，我想，也只有少量高端的GSR以及TSR能够有这样的性能吧。很显然，我们不可能让网络中所有的路由器都是GSR和TSR，如果真是这样，那么Cisco、juniper以及华为等厂家就要偷笑了。&lt;/p&gt;
&lt;p&gt;具体可以参考下面的拓扑：&lt;/p&gt;
&lt;p&gt;AS100&amp;#8212;-AS200&amp;#8212;AS300，假定AS100/200/300各有100台路由器，而AS100中有1W条路由要传递要AS300中，而AS200的路由器不需要学习AS100的路由。如果没有IBGP的话，那么这1W条路由都必须被重分发到AS200的IGP中去，这样的话，相当于AS200中所有的100台路由器都增加了1W条路由。如果利用IBGP的话，那么AS200中只有运行IBGP的路由器会学习到这1W条路由，其它运行IGP的路由器都不会学习到这1W条路由。并且由于BGP的路由控制能力大大强于IGP的路由控制能力，因此运行IBGP的路由器比运行IGP的路由器能更好的对这1W条路由做一些路由策略的处理，从而保证整个AS内部的路由器学习到的路由数目可以控制在可接受的范围之内。&lt;/p&gt;
&lt;p&gt;2、路由环路的问题。BGP是靠路由属性来防止路由环路的，例如AS_PATH属性，假如说没有IBGP协议，那么当所有BGP路由重分发到IGP中后，路由属性必然丢失，这就破坏了BGP的路由环路防止机制，产生了路由环路的隐患。&lt;/p&gt;
&lt;p&gt;那么引申一下，既然IBGP能够传送所有的路由前缀，为什么还需要IGP？&lt;/p&gt;
&lt;p&gt;1、IBGP之间是TCP连接，也就意味着IBGP邻居采用的是逻辑连接的方式，两个IBGP连接不一定存在实际的物理链路。所以需要有IGP来提供路由，以完成BGP路由的递归查找。&lt;/p&gt;
&lt;p&gt;2、BGP协议本身实际上并不发现路由，BGP将路由发现的工作全部移交给了IGP协议，它本身着重于路由的控制。因此，如果没有IGP，那么BGP也就毫无用处了。&lt;/p&gt;
&lt;p&gt;EBGP与IBGP的区别：&lt;br /&gt;
1、路由环路的避免措施不一样，IBGP强制规定ibgp speaker不允许把从一个ibgp邻居学习到的前缀传递给其它ibgp邻居，因此IBGP要求逻辑全连接。EBGP没有这样的要求，EBGP对路由环路的避免是通过AS_PATH属性来实现的。&lt;/p&gt;
&lt;p&gt;2、使用的BGP属性不同，例如IBGP可以传递LOCAL_PREF（本地优先属性），而EBGP不行。&lt;/p&gt;
&lt;p&gt;3、IBGP有同步的要求，而EBGP没有同步的要求&lt;/p&gt;
&lt;p&gt;4、IBGP不需要IBGP邻居之间有物理连接，只需要逻辑连接即可，而EBGP下一般情况下都要求EBGP邻居之间存在物理连接。&lt;/p&gt;
&lt;p&gt;EBGP在网络中起什么作用？这个题目太大了，EBGP我认为是在不同的AS之间提供路由的传递以及路由的控制，你了解了BGP属性的用法，也就了解了EBGP的作用。&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/579872879/kakee/feedsky/s.gif?r=http://www.kakee.net/?p=15&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.kakee.net/?feed=rss2&amp;p=15</wfw:commentRss><slash:comments>0</slash:comments><description>我们知道,在自治系统内部使用IGP路由协议,而在不同自治系统之间使用BGP路由协议(严格来讲,BGP不是路由协议). BGP产生的原因是为了在不同自治系统(AS)之间进行路由转发,而其中又提出了EBGP和IBGP两种,EBGP用于在不同自治系统之间,而让我不太明白的是IBGP,书上说它是应用于自治系统内部,可是在自治系统内部我们是使用IGP.这就和”BGP是应用于不同自治系统之间”产生矛盾,我想问问大家,IBGP存在的意义,比如说某种情况,需要使用到IBGP,它在网络中起到的作用. 为什么要有IBGP，原因如下： 1、IGP的能力限制，IGP处理路由的条目有限，而目前internet上核心路由器的路由表已经超过10万条。假如没有IBGP，那么这些路由只能采取重分发的方式直接导入到IGP中，这样做的缺点很明显： 第一，IGP协议的作者并没有打算让IGP来处理如此大量的路由，IGP本身也无法处理这样大的路由数量； 第二，如果非要让IGP来处理，那么根据IGP的处理原则，假如这10万路由中任何一条路由发生变化，那么运行IGP的路由器就不得不重新计算路由，更为严重的是，假如其中某一条路由出现路由抖动的情况，例如端口反复UP/DOWN，这会导致所有的IGP路由器每时每刻都不得不把10万条路由重新计算一遍，这种计算量对于绝大多数路由器来说是无法负担的。另外对于运行RIP V1的路由器来说，10万条路由的定期更新，这根本就是无法接受的事情，除去带宽占用率不谈，我想，也只有少量高端的GSR以及TSR能够有这样的性能吧。很显然，我们不可能让网络中所有的路由器都是GSR和TSR，如果真是这样，那么Cisco、juniper以及华为等厂家就要偷笑了。 具体可以参考下面的拓扑： AS100&amp;#8212;-AS200&amp;#8212;AS300，假定AS100/200/300各有100台路由器，而AS100中有1W条路由要传递要AS300中，而AS200的路由器不需要学习AS100的路由。如果没有IBGP的话，那么这1W条路由都必须被重分发到AS200的IGP中去，这样的话，相当于AS200中所有的100台路由器都增加了1W条路由。如果利用IBGP的话，那么AS200中只有运行IBGP的路由器会学习到这1W条路由，其它运行IGP的路由器都不会学习到这1W条路由。并且由于BGP的路由控制能力大大强于IGP的路由控制能力，因此运行IBGP的路由器比运行IGP的路由器能更好的对这1W条路由做一些路由策略的处理，从而保证整个AS内部的路由器学习到的路由数目可以控制在可接受的范围之内。 2、路由环路的问题。BGP是靠路由属性来防止路由环路的，例如AS_PATH属性，假如说没有IBGP协议，那么当所有BGP路由重分发到IGP中后，路由属性必然丢失，这就破坏了BGP的路由环路防止机制，产生了路由环路的隐患。 那么引申一下，既然IBGP能够传送所有的路由前缀，为什么还需要IGP？ 1、IBGP之间是TCP连接，也就意味着IBGP邻居采用的是逻辑连接的方式，两个IBGP连接不一定存在实际的物理链路。所以需要有IGP来提供路由，以完成BGP路由的递归查找。 2、BGP协议本身实际上并不发现路由，BGP将路由发现的工作全部移交给了IGP协议，它本身着重于路由的控制。因此，如果没有IGP，那么BGP也就毫无用处了。 EBGP与IBGP的区别： 1、路由环路的避免措施不一样，IBGP强制规定ibgp speaker不允许把从一个ibgp邻居学习到的前缀传递给其它ibgp邻居，因此IBGP要求逻辑全连接。EBGP没有这样的要求，EBGP对路由环路的避免是通过AS_PATH属性来实现的。 2、使用的BGP属性不同，例如IBGP可以传递LOCAL_PREF（本地优先属性），而EBGP不行。 3、IBGP有同步的要求，而EBGP没有同步的要求 4、IBGP不需要IBGP邻居之间有物理连接，只需要逻辑连接即可，而EBGP下一般情况下都要求EBGP邻居之间存在物理连接。 EBGP在网络中起什么作用？这个题目太大了，EBGP我认为是在不同的AS之间提供路由的传递以及路由的控制，你了解了BGP属性的用法，也就了解了EBGP的作用。&lt;img src=&quot;http://www1.feedsky.com/t1/579872879/kakee/feedsky/s.gif?r=http://www.kakee.net/?p=15&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>cisco</category><category>未分类</category><category>ibgp</category><pubDate>Thu, 25 Aug 2011 11:14:51 +0800</pubDate><author>admin</author><comments>http://www.kakee.net/?p=15#comments</comments><guid isPermaLink="false">http://www.kakee.net/?p=15</guid><dc:creator>admin</dc:creator><fs:srclink>http://www.kakee.net/?p=15</fs:srclink><fs:srcfeed>http://www.kakee.net/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/kakee/~7160097/579872879/5268945</fs:itemid></item><item><title>来自平凡生活的用户体验设计启示</title><link>http://www.kakee.net/?p=13</link><content:encoded>&lt;p&gt;&lt;a href=&quot;http://www.kakee.net/wp-content/uploads/1001430.jpg&quot;&gt;&lt;img src=&quot;http://www.kakee.net/wp-content/uploads/1001430.jpg&quot; alt=&quot;&quot; title=&quot;1001430&quot; width=&quot;550&quot; height=&quot;156&quot; class=&quot;alignnone size-full wp-image-15&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;用户体验设计，来源自用户关怀，目的是产品和用户双赢。&lt;/p&gt;
&lt;p&gt;用户，则是广大真实存在的人们，那么来源自生活的用户体验启发，对于虚拟产品的用户体验设计，具有极大的借鉴意义。&lt;/p&gt;
&lt;p&gt;以下就是笔者在现实生活中发现的故事，并总结出了许多用户体验设计的原则。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1 坦途与上下楼&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.kakee.net/wp-content/uploads/1001431.jpg&quot;&gt;&lt;img src=&quot;http://www.kakee.net/wp-content/uploads/1001431.jpg&quot; alt=&quot;&quot; title=&quot;1001431&quot; width=&quot;550&quot; height=&quot;239&quot; class=&quot;alignnone size-full wp-image-16&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;自从搬了新的办公区，倒咖啡就成了一件麻烦的事。&lt;/p&gt;
&lt;p&gt;我们的办公区身处二楼，在二楼的另外一边有一个咖啡机，而在一楼正下方也有一个咖啡机。&lt;/p&gt;
&lt;p&gt;最初不熟悉的时候，常常要在两个之间抉择，究竟去哪儿倒咖啡。&lt;/p&gt;
&lt;p&gt;一楼的位置更近，直上直下；而前往二楼的咖啡机，则需要走相对长的一段路，一直走到大楼的另外一边。&lt;/p&gt;
&lt;p&gt;从距离因素上看，一楼是一个很好的选择。但是在多次尝试之后，我们果断地放弃了这个选项。&lt;/p&gt;
&lt;p&gt;因为一楼虽然绝对距离很近（看上去操作简单），但是中间要过三道门一道楼梯并须刷卡（实际上步骤繁杂），且一楼的咖啡机位置靠近大门常常有冷风吹进来（体验不够良好），而拿着一杯咖啡上下楼是非常危险的（有阻碍操作的危险因素）。&lt;/p&gt;
&lt;p&gt;而二楼虽然绝对距离比较远（看上去有许多的复杂内容），但是只需要推开一扇门（步骤简单），不需要上下楼（流程安全简单）。&lt;/p&gt;
&lt;p&gt;所以，尽管最初大家选择一个路径更短的方式去做（看上去操作过程很长会在最初吓跑用户），但是时间长了还是放弃了上下楼梯开好多道门的方式（步骤过多会影响操作造成更高的失败率）。&lt;/p&gt;
&lt;p&gt;显然，现在同事们都只去二楼的咖啡机了。&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， 不要设置任何阻碍操作的危险因素&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2 买张火车票不容易&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.kakee.net/wp-content/uploads/10014322.jpg&quot;&gt;&lt;img src=&quot;http://www.kakee.net/wp-content/uploads/10014322.jpg&quot; alt=&quot;&quot; title=&quot;1001432&quot; class=&quot;alignnone size-full wp-image-19&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;很多人在异乡的打工仔（包括我）都有买火车票的经历。由于众所周知的原因，每年人潮汹涌的时候，都需要排很长很长的队去买票。火车站提供了相对比较便捷的服务，就是有一个大大屏幕显示当前所剩票额。&lt;span id=&quot;more-13&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.kakee.net/wp-content/uploads/1001433.jpg&quot;&gt;&lt;img src=&quot;http://www.kakee.net/wp-content/uploads/1001433.jpg&quot; alt=&quot;&quot; title=&quot;1001433&quot; width=&quot;550&quot; height=&quot;208&quot; class=&quot;alignnone size-full wp-image-20&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;如今高铁动车各类特快直达，让全天的班次变得非常之多，即使火车站用了超大的屏幕，但是还是需要十几分钟才能够看完所有的信息。&lt;/p&gt;
&lt;p&gt;所以，屏幕前总是有很多很多摒息凝神不敢眨眼生怕错过什么的人们。&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;无论是哪一种，都非常地凄惨。&lt;/p&gt;
&lt;p&gt;笔者常常为了出门旅行或者过年回家去火车站买票，对于中国铁道的复杂流程非常熟悉。这样一个庞大而现代化的系统中，初级入口却依然是保留着几十年前的官僚作风。&lt;/p&gt;
&lt;p&gt;购票者必须等待大量与自己无关的列车信息慢慢跳过（接受大量无用内容），还需要非常好的眼力（用户须自行具备从信息筛选能力），才能够找到自己想要坐的那班车的余票信息。&lt;/p&gt;
&lt;p&gt;所以感谢这种垄断，才能让大家锻炼出这种火眼金睛。&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， 别以为自己是垄断行业&lt;/p&gt;
&lt;p&gt;以下两个故事涉及到很黄很暴力部分，不适应的同学请自动忽略……&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3 要钱&amp;#038;要命&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.kakee.net/wp-content/uploads/1001434.jpg&quot;&gt;&lt;img src=&quot;http://www.kakee.net/wp-content/uploads/1001434.jpg&quot; alt=&quot;&quot; title=&quot;1001434&quot; class=&quot;alignnone size-full wp-image-21&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;传统的描述中，劫匪对被劫群众一般会给两个选择，要钱还是要命。&lt;/p&gt;
&lt;p&gt;在这个选择题中，由于要命这个选项非常特殊，仔细一想，如果连命都没了，那么钱不钱的就没有意义了。结合环境（一般在寂静无人的地方），人物（手无寸铁的弱势群众和凶神恶煞的劫匪），目的（劫匪由于生活所迫或者兴趣爱好进行抢劫），这种情况下，弱势群众虽然精神上非常慌张，但是心理还是很明白给钱是唯一的选择。&lt;/p&gt;
&lt;p&gt;所以富有经验的劫匪只会给被劫群众一个选项，就是把所有够得到的财物都交出来。&lt;/p&gt;
&lt;p&gt;笔者幼年曾经遇到过年长的孩子要挟，在一个无人的小公园里索要笔者的零花钱。&lt;/p&gt;
&lt;p&gt;由于此类少年劫匪缺乏经验，他的第一句话是：“有没有钱”。这类问句中，两种选项——有或者没有——都是可行的，这样便让人有了一定的思考余地，从而失去了第一时间让被害人失去判断的机会。&lt;/p&gt;
&lt;p&gt;同时，他在问出这句话的时候口齿不清，在专业设计领域称为信息表述不成功，笔者误听成“有没有还”，因为笔者当时正在完成生物课作业——挖掘蚯蚓，便误认为他也需要，便回答：“还没挖到”，结果把整个流程破坏了，劫匪败兴而归。&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， 用户思考过程尽量简单&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;4 和他在一起我很开心&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.kakee.net/wp-content/uploads/1001435.jpg&quot;&gt;&lt;img src=&quot;http://www.kakee.net/wp-content/uploads/1001435.jpg&quot; alt=&quot;&quot; title=&quot;1001435&quot; width=&quot;550&quot; height=&quot;169&quot; class=&quot;alignnone size-full wp-image-22&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;很多男生都和我一样，小时候非常腼腆，看到喜欢的女孩儿就脸红心跳，难得说上一句话却态度生硬装得满不在乎。虽然天天忐忑不安辗转难眠，耗尽了无数心力，但是最终姑娘都被那些看上去流里流气会讲笑话的男孩子追去了。&lt;/p&gt;
&lt;p&gt;相信大多数我们这类IT男小时候都有这样痛苦的经历。&lt;/p&gt;
&lt;p&gt;到底是为什么呢？&lt;/p&gt;
&lt;p&gt;原因很简单，“和他在一起我很开心。”（相信很多心碎过的男生都听到过这句话）&lt;/p&gt;
&lt;p&gt;抛开各种各样的物质条件以及外在因素，最终能够让女孩儿觉得愿意和你在一起的情感因素就是，和你在一起感到很愉悦。谁愿意真的寻找一个每天给自己带来痛苦的伴侣呢。&lt;/p&gt;
&lt;p&gt;在还不熟悉的时候（用户忠诚度未建立）就态度生硬，会让女孩儿感到冰冷陌生（虽然心中对用户充满着热情），女孩儿自然会转而寻找更能让她觉得轻松的伙伴（其他的竞争对手）。&lt;/p&gt;
&lt;p&gt;而这种轻松和愉悦，应该具有识别性。即某些部分是其他人无法替代的（产品的某些体验或者功能是其他竞品无法提供的），这样就能够给人一种不可轻易替代的感觉，终于抓住了她的心（留住了用户）。&lt;/p&gt;
&lt;p&gt;总而言之，首先留住她再说……&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， 新产品需要有超越其他竞争品的体验&lt;/p&gt;
&lt;p&gt;真实的生活、人类的本性始终都是我们最大的创意来源。而对于用户体验设计来说，这些来源自平凡生活的小细节也是值得我们认真思考和借鉴的。&lt;/p&gt;
&lt;p&gt;文章来源：&lt;a href=&quot;http://mux.baidu.com/2011/05/977/&quot;&gt;百度MUX&lt;/a&gt; 转载请注明出处链接。&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/579872880/kakee/feedsky/s.gif?r=http://www.kakee.net/?p=13&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.kakee.net/?feed=rss2&amp;p=13</wfw:commentRss><slash:comments>0</slash:comments><description>用户体验设计，来源自用户关怀，目的是产品和用户双赢。 用户，则是广大真实存在的人们，那么来源自生活的用户体验启发，对于虚拟产品的用户体验设计，具有极大的借鉴意义。 以下就是笔者在现实生活中发现的故事，并总结出了许多用户体验设计的原则。 1 坦途与上下楼 自从搬了新的办公区，倒咖啡就成了一件麻烦的事。 我们的办公区身处二楼，在二楼的另外一边有一个咖啡机，而在一楼正下方也有一个咖啡机。 最初不熟悉的时候，常常要在两个之间抉择，究竟去哪儿倒咖啡。 一楼的位置更近，直上直下；而前往二楼的咖啡机，则需要走相对长的一段路，一直走到大楼的另外一边。 从距离因素上看，一楼是一个很好的选择。但是在多次尝试之后，我们果断地放弃了这个选项。 因为一楼虽然绝对距离很近（看上去操作简单），但是中间要过三道门一道楼梯并须刷卡（实际上步骤繁杂），且一楼的咖啡机位置靠近大门常常有冷风吹进来（体验不够良好），而拿着一杯咖啡上下楼是非常危险的（有阻碍操作的危险因素）。 而二楼虽然绝对距离比较远（看上去有许多的复杂内容），但是只需要推开一扇门（步骤简单），不需要上下楼（流程安全简单）。 所以，尽管最初大家选择一个路径更短的方式去做（看上去操作过程很长会在最初吓跑用户），但是时间长了还是放弃了上下楼梯开好多道门的方式（步骤过多会影响操作造成更高的失败率）。 显然，现在同事们都只去二楼的咖啡机了。 由此我们可以总结出： 1， 看上去流程很长会在第一时间吓跑用户 2， 尽量减少步骤，降低失败率 3， 不要设置任何阻碍操作的危险因素 2 买张火车票不容易 很多人在异乡的打工仔（包括我）都有买火车票的经历。由于众所周知的原因，每年人潮汹涌的时候，都需要排很长很长的队去买票。火车站提供了相对比较便捷的服务，就是有一个大大屏幕显示当前所剩票额。 如今高铁动车各类特快直达，让全天的班次变得非常之多，即使火车站用了超大的屏幕，但是还是需要十几分钟才能够看完所有的信息。 所以，屏幕前总是有很多很多摒息凝神不敢眨眼生怕错过什么的人们。 对于普通人来说，对此只能采取两种对策： 1， 直接排队，不再查看余票，排到了如果没有票，就悻悻回家。 2， 一直站着看有没有余票，忍痛让买票的队伍越来越长、人越来越多、票越来越少。 无论是哪一种，都非常地凄惨。 笔者常常为了出门旅行或者过年回家去火车站买票，对于中国铁道的复杂流程非常熟悉。这样一个庞大而现代化的系统中，初级入口却依然是保留着几十年前的官僚作风。 购票者必须等待大量与自己无关的列车信息慢慢跳过（接受大量无用内容），还需要非常好的眼力（用户须自行具备从信息筛选能力），才能够找到自己想要坐的那班车的余票信息。 所以感谢这种垄断，才能让大家锻炼出这种火眼金睛。 从这个案例中我们可以看到： 1， 不能把海量信息直接丢给用户（特别是当其中大部分与用户毫无关系的时候） 2， 简便而好用的信息筛选很必要 3， 别以为自己是垄断行业 以下两个故事涉及到很黄很暴力部分，不适应的同学请自动忽略…… 3 要钱&amp;#038;要命 传统的描述中，劫匪对被劫群众一般会给两个选择，要钱还是要命。 在这个选择题中，由于要命这个选项非常特殊，仔细一想，如果连命都没了，那么钱不钱的就没有意义了。结合环境（一般在寂静无人的地方），人物（手无寸铁的弱势群众和凶神恶煞的劫匪），目的（劫匪由于生活所迫或者兴趣爱好进行抢劫），这种情况下，弱势群众虽然精神上非常慌张，但是心理还是很明白给钱是唯一的选择。 所以富有经验的劫匪只会给被劫群众一个选项，就是把所有够得到的财物都交出来。 笔者幼年曾经遇到过年长的孩子要挟，在一个无人的小公园里索要笔者的零花钱。 由于此类少年劫匪缺乏经验，他的第一句话是：“有没有钱”。这类问句中，两种选项——有或者没有——都是可行的，这样便让人有了一定的思考余地，从而失去了第一时间让被害人失去判断的机会。 同时，他在问出这句话的时候口齿不清，在专业设计领域称为信息表述不成功，笔者误听成“有没有还”，因为笔者当时正在完成生物课作业——挖掘蚯蚓，便误认为他也需要，便回答：“还没挖到”，结果把整个流程破坏了，劫匪败兴而归。 从这个案例中，我们可以看到，完成一个时间紧风险大的任务时，有以下几个必备条件： 1， 信息表述必须准确 2， [...]&lt;img src=&quot;http://www1.feedsky.com/t1/579872880/kakee/feedsky/s.gif?r=http://www.kakee.net/?p=13&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>产品设计</category><category>用户体验设计</category><category>表分类</category><category>百度MUX</category><pubDate>Wed, 18 May 2011 17:46:55 +0800</pubDate><author>admin</author><comments>http://www.kakee.net/?p=13#comments</comments><guid isPermaLink="false">http://www.kakee.net/?p=13</guid><dc:creator>admin</dc:creator><fs:srclink>http://www.kakee.net/?p=13</fs:srclink><fs:srcfeed>http://www.kakee.net/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/kakee/~7160097/579872880/5268945</fs:itemid></item><item><title>坑爹的爱普，坑爹的网易</title><link>http://www.kakee.net/?p=7</link><content:encoded>&lt;p&gt;此网络最近是相当垃圾，各种不释怀。&lt;/p&gt;
&lt;p&gt;live up wow log:&lt;/p&gt;
&lt;p&gt;05/11/11 14:48:55.0409 Creating Firewall interface&lt;br /&gt;
05/11/11 14:48:55.0411 Microsoft firewall not present or turned off (disabled).&lt;br /&gt;
05/11/11 14:48:55.0413 Downloader initializing&amp;#8230;&lt;br /&gt;
05/11/11 14:48:55.0415 Creating Firewall interface&lt;br /&gt;
05/11/11 14:48:55.0417 Microsoft firewall not present or turned off (disabled).&lt;br /&gt;
05/11/11 14:48:55.0419 Creating Firewall interface&lt;br /&gt;
05/11/11 14:48:55.0420 Microsoft firewall not present or turned off (disabled).&lt;br /&gt;
05/11/11 14:48:55.0422 Not found Bonjour service.&lt;br /&gt;
05/11/11 14:48:55.0424 Creating UPnPEngine interface 0&lt;br /&gt;
05/11/11 14:48:55.0426 Getting UPnPDevice Information&lt;br /&gt;
05/11/11 14:48:55.0428 Connecting to: http://cn.tracker.warcraftchina.com:3724/announce with 1&lt;br /&gt;
05/11/11 14:48:55.0430 Connected in 48+86 ms&lt;br /&gt;
05/11/11 14:48:55.0433 No UPnP Device Found.&lt;br /&gt;
05/11/11 14:48:55.0435 Creating UPnP interface 1&lt;br /&gt;
05/11/11 14:48:55.0436 Getting UPnPDevice Information&lt;br /&gt;
05/11/11 14:48:55.0438 No UPnP Device Found.&lt;br /&gt;
05/11/11 14:48:55.0440 Connecting to: http://cn.tracker.warcraftchina.com:3724/announce with 0&lt;br /&gt;
05/11/11 14:48:55.0442 Connected in 5556+134 ms&lt;/p&gt;
&lt;p&gt;good network live up wow log:&lt;br /&gt;
05/10/11 14:45:45.8667 Creating Firewall interface&lt;br /&gt;
05/10/11 14:45:45.8669 Success!&lt;br /&gt;
05/10/11 14:45:45.8670 Enabling Microsoft Firewall UPnP Framework&lt;br /&gt;
05/10/11 14:45:45.8671 Success!&lt;br /&gt;
05/10/11 14:45:45.8672 Enabling Blizzard Downloader on Windows Firewall&lt;br /&gt;
05/10/11 14:45:45.8673 Success!&lt;br /&gt;
05/10/11 14:45:45.8674 Downloader initializing&amp;#8230;&lt;br /&gt;
05/10/11 14:45:45.8675 Creating Firewall interface&lt;br /&gt;
05/10/11 14:45:45.8676 Success!&lt;br /&gt;
05/10/11 14:45:45.8677 Enabling Microsoft Firewall UPnP Framework&lt;br /&gt;
05/10/11 14:45:45.8678 Success!&lt;br /&gt;
05/10/11 14:45:45.8679 Enabling Blizzard Downloader on Windows Firewall&lt;br /&gt;
05/10/11 14:45:45.8680 Success!&lt;br /&gt;
05/10/11 14:45:45.8681 Creating Firewall interface&lt;br /&gt;
05/10/11 14:45:45.8682 Success!&lt;br /&gt;
05/10/11 14:45:45.8683 Creating Microsoft Firewall Rule: Blizzard Downloader: 3724&lt;br /&gt;
05/10/11 14:45:45.8685 Success!&lt;br /&gt;
05/10/11 14:45:45.8686 Creating UPnPEngine interface 0&lt;br /&gt;
05/10/11 14:45:45.8687 Not found Bonjour service.05/10/11 14:45:55.0899 No UPnP Device Found.&lt;/p&gt;
&lt;p&gt;05/10/11 14:45:45.8688 Getting UPnPDevice Information&lt;br /&gt;
05/10/11 14:45:45.8689 Connecting to: http://cn.tracker.warcraftchina.com:3724/announce with 1&lt;br /&gt;
05/10/11 14:45:45.8691 Connected in 121+187 ms&lt;br /&gt;
05/10/11 14:45:46.9893 No UPnP Device Found.&lt;br /&gt;
05/10/11 14:45:47.0091 Creating UPnP interface 1&lt;br /&gt;
05/10/11 14:45:47.0286 Getting UPnPDevice Information&lt;br /&gt;
05/10/11 14:45:48.9583 Connecting to: http://cn.tracker.warcraftchina.com:3724/announce with 2&lt;br /&gt;
05/10/11 14:45:49.2498 Connected in 82+189 ms&lt;br /&gt;
再次BS网易，升级包都不敢放个下载地址&lt;br /&gt;
无法使用伟大暴雪下载器的童鞋下载允许解渴&lt;/p&gt;
&lt;p&gt;http://u.115.com/file/clivtsqc#WoW-3.3.5.13685-to-3.3.5.13930-zhCN-patch.exe&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/579872881/kakee/feedsky/s.gif?r=http://www.kakee.net/?p=7&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.kakee.net/?feed=rss2&amp;p=7</wfw:commentRss><slash:comments>0</slash:comments><description>此网络最近是相当垃圾，各种不释怀。 live up wow log: 05/11/11 14:48:55.0409 Creating Firewall interface 05/11/11 14:48:55.0411 Microsoft firewall not present or turned off (disabled). 05/11/11 14:48:55.0413 Downloader initializing&amp;#8230; 05/11/11 14:48:55.0415 Creating Firewall interface 05/11/11 14:48:55.0417 Microsoft firewall not present or turned off (disabled). 05/11/11 14:48:55.0419 Creating Firewall interface 05/11/11 14:48:55.0420 Microsoft firewall not present or turned off (disabled). 05/11/11 [...]&lt;img src=&quot;http://www1.feedsky.com/t1/579872881/kakee/feedsky/s.gif?r=http://www.kakee.net/?p=7&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>表分类</category><pubDate>Wed, 11 May 2011 14:53:40 +0800</pubDate><author>admin</author><comments>http://www.kakee.net/?p=7#comments</comments><guid isPermaLink="false">http://www.kakee.net/?p=6</guid><dc:creator>admin</dc:creator><fs:srclink>http://www.kakee.net/?p=7</fs:srclink><fs:srcfeed>http://www.kakee.net/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/kakee/~7160097/579872881/5268945</fs:itemid></item><item><title>Mother’s Day</title><link>http://www.kakee.net/?p=6</link><content:encoded>&lt;p&gt;public class MothersDayFromCodeMonkeyView&lt;br /&gt;
　　{&lt;br /&gt;
　　　　public MothersDayFromCodeMonkeyView()&lt;br /&gt;
　　　　{&lt;br /&gt;
　　　　 　　 int age=0; //猿猿刚出生的时候&lt;br /&gt;
　　　　 　　saying=”crying”; //除了哭啼，还不知道如何去表达&lt;/p&gt;
&lt;p&gt;　　　　　　 while(true)&lt;br /&gt;
　　　　 　　 {&lt;br /&gt;
　　　　 　　 　　 try&lt;br /&gt;
　　　　 　　 　　 {&lt;br /&gt;
　　　　 　　 　　 　　 Thread.sleep(365*24*60*60*1000L);&lt;br /&gt;
　　　　 　　 　　 }&lt;br /&gt;
　　　　 　　 　　 catch (InterruptedException e)&lt;br /&gt;
　　　　 　　 　　 {&lt;br /&gt;
　　　　 　　 　　 　　 break; //猿猿明白这意味着什么&lt;br /&gt;
　　　　 　　 　　 }&lt;/p&gt;
&lt;p&gt;　　　　 　　 　　 age++; //岁月如梭&lt;/p&gt;
&lt;p&gt;　　　　　　 　　 switch(age)&lt;br /&gt;
　　　　 　　 　　 {&lt;br /&gt;
　　　　 　　 　　 　　 case 3:&lt;br /&gt;
　　　　 　　 　　　　 　　 saying = “妈妈，我爱您”;&lt;br /&gt;
　　　　　　 　　 　　 　　 break;&lt;br /&gt;
　　　　 　　 　　 　　 case 10:&lt;br /&gt;
　　　　 　　 　　 　　 　　 saying = “妈，听您的”;&lt;br /&gt;
　　　　 　　 　　 　　 　　 break;&lt;br /&gt;
　　　　 　　 　　 　　 case 16:&lt;br /&gt;
　　　　 　　 　　 　　 　　 saying = “我妈真的很烦”;&lt;br /&gt;
　　　　 　　 　　 　　 　　 break;&lt;br /&gt;
　　　　 　　 　　 　　 case 18:&lt;br /&gt;
　　　　 　　 　　 　　 　　 saying = “想要离开这个家”;&lt;br /&gt;
　　　　 　　 　　 　　 　　 break;&lt;br /&gt;
　　　　 　　 　　 　　 case 25:&lt;br /&gt;
　　　　 　　 　　 　　 　　 saying = “妈,您当时是对的”;&lt;br /&gt;
　　　　 　　 　　 　　 　　 break;&lt;br /&gt;
　　　　 　　 　　 　　 case 30:&lt;br /&gt;
　　　　 　　 　　 　　 　　 saying = “我想要去我妈家”;&lt;br /&gt;
　　　　 　　 　　 　　 　　 break;&lt;br /&gt;
　　　　 　　 　　 　　 case 50:&lt;br /&gt;
　　　　 　　 　　 　　 　　 saying = “我不想要失去我妈”;&lt;br /&gt;
　　　　 　　 　　 　　 　　 break;&lt;br /&gt;
　　　　 　　 　　 　　 case unknownAge:&lt;br /&gt;
　　　　 　　 　　 　　 　　 saying = “只要我妈还能在这,我愿意为了我妈放弃一切”;&lt;br /&gt;
　　　　 　　 　　 　　 　　 break;&lt;br /&gt;
　　　　 　　 　　 　　 default:&lt;br /&gt;
　　　　 　　 　　 　　 　　 saying = youDefineIt();&lt;br /&gt;
　　　　 　　 　　 　　 　　 break;&lt;br /&gt;
　　　　 　　 　　 }&lt;br /&gt;
　　　　 　　 }&lt;/p&gt;
&lt;p&gt;　　　　　　 new Thread(){public void run()&lt;br /&gt;
　　　　　　 {&lt;br /&gt;
　　　　　　 　　 while(isPeopleStillLive())&lt;br /&gt;
　　　　　　 　　 {&lt;br /&gt;
　　　　　　 　　 　　 saying = “每个人都只有一个妈妈，要好好的孝敬我们的妈妈!”;&lt;br /&gt;
　　　　　　 　　 }&lt;br /&gt;
　　　　　　 } }.start();&lt;/p&gt;
&lt;p&gt;　　　　}&lt;/p&gt;
&lt;p&gt;　　　public boolean isPeopleStillLive()&lt;br /&gt;
　　　{&lt;br /&gt;
　　 　　 return true || false; //猿猿很明白，人类最清楚&lt;br /&gt;
　　　}&lt;/p&gt;
&lt;p&gt;　　　 public String youDefineIt()&lt;br /&gt;
　　　{&lt;br /&gt;
　　　　//猿猿自己说&amp;#8230;&amp;#8230;&lt;br /&gt;
　　　　StringBuffer result = new StringBuffer();&lt;br /&gt;
　　　　result.append(“&amp;#8230;&amp;#8230;”);&lt;br /&gt;
　　　　result.append(“&amp;#8230;&amp;#8230;”);&lt;br /&gt;
　　　　result.append(“&amp;#8230;&amp;#8230;”);&lt;br /&gt;
　　　　result.append(“&amp;#8230;&amp;#8230;”);&lt;/p&gt;
&lt;p&gt;　　　　return result.toString();&lt;br /&gt;
　　　}&lt;/p&gt;
&lt;p&gt;　　　private static final int unknownAge = 70; //业界把这个常量设成了70，猿猿希望是100&lt;br /&gt;
　　　private String saying =”&quot;;&lt;/p&gt;
&lt;p&gt;　　　public static void main(String[] args)&lt;br /&gt;
　　　{&lt;br /&gt;
　　　　new MothersDayFromCodeMonkeyView();&lt;br /&gt;
　　　}&lt;br /&gt;
}&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/579872882/kakee/feedsky/s.gif?r=http://www.kakee.net/?p=6&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.kakee.net/?feed=rss2&amp;p=6</wfw:commentRss><slash:comments>0</slash:comments><description>public class MothersDayFromCodeMonkeyView 　　{ 　　　　public MothersDayFromCodeMonkeyView() 　　　　{ 　　　　 　　 int age=0; //猿猿刚出生的时候 　　　　 　　saying=”crying”; //除了哭啼，还不知道如何去表达 　　　　　　 while(true) 　　　　 　　 { 　　　　 　　 　　 try 　　　　 　　 　　 { 　　　　 　　 　　 　　 Thread.sleep(365*24*60*60*1000L); 　　　　 　　 　　 } 　　　　 　　 　　 catch (InterruptedException e) 　　　　 　　 　　 { 　　　　 　　 　　 　　 break; //猿猿明白这意味着什么 　　　　 　　 [...]&lt;img src=&quot;http://www1.feedsky.com/t1/579872882/kakee/feedsky/s.gif?r=http://www.kakee.net/?p=6&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>表分类</category><pubDate>Sun, 08 May 2011 21:00:10 +0800</pubDate><author>admin</author><comments>http://www.kakee.net/?p=6#comments</comments><guid isPermaLink="false">http://www.kakee.net/?p=4</guid><dc:creator>admin</dc:creator><fs:srclink>http://www.kakee.net/?p=6</fs:srclink><fs:srcfeed>http://www.kakee.net/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/kakee/~7160097/579872882/5268945</fs:itemid></item></channel></rss>
