<?xml version="1.0" encoding="UTF-8"?><!-- generator="WordPress/2.8.5" -->
<rss version="0.92">
<channel>
	<title>OTCHY.NET</title>
	<link>http://www.otchy.net</link>
	<description>Otchy の技術ネタ。JavaScript 率と Twitter 率がやや高く、他にも PHP/Java/Perl などなど。共通点は Web。</description>
	<lastBuildDate>Fri, 05 Feb 2010 04:31:26 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>ja</language>
	
	<item>
		<title>自分向け Chrome 拡張まとめ</title>
		<description>Google Chrome v4 で正式対応したエクステンションの自分向けまとめです。
完全に自分向けですが、エクステンションごとにコメントを付けておいたので、誰かの参考になればいいかなぁと思います。
実質的には今使っているエクステンションのリストなので、内容に変化があったら随時更新する予定です。

ブラウズ

  Handy Google Shortcuts
  単に Google の各サービスへリンクするだけですが、Google に依存しまくっている人は便利。同種のエクステンションだと、Google Apps Shortcuts の方がメジャーなようですが、対応しているサービスがこちらの方が多く、プルダウンから直接新規メールとか作りたいのでなければこちらがお勧め。自分がよく使うサービスだけ表示するように設定変更して使います。
  SimpleGoogleBookmarks
  ソーシャルブックマークとしてはてブを使う一方、「よく参照するサイト」という本来の意味のブックマークとして Google Bookmarks を使っているので入れてます。タグによる絞り込みの他、日本語対応のインクリメンタルサーチが秀逸。


ツール

  Chromed Bird
  シンプルに使える Twitter クライアントです。他にも API を使うツールがある場合、初期設定だと API を使い切る事が多いので、設定変更推奨。Firefox の Echofon 代替。
  Google Wave Notifier
  Google Wave の Notifier (まんますぎる) です。wave は Gmail ...</description>
		<link>http://www.otchy.net/20100205/my-chrome-extensions-list/</link>
			</item>
	<item>
		<title>Chrome 正式版 Greasemonkey でクロスドメイン POST をする方法</title>
		<description>最近公開された、Google Chrome の Ver 4 では、正式に Greasemonkey がサポートされ、以前のように特別なオプションを指定することなく、ワンクリックでユーザスクリプトがインストール出来るようになりました。
それ自体は非常に嬉しい事だったんですが、バージョンアップに伴い、はてブ with Twitter が動かなくなってしまっていました。(現在は修正済み)

以前、JavaScript だけでクロスドメインで POST メソッドを送る方法で紹介したやり方が、Chrome のバージョンアップによって無効になってしまったためです。
無効になったとはいえ、通常の JavaScript として使用する分には問題なく、Greasemonkey だけに問題が発生していました。
動的に生成した iframe の contentWidow オブジェクトが取得出来なくなっており、セキュリティの制限が強化されたものと思われます。

最終的にはその制限を回避する方法を見つけたので、以下に解説します。

通常 JavaScript の記述
まず、Greasemonkey ではなく普通の JavaScript としてJavaScript だけでクロスドメインで POST メソッドを送る方法等を参考に、本来やりたい処理を記述します。
この時は普通に script タグでスクリプトを読み込んで、正常動作を確認しておきます。

そして、正常に動作するスクリプトが作成出来たら、それを任意のサーバにアップします。

Greasemonkey の記述
以下のようなスクリプトを書きます。

