<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feed.feedsky.com/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:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://feed.zhuoqun.net" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feed.feedsky.com/zhuoqun" type="application/rss+xml"></fs:self_link><lastBuildDate>Wed, 19 Nov 2008 09:57:23 GMT</lastBuildDate><title>Dreamer's Blog</title><description>Born To Dream，Live For Love</description><image><url>http://www.feedsky.com/feed/zhuoqun/sc/gif</url><title>Dreamer's Blog</title><link>http://www.zhuoqun.net</link></image><link>http://www.zhuoqun.net</link><language>en</language><pubDate>Wed, 19 Nov 2008 09:57:23 GMT</pubDate><item><title>PHP 截取HTML串</title><link>http://item.feedsky.com/~feedsky/zhuoqun/~6142567/139609264/1487400/1/item.html</link><content:encoded>&lt;p&gt;需求：将一段文字截取一定的物理长度显示，注意，要截取的不是字符串的字节数，UFT-8 的编码中文字符是3个字节或者4个字节的，而显示的时候中文会占两个字符的长度，英文字符只占一个，全角的时候又有不同。而且给的数据是HTML代码串，比如这样：&lt;/p&gt;
&lt;p&gt;&amp;lt;div class=&amp;#8221;aaa&amp;#8221;&amp;gt;&amp;lt;a href=&amp;#8221;/aaa.php?id=1&amp;#8243;&amp;gt;张三&amp;lt;/a&amp;gt;  评论了 &amp;lt;a href=&amp;#8221;/aaa.php?id=444&amp;#8243;&amp;gt;李四&amp;lt;/a&amp;gt; 分享的 &amp;lt;a href=&amp;#8221;bbb.html&amp;#8221;&amp;gt;一篇文章文章一长串的东西&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&lt;/p&gt;
&lt;p&gt;截取的时候是要截取 div 标签内部的东西，而且要保留HTML标签，只是对其中的文字做处理。比如我可能只是截取到“李四”的“李”字，但是如果就这样放到前端的话，“李四”前面的 a 标签是没有闭合的，所以截取之后要保证HTML的语法正确。&lt;/p&gt;
&lt;p&gt;这个问题确实不太好搞，让我郁闷了两天。请注意，这只是一个字符串，只不过内容是HTML代码，是没有什么DOM的。如果是在前端处理就好办了，直接DOM获取，然后对里面的节点进行处理，最后把innerHTML 之类的东西输出就搞定了。现在可不行了，得换个思路。同事的思路是这样的：&lt;/p&gt;
&lt;p&gt;遍历字符串的每一个字符。设置一个标记，碰到标签开始的标记&amp;lt; 就置为1，接下来的字符都不记数，然后碰到&amp;gt;之后再开始计数。对标签内部的字符串处理的时候，还要先判断当前字符的编码是不是可能是中文，一般来说PHP中 UTF-8 编码的中文字符的长度都是3，所以如果碰到是中文字符编码，就要跳过两个不记数……说到这里我自己头已经开始大了。个人认为这种方法很不爽，首先这种精致的逻辑不太容易控制，而且 &lt;strong&gt;UFT-8 编码下中文产生的长度有可能是3个或4个&lt;/strong&gt; 所以代码的严密性值得怀疑。&lt;/p&gt;
&lt;p&gt;我个人的思路是，用 &lt;a href=&quot;http://au.php.net/manual/en/book.tidy.php&quot;&gt;Tidy&lt;/a&gt; 来搞（具体用法请看PHP手册吧）。昨天研究了一下那个 Tidy ，发现这个东西还是挺好用的。首先，把这个字符串转换成 Tidy 对象，这样：&lt;/p&gt;
&lt;p&gt;$tidy = tidy_parse_string($str, array(), &amp;#8216;utf8&amp;#8242;);  // 最后一个是设置编码的，注意，这里是&lt;strong&gt;utf8&lt;/strong&gt; ，不是&lt;strong&gt;utf-8&lt;/strong&gt;，没有中间那个连线。&lt;/p&gt;
&lt;p&gt;然后获取$tidy中的 body（因为转换之后$tidy会自动加上&amp;lt;head&amp;gt;&amp;lt;body&amp;gt;等标签）：&lt;/p&gt;
&lt;p&gt;$body =  tidy_get_body($tidy);&lt;/p&gt;
&lt;p&gt;这个时候你可以用 var_dump 看一些 $body 的结构，会发现它把每个标签都变成了一个对应的对象，里面有相应的属性。举例来说，比如 &amp;lt;a href=&amp;#8221;#&amp;#8221;&amp;gt;sdf&amp;lt;/a&amp;gt; ，这么一条语句对应的一些属性有：&lt;/p&gt;
&lt;p&gt;name=&amp;gt;&amp;#8221;a&amp;#8221;&lt;br /&gt;
value =&amp;gt; &amp;#8220;&amp;lt;a href=&amp;#8221;#&amp;#8221;&amp;gt;sdf&amp;lt;/a&amp;gt;&amp;#8221;&lt;br /&gt;
child=&amp;gt; array{[0]=&amp;gt;一个文本节点对象，value是 sdf}&lt;br /&gt;
attribute=array{&amp;#8221;href&amp;#8221;=&amp;gt;&amp;#8221;#&amp;#8221;}&lt;br /&gt;
&amp;#8230;..其他属性&lt;/p&gt;
&lt;p&gt;可以看到，我们其实是可以单独去处理 a 标签对应节点下面的文字节点的值的，那样就不会破坏任何HTML完整性。原来我以为改变 a 标签中文字节点的值之后， a 标签的value也会跟着改变，那样我直接返回a标签对应节点的value就OK了，没想到不是那个样子，哎，所以处理过其中的文字之后还是要自己拼出新的HTML。&lt;/p&gt;
&lt;p&gt;知道了Tidy对象的结构之后，一切就好办了，只要遍历所有的节点，对于本需求来说，就是找到那个 div 标签，然后开始处理里面的节点。代码如下：&lt;/p&gt;
&lt;p&gt;if(mb_strwidth($subchild-&amp;gt;value, &amp;#8216;utf-8&amp;#8242;) &amp;gt;= $len)&lt;br /&gt;
{&lt;br /&gt;
$subchild-&amp;gt;value = mb_strimwidth($subchild-&amp;gt;value, 0, $len, &amp;#8216;&amp;#8230;&amp;#8217;, &amp;#8216;utf-8&amp;#8242;);&lt;br /&gt;
$trimed_str .= $subchild-&amp;gt;value;&lt;br /&gt;
break;&lt;br /&gt;
}&lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
$trimed_str .= $subchild-&amp;gt;value;&lt;br /&gt;
$len = $len - mb_strwidth($subchild-&amp;gt;value, &amp;#8216;utf-8&amp;#8242;);&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;里面的$subchild 就是一个子节点。注意，这里使用了 &lt;strong&gt;mb_strwidth&lt;/strong&gt; 来获取字符串长度。严重推荐一下这个 &lt;strong&gt;mb_strwidth&lt;/strong&gt;，很好用，它会把中文当作两个字符长度处理，正好符合这里的需求！而且截取字符串的时候用到了 &lt;strong&gt;mb_strimwidth&lt;/strong&gt;，这个函数也会把中文当作两个字符长度处理，mb_ 开头的函数真是好用啊。&lt;/p&gt;
&lt;p&gt;具体代码我就不写出来了，因为是针对一个需求写的，没做成通用的形式。哪天我有时间做成通用的再发布一下。&lt;/p&gt;
&lt;p&gt;另外，可惜FireFox不支持 text-overflow 属性，不然也不用后台那么辛苦地去截断了。如果大家有更好的方法，欢迎提出！不胜感激。&lt;/p&gt;
&lt;p class=&quot;akst_link&quot;&gt;&lt;a href=&quot;http://www.zhuoqun.net/?p=1121&amp;amp;akst_action=share-this&quot;  title=&quot;推荐，收藏到QQ书签，del.icio.us等等。&quot; id=&quot;akst_link_1121&quot; class=&quot;akst_share_link&quot; rel=&quot;noindex nofollow&quot;&gt;分享收藏&lt;/a&gt;
&lt;/p&gt;
&lt;!-- Generated by Simple Tags 1.0.4 - http://www.herewithme.fr/wordpress-plugins/simple-tags --&gt;
	&lt;h4&gt;相关日志&lt;/h4&gt;
	&lt;ul class='st-related-posts'&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2008/1120.html&quot; title=&quot;在PHP中处理 HTML 代码 (2008-11-17)&quot;&gt;在PHP中处理 HTML 代码&lt;/a&gt; (1)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2008/1119.html&quot; title=&quot;遇到的一些小问题 (2008-11-17)&quot;&gt;遇到的一些小问题&lt;/a&gt; (2)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2008/1118.html&quot; title=&quot;YUI学习笔记：YUI Loader (2008-11-02)&quot;&gt;YUI学习笔记：YUI Loader&lt;/a&gt; (4)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2008/1113.html&quot; title=&quot;一种 DOCTYPE 的缩写 (2008-10-17)&quot;&gt;一种 DOCTYPE 的缩写&lt;/a&gt; (5)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2008/1110.html&quot; title=&quot;一款好用的取色器 (2008-10-09)&quot;&gt;一款好用的取色器&lt;/a&gt; (13)&lt;/li&gt;
&lt;/ul&gt;</content:encoded><wfw:commentRss>http://www.zhuoqun.net/html/y2008/1121.html/feed</wfw:commentRss><description>需求：将一段文字截取一定的物理长度显示，注意，要截取的不是字符串的字节数，UFT-8 的编码中文字符是3个字节或者4个字节的，而显示的时候中文会占两个字符的长度，英文字符只占一个，全角的时候又有不同。而且给的数据是HTML代码串，比如这样：
&amp;#60;div class=&amp;#8221;aaa&amp;#8221;&amp;#62;&amp;#60;a href=&amp;#8221;/aaa.php?id=1&amp;#8243;&amp;#62;张三&amp;#60;/a&amp;#62;  评论了 &amp;#60;a href=&amp;#8221;/aaa.php?id=444&amp;#8243;&amp;#62;李四&amp;#60;/a&amp;#62; 分享的 &amp;#60;a href=&amp;#8221;bbb.html&amp;#8221;&amp;#62;一篇文章文章一长串的东西&amp;#60;/a&amp;#62;&amp;#60;/div&amp;#62;
截取的时候是要截取 div 标签内部的东西，而且要保留HTML标签，只是对其中的文字做处理。比如我可能只是截取到“李四”的“李”字，但是如果就这样放到前端的话，“李四”前面的 a 标签是没有闭合的，所以截取之后要保证HTML的语法正确。
这个问题确实不太好搞，让我郁闷了两天。请注意，这只是一个字符串，只不过内容是HTML代码，是没有什么DOM的。如果是在前端处理就好办了，直接DOM获取，然后对里面的节点进行处理，最后把innerHTML 之类的东西输出就搞定了。现在可不行了，得换个思路。同事的思路是这样的：
遍历字符串的每一个字符。设置一个标记，碰到标签开始的标记&amp;#60; 就置为1，接下来的字符都不记数，然后碰到&amp;#62;之后再开始计数。对标签内部的字符串处理的时候，还要先判断当前字符的编码是不是可能是中文，一般来说PHP中 UTF-8 编码的中文字符的长度都是3，所以如果碰到是中文字符编码，就要跳过两个不记数……说到这里我自己头已经开始大了。个人认为这种方法很不爽，首先这种精致的逻辑不太容易控制，而且 UFT-8 编码下中文产生的长度有可能是3个或4个 所以代码的严密性值得怀疑。
我个人的思路是，用 Tidy 来搞（具体用法请看PHP手册吧）。昨天研究了一下那个 Tidy ，发现这个东西还是挺好用的。首先，把这个字符串转换成 Tidy 对象，这样：
$tidy = tidy_parse_string($str, array(), &amp;#8216;utf8&amp;#8242;);  // 最后一个是设置编码的，注意，这里是utf8 ，不是utf-8，没有中间那个连线。
然后获取$tidy中的 body（因为转换之后$tidy会自动加上&amp;#60;head&amp;#62;&amp;#60;body&amp;#62;等标签）：
$body =  tidy_get_body($tidy);
这个时候你可以用 var_dump 看一些 $body 的结构，会发现它把每个标签都变成了一个对应的对象，里面有相应的属性。举例来说，比如 &amp;#60;a href=&amp;#8221;#&amp;#8221;&amp;#62;sdf&amp;#60;/a&amp;#62; ，这么一条语句对应的一些属性有：
name=&amp;#62;&amp;#8221;a&amp;#8221;
value =&amp;#62; &amp;#8220;&amp;#60;a href=&amp;#8221;#&amp;#8221;&amp;#62;sdf&amp;#60;/a&amp;#62;&amp;#8221;
child=&amp;#62; array{[0]=&amp;#62;一个文本节点对象，value是 sdf}
attribute=array{&amp;#8221;href&amp;#8221;=&amp;#62;&amp;#8221;#&amp;#8221;}
&amp;#8230;..其他属性
可以看到，我们其实是可以单独去处理 a 标签对应节点下面的文字节点的值的，那样就不会破坏任何HTML完整性。原来我以为改变 a 标签中文字节点的值之后， a 标签的value也会跟着改变，那样我直接返回a标签对应节点的value就OK了，没想到不是那个样子，哎，所以处理过其中的文字之后还是要自己拼出新的HTML。
知道了Tidy对象的结构之后，一切就好办了，只要遍历所有的节点，对于本需求来说，就是找到那个 [...]</description><category>PHP</category><category>学习笔记</category><category>html</category><category>技术</category><pubDate>Wed, 19 Nov 2008 17:57:23 +0800</pubDate><author>Dreamer</author><comments>http://www.zhuoqun.net/html/y2008/1121.html#comments</comments><guid isPermaLink="false">http://www.zhuoqun.net/?p=1121</guid><dc:creator>Dreamer</dc:creator><fs:srclink>http://www.zhuoqun.net/html/y2008/1121.html</fs:srclink><fs:srcfeed>http://www.zhuoqun.net/feed</fs:srcfeed><fs:itemid>feedsky/zhuoqun/~6142567/139609264/1487400</fs:itemid></item><item><title>在PHP中处理 HTML 代码</title><link>http://item.feedsky.com/~feedsky/zhuoqun/~6142567/139609265/1487400/1/item.html</link><content:encoded>&lt;p&gt;下午的时候同事碰到了一个小问题，是这样的：他从别人的接口中取回一长串的HTML，但是他只需要其中的一块。这就涉及到在PHP中解析HTML字符串的问题，花了挺长时间，找了不同的方法，在此记录一下：&lt;/p&gt;
&lt;p&gt;1.最简单的就是字符串解析，灵活运用 strpos , substr 混合处理，把那一段代码抠出来。由于他要取的是一个固定的div内的东西，而且那个div 的 class 属性也是固定的，所以这种方法倒也简单，直接先以&amp;lt;div class=&amp;#8221;xxx&amp;#8221; 作为needle 找到那个div，然后做一些操作就行了。&lt;/p&gt;
&lt;p&gt;2.PHP DOMDocument 。听到这个问题的时候首先想到的是PHP的DOM解析功能，刚开始真的以为找到了救星。但是最后发现这个东西的功能不能解决问题，反正我是没找到。因为最好我们想要把div里面的html代码输出出来，结果用 DOMDocument 提供的方法输出的全是不带标签的纯文本，无奈，只好弃用。（可能是我不知道它的用法，希望知道的不吝赐教。）&lt;/p&gt;
&lt;p&gt;3. Tidy Functions 。其实 Tidy 是用来整理HTML的，不过它也可以进行HTML的解析处理。先使用tidy_parse_string() 把字符串转换成 tidy 对象，然后就可以利用tidy的方法对其进行处理了，还算方便，不过这个东西只能在 PHP 4.3.x 和 PHP 5 的版本下才有。具体方法和使用请参考手册。&lt;/p&gt;
&lt;p&gt;4. &lt;strong&gt;strip_tags()&lt;/strong&gt; 。无意中发现了这个函数，实在是太好用了！！上面几种方法最好我都是结合着strip_tags()来使用的。strip_tags() 可以过滤掉HTML和PHP标签，返回一个全新的字符串！用法如下：&lt;/p&gt;
&lt;p&gt;string &lt;strong class=&quot;methodname&quot;&gt;strip_tags&lt;/strong&gt; ( string 要处理的字符串 [, string 想保留的标签]  )&lt;/p&gt;
&lt;p&gt;如果你想保留某些标签，比如 &amp;lt;a&amp;gt; 标签，就可以这样写，strip_tags($str, &amp;#8220;&amp;lt;a&amp;gt;&amp;#8221;) ，如果想保留多个标签，就可以这么写： strip_tags($str, &amp;#8220;&amp;lt;a&amp;gt; &amp;lt;img&amp;gt;&amp;#8221;);  标签之间用空格隔开就可以了。&lt;/p&gt;
&lt;p&gt;5.另外，据我另一个同事测试，好像使用 XMLReader 来搞，没尝试，有兴趣的可以搞一下。&lt;/p&gt;
&lt;p&gt;在工作中学习到的一些小东西，记录下来，省的以后忘记了。如果大家有什么更好的技巧，欢迎赐教，谢谢。&lt;/p&gt;
&lt;p class=&quot;akst_link&quot;&gt;&lt;a href=&quot;http://www.zhuoqun.net/?p=1120&amp;amp;akst_action=share-this&quot;  title=&quot;推荐，收藏到QQ书签，del.icio.us等等。&quot; id=&quot;akst_link_1120&quot; class=&quot;akst_share_link&quot; rel=&quot;noindex nofollow&quot;&gt;分享收藏&lt;/a&gt;
&lt;/p&gt;
&lt;!-- Generated by Simple Tags 1.0.4 - http://www.herewithme.fr/wordpress-plugins/simple-tags --&gt;
	&lt;h4&gt;相关日志&lt;/h4&gt;
	&lt;ul class='st-related-posts'&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2008/1121.html&quot; title=&quot;PHP 截取HTML串 (2008-11-19)&quot;&gt;PHP 截取HTML串&lt;/a&gt; (0)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2008/1119.html&quot; title=&quot;遇到的一些小问题 (2008-11-17)&quot;&gt;遇到的一些小问题&lt;/a&gt; (2)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2008/1113.html&quot; title=&quot;一种 DOCTYPE 的缩写 (2008-10-17)&quot;&gt;一种 DOCTYPE 的缩写&lt;/a&gt; (5)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2006/359.html&quot; title=&quot;在 Flex 中显示 HTML (2006-12-08)&quot;&gt;在 Flex 中显示 HTML&lt;/a&gt; (2)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2008/1118.html&quot; title=&quot;YUI学习笔记：YUI Loader (2008-11-02)&quot;&gt;YUI学习笔记：YUI Loader&lt;/a&gt; (4)&lt;/li&gt;
&lt;/ul&gt;</content:encoded><wfw:commentRss>http://www.zhuoqun.net/html/y2008/1120.html/feed</wfw:commentRss><description>下午的时候同事碰到了一个小问题，是这样的：他从别人的接口中取回一长串的HTML，但是他只需要其中的一块。这就涉及到在PHP中解析HTML字符串的问题，花了挺长时间，找了不同的方法，在此记录一下：
1.最简单的就是字符串解析，灵活运用 strpos , substr 混合处理，把那一段代码抠出来。由于他要取的是一个固定的div内的东西，而且那个div 的 class 属性也是固定的，所以这种方法倒也简单，直接先以&amp;#60;div class=&amp;#8221;xxx&amp;#8221; 作为needle 找到那个div，然后做一些操作就行了。
2.PHP DOMDocument 。听到这个问题的时候首先想到的是PHP的DOM解析功能，刚开始真的以为找到了救星。但是最后发现这个东西的功能不能解决问题，反正我是没找到。因为最好我们想要把div里面的html代码输出出来，结果用 DOMDocument 提供的方法输出的全是不带标签的纯文本，无奈，只好弃用。（可能是我不知道它的用法，希望知道的不吝赐教。）
3. Tidy Functions 。其实 Tidy 是用来整理HTML的，不过它也可以进行HTML的解析处理。先使用tidy_parse_string() 把字符串转换成 tidy 对象，然后就可以利用tidy的方法对其进行处理了，还算方便，不过这个东西只能在 PHP 4.3.x 和 PHP 5 的版本下才有。具体方法和使用请参考手册。
4. strip_tags() 。无意中发现了这个函数，实在是太好用了！！上面几种方法最好我都是结合着strip_tags()来使用的。strip_tags() 可以过滤掉HTML和PHP标签，返回一个全新的字符串！用法如下：
string strip_tags ( string 要处理的字符串 [, string 想保留的标签]  )
如果你想保留某些标签，比如 &amp;#60;a&amp;#62; 标签，就可以这样写，strip_tags($str, &amp;#8220;&amp;#60;a&amp;#62;&amp;#8221;) ，如果想保留多个标签，就可以这么写： strip_tags($str, &amp;#8220;&amp;#60;a&amp;#62; &amp;#60;img&amp;#62;&amp;#8221;);  标签之间用空格隔开就可以了。
5.另外，据我另一个同事测试，好像使用 XMLReader 来搞，没尝试，有兴趣的可以搞一下。
在工作中学习到的一些小东西，记录下来，省的以后忘记了。如果大家有什么更好的技巧，欢迎赐教，谢谢。
分享收藏


	相关日志
	
	PHP 截取HTML串 (0)
	遇到的一些小问题 (2)
	一种 DOCTYPE [...]</description><category>DOM</category><category>PHP</category><category>学习笔记</category><category>tip</category><category>html</category><category>技术</category><pubDate>Mon, 17 Nov 2008 20:41:23 +0800</pubDate><author>Dreamer</author><comments>http://www.zhuoqun.net/html/y2008/1120.html#comments</comments><guid isPermaLink="false">http://www.zhuoqun.net/?p=1120</guid><dc:creator>Dreamer</dc:creator><fs:srclink>http://www.zhuoqun.net/html/y2008/1120.html</fs:srclink><fs:srcfeed>http://www.zhuoqun.net/feed</fs:srcfeed><fs:itemid>feedsky/zhuoqun/~6142567/139609265/1487400</fs:itemid></item><item><title>遇到的一些小问题</title><link>http://item.feedsky.com/~feedsky/zhuoqun/~6142567/139609266/1487400/1/item.html</link><content:encoded>&lt;p&gt;最近给应用做了一个直邮推广，期间遇到一些小问题，在此记录一下。&lt;/p&gt;
&lt;p&gt;1.直邮里面不允许用javascript，这点很让人郁闷，所以一切交互只能借助html原生的的东西来实现。实现的时候按钮本来是使用 button 标签的，不过后来发现在 IE 下无法完成提交表单的功能，不知为何，后来改为 input 标签，成功。&lt;/p&gt;
&lt;p&gt;2. FireFox 下面不支持 cursor:hand 属性，所以在FireFox里设置鼠标形状为手型，需要这样来搞：cursor:pointer 。但是这么一来 IE 下又不好使了，无奈，只好 hack 一下：cursor:pointer;*cursor:hand&lt;/p&gt;
&lt;p&gt;3. HTML的原生标签都是有默认样式的，所以我设置了 h1 的padding-bottom之后发现IE 和 FireFox 显示不一致，后来得知要先把这个标签的 margin 和 padding都置为0 。所以很多页面的CSS开头就是 *{margin:0; padding:0;}，不过好像不推荐使用 * ，可以考虑一下&lt;a href=&quot;http://developer.yahoo.com/yui/&quot;  class=&quot;alinks_links&quot; onclick=&quot;return alinks_click(this);&quot; title=&quot;Yahoo! UI Library&quot;  style=&quot;padding-right: 13px; background: url(http://www.zhuoqun.net/wp-content/plugins/alinks/images/external.png) center right no-repeat;&quot; rel=&quot;external&quot;&gt;YUI&lt;/a&gt;的 &lt;a href=&quot;http://developer.yahoo.com/yui/reset/&quot;&gt;Reset CSS&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;4. 直邮里面很多地方尽量用图片。一个WD告诉我的，因为邮箱可能对邮件内容做很多限制，很多CSS属性也不保证能弄。他们说直邮是最没有技术含量的，哈哈，所以我赶紧弄过来自己切页面了，锻炼一下，没有技术含量的工作适合现在的我。&lt;/p&gt;
&lt;p class=&quot;akst_link&quot;&gt;&lt;a href=&quot;http://www.zhuoqun.net/?p=1119&amp;amp;akst_action=share-this&quot;  title=&quot;推荐，收藏到QQ书签，del.icio.us等等。&quot; id=&quot;akst_link_1119&quot; class=&quot;akst_share_link&quot; rel=&quot;noindex nofollow&quot;&gt;分享收藏&lt;/a&gt;
&lt;/p&gt;
&lt;!-- Generated by Simple Tags 1.0.4 - http://www.herewithme.fr/wordpress-plugins/simple-tags --&gt;
	&lt;h4&gt;相关日志&lt;/h4&gt;
	&lt;ul class='st-related-posts'&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2008/1120.html&quot; title=&quot;在PHP中处理 HTML 代码 (2008-11-17)&quot;&gt;在PHP中处理 HTML 代码&lt;/a&gt; (1)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2008/1121.html&quot; title=&quot;PHP 截取HTML串 (2008-11-19)&quot;&gt;PHP 截取HTML串&lt;/a&gt; (0)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2008/1118.html&quot; title=&quot;YUI学习笔记：YUI Loader (2008-11-02)&quot;&gt;YUI学习笔记：YUI Loader&lt;/a&gt; (4)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2008/1113.html&quot; title=&quot;一种 DOCTYPE 的缩写 (2008-10-17)&quot;&gt;一种 DOCTYPE 的缩写&lt;/a&gt; (5)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2008/1109.html&quot; title=&quot;YUI 学习笔记: YAHOO 全局对象 (2008-10-09)&quot;&gt;YUI 学习笔记: YAHOO 全局对象&lt;/a&gt; (3)&lt;/li&gt;
&lt;/ul&gt;</content:encoded><wfw:commentRss>http://www.zhuoqun.net/html/y2008/1119.html/feed</wfw:commentRss><description>最近给应用做了一个直邮推广，期间遇到一些小问题，在此记录一下。
1.直邮里面不允许用javascript，这点很让人郁闷，所以一切交互只能借助html原生的的东西来实现。实现的时候按钮本来是使用 button 标签的，不过后来发现在 IE 下无法完成提交表单的功能，不知为何，后来改为 input 标签，成功。
2. FireFox 下面不支持 cursor:hand 属性，所以在FireFox里设置鼠标形状为手型，需要这样来搞：cursor:pointer 。但是这么一来 IE 下又不好使了，无奈，只好 hack 一下：cursor:pointer;*cursor:hand
3. HTML的原生标签都是有默认样式的，所以我设置了 h1 的padding-bottom之后发现IE 和 FireFox 显示不一致，后来得知要先把这个标签的 margin 和 padding都置为0 。所以很多页面的CSS开头就是 *{margin:0; padding:0;}，不过好像不推荐使用 * ，可以考虑一下YUI的 Reset CSS。
4. 直邮里面很多地方尽量用图片。一个WD告诉我的，因为邮箱可能对邮件内容做很多限制，很多CSS属性也不保证能弄。他们说直邮是最没有技术含量的，哈哈，所以我赶紧弄过来自己切页面了，锻炼一下，没有技术含量的工作适合现在的我。
分享收藏


	相关日志
	
	在PHP中处理 HTML 代码 (1)
	PHP 截取HTML串 (0)
	YUI学习笔记：YUI Loader (4)
	一种 DOCTYPE 的缩写 (5)
	YUI 学习笔记: YAHOO 全局对象 (3)</description><category>hack</category><category>PHP</category><category>学习笔记</category><category>tip</category><category>CSS</category><category>技术</category><pubDate>Mon, 17 Nov 2008 12:03:12 +0800</pubDate><author>Dreamer</author><comments>http://www.zhuoqun.net/html/y2008/1119.html#comments</comments><guid isPermaLink="false">http://www.zhuoqun.net/?p=1119</guid><dc:creator>Dreamer</dc:creator><fs:srclink>http://www.zhuoqun.net/html/y2008/1119.html</fs:srclink><fs:srcfeed>http://www.zhuoqun.net/feed</fs:srcfeed><fs:itemid>feedsky/zhuoqun/~6142567/139609266/1487400</fs:itemid></item><item><title>YUI学习笔记：YUI Loader</title><link>http://item.feedsky.com/~feedsky/zhuoqun/~6142567/139609267/1487400/1/item.html</link><content:encoded>&lt;p&gt;说明：英文好的请直接&lt;a href=&quot;http://developer.yahoo.com/yui/yuiloader/&quot;&gt;猛击这里&lt;/a&gt;，本文没什么新东西。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://developer.yahoo.com/yui/&quot;  class=&quot;alinks_links&quot; onclick=&quot;return alinks_click(this);&quot; title=&quot;Yahoo! UI Library&quot;  style=&quot;padding-right: 13px; background: url(http://www.zhuoqun.net/wp-content/plugins/alinks/images/external.png) center right no-repeat;&quot; rel=&quot;external&quot;&gt;YUI&lt;/a&gt;中有很多核心组件，比如像DOM, Event，几乎每个应用都会用到，但是我觉得在学习这些组件之前，最好先了解一下YUI Loader 这个好东西。YUI Loader 也是一个 YUI 的组件，它的作用就是通过脚本加载页面中需要用到的YUI 组件，说白了，就是在页面加载的时候，动态地在页面中插入&amp;lt;script&amp;gt; 标签，那么它和直接在页面中写 &amp;lt;script&amp;gt; 标签有什么区别呢？好处如下：&lt;/p&gt;
&lt;p&gt;1. 可靠；按照依赖顺序加载YUI组件。由于YUI中组件很多，为了平衡代码重用和代码独立，很多组件相互之间都有依赖关系，必须要按照依赖次序加载，不然就要出错。YUI Loader知道组件之间的依赖关系，如果你加载某个组件的话，YUI Loader就会先把这个组件依赖的所有组件按照次序加载进来，保证不出错。&lt;/p&gt;
&lt;p&gt;2. 当页面中已经有YUI组件的时候，利用YUI Loader添加新的组件会比较安全。因为开发者会自己编写一些可重用的YUI组件，所以在加载这些组件的时候页面中可能已经有了YUI其它的组件，如果自己编写的YUI组件依赖于YUI中其他组件的话，可能会在页面中重复加载一些YUI组件。使用YUI Loader就可以避免这个问题，它不会重复加载那些页面中已经存在的组件，只是把那些页面中不存在的组件加载进来。&lt;/p&gt;
&lt;p&gt;3.自动使用集成的（rolled-up）文件。YUI中有些 js 文件集成了很多功能，比如 yahoo-dom-event.js 就集成了YAHOO全局对象，Dom 以及 Event 。YUI Loader会根据情况判断是否使用集成文件，这样的话就会少加载一些js文件，减少了HTTP请求，而页面的HTTP请求对页面加载速度是会有很大影响的。（&lt;a href=&quot;http://yuiblog.com/blog/2006/11/28/performance-research-part-1/&quot;&gt;关于HTTP请求请看这里&lt;/a&gt;）&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;提示：&lt;/strong&gt; 任何一种在客户端脚本中动态加载外部js的方法，或多或少都会对性能有一些影响。如果你追求性能最优的话，那么在页面中直接写&amp;lt;script&amp;gt; 或 &amp;lt;link&amp;gt; 标签会更好。&lt;/p&gt;
&lt;p&gt;在使用 YUI Loader 这个组件之前呢，还是要首先引入一个script文件，如下：&lt;br /&gt;
&amp;lt;script type=&amp;#8221;text/javascript&amp;#8221; src=&amp;#8221;http://yui.yahooapis.com/2.6.0/build/yuiloader/yuiloader-min.js&amp;#8221; &amp;gt;&amp;lt;/script&amp;gt;&lt;/p&gt;
&lt;p&gt;如果你决定使用 YUI Loader 组件的话，就不用单独引入YAHOO全局对象的js文件了，因为YUI Loader 本身就包含了YAHOO全局对象。&lt;/p&gt;
&lt;p&gt;下面介绍一下YUI Loader组件中的一些主要参数和方法：&lt;/p&gt;
&lt;p&gt;方法：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;insert() 方法&lt;/strong&gt;：最经常用的一个方法，在配置好YUI Loader之后，使用这个方法把YUI组件动态加载进来。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;sandbox() 方法&lt;/strong&gt;：有时候动态加载进来的组件可能会和现有的组件有冲突，这个时候就可以使用sandbox() 方法安全地加载组件。该方法通过&lt;a href=&quot;http://developer.yahoo.com/yui/connection/&quot;&gt;YUI Connection Manager&lt;/a&gt; 来获取组件，并且在一个匿名函数中执行。所以，这个方法只能够加载同一个域下的JS。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;addModule() 方法&lt;/strong&gt;：用来添加自定义的组件，有以下主要参数（&lt;a href=&quot;http://developer.yahoo.com/yui/yuiloader/#addmodule&quot;&gt;具体看这里&lt;/a&gt;）：&lt;br /&gt;
name: 组件的名字，必须是独一无二的，而且不能与YUI自带的组件冲突。&lt;br /&gt;
type: 组件类型。js 或者 css&lt;br /&gt;
path: 组件的路径，一般都是相对于 YUI Loader中的 base 的相对路径。&lt;br /&gt;
fullpath: 组件的完整路径。&lt;br /&gt;
requires: 所依赖的YUI组件&lt;/p&gt;
&lt;p&gt;参数（&lt;a href=&quot;http://developer.yahoo.com/yui/yuiloader/#config&quot;&gt;全部参数介绍请看这里&lt;/a&gt;）：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;require&lt;/strong&gt;：数组，包含了要加载的组件的模块名。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;base&lt;/strong&gt;：加载组件的默认路径，加载组件的时候YUI Loader会先去这里找。相当于系统变量里的path。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;onSuccess&lt;/strong&gt;：函数，加载成功的时候调用。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;onFailure&lt;/strong&gt;：函数，加载失败的时候调用。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;varName&lt;/strong&gt;：如果你加载的是自定义的组件，当组件加载完毕的时候这个变量就会变成可用的。&lt;/p&gt;
&lt;p&gt;最后说一下&lt;strong&gt;YUI模块名称&lt;/strong&gt;，说白了，就是YUI组件在 YUI Loader中对应的缩略名，这样就方便了加载，比如，你只需要在require 里加上 &amp;#8220;dom&amp;#8221; 就可以YUI中的DOM组件。全部对应关系&lt;a href=&quot;http://developer.yahoo.com/yui/yuiloader/#modulenames&quot;&gt;请看这里&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;OK，我就简单地介绍这么多，由于时间和精力的关系，很多地方写得都不是很详细，而且如果太详细了就是完全翻译文档了，也没什么太大意义。想了解更多还是去&lt;a href=&quot;http://developer.yahoo.com/yui/yuiloader/&quot;&gt;官方网站&lt;/a&gt;吧。&lt;/p&gt;
&lt;p&gt;另外，附送一篇YUI Blog上关于使用 YUI Loader 减少加载文件大小的分析：&lt;br /&gt;
&lt;a href=&quot;http://yuiblog.com/blog/2008/10/17/loading-yui/&quot;&gt;Loading YUI: Seeds, Core, and Combo-handling&lt;/a&gt;&lt;/p&gt;
&lt;p class=&quot;akst_link&quot;&gt;&lt;a href=&quot;http://www.zhuoqun.net/?p=1118&amp;amp;akst_action=share-this&quot;  title=&quot;推荐，收藏到QQ书签，del.icio.us等等。&quot; id=&quot;akst_link_1118&quot; class=&quot;akst_share_link&quot; rel=&quot;noindex nofollow&quot;&gt;分享收藏&lt;/a&gt;
&lt;/p&gt;
&lt;!-- Generated by Simple Tags 1.0.4 - http://www.herewithme.fr/wordpress-plugins/simple-tags --&gt;
	&lt;h4&gt;相关日志&lt;/h4&gt;
	&lt;ul class='st-related-posts'&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2008/1109.html&quot; title=&quot;YUI 学习笔记: YAHOO 全局对象 (2008-10-09)&quot;&gt;YUI 学习笔记: YAHOO 全局对象&lt;/a&gt; (3)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2008/1107.html&quot; title=&quot;YUI for Control Freaks (2008-10-06)&quot;&gt;YUI for Control Freaks&lt;/a&gt; (1)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2008/1104.html&quot; title=&quot;Opera Web Standards Curriculum (2008-09-30)&quot;&gt;Opera Web Standards Curriculum&lt;/a&gt; (2)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2008/1103.html&quot; title=&quot;[译文]The seven rules of Unobtrusive JavaScript (2008-09-28)&quot;&gt;[译文]The seven rules of Unobtrusive JavaScript&lt;/a&gt; (5)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2008/1102.html&quot; title=&quot;YUI 的一些资料 (2008-09-28)&quot;&gt;YUI 的一些资料&lt;/a&gt; (4)&lt;/li&gt;
&lt;/ul&gt;</content:encoded><wfw:commentRss>http://www.zhuoqun.net/html/y2008/1118.html/feed</wfw:commentRss><description>说明：英文好的请直接猛击这里，本文没什么新东西。
YUI中有很多核心组件，比如像DOM, Event，几乎每个应用都会用到，但是我觉得在学习这些组件之前，最好先了解一下YUI Loader 这个好东西。YUI Loader 也是一个 YUI 的组件，它的作用就是通过脚本加载页面中需要用到的YUI 组件，说白了，就是在页面加载的时候，动态地在页面中插入&amp;#60;script&amp;#62; 标签，那么它和直接在页面中写 &amp;#60;script&amp;#62; 标签有什么区别呢？好处如下：
1. 可靠；按照依赖顺序加载YUI组件。由于YUI中组件很多，为了平衡代码重用和代码独立，很多组件相互之间都有依赖关系，必须要按照依赖次序加载，不然就要出错。YUI Loader知道组件之间的依赖关系，如果你加载某个组件的话，YUI Loader就会先把这个组件依赖的所有组件按照次序加载进来，保证不出错。
2. 当页面中已经有YUI组件的时候，利用YUI Loader添加新的组件会比较安全。因为开发者会自己编写一些可重用的YUI组件，所以在加载这些组件的时候页面中可能已经有了YUI其它的组件，如果自己编写的YUI组件依赖于YUI中其他组件的话，可能会在页面中重复加载一些YUI组件。使用YUI Loader就可以避免这个问题，它不会重复加载那些页面中已经存在的组件，只是把那些页面中不存在的组件加载进来。
3.自动使用集成的（rolled-up）文件。YUI中有些 js 文件集成了很多功能，比如 yahoo-dom-event.js 就集成了YAHOO全局对象，Dom 以及 Event 。YUI Loader会根据情况判断是否使用集成文件，这样的话就会少加载一些js文件，减少了HTTP请求，而页面的HTTP请求对页面加载速度是会有很大影响的。（关于HTTP请求请看这里）
提示： 任何一种在客户端脚本中动态加载外部js的方法，或多或少都会对性能有一些影响。如果你追求性能最优的话，那么在页面中直接写&amp;#60;script&amp;#62; 或 &amp;#60;link&amp;#62; 标签会更好。
在使用 YUI Loader 这个组件之前呢，还是要首先引入一个script文件，如下：
&amp;#60;script type=&amp;#8221;text/javascript&amp;#8221; src=&amp;#8221;http://yui.yahooapis.com/2.6.0/build/yuiloader/yuiloader-min.js&amp;#8221; &amp;#62;&amp;#60;/script&amp;#62;
如果你决定使用 YUI Loader 组件的话，就不用单独引入YAHOO全局对象的js文件了，因为YUI Loader 本身就包含了YAHOO全局对象。
下面介绍一下YUI Loader组件中的一些主要参数和方法：
方法：
insert() 方法：最经常用的一个方法，在配置好YUI Loader之后，使用这个方法把YUI组件动态加载进来。
sandbox() 方法：有时候动态加载进来的组件可能会和现有的组件有冲突，这个时候就可以使用sandbox() 方法安全地加载组件。该方法通过YUI Connection Manager 来获取组件，并且在一个匿名函数中执行。所以，这个方法只能够加载同一个域下的JS。
addModule() 方法：用来添加自定义的组件，有以下主要参数（具体看这里）：
name: 组件的名字，必须是独一无二的，而且不能与YUI自带的组件冲突。
type: 组件类型。js 或者 css
path: 组件的路径，一般都是相对于 [...]</description><category>教程</category><category>Yahoo</category><category>学习笔记</category><category>YUI</category><category>JavaScript</category><category>技术</category><pubDate>Sun, 02 Nov 2008 17:34:42 +0800</pubDate><author>Dreamer</author><comments>http://www.zhuoqun.net/html/y2008/1118.html#comments</comments><guid isPermaLink="false">http://www.zhuoqun.net/?p=1118</guid><dc:creator>Dreamer</dc:creator><fs:srclink>http://www.zhuoqun.net/html/y2008/1118.html</fs:srclink><fs:srcfeed>http://www.zhuoqun.net/feed</fs:srcfeed><fs:itemid>feedsky/zhuoqun/~6142567/139609267/1487400</fs:itemid></item><item><title>RIAMeeting[北京]第八次会议</title><link>http://item.feedsky.com/~feedsky/zhuoqun/~6142567/139609268/1487400/1/item.html</link><content:encoded>&lt;p&gt;&lt;a href=&quot;http://www.riameeting.cn/?p=111&quot;&gt;RIAMeeting[北京]第八次会议&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;近来&lt;a href=&quot;http://www.adobe.com&quot;  class=&quot;alinks_links&quot; onclick=&quot;return alinks_click(this);&quot; title=&quot;&quot;  style=&quot;padding-right: 13px; background: url(http://www.zhuoqun.net/wp-content/plugins/alinks/images/external.png) center right no-repeat;&quot; rel=&quot;external&quot;&gt;Adobe&lt;/a&gt;出招频繁，随着Flash Player10的正式发布，还有让人万分期待的Adobe CS4创作合集，都无疑给RIA市场注入了兴奋的动力，身为RIA开发者的你，是否跃跃欲试？&lt;/p&gt;
&lt;p&gt;Show Time！&lt;a href=&quot;http://riameeting.cn&quot;  class=&quot;alinks_links&quot; onclick=&quot;return alinks_click(this);&quot; title=&quot;&quot;  style=&quot;padding-right: 13px; background: url(http://www.zhuoqun.net/wp-content/plugins/alinks/images/external.png) center right no-repeat;&quot; rel=&quot;external&quot;&gt;RIAMeeting&lt;/a&gt;第八次开发者聚会将在11月8日召开，具体信息如下：&lt;/p&gt;
&lt;p&gt;这次的会议的主题：&lt;br /&gt;
Flash Player 10的新特性&lt;/p&gt;
&lt;p&gt;时间：&lt;br /&gt;
2008年11月8日 下午&lt;/p&gt;
&lt;p&gt;地点：&lt;/p&gt;
&lt;p&gt;Adobe中国研发中心&lt;br /&gt;
北京海淀区中关村东路1号院 清华科技园 科技大厦 A座 21层&lt;/p&gt;
&lt;p&gt;会议日程：&lt;/p&gt;
&lt;p&gt;1:30 -  2：00 签名入场（收集名片，最后抽出5个幸运奖，有惊喜奖品哦）&lt;/p&gt;
&lt;p&gt;2：00 - 3：00 Flash Player 10新特性演示&lt;/p&gt;
&lt;p&gt;3：00 - 3：20 休息，并收集大家的问题&lt;/p&gt;
&lt;p&gt;3：20 - 5：00 根据问题展开分组讨论&lt;/p&gt;
&lt;p&gt;本次会议特别邀请&lt;a href=&quot;http://www.7yue.com/&quot;&gt;7yue&lt;/a&gt;作为我们的现场嘉宾，和大家一起畅谈RIA话题&lt;/p&gt;
&lt;p&gt;本次报名将采用系统报名的方式，请使用下面的地址报名：&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.riameeting.cn/register/&quot;&gt;http://www.riameeting.cn/register/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;如有问题，请咨询邮件：contactus@riameeting.cn&lt;/p&gt;
&lt;p class=&quot;akst_link&quot;&gt;&lt;a href=&quot;http://www.zhuoqun.net/?p=1117&amp;amp;akst_action=share-this&quot;  title=&quot;推荐，收藏到QQ书签，del.icio.us等等。&quot; id=&quot;akst_link_1117&quot; class=&quot;akst_share_link&quot; rel=&quot;noindex nofollow&quot;&gt;分享收藏&lt;/a&gt;
&lt;/p&gt;
&lt;!-- Generated by Simple Tags 1.0.4 - http://www.herewithme.fr/wordpress-plugins/simple-tags --&gt;
	&lt;h4&gt;相关日志&lt;/h4&gt;
	&lt;ul class='st-related-posts'&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2007/825.html&quot; title=&quot;RIAMeeting第二次活动开始报名 (2007-11-19)&quot;&gt;RIAMeeting第二次活动开始报名&lt;/a&gt; (0)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2007/765.html&quot; title=&quot;RIAMeeting 首次活动的图片 (2007-10-23)&quot;&gt;RIAMeeting 首次活动的图片&lt;/a&gt; (1)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2007/872.html&quot; title=&quot; RIAMeeting第三次会议 (2007-12-25)&quot;&gt; RIAMeeting第三次会议&lt;/a&gt; (2)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2007/750.html&quot; title=&quot;北京首届Flex开发者活动 (2007-10-16)&quot;&gt;北京首届Flex开发者活动&lt;/a&gt; (5)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2008/1071.html&quot; title=&quot;RIAJobs (2008-07-01)&quot;&gt;RIAJobs&lt;/a&gt; (1)&lt;/li&gt;
&lt;/ul&gt;</content:encoded><wfw:commentRss>http://www.zhuoqun.net/html/y2008/1117.html/feed</wfw:commentRss><description>RIAMeeting[北京]第八次会议
近来Adobe出招频繁，随着Flash Player10的正式发布，还有让人万分期待的Adobe CS4创作合集，都无疑给RIA市场注入了兴奋的动力，身为RIA开发者的你，是否跃跃欲试？
Show Time！RIAMeeting第八次开发者聚会将在11月8日召开，具体信息如下：
这次的会议的主题：
Flash Player 10的新特性
时间：
2008年11月8日 下午
地点：
Adobe中国研发中心
北京海淀区中关村东路1号院 清华科技园 科技大厦 A座 21层
会议日程：
1:30 -  2：00 签名入场（收集名片，最后抽出5个幸运奖，有惊喜奖品哦）
2：00 - 3：00 Flash Player 10新特性演示
3：00 - 3：20 休息，并收集大家的问题
3：20 - 5：00 根据问题展开分组讨论
本次会议特别邀请7yue作为我们的现场嘉宾，和大家一起畅谈RIA话题
本次报名将采用系统报名的方式，请使用下面的地址报名：
http://www.riameeting.cn/register/
如有问题，请咨询邮件：contactus@riameeting.cn
分享收藏


	相关日志
	
	RIAMeeting第二次活动开始报名 (0)
	RIAMeeting 首次活动的图片 (1)
	 RIAMeeting第三次会议 (2)
	北京首届Flex开发者活动 (5)
	RIAJobs (1)</description><category>活动</category><category>RIAMeeting</category><category>RIA</category><category>Other</category><category>技术</category><pubDate>Thu, 30 Oct 2008 11:23:20 +0800</pubDate><author>Dreamer</author><comments>http://www.zhuoqun.net/html/y2008/1117.html#comments</comments><guid isPermaLink="false">http://www.zhuoqun.net/?p=1117</guid><dc:creator>Dreamer</dc:creator><fs:srclink>http://www.zhuoqun.net/html/y2008/1117.html</fs:srclink><fs:srcfeed>http://www.zhuoqun.net/feed</fs:srcfeed><fs:itemid>feedsky/zhuoqun/~6142567/139609268/1487400</fs:itemid></item><item><title>[转载]程式設計師的格言</title><link>http://item.feedsky.com/~feedsky/zhuoqun/~6142567/139609269/1487400/1/item.html</link><content:encoded>&lt;p&gt;via &lt;a href=&quot;http://plog.longwin.com.tw/news-life-joke/2008/10/24/programmers-rule-joke-2008&quot;&gt;Tsung&amp;#8217;s Blog&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;从 &lt;a href=&quot;http://plog.longwin.com.tw/news-life-joke/2008/10/24/programmers-rule-joke-2008&quot;&gt;Tsung&amp;#8217;s Blog&lt;/a&gt; 上看到这篇东西，发现里面的一些格言实在太经典、太贴切了！我觉得这个应该是和技术相关的，贴在这里，估计有共鸣的人应该很多。:)&lt;/p&gt;
&lt;p&gt;先摘录几个经典的（做了小幅修改，替换了一些繁体术语）：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;要殺一個程式設計師不需要刀，改三次需求就好&lt;/strong&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;程式是運氣與直覺堆砌而成的奇蹟。&lt;br /&gt;
若不具備這兩者，不可能以這樣的工期實現這樣的需求。&lt;br /&gt;
修改需求是對奇蹟吐槽的亵渎行為。&lt;br /&gt;
而追加修改則是相信奇蹟還會重現的無謀行動。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;追加需求確定後交貨期限就無法確定，&lt;br /&gt;
交貨期限確定後追加需求就無法確定。&lt;br /&gt;
這稱為「追加需求與交貨期限的測不準原理」。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;原文出处：&lt;a href=&quot;http://buttaiwan.wordpress.com/2008/10/12/programmers_rule/&quot;&gt;程式設計師的格言 « but, or bug&lt;/a&gt;&lt;br /&gt;
——————————————————————————&lt;/p&gt;
&lt;p&gt;程式設計師的格言（盜作不少）&lt;/p&gt;
&lt;p&gt;譯自&lt;/p&gt;
&lt;p&gt;    * プログラマーの格言（盗作多し）&lt;br /&gt;
    * http://mixi.jp/view_community.pl?id=1772737&lt;/p&gt;
&lt;p&gt;(版本2 2008/10/12更新)&lt;/p&gt;
&lt;p&gt;譯註&lt;/p&gt;
&lt;p&gt;    * SE是日本軟體公司裡程式設計師的頭子。自己不太寫程式，主要工作是跟客戶確認規格。&lt;br /&gt;
    * 程式設計師多半自己不面對客戶。&lt;br /&gt;
    * 跟PM又不一樣。（有什麼比較貼切的職稱翻譯嗎？）&lt;/p&gt;
&lt;p&gt;   1. 每天有24小時。&lt;br /&gt;
      所謂的「今天之內」，是指到明天早上為止。&lt;br /&gt;
   2. 程式不會照自己所想的跑。只會照所寫的跑。&lt;br /&gt;
   3. 需求規格在程式寫完後才會敲定。&lt;br /&gt;
      基本規格要客戶看到成品後才會決定。&lt;br /&gt;
      詳細規格要使用者用過後才會確定。&lt;br /&gt;
   4. 我對軟體設計的方式導出的結論，有兩種方式。&lt;br /&gt;
      一是把軟體設計得單純到很明顯不會有缺陷，&lt;br /&gt;
      不然就是把軟體設計得複雜到沒有明顯的缺陷。&lt;br /&gt;
      - C.A.R.Hoare&lt;br /&gt;
   5. 程式碼不要在開發現場寫！ 去客戶那寫！&lt;br /&gt;
      除錯不要在期限前做！ 上線後再做！&lt;br /&gt;
   6. 畫面是藍色的！&lt;br /&gt;
      (國際太空站太空人重新安裝 Windows NT，日誌中的名句)&lt;br /&gt;
   7. 先說「沒辦法」的人贏。&lt;br /&gt;
   8. 有意見的話你寫&lt;br /&gt;
   9. 要殺一個程式設計師不需要刀，改三次規格就好&lt;br /&gt;
  10. 首先要先懷疑別人，被懷疑的人或許會把問題解決掉。&lt;br /&gt;
      （註：通常會「先懷疑自己」）&lt;br /&gt;
  11. 開發沒有終點。只有釋出(release)。&lt;br /&gt;
  12. 無論規格多晚才能確定，結案期限永遠不會變。&lt;br /&gt;
      這是所謂的「期限守恆定理」。&lt;br /&gt;
  13. 客戶總是覺得水跟追加需求是不用錢的。&lt;br /&gt;
  14. 付錢愈計較的客人愈囉唆。&lt;br /&gt;
  15. 在排定開發行程時，總是視而不見一些連小學生都會的算數。&lt;br /&gt;
      業務部門總是一堆不知道1+1=2的人。&lt;br /&gt;
  16. 一個人掛了大家都掛了。&lt;br /&gt;
  17. bug過了一晚可能就變成規格了。&lt;br /&gt;
  18. 好的規格找一個天才不如找三個凡人。&lt;br /&gt;
      爛的規格找一百個凡人不如找一個天才。&lt;br /&gt;
  19. 客製軟體中30%的價格用在確認規格上。&lt;br /&gt;
      30%用在修改規格上。&lt;br /&gt;
      30%用在找bug。&lt;br /&gt;
      結果初期規格反映在價格上占的比例只有10%。&lt;br /&gt;
  20. 對客戶來說SE是部下，程式設計師是家畜。&lt;br /&gt;
      對SE來說客人是錢，對程式設計師來說顧客是看不見的病毒。&lt;br /&gt;
      除了弄完程式以外，沒有其他驅除的辦法。&lt;br /&gt;
  21. 顧客想受SE喜歡，要自己了解到系統開發需要時間與金錢，早點確定規格。&lt;br /&gt;
      SE想受顧客喜歡，則要讓程式設計師討厭自己。&lt;br /&gt;
  22. 很多SE跟程式設計師都暗自想著有錢有閒的話什麼系統都想自己動手做，&lt;br /&gt;
      不過都沒這種機會。&lt;br /&gt;
  23. 品質的劣化程度依規格改變的次數與規模而定。&lt;br /&gt;
  24. 業務是認為空想能夠實現的夢想家。&lt;br /&gt;
      SE則是深信任何障礙都能突破的冒險家。&lt;br /&gt;
      程式設計師則是被夢想家和冒險家拋到漆黑海裡的漂流者。&lt;br /&gt;
  25. 有才能的程式設計師第一次看到設計細節時，要先理解程式的目的。&lt;br /&gt;
      接下來要設法讓SE了解到以指定的方法、工時並無法完成這個工作。&lt;br /&gt;
  26. 程式是運氣與直覺堆砌而成的奇蹟。&lt;br /&gt;
      若不具備這兩者，不可能以這樣的工時實現這樣的規格。&lt;br /&gt;
      修改規格是對奇蹟吐槽的褻瀆行為。&lt;br /&gt;
      而追加修改則是相信奇蹟還會重現的無謀行動。&lt;br /&gt;
  27. 程式設計師聽了「把自己當作顧客去著想！」而開始思考。&lt;br /&gt;
      啊，像夢一樣。&lt;br /&gt;
  28. 對於因為興趣而寫程式的人來說，所謂的技術是程式語言能力。&lt;br /&gt;
      對於因為工作而寫程式的人來說，所謂的技術是邏輯思考能力與人際溝通能力。&lt;br /&gt;
      程式語言可以看著手冊溝通，客戶不行。&lt;br /&gt;
  29. 程式系統在交貨之前會不斷縮小。&lt;br /&gt;
      先用元件定義取悅老闆。&lt;br /&gt;
      再拿經費概算要部長妥協現實的方案。&lt;br /&gt;
      在運用會議中，課長會嘗識減少自己責任範圍。&lt;br /&gt;
      在細節會議中，負責人會把範圍縮到自己記得的部分。&lt;br /&gt;
  30. SE需要持久力，程式設計師需要爆發力。&lt;br /&gt;
  31. 準時離開公司，工作會變多。&lt;br /&gt;
  32. 完美的程式需要完美的時間與金錢。&lt;br /&gt;
      聽說揮霍著美國的國家預算的NASA，也覺得時間跟錢不夠。&lt;br /&gt;
  33. 詳細設計要在程式碼的註解裡做完。&lt;br /&gt;
      註解是唯一的自衛手段，至少要讓自己看懂。&lt;br /&gt;
  34. 還有時間看程式碼的話就執行他。&lt;br /&gt;
      CPU跑得比腦細胞快。至少這時候可以休息。&lt;br /&gt;
  35. 程式的異常該稱為「bug」還是「規格上的限制」是看期限還剩多久決定的。&lt;br /&gt;
  36. 所謂便服日，好像社會上把他叫做假日&lt;br /&gt;
      (註) 日本有些公司會有所謂便服日（不用穿西裝的日子），通常是星期五，但…&lt;br /&gt;
  37. 地獄持續一段時間後，充滿殺氣的怒吼會變多。&lt;br /&gt;
      再持續一段時間，說話會變少但牢騷會變多，壟罩在凝重的氣氛裡。&lt;br /&gt;
      再持續下去，反而會海闊天空，四周洋溢充滿活力的聲音。&lt;br /&gt;
      這種狀態稱為「Programmer’s High」，也是倒下來的人開始出現的時候。&lt;br /&gt;
  38. 遠處的火災一定燒到這裡。&lt;br /&gt;
  39. 禱告，然後 “工作” 吧。(修道院的標語)&lt;br /&gt;
  40. 程式不是用腦記的，要用身體記住。&lt;br /&gt;
  41. 明天能放假的話死了也罷。&lt;br /&gt;
  42. 外面有下雨耶，昨天開始下的嗎？&lt;br /&gt;
  43. 心若不廢掉(消極)，身體會廢掉。&lt;br /&gt;
      若不讓自己殘忍，自己會被殺。&lt;br /&gt;
  44. 客戶會說謊，業務會作夢，SE會做白日夢。&lt;br /&gt;
      程式設計師則惦惦。（愈來愈自言自語）&lt;br /&gt;
  45. SE總是不講理的(unreasonable)說「沒有辦不到(impossible)」，&lt;br /&gt;
      業務總是沒辦法(impossible)說「沒道理(unreasonable)」。&lt;br /&gt;
  46. 規格書就像航海圖，客戶則是洋流。洋流陰晴不定，航海圖就變垃圾。&lt;br /&gt;
      程式設計師必須在沒有航海圖的海上憑自己的力量找到大陸。&lt;br /&gt;
  47. 再嘮嘮叨叨下去也是要付錢的。&lt;br /&gt;
  48. 多想個10秒鐘，你可以不說「嗯，這個做得到」。&lt;br /&gt;
  49. 人是無法從別人失敗記取教訓的動物。&lt;br /&gt;
      砍成本、改規格、加需求、趕上線，從來沒有人從眾多失敗中記取教訓。&lt;br /&gt;
  50. 老手用來提振精神的魔法格言：&lt;br /&gt;
      「不過比起以前來說算是…」&lt;br /&gt;
      新人用來提起幹勁的魔法格言：&lt;br /&gt;
      「把這件工作做完的話…」他們還不知道工作是沒有終點的。&lt;br /&gt;
  51. 所謂交案期限，是指開發現場從公司換到客戶那裡的日子。&lt;br /&gt;
  52. 程式、SE、經理不是職種。是職責。&lt;br /&gt;
  53. 業務是最難搞的客戶。&lt;br /&gt;
  54. 能夠迅速想到解法的程式設計師太多了。&lt;br /&gt;
      他們能用一分鐘想到方法，用一天去寫程式。&lt;br /&gt;
      不需要花一小時想到解法，再用一小時去寫程式。&lt;br /&gt;
      - Jon Bentley&lt;br /&gt;
  55. 漂亮的規格，可以從沒有bug出現看出來。&lt;br /&gt;
      明明爛的就是設計，為什麼是這樣…&lt;br /&gt;
  56. 上線後的除錯才叫做bug。&lt;br /&gt;
  57. 追加需求確定後交貨期限就無法確定，&lt;br /&gt;
      交貨期限確定後追加需求就無法確定。&lt;br /&gt;
      這稱為「追加需求與交貨期限的測不準原理」。&lt;br /&gt;
  58. 除三個錯就會冒出一個錯。&lt;br /&gt;
      這稱為bug的無窮迴圈。&lt;br /&gt;
  59. 不祥的預感總會實現。&lt;br /&gt;
      不過程式設計師不會去煩惱不祥的預感，那是SE的工作。&lt;br /&gt;
  60. 要解決地獄的辦法，就是客戶把錢交出來。&lt;br /&gt;
  61. 不懂電腦的操作者是發現bug的天才。而且無法重現。&lt;br /&gt;
  62. 每次開會就更改規格的客戶，&lt;br /&gt;
      他的操作手冊要等到操作寫好的程式後才能寫出來。&lt;br /&gt;
  63. 搞不懂的時候，Currency（長整數）比Interger（整數）好用。&lt;br /&gt;
      Variant（字串、數字都能存的萬能變數）又比Currency（長整數）好用。&lt;br /&gt;
      安全第一。&lt;br /&gt;
      （VB程式設計師如是說）&lt;br /&gt;
  64. 啊，那是微軟的規格。&lt;br /&gt;
  65. 程式設計師所不滿的規格也一定會讓客戶不滿。&lt;br /&gt;
      （這是說程式設計師覺得難寫的地方常常是SE溝通有落差）&lt;br /&gt;
  66. 程式設計師需要的技能，&lt;br /&gt;
      包括交涉、時程管理、業務分析、提案、設計、程式語言、架構、維護、使用。&lt;br /&gt;
      SE需要的技能則減掉程式語言、架構、維護與使用。&lt;br /&gt;
      專案經理需要的能力則再減掉業務分析、提案與設計。&lt;br /&gt;
      業務需要的能力再扣掉時程管理。&lt;br /&gt;
  67. 正因為健康，才能做不健康的事。&lt;br /&gt;
  68. (這個不是 bug 嗎？)&lt;br /&gt;
      規、規格、是規格啦。不過有一點跟規格不太一樣啦。&lt;br /&gt;
  69. 那是你說的規格。&lt;br /&gt;
  70. 開發室沒有窗戶，那是因為以前…&lt;br /&gt;
  71. 即使爛了也是規格。&lt;br /&gt;
  72. SE: 真沒辦法。&lt;br /&gt;
      PG: 也沒註解。&lt;br /&gt;
      （碰到不知道是誰寫的程式，大家都束手無策的狀態）&lt;br /&gt;
  73. 為什麼你不能兩三下解決掉他啦。&lt;br /&gt;
      因為之前兩三下搞定的東西也被你兩三下就否定了。&lt;br /&gt;
  74. 不會動的bug就只是普通的bug。（會動的bug則能視為規格）&lt;br /&gt;
  75. 今天好好清理bug，bug應該死光了吧。&lt;br /&gt;
      咦？Windows也死了唷。&lt;br /&gt;
  76. 客戶不會去想最壞的情況。要他面對最壞的情況，他會認為是漫天開價。&lt;br /&gt;
      SE則會顧慮最壞的情況，準備應付最壞的情況。&lt;br /&gt;
      程式設計師比誰都早預料到最壞的情況，而無視最壞的情況。&lt;br /&gt;
  77. 唯一不產生bug的方法，就是不寫程式。&lt;br /&gt;
      第二好的方法，就是在時程跟人員確定之後的每次改規格，都重新檢視過整個專案。&lt;br /&gt;
  78. 共同責任是程式設計師的責任。&lt;br /&gt;
      管理職？那是啥？好吃嗎？我沒吃過耶。&lt;br /&gt;
  79. 如果可以改行的話，想找個準時下班不叫「逃跑」的工作。&lt;br /&gt;
  80. 對職業程式設計師來說，漂亮的程式是單純而自然的邏輯、簡單而基本的指令、豐富的註解，&lt;br /&gt;
      也就是新手程式設計師也能馬上動手改的程式。&lt;br /&gt;
      而要寫出這樣的程式，需要單純、簡單、美麗的規格。&lt;br /&gt;
      但可惜客人總是喜歡搞很複雜。&lt;br /&gt;
  81. 設計者應該是不該要求製作者製作出超過設計以上內容的吧…&lt;br /&gt;
  82. 無論是做的比規格書裡的多，還是只照規格書裡的寫，SE都會找程式設計師的碴。&lt;br /&gt;
      所以程式設計師只做規格書裡的寫的內容。&lt;br /&gt;
  83. SE對程式設計師說的「常識」每三小時變一次。&lt;br /&gt;
  84. 自己看規格書。不能跑的是規格。&lt;br /&gt;
  85. 「沒辦法」是要看把一天當多少小時來算。&lt;br /&gt;
      一天常常指的是3人日，一個月常常是指4.5人月喔。&lt;br /&gt;
  86. 工時要減掉一半的單體測試與一半的系統測試，&lt;br /&gt;
      而交貨期則要另外加上上線後的兩個月。&lt;br /&gt;
  87. 能拿到錢的規格變更稱為「受理項目」，&lt;br /&gt;
      拿不到錢的規格變更則稱為「SE的規格確認失誤」。&lt;br /&gt;
      程式設計師是這麼看的。&lt;br /&gt;
  88. 累了。我想睡了。可以回家嗎。&lt;br /&gt;
      （累了吧，我也累了。好累喔怎麼了。反正就是規格啦，管他的）&lt;br /&gt;
  89. 試圖降低成本的話，為了配合預算，品質會下降，不過漫天開價做出來的品質也不見得好到哪裡去。&lt;br /&gt;
  90. REDO到底該怎麼唸一直搞不懂。是利斗嗎、李度嗎、R E D O嗎，難道是 red 零 嗎？ 拜託加上注音吧。&lt;br /&gt;
      （譯註：我比較煩惱 Linux）&lt;br /&gt;
  91. 有人在程式碼註解裡寫日記。像「今天是雨天…」，「想回家…」之類的。甚至還有「修改日: 2003/10/10 不能同意你更多」這種註解出現。說到這個，好像也看過「吃大便」這樣的註解。&lt;br /&gt;
  92. 小學生時第一次看到電腦&lt;br /&gt;
      國中時第一次學會怎麼用&lt;br /&gt;
      高中與大學學會程式語言&lt;br /&gt;
      出社會後才發現自己走錯路&lt;br /&gt;
  93. 「不要讓老闆當業務比較好」&lt;br /&gt;
  94. 說來說去，要去研究根本不知道為什麼會動的東西為什麼不會動了，找拿破崙來也沒搞頭。&lt;/p&gt;
&lt;p&gt;ex 系列&lt;/p&gt;
&lt;p&gt;   1. 就算程式裡沒bug，編譯器會有bug。&lt;br /&gt;
      就算編譯器沒bug，OS會有bug。&lt;br /&gt;
      就算一切都沒bug，客戶會決定什麼是bug。&lt;br /&gt;
   2. 規格與規格書是不同的東西。&lt;br /&gt;
   3. 比期限更重要的是靈感與睡眠。&lt;br /&gt;
   4. 比知識與經驗重要的是手冊與時間。&lt;br /&gt;
   5. 能動就好了，能動的話…&lt;br /&gt;
   6. 過了三天就是別人寫的程式碼。&lt;br /&gt;
   7. (大搜查線系列)&lt;br /&gt;
      規格變動不是在會議室裡發生的！是在現場發生的！&lt;br /&gt;
   8. (大搜查線系列)&lt;br /&gt;
      異常不是在模擬測試時發生的！是上線後才會發生的！&lt;br /&gt;
   9. 漂亮的設計三天或許就膩了&lt;br /&gt;
      骯髒的設計三天就習慣了&lt;br /&gt;
  10. bug與規格是一體兩面&lt;br /&gt;
  11. 電腦裡沒有bug，bug常在人心。&lt;br /&gt;
  12. 無論怎麼檢查，不管怎麼確認，上線前一晚就是睡不著。(RFC968)&lt;br /&gt;
  13. 估價需要1%的經驗與99%的直覺&lt;br /&gt;
  14. 沒有什麼事情比直接讓找不到任何bug的程式直接上線還要可怕的了。&lt;br /&gt;
  15.&lt;br /&gt;
          * 『程式設計師』＝能將SE條理不通的說明翻譯成程式碼的高手&lt;br /&gt;
          * 『SE』＝與客戶討論改寫規格書、與程式設計師討論後再改寫規格書，程式出貨後還要繼續改寫規格書的人&lt;br /&gt;
          * 『PM』＝每天修改自己定下的行程表的人&lt;br /&gt;
          * 『業界老鳥』＝臉色蒼白缺乏表情的人&lt;br /&gt;
          * 『外包』＝幫不會寫程式的正職員工寫程式的人&lt;br /&gt;
          * 『coding』＝複製貼上的工作&lt;br /&gt;
          * 『單體測試』＝指開始寫程式&lt;br /&gt;
          * 『除錯』＝把程式碼註解掉的工作&lt;br /&gt;
          * 『新同事』＝在火燒屁股的專案火上加油的人&lt;br /&gt;
          * 『出貨日』＝把只完成一半的系統上線的日子&lt;br /&gt;
          * 『末班電車』＝業界平均的下班時間&lt;br /&gt;
          * 『颱風假』＝一年一度可以準時下班的業界假日&lt;br /&gt;
16. 當誰寫的程式碼跑出bug時，那個人大概都不在了（墨菲定理？）&lt;br /&gt;
17. 最終手段&lt;br /&gt;
      「重開機」&lt;br /&gt;
      意外的常常都很有效&lt;br /&gt;
18. 最強藉口&lt;br /&gt;
      以前「那是硬體的極限」&lt;br /&gt;
      現在「那是Windows的規格」&lt;br /&gt;
19. 「程式碼的可信度，不會比寫的人還可信。」&lt;/p&gt;
&lt;p class=&quot;akst_link&quot;&gt;&lt;a href=&quot;http://www.zhuoqun.net/?p=1116&amp;amp;akst_action=share-this&quot;  title=&quot;推荐，收藏到QQ书签，del.icio.us等等。&quot; id=&quot;akst_link_1116&quot; class=&quot;akst_share_link&quot; rel=&quot;noindex nofollow&quot;&gt;分享收藏&lt;/a&gt;
&lt;/p&gt;
&lt;!-- Generated by Simple Tags 1.0.4 - http://www.herewithme.fr/wordpress-plugins/simple-tags --&gt;
	&lt;h4&gt;相关日志&lt;/h4&gt;
	&lt;ul class='st-related-posts'&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2007/838.html&quot; title=&quot;职场有多少IT精英透支健康和生命? (2007-11-27)&quot;&gt;职场有多少IT精英透支健康和生命?&lt;/a&gt; (1)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2008/1108.html&quot; title=&quot;在windows下 让 FireFox 2.0 和 3.0 共存 (2008-10-08)&quot;&gt;在windows下 让 FireFox 2.0 和 3.0 共存&lt;/a&gt; (7)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2008/1097.html&quot; title=&quot;Top 10 Adobe Flex and AIR applications for students (2008-09-08)&quot;&gt;Top 10 Adobe Flex and AIR applications for students&lt;/a&gt; (0)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2008/1091.html&quot; title=&quot;5 lessons every Web developer must learn (2008-08-23)&quot;&gt;5 lessons every Web developer must learn&lt;/a&gt; (5)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2008/1071.html&quot; title=&quot;RIAJobs (2008-07-01)&quot;&gt;RIAJobs&lt;/a&gt; (1)&lt;/li&gt;
&lt;/ul&gt;</content:encoded><wfw:commentRss>http://www.zhuoqun.net/html/y2008/1116.html/feed</wfw:commentRss><description>via Tsung&amp;#8217;s Blog
从 Tsung&amp;#8217;s Blog 上看到这篇东西，发现里面的一些格言实在太经典、太贴切了！我觉得这个应该是和技术相关的，贴在这里，估计有共鸣的人应该很多。:)
先摘录几个经典的（做了小幅修改，替换了一些繁体术语）：
要殺一個程式設計師不需要刀，改三次需求就好 
程式是運氣與直覺堆砌而成的奇蹟。
若不具備這兩者，不可能以這樣的工期實現這樣的需求。
修改需求是對奇蹟吐槽的亵渎行為。
而追加修改則是相信奇蹟還會重現的無謀行動。
追加需求確定後交貨期限就無法確定，
交貨期限確定後追加需求就無法確定。
這稱為「追加需求與交貨期限的測不準原理」。
原文出处：程式設計師的格言 « but, or bug
——————————————————————————
程式設計師的格言（盜作不少）
譯自
    * プログラマーの格言（盗作多し）
    * http://mixi.jp/view_community.pl?id=1772737
(版本2 2008/10/12更新)
譯註
    * SE是日本軟體公司裡程式設計師的頭子。自己不太寫程式，主要工作是跟客戶確認規格。
    * 程式設計師多半自己不面對客戶。
    * 跟PM又不一樣。（有什麼比較貼切的職稱翻譯嗎？）
   1. 每天有24小時。
      所謂的「今天之內」，是指到明天早上為止。
   2. 程式不會照自己所想的跑。只會照所寫的跑。
   3. 需求規格在程式寫完後才會敲定。
 [...]</description><category>工作</category><category>开发</category><category>转载</category><category>Other</category><category>技术</category><pubDate>Mon, 27 Oct 2008 13:58:36 +0800</pubDate><author>Dreamer</author><comments>http://www.zhuoqun.net/html/y2008/1116.html#comments</comments><guid isPermaLink="false">http://www.zhuoqun.net/?p=1116</guid><dc:creator>Dreamer</dc:creator><fs:srclink>http://www.zhuoqun.net/html/y2008/1116.html</fs:srclink><fs:srcfeed>http://www.zhuoqun.net/feed</fs:srcfeed><fs:itemid>feedsky/zhuoqun/~6142567/139609269/1487400</fs:itemid></item><item><title>Efflex</title><link>http://item.feedsky.com/~feedsky/zhuoqun/~6142567/139609270/1487400/1/item.html</link><content:encoded>&lt;p&gt;&lt;a href=&quot;http://www.insideria.com/2008/10/efflex-designer-effects-for-fl.html&quot;&gt;var InsideRIA&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.efflex.org/&quot;&gt;Efflex&lt;/a&gt; 是一个开源的&lt;a href=&quot;http://www.adobe.com/products/flex/&quot;  class=&quot;alinks_links&quot; onclick=&quot;return alinks_click(this);&quot; title=&quot;&quot;  style=&quot;padding-right: 13px; background: url(http://www.zhuoqun.net/wp-content/plugins/alinks/images/external.png) center right no-repeat;&quot; rel=&quot;external&quot;&gt;Flex&lt;/a&gt; effect 集合，里面的效果都很好，可以先&lt;a href=&quot;http://www.efflex.org/FlexEffectsExample.html&quot;&gt;看一下Demo&lt;/a&gt;。友情提示：有些Effect效率不怎么样，可能会出现暂时的假死 -_-。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.efflex.org/&quot;&gt;Efflex&lt;/a&gt;&lt;/p&gt;
&lt;p class=&quot;akst_link&quot;&gt;&lt;a href=&quot;http://www.zhuoqun.net/?p=1115&amp;amp;akst_action=share-this&quot;  title=&quot;推荐，收藏到QQ书签，del.icio.us等等。&quot; id=&quot;akst_link_1115&quot; class=&quot;akst_share_link&quot; rel=&quot;noindex nofollow&quot;&gt;分享收藏&lt;/a&gt;
&lt;/p&gt;
&lt;!-- Generated by Simple Tags 1.0.4 - http://www.herewithme.fr/wordpress-plugins/simple-tags --&gt;
	&lt;h4&gt;相关日志&lt;/h4&gt;
	&lt;ul class='st-related-posts'&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2008/945.html&quot; title=&quot;360|Flex 中的一些示例 (2008-03-06)&quot;&gt;360|Flex 中的一些示例&lt;/a&gt; (0)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2008/882.html&quot; title=&quot;FlexSpy (2008-01-04)&quot;&gt;FlexSpy&lt;/a&gt; (3)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2007/737.html&quot; title=&quot;Flex:自定义popup effect (2007-10-13)&quot;&gt;Flex:自定义popup effect&lt;/a&gt; (1)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2007/731.html&quot; title=&quot;Papervision3D Effects (2007-10-12)&quot;&gt;Papervision3D Effects&lt;/a&gt; (0)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2007/492.html&quot; title=&quot;Flex Distortion Effects（变形效果） (2007-04-10)&quot;&gt;Flex Distortion Effects（变形效果）&lt;/a&gt; (3)&lt;/li&gt;
&lt;/ul&gt;</content:encoded><wfw:commentRss>http://www.zhuoqun.net/html/y2008/1115.html/feed</wfw:commentRss><description>var InsideRIA
Efflex 是一个开源的Flex effect 集合，里面的效果都很好，可以先看一下Demo。友情提示：有些Effect效率不怎么样，可能会出现暂时的假死 -_-。
Efflex
分享收藏


	相关日志
	
	360&amp;#124;Flex 中的一些示例 (0)
	FlexSpy (3)
	Flex:自定义popup effect (1)
	Papervision3D Effects (0)
	Flex Distortion Effects（变形效果） (3)</description><category>Flex</category><category>opensource</category><category>effect</category><category>demo</category><category>技术</category><pubDate>Mon, 27 Oct 2008 11:23:49 +0800</pubDate><author>Dreamer</author><comments>http://www.zhuoqun.net/html/y2008/1115.html#comments</comments><guid isPermaLink="false">http://www.zhuoqun.net/?p=1115</guid><dc:creator>Dreamer</dc:creator><fs:srclink>http://www.zhuoqun.net/html/y2008/1115.html</fs:srclink><fs:srcfeed>http://www.zhuoqun.net/feed</fs:srcfeed><fs:itemid>feedsky/zhuoqun/~6142567/139609270/1487400</fs:itemid></item><item><title>TextFlow beta 出炉</title><link>http://item.feedsky.com/~feedsky/zhuoqun/~6142567/139609271/1487400/1/item.html</link><content:encoded>&lt;p&gt;邀请年年有，这段时间特别多。昨天又收到了 &lt;a href=&quot;http://www.textflow.com/&quot;&gt;TextFlow&lt;/a&gt; 的注册码（关于TextFlow，请看我以前&lt;a href=&quot;http://www.zhuoqun.net/html/y2008/1060.html&quot;&gt;这篇日志&lt;/a&gt;），告诉我可以试用beta版了，于是乎，我就去安装了一个，这个东西使用 &lt;a href=&quot;http://www.adobe.com&quot;  class=&quot;alinks_links&quot; onclick=&quot;return alinks_click(this);&quot; title=&quot;&quot;  style=&quot;padding-right: 13px; background: url(http://www.zhuoqun.net/wp-content/plugins/alinks/images/external.png) center right no-repeat;&quot; rel=&quot;external&quot;&gt;Adobe&lt;/a&gt; &lt;a href=&quot;http://labs.adobe.com/technologies/air/&quot;  class=&quot;alinks_links&quot; onclick=&quot;return alinks_click(this);&quot; title=&quot;&quot;  style=&quot;padding-right: 13px; background: url(http://www.zhuoqun.net/wp-content/plugins/alinks/images/external.png) center right no-repeat;&quot; rel=&quot;external&quot;&gt;AIR&lt;/a&gt; 做的，界面还不错，不过由于这个是用来协同编辑文档的，我只有一个账号，体验不到它的好处，就发现这家伙可以编辑word文档……囧……&lt;/p&gt;
&lt;p&gt;这个东西暂时没法邀请，想要尝鲜的就&lt;a href=&quot;http://www.textflow.com/signup.php&quot;&gt;猛击这里&lt;/a&gt;去注册等待邀请码吧。另外，你也可以先去看一个 &lt;a href=&quot;http://www.adobe.com/products/flex/&quot;  class=&quot;alinks_links&quot; onclick=&quot;return alinks_click(this);&quot; title=&quot;&quot;  style=&quot;padding-right: 13px; background: url(http://www.zhuoqun.net/wp-content/plugins/alinks/images/external.png) center right no-repeat;&quot; rel=&quot;external&quot;&gt;Flex&lt;/a&gt; 做的 &lt;a href=&quot;http://www.textflow.com/testdrive/&quot;&gt;Demo&lt;/a&gt;，很帅。&lt;/p&gt;
&lt;p class=&quot;akst_link&quot;&gt;&lt;a href=&quot;http://www.zhuoqun.net/?p=1114&amp;amp;akst_action=share-this&quot;  title=&quot;推荐，收藏到QQ书签，del.icio.us等等。&quot; id=&quot;akst_link_1114&quot; class=&quot;akst_share_link&quot; rel=&quot;noindex nofollow&quot;&gt;分享收藏&lt;/a&gt;
&lt;/p&gt;
&lt;!-- Generated by Simple Tags 1.0.4 - http://www.herewithme.fr/wordpress-plugins/simple-tags --&gt;
	&lt;h4&gt;相关日志&lt;/h4&gt;
	&lt;ul class='st-related-posts'&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2008/1068.html&quot; title=&quot;基于Flex的在线图片编辑器 (2008-06-23)&quot;&gt;基于Flex的在线图片编辑器&lt;/a&gt; (0)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2008/1044.html&quot; title=&quot;Fresh AIR Apps (2008-05-21)&quot;&gt;Fresh AIR Apps&lt;/a&gt; (1)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2008/1020.html&quot; title=&quot;Google Analytics AIR client beta 3 (2008-05-07)&quot;&gt;Google Analytics AIR client beta 3&lt;/a&gt; (1)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2008/984.html&quot; title=&quot;Drawing With the UIComponent (2008-04-10)&quot;&gt;Drawing With the UIComponent&lt;/a&gt; (0)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2008/954.html&quot; title=&quot;Searchme (2008-03-21)&quot;&gt;Searchme&lt;/a&gt; (0)&lt;/li&gt;
&lt;/ul&gt;</content:encoded><wfw:commentRss>http://www.zhuoqun.net/html/y2008/1114.html/feed</wfw:commentRss><description>邀请年年有，这段时间特别多。昨天又收到了 TextFlow 的注册码（关于TextFlow，请看我以前这篇日志），告诉我可以试用beta版了，于是乎，我就去安装了一个，这个东西使用 Adobe AIR 做的，界面还不错，不过由于这个是用来协同编辑文档的，我只有一个账号，体验不到它的好处，就发现这家伙可以编辑word文档……囧……
这个东西暂时没法邀请，想要尝鲜的就猛击这里去注册等待邀请码吧。另外，你也可以先去看一个 Flex 做的 Demo，很帅。
分享收藏


	相关日志
	
	基于Flex的在线图片编辑器 (0)
	Fresh AIR Apps (1)
	Google Analytics AIR client beta 3 (1)
	Drawing With the UIComponent (0)
	Searchme (0)</description><category>Flex</category><category>AIR&amp;amp;Apollo</category><category>beta</category><category>word</category><category>demo</category><category>app</category><category>技术</category><pubDate>Tue, 21 Oct 2008 09:13:36 +0800</pubDate><author>Dreamer</author><comments>http://www.zhuoqun.net/html/y2008/1114.html#comments</comments><guid isPermaLink="false">http://www.zhuoqun.net/?p=1114</guid><dc:creator>Dreamer</dc:creator><fs:srclink>http://www.zhuoqun.net/html/y2008/1114.html</fs:srclink><fs:srcfeed>http://www.zhuoqun.net/feed</fs:srcfeed><fs:itemid>feedsky/zhuoqun/~6142567/139609271/1487400</fs:itemid></item><item><title>一种 DOCTYPE 的缩写</title><link>http://item.feedsky.com/~feedsky/zhuoqun/~6142567/139609272/1487400/1/item.html</link><content:encoded>&lt;p&gt;&lt;a href=&quot;http://blog.hedgerwow.com/2008/10/16/choosing-a-doctype-that-is-just-simple-and-strict/&quot;&gt;var HedgerWow&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;写HTML代码的时候，第一行就要写DOCTYPE，而DOCTYPE一般都很长，大家也懒得去记，所以基本都是直接去复制以前写过的。不过今天了解到一种 DOCTYPE 的缩写，如果你的 DOCTYPE 是下面这样的话：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;lt;!DOCTYPE HTML PUBLIC     &quot;-//W3C//DTD HTML 4.01//EN&quot; &quot;http://www.w3.org/TR/html4/strict.dtd&quot;&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;可以用下面的缩写来代替：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;lt;!DOCTYPE HTML&amp;gt; &lt;/code&gt;&lt;/p&gt;
&lt;p&gt;简单，好记，这样以后就不需要去复制了。BTW，我想举一反三试一下 &lt;code&gt;&amp;lt;!DOCTYPE XHTML&amp;gt; &lt;/code&gt;，结果失败，页面成了“混杂模式”，大家有什么其他的技巧欢迎提供。&lt;/p&gt;
&lt;p class=&quot;akst_link&quot;&gt;&lt;a href=&quot;http://www.zhuoqun.net/?p=1113&amp;amp;akst_action=share-this&quot;  title=&quot;推荐，收藏到QQ书签，del.icio.us等等。&quot; id=&quot;akst_link_1113&quot; class=&quot;akst_share_link&quot; rel=&quot;noindex nofollow&quot;&gt;分享收藏&lt;/a&gt;
&lt;/p&gt;
&lt;!-- Generated by Simple Tags 1.0.4 - http://www.herewithme.fr/wordpress-plugins/simple-tags --&gt;
	&lt;h4&gt;相关日志&lt;/h4&gt;
	&lt;ul class='st-related-posts'&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2008/1120.html&quot; title=&quot;在PHP中处理 HTML 代码 (2008-11-17)&quot;&gt;在PHP中处理 HTML 代码&lt;/a&gt; (1)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2006/359.html&quot; title=&quot;在 Flex 中显示 HTML (2006-12-08)&quot;&gt;在 Flex 中显示 HTML&lt;/a&gt; (2)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2008/1121.html&quot; title=&quot;PHP 截取HTML串 (2008-11-19)&quot;&gt;PHP 截取HTML串&lt;/a&gt; (0)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2008/1119.html&quot; title=&quot;遇到的一些小问题 (2008-11-17)&quot;&gt;遇到的一些小问题&lt;/a&gt; (2)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2008/1110.html&quot; title=&quot;一款好用的取色器 (2008-10-09)&quot;&gt;一款好用的取色器&lt;/a&gt; (13)&lt;/li&gt;
&lt;/ul&gt;</content:encoded><wfw:commentRss>http://www.zhuoqun.net/html/y2008/1113.html/feed</wfw:commentRss><description>var HedgerWow
写HTML代码的时候，第一行就要写DOCTYPE，而DOCTYPE一般都很长，大家也懒得去记，所以基本都是直接去复制以前写过的。不过今天了解到一种 DOCTYPE 的缩写，如果你的 DOCTYPE 是下面这样的话：
&amp;#60;!DOCTYPE HTML PUBLIC     &quot;-//W3C//DTD HTML 4.01//EN&quot; &quot;http://www.w3.org/TR/html4/strict.dtd&quot;&amp;#62;
可以用下面的缩写来代替：
&amp;#60;!DOCTYPE HTML&amp;#62; 
简单，好记，这样以后就不需要去复制了。BTW，我想举一反三试一下 &amp;#60;!DOCTYPE XHTML&amp;#62; ，结果失败，页面成了“混杂模式”，大家有什么其他的技巧欢迎提供。
分享收藏


	相关日志
	
	在PHP中处理 HTML 代码 (1)
	在 Flex 中显示 HTML (2)
	PHP 截取HTML串 (0)
	遇到的一些小问题 (2)
	一款好用的取色器 (13)</description><category>tip</category><category>html</category><category>DOCTYPE</category><category>JavaScript</category><category>技术</category><pubDate>Fri, 17 Oct 2008 11:23:37 +0800</pubDate><author>Dreamer</author><comments>http://www.zhuoqun.net/html/y2008/1113.html#comments</comments><guid isPermaLink="false">http://www.zhuoqun.net/?p=1113</guid><dc:creator>Dreamer</dc:creator><fs:srclink>http://www.zhuoqun.net/html/y2008/1113.html</fs:srclink><fs:srcfeed>http://www.zhuoqun.net/feed</fs:srcfeed><fs:itemid>feedsky/zhuoqun/~6142567/139609272/1487400</fs:itemid></item><item><title>收到Broadchoice Workspace Beta邀请</title><link>http://item.feedsky.com/~feedsky/zhuoqun/~6142567/139609273/1487400/1/item.html</link><content:encoded>&lt;p&gt;&lt;img src=&quot;http://www.broadchoice.com/custom/_282a/content/images/workspace/files.jpg&quot; alt=&quot;Broadchoice Workspace&quot; /&gt;&lt;/p&gt;
&lt;p&gt;由于在网上看到有好东西的邀请派送我就提交自己的email，所以刚收到这个东西的邀请的时候我都不知道它是做什么的。看了之后了解到，&lt;a href=&quot;http://www.broadchoice.com/&quot;&gt;Broadchoice Workspace&lt;/a&gt; 是一个强大的 &lt;a href=&quot;http://labs.adobe.com/technologies/air/&quot;  class=&quot;alinks_links&quot; onclick=&quot;return alinks_click(this);&quot; title=&quot;&quot;  style=&quot;padding-right: 13px; background: url(http://www.zhuoqun.net/wp-content/plugins/alinks/images/external.png) center right no-repeat;&quot; rel=&quot;external&quot;&gt;AIR&lt;/a&gt; 程序，整合了很多应用进去，看看他们&lt;a href=&quot;http://www.broadchoice.com/products/&quot;&gt;自己的说明&lt;/a&gt;：&lt;/p&gt;
&lt;p&gt;Broadchoice Workspace is collaboration software for workgroups, companies, and communities who want an easy way to boost creativity and productivity by connecting people and their ideas. &lt;/p&gt;
&lt;p&gt;简单地说，这个软件的目的就是让一群人更好更方便地进行协作，大体看了一下这个东西的功能，发现它整合了书签、便笺、联系人等功能。下面还有一排是Facebook，twitter等，开始我还以为它能绑定这些应用的账号，没想到只是在程序里面嵌入了一个浏览器而已……&lt;/p&gt;
&lt;p&gt;由于是基于AIR的，界面很漂亮，想尝试的请留下email 。（我也不知道能邀请多少人，先到先得，哈哈）&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.broadchoice.com/&quot;&gt;Broadchoice Workspace&lt;/a&gt;&lt;/p&gt;
&lt;p class=&quot;akst_link&quot;&gt;&lt;a href=&quot;http://www.zhuoqun.net/?p=1112&amp;amp;akst_action=share-this&quot;  title=&quot;推荐，收藏到QQ书签，del.icio.us等等。&quot; id=&quot;akst_link_1112&quot; class=&quot;akst_share_link&quot; rel=&quot;noindex nofollow&quot;&gt;分享收藏&lt;/a&gt;
&lt;/p&gt;
&lt;!-- Generated by Simple Tags 1.0.4 - http://www.herewithme.fr/wordpress-plugins/simple-tags --&gt;
	&lt;h4&gt;相关日志&lt;/h4&gt;
	&lt;ul class='st-related-posts'&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2008/1087.html&quot; title=&quot;8个跑在Linux 上面的Adobe AIR 程序 (2008-08-08)&quot;&gt;8个跑在Linux 上面的Adobe AIR 程序&lt;/a&gt; (0)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2008/1080.html&quot; title=&quot;BBC Sport's Desktop Monkey (2008-07-19)&quot;&gt;BBC Sport's Desktop Monkey&lt;/a&gt; (3)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2008/1074.html&quot; title=&quot;Air Icon Generator (2008-07-09)&quot;&gt;Air Icon Generator&lt;/a&gt; (2)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2008/1066.html&quot; title=&quot;10 个优秀的Adobe AIR 应用 (2008-06-19)&quot;&gt;10 个优秀的Adobe AIR 应用&lt;/a&gt; (1)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zhuoqun.net/html/y2008/1045.html&quot; title=&quot;Spaz (2008-05-22)&quot;&gt;Spaz&lt;/a&gt; (0)&lt;/li&gt;
&lt;/ul&gt;</content:encoded><wfw:commentRss>http://www.zhuoqun.net/html/y2008/1112.html/feed</wfw:commentRss><description>由于在网上看到有好东西的邀请派送我就提交自己的email，所以刚收到这个东西的邀请的时候我都不知道它是做什么的。看了之后了解到，Broadchoice Workspace 是一个强大的 AIR 程序，整合了很多应用进去，看看他们自己的说明：
Broadchoice Workspace is collaboration software for workgroups, companies, and communities who want an easy way to boost creativity and productivity by connecting people and their ideas. 
简单地说，这个软件的目的就是让一群人更好更方便地进行协作，大体看了一下这个东西的功能，发现它整合了书签、便笺、联系人等功能。下面还有一排是Facebook，twitter等，开始我还以为它能绑定这些应用的账号，没想到只是在程序里面嵌入了一个浏览器而已……
由于是基于AIR的，界面很漂亮，想尝试的请留下email 。（我也不知道能邀请多少人，先到先得，哈哈）
Broadchoice Workspace
分享收藏


	相关日志
	
	8个跑在Linux 上面的Adobe AIR 程序 (0)
	BBC Sport's Desktop Monkey (3)
	Air Icon Generator (2)
	10 个优秀的Adobe AIR 应用 (1)
	Spaz (0)</description><category>AIR&amp;amp;Apollo</category><category>invite</category><category>AIR</category><category>app</category><category>技术</category><pubDate>Fri, 17 Oct 2008 09:53:14 +0800</pubDate><author>Dreamer</author><comments>http://www.zhuoqun.net/html/y2008/1112.html#comments</comments><guid isPermaLink="false">http://www.zhuoqun.net/?p=1112</guid><dc:creator>Dreamer</dc:creator><fs:srclink>http://www.zhuoqun.net/html/y2008/1112.html</fs:srclink><fs:srcfeed>http://www.zhuoqun.net/feed</fs:srcfeed><fs:itemid>feedsky/zhuoqun/~6142567/139609273/1487400</fs:itemid></item></channel></rss>