携帯のかんたんログイン問題

– まだまだ他でも破綻しているケータイID認証
http://takagi-hiromitsu.jp/diary/20100427.html#p01
– ここまで破綻しているケータイID認証(簡単ログイン)
http://takagi-hiromitsu.jp/diary/20100425.html#p01
– SoftBank Mobileの携帯用GatewayをPCで通る方法のメモ
http://d.hatena.ne.jp/hideden/20090801/1249142985

diff の結果を色付する

vim に結果を渡すと、diff の表示が色分け表示になって読みやすくなります。

diff -u old.txt new.txt | vim -R –

 diff -u は好きな書式指定で大丈夫です。
 
他にも、[[ColorDiff http://colordiff.sourceforge.net/]](FreeBSD ports: textproc/colordiff)というものもあります。
 
参考:
– [[diffの結果をvimで色付けして表示するグローバルエイリアスhttp://d.hatena.ne.jp/ysano2005/20061102/1162445347]]
  zsh のグローバルエイリアス版と、その他の方法が紹介されています。

ある種のプログラミング言語学

foo, bar, baz..
Fooの語源(RFC3092)
 
ほげ(hoge),ふが(fuga),ぴよ(piyo)…
ほげを考えるページ
 
foobar 派ですが、ほげを考えるページの

4.「ほげ」を英国語に訳すときは foo で良いのでしょうか?
違います。「ほげ」を英国語に訳した場合は hoge です。

には笑ってしまいました。男前。
 
ドメインではexample.com,example.net,example.org(RFC2606)ですね。
参考:
メタ構文変数(wikipedia)
example.com(Wikipedia)

デコンパイラ JD-Eclipse を入れてみた

デコンパイラといえば jad と、 Eclipse 組み込み版の Jadclipse が主流でした。
しかし最近は Jadclipse がメンテナンスされていなかったり、そもそもjad が公式配布停止していたりで残念なことに事実上完全に開発停止になってしまったようです。
 
そこで代わりを探していたところ、JD-Eclipse というものを見つけました。
 
Eclipse 3.5 (galileo)ですんなりダウンロード完了。
Java 5 の逆コンパイルにも対応していて、Jad よりも高機能なようです。
 
Eclipse アップデートサイトからの更新はこちら。

http://java.decompiler.free.fr/jd-eclipse/update

 
日本語での使い方説明記事はこちら。
究極の問題解析ツール、逆コンパイラJD-Eclipseとは(@IT)
 
参考:
JD-Eclipse Java Decompiler
究極の問題解析ツール、逆コンパイラJD-Eclipseとは(@IT)

PHPのCache_Lite で lifeTime を場所によって変える時の注意点

PEAR の CacheLite を、短期キャッシュと長期キャッシュに分けて運用する場合、普通に automaticCleaningFactor を使っていると、思った通りに動作しなくなります。
 
automaticCleaningFactor は、現在設定されているlifeTimeを基準に、cache_dirの中の全ての古いファイルを掃除してしまいます。
 
save() で指定した group_id の古いファイル限定で掃除してくれれば融通がき くのですが、そもそも clean() の実装がそうはなっていない様子。
 
PEAR Bugにもこの問題が報告されていますが、現在のAPIを変えずに実装するのは困難として対応打ち切りになっています。
その代わり、解決案としてキャッシュの寿命別にフォルダ分けをする方法が紹介されていました。
 

Best practice then would appear to be that you create directories for each of your caches if you want to be using this autocleanfactor.
ここでの最良の習慣は、autocleanfactorを使う場合には(用途,寿命の違う)それぞれのキャッシュごとにディレクトリを分けて作る事です。

 
参考:
non-specific automaticCleaningFactor(PEAR Bug)
Cache_Lite(PEARマニュアル)

Firefoxの下部の検索バーで入力中に勝手にフォーカスが外れる

サーチエンジン用の検索バー(Search Bar/Ctrl-K)でなく、ページ内検索(Find Bar/Ctrl-F)のお話。
ある時からfirefox を使ってページ内検索すると、文字入力中に時々不意に検索バーがフォーカスを失ってページへのフォーカスに勝手に切り替わってしまうようになりました。
 
不便で悩んでいたのですが、どうやら「Fast Video Download (with SearchMenu)」アドオンが悪さをしているようで、この拡張を無効にしたところ無事元通りの動作になりました。
 
Fast Video Download の、文章をドラッグなどで選択した時に、選択文字列での検索コンテキストメニューを自動で出す機能(テレビマークのアイコンをクリック)が、検索バーの動作と干渉して発生しているようです。
 
追記:Mozilla Firefoxフォーラムでも同じ現象に悩んでいる方がいました。

The Find bar for finding text on a page has changed behavior and it is frustating to use
 (訳:ページ内文章の検索バーの動作が変わって使っていてイライラするようになりました)

解決コメントを見るとやはり原因は同じで、
Firefox 3.6 を入れることで Fast Video Download の動作が変わってしまったという書き込みがありました。

 (2010年3月21日19:01書き込み)dpn:
I disabled the plug-in called Fast Video Download. The problem is gone. I don’t know for sure if there is a connection.
 (訳:Fast Video Download というプラグインを無効にしたら、この問題は解決しました。関連はあるかどうかわかりませんが。

 (2010年3月21日19:10書き込み) Reg:
Yes, I see. Now I tried the same thing (disabled the Fast Video Download addon) and it seems to have fixed the problem here too. Strange though, since I had used the FVD addon without problem on the older firefox, and now it interferes even with the older firefox. Thanks for the info.
 (そうなんですか。同じ事(Fast Video Download アドオンを無効にする)を今やってみたら、こちらでも問題が解決したようです。でもおかしい事に、以前のバージョンのfirefoxではFVDアドオンを使っていても前はこのような問題は起きなかったのに、今では以前のバージョンのfirefoxにも干渉しているようです。情報ありがとうございます。

 (2010年3月21日 19:52 書き込み)Reg:
I have now completely uninstalled search menu and FVD addons, and also uninstalled firefox 3.6 (leaving personal profile information intact when given the choice by firefox uninstaller).
 サーチメニューとFVDアドオンを完全にアンインストールしてfirefox 3.6も(個人設定情報はアンインストーラの選択でで完全に残したままにして)アンインストールしてみました。
Then I downloaded older firefox 3.5.8 from the official mozilla firefox website and reinstalled the search and FVD addons on this older platform.
 (それから以前のfirefox 3.5.8 を公式mozilla firefox ウェブサイトからダウンロードして再インストールして、FVDアドオンをそこにインストールしました。)
Now everything is working again as prior to the firefox 3.6 upgrade. I will only upgrade to firefox 3.6 again if I’m sure all my addons will work properly.
 (それでfirefox3.6にアップグレードする前のままの状態で動いてくれるようになりました。firefox 3.6 にアップグレードするのは、私が使っているアドオンがちゃんと動いてくれるのを確認できてからにしようと思います。)

 
参考:
Fast Video Download(with SearchMenu)
The Find bar for finding text on a page has changed behavior and it is frustating to use(Mozillaフォーラム)

ExtJS GridPanel の cellclick イベントを使う

マニュアルどおりでうまくいかなかったのでメモ。
ExtJS 3.1 で動作確認。

var grid = new Ext.grid.GridPanel({
  // 中略
  listeners: {
      cellclick: function( grid, rowIndex, columnIndex, e) {
        var record = grid.getStore().getAt(rowIndex); // rowIndex番目のレコード取得
        var fieldName = grid.getColumnModel().getColumnId(columnIndex); // columnIndex番目のフィールド名取得
        var data = record.get(fieldName); // 指定座標のセルの内容を取得。
        alert(data); // 表示。
      }
  }
});

参考:
ExtJS GridPanel

HTTP – Locationヘッダには相対URLを使ってはいけない

HTTP の仕様(RFC2616)では、 Location ヘッダは絶対URIでなければならないと今更知りました。
Hypertext Transfer Protocol — HTTP/1.1(日本語) 14.30:

Location = “Location” “:” absoluteURI

ちなみに絶対URI(absolute URI)とはRFC2396によるとスキームから始まるURIのみを指します。
スラッシュ(“/”)から始まる URL が絶対URLと言われることがありますが、正確には絶対パス(absolute path)指定の相対URLであり、絶対URLではありません。

absoluteURI = scheme “:” ( hier_part | opaque_part )
hier_part = ( net_path | abs_path ) [ “?” query ]
relativeURI = ( net_path | abs_path | rel_path ) [ “?” query ]
net_path = “//” authority [ abs_path ]
abs_path = “/” path_segments

 
ただ、ほとんどのブラウザで相対URLへのロケーションを寛容に解釈してくれます。
lynx では警告が出るようですが、一般向けには携帯でさえ(mova など余程古いものを除けば)意図通りにリダイレクトしてくれるようになり、仕様違いでも問題がほぼなくなってしまいました。
 
相対URLが便利なのも事実。なのでもしかしたら HTTP 2.0 ができるときには相対URI可、なんてことになるかもしれませんね。