<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
 <channel>
  <title>有{間}客栈</title>
  <link>http://imcc.blogbus.com</link>
  <description><![CDATA[Thought is a seed, and action is the tree. ]]></description>
  <generator> by blogbus.com </generator>
  <lastBuildDate>Thu, 03 Dec 2009 14:21:13 +0800</lastBuildDate>
  <image>
									<url>http://public.blogbus.com/profile/7/1/2/1073217/avatar_1073217_96.jpg</url>
									<title>有{間}客栈</title>
									<link>http://imcc.blogbus.com</link>
								</image>  <item>
   <title>深刻的张爱玲</title>
   <description><![CDATA[前日和友人聊天，其间说到张爱玲，他给我讲了了一个张爱玲关于白玫瑰，红玫瑰的理论。大概意思是这样子的：<br /><br />
如果你的身边有两个女人，一个是白玫瑰，一个是红玫瑰。如果你钟情于红玫瑰，那红玫瑰就是你的心头肉，而白玫瑰就像你华丽外衣上的一个饭粒，是令人讨厌的，总是想着把它弹掉。如果你钟情于白玫瑰，那红玫瑰就是被拍死的蚊子的血，是令人作呕的，而白玫瑰，却依然是那圣洁的白玫瑰。<br /><br />
我当时听完，真是如雷贯耳，想想这张爱玲真是太深刻了，有时候甚至有些恶毒的意味，揭开世人...<!--sp--><div class="relpost"><br/><h3>随机文章：</h3><div><a href="http://imcc.blogbus.com/logs/52015536.html">钢显本色|Nokia 6300</a> 2009-11-23</div><div><a href="http://imcc.blogbus.com/logs/51992257.html">适可而止的设计：You ain't gonna need it</a> 2009-11-23</div><div><a href="http://imcc.blogbus.com/logs/51597427.html">爱恨情仇？Windows 7中的Ribbon界面</a> 2009-11-17</div><div><a href="http://imcc.blogbus.com/logs/49122111.html">周末，吃喝玩乐</a> 2009-10-25</div><div><a href="http://imcc.blogbus.com/logs/47528475.html">每逢佳节倍思亲</a> 2009-10-03</div></div><div class="addfav"><br />收藏到：<span class= "delicious"><a href="http://delicious.com/save?url=http%3A%2F%2Fimcc.blogbus.com%2Flogs%2F52843799.html&title=%E6%B7%B1%E5%88%BB%E7%9A%84%E5%BC%A0%E7%88%B1%E7%8E%B2">Del.icio.us</a></span></div><br /><br /><div class="sysmsg"><b><a href="http://www.blogbus.com" target="_blank">博客大巴，你的个人传媒早班车</a></b></div><br /><br />]]></description>
   <link>http://imcc.blogbus.com/logs/52843799.html</link>
   <author>imcc</author>
   <pubDate>Thu, 03 Dec 2009 14:08:39 +0800</pubDate>
  </item>
  <item>
   <title>钢显本色|Nokia 6300</title>
   <description><![CDATA[<p>换手机了。</p>
<p>因为电池的问题，决定买一部新手机，在Nokia 6300和Moto U9之间比较了以下，最后还是决定买Nokia 6300. 一是因为操作比较熟悉，二是外形我也比较喜欢，其实主要是被他的广告所蛊惑。</p>
<p>别了，我的6030；别了，毕业后买的第一部手机；别了，陪伴我四年的6030；别了，贴满无数贴纸，传递无尽爱语的对讲机。</p>
<p>&nbsp;</p>
<p style="text-align: center;"><a href="http://www.bababian.com/phoinfo/1FE86BB8338305A51A4EB93809C0FF3EDT" target="_blank"><img style="border: medium none;" src="http://photo2.bababian.com/upload1/20091123/1FE86BB8338305A51A4EB93809C0FF3E_500.jpg" alt="" /></a></p>
<p>&nbsp;</p><!--sp--><div class="relpost"><br/><h3>随机文章：</h3><div><a href="http://imcc.blogbus.com/logs/37572144.html">免费！First 2 Words: A Signal for the Scanning Eye</a> 2009-04-07</div><div><a href="http://imcc.blogbus.com/logs/6969819.html">What's Wrong With Setup.exe?</a> 2007-07-23</div><div><a href="http://imcc.blogbus.com/logs/6563435.html">Write Articles, Not Blog Postings</a> 2007-07-10</div><div><a href="http://imcc.blogbus.com/logs/52843799.html">深刻的张爱玲</a> 2009-12-03</div><div><a href="http://imcc.blogbus.com/logs/51992257.html">适可而止的设计：You ain't gonna need it</a> 2009-11-23</div></div><div class="addfav"><br />收藏到：<span class= "delicious"><a href="http://delicious.com/save?url=http%3A%2F%2Fimcc.blogbus.com%2Flogs%2F52015536.html&title=%E9%92%A2%E6%98%BE%E6%9C%AC%E8%89%B2%7CNokia+6300">Del.icio.us</a></span></div><br /><br /><div class="sysmsg"><b><a href="http://www.blogbus.com" target="_blank">博客大巴，你的个人传媒早班车</a></b></div><br /><br />]]></description>
   <link>http://imcc.blogbus.com/logs/52015536.html</link>
   <author>imcc</author>
   <pubDate>Mon, 23 Nov 2009 16:14:01 +0800</pubDate>
  </item>
  <item>
   <title>适可而止的设计：You ain't gonna need it</title>
   <description><![CDATA[<p>最近在一个项目中，发现同事总是希望在类中，或者是项目中添加一些不必要的方法或者功能。他给出的理由是：你可能会用到这个功能。</p>
<p>实际上，在软件设计中有这样一条准则：</p>
<h1 id="firstHeading" class="firstHeading">You ain't gonna need it</h1>
<p>对于这些你可能用到的功能，如果不是用例的必须，另可不要。所以，坚持适可而止的设计，让你的类和项目尽量的保持苗条，这样，省时又省力。同样的，还有KISS原则。</p>
<p><strong>"You aren't gonna need it"</strong> (or <strong>YAGNI</strong> for short) is the principle in <a class="mw-redirect" title="Extreme programming" href="http://en.wikipedia.org/wiki/Extreme_programming">extreme programming</a> that <a title="Programmer" href="http://en.wikipedia.org/wiki/Programmer">programmers</a> should not add functionality until it is necessary.<sup id="cite_ref-agilemethods_0-0" class="reference"><a href="http://en.wikipedia.org/wiki/You_ain%27t_gonna_need_it#cite_note-agilemethods-0"><span>[</span>1<span>]</span></a></sup> <a title="Ron Jeffries" href="http://en.wikipedia.org/wiki/Ron_Jeffries">Ron Jeffries</a> writes, "Always implement things when you actually need them, never when you just foresee that you need them."<sup id="cite_ref-jeffries_1-0" class="reference"><a href="http://en.wikipedia.org/wiki/You_ain%27t_gonna_need_it#cite_note-jeffries-1"><span>[</span>2<span>]</span></a></sup></p>
<table id="toc" class="toc" border="0">
<tbody>
<tr>
<td>
<div id="toctitle">
<h2>Contents</h2>
<span class="toctoggle">[<a id="togglelink" class="internal" href="javascript:toggleToc()">hide</a>]</span></div>
<ul>
<li class="toclevel-1 tocsection-1"><a href="http://en.wikipedia.org/wiki/You_ain%27t_gonna_need_it#Rationale"><span class="tocnumber">1</span> <span class="toctext">Rationale</span></a></li>
<li class="toclevel-1 tocsection-2"><a href="http://en.wikipedia.org/wiki/You_ain%27t_gonna_need_it#Balancing_concerns"><span class="tocnumber">2</span> <span class="toctext">Balancing concerns</span></a></li>
<li class="toclevel-1 tocsection-3"><a href="http://en.wikipedia.org/wiki/You_ain%27t_gonna_need_it#See_also"><span class="tocnumber">3</span> <span class="toctext">See also</span></a></li>
<li class="toclevel-1 tocsection-4"><a href="http://en.wikipedia.org/wiki/You_ain%27t_gonna_need_it#References"><span class="tocnumber">4</span> <span class="toctext">References</span></a></li>
<li class="toclevel-1 tocsection-5"><a href="http://en.wikipedia.org/wiki/You_ain%27t_gonna_need_it#External_links"><span class="tocnumber">5</span> <span class="toctext">External links</span></a></li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>
<script type="text/javascript"><!--
//&lt;![CDATA[


if (window.showTocToggle) { var tocShowText = "show"; var tocHideText = "hide"; showTocToggle(); } 


//]]&gt;
// --></script>
</p>
<h2><span class="editsection">[<a title="Edit section: Rationale" href="http://en.wikipedia.org/w/index.php?title=You_ain%27t_gonna_need_it&amp;action=edit&amp;section=1">edit</a>]</span> <span id="Rationale" class="mw-headline">Rationale</span></h2>
<p>According to those who advocate the YAGNI approach, the temptation
to write code that is not necessary at the moment, but might be in the
future, has the following disadvantages:</p>
<ul>
<li>The time spent is taken from adding, testing or improving necessary functionality.</li>
<li>The new features must be debugged, documented, and supported.</li>
<li>Any new feature imposes constraints on what can be done in the
future, so an unnecessary feature now may prevent implementing a
necessary feature later.</li>
<li>Until the feature is actually needed, it is difficult to fully
define what it should do and to test it. If the new feature is not
properly defined and tested, it may not work right, even if it
eventually is needed.</li>
<li>It leads to <a title="Code bloat" href="http://en.wikipedia.org/wiki/Code_bloat">code bloat</a>; the software becomes larger and more complicated.</li>
<li>Unless there are specifications and some kind of <a title="Revision control" href="http://en.wikipedia.org/wiki/Revision_control">revision control</a>, the feature may not be known to programmers who could make use of it.</li>
<li>Adding the new feature may suggest other new features. If these new features are implemented as well, this may result in a <a title="Snowball effect" href="http://en.wikipedia.org/wiki/Snowball_effect">snowball effect</a> towards <a class="mw-redirect" title="Creeping featurism" href="http://en.wikipedia.org/wiki/Creeping_featurism">creeping featurism</a>.</li>
</ul>
<h2><span class="editsection">[<a title="Edit section: Balancing concerns" href="http://en.wikipedia.org/w/index.php?title=You_ain%27t_gonna_need_it&amp;action=edit&amp;section=2">edit</a>]</span> <span id="Balancing_concerns" class="mw-headline">Balancing concerns</span></h2>
<p>Judging to omit a feature due to the YAGNI viewpoint should be balanced against other concerns, such as benefits of <a class="mw-redirect" title="Refactoring" href="http://en.wikipedia.org/wiki/Refactoring">refactoring</a>
code, anticipating upcoming features, team expectations (or fears),
availability of part-time expert assistance, and providing for
completeness of functionality.</p>
<p>Note that the concept of avoiding unnecessary work with the YAGNI principle must be tempered against the potential need for <a class="mw-redirect" title="Refactoring" href="http://en.wikipedia.org/wiki/Refactoring">refactoring</a>
software modules to make them simpler or faster in the future. If a
software module, or an entire software product, represents a dead-end
effort at the time, then any further modifications (such as
refactoring) can be viewed as YAGNI issues. However, this concern is
somewhat obviated by the effects of YAGNI itself - that is, it is
always easier to refactor simpler code.</p>
<p>Another restriction is the potential for enhanced features for the
customer. A feature which might seem unnecessary, at an early point,
might become part of a vital future enhancement adding value to the
product. Such judgments, assessing current and future features, should
probably involve discussions with multiple people to help determine a
"yes" or "no" decision about implementing such features. Of course,
YAGNI only applies to features that are known not to be needed.</p>
<p>Also affecting the decision is the impact of fear or confusion for
the people involved with a new feature. An individual or team working
on a new enhancement might face disappointment if the new work is
denied, or demanded, against their personal expectations, either
excited about the new work, or dreading the anticipated workload,
associated with a particular feature. This concern should obviously be
handled well prior to YAGNI principles being applied.</p>
<p>Yet another conflicting factor is the access to expert assistance,
which might be limited. For example, experts might be available to
design features X, Y, or Z, and also recommend another, but currently
unneeded, feature W. A judgment call is needed to determine whether
such expert design of an unneeded feature should be encouraged, while
the expert is available, to support potential product enhancement in
the future, where enhancements would be implemented by junior personnel
after the expert has left. Perhaps a bigger concern stems from
depending on outside expert assistance at all.</p>
<p>A logical conflicting factor is the notion of completeness, which
tends to define missing options, or facets, mostly likely to be needed:
for example, among features which allow adding items, deleting items,
or modifying items, completeness could be used to also recommend
"renaming items". The critical impact of completeness can be seen in
some types of <a title="Wiki" href="http://en.wikipedia.org/wiki/Wiki">wiki</a>-collaboration
software which can add or delete image-files, but not rename images. Of
course, YAGNI, by definition, would not apply to features that are
needed to "complete" the project.</p>
<p>In general, the YAGNI viewpoint must be balanced against the other concerns, such as those of <a class="mw-redirect" title="Refactoring" href="http://en.wikipedia.org/wiki/Refactoring">refactoring</a>, upcoming vital features, team expectations, part-time expert assistance, and logical completeness.</p>
<p>&nbsp;</p><!--sp--><div class="relpost"><br/><h3>随机文章：</h3><div><a href="http://imcc.blogbus.com/logs/37572144.html">免费！First 2 Words: A Signal for the Scanning Eye</a> 2009-04-07</div><div><a href="http://imcc.blogbus.com/logs/39924870.html">如何激发程序员？</a> 2009-05-25</div><div><a href="http://imcc.blogbus.com/logs/36200499.html">Visual Studio 2010与VS2008全面比较</a> 2009-03-06</div><div><a href="http://imcc.blogbus.com/logs/25524324.html">软件工程师不可不知的10个概念</a> 2008-07-25</div><div><a href="http://imcc.blogbus.com/logs/21932394.html">关于如何做好技术讲座的一些技巧</a> 2008-05-30</div></div><div class="addfav"><br />收藏到：<span class= "delicious"><a href="http://delicious.com/save?url=http%3A%2F%2Fimcc.blogbus.com%2Flogs%2F51992257.html&title=%E9%80%82%E5%8F%AF%E8%80%8C%E6%AD%A2%E7%9A%84%E8%AE%BE%E8%AE%A1%EF%BC%9AYou+ain%27t+gonna+need+it">Del.icio.us</a></span></div><br /><br /><div class="sysmsg"><b><a href="http://www.blogbus.com" target="_blank">博客大巴，你的个人传媒早班车</a></b></div><br /><br />]]></description>
   <link>http://imcc.blogbus.com/logs/51992257.html</link>
   <author>imcc</author>
   <pubDate>Mon, 23 Nov 2009 10:59:13 +0800</pubDate>
  </item>
  <item>
   <title>置灰还是不置灰？这是一个问题</title>
   <description><![CDATA[<p>今天在网上找一个将菜单项置灰的方法，结果方法没有找到，却找到了<a href="http://www.joelonsoftware.com/AboutMe.html">Joel Spolsky</a>对这种&ldquo;标准做法&rdquo;的反对意见：</p>
<p>A long time ago, it became fashionable, even recommended, to disable menu items when they could not be used.</p>
<p>Don't do this. Users see the disabled menu item that they want to
click on, and are left entirely without a clue of what they are
supposed to do to get the menu item to work.</p>
<p>Instead, leave the menu item enabled. If there's some reason you
can't complete the action, the menu item can display a message telling
the user why.</p>
<p>&nbsp;</p>
<p>恩，看完之后，表示赞同！</p>
<p>告诉用户原因会有较好的可用性：因为我知道了为什么这个菜单不可以用，总比让我去猜测好。</p><!--sp--><div class="relpost"><br/><h3>随机文章：</h3><div><a href="http://imcc.blogbus.com/logs/52015536.html">钢显本色|Nokia 6300</a> 2009-11-23</div><div><a href="http://imcc.blogbus.com/logs/45029462.html">Twitter Postings：Text is a UI</a> 2009-08-25</div><div><a href="http://imcc.blogbus.com/logs/44460454.html">UI和产品的自定义</a> 2009-08-18</div><div><a href="http://imcc.blogbus.com/logs/42007119.html">听专家的：Building Respect for Usability Expertise</a> 2009-07-07</div><div><a href="http://imcc.blogbus.com/logs/37572144.html">免费！First 2 Words: A Signal for the Scanning Eye</a> 2009-04-07</div></div><div class="addfav"><br />收藏到：<span class= "delicious"><a href="http://delicious.com/save?url=http%3A%2F%2Fimcc.blogbus.com%2Flogs%2F51750224.html&title=%E7%BD%AE%E7%81%B0%E8%BF%98%E6%98%AF%E4%B8%8D%E7%BD%AE%E7%81%B0%EF%BC%9F%E8%BF%99%E6%98%AF%E4%B8%80%E4%B8%AA%E9%97%AE%E9%A2%98">Del.icio.us</a></span></div><br /><br /><div class="sysmsg"><b><a href="http://www.blogbus.com" target="_blank">博客大巴，你的个人传媒早班车</a></b></div><br /><br />]]></description>
   <link>http://imcc.blogbus.com/logs/51750224.html</link>
   <author>imcc</author>
   <pubDate>Thu, 19 Nov 2009 17:33:39 +0800</pubDate>
  </item>
  <item>
   <title>格式化字符串——以C++的名义</title>
   <description><![CDATA[<p>这几天在做一个项目的移植工作，将其从原来的6.0移植到VS2008上，因为采用了新的unicode字符集，所以在处理字符串的时候遇到了很多问题，转载一篇文章，有帮助。</p>
<p>从第一堂C语言课上的那个printf开始，格式化字符串就成了我的梦魇。此后我还在很多地方遇到过它们：fprintf，sscanf以及
CString的Format成员函数&hellip;&hellip;。除了能记住%s（String的缩写）代表字符串，%d（Decimal的缩写）代表整数之外，每次用到格式
化字符串的地方我都要求助于MSDN。<br />&nbsp;&nbsp;&nbsp; 直到我看到C++的字符串格式化方式后，我决定从此抛弃C的那套格式化字符串的方法。<br />&nbsp;&nbsp;&nbsp; 在C++里格式化字符串，用到的最多的类是：ostringstream以及它的宽字符版本wostringstream。<br /><br />&nbsp;&nbsp;&nbsp; 话不多说，如果要将一个整数n格式化成字符串以便输出之用<br />&nbsp;&nbsp;&nbsp; CString的方式是这样的：<br /><br /><br /><span style="color: #000000;">&nbsp;CString&nbsp;str;<br />&nbsp;str.Format(_T(</span><span style="color: #000000;">"</span><span style="color: #000000;">%d</span><span style="color: #000000;">"</span><span style="color: #000000;">),&nbsp;n);&nbsp;</span><br />&nbsp;&nbsp;&nbsp; ostringstream的方式：&nbsp; <br /><br /><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top" /><span style="color: #000000;">ostringstream&nbsp;ost;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top" />ost</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">n;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top" /></span><span style="color: #0000ff;">string</span><span style="color: #000000;">&nbsp;str&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;ost.str();</span><br />&nbsp;&nbsp;&nbsp; 抛开效率不谈，起码不用再去记%d代表整数，%f代表浮点数，当然还有更复杂的格式控制输出的那些%（此处省略200字&hellip;&hellip;）。<br />&nbsp;&nbsp;&nbsp; 稍微复杂一点，如果要将整数以16进制的格式输出（这个恐怕是整数输出中最常用的功能了）<br /><br /><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top" /><span style="color: #000000;">ostringstream&nbsp;ost;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top" />ost</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">hex</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">showbase</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">255</span><span style="color: #000000;">;</span><br />&nbsp;&nbsp;&nbsp; 如果以16进制大写的格式输出：<br /><br /><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top" /><span style="color: #000000;">ostringstream&nbsp;ost;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top" />ost</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">hex</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">showbase</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">uppercase</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">255</span><span style="color: #000000;">;</span><br />&nbsp;&nbsp;&nbsp; 可有时候希望以32位整数的方式来输出的时候，在前面通常要补上多个0，这时可以这样做：<br /><br /><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top" /><span style="color: #000000;">ostringstream&nbsp;ost;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top" /></span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;也许有更好的写法</span><span style="color: #008000;"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top" /></span><span style="color: #000000;">ost</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">"</span><span style="color: #000000;">0X</span><span style="color: #000000;">"</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">hex</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">uppercase</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">setw(</span><span style="color: #000000;">8</span><span style="color: #000000;">)</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">setfill(</span><span style="color: #000000;">''</span><span style="color: #000000;">0</span><span style="color: #000000;">''</span><span style="color: #000000;">)</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">255</span><span style="color: #000000;">;</span><br />&nbsp;&nbsp;&nbsp; 比起格式化字符串来输入的字母更多，但我觉得这种以人话写出来的方式比较好记:)<br /><br />&nbsp;&nbsp;&nbsp; 对于浮点数，最长用的格式化功能莫过于在小数点后保留X位的做法。<br />&nbsp;&nbsp;&nbsp; 比如在小数点后保留6位：<br /><br /><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top" /><span style="color: #000000;">ostringstream&nbsp;ost;<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top" /></span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;将输出1234.567800</span><span style="color: #008000;"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top" /></span><span style="color: #000000;">ost</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #0000ff;">fixed</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">setprecision(</span><span style="color: #000000;">6</span><span style="color: #000000;">)</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">1234.5678</span><span style="color: #000000;">;</span><br />&nbsp;&nbsp;&nbsp; 保留3位<br /><br /><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top" /><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;将输出1234.568，已经替我们做好了四舍五入</span><span style="color: #008000;"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top" /></span><span style="color: #000000;">ost</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #0000ff;">fixed</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">setprecision(</span><span style="color: #000000;">3</span><span style="color: #000000;">)</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">1234.5678</span><span style="color: #000000;">;</span><br /><span style="font-size: medium;"><span style="font-weight: bold;">&nbsp;&nbsp;&nbsp; 实现机制</span></span><br />&nbsp;&nbsp;&nbsp; C++使用一种称为操控符的技术来控制格式化的输出。<br /><br />&nbsp;&nbsp;&nbsp; 经典的Hello World的C++版本大概是这样的：&nbsp;&nbsp;&nbsp;<br /><br /><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top" /><span style="color: #000000;">std::cout</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">"</span><span style="color: #000000;">Hello&nbsp;World</span><span style="color: #000000;">"</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">endl;</span>&nbsp;&nbsp;&nbsp; 这将在标准输出上输出Hello World后附带一个换行，并且刷新cout流。一个简单的endl包含了模板和运算符重载两个C++中极有分量的技术。<br /><br />&nbsp;&nbsp;&nbsp; 对endl的输出将引发下面这个重载了的&lt;&lt;运算符的调用（摘自VS2008的ostream文件）：<br /><br /><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top" /><span style="color: #000000;">_Myt</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;__CLR_OR_THIS_CALL&nbsp;</span><span style="color: #0000ff;">operator</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">(_Myt</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;(__cdecl&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">_Pfn)(_Myt</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">))<br /><img id="_70_168_Open_Image" onclick="this.style.display=''none''; document.getElementById(''_70_168_Open_Text'').style.display=''none''; document.getElementById(''_70_168_Closed_Image'').style.display=''inline''; document.getElementById(''_70_168_Closed_Text'').style.display=''inline'';" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" alt="" align="top" /><img id="_70_168_Closed_Image" style="display: none;" onclick="this.style.display=''none''; document.getElementById(''_70_168_Closed_Text'').style.display=''none''; document.getElementById(''_70_168_Open_Image'').style.display=''inline''; document.getElementById(''_70_168_Open_Text'').style.display=''inline'';" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="_70_168_Closed_Text" style="border: 1px solid #808080; background-color: #ffffff; display: none;">...</span><span id="_70_168_Open_Text"><span style="color: #000000;">{&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;call&nbsp;basic_ostream&nbsp;manipulator</span><span style="color: #008000;"><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" alt="" align="top" /></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;_DEBUG_POINTER(_Pfn);<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;((</span><span style="color: #000000;">*</span><span style="color: #000000;">_Pfn)(</span><span style="color: #000000;">*</span><span style="color: #0000ff;">this</span><span style="color: #000000;">));<br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span>&nbsp;&nbsp;&nbsp; 而endl正好满足了这个重载的运算符的参数的格式：<br /><br /><br /><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" alt="" align="top" /><span style="color: #000000;">_CRTIMP2_PURE</span></p>
<p>&nbsp;</p><!--sp--><div class="relpost"><br/><h3>随机文章：</h3><div><a href="/logs/42792364.html">与7共舞：Jumplist</a> 2009-07-23</div><div><a href="/logs/39418059.html">步步学ACTIVEX网页控件开发:创建安全的ActiveX控件</a> 2009-05-15</div><div><a href="/logs/39388879.html">全职杀手:用VSTS2010进行软件生命周期管理</a> 2009-05-14</div><div><a href="/logs/36403247.html">在Visual Studio 2010中实现灾难恢复</a> 2009-03-11</div><div><a href="/logs/19170486.html">OOXML到底是什么东东？</a> 2008-04-16</div></div><div class="addfav"><br />收藏到：<span class= "delicious"><a href="http://delicious.com/save?url=http%3A%2F%2Fimcc.blogbus.com%2Flogs%2F51725364.html&title=%E6%A0%BC%E5%BC%8F%E5%8C%96%E5%AD%97%E7%AC%A6%E4%B8%B2%E2%80%94%E2%80%94%E4%BB%A5C%2B%2B%E7%9A%84%E5%90%8D%E4%B9%89">Del.icio.us</a></span></div><br /><br /><div class="sysmsg"><b><a href="http://www.blogbus.com" target="_blank">博客大巴，你的个人传媒早班车</a></b></div><br /><br />]]></description>
   <link>http://imcc.blogbus.com/logs/51725364.html</link>
   <author>imcc</author>
   <pubDate>Thu, 19 Nov 2009 11:29:48 +0800</pubDate>
  </item>
  <item>
   <title>爱恨情仇？Windows 7中的Ribbon界面</title>
   <description><![CDATA[<p>之前写过几篇文章介绍Windows 7中Ribbon界面的开发，随着Windows 7的发布，Ribbon界面成为一种趋势。这周，CodeProject就Ribbon界面做了一个调查，看看程序们对Ribbon界面是爱是恨》</p>
<p>The Windows 7 Ribbon. Love it or Loathe it?</p>
<p>Survey period: 9 Nov 2009 to 16 Nov 2009<br /><br />Do you like the Windows 7 (formerly Office 2007) Ribbon or do you loathe it?<br /><br />Option Votes %&nbsp;&nbsp; <br />I love it 208 19.85&nbsp; <br />I like it 324 30.92&nbsp; <br />I'm ambivalent or don't have an opinion 254 24.24&nbsp; <br />I don't like it 149 14.22&nbsp; <br />I can't stand it 113 10.78&nbsp; <br />Total 1048&nbsp;&nbsp; 100% </p>
<p>从结果来看，半数参与调查的人对Ribbon界面抱着欢迎的态度，其中有约20%甚至是Love的程度。只有约10&amp;的人比较讨厌Ribbon界面，看来是程序员中比较守旧的一部分。</p>
<p>v从结果上分析，微软在Windows 7中推出的二代Ribbon界面还是比较成功的，能够被多数人说认同和接受，Ribbon逐渐成为一种趋势，不再是一个空洞的口号。想当初，我写下Ribbon界面会成为趋势的时候，还在担心自己会成为历史的笑话呢。这些有些放心了。</p>
<p>实际上，我个人也是比较接受Ribbon界面的，虽然开发起来更麻烦。</p><!--sp--><div class="relpost"><br/><h3>随机文章：</h3><div><a href="http://imcc.blogbus.com/logs/47210360.html">与Win7共舞：如何进行操作系统版本检查？</a> 2009-09-27</div><div><a href="http://imcc.blogbus.com/logs/47365525.html">专题：VS2010与Windows 7共舞</a> 2009-09-30</div><div><a href="http://imcc.blogbus.com/logs/47128933.html">与Win7 共舞：用户界面特权隔离</a> 2009-09-25</div><div><a href="http://imcc.blogbus.com/logs/47128868.html">与Win7共舞：系统服务的Session 0隔离</a> 2009-09-25</div><div><a href="http://imcc.blogbus.com/logs/46919272.html">与Win7共舞：UAC惹祸 如何进行安装程序检测？</a> 2009-09-22</div></div><div class="addfav"><br />收藏到：<span class= "delicious"><a href="http://delicious.com/save?url=http%3A%2F%2Fimcc.blogbus.com%2Flogs%2F51597427.html&title=%E7%88%B1%E6%81%A8%E6%83%85%E4%BB%87%EF%BC%9FWindows+7%E4%B8%AD%E7%9A%84Ribbon%E7%95%8C%E9%9D%A2">Del.icio.us</a></span></div><br /><br /><div class="sysmsg"><b><a href="http://www.blogbus.com" target="_blank">博客大巴，你的个人传媒早班车</a></b></div><br /><br />]]></description>
   <link>http://imcc.blogbus.com/logs/51597427.html</link>
   <author>imcc</author>
   <pubDate>Tue, 17 Nov 2009 17:32:45 +0800</pubDate>
  </item>
  <item>
   <title>Visual Studio 2010对并行计算的支持</title>
   <description><![CDATA[<p><strong>IT168 专稿】</strong>小时候，老师总是教育我们上课要专心，&ldquo;一心不可二用&rdquo;。可是这个道理在计算机的世界却行不通。睡着多核心<a class="nounderline" title="CPU" href="http://product.it168.com/list/b/0217_1.shtml" target="_blank">CPU</a>的推出，一芯多用，成为越来越普遍的事情。从单核到双核，从双核到四核，再到八核等等，我们开始进入一个一芯多核的时代。</p>
<p>　　<a class="nounderline" title="软件" href="http://software.it168.com/" target="_blank">软件</a>是
运行在硬件之上的。当硬件发展了，软件也要做相应的变化，才能跟上时代的步伐。面对多核时代的到来，软件世界的并行计算开始兴盛起来。如何更加充分地利用
CPU的多个核心?如何发挥多核的威力，带来软件性能上的提升?如何改造现有的程序，让她更好地适应多核时代?如何简便地实现并行计算，使自己开发的应用
程序充分地利用硬件升级所带来的性能提升?这些问题，无不困扰着我们这些多核时代的程序员们。</p>
<p>　　现在崭新的Visual Studio 2010为我们带来了完整的并行计算解决方案，让我们可以从容面对多核时代的到来。</p>
<p>　　<strong>天下不再有&ldquo;免费的午餐&rdquo;</strong></p>
<p>　
　在以往的计算机发展历史中，硬件技术的发展，特别是CPU频率的不断提高，总是给软件带来免费的性能提升。从386到586，从赛扬到奔腾，每次CPU
频率的提升，都带来软件性能的大幅提升，而软件无需做任何变动。如果有客户抱怨你的软件性能不佳，我们无需着急，只需要坐等Intel或者AMD推出更高
频率的CPU就可以了。程序员们把这形象地称为&ldquo;免费的午餐&rdquo;。</p>
<div id="div2423476" style="text-align: center;"><img id="img2423476" src="http://image4.it168.com/2009/11/2/22961d25-b1f1-4aec-bc86-4a58860979cb.jpg" border="0" alt="" /></div>
<p style="text-align: center;">图1，多核时代</p>
<p>　
　当单核CPU的频率发展到3G之后，再往上发展就遇到了技术瓶颈，单核心CPU的发展已经到达一个极限，硬件厂商不得不转而向多核芯CPU发展，在一颗
芯片中加入两个甚至多个运算核心，通过核心的增加，来提高芯片总的频率。虽然在硬件厂商看来，这仿佛是一个创举，但是却给软件厂商带来了无尽的烦劳。程序
员们发现，进入多核时代后，这种&ldquo;免费的午餐&rdquo;再也没有了。这其中最主要的原因就是当前的应用程序几乎都是针对一个运算核心而设计的，当硬件通过增加运算
核心来提高性能时，由于受到其架构的影响，软件并不能充分地利于多个运算核心所带来的性能提升，甚至有的时候性能还有所下降。在这种情况下，开发者不得不
改变应用程序的架构和开发方法，以应对这种多核的趋势，使得自己的软件可以充分利于硬件升级所带来的性能提升。开发者希望有一个工具能够帮助他们分析应用
程序中的性能瓶颈，能够简便地将现有的业务逻辑并行化处理，从而更好地利用硬件，提升软件的性能。面对这样的需求，作为下一代开发平台，Visual
Studio
2010加大了对并行运算的支持。微软正在使得尽量大的范围内的开发者都能高效而简便地进行并行计算的开发，不管他使用的是非托管代码还是.NET
Framework。从而将开发者从繁琐而复杂的多线程开发中解放出来，将更多的精力放到业务逻辑上。在Visual Studio
2010中，我们将看到：</p>
<p>　　&bull; Visual Studio IDE对并行计算开发的大量支持。比如，Visual Studio 2010的调试器知道代码的并行特性，并且能够在调试程序的不同执行单元的时候，表现应用程序的状态。</p>
<p>　　&bull; 非托管的C++库和编译器对并行计算的支持</p>
<p>　　&bull; .NET Framework 4.0对并行计算的大量支持，包括PLINQ、并行语言语句等等</p>
<p>　
　另外，Visual Studio
2010还提供了一个&ldquo;并行性能分析器&rdquo;，它可以帮助我们分析应用程序的性能瓶颈，找到需要并行处理和可以进行并行处理的地方，并以图形化的形式表现出
来。这样，&ldquo;并行性能分析器&rdquo;配合着Visual Studio 2010，我们就可以轻松地实现应用程序的并行化。</p>
<p>&nbsp;</p>
<p>阅读全文：<a href="http://tech.it168.com/a2009/1102/802/000000802107.shtml" target="_blank">Visual Studio 2010对并行计算的支持</a></p><!--sp--><div class="relpost"><br/><h3>随机文章：</h3><div><a href="http://imcc.blogbus.com/logs/47365525.html">专题：VS2010与Windows 7共舞</a> 2009-09-30</div><div><a href="http://imcc.blogbus.com/logs/51597427.html">爱恨情仇？Windows 7中的Ribbon界面</a> 2009-11-17</div><div><a href="http://imcc.blogbus.com/logs/48853749.html">Visual Studio 2010 Beta 2 Training Kit发布</a> 2009-10-21</div><div><a href="http://imcc.blogbus.com/logs/48768869.html">Visual Studio 2010 beta2发布，MSDN旧貌换新颜</a> 2009-10-20</div><div><a href="http://imcc.blogbus.com/logs/47210360.html">与Win7共舞：如何进行操作系统版本检查？</a> 2009-09-27</div></div><div class="addfav"><br />收藏到：<span class= "delicious"><a href="http://delicious.com/save?url=http%3A%2F%2Fimcc.blogbus.com%2Flogs%2F50046576.html&title=Visual+Studio+2010%E5%AF%B9%E5%B9%B6%E8%A1%8C%E8%AE%A1%E7%AE%97%E7%9A%84%E6%94%AF%E6%8C%81">Del.icio.us</a></span></div><br /><br /><div class="sysmsg"><b><a href="http://www.blogbus.com" target="_blank">博客大巴，你的个人传媒早班车</a></b></div><br /><br />]]></description>
   <link>http://imcc.blogbus.com/logs/50046576.html</link>
   <author>imcc</author>
   <pubDate>Tue, 03 Nov 2009 10:56:33 +0800</pubDate>
  </item>
  <item>
   <title>Windows 7 Party</title>
   <description><![CDATA[<p><a href="1" target="_blank"><img style="border:none;" src="http://uetk9g.blu.livefilestore.com/y1pgs0QtVO45q5a-6iZYzYyxlM_CKod_RMLrIdt3ezBuEHp9-pGDwEOUqaSEvqBhFIzGEc2UCqDCU7bceCMHnHVaw/DSCF4378.jpg" alt="" /></a></p>
<p>Party在学生宿舍的院子中举行，好像是个四合院一样</p>
<p><img src="http://uetk9g.blu.livefilestore.com/y1pt5cFSvXwKydw85IhpEQUpnS_mOyR1Jsgz1PKenqrzfj5nuKNi1ziTqnpKpN0IAC67qoqK7eYG0TlnPe7so1d6w/DSCF4379.jpg" alt="" width="600" height="338" /></p>
<p>这是什么东西，一直没有搞明白？？？？</p>
<p><img src="http://uetk9g.blu.livefilestore.com/y1pEhR7yb5bzUti_evUMTciSDCugSU1pcgYFmYZMu4CTcH35N-sF5yEucWivT2iDADWF-_1uwLvgevyRV7OWodo7Q/DSCF4383.jpg" alt="" width="600" height="338" /></p>
<p>有吃有喝，同学们的生活是越来越好了啊</p>
<p><img src="http://uetk9g.blu.livefilestore.com/y1pxFB8vdYyu4bUi86P_grUMtsJgMp0C0Ui1YFRI48MwAFrD-rIViaxiP9PBUVx4tAnKKNm0lcxz6oybFfsLYzckQ/DSCF4393.jpg" alt="" width="600" height="338" /></p>
<p>现场有很多群众在围观</p>
<p><img src="http://uetk9g.blu.livefilestore.com/y1pWn2iFWFW1am6ptl24wXBTKfWItHxsC4FXR60WmkOY8Mo0vpQ7zE8bkzvPuyV3teAZdOm28WtYiuaQrYHjGQc0g/DSCF4486.jpg" alt="" width="600" height="450" /></p>
<p>哎，那天真不该穿黑色外套，根本都看不得我啊~~%&gt;_&lt;%</p>
<p><img src="http://uetk9g.blu.livefilestore.com/y1plgp50aFDZ3cx9mQ_RkJ_9t9DVjj1n49TlU_-4PNsqwE06wrOxIL7AkYC9zvINHNI0h98mQo0vNZo1SDbwpPElw/DSCF4517.jpg" alt="" width="600" height="450" /></p>
<p>照例是最后的&ldquo;茄子&rdquo;</p>
<p>总的而言，玩的很开心。跟同学们在一起很开心啊。</p><!--sp--><div class="relpost"><br/><h3>随机文章：</h3><div><a href="http://imcc.blogbus.com/logs/51597427.html">爱恨情仇？Windows 7中的Ribbon界面</a> 2009-11-17</div><div><a href="http://imcc.blogbus.com/logs/49197066.html">Wow~Windows 7 Party宣传片</a> 2009-10-26</div><div><a href="http://imcc.blogbus.com/logs/49122341.html">如何为Windows 7开发应用程序？</a> 2009-10-25</div><div><a href="http://imcc.blogbus.com/logs/48979253.html">帅！太帅了！Windows 7的Bing桌面主题</a> 2009-10-23</div><div><a href="http://imcc.blogbus.com/logs/48941332.html">Windows 7 Party! Join us~</a> 2009-10-22</div></div><div class="addfav"><br />收藏到：<span class= "delicious"><a href="http://delicious.com/save?url=http%3A%2F%2Fimcc.blogbus.com%2Flogs%2F49220768.html&title=Windows+7+Party">Del.icio.us</a></span></div><br /><br /><div class="sysmsg"><b><a href="http://www.blogbus.com" target="_blank">博客大巴，你的个人传媒早班车</a></b></div><br /><br />]]></description>
   <link>http://imcc.blogbus.com/logs/49220768.html</link>
   <author>imcc</author>
   <pubDate>Mon, 26 Oct 2009 21:25:56 +0800</pubDate>
  </item>
  <item>
   <title>Wow~Windows 7 Party宣传片</title>
   <description><![CDATA[<p>上次在Windows 7 Party上看到的宣传片，挺酷的，欣赏一下！</p>
<p>&nbsp;</p>
<p>
<object width="420" height="363" data="http://www.tudou.com/v/2wwhvhVyoyY" type="application/x-shockwave-flash">
<param name="allowFullScreen" value="true" />
<param name="allowscriptaccess" value="always" />
<param name="wmode" value="opaque" />
<param name="src" value="http://www.tudou.com/v/2wwhvhVyoyY" />
<param name="allowfullscreen" value="true" />
</object>
</p><!--sp--><div class="relpost"><br/><h3>随机文章：</h3><div><a href="http://imcc.blogbus.com/logs/51597427.html">爱恨情仇？Windows 7中的Ribbon界面</a> 2009-11-17</div><div><a href="http://imcc.blogbus.com/logs/49220768.html">Windows 7 Party</a> 2009-10-26</div><div><a href="http://imcc.blogbus.com/logs/49122341.html">如何为Windows 7开发应用程序？</a> 2009-10-25</div><div><a href="http://imcc.blogbus.com/logs/48979253.html">帅！太帅了！Windows 7的Bing桌面主题</a> 2009-10-23</div><div><a href="http://imcc.blogbus.com/logs/48941332.html">Windows 7 Party! Join us~</a> 2009-10-22</div></div><div class="addfav"><br />收藏到：<span class= "delicious"><a href="http://delicious.com/save?url=http%3A%2F%2Fimcc.blogbus.com%2Flogs%2F49197066.html&title=Wow%7EWindows+7+Party%E5%AE%A3%E4%BC%A0%E7%89%87">Del.icio.us</a></span></div><br /><br /><div class="sysmsg"><b><a href="http://www.blogbus.com" target="_blank">博客大巴，你的个人传媒早班车</a></b></div><br /><br />]]></description>
   <link>http://imcc.blogbus.com/logs/49197066.html</link>
   <author>imcc</author>
   <pubDate>Mon, 26 Oct 2009 14:11:05 +0800</pubDate>
  </item>
  <item>
   <title>如何为Windows 7开发应用程序？</title>
   <description><![CDATA[<p><a href="http://www.bababian.com/phoinfo/954192BABC82735A4C71CDCA95482A4ADT" target="_blank"></a></p>
<p>&nbsp;昨天在母校参与了Windows 7 Party，其中介绍了一些如何为Windows 7开发软件，如果将现有软件迁移到Windows 7上的知识，下面是讲演用的PPT，分享给大家。</p>
<p>Windows 7已经正式发布，从她的测试版本开始到正式发布，Windows 7都广泛地受到好评，或许，Windows 7会成为微软继Windows XP之后新一代的操作系统垄断者，越来越多的应用程序将开始迁移到Windows 7上，越来愈多的应用程序将开始基于Windows 7平台而设计。那么，为Windows 7而开发应用程序，我们需要了解哪些知识？下面的幻灯片可以给大家一个概要性的介绍，让大家清楚从哪些方面入手为Windows 7开发应用程序。&nbsp;</p>
<p>&nbsp;</p>
<p>
<object width="600" height="510" data="http://www.bababian.com/pageshow.swf?uid=&amp;sid=F5B543B9E46EF0CE5713CD62C5DE576ADS&amp;gid=&amp;tags=" type="application/x-shockwave-flash">
<param name="quality" value="high" />
<param name="src" value="http://www.bababian.com/pageshow.swf?uid=&amp;sid=F5B543B9E46EF0CE5713CD62C5DE576ADS&amp;gid=&amp;tags=" />
<param name="name" value="photo" />
</object>
</p><!--sp--><div class="relpost"><br/><h3>随机文章：</h3><div><a href="http://imcc.blogbus.com/logs/46873034.html">与Win7共舞：UAC与数据重定向</a> 2009-09-21</div><div><a href="http://imcc.blogbus.com/logs/45614866.html">与7共舞：库(Library)</a> 2009-09-02</div><div><a href="http://imcc.blogbus.com/logs/51597427.html">爱恨情仇？Windows 7中的Ribbon界面</a> 2009-11-17</div><div><a href="http://imcc.blogbus.com/logs/49220768.html">Windows 7 Party</a> 2009-10-26</div><div><a href="http://imcc.blogbus.com/logs/49197066.html">Wow~Windows 7 Party宣传片</a> 2009-10-26</div></div><div class="addfav"><br />收藏到：<span class= "delicious"><a href="http://delicious.com/save?url=http%3A%2F%2Fimcc.blogbus.com%2Flogs%2F49122341.html&title=%E5%A6%82%E4%BD%95%E4%B8%BAWindows+7%E5%BC%80%E5%8F%91%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%EF%BC%9F">Del.icio.us</a></span></div><br /><br /><div class="sysmsg"><b><a href="http://www.blogbus.com" target="_blank">博客大巴，你的个人传媒早班车</a></b></div><br /><br />]]></description>
   <link>http://imcc.blogbus.com/logs/49122341.html</link>
   <author>imcc</author>
   <pubDate>Sun, 25 Oct 2009 13:59:25 +0800</pubDate>
  </item>
 </channel>
</rss>
