<?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>cubdesign &#187; javascript</title>
	<atom:link href="http://www.cubdesign.com/tag/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.cubdesign.com</link>
	<description>Always a new thing.</description>
	<lastBuildDate>Mon, 06 Sep 2010 17:37:09 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>jQueryで作るTwitter Tickerチュートリアルを試してみた。</title>
		<link>http://www.cubdesign.com/2010/02/jquery-twitter-ticker-tutorial/</link>
		<comments>http://www.cubdesign.com/2010/02/jquery-twitter-ticker-tutorial/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 19:01:29 +0000</pubDate>
		<dc:creator>takeo</dc:creator>
				<category><![CDATA[未分類]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.cubdesign.com/?p=633</guid>
		<description><![CDATA[jQueryで作るTwitter Tickerのチュートリアル（A jQuery Twitter Ticker – Tutorialzine）を試してみた。

↓試したサンプル
jQueryで作るTwitter Tick [...]]]></description>
			<content:encoded><![CDATA[<p>jQueryで作るTwitter Tickerのチュートリアル（<a href="http://tutorialzine.com/2009/10/jquery-twitter-ticker/" target="_blank">A jQuery Twitter Ticker – Tutorialzine</a>）を試してみた。</p>
<p><a href="http://www.cubdesign.com/wp/wp-content/uploads/jquery-twitter-ticker-tutorial.jpg"><img class="alignnone size-full wp-image-636" title="jQueryで作るTwitter Tickerチュートリアルのサンプル" src="http://www.cubdesign.com/wp/wp-content/uploads/jquery-twitter-ticker-tutorial.jpg" alt="" width="527" height="449" /></a></p>
<p>↓試したサンプル</p>
<p><a href="http://www.cubdesign.com/sample/jQuery/jquery-twitter-ticker/demo.html" target="_blank">jQueryで作るTwitter Tickerチュートリアルのサンプル</a></p>
<p>iPhoneとかのTwitterクライアントを使ってるといろんなことができるから、このチュートリアルには過剰な期待でのぞんだのだが、ショボイ。ページ開いて一度だけ指定したユーザーのTweetsを表示しているだけ。</p>
<p>なんでだろうと、API（<a href="http://watcher.moe-nifty.com/memo/docs/twitterAPI45.txt" target="_blank">Twitter API 仕様書 日本語訳 第四十五版 (2010年2月24日版)</a>）をみていると、</p>
<p><strong>・いろいろやるには、認証が必要。</strong></p>
<blockquote><p><strong>認証</strong><br />
public_timeline の取得等一部の API を除くほとんどの API で、認証を使用する。応答に protected なユーザに関する情報が含まれる可能性のある API は認証が必須となっている。<br />
現在、OAuth認証とBASIC認証が使用可能。</p></blockquote>
<p><strong>・APIの実行数制限がある。（認証してない場合IPアドレスでカウントされる）</strong></p>
<blockquote><p><strong>API の実行回数制限</strong><br />
Twitter の API は、60分間に150回まで実行できる。この実行回数制限を超えた状態でさらにリクエストを送った場合、HTTPステータスコード 400 が返る。<br />
認証の必要なもの、不要なものの両方が実行回数制限の対象となる(以前は実行回数制限の対象外であった public_timeline の取得も、現在は対象となっている)。<br />
認証の必要なものはユーザID(アカウント)単位で、認証の不要なものはIPアドレス単位で、実行回数のカウントを行なう。<br />
[訳者による注記] Twitter の運用状況によっては API 制限がより厳しく設定されることがある(60分間に20回まで、など)。</p></blockquote>
<p>ってのがあって、Javascriptだと、これくらいでやめておくほうがいいんだなと納得。</p>
<blockquote><p>この実行回数制限を適用されると都合が悪い場合は、理由を明示の上、Twitter 開発者にコンタクトを取ること。納得できる理由が示されれば、当該ユーザを、実行回数制限適用外のスクリーン名のリストに入れる。</p></blockquote>
<p>Twitter本家のブログパーツからガンガンAPIを呼んでいるのは、これで制限解除か。</p>
<blockquote><p>rate_limit_status という「アカウント関連のAPI」を使うことで、実際の API 制限の実施状況を調べることができる。</p></blockquote>
<p>これを使えば、あと何回使えるか取得できるらしい。ん？何回実行してもカウントが減らない？おかしい。</p>
<p><a href="http://www.cubdesign.com/sample/jQuery/jquery-twitter-ticker/demo.html" target="_blank">jQueryで作るTwitter Tickerチュートリアルのサンプル</a></p>
<p>Twitter　APIは認証いれて、キャッシュとかしてサーバーで使うのがいいんだな。たぶん</p>
<p>こんどためしてみよう。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cubdesign.com/2010/02/jquery-twitter-ticker-tutorial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQueryで作るFlashみたいにフェードインフェードアウトするバナー</title>
		<link>http://www.cubdesign.com/2010/02/jquery-shuffle-bannar/</link>
		<comments>http://www.cubdesign.com/2010/02/jquery-shuffle-bannar/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 17:44:34 +0000</pubDate>
		<dc:creator>takeo</dc:creator>
				<category><![CDATA[未分類]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.cubdesign.com/?p=623</guid>
		<description><![CDATA[Flashみたいに、何枚かの写真をランダムにフェードインフェードアウトしながら表示するバナーを作ってみた。
一応、jQueryのプラグイン形式で（プラグインの作り方はてきとう！）。

画像パスと、リンク先URLをリストで [...]]]></description>
			<content:encoded><![CDATA[<p>Flashみたいに、何枚かの写真をランダムにフェードインフェードアウトしながら表示するバナーを作ってみた。<br />
一応、jQueryのプラグイン形式で（プラグインの作り方はてきとう！）。</p>
<p><a href="http://www.cubdesign.com/wp/wp-content/uploads/photo1.jpg"><img class="alignnone size-full wp-image-625" title="フェードインフェードアウトするバナー" src="http://www.cubdesign.com/wp/wp-content/uploads/photo1.jpg" alt="" width="320" height="240" /></a></p>
<p>画像パスと、リンク先URLをリストでプラグインに渡せば、リストをシャッフルして（最初の1回だけ）順に表示する。５秒置き（初期値）にフェードインフェードアウトしながらパラパラと画像が変わる。</p>
<p>これでiPhoneでもバナーがクリックできる！</p>
<p><a href="http:///www.cubdesign.com/sample/jQuery/shuffleBannar/index.html" target="_blank">サンプル</a></p>
<p>一応プラグイン形式のソース</p>
<pre class="brush: jscript;">
/**
 * jQuery Shuffle Bannar plugin
 * Copyright (C) cubdesign | http://www.cubdesign.com/
 * Dual licensed under the MIT &lt;http://www.opensource.org/licenses/mit-license.php&gt;
 * and GPL &lt;http://www.opensource.org/licenses/gpl-license.php&gt; licenses.
 * Date: 2010-02-26
 * @author Takeo Tamura
 * @version 0.5.0
 */

(function($) {
    var name_space = 'shuffleBannar';
    $.fn[name_space] = function(options) {
        var elements = this;

        var settings = $.extend({
            'bannarList' : [],
			'interval':5000,
			'fadeOutTime' : 1000,
			'fadeInTime' : 1000
        }, options);

		var addData = function (v) {
            $.data(v, name_space, {});
            return $(v);
        };

		/*
		* シャッフルする
		*/
		var shuffle = function (targetArray)  {
			var i  = targetArray.length;
			 while (i) {
				var j  = Math.floor(Math.random() * i);
				var x  = targetArray[--i];
				targetArray[i] = targetArray[j];
				targetArray[j] = x;
			 }
			return targetArray;
		};

		//キャッシュ防止用
		var nocache = new Date().getTime();

		var bannarList = settings.bannarList;
		//シャッフル
		bannarList = shuffle(settings.bannarList);

		//今表示しているバナーの番号
		var currentBannarNumber = -1;

		//インターバルID
		var iId = -1;

		/*
		* バナーを変更する
		*/
		var changeBannarImage = function ()  {
			clearInterval(iId);
			 $(&quot;#shuffleBannar img:first&quot;).fadeOut(settings.fadeOutTime,function(){
				$(this).remove();
				loadBannarImage();
			 });

		};
		/*
		* バナーを読み込む
		*/
		var loadBannarImage = function ()  {
			currentBannarNumber++;

			if( currentBannarNumber == bannarList.length ){
				currentBannarNumber = 0;
			}

			var targetBannar = bannarList[ currentBannarNumber ];

			var imageURL = &quot;&quot; + targetBannar.image + &quot;?nocache=&quot;+nocache;
			var linkURL = &quot;&quot; + targetBannar.link;

			var img = new Image();

			 $(img).load(function(){
							$(this).hide();
							$(&quot;#shuffleBannar&quot;).append(this);
							$(this).fadeIn(settings.fadeInTime);
							$(this).click(function(){location.href=linkURL;});
							iId = setInterval(changeBannarImage,settings.interval)
						}).attr('src', imageURL)

		};

        elements.each(function() {
			addData( this );
			loadBannarImage();
        });

        //method chain
        return this;
    };
})(jQuery);
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.cubdesign.com/2010/02/jquery-shuffle-bannar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BACKBASEでAjaxを学ぶ</title>
		<link>http://www.cubdesign.com/2005/10/backbaseajax/</link>
		<comments>http://www.cubdesign.com/2005/10/backbaseajax/#comments</comments>
		<pubDate>Wed, 12 Oct 2005 14:08:30 +0000</pubDate>
		<dc:creator>takeo</dc:creator>
				<category><![CDATA[未分類]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.cubdesign.com/blog/?p=183</guid>
		<description><![CDATA[
BACKBASE
英語のサイトだけどBackbase ExplorerやTechnology Overview: IntroなどでAjaxの可能性を学ぶことができる。Flex サンプルエクスプローラーとBackbase [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.cubdesign.com/blog/images/blog/20051012.jpg" border="0" alt="20051012.jpg" hspace="8" vspace="8" width="400" height="381" /></p>
<p><a href="http://www.backbase.com/" target="_blank">BACKBASE</a></p>
<p>英語のサイトだけど<a href="http://www.backbase.com/demos/explorer/" target="_blank">Backbase Explorer</a>や<a href="http://www.backbase.com/#home/pulldown/demos.xml[1]" target="_blank">Technology Overview: Intro</a>などでAjaxの可能性を学ぶことができる。<a href="http://www.macromedia.com/jp/software/flex/solutions/developers/" target="_blank">Flex サンプルエクスプローラー</a>とBackbase Explorerを比べても面白い。</p>
<p>XML+JavaScript、Ajaxは、Webの世界で大暴れしそう。XML+スクリプトって言う組み合わせは最近の流行。Flex、Microsoftの<a href="http://www.microsoft.com/products/expression/en/default.aspx" target="_blank">Sparkle</a>も似たようなもの。<br />
JavaのJSF(JavaServerFaces)でこんなAjaxGUIを作ればかなり高性能なWebが実現しそう。どれを選ぶか迷ってしまう。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cubdesign.com/2005/10/backbaseajax/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
