<?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>d.CAT- the RIA blog &#187; tutorials</title>
	<atom:link href="http://ria.richtechmedia.com/category/%e9%8f%88%e7%b5%90/tutorials/feed/" rel="self" type="application/rss+xml" />
	<link>http://ria.richtechmedia.com</link>
	<description>a dedicated Flash&#124;Flex Rich Internet Application Blog from a senior Flex RIA developer/instructor</description>
	<lastBuildDate>Sun, 10 Jan 2010 11:37:44 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>unit test 與 AsUnit 3.0 &#8211; 關於 testing 與 test-driven的兩三事  (3/3)</title>
		<link>http://ria.richtechmedia.com/2005/11/16/unit-test-%e8%88%87-asunit-30-%e9%97%9c%e6%96%bc-testing-%e8%88%87-test-driven%e7%9a%84%e5%85%a9%e4%b8%89%e4%ba%8b-33/</link>
		<comments>http://ria.richtechmedia.com/2005/11/16/unit-test-%e8%88%87-asunit-30-%e9%97%9c%e6%96%bc-testing-%e8%88%87-test-driven%e7%9a%84%e5%85%a9%e4%b8%89%e4%ba%8b-33/#comments</comments>
		<pubDate>Wed, 16 Nov 2005 03:33:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[engineering]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[tutorials]]></category>

		<guid isPermaLink="false">http://ria.richtechmedia.com/?p=295</guid>
		<description><![CDATA[testing這件事對許多工程師來說都是：知道它很重要，但從來不覺得應該去做。
在瞭解如何使用 AsUnit這樣一個 test framework後，接者就可以來談談目前一般人進行testing的方式。
比較傳統的做法是先寫程式，然後再做 unit test，也就是程式碼寫好後再用一堆 test case去驗証它的正確性，這種做法初看是非常合理的，也符合一般常見的專案開發流程，先規畫、再寫code、最後測試，然後上線(我們就叫這種為 waterfall開發法)
但這種做法也有不少的缺點，最明顯的一個就是等到全部的code都寫好時才要進行測試，往往會覺得無從下手，因此此時可能已經有數十個class，而且彼此的關連極深，根本不知道該怎麼測起，搞不好連當初寫的工程師自已都忘了某個class是做什麼用的(別笑，你試試看自已寫個class不加註解，然後半年後再拿出來，看看你還能記得多少內容或理解它在做什麼)。
另一個麻煩就是此時才進行測試，即使發現了錯誤，恐怕也很難修改，或是能改但成本變的很大，因為這時一改恐怕就要牽動好幾個其它class，天知道改了這裏其它地方會不會爆炸。
有鑑於此，90年代未期開始出現一種新的聲音，強調不如在寫程式前先把 test case寫好，然後再以通過測試為目標去開發程式，這就是所謂的 test-driven design。
舉個簡單的例子，以前面的money class為例，傳統的劇情是這樣：
1、我希望這個class可以加總兩筆金額，例如原本3元，加上5元後得到結果 8元
2、然後開始寫 Money.addMoney() 這支method：function addMoney(){....}
3、寫好後用幾組不同的數字傳入 addMoney() 去看看結果是否正確
而在 test-driven的劇情則是這樣：
1、我希望這個class可以加總兩筆金額，例如原本3元，加上5元後得到結果 8元
2、接者我先寫些測試的case 做為將來測試使用，例如 
PLAIN TEXT
Actionscript:




var money2:Money = new Money&#40; pounds2, pence2 &#41;;


var money3:Money = money.addMoney&#40; money2 &#41;


assertEquals&#40; "Pounds should be 6", 6, money3.pounds &#41;; 






3、然後開始寫 Money.addMoney() 這支method：function addMoney(){....}
但由於我已經知道將來會怎麼測試它，因此在寫的過程中就會特別留意傳入的參數與回傳的資料型態等細節要符合這個測試的期盼。
在 test-driven 的開發手法下，工程師寫程式是為了能百分之百通過 test case，因此在整個開發過程中就有了明確的依歸，只要test case有要求，就要在程式碼裏面完成(而且一定要完成)，而 test case [...]]]></description>
		<wfw:commentRss>http://ria.richtechmedia.com/2005/11/16/unit-test-%e8%88%87-asunit-30-%e9%97%9c%e6%96%bc-testing-%e8%88%87-test-driven%e7%9a%84%e5%85%a9%e4%b8%89%e4%ba%8b-33/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>unit test 與 AsUnit 3.0 &#8211; tutorial  (2/3)</title>
		<link>http://ria.richtechmedia.com/2005/11/15/unit-test-%e8%88%87-asunit-30-tutorial-23/</link>
		<comments>http://ria.richtechmedia.com/2005/11/15/unit-test-%e8%88%87-asunit-30-tutorial-23/#comments</comments>
		<pubDate>Tue, 15 Nov 2005 03:02:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[engineering]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[tutorials]]></category>

		<guid isPermaLink="false">http://ria.richtechmedia.com/?p=296</guid>
		<description><![CDATA[目前 asUnit的最新版是 asUnit 3.0.1 alpha，據兩位負責人說這是多年以來最大的改版，完全使用 actionscirpt 3 語法，並且忠實的照者 JUnit 去刻出一樣的功能，因此對大部份熟悉 JUnit使用方式的工程師來說，只要記得把 type 改成放後面並加上 : 就可以直接開工了。
下面簡單說明一下 asUnit 3的用法。
假設你有一個叫做 Money的class，它的功能是用來加減運算金額的數目
(note:這個程式是從 as2unit裏面借來的，我將它改寫成AS3 語法並修掉一些錯誤以通過測試)
PLAIN TEXT
Actionscript:




package&#123;


&#160; &#160; 


&#160; &#160; class Money&#160;&#123;


&#160; &#160; &#160; &#160; 


&#160; &#160; &#160; &#160; private var __pounds:Number;


&#160; &#160; &#160; &#160; private var __pence:Number


&#160; &#160; &#160; &#160; 


&#160; &#160; &#160; &#160; public function Money&#40; pounds:Number, pence:Number &#41;


&#160; [...]]]></description>
		<wfw:commentRss>http://ria.richtechmedia.com/2005/11/15/unit-test-%e8%88%87-asunit-30-tutorial-23/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>unit test 與 AsUnit 3.0 &#8211; 介紹  (1/3)</title>
		<link>http://ria.richtechmedia.com/2005/11/14/unit-test-%e8%88%87-asunit-30-%e4%bb%8b%e7%b4%b9-13/</link>
		<comments>http://ria.richtechmedia.com/2005/11/14/unit-test-%e8%88%87-asunit-30-%e4%bb%8b%e7%b4%b9-13/#comments</comments>
		<pubDate>Mon, 14 Nov 2005 03:30:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[engineering]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[tutorials]]></category>

		<guid isPermaLink="false">http://ria.richtechmedia.com/?p=294</guid>
		<description><![CDATA[unit test在專業的軟體開發過程中一直是非常非常重要的一環，透過一個有系統的方式來檢測程式碼的正確度可說是軟體開發最低限度的要求。
但到目前為止，10 個flash coders裏大概有 11 個都是用唯一的一種方式來做所謂的 test : CTRL-Enter，也就是 test movie來執行電影，然後看看output panel裏有無出現錯誤。(呃，如果你不屬於這11個，並且已經在用某種 unit test framework，那請直接跳過這篇文章去做更有意義的事，例如補個眠)
傳統用 test movie做測試對付小型的專案還行有餘力，但當案子發展的越來越大，並且完全走向 class (OO)導向的開發方式時，這種做法就顯的費時費力且不切實際，另一方面，這種測試方法往往要等UI好了才比較能整合起來測試，但往往這時有些根本的錯誤已經種的太深很難再改了。
在java的世界裏，這個問題很早就獲得了解決，他們可以靠一個叫 JUnit的 testing framework 來自動化所有的測試工作，只要簡單的設定與編輯，就可以完整的測試所有class中的每一個method運作是否正常，並且更重要的是，這些test class可以做為日後改版或 refactoring時重要依據，例如每次改完程式碼或refactor一大段code blcok, 就重跑一次test，只要測試能過，就代表剛才做的改變沒問題。 
在Flash的世界中其實也有類似JUnit的東西，幾個檯面上比較知名的(其實是也就只有這幾個啦)
-as2unit:
這是英國的 iteration:two顧問公司所發展的test framework,，as2unit的基礎架構是照者 JUnit翻版而來，但它只保留了幾個重要的部份，因此功能上不是非常完整。btw,  這家公司日前才剛被macromedia收購成為 Macromedia Europe Consulting (MEC)。
-as2lib：
這是最早期出現的一個全能型 library，裏面也包含了一個小型的 unit test library，但由於太冷門一直無法成為主流。
-flex unit：
這也是 iteration:two推出的project，但主要是針對 flex 做 unit test，只是隨者 flex 2的出現(與伴隨而來的大改良)，這個project結束的日子應該不遠了。
而本文要介紹的，則是由macromedia官方支援(金援)發展的正宗JUnit flash-port版：
AsUnit
asUnit也是一個open source的testing framework, 並且也存了在相當長一段時間，但由於一年前macromedia正式加入這個proejct，並且提供足夠的經費供他們做研發，因此他們順利的成為第一個支援Actionscript 3 的 [...]]]></description>
		<wfw:commentRss>http://ria.richtechmedia.com/2005/11/14/unit-test-%e8%88%87-asunit-30-%e4%bb%8b%e7%b4%b9-13/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash Remoting 教學 4 &#8211; 使用flash remoting Authenticate</title>
		<link>http://ria.richtechmedia.com/2005/08/01/flash-remoting-%e6%95%99%e5%ad%b8-4-%e4%bd%bf%e7%94%a8flash-remoting-authenticate/</link>
		<comments>http://ria.richtechmedia.com/2005/08/01/flash-remoting-%e6%95%99%e5%ad%b8-4-%e4%bd%bf%e7%94%a8flash-remoting-authenticate/#comments</comments>
		<pubDate>Mon, 01 Aug 2005 08:29:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[tutorials]]></category>

		<guid isPermaLink="false">http://ria.richtechmedia.com/?p=205</guid>
		<description><![CDATA[◆flash remoting的安全考量
Flash remoting是很快很方便的client/server連線方式，但由於flash swf本身很容易被破解，因此基本上任何人都可以知道server端的business delegate class名稱與method。
大家可以假想下列情況，如果在server上有一個MyClass 的component, 裏面有 deleteUserById($id)這支function，而現在hacker透過反組譯swf檔知道下列資訊：
Server ip: http://xxx.xxx.xxx.xxx
Component: /Test/MyClass.php
Function: deleteUserById()
他是否就可以開始跑迴圈將資料庫內的資料一筆筆刪除呢？
理論上這是可行的，即使你的程式設計中已經有login的手續，還是可以很輕易的繞過這個檢查而直攻server上的components. 
以往在coldfusion/jrun使用flash remoting時，我們可以使用內建的role與authenticate功能，配合flash 端的setCredential來做每次method call的認証，但在amfphp v1.0之前這個功能一直是很穩定的維持爛掉的狀態，不論怎麼設定role或credential都不會有反應，好在這次patrick終於將整個功能都弄好了。
本文將介紹如何使用 flash remoting的 Authenticate class做安全認証。
◆Authentication 的方式
Amfphp進行authentication 的方式一樣是透過method table來設定，請看下列程式碼。
PLAIN TEXT
PHP:




function AuthClass&#40;&#41;


&#160; &#160; &#123;


&#160; &#160; &#160; &#160; $this-&#62;methodTable = array&#40;


&#160;


&#160; &#160; &#160; &#160; &#160; &#160; "getPerson" =&#62; array&#40;


&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; "description" =&#62; "Describe here your [...]]]></description>
		<wfw:commentRss>http://ria.richtechmedia.com/2005/08/01/flash-remoting-%e6%95%99%e5%ad%b8-4-%e4%bd%bf%e7%94%a8flash-remoting-authenticate/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Flash Remoting 教學 3 &#8211; 透過flash remoting使用 web service</title>
		<link>http://ria.richtechmedia.com/2005/08/01/flash-remoting-%e6%95%99%e5%ad%b8-3-%e9%80%8f%e9%81%8eflash-remoting%e4%bd%bf%e7%94%a8-web-service/</link>
		<comments>http://ria.richtechmedia.com/2005/08/01/flash-remoting-%e6%95%99%e5%ad%b8-3-%e9%80%8f%e9%81%8eflash-remoting%e4%bd%bf%e7%94%a8-web-service/#comments</comments>
		<pubDate>Mon, 01 Aug 2005 07:06:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[tutorials]]></category>

		<guid isPermaLink="false">http://ria.richtechmedia.com/?p=204</guid>
		<description><![CDATA[◆flash使用web service 的三種方式
Web service是近五年來非常火紅的資料交換方式，幾乎各大技術平台都有完整的支援方案，flash自然也不例外。
從早期 5.0時又慢又不穩定的xml object到現在7.0快速又穩定的內建核心，flash支援Web service的苦心大家都看得見。
在flash裏使用web service一般有三種方式：
1、	使用web service connector: 在pro版裏有內建這個連線元件，只要簡單在面板上勾選設並填入wsdl就可以進行連線，並且傳回值也可透過data binding或DataSet等元件做進一步處理再bind到UI元件上。
2、	直接使用 web service classes, 一般進行專案時為了能完全掌控Web service object的運作，通常都會選擇直接操作web service class並且建立個ws object來進行連線，然後手工處理傳回值；這個方法聽起來似乎很累人不過由於彈性大選擇多所以還是有好處的。
3、最後一種方式就是透過flash remoting當媒人，先將Web service request傳給server端的remoting gateway, 然後由server去delegate轉向遠端發出Web service請求。這樣做主要的好處有兩個：
-flash player有所謂的sandbox security限制，如果要連線到不同domain的位址往往會出現錯誤訊息，此時要不得一個個手工設定allowDomain，要不就是使用policy xml，但如果透過server端的remoting gateway當媒人的話就不會有domain相異的問題。
-另一個好處就是remoting gateway會自動將傳回值轉換成flash native object，例如最常見的就是 Array, Associative Array，方便直接使用。
當然使用第三種方法也是有缺點的，最明顯的就是連線時多了一道手續，因此會拖慢一些時間，第二個則是所有的request都會透過server端先處理，一來增加server的loading，二來也消耗server的頻寬，因此是否要採用此方法變成是一個高層次的design decision。
本文的目地是教會大家使用這種技巧，但實務上是否採用就請自行判斷囉！
◆透過 flash remoting 使用web service
要透過remoting gateway使用web service 有幾個地方要特別注意：
-由於所有的web service都是過server去轉介，因此server端一定要俱備web service client的能力。這對使用Java, Php平台的人來說更為重要，因為它不像.NET是天生俱備的。
-php 5(windows版)開始正式內建一個 Soap dll，此dll是用C語言撰寫，因此理論上比之前使用NuSoap或其它Soap Library的方案更為快速穩定，但它需要經過一些設定手續才能正式啟用。
◆php的設定
本文使用的平台為 windows xp [...]]]></description>
		<wfw:commentRss>http://ria.richtechmedia.com/2005/08/01/flash-remoting-%e6%95%99%e5%ad%b8-3-%e9%80%8f%e9%81%8eflash-remoting%e4%bd%bf%e7%94%a8-web-service/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Flash Remoting 教學 1 &#8211; 下載、安裝與hello world</title>
		<link>http://ria.richtechmedia.com/2005/08/01/flash-remoting-%e6%95%99%e5%ad%b8-1-%e4%b8%8b%e8%bc%89%e3%80%81%e5%ae%89%e8%a3%9d%e8%88%87hello-world/</link>
		<comments>http://ria.richtechmedia.com/2005/08/01/flash-remoting-%e6%95%99%e5%ad%b8-1-%e4%b8%8b%e8%bc%89%e3%80%81%e5%ae%89%e8%a3%9d%e8%88%87hello-world/#comments</comments>
		<pubDate>Sun, 31 Jul 2005 16:38:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[tutorials]]></category>

		<guid isPermaLink="false">http://ria.richtechmedia.com/?p=203</guid>
		<description><![CDATA[◆flash remoting是什麼？
Flash remoting是一種連接flash client 與 server端的技術，它的功用就像是 web service, xml, loadVars一般，可以在兩者之間交換資料，達到動態置換內容的目地。
Flash remoting特別的地方在於它採用macromedia獨家的AMF(Action Message Format)，這是一種 binary format的資料型態，透過 AMF over HTTP的方式將flash端資料編碼後傳回server，server端的remoting adaptor接收到資料後則會解碼回正確的native物件，交給正確的程式處理。
AMF除了用於Flash remoting外，也廣泛的用於 Local Connection 與 Flash communication server，它最大的特色在於可直接將flash native object，例如Object, Array, Date, XML，傳回server端，並且在server端自動進行轉譯成適當的物件，例如flash 的Array傳回PHP時就會自動轉換為 Associative Array；這個特色對開發者最大的好處在於不需要再人工處理serialization 與 deserialization的繁複工作，不但精確度更高，同時開發也更省時間。
由於AMF是binary format並且編碼時經過高度壓縮，因此非常適合用來傳遞大量的資料，根據flashorb網站的測試(主要針對web service與flash remoting)，當資料量越大時，flash remoting的傳輸效能就越高，遠遠超過web service的表現，因此同樣的道理也可得知xml, loadVars, loadVariables 等使用plaine text format的傳輸方式自然也無可比擬。
至於在server端，目前macromedia官方支援的平台有三種，分別是 Java Coldfusion(但實際上Coldfusion應該只算是java的subset，它是一種 scripting tag library)與.NET，但由於AMF格式已被玩家反組譯成功，因此很快的就在Open Source圈出現各種「民間版」的remoting替代方案，其中比較有名的是：
-AMFPHP:  這是php版的remoting
-OPENAMF: java版的remoting
-Flap: [...]]]></description>
		<wfw:commentRss>http://ria.richtechmedia.com/2005/08/01/flash-remoting-%e6%95%99%e5%ad%b8-1-%e4%b8%8b%e8%bc%89%e3%80%81%e5%ae%89%e8%a3%9d%e8%88%87hello-world/feed/</wfw:commentRss>
		<slash:comments>41</slash:comments>
		</item>
		<item>
		<title>Flash Remoting 教學 2 &#8211; Pageable RecordSet</title>
		<link>http://ria.richtechmedia.com/2005/07/31/flash-remoting-%e6%95%99%e5%ad%b8-2-pageable-recordset/</link>
		<comments>http://ria.richtechmedia.com/2005/07/31/flash-remoting-%e6%95%99%e5%ad%b8-2-pageable-recordset/#comments</comments>
		<pubDate>Sun, 31 Jul 2005 08:23:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[tutorials]]></category>

		<guid isPermaLink="false">http://ria.richtechmedia.com/?p=202</guid>
		<description><![CDATA[◆	前言
資料分頁(pageable recordset)一直是網頁應用程式中非常重要的一項技巧，通常工程師不會將大量的資料一次傳回給client，而是將資料先預存在server端，等client需要時再送過去。
在flash remoting 中也同樣提供了這種功能，但以往只有使用Macromedia版的remoting adapter才能正確發揮功能，也就是說如果不是 coldfusion, jrun, remoting for .net之類的正牌產品，這部份功能要不就是不完整，要不就是完全爛掉。
Amfphp 是php版的flash remoting, open source並完全免費。過去amfphp在pageable recordset上的表現可說是非常糟糕，大部份人從來都無法真正實作成功；但隨者patrick加入amfphp開發團隊後，最近amfphp的表現可說是突飛猛進，快速逼進商業產品的水準。
目前最新版的amfphp是 pre-v1.0 milestone 2 (MS2)，也就是v1.0正式發表前的最後一個beta，在這個版本裏終於開始有非常完整的pageable recordset功能。
有鑑於MS2 版中的pageable recordset實作手法有大改變，而目前網路上所有的教學文件都尚未更新，因此本文將以實際的例子介紹如何使用amfphp 的pageable recordset，並詳細解釋它的運作原理與 flash 端 RecordSet 配合的方式。
◆下載與安裝
請參考第一篇教學。
◆pageable recordset運作原理
在正式開始前我們先花點時間瞭解一下到底pageable recordset是怎麼個運作法。
首先，pageable recordset的用途在於，如果你在server端有100筆資料，通常不會全部傳回client端，而是以分頁的方式，例如每頁20筆資料共分五頁，然後當user按「下一頁」時才依序傳回需要的資料。
一般來說要做到pageable recordset有兩種方式：
1、	先在server端將100筆資料 query出來，放在session中備用，然後傳回需要的部份。
2、只先query出總資料量為100筆，然後用類似 mysql limit的語法一次撈20筆出來回傳。
第1種做法好處是可以減少與database連線的次數，並且資料存放於記憶體中理論上存取速度會非常快，但缺點則是session會吃掉大量資源，如果許多user同時連線並個自保有自已的session data，那 app server往往會撐不住而當掉。
第2種做法的好處則是不會消耗大量server資源，它在有需要時才去跟db撈出資料，但缺點也就是要頻繁的與db連線，此時良好的db connection management (pooling)就很重要。
以afmphp來說，它採取的是第2種方式，當 flash client一連線時，它會先query出資料的總筆數並回傳給flash, 之後就由flash內的RecordSet class來負責決定分頁方式與每次的取回資料量。
因此從這個描述中，大家可以感覺到整個pageable recordset的運作原理是需要下面兩者交互配合才能達成。
1、amfphp的分頁query功能
2、flash RecordSet 的分頁取回功能 
有了基本認識後，接下來我們就開始實作吧。
◆flash 製作
首先我們製作好flash client 端的檔案，這個程式很簡單，只要拉一個 DataGrid與button元件到畫面上即可。

程式碼的部份如下：
PLAIN TEXT
Actionscript:




//remoting related


import [...]]]></description>
		<wfw:commentRss>http://ria.richtechmedia.com/2005/07/31/flash-remoting-%e6%95%99%e5%ad%b8-2-pageable-recordset/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Flash Remoting 教學 &#8211; 前言</title>
		<link>http://ria.richtechmedia.com/2005/07/31/flash-remoting-%e6%95%99%e5%ad%b8-%e5%89%8d%e8%a8%80/</link>
		<comments>http://ria.richtechmedia.com/2005/07/31/flash-remoting-%e6%95%99%e5%ad%b8-%e5%89%8d%e8%a8%80/#comments</comments>
		<pubDate>Sun, 31 Jul 2005 08:04:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[tutorials]]></category>

		<guid isPermaLink="false">http://ria.richtechmedia.com/?p=201</guid>
		<description><![CDATA[最近在重新整理RIA的教材，把過去一年新完成的教學範例整理成教材型式並加上註解，同時也針對RIA中最重要的連線方式 flash remoting重新撰寫一系列的講義。
這系列的入門教學將包括下列主題：
1、	Flash remoting(AMFPHP) 介紹、安裝與hello world範例 
2、	AMFPHP Pageable Recordset 應用
3、	AMFPHP web serivces應用
4、	AMFPHP Authentication &#038; Authorization 
目前已完成第1, 2, 4項，隨者病情急速好轉，照目前寫作速度判斷，預估再兩小時應該就會全部寫完  
note:有朋友來信問到，google上已經可查到一票的remoting教學範例，幹麻浪費時間再寫一次？答案很簡單，一來這是做為下半年度RIA班學生的講義，二來是amfphp 1.0 在實作上許多地方都已經改掉，目前網路上大部份教學與範例都還是針對 0.53 or 0.91版，因此許多範例都已經不能執行了。
所有教學皆內含範例檔案與程式註解，歡迎下載使用，但請注意版權，如轉戴請遵守Creative Common s 2.5的規範。
]]></description>
		<wfw:commentRss>http://ria.richtechmedia.com/2005/07/31/flash-remoting-%e6%95%99%e5%ad%b8-%e5%89%8d%e8%a8%80/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