(function() {
    var d = document;
    var s = d.createElement('script');
   ...</description>
		<link>http://www.otchy.net/20100129/chrome-greasemonkey-cross-domain-post/</link>
			</item>
	<item>
		<title>自前で短縮 URL。Simple Shorten URL 公開。</title>
		<description>自前のサーバに短縮 URL を設置したい場合の超シンプルな実装、Simple Shorten URL を作りました。DB を使わずに実装したので、レンタルサーバとかでも気軽に動かせるかと思います。
限定された URL 以下の URL のみ短縮可能で、特定用途にしぼった使い方を想定しています。もちろん短縮対象の URL と生成される短縮 URL のドメインは異なっていても構いません。

詳細については、Simple Shorten URL を見て下さい。
OTCHY.NET 専用短縮 URL は http://otchy.net で動作しています。

簡易実装と侮る事なかれ。
ひたすらシンプルな実装にしたのでかなり高速に動作する上、自分専用という事で、ハッシュの長さを 3 にしているので、otchy.net で使うと、http://otchy.net/XXX となり、実は bit.ly の http://bit.ly/XXXXXX と同じ長さだったりします。

興味があればお試しを！
 </description>
		<link>http://www.otchy.net/20100129/simple-shorten-url/</link>
			</item>
	<item>
		<title>TwitMgr Ver 1.5.1 リリース</title>
		<description>TwitterAPI.js のバージョンアップにあわせて、TwitMgr の Ver 1.5.1 をリリースしました。

TwitterAPI.js のバージョンアップによって、Firefox 3.6 に対応したり、地味なところでは API の多重アクセスがあってもエラーにならなくなったりしています。
TwitterAPI.js に Ver 0.9.3 で実装した再ログイン機能についても、TwitMgr に取り込んだので、複数アカウントを管理したい人は便利になったんじゃないかと思います。

フレンズとフォロワを取得する API の仕様が変わったために上手く動作していなかった部分についても修正しました。
従来の API はページを指定する事で、100 件を超えるユーザを取得していたのが、カーソルを指定する事で取得するように API が変わっていたのですね。

フォロワがせいぜい 1,000 くらいまでのうちは別にページ式でもいいですが、100,000 件とか言うユーザも英語圏ではザラにいるので、そういうケースに対応しやすくするためでしょう。
従って、何件中の何番目、という遷移はできなくなり、「次へ」「前へ」式の遷移になりました。

また、フレンズとフォロワの管理についてはカーソル式に対応したのですが、そこで力尽きたので「分析」機能についてはいったんオミットしています。
この辺はまたいずれ復活させたいところですね。 </description>
		<link>http://www.otchy.net/20100127/twitmgr-151-hadreleased/</link>
			</item>
	<item>
		<title>TwitterAPI.js Ver 0.9.4 リリース。Firefox 3.6 に対応。</title>
		<description>TwitterAPI.js の Ver 0.9.4 をリリースしました。

一部、不具合の修正もありますが、メインは Firefox 3.6 に対する対応です。
元々 Firefox のブラウザ判定にワンライナー (/a/[-1]=='a') を使っていたのですが、それが 3.6 から無効になり、Fx 3.6 で正常動作していませんでした。
こういうイレギュラーなのはあんまり使うもんじゃ無いですね…。

一方、UTF-8 以外の文字コードで使用した場合に、Chrome で文字化けする問題の解決も試みましたがダメでした。
document.createElement('iframe') した iframe は、元のページのエンコードにかかわらず UTF-8 で生成されるのが Chrome 以外のブラウザの実装なのですが、Chrome だけは律儀に元のページのエンコードを引き継ぐため、文字化けが発生してしまっています。

meta タグで Content-Type を指定してみたり、document.open で、Content-Type を指定してみたりしたのですが上手くいかず挫折です。
誰か Chrome 上で元のページのエンコードにかかわらず、UTF-8 の iframe を生成するいい方法を知っていたら教えて下さい。 </description>
		<link>http://www.otchy.net/20100126/twitterapijs-ver-09-had-released/</link>
			</item>
	<item>
		<title>2009年ブログ記事アクセス数ランキング</title>
		<description>OTCHY.NET を開設して、このブログに最初の記事を投稿したのは、2008 年 12 月 23 日の事で、それから約 1 年経ちました。
今回は、2010 年までブログが続いたら是非やりたいと思っていた企画、自ブログのアクセス数ランキングを発表したいと思います！

おかげさまで昨年の1年間で、ブログのアクセス数自体は順調に伸び続けました。(年末の落ち込みは、Web 全体のアクティブ率が落ち込んでいるせい…と信じています。)



途中、目立った山が 2 カ所ありますがその部分については、ランキングの解説の中に書いていきます。

果たして、最もアクセス数を稼いだブログ記事は何だったのでしょうか？
はてブを付けて頂いた数のランキングについては、メニューの中にブログパーツを貼り付けてあって常に表示された状態なので、ここではアクセス数を元にしたランキングを発表します。

トップ 3
[1]Twitter ボットの作り方 Perl 編 (1) 

2009 年の栄えある第 1 位は 「Twitter ボットの作り方 Perl 編 (1)」でした！

期間を空けて連載した記事の第 1 回になります。連載が完結する前から結構アクセスが多く、興味を持ってもらった方が多かったのだと思います。
連載完結後に目次を追加してからは、目次のアクセスもかなり伸びたのですが、その時点ではすでに Google 的にも第 1 回の評価が高く、注目度では常に第 1 回の記事がトップでした。

記事を書く立場としては、まとめとしての目次を最初に読んでもらえた方が全体の見通しが良くてお勧めなので、今度また連載記事を書く事があれば、その辺を気にしたいと思います。
最初に目次を公開して、目次の内容については順次更新するなどでしょうか。

「Twitter＋ボット＋作り方」検索 では、ずっと上位にいるので Google からの流入が多いですね。
今もってアクセス数の稼ぎ頭といえます。

[2]とほほさん騒動まとめ(結論はとほほ(杜甫々)さん≠平志朗氏) 
そして、とほほさんの騒動のまとめが次点でランクインしました。

詳細は記事内容を読んでもらうとして、Twitter 世界の情報伝達の早さに驚いた事件です。
まとめ記事としてもスピードが重要と考え、情報の裏が取れた直後からすぐに書き始め、1時間足らずでまとめ上げましたが、まだ混乱が収まらない時期に公開してしまったので、一時期はアクセス集中によりサーバダウンの憂き目を見ました。

サーバが落ちている間、OTCHY.COM に同内容のプレーンテキストをおいて、アクセスをそちらに誘導するなどしたので、そこのアクセスまでカウントに入れれば 1 位はこちらの記事だったかもしれません。

それほど Twitter 爆発の破壊力はすさまじかったです。はてブのホッテントリに &#34;かする&#34; 程度はそれまでも何度かあったり、いわゆるアルファブロガーの方に紹介されたりした事もあったのですが、それらからのアクセスを軽く凌駕するアクセスがほんの数時間のうちに集中しました。
最初に出したグラフの右側の山は、この記事に対するアクセスが殆どになります。

[3]ちんゃと よゃちめう？ジェネレータ。 
冒頭のグラフの左側の山が、この記事へのアクセスになります。
読めることが間違い？ : ...</description>
		<link>http://www.otchy.net/20100103/blog-entry-ranking-2009/</link>
			</item>
	<item>
		<title>Google Map から検索結果無しの URL を作るブックマークレット</title>
		<description>Google Map では、任意の画面からそこへリンクするための URL を生成する事が出来るのですが、その URL には、その時使用した検索ワードが含まれた形になっています。
まあそんな事気にすんなよ、といえばそれまでですが、人に URL を伝える時とか、検索ワードが入っていない方がスマートに見えていいなぁ、なんて言う事もあるかと思います。

そこで、それを簡単にするブックマークレットを作ってみました。
(参考：ブックマークレットの使い方)

javascript:(function(l,v,i,a,r){if(!l)return;v=l.value;i=v.indexOf('?');r=v.substr(0,i)+'?';a=v.substr(i+1).split('&#38;');while(v=a.shift()){if(v.match(/^(q&#124;hnear)=/i))continue;r+=v+'&#38;';}prompt('Copy%20it!',r);})(document.getElementById('leurl'));

まず、上記のブックマークレットを登録したら、下記の 3 ステップで検索結果無し URL が手に入ります。

ステップ1
普通に検索します。



ステップ2
リンクを表示させます。



ステップ3
ブックマークレットを実行します。



あとはよしなに～。 </description>
		<link>http://www.otchy.net/20091217/google-map-no-search-words-bookmarklet/</link>
			</item>
	<item>
		<title>Google は現代の MS か？独禁法で訴えられる日は来るのか？</title>
		<description>最近、Google 日本語入力なるものが発表されて、にわかに注目を浴びています。
使用後のレビューなどを見る限り、Google が持つ圧倒的な情報量を武器に、Social IME の理想を実現したと思わせる秀逸な出来のようです。
例によって、Google は無料配布してますし、MS IME の馬鹿さ加減も手伝って、今後、普及が進んでいくのではないかと思います。

そのニュースの興奮もさめやらぬ中、Google Public DNS なるものが発表されました。
こういった流れをもって、いよいよ Google 帝国の世界支配が現実味を帯びてきた…という論調が、以前にも増して声高に聞こえるようになってきました。
(ちなみに、無料 DNS の煽り文句に踊らされている人もいますが、DNS サーバをホスティングするわけではなく、Google の超パワーで高速なキャッシングを提供する話っぽので、レンタルサーバ業者に与える影響は限定的だと思います。)

では、MS が独禁法で訴えられたのと同じように、Google が訴えられるかというと、それは違うのではないかと思います。
例えば、Chrome ブラウザや Google DNS を通さないと使えないサービスがあったり、Google のサービス同士じゃないと連携しない制限をかけたり、といった事を Google がやっていないからです。

MS に例えて言うなれば、Google は最初から、IE や Media Player を他のアプリに置換可能な状態でリリースしていると言えます。
しかも有料 OS に無料ソフトを添付したりではなく、最初から全てが無料なので、独禁法に定められた、不当な/不公正な「取引」 に当たるのかさえ、微妙に感じます。

もし Google を日本の法律の枠組みで訴えるとしたら、それは独禁法ではなく、不正競争防止法では無いでしょうか？

ただ難しいのは、例えば ATOK を擁するジャストシステムが不当に安価な製品を提供して市場を破壊した、と Google を訴えたとしても、Google IME 自体に直接広告がなければ、「これは商用製品ではありません。当社の社会奉仕活動です。当社に利益をもたらすものではありません。」と言えてしまうところです。
これは、直接的に広告を表示させていない全ての無料サービスについて、同様の理屈が成り立ちます。

もちろん、Google に全く利益をもたらさないかというとそれは違います。
ユーザ体験の向上によってブランディングの効果があったり、検索量が増える事で、結果的に広告収入が増えるという事は十分考えられます。

Google DNS や Chrome ブラウザ等、Google がスピードにこだわるのも、当然表向きはユーザ体験の向上が目的、と言いますが、実態はそれだけではありません。
ユーザが高速な Web ...</description>
		<link>http://www.otchy.net/20091204/is-google-ms-today/</link>
			</item>
	<item>
		<title>今見ているページへリンクする a タグを作るブックマークレット</title>
		<description>今ちょうど、色んな参照ページを開きながら、そのリンクを含んだブログ記事を書こうとしているのですが、毎回リンク用 HTML を作るのがめんどくさくなって、脊髄反射的に書きました。

今見ているページの URL とタイトルを a タグに納めて表示するブックマークレットです。
きっと類似品はいっぱいあります。

javascript:(function(d,l,t,a){t=d.getElementsByTagName('title')[0].innerHTML;prompt('','&#60;a%20href=%22'+l.href+'%22%20target=%22_blank%22&#62;'+t+'&#60;/a&#62;');})(document,location);
MakeLink (左記をリンクバー等にドラッグ)

検索するより早そうなら、車輪も再発明しちゃえ！という事で、自分向けメモエントリでした。
毎回、面倒に感じてたのに、何で今まで放置してたんだろう…。 </description>
		<link>http://www.otchy.net/20091204/current-page-link-bookmarklet/</link>
			</item>
	<item>
		<title>amazon のページからワンクリックでアフェリエイトリンクを作るブックマークレット</title>
		<description>タイトルの通りです。何となく需要がありそうな気がしたので作ってみました。
いずれも、AffiliateID 部分をご自分のアフェリエイト ID に置き換えて使って下さい。
(ブックマークレットの使い方)

URL のみ

javascript:void(function(a,l){if(a){l='http://amz.ly/jp/'+encodeURIComponent(a.value)+'/AffiliateID';prompt('Copy%20it!',l)}})(document.getElementById('ASIN'))


a タグ付き

javascript:void(function(a,t,l){if(a){l='&#60;a%20href=%22http://amz.ly/jp/'+encodeURIComponent(a.value)+'/AffiliateID%22&#62;'+t.firstChild.nodeValue+'&#60;/a&#62;';prompt('Copy%20it!',l)}})(document.getElementById('ASIN'),document.getElementById('btAsinTitle'))


こちらの記事を参考にさせてもらいました。
Amazonのページからamz.lyで短縮してTwitterに移動するBookmarklet

amazon アフェリエイトやってないんですけどね。
 </description>
		<link>http://www.otchy.net/20091117/amazon-affiliate-bookmarklet/</link>
			</item>
</channel>
</rss>
