<?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>IT妖怪 &#187; Daniel Yang</title>
	<atom:link href="http://blog.ityao.com/archives/author/d_yang/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.ityao.com</link>
	<description>热爱生活，热爱程序</description>
	<lastBuildDate>Wed, 03 Aug 2011 02:56:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>[娱乐ZT] 菊花文转换</title>
		<link>http://blog.ityao.com/archives/725</link>
		<comments>http://blog.ityao.com/archives/725#comments</comments>
		<pubDate>Fri, 04 Jun 2010 02:14:14 +0000</pubDate>
		<dc:creator>Daniel Yang</dc:creator>
				<category><![CDATA[IT八卦]]></category>
		<category><![CDATA[杂七杂八]]></category>
		<category><![CDATA[水产]]></category>
		<category><![CDATA[菊花问]]></category>

		<guid isPermaLink="false">http://blog.ityao.com/?p=725</guid>
		<description><![CDATA[近来由于敏感词的原因, 大家开始用菊花文了. 看起来很有趣,但是实际上很使用的. 原理其实就是按照简单的规则转换了字符而已. 上代码: 代码源于@darasion]]></description>
			<content:encoded><![CDATA[<p>近来由于敏感词的原因, 大家开始用菊花文了. 看起来很有趣,但是实际上很使用的.<br />
原理其实就是按照简单的规则转换了字符而已.<br />
<img src="http://blog.ityao.com/wp-content/uploads/2010/06/Screen-shot-2010-06-04-at-10.12.55-AM.png" alt="" title="Screen shot 2010-06-04 at 10.12.55 AM" width="432" height="257" class="alignnone size-full wp-image-728" /><br />
<span id="more-725"></span><br />
上代码:</p>
<pre class="brush: jscript; title: ; notranslate">
function bao_ju(inStr) {
var code = String.fromCharCode(1161);
var outStr = '';
for(var i=0,l=inStr.length; i
outStr += inStr.charAt(i) + code;
}
return outStr;
}
</pre>
<p>代码源于@darasion</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ityao.com/archives/725/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Twisted]-Hello World</title>
		<link>http://blog.ityao.com/archives/450</link>
		<comments>http://blog.ityao.com/archives/450#comments</comments>
		<pubDate>Mon, 02 Nov 2009 04:12:35 +0000</pubDate>
		<dc:creator>Daniel Yang</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[twisted]]></category>

		<guid isPermaLink="false">http://blog.ityao.com/?p=450</guid>
		<description><![CDATA[使用一下twisted的getPage功能. 体会python语法特点. 代码: 说明: 1. python中, 注释一般是用 &#8221;&#8217; 这种方式 &#8221;&#8217; 的. 2. 没有{}来表示运行块, 用indent的深度来识别; 不适用分号来表示语句结束. 3. 指定encode的标记十分特别. 4. callback方式的. 5. Deferred对象来自于twisted.internet.defer.Deferred. 6.Python是case sensitive&#8230; 如果程序运行正常, 可以获得google首页所有的html代码.]]></description>
			<content:encoded><![CDATA[<p>使用一下twisted的getPage功能. 体会python语法特点.</p>
<p>代码:</p>
<pre class="brush: python; title: ; notranslate">
# -*- coding: utf-8 -*-

from twisted.web.client import getPage
from twisted.internet import reactor

def printContents(contents):

	print &quot;获得内容:&quot;
	print contents.upper()

	reactor.stop()

def errorHandler(error):
	print error

	reactor.stop()

#请求
deferred = getPage(&quot;http://localhost/test/Babel_s/yappr.php&quot;)

#添加回调
deferred.addCallback(printContents)
deferred.addErrback(errorHandler)

#反应堆~
reactor.run()
</pre>
<p>说明:<br />
1. python中, 注释一般是用 &#8221;&#8217; 这种方式 &#8221;&#8217; 的.<br />
2. 没有{}来表示运行块, 用indent的深度来识别; 不适用分号来表示语句结束.<br />
3. 指定encode的标记十分特别.<br />
4. callback方式的.<br />
5. Deferred对象来自于twisted.internet.defer.Deferred.<br />
6.Python是case sensitive&#8230;</p>
<p>如果程序运行正常, 可以获得google首页所有的html代码.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ityao.com/archives/450/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Twisted]基础介绍.安装</title>
		<link>http://blog.ityao.com/archives/448</link>
		<comments>http://blog.ityao.com/archives/448#comments</comments>
		<pubDate>Mon, 02 Nov 2009 04:10:50 +0000</pubDate>
		<dc:creator>Daniel Yang</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[twisted]]></category>

		<guid isPermaLink="false">http://blog.ityao.com/?p=448</guid>
		<description><![CDATA[介绍 twisted 是python下一个事件驱动的网络引擎库, 支持很多种的协议. 它包含了一个web服务, 多种IM客户端,服务端, 邮件服务协议. 由于规模庞大, twisted分成了几个sub-project. 一起或者分开发布. 稳定性 twisted并不是从0.1发展到8.1.0的. 是一下子跳到8的. 8.1.0是最新的stable的包. 从successful stories来看, 它的客户包括NASA这种级别的(http://twistedmatrix.com/trac/wiki/SuccessStories#NASA). 效率 twisted具有惊人的效率. 下面是一些twisted和Mina对比测试数据. http://blog.bluendo.com/ff/mina-and-twisted-matrix-benchmarks Leopard下的安装 下载, 运行. 建议是从源码安装。 windows下，可能需要安装openssl相关的库。]]></description>
			<content:encoded><![CDATA[<p>介绍<br />
twisted 是python下一个事件驱动的网络引擎库, 支持很多种的协议.<br />
它包含了一个web服务, 多种IM客户端,服务端, 邮件服务协议. 由于规模庞大, twisted分成了几个sub-project. 一起或者分开发布.<br />
<span id="more-448"></span></p>
<p>稳定性<br />
twisted并不是从0.1发展到8.1.0的. 是一下子跳到8的. 8.1.0是最新的stable的包.<br />
从successful stories来看, 它的客户包括NASA这种级别的(http://twistedmatrix.com/trac/wiki/SuccessStories#NASA). </p>
<p>效率<br />
twisted具有惊人的效率.<br />
下面是一些twisted和Mina对比测试数据.</p>
<p>http://blog.bluendo.com/ff/mina-and-twisted-matrix-benchmarks</p>
<p>Leopard下的安装<br />
下载, 运行.<br />
建议是从源码安装。<br />
windows下，可能需要安装openssl相关的库。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ityao.com/archives/448/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IT妖怪的RSS Widget</title>
		<link>http://blog.ityao.com/archives/441</link>
		<comments>http://blog.ityao.com/archives/441#comments</comments>
		<pubDate>Thu, 15 Oct 2009 01:31:48 +0000</pubDate>
		<dc:creator>Daniel Yang</dc:creator>
				<category><![CDATA[IT八卦]]></category>
		<category><![CDATA[妖怪作品发布]]></category>
		<category><![CDATA[Mac OSx]]></category>
		<category><![CDATA[RSS]]></category>
		<category><![CDATA[Widget]]></category>

		<guid isPermaLink="false">http://blog.ityao.com/?p=441</guid>
		<description><![CDATA[用Dashcode做了一个简单的RSS Widget。 这样Mac用户可以实时关注IT妖怪了。 下载: IT妖怪 双击添加到Dashboard.]]></description>
			<content:encoded><![CDATA[<p>用Dashcode做了一个简单的RSS Widget。<br />
这样Mac用户可以实时关注IT妖怪了。<br />
<a href="http://blog.ityao.com/wp-content/uploads/2009/10/Screen-shot-2009-10-15-at-9.25.16-AM.png"><img src="http://blog.ityao.com/wp-content/uploads/2009/10/Screen-shot-2009-10-15-at-9.25.16-AM.png" alt="Screen shot 2009-10-15 at 9.25.16 AM" title="Screen shot 2009-10-15 at 9.25.16 AM" width="404" height="502" class="alignnone size-full wp-image-442" /></a></p>
<p>下载: <a href='http://blog.ityao.com/wp-content/uploads/2009/10/IT妖怪.zip'>IT妖怪</a><br />
双击添加到Dashboard.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ityao.com/archives/441/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zend AMF使用总结-服务端</title>
		<link>http://blog.ityao.com/archives/430</link>
		<comments>http://blog.ityao.com/archives/430#comments</comments>
		<pubDate>Mon, 28 Sep 2009 14:35:23 +0000</pubDate>
		<dc:creator>Daniel Yang</dc:creator>
				<category><![CDATA[Php]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[amf]]></category>
		<category><![CDATA[zend]]></category>
		<category><![CDATA[zend framework]]></category>

		<guid isPermaLink="false">http://blog.ityao.com/?p=430</guid>
		<description><![CDATA[Zend Framework是php框架中的战斗机。各种功能应有尽有，没有的网上也能找到插件，helper, filter&#8230;.而对于这样庞大的框架，最重要的就是配置了。 最近我作了一些尝试，在Zend Framework下使用AMF。现在把一些主要点共享给大家。 Tip 1，项目结构 这是刚接触ZF的同学们最头疼的。网上众说纷纭，其实很简单。 ZF发布的时候，bin目录下带有几个可运行的命令文件（包含各种系统了）。直接运行就可以了。 在这里，我是这样使用的(Mac Osx): 运行后，就会得到一个类似于这样的目录结构。 这里有个提示，尽管你可以把Zend文件夹（ZF的主要库文件）copy到刚才生成项目目录下的library里，我还是建议，一个服务器上维持一个ZF lib，这样升级起来容易。 现在可以把web服务器的服务地址只想我们生成目录bravo的public&#8212;这样，用户只能访问这个piblic目录中的文件，而程序文件是在application目录的，主要是安全。 好，打开浏览器，按照你配置的url来访问，应该能看到一个ZF生成的简单页面了。 Tip 2 index.php配置 ZF生成的public目录中，有一个index.php文件。这个文件是ZF应用的入口。这里的配置，主要是一些常量和ZF lib的位置。 比如我就是这样配置的： Tip 3 配置文件 ZF生成的application.ini文件位于/application/configs/下, 这个目录也经常会放其他配置文件，如route，i18n等。 配置文件一定不能乱了。我们按照dev, prod两种环境来配置。 Tip 4 AMF 服务的编写 这个很简单。 不需要继承任何类。 顺便说说gateway的提供。ZF中，gateway是一个controller。里面的内容比较常规： Tip 5 Bootstrap 最主要的是初始化name space和数据库连接 Tip 6 Value Object的传输 最让我头疼的。我现在的做法是，不使用ZF的Model, 直接用DbAdapter. 所以，我在Model里定义的其实是VO. 定义一个Base: 那么， User的Model就是： 在从数据库中取得数据后： 下一篇我们说客户端-应该是很简单了。]]></description>
			<content:encoded><![CDATA[<p><a href="http://framework.zend.com/" target="_blank">Zend Framework</a>是php框架中的战斗机。各种功能应有尽有，没有的网上也能找到插件，helper, filter&#8230;.而对于这样庞大的框架，最重要的就是配置了。</p>
<p>最近我作了一些尝试，在Zend Framework下使用AMF。现在把一些主要点共享给大家。</p>
<p><span id="more-430"></span></p>
<p>Tip 1，项目结构<br />
这是刚接触ZF的同学们最头疼的。网上众说纷纭，其实很简单。<br />
ZF发布的时候，bin目录下带有几个可运行的命令文件（包含各种系统了）。直接运行就可以了。<br />
在这里，我是这样使用的(Mac Osx):</p>
<pre class="brush: bash; title: ; notranslate">
Yang:~ daniel$ ./zf.sh create project website
</pre>
<p>运行后，就会得到一个类似于这样的目录结构。<br />
<a href="http://blog.ityao.com/wp-content/uploads/2009/09/Screen-shot-2009-09-28-at-5.43.30-PM.png"><img src="http://blog.ityao.com/wp-content/uploads/2009/09/Screen-shot-2009-09-28-at-5.43.30-PM.png" alt="Screen shot 2009-09-28 at 5.43.30 PM" title="Screen shot 2009-09-28 at 5.43.30 PM" width="221" height="505" class="alignnone size-full wp-image-432" /></a></p>
<p>这里有个提示，尽管你可以把Zend文件夹（ZF的主要库文件）copy到刚才生成项目目录下的library里，我还是建议，一个服务器上维持一个ZF lib，这样升级起来容易。</p>
<p>现在可以把web服务器的服务地址只想我们生成目录bravo的public&#8212;这样，用户只能访问这个piblic目录中的文件，而程序文件是在application目录的，主要是安全。<br />
好，打开浏览器，按照你配置的url来访问，应该能看到一个ZF生成的简单页面了。</p>
<p>Tip 2 index.php配置<br />
ZF生成的public目录中，有一个index.php文件。这个文件是ZF应用的入口。这里的配置，主要是一些常量和ZF lib的位置。<br />
比如我就是这样配置的：</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php

// Define path to application directory
defined('APPLICATION_PATH')
    || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));

// Define application environment
defined('APPLICATION_ENV')
    || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));

//这个是amf service的目录
define('SERVICES_PATH', APPLICATION_PATH . '/services');

// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
    realpath(APPLICATION_PATH . '/../../library'),
    get_include_path(),
)));

/** Zend_Application */
require_once '../../library/Zend/Application.php';  

// Create application, bootstrap, and run
$application = new Zend_Application(
    APPLICATION_ENV,
    APPLICATION_PATH . '/configs/application.ini'
);

$application-&gt;bootstrap()
            -&gt;run();
</pre>
<p>Tip 3 配置文件<br />
ZF生成的application.ini文件位于/application/configs/下, 这个目录也经常会放其他配置文件，如route，i18n等。<br />
配置文件一定不能乱了。我们按照dev, prod两种环境来配置。</p>
<pre class="brush: plain; title: ; notranslate">
[general]
;includePaths.library = APPLICATION_PATH &quot;/../../library&quot;
bootstrap.path = APPLICATION_PATH &quot;/Bootstrap.php&quot;
bootstrap.class = &quot;Bootstrap&quot;
resources.frontController.controllerDirectory = APPLICATION_PATH &quot;/controllers&quot;

;database
resources.db.adapter = &quot;PDO_MYSQL&quot;
resources.db.isdefaulttableadapter = true
resources.db.params.driver_options.1002 = &quot;SET NAMES UTF8;&quot;

[development : general]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1

resources.db.params.host = localhost
resources.db.params.username = bravo
resources.db.params.password = Z4wL6h8pA4KS5yDZ
resources.db.params.dbname = bravo

[production : general]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0

resources.db.params.host = 127.0.0.1
resources.db.params.username = test
resources.db.params.password = test
resources.db.params.dbname = test
</pre>
<p>Tip 4 AMF 服务的编写<br />
这个很简单。<br />
不需要继承任何类。</p>
<p>顺便说说gateway的提供。ZF中，gateway是一个controller。里面的内容比较常规：</p>
<pre class="brush: php; title: ; notranslate">

&lt;?php

	class GatewayController extends Zend_Controller_Action{

		public function init(){
			$this-&gt;getHelper('ViewRenderer')-&gt;setNoRender();
		}

		public function indexAction(){
			$server = new Zend_Amf_Server();
			$server-&gt;setSession('Bravo');
			Zend_Session::start(); //让amf服务支持session

			$server-&gt;addDirectory(SERVICES_PATH);//index.php中声明的，服务所在的目录
			//类的映射。
			$server-&gt;setClassMap('com.bravo.model.User', 'Brava_Model_User');

			echo($server-&gt;handle());
		}

	}

?&gt;
</pre>
<p>Tip 5 Bootstrap<br />
最主要的是初始化name space和数据库连接</p>
<pre class="brush: php; title: ; notranslate">
	protected function _initAutoload(){
		$autoloader = new Zend_Application_Module_Autoloader(array(
            'namespace' =&gt; 'Bravo',
            'basePath'  =&gt; dirname(__FILE__),
        ));
        return $autoloader;
	}

	protected function _initExtraConfig(){
		$resource = $this-&gt;getPluginResource('db');
		$db = $resource-&gt;getDbAdapter();
		Zend_Registry::set('db',$db);

		Zend_Registry::set('configSection',APPLICATION_ENV);

	}
</pre>
<p>Tip 6 Value Object的传输<br />
最让我头疼的。我现在的做法是，不使用ZF的Model, 直接用DbAdapter.<br />
所以，我在Model里定义的其实是VO.</p>
<p>定义一个Base:</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php

	class Bravo_Model_Base{

		public function setData($place){

			foreach($this as $key=&gt;$value){
				if( array_key_exists($key, $place)){
					$this-&gt;$key = $place[$key];
				}
			}
		}

	}

?&gt;
</pre>
<p>那么， User的Model就是：</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
	class Bravo_Model_User extends Bravo_Model_Base{
		public $_explicitType = 'com.bravo.model.User';

		public $id;
		public $email;
		public $nickname;
		public $passwd;
		public $avatar;

	}
?&gt;
</pre>
<p>在从数据库中取得数据后：</p>
<pre class="brush: php; title: ; notranslate">
		public function getPlace($i){
			$db = Zend_Registry::get('db');

			$select = $db-&gt;select();

			$select-&gt;from('place')
			-&gt;where('place.id='. $i);

			$p = $db-&gt;fetchRow($select);

			$pvo = new Bravo_Model_Place();
                        //就可以这样了
			$pvo-&gt;setData($p);
			return $pvo;
		}
</pre>
<p>下一篇我们说客户端-应该是很简单了。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ityao.com/archives/430/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Efflex-开源的Flex效果库</title>
		<link>http://blog.ityao.com/archives/410</link>
		<comments>http://blog.ityao.com/archives/410#comments</comments>
		<pubDate>Thu, 17 Sep 2009 02:54:52 +0000</pubDate>
		<dc:creator>Daniel Yang</dc:creator>
				<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[他山之石]]></category>
		<category><![CDATA[effect]]></category>
		<category><![CDATA[Efflex]]></category>
		<category><![CDATA[效果]]></category>

		<guid isPermaLink="false">http://blog.ityao.com/?p=410</guid>
		<description><![CDATA[Flex下的效果库，除了Tweener一样的，就很少了。 Efflex提供cover flow, cube, flint, pixelate等效果，可以让我们的flex应用多那么一点色彩。 项目：http://www.efflex.org/ Efflex Explorer：http://www.efflex.org/EfflexExplorer.html 一个PPT：http://www.efflex.org/Flex%20Effects.pdf 开源：http://code.google.com/p/efflex/]]></description>
			<content:encoded><![CDATA[<p>Flex下的效果库，除了Tweener一样的，就很少了。<br />
Efflex提供cover flow, cube, flint, pixelate等效果，可以让我们的flex应用多那么一点色彩。</p>
<p><span id="more-410"></span></p>
<p>项目：<a href="http://www.efflex.org/" target="_blank">http://www.efflex.org/</a></p>
<p>Efflex Explorer：<a href="http://www.efflex.org/EfflexExplorer.html" target="_blank">http://www.efflex.org/EfflexExplorer.html</a></p>
<p>一个PPT：<a href="http://www.efflex.org/Flex%20Effects.pdf" target="_blank">http://www.efflex.org/Flex%20Effects.pdf</a></p>
<p>开源：<a href="http://code.google.com/p/efflex/" target="_blank">http://code.google.com/p/efflex/</a></p>
<p>
<object width="800" height="600">
<param name="movie" value="http://www.efflex.org/EfflexExplorer.swf"></param>
<param name="quality" value="high"></param>
<param name="wmode" value="window"></param>
<param name="menu" value="false"></param>
<param name="bgcolor" value="#FFFFFF"></param>
<embed type="application/x-shockwave-flash" width="800" height="600" src="http://www.efflex.org/EfflexExplorer.swf" quality="high" bgcolor="#FFFFFF" wmode="window" menu="false" ></embed>
</object>
</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ityao.com/archives/410/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>FlexBook和Zoomer</title>
		<link>http://blog.ityao.com/archives/399</link>
		<comments>http://blog.ityao.com/archives/399#comments</comments>
		<pubDate>Wed, 16 Sep 2009 14:59:19 +0000</pubDate>
		<dc:creator>Daniel Yang</dc:creator>
				<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[资源共享]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[pageflip]]></category>
		<category><![CDATA[quietscheming]]></category>
		<category><![CDATA[zoomer]]></category>

		<guid isPermaLink="false">http://blog.ityao.com/?p=399</guid>
		<description><![CDATA[Quietly Scheming的Ely Greenfield的却是个大牛。他的qs控件都实用，很先进。他似乎对多媒体制作很在行，对效果很在行。 这个实例主要介绍了两个控件的用法：FlexBook，Zoomer。 在研究其他的类PageFlip控件时候，发现一个问题，Page view->Detail view的转换（查看一页上的详细内容）总显得不自然。 这个实例中，当你点击页面上的一个缩略图时候，整个页面都会缩放。 我借用他的实例，写了一个实例。和大家共享。 点击下载 或者这里下载]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.quietlyscheming.com/blog/" target="blank">Quietly Scheming</a>的Ely Greenfield的却是个大牛。他的qs控件都实用，很先进。他似乎对多媒体制作很在行，对效果很在行。<br />
<a href="http://blog.ityao.com/wp-content/uploads/2009/09/Screen-shot-2009-09-16-at-10.33.11-PM.png"><img src="http://blog.ityao.com/wp-content/uploads/2009/09/Screen-shot-2009-09-16-at-10.33.11-PM-300x143.png" alt="Screen shot 2009-09-16 at 10.33.11 PM" title="Screen shot 2009-09-16 at 10.33.11 PM" width="300" height="143" class="alignnone size-medium wp-image-402" /></a></p>
<p>这个实例主要介绍了两个控件的用法：FlexBook，Zoomer。<br />
在研究其他的类PageFlip控件时候，发现一个问题，Page view->Detail view的转换（查看一页上的详细内容）总显得不自然。<br />
这个实例中，当你点击页面上的一个缩略图时候，整个页面都会缩放。</p>
<p><span id="more-399"></span></p>
<p>我借用他的实例，写了一个实例。和大家共享。<br />
<a href='http://blog.ityao.com/wp-content/uploads/2009/09/FunAlbum.zip'>点击下载</a><br />
<a href="http://www.slingfile.com/file/S5wRyTKgL8" target="blank">或者这里下载</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ityao.com/archives/399/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[仅供研究]Outsmart的Videoroom</title>
		<link>http://blog.ityao.com/archives/360</link>
		<comments>http://blog.ityao.com/archives/360#comments</comments>
		<pubDate>Tue, 15 Sep 2009 15:28:14 +0000</pubDate>
		<dc:creator>Daniel Yang</dc:creator>
				<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[他山之石]]></category>
		<category><![CDATA[杂七杂八]]></category>
		<category><![CDATA[资源共享]]></category>

		<guid isPermaLink="false">http://blog.ityao.com/?p=360</guid>
		<description><![CDATA[Outsmart是一流的flex ria开发公司。位于新西兰。 大家都对Videoroom那个例子印象很深。 Outsmart去年也推出了他们的一个在线3d游戏网站: smallworlds.com 为了学习一下，我把代码给反编译了一下。看了一遍，受益匪浅。 现在共享给大家，希望大家抱着学习的目的。看看强人门的脑子是怎么个转法。 （代码有工作不正常的地方，请自己研究。如用于学习以外的其他用途，责任自负。） 下载源码(可以直接导入)]]></description>
			<content:encoded><![CDATA[<p>Outsmart是一流的flex ria开发公司。位于新西兰。<br />
大家都对<a href="http://dev.getoutsmart.com/os3d/demos/videoroom/" target="blank">Videoroom那个例子</a>印象很深。</p>
<p>Outsmart去年也推出了他们的一个在线3d游戏网站: smallworlds.com<br />
<a href="http://blog.ityao.com/wp-content/uploads/2009/09/Screen-shot-2009-09-15-at-11.14.46-PM.png"><img class="alignnone size-medium wp-image-363" title="Screen shot 2009-09-15 at 11.14.46 PM" src="http://blog.ityao.com/wp-content/uploads/2009/09/Screen-shot-2009-09-15-at-11.14.46-PM-300x169.png" alt="Screen shot 2009-09-15 at 11.14.46 PM" width="300" height="169" /></a></p>
<p><span id="more-360"></span></p>
<p>为了学习一下，我把代码给反编译了一下。看了一遍，受益匪浅。<br />
现在共享给大家，希望大家抱着学习的目的。看看强人门的脑子是怎么个转法。</p>
<p>（代码有工作不正常的地方，请自己研究。如用于学习以外的其他用途，责任自负。）<br />
<a href="http://blog.ityao.com/wp-content/uploads/2009/09/Fanmili.zip">下载源码(可以直接导入)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ityao.com/archives/360/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>求mx:TextArea内容的高度</title>
		<link>http://blog.ityao.com/archives/281</link>
		<comments>http://blog.ityao.com/archives/281#comments</comments>
		<pubDate>Mon, 14 Sep 2009 12:58:23 +0000</pubDate>
		<dc:creator>Daniel Yang</dc:creator>
				<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[textarea]]></category>
		<category><![CDATA[控件]]></category>

		<guid isPermaLink="false">http://blog.ityao.com/?p=281</guid>
		<description><![CDATA[有时候我们需要求得一个mx:TextArea内文字的的总高度，比如，根据文字多少，让TextArea自己决定高度（self-resizable textarea）]]></description>
			<content:encoded><![CDATA[<p>有时候我们需要求得一个mx:TextArea内文字的的总高度，比如，根据文字多少，让TextArea自己决定高度（self-resizable textarea）</p>
<p><span id="more-281"></span></p>
<pre class="brush: as3; title: ; notranslate">
&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; layout=&quot;absolute&quot;&gt;
	&lt;mx:Script&gt;
		&lt;![CDATA[			

			private function getHeight():void{
				var o_height:Number=0;

				for(var i:int=0; i &lt; ta.mx_internal::getTextField().numLines; i++) {
					o_height += ta.mx_internal::getTextField().getLineMetrics(i).height;
				}

				trace(o_height);
			}

		]]&gt;
	&lt;/mx:Script&gt;

	&lt;mx:TextArea id=&quot;ta&quot; width=&quot;200&quot; x=&quot;108&quot; y=&quot;63&quot;&gt;

	&lt;/mx:TextArea&gt;
	&lt;mx:Button x=&quot;108&quot; y=&quot;115&quot; label=&quot;Get Height&quot; click=&quot;getHeight();&quot;/&gt;
&lt;/mx:Application&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.ityao.com/archives/281/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>妖怪来啦</title>
		<link>http://blog.ityao.com/archives/251</link>
		<comments>http://blog.ityao.com/archives/251#comments</comments>
		<pubDate>Fri, 11 Sep 2009 16:25:25 +0000</pubDate>
		<dc:creator>Daniel Yang</dc:creator>
				<category><![CDATA[平面设计]]></category>
		<category><![CDATA[杂七杂八]]></category>
		<category><![CDATA[it妖怪]]></category>

		<guid isPermaLink="false">http://blog.ityao.com/?p=251</guid>
		<description><![CDATA[哇卡卡]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.ityao.com/wp-content/uploads/2009/09/ityao_logo_1.png"><img class="alignnone size-full wp-image-252" title="ityao_logo_1" src="http://blog.ityao.com/wp-content/uploads/2009/09/ityao_logo_1.png" alt="ityao_logo_1" width="600" height="300" /></a></p>
<p>哇卡卡</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ityao.com/archives/251/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

