<?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>碧云涛小屋 &#187; Flash</title>
	<atom:link href="http://blog.axqd.net/categories/tech/web/flash/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.axqd.net</link>
	<description>by aXqd</description>
	<lastBuildDate>Sat, 17 Jul 2010 16:42:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<atom:link rel='hub' href='http://blog.axqd.net/?pushpress=hub'/>
		<item>
		<title>Camtasia Studio 6</title>
		<link>http://blog.axqd.net/2009/10/17/camtasia-studio-6/</link>
		<comments>http://blog.axqd.net/2009/10/17/camtasia-studio-6/#comments</comments>
		<pubDate>Sat, 17 Oct 2009 15:44:27 +0000</pubDate>
		<dc:creator>axqd</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Camtasia Stuidio]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://blog.axqd.net/?p=737</guid>
		<description><![CDATA[下周要负责录一个内部产品的Tutorial，于是先行用Camtasia Studio来录了一个测试教程，还是蛮好用的。 缺点有: Smart Focus显得移动过于频繁； 生成Flash预加载缓冲内容过多，将近5%；（不知有没有配置选项） 机器embeded的话筒录下来，感觉完全是另外一个人的声音； 突然发现，&#8221;嗯啊哈&#8221;的，如此之多，呵呵。 附测试结果：【教程整个很白痴，纯粹测试性质】 http://www.axqd.net/hotkey/ for Hotkey Power on http://www.axqd.net/ PS: 工作后真是没法坚持定期写Blog了，一切随缘吧，想起了又无事，就多写几篇。]]></description>
			<content:encoded><![CDATA[<p>下周要负责录一个内部产品的Tutorial，于是先行用Camtasia Studio来录了一个测试教程，还是蛮好用的。</p>
<p>缺点有:</p>
<p>Smart Focus显得移动过于频繁；</p>
<p>生成Flash预加载缓冲内容过多，将近5%；（不知有没有配置选项）</p>
<p>机器embeded的话筒录下来，感觉完全是另外一个人的声音；</p>
<p>突然发现，&#8221;嗯啊哈&#8221;的，如此之多，呵呵。</p>
<p>附测试结果：【教程整个很白痴，纯粹测试性质】</p>
<p><a href="http://www.axqd.net/hotkey/">http://www.axqd.net/hotkey/</a> for Hotkey Power on <a href="http://www.axqd.net/">http://www.axqd.net/</a></p>
<p>PS: 工作后真是没法坚持定期写Blog了，一切随缘吧，想起了又无事，就多写几篇。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.axqd.net/2009/10/17/camtasia-studio-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>一道面试题</title>
		<link>http://blog.axqd.net/2008/08/28/face-questions/</link>
		<comments>http://blog.axqd.net/2008/08/28/face-questions/#comments</comments>
		<pubDate>Thu, 28 Aug 2008 10:15:51 +0000</pubDate>
		<dc:creator>axqd</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[心情日记]]></category>

		<guid isPermaLink="false">http://blog.axqd.net/?p=484</guid>
		<description><![CDATA[最近帮某公司出了一道面试题，由于面试官技术参差不齐。所以，题目要求：上手容易（不然冷场了，面试官不易处理），还有就是不怎么暴露面试官的无知。 题目内容比较open，没有标准答案，只是要求用伪码实现简化版的windows计算器标准模式，相信大家上手应该都不成问题。 然而实际效果，这道题目区分度还是蛮大的。正是因为按键少，上手就写程序，很容易就成为意大利面条式的代码。甚至有人电话面试的时候，没到5分钟，就直接压了电话。 按键设定为只有以下18个： 0 1 2 3 4 5 6 7 8 9 . + &#8211; * / = C +/- 由于对一切乱七八遭的输入，都要能够接受，不做异常处理，我们有下面一些约定： 1. 忽略前置0: 000000 => 0； 2. 忽略多个.：1&#8230;..23 => 1.23； 3. 多个操作符(包括=)取最后一个（这与windows的版本有细微出入）：*/2 => /2； 最后，是一些考量： 1. 有限状态机在这里是比较自然的思路； 2. 初始计算前加入0+的计算，可以与后面的情况合并处理； 3. Clear和+/-可以不进入状态机处理，而提前解决掉； 4. 一般都能把数字&#8221;0~9&#8243;和&#8221;.&#8221;、&#8221;+-*/&#8221;和&#8221;=&#8221;统一处理；但问题在于，用了大量的if来别扭的处理&#8221;=&#8221;，其实&#8221;=&#8221;之所以别扭，就是因为他和&#8221;+-*/&#8221;最大的不同，在于它是unary operator，而其他的是binary operator。如果考虑到这里，那么对于后续问题。例如，如何加入对于sin/cos/开根号等的支持，也能作出较好的回答； 5. 还有一个小陷阱，除0的考虑； 总之，简单的一道题目，但在面试的特殊环境下，能够较好的区分出应聘者的设计水平。 为了更好的在面试的时候说明题目，我用flex实现了一个界面（因为只起演示作用，所以有个已知的bug就是超长的输入数字，或者回显的超长数字结果，会使程序的显示产生未定义行为）[Updated: 加了个限长为10，现在可以忽略这句话了]。 附件里有代码和状态转换图，有兴趣的可以下来看看。有更好的考量，还望多多指教。 http://www.axqd.net/calculator/]]></description>
			<content:encoded><![CDATA[<p>最近帮某公司出了一道面试题，由于面试官技术参差不齐。所以，题目要求：上手容易（不然冷场了，面试官不易处理），还有就是不怎么暴露面试官的无知。</p>
<p>题目内容比较open，没有标准答案，只是要求用伪码实现简化版的windows计算器标准模式，相信大家上手应该都不成问题。</p>
<p>然而实际效果，这道题目区分度还是蛮大的。正是因为按键少，上手就写程序，很容易就成为意大利面条式的代码。甚至有人电话面试的时候，没到5分钟，就直接压了电话。</p>
<p>按键设定为只有以下18个：<br />
0 1 2 3 4 5 6 7 8 9 . + &#8211; * / = C +/-</p>
<p>由于对一切乱七八遭的输入，都要能够接受，不做异常处理，我们有下面一些约定：<br />
1. 忽略前置0: 000000 => 0；<br />
2. 忽略多个.：1&#8230;..23 => 1.23；<br />
3. 多个操作符(包括=)取最后一个（这与windows的版本有细微出入）：*/2 => /2；</p>
<p>最后，是一些考量：<br />
1. 有限状态机在这里是比较自然的思路；<br />
2. 初始计算前加入0+的计算，可以与后面的情况合并处理；<br />
3. Clear和+/-可以不进入状态机处理，而提前解决掉；<br />
4. 一般都能把数字&#8221;0~9&#8243;和&#8221;.&#8221;、&#8221;+-*/&#8221;和&#8221;=&#8221;统一处理；但问题在于，用了大量的if来别扭的处理&#8221;=&#8221;，其实&#8221;=&#8221;之所以别扭，就是因为他和&#8221;+-*/&#8221;最大的不同，在于它是unary operator，而其他的是binary operator。如果考虑到这里，那么对于后续问题。例如，如何加入对于sin/cos/开根号等的支持，也能作出较好的回答；<br />
5. 还有一个小陷阱，除0的考虑；</p>
<p>总之，简单的一道题目，但在面试的特殊环境下，能够较好的区分出应聘者的设计水平。</p>
<p>为了更好的在面试的时候说明题目，我用flex实现了一个界面（因为只起演示作用，所以有个已知的bug就是超长的输入数字，或者回显的超长数字结果，会使程序的显示产生未定义行为）[Updated: 加了个限长为10，现在可以忽略这句话了]。</p>
<p>附件里有代码和状态转换图，有兴趣的可以下来看看。有更好的考量，还望多多指教。</p>
<p><a href="http://www.axqd.net/calculator/">http://www.axqd.net/calculator/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.axqd.net/2008/08/28/face-questions/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>古灵精怪</title>
		<link>http://blog.axqd.net/2006/04/29/strange/</link>
		<comments>http://blog.axqd.net/2006/04/29/strange/#comments</comments>
		<pubDate>Sat, 29 Apr 2006 09:03:03 +0000</pubDate>
		<dc:creator>axqd</dc:creator>
				<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://blog.axqd.net/?p=313</guid>
		<description><![CDATA[以前一直很惊叹解析DOC的quirks模式，居然能在如此多错误的情况下容错，保持健壮。但最近看看Macromedia公司的AS2官方类库，才更为惊叹AS脚本解析器的容错能力； 代码里面一堆堆错误，硬是能够正常跑起来，结果放到Eclipse下，一大堆报错，类库编译都通不过，用FDT+Aswing随便个小东西就得改一大堆的错误才能运行，随便举几个例子： 以下摘抄都是官方公布类库: Directory: Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\zh_cn\Configuration\Classes\ 例一、类型不匹配 不过ASv1本身就是弱类型的，所以不算太错，但Number-Date真不知运行的时候为啥不会错，因为确实没找到转换函数 mx\services\WSDL.as if (src != undefined) { var start = new Date(); this.wsdl.log.logInfo("Received WSDL document from the remote service", Log.VERBOSE); this.parseXML(src); this.loaded = true; //加入此行，真不知 Math.round(new Date().getMilliseconds())错在哪里T T var end = new Date(); //106 var parseTime = Math.round(new Date()) - start; var parseTime = [...]]]></description>
			<content:encoded><![CDATA[<p>以前一直很惊叹解析DOC的quirks模式，居然能在如此多错误的情况下容错，保持健壮。但最近看看Macromedia公司的AS2官方类库，才更为惊叹AS脚本解析器的容错能力；<br />
代码里面一堆堆错误，硬是能够正常跑起来，结果放到Eclipse下，一大堆报错，类库编译都通不过，用FDT+Aswing随便个小东西就得改一大堆的错误才能运行，随便举几个例子：<br />
以下摘抄都是官方公布类库:<br />
Directory:<br />
Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\zh_cn\Configuration\Classes\<br />
<strong>例一、类型不匹配</strong><br />
不过ASv1本身就是弱类型的，所以不算太错，但Number-Date真不知运行的时候为啥不会错，因为确实没找到转换函数<br />
mx\services\WSDL.as</p>
<p><code>if (src != undefined)<br />
{<br />
  var start = new Date();<br />
  this.wsdl.log.logInfo("Received WSDL document from the remote service", Log.VERBOSE);<br />
  this.parseXML(src);<br />
  this.loaded = true;<br />
  //加入此行，真不知 Math.round(new Date().getMilliseconds())错在哪里T T<br />
  var end = new Date();<br />
  //106 var parseTime = Math.round(new Date()) - start;<br />
  var parseTime = Math.round((end.getMilliseconds()) - start.getMilliseconds());<br />
  this.wsdl.log.logInfo("Parsed WSDL XML [" + parseTime + " millis]", Log.VERBOSE);<br />
}</code><br />
<strong>例二、变量名重复定义</strong><br />
<strong>例三、缺少结尾分号</strong><br />
mx\services\WebServiceProxy.as</p>
<p><code>  // Shut off the __resolve<br />
  this.service.__resolve = function(operationName) {<br />
  var callback = new PendingCall();<br />
  callback.genSingleConcurrencyFault = function()<br />
  {<br />
    clearInterval(this.timerID);  // only once<br />
    //192对应例二 var fault = new SOAPFault("Client.NoSuchMethod",<br />
    var innerFault = new SOAPFault("Client.NoSuchMethod", "Couldn't find method '" + operationName + "' in service!");<br />
    this.__handleFault(innerFault);<br />
    this.onFault(innerFault);<br />
    //197对应例三<br />
  };<br />
  callback["timerID"] = setInterval(function() { callback.genSingleConcurrencyFault(); }, 50);  // 5 ms<br />
  return callback;<br />
};</code></p>
<p><strong>例四、相等与赋值乱用</strong><br />
mx\services\WSDL.as</p>
<p><code>// per WSDL 1.1 spec, if message is not named default to op Name plus suffix by mode:<br />
if (message.name == undefined)<br />
{<br />
  if (mode == SOAPConstants.MODE_IN)<br />
  {<br />
    message.name = operationName + "Request";<br />
  }<br />
  else<br />
  {<br />
    //598message.name == operationName + "Response";<br />
    message.name = operationName + "Response";<br />
  }<br />
}</code></p>
<p><strong>例五、不知为何</strong><br />
mx\services\NameSpace.as</p>
<p><code>//18<br />
  static var _doc = new XML();<br />
//65不知为何必须使用this来访问static成员，反正少了编不过<br />
  var node = this._doc.createTextNode(value);</code></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.axqd.net/2006/04/29/strange/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
