<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>愚人呓语</title>
	<atom:link href="http://eidiot.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://eidiot.net</link>
	<description>eidiot&#039;s blog. My flapdoodles.</description>
	<lastBuildDate>Fri, 16 Dec 2011 15:53:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>团队精神</title>
		<link>http://eidiot.net/2011/12/16/team/</link>
		<comments>http://eidiot.net/2011/12/16/team/#comments</comments>
		<pubDate>Fri, 16 Dec 2011 15:53:33 +0000</pubDate>
		<dc:creator>eidiot</dc:creator>
				<category><![CDATA[秃笔难言 · [碎语]]]></category>
		<category><![CDATA[团队]]></category>

		<guid isPermaLink="false">http://eidiot.net/?p=570</guid>
		<description><![CDATA[海贼王里索隆有这样一段话，印象非常深刻 可是 团队精神到底是什么啊 互相帮助 互相袒护就算是吗 也有人这么认为吧 我是认为那根本只是唬人 应该是每个人抱着必死决心做自己的事 “我做好自己的部分了” “接下来轮到你了” “做不好的话我就揍扁你” 要有这种决心才能算是起码的团队精神吧 每个人都拼命做好自己的事情，以及彼此间的绝对信任，应该就是团队凝聚力和战斗力的基础吧？]]></description>
			<content:encoded><![CDATA[<p>海贼王里索隆有这样一段话，印象非常深刻</p>
<blockquote><p>可是 团队精神到底是什么啊<br />
互相帮助 互相袒护就算是吗<br />
也有人这么认为吧<br />
我是认为那根本只是唬人<br />
应该是每个人抱着必死决心做自己的事<br />
“我做好自己的部分了”<br />
“接下来轮到你了”<br />
“做不好的话我就揍扁你”<br />
要有这种决心才能算是起码的团队精神吧</p></blockquote>
<p>每个人都拼命做好自己的事情，以及彼此间的绝对信任，应该就是团队凝聚力和战斗力的基础吧？</p>
]]></content:encoded>
			<wfw:commentRss>http://eidiot.net/2011/12/16/team/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>一小段 signals 测试代码</title>
		<link>http://eidiot.net/2011/05/10/a-small-piece-of-signals-test-code/</link>
		<comments>http://eidiot.net/2011/05/10/a-small-piece-of-signals-test-code/#comments</comments>
		<pubDate>Tue, 10 May 2011 07:15:03 +0000</pubDate>
		<dc:creator>eidiot</dc:creator>
				<category><![CDATA[学海沉舟 · [技术]]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[as3-signals]]></category>

		<guid isPermaLink="false">http://eidiot.net/?p=568</guid>
		<description><![CDATA[在自己的项目里进一步完善了 signals, 目前已全面替代了自定义事件并整合进 Robotlegs，写起代码来更舒服了。 assertEquals&#40;575, instance.getCount&#40;&#34;foo&#34;&#41;&#41;; handleSignal&#40;this, instance.countChanged, function&#40;signal:ValueChangedSignal&#41;:void &#123; assertEquals&#40;&#34;foo&#34;, signal.key&#41;; assertEquals&#40;500, signal.value&#41;; assertEquals&#40;575, signal.old&#41;; assertEquals&#40;500, signal.target.getCount&#40;&#34;foo&#34;&#41;&#41;; &#125;&#41;; instance.setCount&#40;&#34;foo&#34;, 500&#41;;]]></description>
			<content:encoded><![CDATA[<p>在自己的项目里进一步完善了 signals, 目前已全面替代了自定义事件并整合进 Robotlegs，写起代码来更舒服了。</p>

<div class="wp_codebox"><table><tr id="p5682"><td class="code" id="p568code2"><pre class="actionscript" style="font-family:monospace;">assertEquals<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">575</span>, instance.<span style="color: #0066CC;">getCount</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;foo&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>; 
handleSignal<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>, instance.<span style="color: #006600;">countChanged</span>, <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span>signal:ValueChangedSignal<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> <span style="color: #66cc66;">&#123;</span>
  assertEquals<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;foo&quot;</span>, signal.<span style="color: #0066CC;">key</span><span style="color: #66cc66;">&#41;</span>; 
  assertEquals<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">500</span>, signal.<span style="color: #006600;">value</span><span style="color: #66cc66;">&#41;</span>; 
  assertEquals<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">575</span>, signal.<span style="color: #006600;">old</span><span style="color: #66cc66;">&#41;</span>;
  assertEquals<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">500</span>, signal.<span style="color: #0066CC;">target</span>.<span style="color: #0066CC;">getCount</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;foo&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>; 
<span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>; 
instance.<span style="color: #006600;">setCount</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;foo&quot;</span>, <span style="color: #cc66cc;">500</span><span style="color: #66cc66;">&#41;</span>;</pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://eidiot.net/2011/05/10/a-small-piece-of-signals-test-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>巨简单但价值200万英镑的Demo</title>
		<link>http://eidiot.net/2010/11/26/demo-for-wedoswf-6/</link>
		<comments>http://eidiot.net/2010/11/26/demo-for-wedoswf-6/#comments</comments>
		<pubDate>Fri, 26 Nov 2010 02:41:10 +0000</pubDate>
		<dc:creator>eidiot</dc:creator>
				<category><![CDATA[敝帚不珍 · [作品]]]></category>

		<guid isPermaLink="false">http://eidiot.net/?p=556</guid>
		<description><![CDATA[计划通过Demo的开发过程演示的工具有4个： FlexUnit (Model)， xface (View)， as3-signals (通讯) 和 Robotlegs (整合)。内容很多，时间却只有半小时。换了n个题材之后，终于确定了这个巨简单但足以演示所有工具，并且价值200万英镑的Demo: 
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_Demo_1602852062"
			class="flashmovie"
			width="550"
			height="400">
	<param name="movie" value="http://eidiot.net/wp-content/uploads/2010/11/Demo.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://eidiot.net/wp-content/uploads/2010/11/Demo.swf"
			name="fm_Demo_1602852062"
			width="550"
			height="400">
	<!--<![endif]-->
		 
	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object> (点击下面的三个手型之一，只能玩一次) 代码 照例放在了 GitHub上 。]]></description>
			<content:encoded><![CDATA[<p>计划通过Demo的开发过程演示的工具有4个： <a href="http://flexunit.org/" target="_blank" class="liexternal">FlexUnit</a> (Model)， <a href="https://github.com/eidiot/xface" target="_blank" class="liexternal">xface</a> (View)， <a href="https://github.com/robertpenner/as3-signals" target="_blank" class="liexternal">as3-signals</a> (通讯) 和 <a href="http://www.robotlegs.org/" target="_blank" class="liexternal">Robotlegs</a> (整合)。内容很多，时间却只有半小时。换了n个题材之后，终于确定了这个巨简单但足以演示所有工具，并且价值200万英镑的Demo:<span id="more-556"></span></p>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_Demo_1829036317"
			class="flashmovie"
			width="550"
			height="400">
	<param name="movie" value="http://eidiot.net/wp-content/uploads/2010/11/Demo.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://eidiot.net/wp-content/uploads/2010/11/Demo.swf"
			name="fm_Demo_1829036317"
			width="550"
			height="400">
	<!--<![endif]-->
		
<p><a href="http://adobe.com/go/getflashplayer" target="_blank" class="liimagelink"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>

	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
<p>(点击下面的三个手型之一，只能玩一次)</p>
<p><a href="https://github.com/eidiot/eidiot.net/tree/master/presentations/wedoswf_6/demo/" target="_blank" class="liexternal">代码</a> 照例放在了 <a href="https://github.com/eidiot/eidiot.net/tree/master/presentations/wedoswf_6/demo/" target="_blank" class="liexternal">GitHub上</a> 。</p>
]]></content:encoded>
			<wfw:commentRss>http://eidiot.net/2010/11/26/demo-for-wedoswf-6/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>反省</title>
		<link>http://eidiot.net/2010/11/21/meditate/</link>
		<comments>http://eidiot.net/2010/11/21/meditate/#comments</comments>
		<pubDate>Sun, 21 Nov 2010 14:29:52 +0000</pubDate>
		<dc:creator>eidiot</dc:creator>
				<category><![CDATA[秃笔难言 · [碎语]]]></category>

		<guid isPermaLink="false">http://eidiot.net/?p=554</guid>
		<description><![CDATA[Blog早已荒芜，尤其技术外的内容，已经1年半多没有更新了。可能工作的忙碌，已经让自己忘记了思考。 这几天出现了一件事情，处理的方式非常欠妥。过程中被指“冷漠”，给我很大的触动。需要对自己处理问题的方式好好做个反省了。 仔细想想，其实自己的问题和 Friends 里的 Ross 有些相像：太较真了，对所有的事情非要搞清楚是非曲直，而不管当事人的感受。 最明显的受害者当然就是我老婆了。在她向我倾诉事情的时候，我往往会在过程中分析谁是谁非，有时候就会反而指出她的不是。而在那种情况下，即使真有那样的问题，即使我说的再有道理，她在心理上也是无法接受的。平时生活中也是，看到她的一些小毛病都会指出并且希望她能改掉，而且很直接，也同样让她情感上无法接受。 在工作中也是如此，对下级反而非常注意，对平级尤其上级就会过于直接的指出对方的问题，非常欠考虑。 是非曲直真的那样重要吗？有些时候是不是可以不要那么计较？即使必须指出，是否可以更慎重地考虑一下柔和委婉的方式？ 其实仔细想想，有时候还是活在一个理想的世界里。应该，早该成熟一点了。]]></description>
			<content:encoded><![CDATA[<p>Blog早已荒芜，尤其技术外的内容，已经1年半多没有更新了。可能工作的忙碌，已经让自己忘记了思考。</p>
<p>这几天出现了一件事情，处理的方式非常欠妥。过程中被指“冷漠”，给我很大的触动。需要对自己处理问题的方式好好做个反省了。</p>
<p>仔细想想，其实自己的问题和 Friends 里的  Ross 有些相像：太较真了，对所有的事情非要搞清楚是非曲直，而不管当事人的感受。</p>
<p>最明显的受害者当然就是我老婆了。在她向我倾诉事情的时候，我往往会在过程中分析谁是谁非，有时候就会反而指出她的不是。而在那种情况下，即使真有那样的问题，即使我说的再有道理，她在心理上也是无法接受的。平时生活中也是，看到她的一些小毛病都会指出并且希望她能改掉，而且很直接，也同样让她情感上无法接受。</p>
<p>在工作中也是如此，对下级反而非常注意，对平级尤其上级就会过于直接的指出对方的问题，非常欠考虑。</p>
<p>是非曲直真的那样重要吗？有些时候是不是可以不要那么计较？即使必须指出，是否可以更慎重地考虑一下柔和委婉的方式？</p>
<p>其实仔细想想，有时候还是活在一个理想的世界里。应该，早该成熟一点了。</p>
]]></content:encoded>
			<wfw:commentRss>http://eidiot.net/2010/11/21/meditate/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>11月28日上海见</title>
		<link>http://eidiot.net/2010/11/03/11-28-shanghai/</link>
		<comments>http://eidiot.net/2010/11/03/11-28-shanghai/#comments</comments>
		<pubDate>Wed, 03 Nov 2010 03:07:19 +0000</pubDate>
		<dc:creator>eidiot</dc:creator>
				<category><![CDATA[拙口有语 · [琐事]]]></category>

		<guid isPermaLink="false">http://eidiot.net/?p=553</guid>
		<description><![CDATA[11月28日将去上海参加第6届 FLASH开发者交流会，介绍“松耦合代码之开发方法与工具演示”——硬凑出来的主题，没想到更好的名字。 计划是通过一个demo开发过程介绍 TDD (FlexUnit, Model开发辅助)， xface (View开发辅助)， as3-signals (接口友好的通讯方式)。 目前demo还没有选定，要求在数据/逻辑和视图方面都有一定的复杂度以进行相关的演示。最开始考虑微薄客户段，Model部分演示TDD是足够了，但视图过于简单，不足以体现辅助工具的作用。后来考虑做一个简单的塔防之类的小游戏，但没有合适的美术素材。希望本周可以定下，下周开工制作。 如果有demo题材的想法或者可以提供美术素材请和我联系，万分感谢。]]></description>
			<content:encoded><![CDATA[<p>
11月28日将去上海参加<a href="http://www.wedoswf.com/events/2" target="_blank" class="liexternal">第6届 FLASH开发者交流会</a>，介绍“松耦合代码之开发方法与工具演示”——硬凑出来的主题，没想到更好的名字。
</p>
<p>
计划是通过一个demo开发过程介绍 TDD (<a href="http://flexunit.org/" target="_blank" class="liexternal">FlexUnit</a>, Model开发辅助)， <a href="https://github.com/eidiot/xface" target="_blank" class="liexternal">xface</a> (View开发辅助)， <a href="https://github.com/robertpenner/as3-signals" target="_blank" class="liexternal">as3-signals</a> (接口友好的通讯方式)。
</p>
<p>
目前demo还没有选定，要求在数据/逻辑和视图方面都有一定的复杂度以进行相关的演示。最开始考虑微薄客户段，Model部分演示TDD是足够了，但视图过于简单，不足以体现辅助工具的作用。后来考虑做一个简单的塔防之类的小游戏，但没有合适的美术素材。希望本周可以定下，下周开工制作。
</p>
<p>
如果有demo题材的想法或者可以提供美术素材请和我联系，万分感谢。</p>
]]></content:encoded>
			<wfw:commentRss>http://eidiot.net/2010/11/03/11-28-shanghai/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Flex Unit 4 的 Test Suite 生成工具</title>
		<link>http://eidiot.net/2010/07/06/test-suite-generator-for-flex-unit-4/</link>
		<comments>http://eidiot.net/2010/07/06/test-suite-generator-for-flex-unit-4/#comments</comments>
		<pubDate>Tue, 06 Jul 2010 10:32:23 +0000</pubDate>
		<dc:creator>eidiot</dc:creator>
				<category><![CDATA[敝帚不珍 · [作品]]]></category>
		<category><![CDATA[flexunit]]></category>
		<category><![CDATA[unittest]]></category>

		<guid isPermaLink="false">http://eidiot.net/?p=552</guid>
		<description><![CDATA[Read in English: Test suite generator for Flex Unit 4 写了一个 小工具 来生成 AllTests.as 文件给 FlexUnit4 用. 下载 air 文件，安装运行即可。 通过ant调用的示例代码: &#60;project name=&#34;Test Suiter&#34; default=&#34;createSuite&#34;&#62; &#60;target name=&#34;createSuite&#34;&#62; &#60;exec executable=&#34;/Applications/TestSuiter.app/Contents/MacOS/TestSuiter&#34;&#62; &#60;arg value=&#34;/Users/someone/Desktop/SomeProject/tests&#34; /&#62; &#60;/exec&#62; &#60;/target&#62; &#60;/project&#62;]]></description>
			<content:encoded><![CDATA[<p><a href="http://eidiot.net/en/2010/07/06/test-suite-generator-for-flex-unit-4/" class="liinternal">Read in English: Test suite generator for Flex Unit 4</a></p>
<p>写了一个 <a href="http://github.com/eidiot/TestSuiter" target="_blank" class="liexternal">小工具</a> 来生成 AllTests.as 文件给 <a href="http://flexunit.org/" target="_blank" class="liexternal">FlexUnit4</a> 用. <a href="http://github.com/eidiot/TestSuiter/downloads" target="_blank" class="liexternal">下载</a> air 文件，安装运行即可。</p>
<p>通过ant调用的示例代码: </p>

<div class="wp_codebox"><table><tr id="p5524"><td class="code" id="p552code4"><pre class="xml" style="font-family:monospace;">  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;project</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;Test Suiter&quot;</span> <span style="color: #000066;">default</span>=<span style="color: #ff0000;">&quot;createSuite&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;target</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;createSuite&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;exec</span> <span style="color: #000066;">executable</span>=<span style="color: #ff0000;">&quot;/Applications/TestSuiter.app/Contents/MacOS/TestSuiter&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;arg</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;/Users/someone/Desktop/SomeProject/tests&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/exec<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/target<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/project<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://eidiot.net/2010/07/06/test-suite-generator-for-flex-unit-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>使用FlexUnit4对as3-signals进行异步测试</title>
		<link>http://eidiot.net/2010/05/21/async-test-for-as3-signals-with-flexunit4/</link>
		<comments>http://eidiot.net/2010/05/21/async-test-for-as3-signals-with-flexunit4/#comments</comments>
		<pubDate>Fri, 21 May 2010 03:46:27 +0000</pubDate>
		<dc:creator>eidiot</dc:creator>
				<category><![CDATA[敝帚不珍 · [作品]]]></category>
		<category><![CDATA[as3-signals]]></category>
		<category><![CDATA[flexunit]]></category>

		<guid isPermaLink="false">http://eidiot.net/?p=551</guid>
		<description><![CDATA[Read in English: Async test for as3-signals with FlexUnit4 使用 Robert Penner 的 as3-signals 可以帮助我们节省代码量并写出更整洁的代码. 这是一个由几个代理方法组成的使用 FlexUnit4进行测试的扩展 proceedOnSignal handleSignal failOnSignal registerFailureSignal proceedOnSignal 使用这个方法确认一个signal必须被抛出。 &#91;Test&#40;async&#41;&#93; public function test_proceedOnSignal&#40;&#41;:void &#123; var model:IModel = new SomeModel&#40;&#41;; proceedOnSignal&#40;this, model.changedSignal&#41;; model.doSomethingChange&#40;&#41;; &#125; handleSignal 使用这个方法确认一个signal被抛出并且在handler方法里进行更多的断言。这个handler方法必须接收两个参数，第一个是SignalAsyncEvent，可以从这个事件的 args 属性里拿到 signal 的 dispatch 方法里传出的所有参数。第二个参数是一个Object，传进的是 handleSignal 方法的 passThroughData 参数。 &#91;Test&#40;async&#41;&#93; public function change_user&#40;&#41;:void &#123; var [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://eidiot.net/en/2010/05/21/async-test-for-as3-signals-with-flexunit4/" class="liinternal">Read in English: Async test for as3-signals with FlexUnit4</a></p>
<p>使用 <a href="http://robertpenner.com/" target="_blank" class="liexternal">Robert Penner</a> 的 <a href="http://github.com/robertpenner/as3-signals" target="_blank" class="liexternal">as3-signals</a> 可以帮助我们节省代码量并写出更整洁的代码. 这是一个由几个代理方法组成的使用 <a href="http://flexunit.org/" target="_blank" class="liexternal">FlexUnit4</a>进行测试的<a href="http://github.com/eidiot/as3-signals-utilities-async" target="_blank" class="liexternal">扩展</a></p>
<ul>
<li>proceedOnSignal</li>
<li>handleSignal</li>
<li>failOnSignal</li>
<li>registerFailureSignal</li>
</ul>
<h4>proceedOnSignal</h4>
<p>使用这个方法确认一个signal必须被抛出。</p>

<div class="wp_codebox"><table><tr id="p5519"><td class="code" id="p551code9"><pre class="actionscript" style="font-family:monospace;"><span style="color: #66cc66;">&#91;</span>Test<span style="color: #66cc66;">&#40;</span>async<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#93;</span>
<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> test_proceedOnSignal<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> 
<span style="color: #66cc66;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">var</span> model:IModel = <span style="color: #000000; font-weight: bold;">new</span> SomeModel<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
    proceedOnSignal<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>, model.<span style="color: #006600;">changedSignal</span><span style="color: #66cc66;">&#41;</span>;
    model.<span style="color: #006600;">doSomethingChange</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>

<p><span id="more-551"></span></p>
<h4>handleSignal</h4>
<p>使用这个方法确认一个signal被抛出并且在handler方法里进行更多的断言。这个handler方法必须接收两个参数，第一个是<em>SignalAsyncEvent</em>，可以从这个事件的 args 属性里拿到 signal 的 dispatch 方法里传出的所有参数。第二个参数是一个Object，传进的是 <em>handleSignal</em> 方法的 <em>passThroughData</em> 参数。</p>

<div class="wp_codebox"><table><tr id="p55110"><td class="code" id="p551code10"><pre class="actionscript" style="font-family:monospace;"><span style="color: #66cc66;">&#91;</span>Test<span style="color: #66cc66;">&#40;</span>async<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#93;</span> 
<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> change_user<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> 
<span style="color: #66cc66;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">var</span> model:IModel = <span style="color: #000000; font-weight: bold;">new</span> SomeModel<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
    handleSignal<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>, model.<span style="color: #006600;">changedSignal</span>, verify_user, <span style="color: #cc66cc;">500</span>, <span style="color: #66cc66;">&#123;</span><span style="color: #ff0000;">&quot;name&quot;</span>:<span style="color: #ff0000;">&quot;Tom&quot;</span>, <span style="color: #ff0000;">&quot;age&quot;</span>:<span style="color: #cc66cc;">20</span><span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;
    model.<span style="color: #006600;">changeUser</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Tom&quot;</span>, <span style="color: #cc66cc;">20</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> verify_user<span style="color: #66cc66;">&#40;</span>event:SignalAsyncEvent, <span style="color: #0066CC;">data</span>:<span style="color: #0066CC;">Object</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> 
<span style="color: #66cc66;">&#123;</span>
    assertEquals<span style="color: #66cc66;">&#40;</span>event.<span style="color: #006600;">args</span><span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#93;</span>, <span style="color: #0066CC;">data</span>.<span style="color: #0066CC;">name</span><span style="color: #66cc66;">&#41;</span>;
    assertEquals<span style="color: #66cc66;">&#40;</span>event.<span style="color: #006600;">args</span><span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#93;</span>, <span style="color: #0066CC;">data</span>.<span style="color: #006600;">age</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>

<p>
<h4>failOnSignal</h4>
<p>使用这个方法来确认一个signal <strong>不</strong> 被抛出。</p>

<div class="wp_codebox"><table><tr id="p55111"><td class="code" id="p551code11"><pre class="actionscript" style="font-family:monospace;"><span style="color: #66cc66;">&#91;</span>Test<span style="color: #66cc66;">&#40;</span>async<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#93;</span> 
<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> not_changed<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> 
<span style="color: #66cc66;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">var</span> model:IModel = <span style="color: #000000; font-weight: bold;">new</span> SomeModel<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
    failOnSignal<span style="color: #66cc66;">&#40;</span>model.<span style="color: #006600;">changedSignal</span><span style="color: #66cc66;">&#41;</span>;
    model.<span style="color: #006600;">doSomethingNotChange</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>

<p>
<h4>registerFailureSignal</h4>
<p>使用这个方法在一个signal被抛出的时候使测试失败。假设你正在等待一个service的success signal，当这个service的error signal 抛出的时候你将希望这个测试直接失败，而不是等待超时。</p>

<div class="wp_codebox"><table><tr id="p55112"><td class="code" id="p551code12"><pre class="actionscript" style="font-family:monospace;"><span style="color: #66cc66;">&#91;</span>Test<span style="color: #66cc66;">&#40;</span>async<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#93;</span> 
<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> call_service<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> 
<span style="color: #66cc66;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">var</span> service:IService = <span style="color: #000000; font-weight: bold;">new</span> SomeService<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
    registerFailureSignal<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>, service.<span style="color: #006600;">failedSignal</span><span style="color: #66cc66;">&#41;</span>;
    proceedOnSignal<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>, service.<span style="color: #006600;">successSignal</span><span style="color: #66cc66;">&#41;</span>;
    service.<span style="color: #0066CC;">call</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>

<p>
<h4>更多</h4>
<ul>
<li><a href="http://github.com/eidiot/as3-signals-utilities-async/downloads" target="_blank" class="liexternal">下载这个扩展库</a></li>
<li><a href="http://docs.flexunit.org/asdocs/org/flexunit/async/Async.html" target="" class="liexternal">FlexUnit4中异步测试的更多内容</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://eidiot.net/2010/05/21/async-test-for-as3-signals-with-flexunit4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Tasks Wapper of ig version</title>
		<link>http://eidiot.net/2010/05/02/google-tasks-wapper-of-ig-version/</link>
		<comments>http://eidiot.net/2010/05/02/google-tasks-wapper-of-ig-version/#comments</comments>
		<pubDate>Sun, 02 May 2010 09:30:23 +0000</pubDate>
		<dc:creator>eidiot</dc:creator>
				<category><![CDATA[敝帚不珍 · [作品]]]></category>

		<guid isPermaLink="false">http://eidiot.net/?p=550</guid>
		<description><![CDATA[不是很喜欢 Christian Cantrell 使用的 https://mail.google.com/tasks/canvas 版本，所以重新做了一个，使用轻量的 https://mail.google.com/tasks/ig 版。 代码很简单，放在了 GitHub 上。 
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_badge_52837717"
			class="flashmovie"
			width="217"
			height="180">
	<param name="movie" value="http://eidiot.net/product/google_tasks_ig/badge.swf" />
	<param name="flashvars" value="appname=GoogleTaskIg&amp;appurl=http://eidiot.net/product/google_tasks_ig/GoogleTaskIg.air&amp;airversion=1.5&amp;imageurl=http://eidiot.net/product/google_tasks_ig/google_tasks_ig_badge.png" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://eidiot.net/product/google_tasks_ig/badge.swf"
			name="fm_badge_52837717"
			width="217"
			height="180">
		<param name="flashvars" value="appname=GoogleTaskIg&amp;appurl=http://eidiot.net/product/google_tasks_ig/GoogleTaskIg.air&amp;airversion=1.5&amp;imageurl=http://eidiot.net/product/google_tasks_ig/google_tasks_ig_badge.png" />
	<!--<![endif]-->
		 
	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>]]></description>
			<content:encoded><![CDATA[<p>不是很喜欢 <a href="http://blogs.adobe.com/cantrell/archives/2009/12/google_tasks_on_your_desktop.html" target="_blank" class="liexternal">Christian Cantrell</a> 使用的 <a href="https://mail.google.com/tasks/canvas" target="_blank" class="liexternal">https://mail.google.com/tasks/canvas</a> 版本，所以重新做了一个，使用轻量的 <a href="https://mail.google.com/tasks/ig" target="_blank" class="liexternal">https://mail.google.com/tasks/ig</a> 版。 代码很简单，放在了 <a href="http://github.com/eidiot/GoogleTasksWapper" target="_blank" class="liexternal">GitHub</a> 上。</p>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_badge_468281276"
			class="flashmovie"
			width="217"
			height="180">
	<param name="movie" value="http://eidiot.net/product/google_tasks_ig/badge.swf" />
	<param name="flashvars" value="appname=GoogleTaskIg&amp;appurl=http://eidiot.net/product/google_tasks_ig/GoogleTaskIg.air&amp;airversion=1.5&amp;imageurl=http://eidiot.net/product/google_tasks_ig/google_tasks_ig_badge.png" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://eidiot.net/product/google_tasks_ig/badge.swf"
			name="fm_badge_468281276"
			width="217"
			height="180">
		<param name="flashvars" value="appname=GoogleTaskIg&amp;appurl=http://eidiot.net/product/google_tasks_ig/GoogleTaskIg.air&amp;airversion=1.5&amp;imageurl=http://eidiot.net/product/google_tasks_ig/google_tasks_ig_badge.png" />
	<!--<![endif]-->
		
<p><a href="http://adobe.com/go/getflashplayer" target="_blank" class="liimagelink"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>

	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
]]></content:encoded>
			<wfw:commentRss>http://eidiot.net/2010/05/02/google-tasks-wapper-of-ig-version/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>xface: 简单的ui-unit辅助开发工具</title>
		<link>http://eidiot.net/2010/04/18/xface-a-simple-ui-unit-develop-tool/</link>
		<comments>http://eidiot.net/2010/04/18/xface-a-simple-ui-unit-develop-tool/#comments</comments>
		<pubDate>Sun, 18 Apr 2010 15:42:56 +0000</pubDate>
		<dc:creator>eidiot</dc:creator>
				<category><![CDATA[敝帚不珍 · [作品]]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[xface]]></category>

		<guid isPermaLink="false">http://eidiot.net/?p=549</guid>
		<description><![CDATA[Read in English: xface: A simple ui-unit develop tool XFace 是一个简单的 AsUnit/FlexUnit 4 风格的 UI-Unit 框架, 但不是用于测试。它是快速到达和验证ui实现的辅助开发工具。 Demo: (Source) 
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_DemoUIUnitRunner_1349553617"
			class="flashmovie"
			width="370"
			height="240">
	<param name="movie" value="http://eidiot.github.com/xface/demo/DemoUIUnitRunner.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://eidiot.github.com/xface/demo/DemoUIUnitRunner.swf"
			name="fm_DemoUIUnitRunner_1349553617"
			width="370"
			height="240">
	<!--<![endif]-->
		 
	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object> Xface 使用和 AsUnit/FlexUnit 4 一样的 [Before], [After], [Test], [Suite] metadata 标签, 并使用 [Inject] 标签用于依赖注入。 &#91;Inject&#93; pubic var container:DisplayObjectContainer; &#91;Test&#93; public function test&#40;&#41;:void &#123; container.addChild&#40;instance&#41;; &#125; 所有的ui-unit方法都显示在一个列表中，你可以运行其中之一以验证最小的ui元素，保持小步前进。 Runner UI [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://eidiot.net/en/2010/04/18/xface-a-simple-ui-unit-develop-tool" target="_blank" class="liinternal">Read in English: xface: A simple ui-unit develop tool</a></p>
<p><a href="http://eidiot.github.com/xface" target="_blank" class="liexternal">XFace</a> 是一个简单的 AsUnit/FlexUnit 4 风格的 UI-Unit 框架, 但不是用于测试。它是快速到达和验证ui实现的辅助开发工具。</p>
<p>Demo: (<a href="http://github.com/eidiot/xface/tree/master/demo/" target="_blank" class="liexternal">Source</a>)</p>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_DemoUIUnitRunner_1002438345"
			class="flashmovie"
			width="370"
			height="240">
	<param name="movie" value="http://eidiot.github.com/xface/demo/DemoUIUnitRunner.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://eidiot.github.com/xface/demo/DemoUIUnitRunner.swf"
			name="fm_DemoUIUnitRunner_1002438345"
			width="370"
			height="240">
	<!--<![endif]-->
		
<p><a href="http://adobe.com/go/getflashplayer" target="_blank" class="liimagelink"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>

	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
<p>Xface 使用和 AsUnit/FlexUnit 4 一样的 [Before], [After], [Test], [Suite] metadata 标签, 并使用 [Inject] 标签用于依赖注入。</p>

<div class="wp_codebox"><table><tr id="p54914"><td class="code" id="p549code14"><pre class="actionscript" style="font-family:monospace;"><span style="color: #66cc66;">&#91;</span>Inject<span style="color: #66cc66;">&#93;</span>
pubic <span style="color: #000000; font-weight: bold;">var</span> container:DisplayObjectContainer;
<span style="color: #66cc66;">&#91;</span>Test<span style="color: #66cc66;">&#93;</span>
<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> test<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> <span style="color: #66cc66;">&#123;</span>
    container.<span style="color: #006600;">addChild</span><span style="color: #66cc66;">&#40;</span>instance<span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>

<p>所有的ui-unit方法都显示在一个列表中，你可以运行其中之一以验证最小的ui元素，保持小步前进。</p>
<p>Runner UI 使用了<a href="http://twitter.com/bit101" target="_blank" class="liexternal">@bit101</a> 的 <a href="http://www.minimalcomps.com/" target="_blank" class="liexternal">Minimal Comps</a> 里的 List 组件. </p>
]]></content:encoded>
			<wfw:commentRss>http://eidiot.net/2010/04/18/xface-a-simple-ui-unit-develop-tool/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>今天RIA天地行Robotlegs主题的幻灯片</title>
		<link>http://eidiot.net/2010/03/28/slides-of-my-robotlegs-presentation-today/</link>
		<comments>http://eidiot.net/2010/03/28/slides-of-my-robotlegs-presentation-today/#comments</comments>
		<pubDate>Sun, 28 Mar 2010 14:07:37 +0000</pubDate>
		<dc:creator>eidiot</dc:creator>
				<category><![CDATA[拙口有语 · [琐事]]]></category>
		<category><![CDATA[robotlegs]]></category>

		<guid isPermaLink="false">http://eidiot.net/?p=548</guid>
		<description><![CDATA[今天在 天地会 的 ria天地行 活动上介绍了 Robotlegs 框架, 下面是幻灯片内容（基于 Joel Hooks 的版本）。文件在 GitHub 上, 同时提供 .key, .ppt, 和 .pdf 格式下载 虽然黑羽安慰说第一次上台讲成这样不错了，不过提问环节差点冷场让我感觉很对不起观众。如果再有其它机会，需要更充分的准备才行啊。 
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_SlidePlayer_1968413670"
			class="flashmovie"
			width="640"
			height="500">
	<param name="movie" value="http://eidiot.net/wp-content/uploads/2010/03/SlidePlayer.swf" />
	<param name="flashvars" value="path=http://eidiot.net/wp-content/uploads/2010/03/rlslides/&#038&amp;file=Robotlegs_9ria_2010.*.jpg&#038&amp;start=002&#038&amp;end=065" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://eidiot.net/wp-content/uploads/2010/03/SlidePlayer.swf"
			name="fm_SlidePlayer_1968413670"
			width="640"
			height="500">
		<param name="flashvars" value="path=http://eidiot.net/wp-content/uploads/2010/03/rlslides/&#038&amp;file=Robotlegs_9ria_2010.*.jpg&#038&amp;start=002&#038&amp;end=065" />
	<!--<![endif]-->
		 
	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>]]></description>
			<content:encoded><![CDATA[<p>今天在 <a href="http://flash.9ria.com/" target="_blank" class="liexternal">天地会</a> 的 <a href="http://www.9ria.com/?action-channel-name-riatdxindex" target="_blank" class="liexternal">ria天地行</a> 活动上介绍了 <a href="http://robotlegs.org" target="_blank" class="liexternal">Robotlegs</a> 框架, 下面是幻灯片内容（基于 <a href="http://joelhooks.com/2009/11/14/texflex09-robotlegs-slides-and-a-robotlegs-t-shirt-giveaway/" target="_blank" class="liexternal">Joel Hooks</a> 的版本）。文件在 <a href="http://github.com/eidiot/robotlegs-presentations/tree/master/9ria_2010/" target="_blank" class="liexternal"> GitHub</a> 上, 同时提供 <a href="http://eidiot.net/wp-content/uploads/2010/03/Robotlegs_9ria_2010.key" target="_blank" class="liinternal">.key</a>, <a href="http://eidiot.net/wp-content/uploads/2010/03/Robotlegs_9ria_2010.ppt" target="_blank" class="liinternal">.ppt</a>, 和 <a href="http://eidiot.net/wp-content/uploads/2010/03/Robotlegs_9ria_2010.pdf" target="_blank" class="liinternal">.pdf</a> 格式下载</p>
<p>
虽然黑羽安慰说第一次上台讲成这样不错了，不过提问环节差点冷场让我感觉很对不起观众。如果再有其它机会，需要更充分的准备才行啊。
</p>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_SlidePlayer_249527708"
			class="flashmovie"
			width="640"
			height="500">
	<param name="movie" value="http://eidiot.net/wp-content/uploads/2010/03/SlidePlayer.swf" />
	<param name="flashvars" value="path=http://eidiot.net/wp-content/uploads/2010/03/rlslides/&#038&amp;file=Robotlegs_9ria_2010.*.jpg&#038&amp;start=002&#038&amp;end=065" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://eidiot.net/wp-content/uploads/2010/03/SlidePlayer.swf"
			name="fm_SlidePlayer_249527708"
			width="640"
			height="500">
		<param name="flashvars" value="path=http://eidiot.net/wp-content/uploads/2010/03/rlslides/&#038&amp;file=Robotlegs_9ria_2010.*.jpg&#038&amp;start=002&#038&amp;end=065" />
	<!--<![endif]-->
		
<p><a href="http://adobe.com/go/getflashplayer" target="_blank" class="liimagelink"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>

	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
]]></content:encoded>
			<wfw:commentRss>http://eidiot.net/2010/03/28/slides-of-my-robotlegs-presentation-today/feed/</wfw:commentRss>
		<slash:comments>28</slash:comments>
		</item>
	</channel>
</rss>

