<?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>Churadesign &#187; GAEO</title>
	<atom:link href="http://www.churadesign.com/tag/gaeo/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.churadesign.com</link>
	<description>system &#38; web design</description>
	<lastBuildDate>Sun, 24 May 2009 13:38:58 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>GAEOアプリをDashcodeでiPhone/iPodTouch対応</title>
		<link>http://www.churadesign.com/2008/12/19/gaeo%e3%82%a2%e3%83%97%e3%83%aa%e3%82%92dashcode%e3%81%a7iphoneipodtouch%e5%af%be%e5%bf%9c/</link>
		<comments>http://www.churadesign.com/2008/12/19/gaeo%e3%82%a2%e3%83%97%e3%83%aa%e3%82%92dashcode%e3%81%a7iphoneipodtouch%e5%af%be%e5%bf%9c/#comments</comments>
		<pubDate>Fri, 19 Dec 2008 14:42:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Article (記事)]]></category>
		<category><![CDATA[GAEO]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[iPodTouch]]></category>

		<guid isPermaLink="false">http://www.churadesign.com/?p=93</guid>
		<description><![CDATA[

Dashcodeすばらしい。iPhone/iPodTouch向けのWEBサイトを簡単に作ることができます。GUIでパーツを配置するだけでデザインの編集ができます。
デバッガ機能も充実していて、ブレークポイント、スタックトレースなど豊富なデバック機能を活用することができます。
今回はGoogleAppEngineOil(GAEO)で作成していたアプリケーションのフロントにiPhone/iPodTouch用のテンプレートを作成しました。
GAEOではBaseControllerに_is_iphoneというフラグを持っているため、今回はiPhone/iPodTouchからのアクセスは/touchというアドレスにリダイレクトします。if self._is_iphone: self.redirect(&#8220;/touch&#8221;)
TouchControllerのindexテンプレートにDashcodeで作成したindex.htmlを設定します。
app.yamlでDashcodeで生成したjsやcss、画像などを正しく読めるように設定します。
iPhone/iPodTouchでデータを取得するには、Dashcodeでmain.jsからXMLHttpRequestを通してデータを取得するようになるため、GAEOからはテキスト/JSON形式でデータを返すようにしました。


def get_hello_data(self):

self.render(text=Hellodata.getTestData())

]]></description>
			<content:encoded><![CDATA[<p><strong><br />
</strong></p>
<p><img class="alignleft size-thumbnail wp-image-95" title="dashcode2" src="http://www.churadesign.com/wp-content/uploads/2008/12/dashcode2-263x320.png" alt="dashcode2" width="263" height="320" />Dashcodeすばらしい。iPhone/iPodTouch向けのWEBサイトを簡単に作ることができます。GUIでパーツを配置するだけでデザインの編集ができます。</p>
<p>デバッガ機能も充実していて、ブレークポイント、スタックトレースなど豊富なデバック機能を活用することができます。</p>
<p>今回はGoogleAppEngineOil(GAEO)で作成していたアプリケーションのフロントにiPhone/iPodTouch用のテンプレートを作成しました。</p>
<p>GAEOではBaseControllerに<strong>_is_iphone</strong>というフラグを持っているため、今回はiPhone/iPodTouchからのアクセスは/touchというアドレスにリダイレクトします。<strong>if self._is_iphone: self.redirect(&#8220;/touch&#8221;)</strong></p>
<p>TouchControllerのindexテンプレートにDashcodeで作成したindex.htmlを設定します。</p>
<p><strong>app.yaml</strong>でDashcodeで生成したjsやcss、画像などを正しく読めるように設定します。</p>
<p>iPhone/iPodTouchでデータを取得するには、Dashcodeで<strong>main.js</strong>から<strong>XMLHttpRequest</strong>を通してデータを取得するようになるため、GAEOからはテキスト/JSON形式でデータを返すようにしました。</p>
<pre class="brush: php">

def get_hello_data(self):

self.render(text=Hellodata.getTestData())
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.churadesign.com/2008/12/19/gaeo%e3%82%a2%e3%83%97%e3%83%aa%e3%82%92dashcode%e3%81%a7iphoneipodtouch%e5%af%be%e5%bf%9c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GoogleAppEngineOil 0.1安定板 0.2アップデート</title>
		<link>http://www.churadesign.com/2008/09/27/googleappengineoil%e3%82%a2%e3%83%83%e3%83%97%e3%83%87%e3%83%bc%e3%83%88/</link>
		<comments>http://www.churadesign.com/2008/09/27/googleappengineoil%e3%82%a2%e3%83%83%e3%83%97%e3%83%87%e3%83%bc%e3%83%88/#comments</comments>
		<pubDate>Sat, 27 Sep 2008 01:58:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Article (記事)]]></category>
		<category><![CDATA[GAE]]></category>
		<category><![CDATA[GAEO]]></category>

		<guid isPermaLink="false">http://www.churadesign.com/?p=78</guid>
		<description><![CDATA[ようやくベータが外れ、GoogleAppEngineOil(GAEO)のバージョン0.1の安定板リリースされています。
更に進行中の0.2には次のような機能が追加されています。
1. respond_toサポート
ルーティングルールに r.connect(&#8216;:controller/:action/:id.:format&#8217;)と書くことで、次のようにrespond_toメソッドを利用できます。

self.respond_to(
html=lambda: self.render(&#039;&#38;amp;amp;amp;amp;lt;h1&#38;amp;amp;amp;amp;gt;Hello World&#38;amp;amp;amp;amp;lt;/h1&#38;amp;amp;amp;amp;gt;&#039;),
js=lambda: self.render(script=&#039;alert(&#34;hello, world&#34;)&#039;)
)

http://www.example.com/foo/bar.htmlの場合は&#60;h1&#62;Hello World&#60;/h1&#62;の行をhttp://example.com/foo/bar.jsの場合はjavascriptの行を実行させることができます。
2. XHRリクエスト判別
GAEOはX-Requested-WithをつかってXMLHttpRequestオブジェクトによってリクエストされたか調べます。
self._is_xhrでTRUE/FALSEを判別できます。
3. renderメソッドにscriptタイプ追加
self.render(script=&#8221;alert(&#8216;!&#8217;&#8221;)のようにして、text/javascriptデータを送信できます。
4. RESTメソッド
self._request_methodを使用して&#8217;get&#8217;, &#8216;put&#8217;, &#8216;head&#8217;などのリクエストメソッドを判別できます。
Railsにできるだけ近づこうとしているのでしょうか。今後ともGAEO楽しみです。
]]></description>
			<content:encoded><![CDATA[<p>ようやくベータが外れ、GoogleAppEngineOil(GAEO)のバージョン0.1の安定板リリースされています。</p>
<p>更に進行中の0.2には次のような機能が追加されています。</p>
<h3>1. respond_toサポート</h3>
<p>ルーティングルールに r.connect(&#8216;:controller/:action/:id.:format&#8217;)と書くことで、次のようにrespond_toメソッドを利用できます。</p>
<pre class="brush: php">
self.respond_to(
html=lambda: self.render(&#039;&amp;amp;amp;amp;amp;lt;h1&amp;amp;amp;amp;amp;gt;Hello World&amp;amp;amp;amp;amp;lt;/h1&amp;amp;amp;amp;amp;gt;&#039;),
js=lambda: self.render(script=&#039;alert(&quot;hello, world&quot;)&#039;)
)
</pre>
<p>http://www.example.com/foo/bar.htmlの場合は&lt;h1&gt;Hello World&lt;/h1&gt;の行をhttp://example.com/foo/bar.jsの場合はjavascriptの行を実行させることができます。</p>
<h3>2. XHRリクエスト判別</h3>
<p>GAEOはX-Requested-WithをつかってXMLHttpRequestオブジェクトによってリクエストされたか調べます。</p>
<p>self._is_xhrでTRUE/FALSEを判別できます。</p>
<h3>3. renderメソッドにscriptタイプ追加</h3>
<p>self.render(script=&#8221;alert(&#8216;!&#8217;&#8221;)のようにして、text/javascriptデータを送信できます。</p>
<h3>4. RESTメソッド</h3>
<p>self._request_methodを使用して&#8217;get&#8217;, &#8216;put&#8217;, &#8216;head&#8217;などのリクエストメソッドを判別できます。</p>
<p>Railsにできるだけ近づこうとしているのでしょうか。今後ともGAEO楽しみです。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.churadesign.com/2008/09/27/googleappengineoil%e3%82%a2%e3%83%83%e3%83%97%e3%83%87%e3%83%bc%e3%83%88/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google App Engine Oil入門1</title>
		<link>http://www.churadesign.com/2008/09/02/googleappengineoil%e3%83%81%e3%83%a5%e3%83%bc%e3%83%88%e3%83%aa%e3%82%a2%e3%83%ab/</link>
		<comments>http://www.churadesign.com/2008/09/02/googleappengineoil%e3%83%81%e3%83%a5%e3%83%bc%e3%83%88%e3%83%aa%e3%82%a2%e3%83%ab/#comments</comments>
		<pubDate>Tue, 02 Sep 2008 07:44:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Article (記事)]]></category>
		<category><![CDATA[GAE]]></category>
		<category><![CDATA[GAEO]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.churadesign.com/?p=60</guid>
		<description><![CDATA[GoogleAppEngineを使い始めたらぜひGoogleAppEigineOilを導入してみましょう。
このオイルはGoogleAppEngineをより簡単に利用するためのMVCフレームワークを提供してくれるため、より少ない設定、コーディングでアプリケーションを作成できるようになります。
Google App Engine Oilのサイトにチュートリアル基本編が用意されているので、それに従ってすすめてみます。
Google App Engine Oilインストール
まずはGoogle App Engine Oilのサイトからgaeo-trunk-rxx.zipファイルをダウンロードし、適当なディレクトリに配置します。私は ~/sdk/gaeoに配置しました。
実行権限を付加します。

chmod +x ~/sdk/gaeo/bin/*

環境変数設定
~/.bashrcを開いて次のようにパスを設定します。

export GAEO_HOME=&#039;/home/ericsk/sdk/gaeo&#039;  # put your installation directory here.
export PATH=&#039;${GAEO_HOME}/bin:${PATH}&#039;

ターミナルを開いて変更を反映します。

source ~/.bashrc

gaeo.pyとタイプして、実行してみましょう。次のように表示されたら正常にインストールできています。エラーが発生した場合は、Pythonのバージョンが2.5以上か確認してみてください。

Usage: /home/ericsk/sdk/gaeo/bin/gaeo.py &#38;amp;amp;amp;amp;amp;amp;amp;amp;lt;project name&#38;amp;amp;amp;amp;amp;amp;amp;amp;gt;

ハローワールド
新しいアプリケーションを早速作成してみましょう。ワーキングディレクトリに移動し、gaeo.py helloとタイプします。

&#38;amp;amp;amp;amp;amp;amp;amp;amp;gt;gaeo.py hello

The &#38;amp;amp;amp;amp;amp;amp;amp;amp;quot;hello&#38;amp;amp;amp;amp;amp;amp;amp;amp;quot; project has been created.

これだけで基本的なアプリケーションが準備されています。
自動生成されたファイル
app.yaml, favicon.ico, main.py
app.yamlとmain.pyがApp Engineアプリケーションのメインファイルとなります。app.yamlとmain.pyを編集してアプリケーションの設定を変更することができます。 favicon.icoは〜のファイルです。ブラウザによって最初にfavicon.icoを取得しようとするので、エラーにログが残るのを防ぐために作成されています。
application/
アプリケーションコード(コントローラー、モデル、テンプレート)がこのディレクトリに配置されます。
assets/
app.yaml内で、画像、スタイルシート、Javascriptファイルのような静的なファイルをそれぞれ、assets/img、assets/css、and assets/js
ディレクトリに配置すると設定しています。foo.pngをassets/imgディレクトリに配置したら、http:///img/foo.pngでアクセスすることができます。スタイルシートやJavascriptファイルも同様です。
gaeo/
Google App Engine Oil(GAEO)のコアライブラリです。新しいGAEOがリリースされれば、このディレクトリを新しいものに置き換えるだけでアップデートすることができます。SVNをつかって常に最新版を利用することもできます。
最新のGAEOライブラリはhttp://google-app-engine-oil.googlecode.com/svn/trunk/gaeo にあります。
GoogleAppEngineLuncherでこのhelloアプリケーションを指定して実行します。
http://localhost:8080/ にアクセスし、正しく動作している事が確認できます。
初期画面に表示されているファイルは/application/template/welcome/index.htmlに置かれています。
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.churadesign.com/2008/08/31/osx%E3%81%A7googleappengine%E3%82%92%E3%81%AF%E3%81%98%E3%82%81%E3%82%8B/">GoogleAppEngineを使い始めたら</a>ぜひ<a href="http://code.google.com/p/google-app-engine-oil/">GoogleAppEigineOil</a>を導入してみましょう。</p>
<p>このオイルはGoogleAppEngineをより簡単に利用するためのMVCフレームワークを提供してくれるため、より少ない設定、コーディングでアプリケーションを作成できるようになります。</p>
<p>Google App Engine Oilのサイトに<a href="http://code.google.com/docreader/#p=google-app-engine-oil-doc&amp;s=google-app-engine-oil-doc&amp;t=GettingStartedBasics">チュートリアル基本編</a>が用意されているので、それに従ってすすめてみます。</p>
<h2>Google App Engine Oilインストール</h2>
<p>まずは<a href="http://code.google.com/p/google-app-engine-oil/">Google App Engine Oil</a>のサイトから<strong>gaeo-trunk-rxx.zip</strong>ファイルをダウンロードし、適当なディレクトリに配置します。私は <strong>~/sdk/gaeo</strong>に配置しました。</p>
<p>実行権限を付加します。</p>
<pre class="brush: php">
chmod +x ~/sdk/gaeo/bin/*
</pre>
<h3>環境変数設定</h3>
<p><strong>~/.bashrc</strong>を開いて次のようにパスを設定します。</p>
<pre class="brush: php">
export GAEO_HOME=&#039;/home/ericsk/sdk/gaeo&#039;  # put your installation directory here.
export PATH=&#039;${GAEO_HOME}/bin:${PATH}&#039;
</pre>
<p>ターミナルを開いて変更を反映します。</p>
<pre class="brush: php">
source ~/.bashrc
</pre>
<p><strong>gaeo.py</strong>とタイプして、実行してみましょう。次のように表示されたら正常にインストールできています。エラーが発生した場合は、Pythonのバージョンが2.5以上か確認してみてください。</p>
<pre class="brush: php">
Usage: /home/ericsk/sdk/gaeo/bin/gaeo.py &amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;project name&amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;
</pre>
<h2>ハローワールド</h2>
<p>新しいアプリケーションを早速作成してみましょう。ワーキングディレクトリに移動し、gaeo.py helloとタイプします。</p>
<pre class="brush: php">
&amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;gaeo.py hello

The &amp;amp;amp;amp;amp;amp;amp;amp;amp;quot;hello&amp;amp;amp;amp;amp;amp;amp;amp;amp;quot; project has been created.
</pre>
<p>これだけで基本的なアプリケーションが準備されています。</p>
<h3>自動生成されたファイル</h3>
<p>app.yaml, favicon.ico, main.py</p>
<p>app.yamlとmain.pyがApp Engineアプリケーションのメインファイルとなります。<strong>app.yaml</strong>と<strong>main.py</strong>を編集してアプリケーションの設定を変更することができます。 favicon.icoは〜のファイルです。ブラウザによって最初にfavicon.icoを取得しようとするので、エラーにログが残るのを防ぐために作成されています。</p>
<p>application/</p>
<p>アプリケーションコード(コントローラー、モデル、テンプレート)がこのディレクトリに配置されます。</p>
<p>assets/</p>
<p>app.yaml内で、画像、スタイルシート、Javascriptファイルのような静的なファイルをそれぞれ、assets/img、assets/css、and assets/js<br />
ディレクトリに配置すると設定しています。foo.pngをassets/imgディレクトリに配置したら、http:///img/foo.pngでアクセスすることができます。スタイルシートやJavascriptファイルも同様です。</p>
<p>gaeo/</p>
<p>Google App Engine Oil(GAEO)のコアライブラリです。新しいGAEOがリリースされれば、このディレクトリを新しいものに置き換えるだけでアップデートすることができます。SVNをつかって常に最新版を利用することもできます。<br />
最新のGAEOライブラリはhttp://google-app-engine-oil.googlecode.com/svn/trunk/gaeo にあります。</p>
<p>GoogleAppEngineLuncherでこのhelloアプリケーションを指定して実行します。</p>
<p>http://localhost:8080/ にアクセスし、正しく動作している事が確認できます。</p>
<p>初期画面に表示されているファイルは<strong>/application/template/welcome/index.html</strong>に置かれています。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.churadesign.com/2008/09/02/googleappengineoil%e3%83%81%e3%83%a5%e3%83%bc%e3%83%88%e3%83%aa%e3%82%a2%e3%83%ab/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
