<?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"
	>

<channel>
	<title>クデラボ -KudeLab-</title>
	<atom:link href="http://kudelab.com/feed" rel="self" type="application/rss+xml" />
	<link>http://kudelab.com</link>
	<description>kudeの運営するサービスの情報や、主に開発周りの話題を発信するサイト</description>
	<pubDate>Tue, 26 Aug 2008 00:08:27 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
	<language>ja</language>
			<item>
		<title>Treeコンポーネント</title>
		<link>http://kudelab.com/archives/39</link>
		<comments>http://kudelab.com/archives/39#comments</comments>
		<pubDate>Sat, 23 Aug 2008 02:30:47 +0000</pubDate>
		<dc:creator>kude</dc:creator>
		
		<category><![CDATA[Flash/AIR]]></category>

		<category><![CDATA[ActionScript]]></category>

		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://kudelab.com/?p=39</guid>
		<description><![CDATA[FlashCS3でTreeメニューを実装したいと思い、Yahoo! Developer Network - Flash Developer Center のTreeコンポーネントを利用しました。
このとき、ActionS [...]]]></description>
			<content:encoded><![CDATA[<p>FlashCS3でTreeメニューを実装したいと思い、<a href="http://developer.yahoo.com/flash/">Yahoo! Developer Network - Flash Developer Center</a> のTreeコンポーネントを利用しました。</p>
<p>このとき、ActionScriptで新しいノードを動的に追加する方法が分からずに苦労したので、そのメモ。<br />
mytree がTreeコンポーネントのインスタンス。</p>
<p><code><br />
var tdp:TreeDataProvider = TreeDataProvider(mytree.dataProvider);<br />
var node:LeafNode = new LeafNode(tdp);<br />
node.label = '新しいノード';<br />
tdp.rootNode.addChildNode(node);<br />
</code></p>
<p>mytree.dataProvider を TNode のコンストラクタパラメータとして使用すればいいと気づくまでに時間がかかってしまいました。<br />
分かってしまえば、なんてことないんですけどね。</p>
]]></content:encoded>
			<wfw:commentRss>http://kudelab.com/archives/39/feed</wfw:commentRss>
		</item>
		<item>
		<title>Googleから警告が来た</title>
		<link>http://kudelab.com/archives/22</link>
		<comments>http://kudelab.com/archives/22#comments</comments>
		<pubDate>Wed, 16 Jul 2008 01:29:19 +0000</pubDate>
		<dc:creator>kude</dc:creator>
		
		<category><![CDATA[]]></category>

		<category><![CDATA[LingrBBS]]></category>

		<guid isPermaLink="false">http://kudelab.com/archives/22</guid>
		<description><![CDATA[LingrBBSというサイトを運営しているのですが、そこにGoogleAdSenseを貼っていたら、Googleから警告メールが来てしまいました。
「アダルト、または成人向けコンテンツを含むページに Google 広告を [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://lingrbbs.com/">LingrBBS</a>というサイトを運営しているのですが、そこにGoogleAdSenseを貼っていたら、Googleから警告メールが来てしまいました。<br />
「アダルト、または成人向けコンテンツを含むページに Google 広告を掲載することは許可しておりません」とのこと。</p>
<p>調べてみると、ユーザがアダルトな話題を楽しんでいるチャットルームがあって、それが「アダルトページ」と判断されたということのようです。</p>
<p>あるチャットルームでやり取りされている話題がGoogleの広告ポリシーに違反しているかどうかなど、調べようがありません。<br />
日本語だけなら、頑張ればどうにか・・・と思えなくもないですが、英語や、ましてアラビア語などお手上げですから。</p>
<p>しょうがないので、LingrBBSからGoogleAdSenseを撤去しました。<br />
ま、それほど広告収入が上がっていたわけでもないので、「面倒なものは取っ払え」てな感じで。</p>
<p>それにしても、この一件で改めて気づいたことは、CGMというかユーザが自由にコンテンツを投稿するサイトに広告を貼るというのは、けっこう難しいんだなということです。<br />
アダルトなコンテンツが投稿されないよう監視するか、アダルトなコンテンツもＯＫな広告を探さないといけないわけで。</p>
]]></content:encoded>
			<wfw:commentRss>http://kudelab.com/archives/22/feed</wfw:commentRss>
		</item>
		<item>
		<title>XMLの名前空間</title>
		<link>http://kudelab.com/archives/21</link>
		<comments>http://kudelab.com/archives/21#comments</comments>
		<pubDate>Sun, 22 Jun 2008 06:26:02 +0000</pubDate>
		<dc:creator>kude</dc:creator>
		
		<category><![CDATA[Flash/AIR]]></category>

		<guid isPermaLink="false">http://kudelab.com/archives/21</guid>
		<description><![CDATA[ActionScript3でXMLを解析するときのメモ。
外部のXMLを読み込んで目的のノードにアクセスする際に、&#8221;employees.employee.name&#8221; のようにドットオペレータとノー [...]]]></description>
			<content:encoded><![CDATA[<p>ActionScript3でXMLを解析するときのメモ。</p>
<p>外部のXMLを読み込んで目的のノードにアクセスする際に、&#8221;employees.employee.name&#8221; のようにドットオペレータとノード名でアクセスできなくて「どうしてだろう・・・？」と悩んだ。<br />
結論から言うと、XMLに xmlns が指定されていることが原因だった。</p>
<p>xmlnsが指定されると、XMLの名前空間がそれになるらしい。<br />
名前空間が異なるので、ノード名でアクセスできなかったというわけ。</p>
<p>で、どうすればいいかというと、</p>
<p><code>
<pre>
var xml:XML = new XML(xmlLoader.data);
default xml namespace = rssXML.namespace("");

...XML解析...

default xml namespace = null;
</pre>
<p></code></p>
<p>として、デフォルトの名前空間をXMLのそれに設定すればＯＫ。<br />
解析が終わったら名前空間を戻しておく。</p>
]]></content:encoded>
			<wfw:commentRss>http://kudelab.com/archives/21/feed</wfw:commentRss>
		</item>
		<item>
		<title>ActionScript3でEUC-JPをUTF-8に変換する</title>
		<link>http://kudelab.com/archives/20</link>
		<comments>http://kudelab.com/archives/20#comments</comments>
		<pubDate>Mon, 16 Jun 2008 14:36:07 +0000</pubDate>
		<dc:creator>kude</dc:creator>
		
		<category><![CDATA[Flash/AIR]]></category>

		<guid isPermaLink="false">http://kudelab.com/archives/20</guid>
		<description><![CDATA[FlashでWebページにアクセスしてテキストデータを取得して、それを文字列として自由に扱いたい場合のメモ。
何が問題になってくるかというと、取得するテキストデータの日本語文字コードがUTF-8じゃない場合です。
Shi [...]]]></description>
			<content:encoded><![CDATA[<p>FlashでWebページにアクセスしてテキストデータを取得して、それを文字列として自由に扱いたい場合のメモ。</p>
<p>何が問題になってくるかというと、取得するテキストデータの日本語文字コードがUTF-8じゃない場合です。<br />
Shift_JISやEUC-JPで作成されたテキストデータを、どのようにしてUTF-8に変換してやるか。</p>
<p>いちおう、Flash（ActionScript3）にも、URLStreamなどのクラスにreadMultiByteというメソッドが用意されていて、これを用いることでUTF-8じゃない日本語文字コードで作成されたテキストデータをUTF-8に変換して読み取ることができます。<br />
本来ならこれで解決なのですが、現時点で、このreadMultiByteにはバグがあるらしく、EUC-JPを正しく処理することができません。<br />
Shift_JISは大丈夫なんですけどね。</p>
<p>なので、テキストデータがEUC-JPの場合にどうするか、という話です。<br />
どうしようもないので、EUC-JPをUTF-8に変換する処理を自前で作ることにしました。<br />
作成するにあたって、<a href="http://homepage3.nifty.com/aokura/jscript/jcode.html">AOK&#8217;s JavaScript Library</a>を大いに参考にさせて頂きました。<br />
ありがとうございます。</p>
<p>それで出来上がったコードが<a href="storage/Jcode.as">Jcode.as</a>です。<br />
Jcodeクラスは以下のように使用します。</p>
<p><code>
<pre>
// Webページにアクセス
var stream:URLStream = new URLStream();
var request:URLRequest = new URLRequest("http://............");
stream.addEventListener(Event.COMPLETE, streamComplete);

function streamComplete(e:Event):void {
    // ByteArrayに読み込む
    var stream:URLStream = URLStream(e.currentTarget);
    var bytes:ByteArray = new ByteArray();
    stream.readBytes(bytes, 0, stream.bytesAvailable);

    // ECU-JPをUTF-8に変換して読み取る
    var str:String = <font color="red">Jcode.EUCtoUTF8</font>(bytes);
}
</pre>
<p></code></p>
<p>本来なら、文字コードを判定する機能などもあったほうがいいのでしょうが、ぼく個人的にはこの機能だけあれば事足りるので、実装していません。<br />
なので皆さん自由にカスタマイズしてご使用ください。</p>
<p>※追記。</p>
<p>AIR1.1にバージョンアップしたら、readMultiByteのバグが修正されたようで、EUC-JPも問題なく処理できるみたいです。<br />
数日の差で、無駄な労力を使ってしまった・・・。</p>
]]></content:encoded>
			<wfw:commentRss>http://kudelab.com/archives/20/feed</wfw:commentRss>
		</item>
		<item>
		<title>ジオターゲティングブログパーツがリリースされました</title>
		<link>http://kudelab.com/archives/19</link>
		<comments>http://kudelab.com/archives/19#comments</comments>
		<pubDate>Thu, 29 May 2008 03:08:17 +0000</pubDate>
		<dc:creator>kude</dc:creator>
		
		<category><![CDATA[Flash/AIR]]></category>

		<category><![CDATA[リリース]]></category>

		<category><![CDATA[ジオターゲティング]]></category>

		<guid isPermaLink="false">http://kudelab.com/archives/19</guid>
		<description><![CDATA[お仕事でぼくが制作に携わっていました「ジオターゲティングブログパーツ」が本日リリースされました。
サイドバーの「ブログパーツ」エリアに掲載されているのがそれです。
ジオターゲティングというのは、アクセスしてきたユーザが「 [...]]]></description>
			<content:encoded><![CDATA[<p>お仕事でぼくが制作に携わっていました「ジオターゲティングブログパーツ」が本日リリースされました。<br />
サイドバーの「ブログパーツ」エリアに掲載されているのがそれです。</p>
<p>ジオターゲティングというのは、アクセスしてきたユーザが「どの地域からアクセスしてきたか」を判別する技術です。<br />
このブログパーツを張ると、「自分のブログは、どの地域からのアクセスが多いか」を知ることができます。<br />
もちろん、ちょっとしたアクセスカウンターのようにも使えます。</p>
<p>今はまだ貼ったばかりなので面白くないですが、データが貯まれば、アクセス数に応じて日本地図が色塗りされて、なかなか面白いですよ。<br />
といっても、そもそも、このブログのアクセス数自体が少ないので、あまり期待はできないのですが。</p>
<p>ブログパーツ上で、ピコーンと円が表示されている場合は、そこが「あなたが今いる地域」です。<br />
どうですか、当たっていますか？<br />
ジオターゲティングの技術的なことはよく分かりませんが、IPアドレスから地域を判別しているようです。<br />
たまに間違うこともあるみたいですね。</p>
<p>ちょっと面白いアクセスカウンターをお探しの場合は、ぜひ使ってみて下さい。</p>
]]></content:encoded>
			<wfw:commentRss>http://kudelab.com/archives/19/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
