<?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; Ajax</title>
	<atom:link href="http://hiropo.co.uk/archives/category/ajax/feed" rel="self" type="application/rss+xml" />
	<link>http://hiropo.co.uk</link>
	<description>Web系エンジニアの適当なブログです。どうでも酔いものばかり作ってます。</description>
	<lastBuildDate>Mon, 06 Feb 2012 05:45:41 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Titanium Studio でデスクトップアプリ開発に入門してみた</title>
		<link>http://hiropo.co.uk/archives/693</link>
		<comments>http://hiropo.co.uk/archives/693#comments</comments>
		<pubDate>Fri, 02 Sep 2011 10:05:09 +0000</pubDate>
		<dc:creator>hirohi</dc:creator>
				<category><![CDATA[(X)HTML+CSS]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Aptana]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Titanium]]></category>

		<guid isPermaLink="false">http://hiropo.co.uk/?p=693</guid>
		<description><![CDATA[こんぬつわ。ブログを放置してから早半年弱…。完全に放置してしまいました。 技術的にはいろんなことできるようになったのですが全然メモってませんでした…。 反省してます…。 ということできちんとブログを買いていこうかなと思い &#8230; <a href="http://hiropo.co.uk/archives/693">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>こんぬつわ。ブログを放置してから早半年弱…。完全に放置してしまいました。<br />
技術的にはいろんなことできるようになったのですが全然メモってませんでした…。<br />
反省してます…。</p>
<p>ということできちんとブログを買いていこうかなと思い、最近ちょっとやってみようと思ったのが、Titanium Studio によるデスクトップアプリケーション開発！<br />
なんと、みんなが大好きなHTML5+CSS3+JavaScript+Ruby+Python+PHP と、最近流行のweb系言語がだいたい使えちゃいます。Adobe AIRよりもこっちの方が良いんじゃないかって思ってみたり。</p>
<p>Titanium Studio は、Aptanaを買収し、AptanaとTitaniumががっちゃんこしたもの（？）みたいです。<br />
Titanium はiPhone, Android でクロスデバイス開発をするための開発ツールで、iPhoneアプリやAndroidアプリを開発したことある人は知っているであろうと思うのでここでは割愛します。</p>
<p>それでは早速Titanium Studio でHello Worldしてみます。</p>
<p>まずはTitanium Studioをユーザー登録してダウンロードします。<br />
<a href="http://www.appcelerator.com/" target="_blank">http://www.appcelerator.com/</a></p>
<h3>Titanium Studio を起動し、プロジェクトを新規でつくる</h3>
<p><a href="http://hiropo.co.uk/wp-content/uploads/2011/09/754de3cf2d164ca350e6ca3eea66196c1.png"><img src="http://hiropo.co.uk/wp-content/uploads/2011/09/754de3cf2d164ca350e6ca3eea66196c1.png" alt="" title="CreateProject" width="228" height="125" class="alignnone size-full wp-image-696" /></a></p>
<h3>Titanium Desctop Project をつくる</h3>
<p><a href="http://hiropo.co.uk/wp-content/uploads/2011/09/65da3bfd87ed0a14e1c66afa31b6fa45.png"><img src="http://hiropo.co.uk/wp-content/uploads/2011/09/65da3bfd87ed0a14e1c66afa31b6fa45.png" alt="" title="Titanium Desctop Project" width="527" height="504" class="alignnone size-full wp-image-698" /></a></p>
<h3>Project Name を設定し、使用言語にRuby, Python, PHP をチェック</h3>
<p><a href="http://hiropo.co.uk/wp-content/uploads/2011/09/583944337d08aed0c389ad1165e279fb.png"><img src="http://hiropo.co.uk/wp-content/uploads/2011/09/583944337d08aed0c389ad1165e279fb.png" alt="" title="Use Language" width="532" height="501" class="alignnone size-full wp-image-699" /></a></p>
<h3>アプリケーション情報を設定する</h3>
<p><a href="http://hiropo.co.uk/wp-content/uploads/2011/09/b36f7164a016a593dde3baed5a14b240.png"><img src="http://hiropo.co.uk/wp-content/uploads/2011/09/b36f7164a016a593dde3baed5a14b240.png" alt="" title="Config" width="408" height="475" class="alignnone size-full wp-image-703" /></a></p>
<h3>ソースコードを書くために /Resources/index.html を開く</h3>
<p><a href="http://hiropo.co.uk/wp-content/uploads/2011/09/3ca357de7e930f7da506a4b426695a86.png"><img src="http://hiropo.co.uk/wp-content/uploads/2011/09/3ca357de7e930f7da506a4b426695a86.png" alt="" title="source" width="240" height="213" class="alignnone size-full wp-image-701" /></a></p>
<h3>ソースコードを書く</h3>
<pre>
&lt;!Doctype html&gt;
&lt;html lang=&quot;ja&quot;&gt;
	&lt;head&gt;
		&lt;meta charset=&quot;utf-8&quot;&gt;
		&lt;title&gt;test&lt;/title&gt;
		&lt;style type=&quot;text/css&quot;&gt;
			body {
				background: #fff;
			}
		&lt;/style&gt;
	&lt;/head&gt;
	&lt;body&gt;
		&lt;h1&gt;test&lt;/h1&gt;
		&lt;script type=&quot;text/python&quot;&gt;
			def pyFunc(str):
				document.write(str)
			pyFunc(&quot;python&quot;)
		&lt;/script&gt;
		&lt;script type=&quot;text/ruby&quot;&gt;
			def rbFunc(str)
				pyFunc(str)
			end
			rbFunc(&quot;ruby&quot;)
		&lt;/script&gt;
	&lt;/body&gt;
&lt;/html&gt;
</pre>
<h3>アプリを実行してみる</h3>
<p><a href="http://hiropo.co.uk/wp-content/uploads/2011/09/23951a9f864ad6d1ade13d6f72a46dea.png"><img src="http://hiropo.co.uk/wp-content/uploads/2011/09/23951a9f864ad6d1ade13d6f72a46dea.png" alt="" title="実行" width="331" height="173" class="alignnone size-full wp-image-706" /></a></p>
<p><a href="http://hiropo.co.uk/wp-content/uploads/2011/09/9fa470a3d698a9d2c2414894676ee9af.png"><img src="http://hiropo.co.uk/wp-content/uploads/2011/09/9fa470a3d698a9d2c2414894676ee9af.png" alt="" title="アプリ起動" width="717" height="507" class="alignnone size-full wp-image-707" /></a></p>
<p>デスクトップアプリができちゃった！</p>
<p>Pythonの中にRubyを書いたりJS書いたり何だか何でもアリのカオス状態ですが、面白いことできそうな予感がぷんぷんします。こういうの嫌いじゃない。</p>
]]></content:encoded>
			<wfw:commentRss>http://hiropo.co.uk/archives/693/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[mixiアプリ] マイミク一覧取得と、アプリ登録者を取得してみた</title>
		<link>http://hiropo.co.uk/archives/294</link>
		<comments>http://hiropo.co.uk/archives/294#comments</comments>
		<pubDate>Tue, 08 Sep 2009 15:45:55 +0000</pubDate>
		<dc:creator>hirohi</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://hiropo.co.uk/?p=294</guid>
		<description><![CDATA[北海道旅行から帰ってきたら何もやる気が起きなくなった僕です。 こんばんは。 北の大地があまりに広大すぎて心が空っぽになってしまいました。 さて、久しぶりにJavaScript書いてみました。 今回もmixiアプリのチュー &#8230; <a href="http://hiropo.co.uk/archives/294">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>北海道旅行から帰ってきたら何もやる気が起きなくなった僕です。<br />
こんばんは。</p>
<p>北の大地があまりに広大すぎて心が空っぽになってしまいました。</p>
<p>さて、久しぶりにJavaScript書いてみました。<br />
今回もmixiアプリのチュートリアルです。</p>
<p>前々回くらいで自分のユーザー情報を取得するスクリプトはつくってみました。<br />
今回は、マイミク一覧とアプリ使用者をフィルタリングして、アプリを使ってるマイミクのみを取得するというテストをつくってみました。</p>
<pre>
(function(){

	/******************************************************************************************************
	*
	*	マイミク一覧を取得
	*	※このアプリに登録しているマイミクのみ
	*/
	/**-------------------------------------
	*	initを定義
	*/
	function init(){
		var ip = {};
		ip[ opensocial.IdSpec.Field.USER_ID ] = opensocial.IdSpec.PersonId.VIEWER;
		ip[ opensocial.IdSpec.Field.GROUP_ID ] = &quot;FRIENDS&quot;;

		var idSpec = opensocial.newIdSpec( ip );

		var params = {};

		//アプリ使用者だけを抽出
		params[ opensocial.DataRequest.PeopleRequestFields.FILTER ] = opensocial.DataRequest.FilterType.HAS_APP;

		//抽出したいパラメータをセット
		params[ opensocial.DataRequest.PeopleRequestFields.PROFILE_DETAILS ] = [
			opensocial.Person.Field.PROFILE_URL,
			opensocial.Person.Field.ADDRESSES,
			opensocial.Person.Field.AGE,
			opensocial.Person.Field.DATE_OF_BIRTH,
			opensocial.Person.Field.GENDER,
			opensocial.Person.Field.HAS_APP,
			mixi.PersonField.BLOOD_TYPE
		];

		var rtn = &#039;&#039;;

		var req = opensocial.newDataRequest();
		req.add( req.newFetchPeopleRequest( idSpec, params ), &quot;friends&quot; );
		req.send(function(data){
			var friends = data.get( &quot;friends&quot; ).getData();
			friends.each(function( friend ) {
				var id = friend.getId();
				var nickname = friend.getDisplayName();
				var thumbnailUrl = friend.getField( opensocial.Person.Field.THUMBNAIL_URL );

				// プロフィール情報を使って処理
				rtn += &#039;&lt;div style=&quot;margin-bottom: 10px;&quot;&gt;&#039; + &quot;\n&quot;;
				rtn += &#039;[id]&#039;+ id +&quot;\n&quot;;
				rtn += &#039;[nickname]&#039;+ nickname + &#039;&lt;br /&gt;&#039; +&quot;\n&quot;;
				rtn += &#039;&lt;img src=&quot;&#039;+ thumbnailUrl +&#039;&quot; /&gt;&#039; +&quot;\n&quot;;
				rtn += &#039;&lt;/div&gt;&#039; + &quot;\n&quot;;

				var element = $( &#039;#dev_field&#039; );
				element.html( rtn );
			});
		});
	}

	/*
	*	init
	*/
	gadgets.util.registerOnLoadHandler( init );

})();
</pre>
<p>デフォルトで表示される件数は20件までなようです。<br />
さらに表示したい場合は、</p>
<pre>
params[ opensocial.DataRequest.PeopleRequestFields.MAX ] = 50;
</pre>
<p>をつかって、件数を取得するようです。<br />
なんか、lengthやgetMyMixiLength()みたいなのないのかなぁ。</p>
<p>さらに、条件から一致した全体の数から、n件目から取得みたいなこともできる。</p>
<pre>
params[ opensocial.DataRequest.PeopleRequestFields.MAX ] = 50;
params[ opensocial.DataRequest.PeopleRequestFields.FIRST ] = 30;
</pre>
<p>上の例だと、「50件中、30件目から取得」みたいなことができる。<br />
公式のリファレンスまぁまぁわかりやすいんだけど、もっと細かいリファレンス欲しいなぁ。</p>
]]></content:encoded>
			<wfw:commentRss>http://hiropo.co.uk/archives/294/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>めちゃめちゃ若いのに…。 &#8211; jQueryちゃん</title>
		<link>http://hiropo.co.uk/archives/292</link>
		<comments>http://hiropo.co.uk/archives/292#comments</comments>
		<pubDate>Tue, 01 Sep 2009 15:39:13 +0000</pubDate>
		<dc:creator>hirohi</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://hiropo.co.uk/?p=292</guid>
		<description><![CDATA[天才とはこのような少年のことをいうんだろうか。]]></description>
			<content:encoded><![CDATA[<p>天才とはこのような少年のことをいうんだろうか。</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/8mwKq7_JlS8&#038;hl=ja&#038;fs=1&#038;color1=0x2b405b&#038;color2=0x6b8ab6"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/8mwKq7_JlS8&#038;hl=ja&#038;fs=1&#038;color1=0x2b405b&#038;color2=0x6b8ab6" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://hiropo.co.uk/archives/292/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[mixiアプリ] 2ちゃんねるまとめサイトのRSSリーダーをつくってみた</title>
		<link>http://hiropo.co.uk/archives/289</link>
		<comments>http://hiropo.co.uk/archives/289#comments</comments>
		<pubDate>Sun, 23 Aug 2009 16:18:18 +0000</pubDate>
		<dc:creator>hirohi</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://hiropo.co.uk/?p=289</guid>
		<description><![CDATA[いつも２ちゃんねるまとめサイトの巡回をするのだが、mixiアプリでRSSリーダーつくったら面白いかもと思い、1時間程度でmixiアプリをつくってみた。 google Ajax APIを使ったので、めちゃめちゃ簡単にできた &#8230; <a href="http://hiropo.co.uk/archives/289">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>いつも２ちゃんねるまとめサイトの巡回をするのだが、mixiアプリでRSSリーダーつくったら面白いかもと思い、1時間程度でmixiアプリをつくってみた。<br />
google Ajax APIを使ったので、めちゃめちゃ簡単にできたお。</p>
<p><a href="http://platform001.mixi.jp/run_appli.pl?id=6869" target="_blank"><img src="http://hiropo.co.uk/wp-content/uploads/2009/08/e5908de7a7b0e69caae8a8ade5ae9a-1-300x162.jpg" alt="" title="e5908de7a7b0e69caae8a8ade5ae9a-1" width="300" height="162" class="aligncenter size-medium wp-image-290" /></a></p>
<p><a href="http://platform001.mixi.jp/run_appli.pl?id=6869" target="_blank">[mixi] 2ちゃんまとめRSSリーダー</a></p>
<p>mixiアプリおもしれいお（＾ｑ＾）</p>
]]></content:encoded>
			<wfw:commentRss>http://hiropo.co.uk/archives/289/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[mixiアプリ] ユーザー情報を取得してみた。</title>
		<link>http://hiropo.co.uk/archives/284</link>
		<comments>http://hiropo.co.uk/archives/284#comments</comments>
		<pubDate>Sun, 23 Aug 2009 08:52:41 +0000</pubDate>
		<dc:creator>hirohi</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://hiropo.co.uk/?p=284</guid>
		<description><![CDATA[mixiでソーシャルアプリケーションアワードという開発者のためのイベントが行われているようです。 よくわかんないけど、mixiの情報を使って、アプリケーションが作れるmixiアプリを作って応募しよう！というものであるよう &#8230; <a href="http://hiropo.co.uk/archives/284">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>mixiで<a href="http://developer.mixi.co.jp/award" target="_blank">ソーシャルアプリケーションアワード</a>という開発者のためのイベントが行われているようです。<br />
よくわかんないけど、mixiの情報を使って、アプリケーションが作れるmixiアプリを作って応募しよう！というものであるようです。</p>
<p><a href="http://developer.mixi.co.jp/" target="_blank">mixiアプリ開発のためのサイト</a>までできている。<br />
で、このmixiアプリ、APIを公開しているので、APIを使ったAjax開発経験者なら誰でもすぐに開発ができるようです。mixiAPIは情報がリアルなユーザー情報だけに何だか面白そう！</p>
<p>ってなことで、mixiアプリに入門してみました。<br />
mixiアプリを開発するには公開環境を登録するみたいなことをしなきゃならないようです。<br />
（ここでは割愛します。）</p>
<p>まずは、mixiアプリの基盤ともいえるガジェットXMLを作ります。</p>
<pre>
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;

&lt;module&gt;
  &lt;modulePrefs title=&quot;mixiアプリのてすとやねん&quot;&gt;
    &lt;require feature=&quot;opensocial-0.8&quot; /&gt;
  &lt;/modulePrefs&gt;
  &lt;content type=&quot;html&quot;&gt;&lt;![CDATA[

  &lt;!--||| head |||--&gt;

  &lt;!--||| StyleSheet |||--&gt;
  &lt;link rel=&quot;stylesheet&quot; href=&quot;http://funnythingz.com/mixi/test/css/style.css&quot; type=&quot;text/css&quot; media=&quot;screen,all&quot; /&gt;

  &lt;!--|| JavaScript FrameWork ||--&gt;
  &lt;script type=&quot;text/javascript&quot; src=&quot;http://www.google.com/jsapi&quot;&gt;&lt;/script&gt;
  &lt;script type=&quot;text/javascript&quot;&gt;google.load(&quot;jquery&quot;, &quot;1.3.2&quot;);&lt;/script&gt;

  &lt;!--|| OriginalScript ||--&gt;
  &lt;script type=&quot;text/javascript&quot; src=&quot;http://funnythingz.com/mixi/test/js/test.js&quot;&gt;&lt;/script&gt;

  &lt;!--||| /head |||--&gt;

  &lt;!--||| body |||--&gt;

  &lt;div id=&quot;dev_field&quot;&gt;&lt;/div&gt;

  &lt;!--||| /body |||--&gt;

  ]]&gt;&lt;/content&gt;
&lt;/module&gt;
</pre>
<p>HTMLの書き方わかる人なら、普通のHTMLを書くように、書けば特に問題なし。<br />
外部JSやCSSの読み込みもできる。</p>
<p>ちなみに、外部JSや外部CSSのパスは絶対パスで書くこと。<br />
ファイルは自分で用意したサーバに置く。</p>
<p>次に、外部CSSと外部JSを用意する。<br />
ガジェットXMLのみですべて済ませたい人はそれで特に問題なし。<br />
大規模な開発を行うならやはりファイルは分けておいたほうが後々わかり易い。</p>
<p>CSSはフィールド背景に色をつけてみた。<br />
これで出力される場所がわかる。</p>
<pre>
@charset "utf-8";
/*
*  mixiアプリ用CSS
*/

#dev_field {
  background: #ddd;
}
</pre>
<p>次にJSファイルの用意。コア部分のプログラミングになるので、JSは外部ファイルにすることを推奨。<br />
今回はmixiアプリにアクセスしたユーザー情報を取得してみる。</p>
<pre>
(function(){

  /******************************************************************************************************
  *
  *  mixiアプリAPIを使ってユーザー情報を取得してみる
  */
  /**-------------------------------------
  *  initを定義
  */
  function init() {

    /**-------------------------------------
    *  取得したい情報パラメータをセット
    */
    var params = {};
    params[ opensocial.DataRequest.PeopleRequestFields.PROFILE_DETAILS ] = [
      opensocial.Person.Field.PROFILE_URL,
      opensocial.Person.Field.ADDRESSES,
      opensocial.Person.Field.AGE,
      opensocial.Person.Field.DATE_OF_BIRTH,
      opensocial.Person.Field.GENDER,
      opensocial.Person.Field.HAS_APP,
      mixi.PersonField.BLOOD_TYPE
    ];
    /**-------------------------------------
    *  リクエストを生成
    */
    var req = opensocial.newDataRequest();
    req.add( req.newFetchPersonRequest( opensocial.IdSpec.PersonId.VIEWER, params ), &#039;viewer&#039; );
    req.send(function( data ){

      /**--------------------------------------------------------------------------
      *  var プロフィール情報を取得
      */
      /**-------------------------------------
      *  エレメントセット
      */
      var element = $( &#039;#dev_field&#039; );

      /**-------------------------------------
      *  アプリを使用しているユーザー情報をセット
      */
      var viewer = data.get( &#039;viewer&#039; ).getData();

      //ニックネーム
      var user_name = viewer.getDisplayName();
      //ID
      var user_id = viewer.getId();
      //サムネイル画像
      var user_thumbnail = viewer.getField( opensocial.Person.Field.THUMBNAIL_URL );
      //プロフィールURL
      var user_url = viewer.getField( opensocial.Person.Field.PROFILE_URL );
      //出身地
      var user_pref = viewer.getField( opensocial.Person.Field.ADDRESSES)[0].getField(opensocial.Address.Field.UNSTRUCTURED_ADDRESS );
      //年齢
      var user_age = viewer.getField( opensocial.Person.Field.AGE );
      //誕生日
      var user_birth = viewer.getField( opensocial.Person.Field.DATE_OF_BIRTH );
      //性別
      var user_gender = viewer.getField( opensocial.Person.Field.GENDER ).getKey();
      //血液型
      var user_blood_type = viewer.getField( mixi.PersonField.BLOOD_TYPE );
      //このアプリをインストールしているか（戻り値:bool）
      var hasApp = viewer.getField( opensocial.Person.Field.HAS_APP );

      /**--------------------------------------------------------------------------
      *  プロフィール情報を使った処理
      */
      //HTMLテンプレート
      var template = &#039;&#039;;
      template += &#039;&lt;div&gt;[user_name] &#039;+ user_name +&#039;&lt;/div&gt;&#039; + &quot;\n&quot;;
      template += &#039;&lt;div&gt;[user_id] &#039;+ user_id +&#039;&lt;/div&gt;&#039; + &quot;\n&quot;;
      template += &#039;&lt;div&gt;[user_thumbnail]&lt;br /&gt;&lt;img src=&quot;&#039;+ user_thumbnail +&#039;&quot; alt=&quot;&#039;+ user_name +&#039;&quot; /&gt;&lt;/div&gt;&#039; + &quot;\n&quot;;
      template += &#039;&lt;div&gt;[user_url] &lt;a href=&quot;&#039;+ user_url +&#039;&quot; target=&quot;_blank&quot;&gt;&#039;+ user_url +&#039;&lt;/a&gt;&lt;/div&gt;&#039; + &quot;\n&quot;;
      template += &#039;&lt;div&gt;[user_pref] &#039;+ user_pref +&#039;&lt;/div&gt;&#039; + &quot;\n&quot;;
      template += &#039;&lt;div&gt;[user_age] &#039;+ user_age +&#039;&lt;/div&gt;&#039; + &quot;\n&quot;;
      template += &#039;&lt;div&gt;[user_birth] &#039;+ user_birth +&#039;&lt;/div&gt;&#039; + &quot;\n&quot;;
      template += &#039;&lt;div&gt;[user_gender] &#039;+ user_gender +&#039;&lt;/div&gt;&#039; + &quot;\n&quot;;
      template += &#039;&lt;div&gt;[user_blood_type] &#039;+ user_blood_type +&#039;&lt;/div&gt;&#039; + &quot;\n&quot;;
      template += &#039;&lt;div&gt;[hasApp] &#039;+ hasApp +&#039;&lt;/div&gt;&#039; + &quot;\n&quot;;

      //出力
      element.html( template );

    });

  }

  //init
  gadgets.util.registerOnLoadHandler( init );

})();
</pre>
<p>これで、ユーザー情報の取得ができる。<br />
あとは煮るなり焼くなり好きに調理してアプリを開発すればおｋ。</p>
<p>つくったmixiアプリの実行方法だが、<a href="http://platform001.mixi.jp/view_community.pl?id=3217244" target="_blank">mixiアプリ オープンβ</a>というコミュニティに参加しなくてはならない。<br />
まだβ版だから仕方ないのか？いまいちこのめんどくさい作業は省いてもらいたいなぁ。</p>
<p>他に指定IDのユーザー情報やマイミク一覧の情報なども取得できるよう。<br />
他APIと組み合わせてアプリを開発することも可能なので、けっこう盛り上がる予感がしますね。</p>
]]></content:encoded>
			<wfw:commentRss>http://hiropo.co.uk/archives/284/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aptana1.5 インストールと日本語化</title>
		<link>http://hiropo.co.uk/archives/181</link>
		<comments>http://hiropo.co.uk/archives/181#comments</comments>
		<pubDate>Wed, 29 Jul 2009 16:44:46 +0000</pubDate>
		<dc:creator>hirohi</dc:creator>
				<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Aptana]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://hiropo.co.uk/?p=181</guid>
		<description><![CDATA[こんぬつわ。 JavaとかRubyとかやろうかなと思いつつも、結局気づいたらJavaScriptしか書いてない僕です。 JavaScripterな人たちにとって有名か有名じゃないかわかりませんが、Adobe AIRでAj &#8230; <a href="http://hiropo.co.uk/archives/181">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>こんぬつわ。<br />
JavaとかRubyとかやろうかなと思いつつも、結局気づいたらJavaScriptしか書いてない僕です。</p>
<p>JavaScripterな人たちにとって有名か有名じゃないかわかりませんが、Adobe AIRでAjaxやらMXML+ActionScriptを使ってデスクトップアプリが簡単（？）に作れるオーサリングツール、Aptana。AIRアプリをつくるときにものすごく重宝しています。<br />
Eclipseを元に開発されたらしいので、（Eclipseのプラグインとしてのインストールも可）Java開発ならEclipse、JavaScriptならAptanaというイメージで使っています。</p>
<p>元々英語なので、インストール後に日本語化しなくてはいけないので、簡単に手順を。</p>
<blockquote><p>
[1]<br />
Aptana公式サイトから<a href="http://www.aptana.com/" target="_blank">Aptana本体をダウンロード</a></p>
<p>[2]<br />
ダウンロード完了後、インストール。</p>
<p>[3]<br />
英語のまま使いたかったらこのままでも使えますが、日本語化するため、eclipseの日本語化プラグインを使います。(aptanaはeclipseをベースに作られているため使用可能)。</p>
<p>こちらから<a href="http://mergedoc.sourceforge.jp/index.html#/pleiades.html" target="_blank">Pleiade（安定版）をダウンロード</a>します。</p>
<p>[4]<br />
Pleiadesを解凍し、featuresフォルダとpluginsフォルダをAptanaがインストールされているフォルダに移動し、コピーする。</p>
<p>[5]<br />
AptanaStudio.iniに下記を追記する。<br />
-javaagent:plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar</p>
<p>Aptanaを起動し、日本語化されていればインストール成功
</p></blockquote>
<p>環境が整ったら、AIRを開発するための環境を整えたりすればおｋ（＾ｑ＾）</p>
]]></content:encoded>
			<wfw:commentRss>http://hiropo.co.uk/archives/181/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>urlエンコードと文字コード</title>
		<link>http://hiropo.co.uk/archives/176</link>
		<comments>http://hiropo.co.uk/archives/176#comments</comments>
		<pubDate>Tue, 14 Jul 2009 15:19:39 +0000</pubDate>
		<dc:creator>hirohi</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://hiropo.co.uk/?p=176</guid>
		<description><![CDATA[最近、外部のAPIを使うようになってから、文字コードに振り回される機会が多いのでちょっとメモっとく。 utf-8でエンコードされてるものを使う場合、htmlがShift_JISやeuc-jpの場合、utf-8でエンコード &#8230; <a href="http://hiropo.co.uk/archives/176">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>最近、外部のAPIを使うようになってから、文字コードに振り回される機会が多いのでちょっとメモっとく。</p>
<p>utf-8でエンコードされてるものを使う場合、htmlがShift_JISやeuc-jpの場合、utf-8でエンコードされたAPIを読み込む場合はsharsetに読み込み元の文字コードを記述する。</p>
<pre>
&lt;script type=&quot;text/javascript&quot; src=&quot;xxxxxxx.js&quot; charset=&quot;utf-8&quot; /&gt;&lt;/script&gt;
</pre>
<p>Firefoxやsafariといったブラウザは自動で内部変換してくれるのだが、IEは内部で変換してくれないのでこういった処置が必要になる。<br />
もろもろめんどくさいが、指定しておいたほうが確実ですね。</p>
]]></content:encoded>
			<wfw:commentRss>http://hiropo.co.uk/archives/176/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FlashPlayerの有無を判別する構文 &#8211; JavaScript</title>
		<link>http://hiropo.co.uk/archives/153</link>
		<comments>http://hiropo.co.uk/archives/153#comments</comments>
		<pubDate>Wed, 03 Jun 2009 02:44:46 +0000</pubDate>
		<dc:creator>hirohi</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://hiropo.co.uk/?p=153</guid>
		<description><![CDATA[swfobject.js(ver_1.5)を使った場合のFlashPlayerの有無の判別。 いつもスクラッチするので、めんどくさいと思いメモ。 /* * swfobject.js(ver_1.5)を使った場合 */ v &#8230; <a href="http://hiropo.co.uk/archives/153">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>swfobject.js(ver_1.5)を使った場合のFlashPlayerの有無の判別。<br />
いつもスクラッチするので、めんどくさいと思いメモ。</p>
<pre>
/*
*	swfobject.js(ver_1.5)を使った場合
*/
var so = new SWFObject('sample.swf', 'top', '100%', '394', '8', '#f2ebda');
if(so.installedVer.major &gt;= 8){
/*-------------------------------------------------
*	FlashPlayer8以上がインストールされている場合、
*	トップページにFlashを表示する。
*/

}else{
/*-------------------------------------------------
*	FlashPlayer8以上がインストールされていない場合、
*	Adpbe公式のFlashPlayerのインストール画面へリンクする
*	画面を表示する。
*/

}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://hiropo.co.uk/archives/153/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OS判別JS</title>
		<link>http://hiropo.co.uk/archives/147</link>
		<comments>http://hiropo.co.uk/archives/147#comments</comments>
		<pubDate>Wed, 20 May 2009 01:29:05 +0000</pubDate>
		<dc:creator>hirohi</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://hiropo.co.uk/?p=147</guid>
		<description><![CDATA[何か使えるかもしれないので、OS判別スクリプトをメモ var getOS = function() { var agent = navigator.userAgent.toLowerCase() ; var Win_OS &#8230; <a href="http://hiropo.co.uk/archives/147">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>何か使えるかもしれないので、OS判別スクリプトをメモ</p>
<pre>
var getOS = function() {
   var agent = navigator.userAgent.toLowerCase() ;
   var Win_OS = agent.indexOf("win") != -1 ;
   var Mac_OS = agent.indexOf("mac") != -1 ;
   var Linux_OS = agent.indexOf("linux") != -1 ;
   var Other_OS = agent.indexOf("win") == -1 &#038;&#038;
   agent.indexOf("mac") == -1 &#038;&#038;
   agent.indexOf("linux") == -1 ;

   if(Win_OS){os = "Windows"}
   if(Mac_OS){os = "MacOS";}
   if(Linux_OS){os = "Linux";}
   if(Other_OS){os = "不明";}
   return os;
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://hiropo.co.uk/archives/147/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>フォントサイズをうにゅうにゅさせてみた。</title>
		<link>http://hiropo.co.uk/archives/137</link>
		<comments>http://hiropo.co.uk/archives/137#comments</comments>
		<pubDate>Wed, 04 Mar 2009 16:11:09 +0000</pubDate>
		<dc:creator>hirohi</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://hiropo.co.uk/?p=137</guid>
		<description><![CDATA[フォントサイズをうにゅうにゅさせるJSを実装してみた。 動作デモはこちら なんてこたぁないJSです。jQuery使ったら30分で実装できた。 jQuery、凄すぎる！ ついでに、ブラウザ閉じても最後に設定したフォントサイ &#8230; <a href="http://hiropo.co.uk/archives/137">続きを読む <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>フォントサイズをうにゅうにゅさせるJSを実装してみた。</p>
<p><a href="http://funnythingz.com/dev/onono/ " target="_blank">動作デモはこちら</a></p>
<p>なんてこたぁないJSです。jQuery使ったら30分で実装できた。<br />
jQuery、凄すぎる！</p>
<p>ついでに、ブラウザ閉じても最後に設定したフォントサイズを維持してくれるように<br />
クッキーの制御入れてます。</p>
<p><a href="http://funnythingz.com/dev/onono/onono.lzh">ソースコードのダウンロードはこちら</a></p>
]]></content:encoded>
			<wfw:commentRss>http://hiropo.co.uk/archives/137/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

