<?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>func09 &#187; flash</title>
	<atom:link href="http://www.func09.com/wordpress/archives/tag/flash/feed" rel="self" type="application/rss+xml" />
	<link>http://www.func09.com/wordpress</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Mon, 06 Feb 2012 04:25:55 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>FLASHer のためのSinatra入門 [導入編]</title>
		<link>http://www.func09.com/wordpress/archives/764</link>
		<comments>http://www.func09.com/wordpress/archives/764#comments</comments>
		<pubDate>Tue, 16 Feb 2010 08:33:01 +0000</pubDate>
		<dc:creator>haga</dc:creator>
				<category><![CDATA[flash]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[sinatra]]></category>
		<category><![CDATA[未分類]]></category>
		<category><![CDATA[erb]]></category>

		<guid isPermaLink="false">http://www.func09.com/wordpress/?p=764</guid>
		<description><![CDATA[はじめに こんにちはーFlasherのみなさん。 すっかりRuby記事ばっかりなのに、いまだにブログ訪問者の大半はFlasherらしいこのブログ。 久しぶりにFLASHerのための記事を書けそうです。 今日とりあげるのは [...]]]></description>
			<content:encoded><![CDATA[<h2>はじめに</h2>

<p>こんにちはーFlasherのみなさん。<br />
すっかりRuby記事ばっかりなのに、いまだにブログ訪問者の大半はFlasherらしいこのブログ。<br />
久しぶりにFLASHerのための記事を書けそうです。</p>

<p>今日とりあげるのは<a href="http://www.sinatrarb.com/">Sinatra</a>というRubyで作られた超シンプルなフレームワークです。<br /></p>

<div class="codecolorer-container text blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">require 'rubygems'<br />
require 'sinatra'<br />
get '/hi' do<br />
&nbsp; &quot;Hello World!&quot;<br />
end</div></div>

<p>このたった5行で、http://localhost:4567/hi にアクセスすると「Hello World!」というテキストを返すAPIサーバがローカルPC上に完成するんだ。</p>

<p>Rubyがわからなくたって、どんなプログラムなのか一目瞭然だ。シンプルだと思わないかい？<br />
<strong>今回はこのシンプルなSinatraを使って、あなたのFlash案件に使える、より本番に近いモックAPIサーバを作ろうというお話です。</strong></p>

<p><span id="more-764"></span></p>

<h2>この記事の対象者</h2>

<ul>
<li>サーバ連携なFlash案件が多いFlash開発者</li>
<li>Macユーザー（Windowsの人もインストール編以外は共通だと思う）</li>
<li>ターミナル.appが少しは触れる人（達人じゃなくてよい）</li>
</ul>

<h2>今回のシチュエーション</h2>

<p>FlashでToDo管理アプリを作ることになった。
まずはToDoの一覧をサーバからXMLで取得して、それが表示できるようにしたい。</p>

<p>APIのURLと、どんなXMLが返ってくるかは決まっているんだけど、肝心なサーバ側は完成していないどころかリリース前日には出来上がるスケジュールらしい。
こうなったら自分でダミーAPIを用意しながら開発するしかない。</p>

<p>ToDo一覧を取得するAPIと返ってくるXMLのサンプル<br />
<strong>http://example.jp/api/todolist</strong></p>

<div class="codecolorer-container text blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;<br />
&lt;todos&gt;<br />
&nbsp; &lt;todo id=‘1’&gt;<br />
&nbsp; &nbsp; &lt;title&gt;牛乳を買って帰る&lt;/title&gt;<br />
&nbsp; &lt;/todo&gt;<br />
&nbsp; &lt;todo id=‘2’&gt;<br />
&nbsp; &nbsp; &lt;title&gt;企画書を提出する&lt;/title&gt;<br />
&nbsp; &lt;/todo&gt;<br />
&lt;/todos&gt;</div></div>

<h2>効率よく開発を進めるためのFlashの設計</h2>

<p>さて、上記のようなシチュエーションの場合、ローカルにダミーXMLを配置して、それを読み込むというのが一番てっとり早い開発手法なんだと思う。
しかしAPIの種類が100種類とか膨大だったり、同じAPIでもパラメーターで返却のバリエーションが変わるとか想定すると、<strong>本番により近いAPIモックを用意できるのがベスト</strong>だ。</p>

<p>例えば本番APIとドメイン以外まったくURLが同じという構成があったら、Flashの設計も随分綺麗になると思うよ。</p>

<div class="codecolorer-container text blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">import flash.events.*;<br />
import flash.net.*;<br />
<br />
// 実行環境をSWF起動時に設定する<br />
var environment:String = 'development';<br />
<br />
// 設定<br />
var setting:Object = {<br />
&nbsp; production: { // 本番用<br />
&nbsp; &nbsp; host: 'http://example.jp'<br />
&nbsp; },<br />
&nbsp; development: { // 開発用<br />
&nbsp; &nbsp; host: 'http://localhost:4567'<br />
&nbsp; }<br />
};<br />
<br />
// ローダー<br />
var request:URLRequest = new URLRequest(setting[environment].host.concat('/api/todolist'));<br />
var loader:URLLoader = new URLLoader();<br />
loader.addEventListener(Event.COMPLETE, function(e:Event) {<br />
&nbsp; trace(URLLoader(e.target).data);&nbsp; &nbsp; &nbsp; &nbsp;<br />
});<br />
loader.load(request);</div></div>

<p>上のコードでは、「environment」変数の中身がdevelopmentなら開発環境用のAPIを、productionなら本番環境用のAPIをリクエストする。</p>

<h2>インストール編</h2>

<p>ここからはSinatraをインストールする話</p>

<p>Sinatraでモックサーバを作るには最低でも以下のようなものが要求されるよ、がんばれ！</p>

<ul>
<li>ターミナル.appの操作</li>
<li>ruby</li>
<li>rubygems</li>
<li>sinatra</li>
</ul>

<p>まずはターミナル.appを起動しよう。Macの「/アプリケーション/ユーティリティ/」に入っている。これを機会にターミナルをDockに入れておいたら周りの同僚に一目おかれるかもね。</p>

<p>起動したらRubyが入っているか確認だ。MacOS10.4くらいからRubyは最初から入っているはず。最新の10.6ならRubyのバージョンは1.8.7のはずだ。</p>

<div class="codecolorer-container text blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">% ruby -v<br />
ruby 1.8.7 (2008-08-11 patchlevel 72) [universal-darwin10.0]</div></div>

<p><a href="http://www.func09.com/wordpress/wp-content/uploads/b6a800e18860f12ebd76a523990cf2c6.jpeg"><img src="http://www.func09.com/wordpress/wp-content/uploads/b6a800e18860f12ebd76a523990cf2c6.jpeg" alt="" title="b6a800e18860f12ebd76a523990cf2c6" width="555" height="383" class="alignnone size-full wp-image-777" /></a></p>

<p>次にrubygemsのバージョン確認。rubygemsはrubyのサードアプリをインストールしたりするための管理ツールだよ。
今回のSinatraもそうだし、有名なRuby on Railsもrubygemsでインストールできるんだ。</p>

<div class="codecolorer-container text blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">% gem -v<br />
1.3.5</div></div>

<p>ひょっとしたらバージョンは1.3.5より低いかも。そのままでも大丈夫だと思うけどアップグレードするなら。</p>

<div class="codecolorer-container text blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">% sudo gem update —system</div></div>

<p>でアップグレードしよう。</p>

<h2>Sinatraのインストール</h2>

<p>さて、RubyGemでお目当てのSinatraをインストールする。ついでに他にも使えそうなライブラリをいれておくよ。</p>

<div class="codecolorer-container text blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">sudo gem install sinatra haml rack shotgun</div></div>

<p>パスワードを要求されるので、自分のアカウントのパスワードを入力しよう。するとインストールが始まる。</p>

<p><a href="http://www.func09.com/wordpress/wp-content/uploads/970982c1dd8150caf002aac66b4a67b6.jpg"><img src="http://www.func09.com/wordpress/wp-content/uploads/970982c1dd8150caf002aac66b4a67b6.jpg" alt="" title="ターミナル — zsh — 65×19-1" width="559" height="385" class="alignnone size-full wp-image-780" /></a></p>

<p>お疲れ様でした！あとはダミーサーバを書くだけだ。</p>

<h2>さぁ、SinatraでダミーAPIを書くんだ！</h2>

<p>ここまで準備ができたら、Flashプロジェクトの中にでもsinatra用のディレクトリ「mock」を作る。全体の構成はこんな感じにしたよ。</p>

<p><a href="http://www.func09.com/wordpress/wp-content/uploads/mytodos.jpg"><img src="http://www.func09.com/wordpress/wp-content/uploads/mytodos.jpg" alt="" title="mytodos" width="505" height="203" class="alignnone size-full wp-image-782" /></a></p>

<p>mockディレクトリの中にapp.rbというテキストファイルを作成して、エディタで以下のように書く。</p>

<div class="codecolorer-container text blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">require 'rubygems'<br />
require 'sinatra'<br />
get '/api/todolist' do<br />
&nbsp; 'Hello World!'<br />
end</div></div>

<p>そして、ターミナルでプロジェクトのmockディレクトリまで移動してサーバを起動しよう。
え？ターミナルでmockディレクトリまで移動ができない？
デスクトップにmytodosプロジェクトフォルダがあるなら</p>

<div class="codecolorer-container text blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">% cd ~/Desktop/mytodos/mock</div></div>

<p>と入力してエンターだ。</p>

<p>それでもわからなかったら、「cd 」とだけ書いて、移動したいフォルダをターミナルへドラッグドロップでもオッケー。</p>

<p>そしてサーバ起動だ。</p>

<div class="codecolorer-container text blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">% ruby app.rb</div></div>

<p><a href="http://www.func09.com/wordpress/wp-content/uploads/4db5c451888a5a100ff25f52c3556d17.jpg"><img src="http://www.func09.com/wordpress/wp-content/uploads/4db5c451888a5a100ff25f52c3556d17.jpg" alt="" title="ターミナル — ruby — 65×19" width="556" height="386" class="alignnone size-full wp-image-784" /></a></p>

<p>こんな感じになってるかな？</p>

<p>なっていれば、君による君だけのAPIサーバが起動した。おめでとう！
そうそう、サーバを止めたい時はCTRL+Cを押すんだよ。</p>

<p>ブラウザで <a href="http://localhost:4567/api/todolist">http://localhost:4567/api/todolist</a>アクセスしてみよう。</p>

<p><a href="http://www.func09.com/wordpress/wp-content/uploads/http___localhost_4567_api_todolist.jpg"><img src="http://www.func09.com/wordpress/wp-content/uploads/http___localhost_4567_api_todolist.jpg" alt="" title="http___localhost_4567_api_todolist" width="518" height="318" class="alignnone size-full wp-image-786" /></a></p>

<p>すごい！完璧だ！サーバサイドエンジニアになれるんじゃないか？！</p>

<h2>モックAPIを作る</h2>

<p>僕らの目的は「Hello World」を表示することじゃない。XMLを返すサーバを作ることだから先を急ぐよ。</p>

<p>mock/app.rbをちょっと変更してきちんとXMLを返すようにしてみるよ</p>

<div class="codecolorer-container text blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">require 'rubygems'<br />
require 'sinatra'<br />
get '/api/todolist' do<br />
&nbsp; content_type 'xml'<br />
&nbsp; erb :api_todolist<br />
end</div></div>

<p>そして、mock/views/api_todolist.erb というファイルを作成して</p>

<div class="codecolorer-container text blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;<br />
&lt;todos&gt;<br />
&nbsp; &lt;todo id='1'&gt;<br />
&nbsp; &nbsp; &lt;title&gt;牛乳を買って帰る&lt;/title&gt;<br />
&nbsp; &lt;/todo&gt;<br />
&nbsp; &lt;todo id='2'&gt;<br />
&nbsp; &nbsp; &lt;title&gt;企画書を提出する&lt;/title&gt;<br />
&nbsp; &lt;/todo&gt;<br />
&lt;/todos&gt;</div></div>

<p>としよう。</p>

<p>ブラウザでアクセスすれば、今度はXMLが返ってくるようになったはずだ。</p>

<p>簡単に説明すると、「content_type ‘xml’」でXMLとしてレスポンスを返すように定義して、
「erb :api_todolist」で views/api_todolist.erbというテンプレートファイルを出力してね。</p>

<p>ということになる。ERBというのはRubyでスタンダードなテンプレートシステムだ。<br />
参考：<a href="http://www.druby.org/ilikeruby/erb.html">http://www.druby.org/ilikeruby/erb.html</a></p>

<h2>もうちょっと高度なことをする</h2>

<p>これじゃローカルにXMLを置くのと変わらないよドラえもーん、と嘆いている、そこののび太くん。
ERBを使えば繰り返しが可能なので、例えば999件のXMLを返したい時はこうだ。</p>

<p>mock/views/api_todolist を修正</p>

<div class="codecolorer-container text blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;<br />
&lt;todos&gt;<br />
&nbsp; &lt;% 999.times do |id| %&gt;<br />
&nbsp; &lt;todo id='&lt;%= id %&gt;'&gt;<br />
&nbsp; &nbsp; &lt;title&gt;牛乳を買って帰る &lt;%= id %&gt;&lt;/title&gt;<br />
&nbsp; &lt;/todo&gt;<br />
&nbsp; &lt;% end %&gt;<br />
&lt;/todos&gt;</div></div>

<p>数値.times do ~ end で数値分繰り返し処理されるのはRuby独特の書き方だ。</p>

<h2>さらに高度なことをする</h2>

<p>単純な繰り返しじゃいやだ！自分でレコードを作りたい！でもデータベースは嫌だ！
OK。ならこうだ。</p>

<p>mock/app.rb修正</p>

<div class="codecolorer-container text blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">require 'rubygems'<br />
require 'sinatra'<br />
get '/api/todolist' do<br />
&nbsp; # TODOの配列を作る %w はRubyの配列式<br />
&nbsp; @todos = %w{<br />
&nbsp; &nbsp; コンビニに寄る<br />
&nbsp; &nbsp; ジャンプを立ち読みする<br />
&nbsp; &nbsp; 牛乳をレジへ持っていく<br />
&nbsp; &nbsp; 178円払う<br />
&nbsp; &nbsp; 店員さんにありがとうと言う<br />
&nbsp; &nbsp; 牛乳を買って帰る<br />
&nbsp; &nbsp; 牛乳を冷蔵庫へしまう<br />
&nbsp; }<br />
&nbsp; content_type 'xml'<br />
&nbsp; erb :api_todolist<br />
end</div></div>

<p>mock/views/api_todolist.erb修正</p>

<div class="codecolorer-container text blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;<br />
&lt;todos&gt;<br />
&nbsp; &lt;% @todos.each_with_index do |todo, id| %&gt;<br />
&nbsp; &lt;todo id='&lt;%= id %&gt;'&gt;<br />
&nbsp; &nbsp; &lt;title&gt;&lt;%= todo %&gt;&lt;/title&gt;<br />
&nbsp; &lt;/todo&gt;<br />
&nbsp; &lt;% end %&gt;<br />
&lt;/todos&gt;</div></div>

<p>app.rbで設定した@todosをテンプレートからアクセスしている。<br />
@todos.each_with_index do |element, index| ~ end という形もRubyでは日常茶飯事に使われる配列の繰り返し方。</p>

<h2>さいごに</h2>

<p>ざっとFLASHerがSinatraを使ってモックサーバを用意する方法を書いてみた。</p>

<p>Sinatra側のコードは書き換える度にサーバを再起動する必要があるから注意してね。
それがめんどくさい場合はshotgunコマンドを使うと、再起動の心配は必要無くなる。</p>

<div class="codecolorer-container text blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">% shotgun app.rb</div></div>

<p>駆け足だったので、もっと具体的なことをしたいとか、これはどーやって実現するんだ？という質問があったら、コメントなりメールなり<a href="http://twitter.com/func09">@func09</a>なりへどうぞ。</p>

<p>それから、モックサーバを作るためにRubyにハマりすぎると、僕みたいにFlasherを引退してまでRubyを書くことになっちゃうからほどほどにね。</p>

<p>enjoy flash and ruby!</p>

<p>参考URL: <a href="http://d.hatena.ne.jp/seiunsky/20091108/1257695951">AS3でちょっとしたサーバサイドのプログラムが必要になる時に毎回書くのが面倒なので、適当に sinatra で書いた</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.func09.com/wordpress/archives/764/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>嫁のFlashアニメが山手線で観れます</title>
		<link>http://www.func09.com/wordpress/archives/619</link>
		<comments>http://www.func09.com/wordpress/archives/619#comments</comments>
		<pubDate>Fri, 19 Jun 2009 03:12:49 +0000</pubDate>
		<dc:creator>haga</dc:creator>
				<category><![CDATA[日記]]></category>
		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://www.func09.com/wordpress/?p=619</guid>
		<description><![CDATA[嫁がFlashアニメで賞金を荒稼ぎしている件 &#8211; func09 http://www.func09.com/wordpress/archives/596 でも紹介したうちの奥さんのアニメが山手線のモニターで今 [...]]]></description>
			<content:encoded><![CDATA[<p>嫁がFlashアニメで賞金を荒稼ぎしている件 &#8211; func09
<a href="http://www.func09.com/wordpress/archives/596">http://www.func09.com/wordpress/archives/596</a></p>

<p>でも紹介したうちの奥さんのアニメが山手線のモニターで今流れているそうです。<br />
山手線に乗る機会があまりないんだけど、見に行きたいなー。</p>

<p>もう見た人とかいますか？</p>

<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/kAgH7qUFjNU&#038;hl=ja&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/kAgH7qUFjNU&#038;hl=ja&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>

<p>gaya-anime: その後のその後<br />
<a href="http://gaya-gaya-gaya.blogspot.com/2009/06/blog-post_15.html">http://gaya-gaya-gaya.blogspot.com/2009/06/blog-post_15.html</a></p>

<p>Pickles weblog | ガヤアニメさんのが山手線で流れていた。<br />
<a href="http://www.pickles.tv/weblog/sb.cgi?eid=711">http://www.pickles.tv/weblog/sb.cgi?eid=711</a></p>

<p>Sandisk様、filmo様、Pickles様、ありがとうございます。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.func09.com/wordpress/archives/619/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>嫁がFlashアニメで賞金を荒稼ぎしている件</title>
		<link>http://www.func09.com/wordpress/archives/596</link>
		<comments>http://www.func09.com/wordpress/archives/596#comments</comments>
		<pubDate>Tue, 26 May 2009 03:05:58 +0000</pubDate>
		<dc:creator>haga</dc:creator>
				<category><![CDATA[flash]]></category>
		<category><![CDATA[日記]]></category>
		<category><![CDATA[anime]]></category>

		<guid isPermaLink="false">http://www.func09.com/wordpress/?p=596</guid>
		<description><![CDATA[filmoというCM作成サイトがあって うちの嫁さんが出す作品出す作品必ず賞を取っている http://filmo.tv/brief/works/?brief_id=2009032401 http://filmo.tv/ [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://filmo.tv/">filmo</a>というCM作成サイトがあって</p>

<p>うちの<a href="http://gaya-gaya-gaya.blogspot.com/">嫁さん</a>が出す作品出す作品必ず賞を取っている</p>

<ul>
<li><a href="http://filmo.tv/brief/works/?brief_id=2009032401">http://filmo.tv/brief/works/?brief_id=2009032401</a></li>
<li><a href="http://filmo.tv/brief/works/?brief_id=2009031201">http://filmo.tv/brief/works/?brief_id=2009031201</a></li>
<li><a href="http://filmo.tv/brief/works/?brief_id=2009021601">http://filmo.tv/brief/works/?brief_id=2009021601</a></li>
<li><a href="http://filmo.tv/brief/works/?brief_id=2009022001">http://filmo.tv/brief/works/?brief_id=2009022001</a></li>
</ul>

<p><a href="http://twitter.com/ai1017">嫁（@ai1017）</a>・・恐ろしい子・・</p>

<hr />

<p>追記：2011/12/20<br />
嫁はお仕事募集中です。<br />
<a href="http://gaya-anime.com/works">http://gaya-anime.com/works</a><br />
是非<a href="mailto:mitsuru.haga@gmail.com">ご相談を</a></p>

<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/ISDkLwtp0Xk&#038;hl=ja&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/ISDkLwtp0Xk&#038;hl=ja&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>

<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/0RxE9IxSGPE&#038;hl=ja&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/0RxE9IxSGPE&#038;hl=ja&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>

<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/ROeSY1tj52E&#038;hl=ja&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/ROeSY1tj52E&#038;hl=ja&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>

<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/OeJZsLBprEU&#038;hl=ja&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/OeJZsLBprEU&#038;hl=ja&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.func09.com/wordpress/archives/596/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

