« 2007年10月 | メイン | 2007年12月 »

2007年11月22日

Japanize と Pathtraq が Firefox 3 Beta 1 に対応しました

 JapanizePathtraqMozilla Firefox 用拡張機能が、Firefox 3 Beta 1 に対応いたしました。主な変更点は以下のとおりです。

Japanize:

  • Firefox 3 を動作対象に設定
  • 公開鍵を使用した安全な更新配布機能に対応

Pathtraq:

  • Firefox 3 を動作対象に設定
  • 公開鍵を使用した安全な更新配布機能に対応
  • Permalink API を追加

 以上です。既に Firefox 3 Beta をご利用の方は、それぞれのウェブサイトからダウンロードをお願いいたします。また、現在 Firefox 2.0 以前をご利用の方は、自動更新で配布されております最新の拡張機能にバージョンアップしておいていただくことで、Firefox 3 へ将来スムーズに移行することが可能となります。

注: 後で書く

投稿者 kazuho : 2007年11月22日 14:56 | コメント (8) | トラックバック (0) このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

2007年11月18日

サーバメンテナンス中にエラー画面を返す方法

 サービスのメンテナンス中など、ウェブサーバ全体で 503500 エラーを返したいようなケースがあると思うのですが、その場合どうすればいいのでしょう。ちょっとググってみたけど分からなかったので自分で考えてみました。

ErrorDocument 503500 "Sorry.  The service is under maintenance."
RedirectMatch 503500 .*

 とりあえずこんな感じでいいみたい。RedirectMatch 等の設定ディレクティブで 300 番台以外のステータスコードを指定できることを今回初めて知りました。 (参考: mod_alias - Apache HTTP Server)

 ですが、この方法だと、メッセージを設定ファイルに記述することはできても、HTML ファイルを表示することができません。より良い方法をご存知の方は教えていただければ幸いです (ウェブサービスなので 302 等ではなく 503500 エラーを返したい)。

0:27追記: 言うまでもなく 500 Internal Server Error ではなく 503 Service Unavailable を返すべきなので修正しました

11月18日追記: /error/ 以下にエラー専用ファイルを置いて、かつ、/error/ ディレクトリ以下に直接アクセスされた場合は 200 OK を返しても良いのであれば (妥当な仮定だと思う)、以下の設定でよさそうです。PCRE は楽だなぁ。

ErrorDocument 503 /error/maintenance.html
RedirectMatch 503 "^/(?!error/)"

投稿者 kazuho : 2007年11月18日 00:11 | コメント (6) | トラックバック (0) このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

Pathtraq サービス中断のお知らせ

 直前のお知らせとなり恐縮ですが、本日 (2007年11月18日) はPathtraq のサーバが設置されておりますビルの法定点検のため、サービスのご利用が不可能となります。ご不便をおかけしますが、よろしくお願いいたします。

投稿者 kazuho : 2007年11月18日 00:00 | トラックバック (0) このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

2007年11月16日

Japanize - Internet Explorer に対応しました

 本日、Internet Explorer 用の Japanize 拡張機能 (プラグイン) を公開しました。Japanize のトップページからダウンロード・インストールしていただくことが可能です。

 Japanize は、インターネット上の様々なウェブサイトの UI を翻訳 (ローカライズ) するウェブサービスです。2005年8月の公開以来、300人以上の翻訳者による延べ27,000回以上の翻訳データ投稿の結果、翻訳データサイズは4.5MBを超えるまでになりました。Flickr!Twitter といった人気の英語サイトを含む550以上のサイトに対応注1し、集積された翻訳データは、Japanize の Mozilla Firefox 版拡張機能あるいは User JavaScript をインストールしている3万人以上のアクティブユーザー注2に配信されています。

 本日の対応ソフトウェア公開により、Mozilla Firefox のみならず Internet Explorer でも、簡単に Japanize を使えるようになりました注3。Japanize を利用することで、今後、より一層多くの方々に日本語でインターネットをお楽しみいただけるようになれば、開発者としてこれに勝る喜びはございません。

続きを読む "Japanize - Internet Explorer に対応しました"

