<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>闲云孤鹤 - 清冷香中抱膝吟</title>
	<atom:link href="http://blog.eshangrao.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.eshangrao.com</link>
	<description>古老的浪漫，流光飞舞的芬芳潺潺流过古老的集市，怦然心动…</description>
	<pubDate>Mon, 10 Nov 2008 03:08:06 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<item>
		<title>奥巴马当选演讲全文</title>
		<link>http://blog.eshangrao.com/2008/11/07/639/</link>
		<comments>http://blog.eshangrao.com/2008/11/07/639/#comments</comments>
		<pubDate>Fri, 07 Nov 2008 10:34:55 +0000</pubDate>
		<dc:creator>feiy</dc:creator>
		
		<category><![CDATA[美文流传]]></category>

		<category><![CDATA[China]]></category>

		<category><![CDATA[USA]]></category>

		<guid isPermaLink="false">http://blog.eshangrao.com/?p=639</guid>
		<description><![CDATA[&#160;
多的不多，您自己看吧，对比我们的奶粉事件！唉！视民如草芥，都是国家差距怎么就那么大呢？！

奥巴马当选演讲全文
&#160;Yes，We can！
&#8212;&#8212;华尔街日报翻译版
&#160;&#160;&#160;&#160;... ]]></description>
			<content:encoded><![CDATA[<p class='fp'>&nbsp;</p>
<p>多的不多，您自己看吧，对比我们的奶粉事件！唉！视民如草芥，都是国家差距怎么就那么大呢？！</p>
<blockquote>
<p><strong><font size="3">奥巴马当选演讲全文<br />
</font></strong><font size="3"><strong><font face="Georgia" size="6">&nbsp;Yes，We can！</font><br />
&mdash;&mdash;华尔街日报翻译版<br />
&nbsp;&nbsp;&nbsp;&nbsp; 奥巴马</strong></font>&nbsp;&nbsp;&nbsp;</p>
<p><font size="3">&nbsp;&nbsp;&nbsp; 如果还有人对美国是否凡事都有可能存疑，还有人怀疑美国奠基者的梦想在我们所处的时代是否依然鲜活，还有人质疑我们的民主制度的力量，那么今晚，这些问题都有了答案。<br />
&nbsp;&nbsp;&nbsp; 这是设在学校和教堂的投票站前排起的前所未见的长队给出的答案；是等了三四个小时的选民所给出的答案，其中许多人都是有生以来第一次投票，因为他们认定这一次肯定会不一样，认为自己的声音会是这次大选有别于以往之所在。<br />
&nbsp;&nbsp;&nbsp; 这是所有美国人民共同给出的答案&mdash;&mdash;无论老少贫富，无论是民主党还是共和党，无论是黑人、白人、拉美裔、亚裔、原住民，是同性恋者还是异性恋者、残疾人还是健全人&mdash;&mdash;我们从来不是&ldquo;红州&rdquo;和&ldquo;蓝州&rdquo;的对立阵营，我们是美利坚合众国这个整体，永远都是。<br />
&nbsp;&nbsp;&nbsp; 长久以来，很多人一再受到告诫，要对我们所能取得的成绩极尽讽刺、担忧和怀疑之能事，但这个答案让这些人伸出手来把握历史，再次让它朝向美好明天的希望延伸。<br />
&nbsp;&nbsp;&nbsp; 已经过去了这么长时间，但今晚，由于我们在今天、在这场大选中、在这个具有决定性的时刻所做的，美国已经迎来了变革。<br />
&nbsp;&nbsp;&nbsp; 我刚刚接到了麦凯恩参议员极具风度的致电。他在这场大选中经过了长时间的努力奋斗，而他为自己所深爱的这个国家奋斗的时间更长、过程更艰辛。他为美国做出 了我们大多数人难以想像的牺牲，我们的生活也因这位勇敢无私的领袖所做出的贡献而变得更美好。我向他和佩林州长所取得的成绩表示祝贺，我也期待着与他们一 起在未来的岁月中为复兴这个国家的希望而共同努力。<br />
&nbsp;&nbsp;&nbsp; 我要感谢我在这次旅程中的伙伴&mdash;&mdash;已当选美国副总统的拜登。他全心参与竞选活动，为普通民众代言，他们是他在斯克兰顿从小到大的伙伴，也是在他回特拉华的火车上遇到的男男女女。<br />
&nbsp;&nbsp;&nbsp; 如果没有一个人的坚决支持，我今晚就不会站在这里，她是我过去16年来最好的朋友、是我们一家人的中坚和我一生的挚爱，更是我们国家的下一位第一夫人：米 歇尔&middot;奥巴马(Michelle Obama)。萨莎(Sasha)和玛丽亚(Malia)，我太爱你们两个了，你们已经得到了一条新的小狗，它将与我们一起入驻白宫。虽然我的外祖母已经 不在了，但我知道她与我的亲人肯定都在看着我，因为他们，我才能拥有今天的成就。今晚，我想念他们，我知道自己欠他们的无可计量。<br />
&nbsp;&nbsp;&nbsp; 我的竞选经理大卫&middot;普劳夫(David Plouffe)、首席策略师大卫&middot;艾克斯罗德(David Axelrod)以及政治史上最好的竞选团队&mdash;&mdash;是你们成就了今天，我永远感激你们为实现今天的成就所做出的牺牲。<br />
&nbsp;&nbsp;&nbsp; 但最重要的是，我永远不会忘记这场胜利真正的归属&mdash;&mdash;它属于你们。<br />
&nbsp;&nbsp;&nbsp; 我从来不是最有希望的候选人。一开始，我们没有太多资金，也没有得到太多人的支持。我们的竞选活动并非诞生于华盛顿的高门华第之内，而是始于得梅因、康科德、查尔斯顿这些地方的普通民众家中。<br />
&nbsp;&nbsp;&nbsp; 我们的竞选活动能有今天的规模，是因为辛勤工作的人们从自己的微薄积蓄中拿出钱来，捐出一笔又一笔5美元、10美元、20美元。而竞选活动的声势越来越大 则是源自那些年轻人，他们拒绝接受认为他们这代人冷漠的荒诞说法；他们离开家、离开亲人，从事报酬微薄、极其辛苦的工作；同时也源自那些已经不算年轻的人 们，他们冒着严寒酷暑，敲开陌生人的家门进行竞选宣传；更源自数百万的美国民众，他们自动自发地组织起来，证明了在两百多年以后，民有、民治、民享的政府 并未从地球上消失。这是你们的胜利。<br />
&nbsp;&nbsp;&nbsp; 我知道你们的所做所为并不只是为了赢得大选，我也知道你们做这一切并不是为了我。你们这样做是因为你们明白摆在面前的任务有多艰巨。因为即便我们今晚欢呼 庆祝，我们也知道明天将面临我们一生之中最为艰巨的挑战&mdash;&mdash;两场战争、一个面临危险的星球，还有百年来最严重的金融危机。今晚站在此地，我们知道伊拉克的 沙漠里和阿富汗的群山中还有勇敢的美国子弟兵醒来，甘冒生命危险保护着我们。会有在孩子熟睡后仍难以入眠的父母，担心如何偿还月供、付医药费或是存够钱送 孩子上大学。我们亟待开发新能源、创造新的工作机会；我们需要修建新学校，还要应对众多威胁、修复与许多国家的关系。<br />
&nbsp;&nbsp;&nbsp; 前方的道路会十分漫长艰辛。我们可能无法在一年甚至一届任期之内实现上述目标，但我从未像今晚这样满怀希望，相信我们会实现。我向你们承诺&mdash;&mdash;我们作为一个整体将会达成目标。<br />
&nbsp;&nbsp;&nbsp; 我们会遭遇挫折和不成功的开端。对于我作为总统所做的每项决定和政策，会有许多人持有异议，我们也知道政府并不能解决所有问题。但我会向你们坦陈我们所面 临的挑战。我会聆听你们的意见，尤其是在我们意见相左之时。最重要的是，我会请求你们参与重建这个国家，以美国221年来从未改变的唯一方式&mdash;&mdash;一砖一 瓦、胼手胝足。<br />
&nbsp;&nbsp;&nbsp; 21个月前那个寒冬所开始的一切不应该在今天这个秋夜结束。今天的选举胜利并不是我们所寻求的改变&mdash;&mdash;这只是我们实现改变的机会。而且如果我们仍然按照旧有方式行事，我们所寻求的改变不可能出现。没有你们，也不可能有这种改变。<br />
&nbsp;&nbsp;&nbsp; 因此，让我们发扬新的爱国精神，树立新的服务意识和责任感，让我们每个人下定决心全情投入、更加努力地工作，并彼此关爱。让我们铭记这场金融危机带来的教训：我们不可能在金融以外的领域备受煎熬的同时拥有繁荣兴旺的华尔街&mdash;&mdash;在这个国家，我们患难与共。<br />
&nbsp;&nbsp;&nbsp; 让我们抵制重走老路的诱惑，避免重新回到长期荼毒美国政治的党派纷争和由此引发的遗憾和不成熟表现。让我们牢记，正是伊利诺伊州的一名男子首次将共和党的 大旗扛到了白宫。共和党是建立在自强自立、个人自由以及全民团结的价值观上，这也是我们所有人都珍视的价值。虽然民主党今天晚上赢得了巨大的胜利，但我们 是以谦卑的态度和弥合阻碍我们进步的分歧的决心赢得这场胜利的。林肯在向远比我们眼下分歧更大的国家发表讲话时说，我们不是敌人，而是朋友&hellip;&hellip;虽然激情可 能褪去，但是这不会割断我们感情上的联系。对于那些现在并不支持我的美国人，我想说，或许我没有赢得你们的选票，但是我听到了你们的声音，我需要你们的帮 助，而且我也将是你们的总统。<br />
&nbsp;&nbsp;&nbsp; 那些彻夜关注美国大选的海外人士，从国会到皇宫，以及在这个世界被遗忘的角落里挤在收音机旁的人们，我们的经历虽然各有不同，但是我们的命运是相通的，新 的美国领袖诞生了。那些想要颠覆这个世界的人们，我们必将击败你们。那些追求和平和安全的人们，我们支持你们。那些所有怀疑美国能否继续照亮世界发展前景 的人们，今天晚上我们再次证明，我们国家真正的力量并非来自我们武器的威力或财富的规模，而是来自我们理想的持久力量：民主、自由、机会和不屈的希望。<br />
&nbsp;&nbsp;&nbsp; 这才是美国真正的精华&mdash;&mdash;美国能够改变。我们的联邦会日臻完善。我们取得的成就为我们将来能够取得的以及必须取得的成就增添了希望。<br />
&nbsp;&nbsp;&nbsp; 这次大选创造了多项&ldquo;第一&rdquo;，也诞生了很多将世代流传的故事。但是今天晚上令我难忘的却是在亚特兰大投票的一名妇女：安&middot;尼克松&middot;库波尔(Ann Nixon Cooper)。她和其他数百万排队等待投票的选民没有什么差别，除了一点：她已是106岁的高龄。<br />
&nbsp;&nbsp;&nbsp; 她出生的那个时代奴隶制度刚刚结束；那时路上没有汽车，天上也没有飞机；当时像她这样的人由于两个原因不能投票&mdash;&mdash;一是她是女性，另一个原因是她的肤色。<br />
&nbsp;&nbsp;&nbsp; 今天晚上，我想到了她在美国过去一百年间所经历的种种：心痛和希望；挣扎和进步；那些我们被告知我们办不到的世代，以及那些坚信美国信条──是的，我们能做到──的人们。<br />
&nbsp;&nbsp;&nbsp; 曾几何时，妇女没有发言权，她们的希望化作泡影，但是安&middot;尼克松&middot;库波尔活了下来，看到妇女们站了起来，看到她们大声发表自己的见解，看到她们去参加大选投票。是的，我们能做到。<br />
&nbsp;&nbsp;&nbsp; 当30年代的沙尘暴和大萧条引发人们的绝望之情时，她看到一个国家用罗斯福新政、新就业机会以及对新目标的共同追求战胜恐慌。是的，我们能做到。<br />
&nbsp;&nbsp;&nbsp; 当炸弹袭击了我们的海港、独裁专制威胁到全世界，她见证了美国一代人的伟大崛起，见证了一个民主国家被拯救。是的，我们能做到。<br />
&nbsp;&nbsp;&nbsp; 她看到蒙哥马利通了公共汽车、伯明翰接上了水管、塞尔马建了桥，一位来自亚特兰大的传教士告诉人们：我们能成功。是的，我们能做到。<br />
&nbsp;&nbsp;&nbsp; 人类登上月球、柏林墙倒下，世界因我们的科学和想像被连接在一起。今年，就在这次选举中，她用手指触碰屏幕投下自己的选票，因为在美国生活了106年之后，经历了最好的时光和最黑暗的时刻之后，她知道美国如何能够发生变革。是的，我们能做到。<br />
&nbsp;&nbsp;&nbsp; 美国，我们已经走过漫漫长路。我们已经历了很多。但是我们仍有很多事情要做。因此今夜，让我们自问&mdash;&mdash;如果我们的孩子能够活到下个世纪；如果我们的女儿有幸活得和安一样长，他们将会看到怎样的改变？我们将会取得怎样的进步？<br />
&nbsp;&nbsp;&nbsp; 现在是我们回答这个问题的机会。这是我们的时刻。这是我们的时代&mdash;&mdash;让我们的人民重新就业，为我们的后代敞开机会的大门；恢复繁荣发展，推进和平事业；让 &ldquo;美国梦&rdquo;重新焕发光芒，再次证明这样一个基本的真理：我们是一家人；一息尚存，我们就有希望；当我们遇到嘲讽和怀疑，当有人说我们办不到的时候，我们要 以这个永恒的信条来回应他们：<br />
&nbsp;&nbsp;&nbsp; 是的，我们能做到。感谢你们。愿上帝保佑你们，保佑美利坚合众国。</font></p>
<p>&nbsp;</p>
</blockquote>
</p>]]></content:encoded>
			<wfw:commentRss>http://blog.eshangrao.com/2008/11/07/639/feed/</wfw:commentRss>
		</item>
		<item>
		<title>pyAMF的二三事</title>
		<link>http://blog.eshangrao.com/2008/11/05/633/</link>
		<comments>http://blog.eshangrao.com/2008/11/05/633/#comments</comments>
		<pubDate>Wed, 05 Nov 2008 13:45:52 +0000</pubDate>
		<dc:creator>feiy</dc:creator>
		
		<category><![CDATA[程序人生]]></category>

		<category><![CDATA[AMF]]></category>

		<category><![CDATA[Apache]]></category>

		<category><![CDATA[Flex]]></category>

		<category><![CDATA[PyAMF]]></category>

		<category><![CDATA[Python]]></category>

		<category><![CDATA[WSGI]]></category>

		<guid isPermaLink="false">http://blog.eshangrao.com/?p=633</guid>
		<description><![CDATA[&#160;
最近在做一个AS DAO项目，后台用的是Elixir，后台采用PyAMF with ModWSGI in apache的方案，这么久pyAMF距离本站上次关注pyAMF已经有很多变化了，所以今天继续说说pyAMF的配置。
1、pyAMF在apache上mod_w... ]]></description>
			<content:encoded><![CDATA[<p class='fp'>&nbsp;</p>
<p>最近在做一个AS DAO项目，后台用的是Elixir，后台采用PyAMF with ModWSGI in apache的方案，这么久pyAMF距离本站<a href="http://blog.eshangrao.com/2008/02/16/447/" target="_blank">上次关注</a>pyAMF已经有很多变化了，所以今天继续说说pyAMF的配置。</p>
<p>1、pyAMF在apache上mod_wsgi连接的在Ubuntu上的配置</p>
<p>&nbsp;</p>
<pre>
sudo apt-get install apache2 mod_wsgi
sudo&nbsp; a2enmod wsgi
</pre>
<p>&nbsp;</p>
<p>然后在Apache配置文件里面如下配置：</p>
<pre>
WSGIScriptAlias /flashservices/gateway /opt/servlet/gateway/pyamf/service.py</pre>
<p>其中&ldquo;/flashservices/gateway&rdquo;为提供为Flex调用的URI，而/opt/servlet/gateway/pyamf/service.py为实际提供AMF服务的py程序，该文件内容如下：</p>
<p>&nbsp;</p>
<pre>
from pyamf.remoting.gateway.wsgi import WSGIGateway

def echo(data):
    return &quot;pyamf gateway says:&quot; + str(data)

# Expose our services:
services = {
    'pyAMF.echo': echo,
}

application = WSGIGateway(services)
</pre>
<p>&nbsp;以上代码和<a href="http://blog.eshangrao.com/?s=pyamf" target="_blank">之前的版本</a>有个变化，那就是我们这里定义echo服务，使用了服务名称（该值和Flex RemoteObject调用的destination一致+方法名称的方式，因为当前版本的pyamf在收到client的amf请求时，会使用destination.method的方式来调用方法，其他的都是安装<a href="http://pyamf.org/wiki/ModWSGIHowto" target="_blank">官方文档</a>的编码而已。</p>
<p>2、Flex端访问pyamf的配置：</p>
<p>services-config.xml文件配置如下：</p>
<pre>
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;services-config&gt;
    &lt;services&gt;
        &lt;service id=&quot;ananasService&quot; class=&quot;flex.messaging.services.RemotingService&quot; messageTypes=&quot;flex.messaging.messages.RemotingMessage&quot;&gt;
            &lt;destination id=&quot;pyAMF&quot;&gt;
                &lt;channels&gt;
                    &lt;channel ref=&quot;ananasChannel&quot;/&gt;
                &lt;/channels&gt;
                &lt;properties&gt;
                    &lt;source&gt;*&lt;/source&gt;
                &lt;/properties&gt;
            &lt;/destination&gt;
        &lt;/service&gt;
    &lt;/services&gt;
    &lt;channels&gt;
        &lt;channel-definition id=&quot;ananasChannel&quot; class=&quot;mx.messaging.channels.AMFChannel&quot;&gt;
            &lt;endpoint uri=&quot;http://127.0.0.1/flashservices/gateway&quot; class=&quot;flex.messaging.endpoints.AMFEndpoint&quot;/&gt;
        &lt;/channel-definition&gt;
    &lt;/channels&gt;
&lt;/services-config&gt;
</pre>
<p>&nbsp;注意这里的&ldquo;&lt;destination id=&quot;pyAMF&quot;&gt;&rdquo;要和前面的service.py定义一致。其他的和<a href="http://blog.eshangrao.com/2008/02/19/449/" target="_blank">之前的说明</a>一致</p>
<p>另外，因为前面本站的pyamf with django&amp;flex的文章被官方选用，很多朋友在置疑为什么安装本站的方法不能正确配置，这里澄清下，因为当时版本的pyamf的server.py中是不需要定义为：服务名+方法名的，所以才会有很多朋友一直找不到方法的问题，其实这问题在RemoteObject的错误信息里面已经说的很清楚了，找不到pyamf.echo方法，看到这个应该也想得到是不是需要修改service.py中的方法定义呢？！</p>
</p>]]></content:encoded>
			<wfw:commentRss>http://blog.eshangrao.com/2008/11/05/633/feed/</wfw:commentRss>
		</item>
		<item>
		<title>最新fcitx 3.5 svn20081105版本下载</title>
		<link>http://blog.eshangrao.com/2008/11/05/628/</link>
		<comments>http://blog.eshangrao.com/2008/11/05/628/#comments</comments>
		<pubDate>Wed, 05 Nov 2008 12:52:21 +0000</pubDate>
		<dc:creator>feiy</dc:creator>
		
		<category><![CDATA[程序人生]]></category>

		<category><![CDATA[fcixt]]></category>

		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://blog.eshangrao.com/?p=628</guid>
		<description><![CDATA[


&#160;
最近我换了个新本（联想昭阳K42)，因为有2G的内存，这段时间就试用了一段时间的ibus（我自己编译的最新SVN版本），总觉得上字的速度慢了点，所以还是特别向往fcitx，所以今天就从fcit... ]]></description>
			<content:encoded><![CDATA[<p class='fp'>
<title></title></p>
<link rel="stylesheet" type="text/css" href="/wp-content/plugins/fckeditor-for-wordpress-plugin/fckeditor/editor/css/fck_editorarea.css" />
<p>&nbsp;</p>
<p>最近我换了个新本（联想昭阳K42)，因为有2G的内存，这段时间就试用了一段时间的<a href="http://code.google.com/p/ibus/" target="_blank">ibus</a>（我自己编译的最新SVN版本），总觉得上字的速度慢了点，所以还是特别向往<a href="http://code.google.com/p/fcitx/" target="_blank">fcitx</a>，所以今天就从fcitx网站下载了最新的源码自己编译了一个，顺手打包了一个<a href="http://blog.eshangrao.com/wp-content/uploads/file/fcitx_1:3.5.1-svn20081105-1_i386.deb">deb包</a>，提供给有需要的朋友。</p>
<p>安装前有几点注意事项：</p>
<p>1、该deb包是用checkinstall打包的，所以没有依赖检测，所以我推荐您先安装源里面的版本，然后再安装下载的版本</p>
<p>2、同样因为是checkinstall打包的原因，安装的时候不会自动向update-alternatives数据库添加输入法选择项，所以需要手工添加，不然在做&quot;sudo im-switch -s fcitx -z default&quot;会报&ldquo;输入法选择出现错误 解决方法 找不到替换项 &ldquo;/etc/X11/xinit/xinput.d/fcitx&rdquo;&rdquo;</p>
<p>综上所属正确的安装步骤为：</p>
<p>1、sudo apt-get install fcitx</p>
<p>2、wget http://blog.eshangrao.com/wp-content/uploads/file/fcitx_1:3.5.1-svn20081105-1_i386.deb</p>
<p>3、sudo dpkg -i fcitx_1:3.5.1-svn20081105-1_i386.deb</p>
<p>4、sudo update-alternatives &#8211;install /etc/X11/xinit/xinput.d/zh_CN xinput-zh_CN /etc/X11/xinit/xinput.d/fcitx 99</p>
<p>5、sudo im-switch -s fcitx -z default</p>
<p>6、Ctrl+Alt+Backspace重启x</p>
<p>PS：另外，该版本的配置文件格式有变动，所以在使用前，请备份并删除原来的config和profile文件，以让程序重新生成最新的配置文件。</p>
</p>]]></content:encoded>
			<wfw:commentRss>http://blog.eshangrao.com/2008/11/05/628/feed/</wfw:commentRss>
		</item>
		<item>
		<title>今天我们终于领证了</title>
		<link>http://blog.eshangrao.com/2008/10/07/621/</link>
		<comments>http://blog.eshangrao.com/2008/10/07/621/#comments</comments>
		<pubDate>Tue, 07 Oct 2008 13:51:07 +0000</pubDate>
		<dc:creator>feiy</dc:creator>
		
		<category><![CDATA[飞扬的天空]]></category>

		<category><![CDATA[结婚日记]]></category>

		<guid isPermaLink="false">http://blog.eshangrao.com/?p=621</guid>
		<description><![CDATA[今天我们终于领证,今天是九九重阳节,正好我们的证结尾的号码也是99,嘿嘿,再也不用无证驾驶了!









（猪头了点，晚上拍的，没拍好，有点黑,各位多包含）... ]]></description>
			<content:encoded><![CDATA[<p class='fp'>今天我们终于领证,今天是九九重阳节,正好我们的证结尾的号码也是99,嘿嘿,再也不用无证驾驶了!</p>
<p style="text-align: center;"><a href="http://bb.eshangrao.com/wp-content/uploads/2008/10/sdc10206.jpg"><img width="300" height="225" border="0" alt="" class="size-medium wp-image-34 aligncenter" title="sdc10213" src="http://bb.eshangrao.com/wp-content/uploads/2008/10/sdc10206.jpg" /></a><br />
<a href="http://bb.eshangrao.com/wp-content/uploads/2008/10/sdc10208.jpg"><img width="300" height="225" border="0" class="alignnone size-medium wp-image-34" title="sdc10213" src="http://bb.eshangrao.com/wp-content/uploads/2008/10/sdc10208.jpg" alt="" /></a><br />
<a href="http://bb.eshangrao.com/wp-content/uploads/2008/10/sdc10209.jpg"><img width="300" height="225" border="0" class="alignnone size-medium wp-image-34" title="sdc10213" src="http://bb.eshangrao.com/wp-content/uploads/2008/10/sdc10209.jpg" alt="" /></a><br />
<a href="http://bb.eshangrao.com/wp-content/uploads/2008/10/sdc10210.jpg"><img width="300" height="225" border="0" class="alignnone size-medium wp-image-34" title="sdc10213" src="http://bb.eshangrao.com/wp-content/uploads/2008/10/sdc10210.jpg" alt="" /></a><br />
<a href="http://bb.eshangrao.com/wp-content/uploads/2008/10/sdc10215.jpg"><img width="300" height="225" border="0" class="alignnone size-medium wp-image-34" title="sdc10213" src="http://bb.eshangrao.com/wp-content/uploads/2008/10/sdc10215.jpg" alt="" /></a><br />
<a href="http://bb.eshangrao.com/wp-content/uploads/2008/10/sdc10212.jpg"><img width="300" height="225" border="0" class="alignnone size-medium wp-image-34" title="sdc10213" src="http://bb.eshangrao.com/wp-content/uploads/2008/10/sdc10212.jpg" alt="" /></a><br />
<a href="http://bb.eshangrao.com/wp-content/uploads/2008/10/sdc10213.jpg"><img width="300" height="225" border="0" class="alignnone size-medium wp-image-34" title="sdc10213" src="http://bb.eshangrao.com/wp-content/uploads/2008/10/sdc10213.jpg" alt="" /></a><br />
<a href="http://bb.eshangrao.com/wp-content/uploads/2008/10/sdc10214.jpg"><img width="300" height="225" border="0" class="alignnone size-medium wp-image-34" title="sdc10213" src="http://bb.eshangrao.com/wp-content/uploads/2008/10/sdc10214.jpg" alt="" /></a><br />
<a href="http://bb.eshangrao.com/wp-content/uploads/2008/10/sdc10217.jpg"><img width="300" height="225" border="0" class="alignnone size-medium wp-image-34" title="sdc10213" src="http://bb.eshangrao.com/wp-content/uploads/2008/10/sdc10217.jpg" alt="" /></a></p>
<p style="text-align: center;">（猪头了点，晚上拍的，没拍好，有点黑,各位多包含）</p>
</p>]]></content:encoded>
			<wfw:commentRss>http://blog.eshangrao.com/2008/10/07/621/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Woobuntu:一个漂亮的GDM Theme</title>
		<link>http://blog.eshangrao.com/2008/10/06/616/</link>
		<comments>http://blog.eshangrao.com/2008/10/06/616/#comments</comments>
		<pubDate>Mon, 06 Oct 2008 12:18:42 +0000</pubDate>
		<dc:creator>feiy</dc:creator>
		
		<category><![CDATA[程序人生]]></category>

		<category><![CDATA[GDM]]></category>

		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://blog.eshangrao.com/?p=616</guid>
		<description><![CDATA[原版的我是在这里看到的，不过我不喜欢其歪歪的Ubuntu Log，所以就自己修改了下，喜欢的朋友点击这里下载。下面是效果图：
... ]]></description>
			<content:encoded><![CDATA[<p class='fp'>原版的我是在<a href="http://forum.ubuntu.org.cn/viewtopic.php?f=33&amp;p=960599" target="_blank">这里</a>看到的，不过我不喜欢其歪歪的Ubuntu Log，所以就自己修改了下，喜欢的朋友点击<a href="http://blog.eshangrao.com/wp-content/uploads/file/woobuntu_tar.gz">这里</a>下载。下面是效果图：</p>
<p><img width="400" height="267" alt="" src="http://blog.eshangrao.com/wp-content/uploads/screen.jpg" /></p>
</p>]]></content:encoded>
			<wfw:commentRss>http://blog.eshangrao.com/2008/10/06/616/feed/</wfw:commentRss>
		</item>
		<item>
		<title>宝贝计划：我要做爸爸了</title>
		<link>http://blog.eshangrao.com/2008/09/27/609/</link>
		<comments>http://blog.eshangrao.com/2008/09/27/609/#comments</comments>
		<pubDate>Sat, 27 Sep 2008 07:43:14 +0000</pubDate>
		<dc:creator>feiy</dc:creator>
		
		<category><![CDATA[宝贝计划]]></category>

		<category><![CDATA[BB]]></category>

		<guid isPermaLink="false">http://blog.eshangrao.com/?p=609</guid>
		<description><![CDATA[嘿嘿，经过我们艰苦卓越的努力，我宣布我要做爸爸了。
我和文娟是9月21日知道我们将要成为准爸爸和准妈妈了，到23号确认，再到26日做B超，宝宝一切正常已经有一个月左右了，我们开始了... ]]></description>
			<content:encoded><![CDATA[<p class='fp'>嘿嘿，经过我们艰苦卓越的努力，我宣布我要做爸爸了。</p>
<p>我和文娟是9月21日知道我们将要成为准爸爸和准妈妈了，到23号确认，再到26日做B超，宝宝一切正常已经有一个月左右了，我们开始了准爸爸和准妈妈的 生涯，在激动、幸福、兴奋之时，当时我就萌发了这个计划，搞一个网站记录从现在一直到我们离开这个世界我们和宝宝的点点滴滴，和文娟一说，她也觉得是一个好主意，所以就有了<a href="http://bb.eshangrao.com" target="_blank">这个</a>网站。</p>
<p>这是我和文娟，一对准爸爸和准妈妈送给我们将要来临的宝宝的一个礼物，我们希望通过这个网站记录我们的宝宝成长的点点滴滴，也希望若干年后，我们的 宝宝可以通过这个网站和我们俩交流，特别是等到宝宝成人后，他因为工作、事业、生活碰到烦恼，不方便当面和我们交谈，能通过这里和我们交流。这里将承载我 们对宝宝的所有祝福和希望。</p>
<p>同时，我们也希望通过这个网站，和更多将要为人父母和已经为人父母的朋友们交流。</p>
<p>最后祝愿我们的宝宝以及天下的宝宝都健康成长。</p>
<p><a href="http://bb.eshangrao.com" target="_blank">BB.eshangrao.com</a> 欢迎您的访问！</p>
</p>]]></content:encoded>
			<wfw:commentRss>http://blog.eshangrao.com/2008/09/27/609/feed/</wfw:commentRss>
		</item>
		<item>
		<title>两句妙语</title>
		<link>http://blog.eshangrao.com/2008/09/19/605/</link>
		<comments>http://blog.eshangrao.com/2008/09/19/605/#comments</comments>
		<pubDate>Fri, 19 Sep 2008 00:18:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[飞扬的天空]]></category>

		<category><![CDATA[Novel]]></category>

		<guid isPermaLink="false">http://blog.eshangrao.com/?p=605</guid>
		<description><![CDATA[&#8220;风能进，雨能进，国王不能进&#8220;
&#8220;每个人的命运都能折射我们的命运&#8221;
摘自：盛翔：私人电脑存黄色视频又碍了警察的事... ]]></description>
			<content:encoded><![CDATA[<p class='fp'>&ldquo;风能进，雨能进，国王不能进&ldquo;</p>
<p>&ldquo;每个人的命运都能折射我们的命运&rdquo;</p>
<p>摘自：<a href="http://news.sina.com.cn/pl/2008-09-19/073216317562.shtml" target="_blank">盛翔：私人电脑存黄色视频又碍了警察的事</a></p>
</p>]]></content:encoded>
			<wfw:commentRss>http://blog.eshangrao.com/2008/09/19/605/feed/</wfw:commentRss>
		</item>
		<item>
		<title>AutoQueryTextInput：几个有用的Flex组件</title>
		<link>http://blog.eshangrao.com/2008/09/13/586/</link>
		<comments>http://blog.eshangrao.com/2008/09/13/586/#comments</comments>
		<pubDate>Fri, 12 Sep 2008 16:07:11 +0000</pubDate>
		<dc:creator>feiy</dc:creator>
		
		<category><![CDATA[程序人生]]></category>

		<category><![CDATA[Flex]]></category>

		<category><![CDATA[Plum]]></category>

		<guid isPermaLink="false">http://blog.eshangrao.com/?p=586</guid>
		<description><![CDATA[&#160;
说起来好像我好久没有在这里讨论任何关于Flex的消息了，其实是天天都在和Flex密会，无暇和大家分享而已，这不这么多时间做东西，因为需要实现了不少有用的组件，今天有空，就发出... ]]></description>
			<content:encoded><![CDATA[<p class='fp'>&nbsp;</p>
<p>说起来好像我好久没有在这里讨论任何关于Flex的消息了，其实是天天都在和Flex密会，无暇和大家分享而已，这不这么多时间做东西，因为需要实现了不少有用的组件，今天有空，就发出来和大家共享下了。</p>
<p><strong>一、</strong><a href="http://labs.eshangrao.com/flex/2/plum/Plum/docs/com/eshangrao/controls/AutoQueryTextInput.html" target="_blank"><strong>AutoQueryTextInput</strong></a></p>
<p>首先要说的是这个<a href="http://labs.eshangrao.com/flex/2/plum/Plum/docs/com/eshangrao/controls/AutoQueryTextInput.html" target="_blank">AutoQueryTextInput</a>组件，做Web开发的应该都有用过这也的组件，就是在用户边输入内容，自动根据用户数据从后台取回数据，并显示一个下拉列表提示用户，以自动补齐或动态查询。这个AutoQueryTextInput组件实现这一功能的Flex实现。另外考虑到后台获取数据的方式的诧异性，实际的后台数据获取是由用户自己实现（监听query事件并向后台获取数据），然后在数据获取到后，将获取的数据赋值给<a href="http://labs.eshangrao.com/flex/2/plum/Plum/docs/com/eshangrao/controls/AutoQueryTextInput.html#serviceData" target="_blank">AutoQueryTextInput.serviceData</a>。下面是一个示例：</p>
<pre>
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;mx:Application xmlns:mx=&quot;http://www.adobe.com/2006/mxml&quot;
	xmlns:eshangrao=&quot;http://www.eshangrao.com&quot;&gt;
	&lt;mx:Script&gt;
		&lt;![CDATA[
			import mx.collections.ArrayCollection;
			private function doQuery():void{
				var data:ArrayCollection=new ArrayCollection();
				for(var i:int;i&lt;6;i++){
					var obj:Object=new Object();
					obj.ID=i;
					obj.label=aqti.text+&quot;index:&quot;+i;
					data.addItem(obj);
				}
				aqti.serviceData=data;//获取到数据后，显示提示列表
			}
			private function serviceDataShowFunction(item:Object):String{
				return item.ID+&quot;-&quot;+item.label;
			}
		]]&gt;
	&lt;/mx:Script&gt;
	&lt;mx:Form&gt;
		&lt;mx:FormItem label=&quot;test:&quot;&gt;
			&lt;eshangrao:AutoQueryTextInput id=&quot;aqti&quot; query=&quot;doQuery()&quot; serviceDataShowType=&quot;{AutoQueryTextInput.SHOW_CUSTOM}&quot; serviceDataShowFunction=&quot;{serviceDataShowFunction}&quot;/&gt;
		&lt;/mx:FormItem&gt;
	&lt;/mx:Form&gt;
&lt;/mx:Application&gt;</pre>
<p><embed width="400" height="200" menu="true" loop="true" play="true" src="http://labs.eshangrao.com/flex/2/plum/Plum/bin/TestAQTI.swf" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash"></embed></p>
<p><strong>二、</strong><a target="_blank" href="http://labs.eshangrao.com/flex/2/plum/Plum/docs/com/eshangrao/controls/SystemFontsRichTextEditor.html"><strong>SystemFontsRichTextEditor</strong></a></p>
<p><a target="_blank" href="http://labs.eshangrao.com/flex/2/plum/Plum/docs/com/eshangrao/controls/SystemFontsRichTextEditor.html">SystemFontsRichTextEditor</a>组件的功能很简单，就是一个会自动读取您的系统当前可用字体列表并添加到字体选择框的<a target="_blank" href="http://livedocs.adobe.com/flex/3/langref/mx/controls/RichTextEditor.html">RichTextEditor</a>，</p>
<p><embed width="550" height="350" menu="true" loop="true" play="true" src="http://labs.eshangrao.com/flex/2/plum/Plum/bin/ShowSysFontList.swf" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash"></embed></p>
<p><strong>三、</strong><a href="http://labs.eshangrao.com/flex/2/plum/Plum/docs/com/eshangrao/controls/AttachFileRichTextEditor.html" target="_blank"><strong>AttachFileRichTextEditor</strong></a></p>
<p><a href="http://labs.eshangrao.com/flex/2/plum/Plum/docs/com/eshangrao/controls/AttachFileRichTextEditor.html" target="_blank">AttachFileRichTextEditor</a>组件在前面的<a target="_blank" href="http://labs.eshangrao.com/flex/2/plum/Plum/docs/com/eshangrao/controls/SystemFontsRichTextEditor.html">SystemFontsRichTextEditor</a>基础上增加了一个可以添加附件按钮（一个回行针），可以用来向文本中添加附件，用户点击添加附件会弹出一个文件选择框供用户选择文件，选择文件后并不立刻上传文件，而是在实际要上传文件时（接受文件上传的服务地址设置在：<a href="http://labs.eshangrao.com/flex/2/plum/Plum/docs/com/eshangrao/controls/AttachFileRichTextEditor.html#serviceURL" class="signatureLink">serviceURL</a>中），直接调用<a href="http://labs.eshangrao.com/flex/2/plum/Plum/docs/com/eshangrao/controls/AttachFileRichTextEditor.html#uploadAttaches%28%29" class="signatureLink">uploadAttaches</a>()来上传文件，如果存在文件在服务端需要重新命名的，服务端必须返回附件的新的文件名（必须设置<a href="http://labs.eshangrao.com/flex/2/plum/Plum/docs/com/eshangrao/controls/AttachFileRichTextEditor.html#isServerReturnData" class="signatureLink">isServerReturnData</a>=true)，所有的文件上传完毕后会触发一个<a href="http://labs.eshangrao.com/flex/2/plum/Plum/docs/com/eshangrao/controls/AttachFileRichTextEditor.html#event:attachedUploaded" class="signatureLink">attachedUploaded</a>事件，您可以监听该事件来进行文件上传完毕的后续处理。</p>
<p>同样的如果存在已经上传了文件，也可将这些文件的文件名列表赋值给<a href="http://labs.eshangrao.com/flex/2/plum/Plum/docs/com/eshangrao/controls/AttachFileRichTextEditor.html#oldAttaches" class="signatureLink">oldAttaches</a>，这样<a href="http://labs.eshangrao.com/flex/2/plum/Plum/docs/com/eshangrao/controls/AttachFileRichTextEditor.html" target="_blank">AttachFileRichTextEditor</a>就会自动显示已经上传的附件，并支持用户直接点击下载（需要设置<a href="file:///home/feiy/workspace/Plum_V3/docs/com/eshangrao/controls/AttachFileRichTextEditor.html#downloadServicePath" class="signatureLink">downloadServicePath</a>属性，用于标识文件的存放位置），注意这里有一个<a href="file:///home/feiy/workspace/Plum_V3/docs/com/eshangrao/controls/AttachFileRichTextEditor.html#attachesReadonly" class="signatureLink">attachesReadonly</a>属性，如果该值为True，那么附件不能删除，只能下载，否则可以删除附件，但是这个删除只是在UI上的一个删除附件显示，实际的删除后台文件，需要监听<a href="http://labs.eshangrao.com/flex/2/plum/Plum/docs/com/eshangrao/controls/AttachFileRichTextEditor.html#event:removeAttachEvent" class="signatureLink">removeAttachEvent</a>事件来实际向后台发起删除文件操作等。</p>
<p>以上组件已经包含入<a target="_blank" hreflang="zh" href="../../../../../index.php/2007/06/10/404-plum-flex-2">Plum</a>中，点击这里<a target="_blank" hreflang="zh" href="http://labs.eshangrao.com/flex/2/plum/Plum.tar.gz">下载</a>源码及二进制SWC包。除了上面的组件，Plum还提供了很多其他组件（多年项目积累），发掘Plum的宝藏及查看详细的组件用法请访问<a target="_blank" hreflang="zh" href="http://labs.eshangrao.com/flex/2/plum/Plum/docs/index.html">Plum API文档</a>。</p>
</p>]]></content:encoded>
			<wfw:commentRss>http://blog.eshangrao.com/2008/09/13/586/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Baidu、Dict.cn和Flex Community Help搜索的Ubiquity命令</title>
		<link>http://blog.eshangrao.com/2008/09/09/577/</link>
		<comments>http://blog.eshangrao.com/2008/09/09/577/#comments</comments>
		<pubDate>Tue, 09 Sep 2008 00:41:41 +0000</pubDate>
		<dc:creator>feiy</dc:creator>
		
		<category><![CDATA[程序人生]]></category>

		<category><![CDATA[Baidu]]></category>

		<category><![CDATA[Firefox]]></category>

		<category><![CDATA[Flex]]></category>

		<category><![CDATA[Ubiquity]]></category>

		<guid isPermaLink="false">http://blog.eshangrao.com/?p=577</guid>
		<description><![CDATA[Ubiquity是Mozilla Labs 推出的一项新服务插件。利用Ubiquity 你可以在网页上使用命令行的方式控制or插入各种你需要的网络服务(Mashups wiki 解释)。例如在编写文本时插入Google Maps 、在浏览网站时将好... ]]></description>
			<content:encoded><![CDATA[<p><a target="_blank" href="http://labs.mozilla.com/projects/ubiquity/">Ubiquity</a>是Mozilla Labs 推出的一项新服务插件。利用Ubiquity 你可以在网页上使用命令行的方式控制or插入各种你需要的网络服务(Mashups <a href="http://en.wikipedia.org/wiki/Mashup_%28web_application_hybrid%29">wiki 解释</a>)。例如在编写文本时插入Google Maps 、在浏览网站时将好东西Twitter 给好友、直接选中某段文字即时翻译、或者调出选中关键词Wikipedia 。<a href="http://labs.mozilla.com/2008/08/introducing-ubiquity/">来源Mozilla Labs</a>，这里是<a href="https://wiki.mozilla.org/Labs/Ubiquity/Ubiquity_0.1_User_Tutorial">官方说明</a> Ubiquity 的基本理念便是尽可能的减少你打开新Tab 的数量和时间，让你在一个页面上操作各种网络服务。</p>
<p>下面是两个我自己写的Ubiquity的命令，一个是百度搜索（命令为:Baidu），一个是Flex Flex Community Help（命令为:Flex）搜索以及一个查询Dict.cn的命令(命令为：Dict)。将下面的代码复制到你的Ubiquity的<a target="_blank" href="chrome://ubiquity/content/editor.html">自定义命令</a>框中即可。</p>
<pre class="js" name="code">
makeSearchCommand({
  name: &quot;Baidu&quot;,
  url: &quot;http://www.baidu.com/s?wd={QUERY}&quot;,
  icon: &quot;http://www.baidu.com/favicon.ico&quot;,
  homepage: &quot;http://blog.eshangrao.com/&quot;,
  author: { name: &quot;feiy&quot;, email: &quot;eshangrao@gmail.com&quot;},
  contributors: [&quot;feiy&quot;],
  license: &quot;MPL&quot;,
  description: &quot;Searches Baidu for your words.&quot;,
  preview: function(pblock, directObject) {
    var searchTerm = directObject.text;
    var pTemplate = &quot;Searches Baidu for &lt;b&gt;${query}&lt;/b&gt;&quot;;
    var pData = {query: searchTerm};
    pblock.innerHTML = CmdUtils.renderTemplate(pTemplate, pData);

    var url = &quot;http://www.baidu.com/s&quot;;
    var params = { wd: searchTerm };
    jQuery.ajax({
      type: &quot;get&quot;,
      url: url,
      data: params,
      charset1: &quot;gb2312&quot;,
      dataType: &quot;html&quot;,
      error: function() {
        displayMessage(&quot;Searchs Baidu Error&quot;);
      },
      success: function(data) {
        var numToDisplay = 3;
        var f_cache_p=data.indexOf(&quot;cache.baidu.com&quot;);
        var f_table_p=data.substring(0,f_cache_p).lastIndexOf(&quot;&lt;table&quot;);
        var l_cache_p=data.lastIndexOf(&quot;cache.baidu.com&quot;);
        var l_table_p=data.substr(l_cache_p).indexOf(&quot;&lt;/table&gt;&quot;);
        var result_html=data.substring(f_table_p,l_cache_p+l_table_p+&quot;&lt;/table&gt;&quot;.length);
        var tables=result_html.split(&quot;&lt;/table&gt;&quot;,numToDisplay);
        var filter_html=tables.join(&quot;&lt;/table&gt;&quot;);
        //var decoder=Components.classes[&quot;@mozilla.org/intl/utf8converterservice;1&quot;].getService(Components.interfaces.nsIUTF8ConverterService);
        //pblock.innerHTML = decoder.convertStringToUTF8(filter_html,&quot;GB2312&quot;,false);
        pblock.innerHTML = filter_html
      }
    });

  }

});

makeSearchCommand({
  name: &quot;Flex &quot;,
  url: &quot;http://community.adobe.com/help/search.html?q={QUERY}&amp;lbl=flex_product_adobelr&amp;x=0&amp;y=0&quot;,
  homepage: &quot;http://blog.eshangrao.com/&quot;,
  author: { name: &quot;feiy&quot;, email: &quot;eshangrao@gmail.com&quot;},
  contributors: [&quot;feiy&quot;],
  license: &quot;MPL&quot;,
  description: &quot;Flex Community Help Searches for your words.&quot;
});

makeSearchCommand({
  name: &quot;Dict&quot;,
  url: &quot;http://dict.cn/search.php?q={QUERY}&quot;,
  icon: &quot;http://www.dict.cn/favicon.ico&quot;,
  homepage: &quot;http://blog.eshangrao.com/&quot;,
  author: { name: &quot;feiy&quot;, email: &quot;eshangrao@gmail.com&quot;},
  contributors: [&quot;feiy&quot;],
  license: &quot;MPL&quot;,
  description: &quot;Dict.CN Dictionary&quot;
});
</pre>
<p>&nbsp;其中Baidu搜索有预览功能，但是因为Baidu是gb2312的编码，会显示为乱码，现在没有一个很好的基于Javascript的编码转换功能，我试过用<a href="http://developer.mozilla.org/en/XPConnect" target="_blank">XPConnect</a>调用<a href="http://developer.mozilla.org/En/XPCOM" target="_blank">xpcom</a>的<a href="http://www.xulplanet.com/references/xpcomref/comps/c_intlutf8converterservice1.html" target="_blank">@mozilla.org/intl/utf8converterservice</a>服务来转换编码（注释掉的两行代码），但也不成功，也许朋友们有更好的方法，欢迎回复！</p>
<p><strong>Add By 20080909，应<span class="comment-author">Jarod要求，增加了查询Dict.cn的命令，命令名称Dict。</span></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.eshangrao.com/2008/09/09/577/feed/</wfw:commentRss>
		</item>
		<item>
		<title>TraceMonkey:比Chrome V8更快的Javascript引擎</title>
		<link>http://blog.eshangrao.com/2008/09/07/572/</link>
		<comments>http://blog.eshangrao.com/2008/09/07/572/#comments</comments>
		<pubDate>Sun, 07 Sep 2008 06:04:48 +0000</pubDate>
		<dc:creator>feiy</dc:creator>
		
		<category><![CDATA[程序人生]]></category>

		<category><![CDATA[Firefox]]></category>

		<category><![CDATA[Javascript]]></category>

		<category><![CDATA[Tamarin]]></category>

		<category><![CDATA[TraceMonkey]]></category>

		<guid isPermaLink="false">http://blog.eshangrao.com/?p=572</guid>
		<description><![CDATA[&#160;
前今天Google Chrome的发布了，估计大家都对Chrome的V8引擎印象深刻吧，针对这个，Mozilla推出了开发代号为TraceMonkey的SpiderMonkey的下一版本Javascript引擎(来源自Adobe捐献的Tamarin)，并将最终整合... ]]></description>
			<content:encoded><![CDATA[<p class='fp'>&nbsp;</p>
<p>前今天Google Chrome的发布了，估计大家都对<a target="_blank" href="http://www.google.com/chrome">Chrome</a>的<a target="_blank" href="http://code.google.com/apis/v8/">V8</a>引擎印象深刻吧，针对这个，Mozilla推出了开发代号为<a target="_blank" href="https://wiki.mozilla.org/JavaScript:TraceMonkey">TraceMonkey</a>的SpiderMonkey的下一版本Javascript引擎(来源自Adobe捐献的<a href="http://www.mozilla.org/projects/tamarin/" target="_blank">Tamarin</a>)，并将最终整合进Firefox 3.1中，<a href="http://weblogs.mozillazine.org/roadmap/archives/2008/09/tracemonkey_update.html" target="_blank">这里</a>的评测速度可比V8还快哦！</p>
<p><img width="624" height="530" alt="" src="http://blog.eshangrao.com/wp-content/uploads/tm-v8-sunspider-totals.png" /></p>
<p>现在TraceMonkey已经整合进Firefox3.1的每日编译版本中了，大家如果要体验TraceMonkey带来的高性能，可以从<a href="http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-trunk/" target="_blank">这里</a>下载Firefox3.1，解压，运行，然后如下设置打开TraceMonkey引擎：</p>
<p>在Firefox3.1中，地址栏输入：about:config，回车</p>
<p>在过滤栏输入jit，搜索</p>
<p>然后双击：<b>javascript.options.jit.chrome</b>和<b>javascript.options.jit.content</b>将其值设置为True即可。</p>
</p>]]></content:encoded>
			<wfw:commentRss>http://blog.eshangrao.com/2008/09/07/572/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
