2005年10月28日金曜日

Sledge::Plugin::IfModifiedSince

ひさしぶりにSledgeのプラグインを書いてみました。


Sledge::Plugin::IfModifiedSince 0.01
<追記 date="2005/10/30">上のリンク先が404だったのを直しておきました。失礼しました</追記>


If-Modified-Sinceヘッダからコンテンツが更新されたかを判定するif_modified_sinceメソッドと、レスポンスとしてNot Modifiedを返すnot_modifiedメソッドをPagesクラスにインポートします。

各メソッドはこんな感じで使います。

>

package Your:Pages;
use Sledge::Plugin::IfModifiedSince;

sub dispatch_foo {
my $self = shift;

my $last_modified_epoch = ...;

unless ( $self->if_modified_since($last_modified_epoch) ) {
$self->not_modified;
return;
}
}
<

If-Modified-Sinceを投げてくれるやさしいエージェントにはこちらもやさしくしないとってことでちょこっと書いてみました。



2005年10月27日木曜日

Shibuya Perl Mongers テクニカルトーク #6

Perlっ子なら誰もが参加したいであろうShibuya Perl Mongersテクニカルトークの6回目、Shibuya Perl Mongers テクニカルトーク #6が11月2日に開催されるそうなので、僕も早速申し込みました。

miyagawaさんのSixApartのカルチャーと開発手法はぜひ聞いてみたい!
Ajax,Catalystなどの旬な技術の紹介も面白そうですし、今回もおなかいっぱいになりそうなこゆーい内容になってます。







2005年10月13日木曜日

マクロメディアから「Studio 8 日本語版」発売

12日にマクロメディアからStudio 8 日本語版が発売されましたね。

Dreamweaver8はCSSの編集機能が強化されたり、ガイドが使えるようになったり、アクセシビリティのチェックができたりとかなり機能が強化されているようです。
CSSの編集はFirefoxのプラグインを使ってやってたので、今回のバージョンアップでどれだけ、簡単にCSSをいじることができるようになったのか楽しみ。
トライアル版がダウンロードできるので、早速試してみたいと思います。

マクロメディア「Studio 8 日本語版」はケータイやビデオなどに注力--RSSもサポート - CNET Japan



Sleipnir2.0正式版を使ってみた

ちょっと前にリリースされたらしいSleipnir2.0を使ってみました。最近はHTMLとCSS,JavaScriptをいじることが多くなったので、Firefoxを常用していたのですが、それに比べるとこのSleipnir2.0、かなりさくさく動く印象です。
あまりいじっている時間がないので、インストールして、特に何も設定せずデフォルトの状態で使用していますが、マウスジェスチャーも最初から使えるし、タブを開いたままブラウザを閉じても次回起動時に閉じたときの状態を復元してくれるので、十分便利に使えます。それにCPUもそんなに使っていない感じ。

かなーりいい感じです。

via: タブブラウザ Sleipnir 公式ページ(上級者向け)



2005年10月3日月曜日

MT3.2をapacheのハンドラとして動かす

MT3.2のユーザーインターフェースが秀逸だと聞いて、どうしても見たくなり、hori-uchi.comのMTを3.2へバージョンアップしてみました。


すると、数回アクセスすると、502 Proxy Errorが出るように。。

hori-uchi.comはフロントにApache2.0を置きここでhtmlなどの静的なコンテンツを処理し、バックエンドのapache1.3+mod_perlでApache::Registryを使ったCGIのエミュレート環境でMovableTypeを動かしています。
バックエンドへのリクエストの受け渡しはmod_proxyを使って行っています。

この構成の構築方法は
Techknow Movable Type: Apache 2.0 mod_proxy によるリバース・プロキシの構築
に詳しく解説されています。


502のエラーが出たときのapacheのログを見ると、バックエンドは正常にレスポンスを返していますが、それを受け取るフロントがおかしなレスポンスだと判断し、502をクライアントに返しているようです。


そこで「MT3.2 mod_perl」でググってみると次のようなエントリが見つかりました。

Movable Type 3.2 User Manual: Running Movable Type With mod_perl

MT3.2のマニュアルの一部です。
内容はMT3.2をmod_perlで動かして高速化ってな話ですが、MTをapacheのハンドラとして動かしてより高速化するという内容まで書いてあります。
apacheのハンドラとして動かせばApache::Registryを使ったCGIのエミュレート環境より高速に動きますし、これで502のエラーもなくなるかもと思い、早速実践。


上記エントリの内容をそのまま実践しました。ただ一点、mt.cfgのCGIPathは
http://my.server.com/mt/でなく、http://my.server.com/mt/appにする必要がありました。

訂正:上記マニュアルの内容に加えて、mt.cfgに
>

AdminScript app
<
の一行を追加する必要がありました。


設定を完了し、apacheを再起動すると、MTの動作が高速なったうえ、502のProxyErrorもでなくなりました。めでたしめでたし。

でもなんでProxyErrorが出たのか納得のいく答えがわからず、ちょっと消化不良ぎみ。。