投稿者 kazuho : 2007年11月16日 12:12 | コメント (4) | トラックバック (2) このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

2007年11月14日

CGI::Application 用にディスパッチャ兼パーマリンクジェネレータを書いてみた

 パーマリンク生成とディスパッチャが同居しているようなウェブアプリケーションのフレームワークはないのかな、という話を同僚の山口さんに振ったところ、「以前 Catalyst::Plugin::BuildURI というモジュールを書いたよ」という答えがかえってきました。でも今更 Catalyst ベースに書き直すのもなぁ、ということで、青い芝を横目で眺めつつ、CGI::Application 用のディスパッチャ兼パーマリンクジェネレータを書いてみました。

CGI-Application-URIMapping-0.02.tar.gz

 使い方は以下のような感じです。各モジュールの先頭で register してやることで、ハンドラのマッピングとパーマリンク生成関数のインストールが行われます。ディスパッチャとパーマリンク生成機構が一体になっているので、

  • フォーム入力を path_info に正規化
  • クエリパラメータを必要なもののみ並べ直す
  • 一部のパラメータのみを変更した相対リンクを作る
といったことが簡単にできます。いまだに CGI::Application を使っている方は、お試しいただければ幸いです。

続きを読む "CGI::Application 用にディスパッチャ兼パーマリンクジェネレータを書いてみた"

投稿者 kazuho : 2007年11月14日 12:32 | トラックバック (0) このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

2007年11月12日

djbdns にパッチをあてて Anti-DNS Pinning 対策

 Anti-DNS Pinning 攻撃について、以前から DNS キャッシュサーバで対処すべきだよねという話はしていたのですが、ふと思い立って、djbdns 用のパッチを書いてみました (djbdns-antidns-pinning-block.patch)。下のログをご覧いただければ明らかなように、外部の DNS キャッシュに問い合わせると 127.0.0.1 が返ってくるアドレスについて、ローカルホストで動作している DNS キャッシュは 169.254.0.0 という無効なアドレスを返しています。本当は不正なアドレスを削除して NXDOMAIN を返すようにするべきなのでしょうが、パケットサイズの調整等が面倒なので、とりあえずは適当なアドレスを埋め込む方向で。

 このパッチをちゃんとしたものにすべきかどうかはともかくとして、同様の対策はクローラーとかその手のものを運用する場合にも必要になったりします。そもそもインターネット上にあるDNSサーバがプライベートアドレスを返してくるというのがおかしいのですから、DNS キャッシュレベルでの対策が早く一般化すればいいなと思います。もっとも、Gungho 等、自前で対策コードを実装しているソフトもあったりするんですけど :-p

続きを読む "djbdns にパッチをあてて Anti-DNS Pinning 対策"

投稿者 kazuho : 2007年11月12日 16:09 | トラックバック (0) このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

2007年11月08日

Re: for 文を setTimeout に変換する

 for 文を setTimeout に変換する - IT戦記の件。おもしろい。自分だったらこう書くかなと思いました。

続きを読む "Re: for 文を setTimeout に変換する"

投稿者 kazuho : 2007年11月08日 16:19 | トラックバック (2) このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

2007年11月07日

メッセージキュー事始め in Perl - コマンドラインクライアントを作ってみた

 メッセージキューの勉強をかねて STOMP のコマンドラインクライアントを書いてみました。STOMP だから ActiveMQ とも通信可能だろうし、動作確認やテスト用のスタブ作成などに使えるはず。ソースはこちら: stompy

1. メッセージキューを起動 (POE::Component::MessageQueue を使用)

% /usr/bin/mq.pl --data-dir /tmp/mq

2. キューに書き込み

% echo 'hello 1' | ./stompy --destination=/queue/test
% echo 'hello 2' | ./stompy --destination=/queue/test
% echo 'hello 3' | ./stompy --destination=/queue/test

3. キューから読み込み

% ./stompy --subscribe=/queue/test
hello 1
hello 2
hello 3
^C
% 

続きを読む "メッセージキュー事始め in Perl - コマンドラインクライアントを作ってみた"

投稿者 kazuho : 2007年11月07日 16:16 | トラックバック (0) このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク