2004-03-27 の「サイヴァリア2をシーサイドでプレイ」などで書いたサイヴァリア2がとうとう PS2 で発売になる。これでまた家でレベラできる。
『サイヴァリア2』がPS2に / ファミ通.com
http://www.famitsu.com/game/coming/2004/09/20/104,1095665670 ...
2004-02-28 に書いたドリームキャスト版のサイヴァリア2は買おうかどうかさんざん迷ったけど、結局買わなかった。PS2 で出るならば、これはもう必ず買う。ところで、スペシャルキャプチャ DVD って、全国トップレベルのプレイヤーのプレイが収録されてるのかな。ユセミ氏とか ISO氏とか。
ドリームキャスト版のサイヴァリア2は買わなかったけど、サントラは買った。コピーコントロール CD (CCCD) じゃないってことを確認できたしね。サントラの感想は 2004-04-04 に「サイヴァリア2 サウンドトラック レビュー」として書いた。3曲目 WeakBoson-GorgeCity と 4曲目の Boss#01 は車で聴く音楽の定番となっている。
『サイヴァリア2』がPS2に / ファミ通.com
http://www.famitsu.com/game/coming/2004/09/20/104,1095665670 ...
サイヴァリア2 アルティメットファイナル
サクセス
対応機種 プレイステーション2
発売日 12月9日発売予定
価格 6980円[税込]
ジャンル シューティング / SF
備考 スペシャルキャプチャDVD同梱
2004-02-28 に書いたドリームキャスト版のサイヴァリア2は買おうかどうかさんざん迷ったけど、結局買わなかった。PS2 で出るならば、これはもう必ず買う。ところで、スペシャルキャプチャ DVD って、全国トップレベルのプレイヤーのプレイが収録されてるのかな。ユセミ氏とか ISO氏とか。
ドリームキャスト版のサイヴァリア2は買わなかったけど、サントラは買った。コピーコントロール CD (CCCD) じゃないってことを確認できたしね。サントラの感想は 2004-04-04 に「サイヴァリア2 サウンドトラック レビュー」として書いた。3曲目 WeakBoson-GorgeCity と 4曲目の Boss#01 は車で聴く音楽の定番となっている。
- ドリームキャスト版のサイヴァリア2
サイヴァリアといえば打ち上げ花火のような弾幕。ドリームキャスト版のサイヴァリア2。amazon の弾幕画像はなかなか綺麗なのでリンクしておく。- XBOX 版のサイヴァリア2
XBOX は持ってないからなあ・・・。* SET IDENTITY_INSERT で IDENTITY に任意の値を設定
この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [MS SQL Server]
IDENTITY を設定して自動的に連番を振るようにしたカラムに、任意の値を INSERT したい。SET IDENTITY_INSERT を ON にすれば可能だ。
SET IDENTITY_INSERT
http://www.microsoft.com/japan/msdn/library/ja/tsqlref/ts_se ...
上記クエリの実行結果。自動的に max() を取ってシーケンスの値を更新してくれるようだ。
SET IDENTITY_INSERT
http://www.microsoft.com/japan/msdn/library/ja/tsqlref/ts_se ...
テーブルの ID 列に明示的な値を追加することを許可します。
セッション内の 1 つのテーブルのみが IDENTITY_INSERT プロパティを ON に設定できます。あるテーブルで既にこのプロパティが ON に設定されている状態で、別のテーブルに対して SET IDENTITY_INSERT ON ステートメントを実行すると、MicrosoftR SQL Server? は、SET IDENTITY_INSERT が既に ON であるというエラー メッセージを返し、このプロパティが ON に設定されているテーブルをレポートします。
挿入する値がテーブルの現在の ID 値を超える場合は、SQL Server は自動的に、新しく挿入された値を現在の ID 値として使います。
SET IDENTITY_INSERT は、解析時ではなく実行時に設定されます。
- SET IDENTITY_INSERT サンプル
DROP TABLE identity_test;
GO
CREATE TABLE identity_test (
serialnum int IDENTITY (100, 1) PRIMARY KEY,
num int
);
INSERT INTO identity_test (num) VALUES (101);
INSERT INTO identity_test (num) VALUES (102);
SET IDENTITY_INSERT identity_test ON;
INSERT INTO identity_test (serialnum, num) VALUES (128, 128);
SET IDENTITY_INSERT identity_test OFF;
INSERT INTO identity_test (num) VALUES (104);
SELECT * FROM identity_test;
上記クエリの実行結果。自動的に max() を取ってシーケンスの値を更新してくれるようだ。
serialnum num
----------- -----------
100 101
101 102
128 128
129 104
2004-09-12 に手に入れた iPod M9282J/A は、USB1.1 で PC と接続して使っている。
私のマシンは古いので、IEEE1394 や USB 2.0 などというハイカラなインターフェイスは装備していない。少し前なら 2004-06-16 に借りた玄人指向の IEEE1394 インターフェイスカード IEEE1394V2-PCI を装備していたが、既に返してしまった。
というわけで私のマシンでは USB1.1 とシリアルポート、パラレルポート、イーサネットしかない。iPod 同梱のマニュアルには IEEE1394 か USB 2.0 が必要と書いてある。ダメもとで USB 1.1 で iPod を繋いでみたら、問題なく認識された。とりあえずエラーや誤動作なしで稼働中だ。充電もできている。
iPod: USB 1.1 接続を使用する
http://til.info.apple.co.jp/cgi-bin/WebObjects/TechInfo.woa/ ...
アップルの提案する iPod 生活には、遅い USB 1.1 など眼中にないって事のようだ。確かに、USB 1.1 で iPod を接続した場合は遅い。理論値 480Mbps の USB2.0 に対し、USB 1.1 は理論値 12Mbps なんだから当たり前だけどね。
速い Mac に IEEE1394 で iPod を接続した場合、CD 一枚を取り込んで iPod に転送するまで数十秒で終わってしまうこともあるそうな。私の環境からすれば信じられない速度だ。
気になるのは、上記ページにあった以下の一文。
USB 2.0 も USB 1.1 も供給できる電力は同じ 500mA のはずだ。それなのに何で「長い時間がかかる」という表現を使っているんだろう? ちなみに、私の USB 1.1 環境ではバッテリー残量ゼロからフル充電まで約4時間かかる。長く感じるかもしれないが、PC を常時稼働させているので気にならない。
私にとっては実用上問題がないので、しばらくは USB 1.1 の環境で iPod を使うことにした。
マザーボード: ASUS CUWE i810E
OS: Windows2000 SP4
USB: USB 1.1
- IEEE1394 と USB 2.0 は「推奨」環境
私のマシンは古いので、IEEE1394 や USB 2.0 などというハイカラなインターフェイスは装備していない。少し前なら 2004-06-16 に借りた玄人指向の IEEE1394 インターフェイスカード IEEE1394V2-PCI を装備していたが、既に返してしまった。
というわけで私のマシンでは USB1.1 とシリアルポート、パラレルポート、イーサネットしかない。iPod 同梱のマニュアルには IEEE1394 か USB 2.0 が必要と書いてある。ダメもとで USB 1.1 で iPod を繋いでみたら、問題なく認識された。とりあえずエラーや誤動作なしで稼働中だ。充電もできている。
- iPod のドキュメントをあたってみる
アップルのウェブサイトでは、USB 1.1 でも使用できる場合がある、という書き方をしている。iPod: USB 1.1 接続を使用する
http://til.info.apple.co.jp/cgi-bin/WebObjects/TechInfo.woa/ ...
コンピュータのなかには、一部の iPod モデルと USB 1.1 接続を介して接続できるものがありますが、この方法は推奨されていません。
Dock コネクタを装備した iPod モデル、iPod mini、または iPod (Click Wheel) は USB 1.1 接続を介してコンピュータと接続できる場合がありますが、USB 1.1 の転送速度は非常に遅いためこの方法は推奨されていません。最高の環境を得るためには、USB 2.0 または FireWire を使って iPod をお使いのコンピュータと接続してください。なお、この際に USB 2.0 または FireWire カードの購入と取り付けが必要になる場合があります。
アップルの提案する iPod 生活には、遅い USB 1.1 など眼中にないって事のようだ。確かに、USB 1.1 で iPod を接続した場合は遅い。理論値 480Mbps の USB2.0 に対し、USB 1.1 は理論値 12Mbps なんだから当たり前だけどね。
速い Mac に IEEE1394 で iPod を接続した場合、CD 一枚を取り込んで iPod に転送するまで数十秒で終わってしまうこともあるそうな。私の環境からすれば信じられない速度だ。
気になるのは、上記ページにあった以下の一文。
4. 近くに電源がないときに iPod mini を充電する必要のある場合、電源供給型の USB 1.1 ポートに接続することができます。ただし、充電には長い時間がかかります。
USB 2.0 も USB 1.1 も供給できる電力は同じ 500mA のはずだ。それなのに何で「長い時間がかかる」という表現を使っているんだろう? ちなみに、私の USB 1.1 環境ではバッテリー残量ゼロからフル充電まで約4時間かかる。長く感じるかもしれないが、PC を常時稼働させているので気にならない。
私にとっては実用上問題がないので、しばらくは USB 1.1 の環境で iPod を使うことにした。
- iPod と PC の環境
iPod: Apple iPod 20GB (Click Wheel) Mac&PC [M9282J/A] 第4世代 iPodマザーボード: ASUS CUWE i810E
OS: Windows2000 SP4
USB: USB 1.1
GRIP は「リッジレーサー2」でレース中に聴ける曲の一つ。作曲は佐野電磁ことsanodgこと佐野信義氏。氏は作曲当時はナムコの社員で、現在は株式会社キャビア http://www.cavia.com/ に所属とのこと。
10年前の今日、つまり1994年9月21日はリッジレーサー2のサウンドトラックの発売日だった。そのとき以来ずっと GRIP は私のお気に入りの曲だ。
この10年の間に何回この曲を聴いただろうか。最低でも週に一回は聞いてるはず。この曲はフルで8分15秒あるので、52週 * 10年 * 8分 = 約4000分。最低でも丸三日間通してこの曲を聴いている事になる。実際はこの倍以上の時間を GRIP と共にしてきたはずだ。それでも飽きない。
00:13 までの期待感いっぱいのイントロ。
00:14 から 01:06 までの力強い低音。
01:06 から02:00 までの直線的な疾走感。
02:19 からの強烈なトリップ感。
トラックの抜き差しで盛り上げていくところとか、ドラム系の細かいおかず、02:06 からのガラッと別の展開に変わるところなど、とにかく私の琴線をわし掴みにされてるようだ。
そしてこれらが綺麗に繋がって形成される GRIP の世界。要するに全部好きなわけだ。佐野電磁は本当に天才だと思う。佐野電磁氏本人が wiki で書いていたように、天才になった、と言う方が正確かもしれないけど。
00:08 ぶーーーーん
00:11 ドラムが入ってくる。
00:13 GRIP 起動完了。GO!
00:19 ハイハットが連打されるところがかっこいい。
00:25 スネアの連打とシンバル。すごく気持ちいい。
00:26 ウネウネ系のベースが入る。
00:40 ぷぷぷぷぷぷーぷ
00:53 レゾナンスしたような音が左右で鳴る。
01:06 シンセが入る。疾走している感じ。
01:19 バスドラが入る。シフトアップしてさらに加速するイメージ。
01:33 ベースとパッドがくるくる回って暴走状態。
01:44 アイスブリンクな音が入ってくる。
02:00 シンバルで束の間の静寂。
02:06 展開が変わる。ここからがヤバイ。
02:13 ハイハット。
シンセ。これを聴いていると魂(ゴースト)を撫で回されるような感じがする。
02:19 はにゃにゃーーーん
02:22 いゆぅーーうーー
02:26 うわぁぁーーーぁん
02:29 ゆぉーーーーん
もう二回はにゃーん。
02:32 はにゃーん、いゆぅーうーー、うわぁぁーーーぁん、ゆぉーーーーん。
02:45 はにゃにゃーーーん、いゆぅーうーー、うわぁぁーーーぁん、ゆぉーーーーん。
02:59 うおぉーーーーーん。
03:06 ここで一ループ終わり。でも8分15秒もある曲だから、まだまだ浸れる。
http://www.wikiroom.com/sanodg/?%A5%EA%A5%C3%A5%B8%A5%EC%A1% ...
本当に良い曲だよなあ。そうそう、最近佐野電磁氏は Wiki じゃなくて mixi に日記やコメントを書くようになっているので、追いかけたい人は mixi もチェックすべし。
原曲。演奏時間 8分15秒。聴いている間は至福。中古 CD ショップを5店くらい探し回れば巡り会えるかもしれない。ヤフーオークションや amazon のマーケットプレイスの方が確実かな。
リッジレーサーのレーザーディスクのサントラなのでリッジレーザー。ミックスが違うので結構楽しめる。RareHero のキメであるラリー X のフレーズから、一気に GRIP に変わる部分の繋ぎ方が素晴らしい。
ゲームの CD だけど、音楽部分は CD-DA なので CD プレイヤーで聞ける。中古屋でこれらを買ってきてサントラの代わりにするのが一番簡単な入手法なのかもしれない。確認してないが、もしかしたらサントラと比べると収録時間が短いかもしれない。
こちらは廉価版。内容は変わらないはず。
プレイステーション版リッジレーサー4には、初代リッジレーサーを秒間60フレームで描画するように改良した リッジレーサーハイスペックバージョンがおまけで付いていた。
このハイスペックバージョンにはレース中 BGM として、初代リッジレーサーからは Ridge Racer を、リッジレーサー2 からは GRIP を収録している。GRIP の演奏時間は 5分1秒とサントラよりは短い。曲の終わりも強制フェードアウトなのだが、GRIP の良さを味わうことはできるだろう。
ハイスペックバージョンは秒間60フレームで描画しているため、グラフィックというか動きの出来が良い。一度ハイスペックバージョンをやってしまうとノーマルバージョンには絶対に戻れなくなってしまう。
後に廉価版の PS one Books R4-RIDGE RACER TYPE4- が発売されているが、これにおまけディスクが付いているかどうかは未確認。
プレイステーション2の Ridge Racer V には、GRIP Millennium という曲がある。確かグランプリで優勝したときのリプレイ時に流れる曲で、レース中に聴ける物ではなかったはず。それでも聞き慣れた GRIP のメロディが奏でられたときは感動した。
佐野電磁ファンとしては氏作曲の Paris に目がいくが、今回は GRIP についての記事なので触れない。でも Paris も良い曲だよなあ。
まさに全部入り! ナムコ、PSP用「リッジレーサーズ」 ワイヤレスバトル、サウンド、そして新マシンやコースも紹介
http://www.watch.impress.co.jp/game/docs/20041206/rrs.htm
上記記事によると、PSP のリッジレーサーズには RIDGE RACER 2 の Grip が収録されているとのこと。佐野電磁さんの新曲として Chrome Drive という曲も入ってる模様。というか、豪華過ぎだよ。リッジレーサーズのサントラはどうなるんだろう? 2枚組で全曲収録してくれたら買っちゃうだろうなー。
2005年3月17日追記。サントラが発売されることになった。これを受けて、 2005-03-17 に以下の記事を書いた。「リッジレーサーズのサントラ リッジレーサーズ ダイレクト・オーディオ発売決定」
- リッジレーサー2 サントラ 10周年
10年前の今日、つまり1994年9月21日はリッジレーサー2のサウンドトラックの発売日だった。そのとき以来ずっと GRIP は私のお気に入りの曲だ。
この10年の間に何回この曲を聴いただろうか。最低でも週に一回は聞いてるはず。この曲はフルで8分15秒あるので、52週 * 10年 * 8分 = 約4000分。最低でも丸三日間通してこの曲を聴いている事になる。実際はこの倍以上の時間を GRIP と共にしてきたはずだ。それでも飽きない。
- GRIP の良さ
私はなぜ GRIP に惹かれるのか。好きなところを列挙してみる。00:13 までの期待感いっぱいのイントロ。
00:14 から 01:06 までの力強い低音。
01:06 から02:00 までの直線的な疾走感。
02:19 からの強烈なトリップ感。
トラックの抜き差しで盛り上げていくところとか、ドラム系の細かいおかず、02:06 からのガラッと別の展開に変わるところなど、とにかく私の琴線をわし掴みにされてるようだ。
そしてこれらが綺麗に繋がって形成される GRIP の世界。要するに全部好きなわけだ。佐野電磁は本当に天才だと思う。佐野電磁氏本人が wiki で書いていたように、天才になった、と言う方が正確かもしれないけど。
- GRIP の素晴らしさを曲の時系列に沿って解説
00:00 アンダーワールドの REZ をフィーチャーしたイントロ。00:08 ぶーーーーん
00:11 ドラムが入ってくる。
00:13 GRIP 起動完了。GO!
00:19 ハイハットが連打されるところがかっこいい。
00:25 スネアの連打とシンバル。すごく気持ちいい。
00:26 ウネウネ系のベースが入る。
00:40 ぷぷぷぷぷぷーぷ
00:53 レゾナンスしたような音が左右で鳴る。
01:06 シンセが入る。疾走している感じ。
01:19 バスドラが入る。シフトアップしてさらに加速するイメージ。
01:33 ベースとパッドがくるくる回って暴走状態。
01:44 アイスブリンクな音が入ってくる。
02:00 シンバルで束の間の静寂。
02:06 展開が変わる。ここからがヤバイ。
02:13 ハイハット。
シンセ。これを聴いていると魂(ゴースト)を撫で回されるような感じがする。
02:19 はにゃにゃーーーん
02:22 いゆぅーーうーー
02:26 うわぁぁーーーぁん
02:29 ゆぉーーーーん
もう二回はにゃーん。
02:32 はにゃーん、いゆぅーうーー、うわぁぁーーーぁん、ゆぉーーーーん。
02:45 はにゃにゃーーーん、いゆぅーうーー、うわぁぁーーーぁん、ゆぉーーーーん。
02:59 うおぉーーーーーん。
03:06 ここで一ループ終わり。でも8分15秒もある曲だから、まだまだ浸れる。
- 佐野電磁氏ご本人の Wiki からコメントを抜粋。
リッジレーサー2 / Ridge Racer 2 - sanodghttp://www.wikiroom.com/sanodg/?%A5%EA%A5%C3%A5%B8%A5%EC%A1% ...
死ぬ前に思い出す自作曲ベストテンノミネート曲。
(略)
「僕、Grip好きだったんですよ」というコメントには「奇遇ですね僕もです」と本気で返す。
あー本当に良い曲だ。
本当に良い曲だよなあ。そうそう、最近佐野電磁氏は Wiki じゃなくて mixi に日記やコメントを書くようになっているので、追いかけたい人は mixi もチェックすべし。
- GRIP が収録されている CD
以下、GRIP またはその派生作品を聴けるものをメモしておく。- ナムコ ゲームサウンドエクスプレス Vol.14 リッジレーサー2で聴く。
原曲。演奏時間 8分15秒。聴いている間は至福。中古 CD ショップを5店くらい探し回れば巡り会えるかもしれない。ヤフーオークションや amazon のマーケットプレイスの方が確実かな。
- RIDGE LASER (リッジレーザー)で聴く
リッジレーサーのレーザーディスクのサントラなのでリッジレーザー。ミックスが違うので結構楽しめる。RareHero のキメであるラリー X のフレーズから、一気に GRIP に変わる部分の繋ぎ方が素晴らしい。
- プレイステーション版 リッジレーサーレボリューションのゲームディスクで聴く
ゲームの CD だけど、音楽部分は CD-DA なので CD プレイヤーで聞ける。中古屋でこれらを買ってきてサントラの代わりにするのが一番簡単な入手法なのかもしれない。確認してないが、もしかしたらサントラと比べると収録時間が短いかもしれない。
こちらは廉価版。内容は変わらないはず。
- プレイステーション版リッジレーサー4 のおまけディスクで聴く
プレイステーション版リッジレーサー4には、初代リッジレーサーを秒間60フレームで描画するように改良した リッジレーサーハイスペックバージョンがおまけで付いていた。
このハイスペックバージョンにはレース中 BGM として、初代リッジレーサーからは Ridge Racer を、リッジレーサー2 からは GRIP を収録している。GRIP の演奏時間は 5分1秒とサントラよりは短い。曲の終わりも強制フェードアウトなのだが、GRIP の良さを味わうことはできるだろう。
ハイスペックバージョンは秒間60フレームで描画しているため、グラフィックというか動きの出来が良い。一度ハイスペックバージョンをやってしまうとノーマルバージョンには絶対に戻れなくなってしまう。
後に廉価版の PS one Books R4-RIDGE RACER TYPE4- が発売されているが、これにおまけディスクが付いているかどうかは未確認。
- リッジレーサー V で優勝して聴く
プレイステーション2の Ridge Racer V には、GRIP Millennium という曲がある。確かグランプリで優勝したときのリプレイ時に流れる曲で、レース中に聴ける物ではなかったはず。それでも聞き慣れた GRIP のメロディが奏でられたときは感動した。
佐野電磁ファンとしては氏作曲の Paris に目がいくが、今回は GRIP についての記事なので触れない。でも Paris も良い曲だよなあ。
- PSP リッジレーサーズで聴く
2004年12月6日追記。まさに全部入り! ナムコ、PSP用「リッジレーサーズ」 ワイヤレスバトル、サウンド、そして新マシンやコースも紹介
http://www.watch.impress.co.jp/game/docs/20041206/rrs.htm
「リッジレーサーズ」には、歴代「リッジ」シリーズに参加したコンポーザーが再集結し、新曲、過去の名曲のアレンジ、さらに過去の名曲のベストバージョンと全30曲が収録されている。参加コンポーザーは以下の通り。 サウンドディレクターの大久保博氏、中西哲一氏、三宅優氏、中川浩二氏、細江“SamplingMasters MEGA”慎治氏、佐宗“SamplingMasters AYA”綾子さん、相原“J99”隆行氏、佐野“sanodg”信義氏、高橋“SOLIDSTATE”弘太氏、境亜寿香さんとナムコサウンドの伝説を作り上げてきた人たちだ。
上記記事によると、PSP のリッジレーサーズには RIDGE RACER 2 の Grip が収録されているとのこと。佐野電磁さんの新曲として Chrome Drive という曲も入ってる模様。というか、豪華過ぎだよ。リッジレーサーズのサントラはどうなるんだろう? 2枚組で全曲収録してくれたら買っちゃうだろうなー。
2005年3月17日追記。サントラが発売されることになった。これを受けて、 2005-03-17 に以下の記事を書いた。「リッジレーサーズのサントラ リッジレーサーズ ダイレクト・オーディオ発売決定」
先日 2004-09-08 の 「ErrorDocument を利用した mod_rewrite の代替」に続き、mod_rewrite を使えない環境でのパス変換の話。
モジュール一覧 - Apache HTTP サーバ
http://httpd.apache.org/docs-2.1/ja/mod/
役に立ちそうなのは、mod_actions かなあ。Apache CORE ではないけど。
mod_actions - Apache HTTP サーバ Action ディレクティブ
http://httpd.apache.org/docs-2.1/ja/mod/mod_actions.html#act ...
core - Apache HTTP サーバ ForceType ディレクティブ
http://httpd.apache.org/docs-2.1/ja/mod/core.html#forcetype
もちろん FilesMatch は Files と ~ でもいい。
これで正規表現にマッチした場合は text/html として取り扱われて read.cgi に処理が振り分けられる。
- ErrorDocument 法はエラーログに出力されてしまうことが悩みの種
ErrorDocument を使うことでリダイレクトというかパス変換は実現できたのだが、やはりエラーログにエラーが山ほど書かれるのは精神衛生上良くない。今まで「何かあったら access_log と error_log をすぐ確認すること。」と口を酸っぱくして教えてきたのに、肝心のログがノイズだらけでは原因追及もままならない。access_log には 200 OK のステータスコードで記録されてるのに、error_log には しっかりと 404 が記録されるという矛盾もあるしね。- そこで Action ですよ
ErrorDocument を使ったのは、とりあえず Google で調べたらすぐ見つかったから。でも、もっと良い方法があるかもしれない。Apache のマニュアルを読んでみよう。幸いなことに日本語訳されたマニュアルもあるし。モジュール一覧 - Apache HTTP サーバ
http://httpd.apache.org/docs-2.1/ja/mod/
役に立ちそうなのは、mod_actions かなあ。Apache CORE ではないけど。
mod_actions
メディアタイプやリクエストメソッドに応じて CGI スクリプトを実行する機能を提供
mod_actions - Apache HTTP サーバ Action ディレクティブ
http://httpd.apache.org/docs-2.1/ja/mod/mod_actions.html#act ...
このディレクティブは action-type がリクエストされたときに cgi-script が実行されるという動作を追加します。cgi-script は ScriptAlias や AddHandler によって CGI スクリプトに設定されたリソースへの URL-path です。 Action-type には handler か MIME コンテントタイプを指定できます。リクエストされたドキュメントの URL とファイルのパスは標準 CGI 環境変数 PATH_INFO と PATH_TRANSLATED を使って伝えられます。 特定のリクエストに対して使用されるハンドラへは、 REDIRECT_HANDLER 変数を使って渡せます。
- ForceType で MIME タイプを強制する
なるほど。.html がリクエストされたら特定のスクリプトに振り分けられるわけだ。ただ、私の場合はリクエストに拡張子がない。拡張子がない場合でも text/html として扱ってやれれば良いんだけど・・・。あ、この ForceType を組み合わせればいいかな。core - Apache HTTP サーバ ForceType ディレクティブ
http://httpd.apache.org/docs-2.1/ja/mod/core.html#forcetype
ForceType ディレクティブこれを使えば、あらゆるリクエストを任意の MIME タイプに固定できる。
説明: すべてのマッチするファイルが指定の MIME コンテントタイプで送られるようにする
構文: ForceType MIME-type|None
コンテキスト: ディレクトリ, .htaccess
上書き: FileInfo
ステータス: Core
モジュール: core
互換性: Apache 2.0 で core に移動
.htaccess や <Directory> セクション、 <Location> セクション、 <Files> セクションに 書かれた場合、このディレクティブはそこにあるすべてのファイルが MIME-type で指定されたコンテントタイプとして扱われるようにします。たとえば、 GIF ファイルばかりのディレクトリがあって、すべてのファイルを .gif で終わらせたくはないときに、以下のものを使用します:
- .htaccess サンプル
<FilesMatch "^[0-9]{5}$">
ForceType text/html
Action text/html /cgi-bin/read.cgi
</FilesMatch>
もちろん FilesMatch は Files と ~ でもいい。
これで正規表現にマッチした場合は text/html として取り扱われて read.cgi に処理が振り分けられる。
- mod_actions 様々
私が使っているサーバでは上記設定で問題なくパス変換できた。しかも ErrorDocument を使った方法と違って、エラーログに 404 が延々と記録されることもない。mod_actions が使えるならこれがいいな。アップルの携帯型音楽プレイヤー iPod M9282J/A を手に入れた。
ただ単に手に入れただけではない。入手する過程で、私は自分の『運』を乗り越えることができた。
- 私はくじ運・ビンゴ運が悪い
私はくじ運やビンゴ運があまり良くない。ファミコン版ドラゴンクエストIV の購入のときもそうだった。あまりの人気に、近所の電気屋では抽選での販売となった。私と弟が参加したが、結局私は大外れ。弟が運良く購入権を獲得したのでなんとか入手し、ドラクエ4をプレイすることはできた。しかし、私は抽選後ずっと、自分のくじ運の無さを痛感していた。
今の仕事をするようになってからは、ビンゴ運の無さを思い知らされることとなる。毎年秋に旅行があり、その旅程には豪華賞品を争奪するビンゴがある。今までに逃した賞品はプレイステーション2やゲームキューブなど。毎回涙を飲んでいる。
みんなが狙う最高額賞品を当てられないのは仕方がない。問題は、私の戦績にある。私はほぼ毎回、ビンゴになるのは一番最後、すなわち最下位だ。最下位でも選択権が無いだけで、なんらかの賞品をもらうことはできる。しかしそれに甘んじていては私は一生ビンゴ運の悪さを引きずったまま生きることになる。それは何としてでも避けたい。私は、自分の悪運を乗り越える必要がある。
- 今年こそ
今年の秋の旅行の目玉賞品は iPod だ。賞品を決めるアンケートで私が希望した物だ。iPod をこの手に収めることができれば、ぼくは自分の悪運を乗り越えられるってことだッ! ぼくはみんなが狙う目玉賞品をビンゴで当てられる大人になりたいッ!- クアッド・リーチ
ビンゴが始まる。ビンゴのルールは今までと同じ単純明快なもの。ビンゴになった順に、好きな賞品を選べるというものだ。今回のビンゴ参加者は13人。本当は14人だったのだが、今日の朝になって寝坊して来られなくなった人がいる。当人には悪いが、おかげで競争率が少し下がった。
ビンゴカードが配られる。もう既に勝負は始まっている。気合いを入れてカードを選ばなければならないが、最初から異常に高いテンションでいると肝心なときに冷静な判断が下せなくなる。ここは無心で行くべきだろう。私が選んだカードは No. 1756。この数字が私にとってのラッキーナンバーでありますように。
ビンゴスタート。バスガイドさんがビンゴマシンを回し、ボールに書かれた番号を読み上げていく。滑り出しはまあ悪くない。中央の FREE を含めて、三つほど穴が空いた。ただ、かなりバラバラな位置なのが気になる。
ガイドさんは次々とビンゴマシンを回し、数字を読み上げていく。進むにつれて、4つ穴が空いてリーチを宣言する人も出始めた。私はまだ一つもリーチになっていない。状況はあまり良くない。まずいな。
「49です。」ガイドさんがボールの番号を読み上げる。おおっ、リーチがひとつできた! これでビンゴへの布石は整った。
その後もリーチが続く。ダブルリーチ、トリプルリーチ。クアッドリーチ。周の人もかなりのリーチができている。だれがビンゴになってもおかしくない状況。そこへ、声が上がった。「ビンゴ!」
- 自分の運を乗り越える
なんと、私より先にビンゴになってしまった人が出た。非常にまずい。ビンゴになったのは私よりも若い女の子。しかし音楽にはそれほど興味があるようではなさそうなので、iPod を選ぶ確率はそんなに高くないだろう。さて、彼女は賞品に何を選ぶんだろう?「じゃあ、iPod を・・・」 ちょっと待てぇーッ。私は彼女に問いかける。「君は本当にそれが欲しいのか? 君は本当にその賞品を使うのか?」 聞くところによると、ヤフーオークションで転売するという。なんだそれ。私は彼女への言葉を続ける。「君が本当に欲しいと思うもの、そして君の役に立つと思うものを選ぶんだ。」
彼女は長考に入った。全商品から選べるんだから、それはそれはよく考える必要があるだろう。長考の結果彼女が選んだものは「布団乾燥機」だった。これで最大の危機は去った。しかし、勝負はこれからだ。なぜなら、私がまだビンゴになっていないという事実は変わらないからだ。問題は私自身の悪運にあるのだ。
他人を負かすってのは、そんなにむずかしい事じゃあないんだ・・・・・・・・・。もっとも『むずかしい事』は! いいかい! もっとも『むずかしい事』は! 『自分を乗り越える事』さ! これからが勝負だ。他人の強運などたいした問題ではない。今のようにどうにでもなる。しかし、自分のビンゴだけはどうにもならない。とにかくどこか一列を揃えなければ、ビンゴにはならない。
- ビンゴ!
クアッドリーチのまま、ビンゴは進む。現在私のカードでは、4つの列がビンゴ成立を今か今かと待っている。30、54、70、75、いずれかが来れば、私はビンゴになる。私は、これらの番号が読み上げられて私のカードにビンゴが形成されるビジョンを描く。ビンゴを左右するのは運だけではない。精神の力が戦いを左右する。30、54、70、75。30、54、70、75。さあガイドさん、番号を読み上げてください。「54 です。」やった。ビンゴだ。とうとう私は自分の悪運と決別することができた。意気揚々と iPod を受け取りに行く。コジマ電気のお買い物袋の中に入った立方体のパッケージ。iPod 20GB だ。
このようにして私は iPod を手に入れた。しかし、重要なのは iPod を入手できたことではない。iPod はお金を出せば買える。自分の描くビジョンによって自分の運を乗り越えたことが重要なのだ。ぼくは自分の力で運を変えた・・・ 自分を乗り越えるってのは そーいうことなんだぜ。
- iPod 20GB M9282J/A
私は iPod を手に入れることができた。さあ、どの CD を iPod に入れようか。やはりロバート・マイルズかな。夢が広がる。そして、今回はもう一つ宝物を手に入れた。今回のビンゴを達成した、No.1756のビンゴカードだ。MDR-E888 はソニーのインナーイヤーヘッドホンの最高級モデル。私は MDR-E931 というモデルも持っており、この2機種の違いを試聴してみた。ただの試聴ではなく、私の常用している環境でどれだけ違いが出るか、というのが題目。
常に良いヘッドホンアンプと CD プレイヤーと DAコンバータの組み合わせで聴けるわけじゃない。デスクトップ PC の前面ヘッドホン端子に繋いで聴いているような場合にはどれだけの違いが出るか。それを試してみた。
試聴をして感じたそれぞれの機種の音の傾向とメモを、個々の曲を試聴した感想よりも先に書いておく。
E931は中低域がよく出ている。全体的に少しこもった感じの音。空間の表現やシンバル、スネアなどの音はあまり得意ではないが、バスドラなどはなかなかの迫力で聴ける。値段を考えたら良くできてる。近くのコジマ電気やヤマダ電機で簡単に買えるのもいい。
コードは布で覆われており、絡まりにくい。しかし、左側のコードの根本が折り返されるとすごく弱そうな感じがする。断線はまだ起こっていないが、もし起きるとしたら一番危ないのはこの部分だろう。
私の持っている E931 は MDR-E931 LP のブラック。コード長は 1.2m。2003-07-05 に購入したもの。2000円程度で購入できたので、懐もあまり傷まなかった。購入当初はよく使っていたが、E931 よりも E888 の音の方が私の好みなので、最近ではあまり使わなくなった。
E888 は解像度が高い。音の細かい部分までわかる。ストリングスの和音の一つ一つがきちんと聞こえる。また、音の広がりがよく、気持ちよく響く。
遮音性は低い。声をかけられたときに気づきやすいというメリットはあるが、電車や人混みでの使用には向かないだろう。ドライバ部分の厚みが薄いためか。
私の持っている E888 は MDR-E888SP というモデル。MDR-E888 SP はCD ウォークマンのリモコンに接続して使うように設計されているため、コード長が40cm と短くなっている。これを PC に接続して常用するには長さが足りないので、1.2m のステレオミニジャック延長コードを使っている。音質の面では不利だが致し方ない。amazon の画像はコード長が1.2メートルの MDR-E888 LP だ。ポータブルオーディオ機器に繋ぐのでなければ、MDR-E888 LP の方が取り回しやすいだろう。
購入3年ほど前。価格は六千数百円だったかな。売っているところが少なく、入手性は良くない。店頭でもこのモデルだけは並べられておらず、店員に言わないと出てこなかった。店売りのインナーイヤーヘッドホンの中では比較的高価な物だから、盗難を避けるためかな。ゼンハイザー MX400 や E931 に心変わりして一時期全く使っていなかった時期もあるが、ここ半年以上はもっぱら E888 を使っている。試聴した結果、私の環境では E888 を使う方が好みの音で聴けることも確認できたし。
マシン: Fujitsu FMV E600。このマシンの前面ヘッドホン端子に接続。
プレイヤー: Winamp 5.03a
サウンドカード: SoundMAX Digital Audio
試聴に使う音楽はすべて無圧縮の WAVE ファイル。CDex や Exact Audio Copy などでリッピングしたもの。リッピング時のエラーなどは無し。
ボリュームコントロールのマスターボリュームスライダーは 40%の位置。WAVE のボリュームは曲によって増減。
周辺の騒音は図書館の貸し出しカウンター程度かなあ。キーボードを叩く音やちょっとした話し声はある。
E888 にはスポンジが付属しているが、私は使っていない。低域が強調されるようになるのだが、その反面解像度が落ちてしまうからだ。
2曲目の「Joga」。WAVE ボリューム 50%。ビョーク姉さんのボーカル、ストリングス、バスドラムで構成された曲。
E888。音が混じらず、純粋に聞こえる。ボーカルの息づかい、声の響き具合も手に取るようにわかる。ストリングスが綺麗。
E931も悪くない。バスドラは響くが、決して締まりが悪い音ではない。
3曲目の「RETURN」。スネア、ストリングス、鐘の音、ティンパニ(?) などで構成された曲。WAVE ボリューム 80%。
E888。鐘の音の響き合いとストリングスが綺麗。888 はストリングスが得意なんだな。
E931 は全体的に少しこもった感じで、低域が間延びしている。ストリングスも高域が伸びなくて少し苦しそう。
4曲目の「Somnambulist」。 夢遊病患者という意味だそうだ。エフェクトがかかったボーカル。スネア、バスドラム。
E888 は解像度が高く、鳴ってる音を細かく分析的に聴ける。ただ、低音、とくにバスドラがちょっと弱く感じる。
E931。この曲についてはこもった感じがバスドラとボーカルによく合う。E931の欠点と思える部分が欠点と感じられない。相性が良いとはこのことだな。
5曲目の「ババロア」。WAVE ボリューム 60%。打ち込み。ボーカル、ベース、スチールギター、バスドラ、ハイハット、ストリングスで構成されたスピッツらしくない曲。私はそのスピッツらしくないところが好き。
E888 は解像度の高さを生かしている。ストリングスも綺麗だが、ハイハットを緻密に鳴らしているのが良い。
E931 はバスドラに迫力がある。響かせるようにミックスしてある曲のせいか、931のこもった感じが軽減されている。
2004-07-24 で書いた、攻殻機動隊のサントラ。
8曲目の「GET9」。ブラスとヒップホップ系のボーカル、ギター。
E888 は破綻無くブラスを聞ける。楽器がごちゃごちゃにならず、気持ちよく聴ける。
E931 はベースがこもった感じ。ローファイなリズム系の音がちょっと汚くなる。
1曲目の「Children」。Robert Miles の代表曲。「エピック」や「トランス」といったジャンルに分類される。私の中ではこのジャンルの中で最高の評価。この美しく哀しげなピアノの音は一度聴いたら忘れられない。車に乗るときは欠かせない曲。
E931。こもった感じがする。ベースライン・バスドラが際だつ。スネアやシンバルの細かい部分が潰れる。
E888。ピアノが綺麗。破綻のない音。レゾナンスしていく音も無理なく聞かせる。
この曲はスピーカーで聴いた方がいい気もする。その方が開放感と締まったバスドラを楽しめるし。
8曲目の「雷が鳴る前に」。作詞作曲は槇原敬之だが、まっきー独特のパラノイアな歌詞も、矢野顕子が歌うと柔らかな感じがする。この二面性が実に良い。
E888。 この曲はボーカルにちょっと響きが加えられてるんだけどそれがすごくきれいに響く。ピアノも伴奏としてボーカルを支える。
E931。やはりピアノがこもる。また、ボーカルも888に比べると少しぼやけた感じがする。
常に良いヘッドホンアンプと CD プレイヤーと DAコンバータの組み合わせで聴けるわけじゃない。デスクトップ PC の前面ヘッドホン端子に繋いで聴いているような場合にはどれだけの違いが出るか。それを試してみた。
試聴をして感じたそれぞれの機種の音の傾向とメモを、個々の曲を試聴した感想よりも先に書いておく。
- MDR-E931
E931は中低域がよく出ている。全体的に少しこもった感じの音。空間の表現やシンバル、スネアなどの音はあまり得意ではないが、バスドラなどはなかなかの迫力で聴ける。値段を考えたら良くできてる。近くのコジマ電気やヤマダ電機で簡単に買えるのもいい。
コードは布で覆われており、絡まりにくい。しかし、左側のコードの根本が折り返されるとすごく弱そうな感じがする。断線はまだ起こっていないが、もし起きるとしたら一番危ないのはこの部分だろう。
私の持っている E931 は MDR-E931 LP のブラック。コード長は 1.2m。2003-07-05 に購入したもの。2000円程度で購入できたので、懐もあまり傷まなかった。購入当初はよく使っていたが、E931 よりも E888 の音の方が私の好みなので、最近ではあまり使わなくなった。
- MDR-E888
E888 は解像度が高い。音の細かい部分までわかる。ストリングスの和音の一つ一つがきちんと聞こえる。また、音の広がりがよく、気持ちよく響く。
遮音性は低い。声をかけられたときに気づきやすいというメリットはあるが、電車や人混みでの使用には向かないだろう。ドライバ部分の厚みが薄いためか。
私の持っている E888 は MDR-E888SP というモデル。MDR-E888 SP はCD ウォークマンのリモコンに接続して使うように設計されているため、コード長が40cm と短くなっている。これを PC に接続して常用するには長さが足りないので、1.2m のステレオミニジャック延長コードを使っている。音質の面では不利だが致し方ない。amazon の画像はコード長が1.2メートルの MDR-E888 LP だ。ポータブルオーディオ機器に繋ぐのでなければ、MDR-E888 LP の方が取り回しやすいだろう。
購入3年ほど前。価格は六千数百円だったかな。売っているところが少なく、入手性は良くない。店頭でもこのモデルだけは並べられておらず、店員に言わないと出てこなかった。店売りのインナーイヤーヘッドホンの中では比較的高価な物だから、盗難を避けるためかな。ゼンハイザー MX400 や E931 に心変わりして一時期全く使っていなかった時期もあるが、ここ半年以上はもっぱら E888 を使っている。試聴した結果、私の環境では E888 を使う方が好みの音で聴けることも確認できたし。
- 試聴環境
あくまでも、以下の私の環境でそれぞれの機種がどんな音を出し、どう異なるかを見るのが目的。普遍的で絶対的な E888 と E931 の比較と評価ではない。たとえば聴く場所が電車だったら聞こえ方が変わるし、音楽の種類によってもまた変わるだろう。マシン: Fujitsu FMV E600。このマシンの前面ヘッドホン端子に接続。
プレイヤー: Winamp 5.03a
サウンドカード: SoundMAX Digital Audio
試聴に使う音楽はすべて無圧縮の WAVE ファイル。CDex や Exact Audio Copy などでリッピングしたもの。リッピング時のエラーなどは無し。
ボリュームコントロールのマスターボリュームスライダーは 40%の位置。WAVE のボリュームは曲によって増減。
周辺の騒音は図書館の貸し出しカウンター程度かなあ。キーボードを叩く音やちょっとした話し声はある。
E888 にはスポンジが付属しているが、私は使っていない。低域が強調されるようになるのだが、その反面解像度が落ちてしまうからだ。
- Homogenic / bjork
2曲目の「Joga」。WAVE ボリューム 50%。ビョーク姉さんのボーカル、ストリングス、バスドラムで構成された曲。
E888。音が混じらず、純粋に聞こえる。ボーカルの息づかい、声の響き具合も手に取るようにわかる。ストリングスが綺麗。
E931も悪くない。バスドラは響くが、決して締まりが悪い音ではない。
- レイディアント・シルバーガン サウンドトラック+
3曲目の「RETURN」。スネア、ストリングス、鐘の音、ティンパニ(?) などで構成された曲。WAVE ボリューム 80%。
E888。鐘の音の響き合いとストリングスが綺麗。888 はストリングスが得意なんだな。
E931 は全体的に少しこもった感じで、低域が間延びしている。ストリングスも高域が伸びなくて少し苦しそう。
- Emotional Technology / BT
4曲目の「Somnambulist」。 夢遊病患者という意味だそうだ。エフェクトがかかったボーカル。スネア、バスドラム。
E888 は解像度が高く、鳴ってる音を細かく分析的に聴ける。ただ、低音、とくにバスドラがちょっと弱く感じる。
E931。この曲についてはこもった感じがバスドラとボーカルによく合う。E931の欠点と思える部分が欠点と感じられない。相性が良いとはこのことだな。
- 三日月ロック / スピッツ
5曲目の「ババロア」。WAVE ボリューム 60%。打ち込み。ボーカル、ベース、スチールギター、バスドラ、ハイハット、ストリングスで構成されたスピッツらしくない曲。私はそのスピッツらしくないところが好き。
E888 は解像度の高さを生かしている。ストリングスも綺麗だが、ハイハットを緻密に鳴らしているのが良い。
E931 はバスドラに迫力がある。響かせるようにミックスしてある曲のせいか、931のこもった感じが軽減されている。
- 攻殻機動隊 STAND ALONE COMPLEX O.S.T.2
攻殻機動隊 STAND ALONE COMPLEX O.S.T.2
TVサントラ / Gabriela Robin / 菅野よう子 / ORIGA / Tim Jensen / Ilaria Graziano
発売日: 2004/05/26
amazon で詳しく見る
TVサントラ / Gabriela Robin / 菅野よう子 / ORIGA / Tim Jensen / Ilaria Graziano
発売日: 2004/05/26
amazon で詳しく見る
2004-07-24 で書いた、攻殻機動隊のサントラ。
8曲目の「GET9」。ブラスとヒップホップ系のボーカル、ギター。
E888 は破綻無くブラスを聞ける。楽器がごちゃごちゃにならず、気持ちよく聴ける。
E931 はベースがこもった感じ。ローファイなリズム系の音がちょっと汚くなる。
- Dreamland / Robert Miles
1曲目の「Children」。Robert Miles の代表曲。「エピック」や「トランス」といったジャンルに分類される。私の中ではこのジャンルの中で最高の評価。この美しく哀しげなピアノの音は一度聴いたら忘れられない。車に乗るときは欠かせない曲。
E931。こもった感じがする。ベースライン・バスドラが際だつ。スネアやシンバルの細かい部分が潰れる。
E888。ピアノが綺麗。破綻のない音。レゾナンスしていく音も無理なく聞かせる。
この曲はスピーカーで聴いた方がいい気もする。その方が開放感と締まったバスドラを楽しめるし。
- ピヤノアキコ。 / 矢野顕子
8曲目の「雷が鳴る前に」。作詞作曲は槇原敬之だが、まっきー独特のパラノイアな歌詞も、矢野顕子が歌うと柔らかな感じがする。この二面性が実に良い。
E888。 この曲はボーカルにちょっと響きが加えられてるんだけどそれがすごくきれいに響く。ピアノも伴奏としてボーカルを支える。
E931。やはりピアノがこもる。また、ボーカルも888に比べると少しぼやけた感じがする。
http://example.com/00765 といったアドレスで CGI にアクセスさせたい。つまり、ドメインの後に5桁の文書番号を入力するだけで希望の文書を閲覧できる CGI を呼び出すようにしたい。CGI のパスは http://example.com/cgi-bin/read.cgi?id=00765 なのだが、ケータイ用の短縮アドレスなので URL は短くしたい。
core - Apache HTTP サーバ ErrorDocument ディレクティブ
http://httpd.apache.org/docs-2.1/ja/mod/core.html#errordocum ...
こうすると、http://example.com/00765 にアクセスされると /cgi-bin/read.cgi の中身を返すようになる。文書番号は環境変数 REDIRECT_URL や REQUEST_URI にセットされるので、リクエストされた文書番号も取得できる。正規表現を使っているので、Files と ~ を使うよりも FilesMatch を使う方が明示的でより良いかな。
一つは、アクセスがあるたび Apache の error_log にエラーとして記録されてしまうこと。これは避けようがないので、ログのサイズ肥大に注意。httpd.conf でログを書かないようにすることはできるが、そもそも httpd.conf を修正できるなら .htaccess に ErrorDocument を書くなんてことをせずに、素直に mod_rewrite を使った方が良い。
二つめは、明示的に HTTP ステータスコードを上書きしないと404でステータスコードがが返ってしまうこと。この欠点があるため、リダイレクト先は CGI でないと使いにくいだろう。CGI ならば自分で 200 OK などのステータスコードを生成できるし、環境変数 REDIRECT_URL や REQUEST_URI にセットされた値に応じた処理を実装しやすいからだ。
参考
htmlでアクセスしたい
http://tdiary-users.sourceforge.jp/cgi-bin/wiki.cgi?html%A4% ...
- mod_rewrite を使えない環境なので ErrorDocument を使ってみる
Apache の mod_rewrite が使えれば楽勝なのだが、今回の案件では使えない。仕方がないので、ErrorDocument を利用したリダイレクト法を使うことにする。リダイレクトというよりパス変換と呼ぶ方が正確かな。300系の HTTP ステータスを発行するワケじゃないしね。- ErrorDocument 法の利点
ErrorDocument 法の利点は、利用できる可能性が非常に高い点にある。ErrorDocument は Apache Core に入っているディレクティブであり、かつ多くのコンテキストで指定できる。.htaccess で指定できるのは使い勝手が良い。.htaccess はパフォーマンスを落とすって? 速いマシンを使えばいい。core - Apache HTTP サーバ ErrorDocument ディレクティブ
http://httpd.apache.org/docs-2.1/ja/mod/core.html#errordocum ...
ErrorDocument ディレクティブ
説明: エラーが発生したときにサーバがクライアントに送るもの
構文: ErrorDocument error-code document
コンテキスト: サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess
上書き: FileInfo
ステータス: Core
モジュール: core
問題やエラーが発生したときの動作として、 Apache には以下の四つのうち一つの動作を設定することができます。
Apache 標準の簡単なエラーメッセージを表示
自分で指定したメッセージを表示
問題やエラーの処理をする為に、自サーバ内の URL-path へリダイレクト
問題やエラーの処理をする為に、外部の URL へリダイレクト
最初のものがデフォルトの動作で、2 番目から 4 番目は、 ErrorDocumentディレクティブにより、 HTTP のレスポンスコードと、メッセージか URL を指定することで設定します。 Apache が問題もしくはエラーに関する追加情報を提供することがあります。
- 設定方法
.htaccess に以下の記述を追加する。<Files ~ "^[0-9]{5}$">
ErrorDocument 404 /cgi-bin/read.cgi
</Files>
こうすると、http://example.com/00765 にアクセスされると /cgi-bin/read.cgi の中身を返すようになる。文書番号は環境変数 REDIRECT_URL や REQUEST_URI にセットされるので、リクエストされた文書番号も取得できる。正規表現を使っているので、Files と ~ を使うよりも FilesMatch を使う方が明示的でより良いかな。
- ErrorDocument を使ったリダイレクト (パス変換) の注意点
この方法を使う場合の注意点は2つ。一つは、アクセスがあるたび Apache の error_log にエラーとして記録されてしまうこと。これは避けようがないので、ログのサイズ肥大に注意。httpd.conf でログを書かないようにすることはできるが、そもそも httpd.conf を修正できるなら .htaccess に ErrorDocument を書くなんてことをせずに、素直に mod_rewrite を使った方が良い。
二つめは、明示的に HTTP ステータスコードを上書きしないと404でステータスコードがが返ってしまうこと。この欠点があるため、リダイレクト先は CGI でないと使いにくいだろう。CGI ならば自分で 200 OK などのステータスコードを生成できるし、環境変数 REDIRECT_URL や REQUEST_URI にセットされた値に応じた処理を実装しやすいからだ。
参考
htmlでアクセスしたい
http://tdiary-users.sourceforge.jp/cgi-bin/wiki.cgi?html%A4% ...
- 2004-09-13 追記
2004-09-13 に、「Action を利用した mod_rewrite の代替」という記事を書いた。複数のソース、ドキュメント、リソースファイルその他で構成されるシステムを作ることになった。
作るのは問題ないのだが、このシステムの開発をする場所にはまともなソースコード管理システムがない。今回の開発担当は私だけなので規模は超が付くほど小さいが、これは紛れもなく「プロジェクト」だ。それなのにソースコード管理システムが無いというのでは、プロジェクトの失敗は目に見えている。別の場所での開発では VSS (Visual Source Safe) や PVCS を使っているが、このプロジェクトにはそんな予算はない。となると CVS や Subversion などのフリーソフトウェアを使うことになる。
CVSの基礎練習
http://www.hyuki.com/techinfo/cvsinit.html
バージョン管理システム CVS を使う
http://www.radiofly.to/nishi/cvs/cvs.html
CVS--Concurrent Versions System (in Japanese): CVS--Concurrent Versions System (in Japanese)
http://www.sodan.org/~penny/vc/cvs-ja.html
日本語版 CVS マニュアル。
入門 CVS サポートページ
http://mikamama.com/CVSBook/
今まで2秒くらいしか CVS を使ったことがない私には、わかりやすいドキュメントは不可欠だ。本を買っても良いけど、ウェブ上のドキュメントだけで何とかなりそう。
http://www.wincvs.org/ から最新版をダウンロード。今回は WinCvs13b17-2.zip をダウンロードしてセットアップ。
インストール先はデフォルトの C:\Program Files\GNU\WinCvs 1.3 にした。
バックアップの都合上、CVS リポジトリは e:\MyDocuments\cvsroot に配置したいので、システム環境変数の変数 CVSROOT を :local:e:\MyDocuments\cvsroot で追加した。
ディレクトリ e:\MyDocuments\cvsroot を作成。
注意点として「cvs importするときには、目的のディレクトリの「中」にいるようにすること。 」だそうだ。
構文は cvs import -m "COMMENT" PROJECT_NAME VENDER_TAG RELEASE_TAG となっている。
私のプロジェクト名は hikaru で、作業ディレクトリは E:\cygwin\home\aqua\project\hikaru なので、そのように書き換えて実行。
上記の指定だとカレントディレクトリをコミットするので、目的のディレクトリの中にいるようにすること。
コミットして CVS リポジトリに反映させる。
これで追加完了。ついでに CVS update してローカルのファイル群をリポジトリに同期させておこう。
リポジトリへの編集結果の反映は、VSS やPVCS だと「チェックイン」と呼び、チェックアウト (リポジトリの該当ファイルをロックしたうえでファイルローカルにコピー) した人だけに許可される。CVS は「コミット」と呼び、ロックしていなくてもリポジトリに反映できる。
自分が最後に update したあとに、別のユーザなどによりリポジトリにコミットがあり、そのまま自分の編集結果をコミットしようとした場合、コンフリクトが発生する。windowsユーザのためのcvs入門 http://www007.upp.so-net.ne.jp/kengai/linux/cvs.html によると、コンフリクトした場合「とりあえずupdate」を行い、変更部分をマージしてからコミットし直すとのこと。なるほど、オープンソースのプロジェクトみたい緩やかな結びつきで開発チームが結成されている場合は、この方がやりやすいんだろうね。
あ、「windowsユーザのためのcvs入門」って、「圏外からのひとこと」http://amrita.s14.xrea.com/d/ の essa さんが書いたのか。サイトを移転してもファイルを消さずに残しておいてくださったおかげで CVS についての理解が深まった。ありがたいことだ。
GUI を使った CVS の操作は、今後の課題。とりあえずは今の CUI のままでも不満はないし。eclipse とかを使うと良いらしい。
作るのは問題ないのだが、このシステムの開発をする場所にはまともなソースコード管理システムがない。今回の開発担当は私だけなので規模は超が付くほど小さいが、これは紛れもなく「プロジェクト」だ。それなのにソースコード管理システムが無いというのでは、プロジェクトの失敗は目に見えている。別の場所での開発では VSS (Visual Source Safe) や PVCS を使っているが、このプロジェクトにはそんな予算はない。となると CVS や Subversion などのフリーソフトウェアを使うことになる。
- そうだ、CVS にしよう
CVS と Subversion のどちらを使おうか迷った末、CVS を使うことにした。理由は、結城さんが Windows 環境だけで完結する CVS 環境構築と操作方法のドキュメントを書いていたからだ。他にもいくつか有用そうなドキュメントがあった。CVSの基礎練習
http://www.hyuki.com/techinfo/cvsinit.html
バージョン管理システム CVS を使う
http://www.radiofly.to/nishi/cvs/cvs.html
CVS--Concurrent Versions System (in Japanese): CVS--Concurrent Versions System (in Japanese)
http://www.sodan.org/~penny/vc/cvs-ja.html
日本語版 CVS マニュアル。
入門 CVS サポートページ
http://mikamama.com/CVSBook/
今まで2秒くらいしか CVS を使ったことがない私には、わかりやすいドキュメントは不可欠だ。本を買っても良いけど、ウェブ上のドキュメントだけで何とかなりそう。
- Windows だけで完結する CVS 環境のセットアップ
CVS サーバは Windows2000、CVS クライアントも Windows2000 という環境で CVS を使いたい。要するに一人 CVS 環境。以下、作業記録。ほとんど「CVS の基礎練習」のままだけど。- Windows 版 CVS のインストール
Widows2000 Professional に Windows 版 CVS をインストールする。http://www.wincvs.org/ から最新版をダウンロード。今回は WinCvs13b17-2.zip をダウンロードしてセットアップ。
インストール先はデフォルトの C:\Program Files\GNU\WinCvs 1.3 にした。
- CVS が使う環境変数の設定
コマンドプロンプトから CVS のコマンドを起動しやすくするため、「マイコンピュータ」の「プロパティ」の「詳細」タブを開き、「環境変数」ボタンを押し、システム環境変数の変数 PATH に C:\Program Files\GNU\WinCvs 1.3\CVSNT を追加した。バックアップの都合上、CVS リポジトリは e:\MyDocuments\cvsroot に配置したいので、システム環境変数の変数 CVSROOT を :local:e:\MyDocuments\cvsroot で追加した。
ディレクトリ e:\MyDocuments\cvsroot を作成。
- cvs init でリポジトリを初期化
コマンドプロンプトを起動して cvs init を実行。e:\>cvs init
- cvs import でリポジトリに追加する
「CVS の基本練習」では以下のようにして「カレントディレクトリ以下を新しいモジュールmyprojectとしてリポジトリにインポート」している。C:\work\myproject> cvs import -m "My Project" myproject hyuki myproject_0_1
注意点として「cvs importするときには、目的のディレクトリの「中」にいるようにすること。 」だそうだ。
構文は cvs import -m "COMMENT" PROJECT_NAME VENDER_TAG RELEASE_TAG となっている。
私のプロジェクト名は hikaru で、作業ディレクトリは E:\cygwin\home\aqua\project\hikaru なので、そのように書き換えて実行。
E:\cygwin\home\aqua\project\hikaru>cvs import -m hikaru hikaru hiroaki hikaru_0_1
- cvs checkout で CVS リポジトリからチェックアウト
注意点は「cvs checkoutするときには、目的のディレクトリの「中」ではなく「1つ上」にいるようにすること。 」とのこと。E:\cygwin\home\aqua\project>cvs checkout hikaru
cvs checkout: Updating hikaru
U hirkaru/README
- cvs commit で CVS リポジトリにコミット
E:\cygwin\home\aqua\project> cvs commit -m "Add README"
上記の指定だとカレントディレクトリをコミットするので、目的のディレクトリの中にいるようにすること。
E:\cygwin\home\aqua\project\hikaru>cvs commit -m "Add README"
cvs commit: Examining .
Checking in README;
E:/MyDocuments/cvsroot/hikaru/README,v <-- README
new revision: 1.2; previous revision: 1.1
done
- cvs add で CVS リポジトリに新規ファイルを追加
cvs add でファイルを追加。E:\cygwin\home\aqua\project\hikaru>cvs add create_table.sql
cvs add: scheduling file `create_table.sql' for addition
cvs add: use 'cvs commit' to add this file permanently
コミットして CVS リポジトリに反映させる。
E:\cygwin\home\aqua\project\hikaru>cvs commit -m "Add create_table.sql."
cvs commit: Examining .
RCS file: E:/MyDocuments/cvsroot/hikaru/create_table.sql,v
done
Checking in create_table.sql;
E:/MyDocuments/cvsroot/hikaru/create_table.sql,v <-- create_table.sql
initial revision: 1.1
done
これで追加完了。ついでに CVS update してローカルのファイル群をリポジトリに同期させておこう。
E:\cygwin\home\aqua\project\hikaru>cvs update
cvs update: Updating .
- CVS と VSS や PVCS との違い
チェックアウトの概念が異なる。VSS や PVSC のチェックアウトは、初期設定だと「リポジトリの該当ファイルをロックして他人が編集できなくしてから、自分のローカルにコピーして編集作業開始。」という意味。CVS のチェックアウトは「リポジトリをローカルにコピーする」くらいの意味。リポジトリへの編集結果の反映は、VSS やPVCS だと「チェックイン」と呼び、チェックアウト (リポジトリの該当ファイルをロックしたうえでファイルローカルにコピー) した人だけに許可される。CVS は「コミット」と呼び、ロックしていなくてもリポジトリに反映できる。
自分が最後に update したあとに、別のユーザなどによりリポジトリにコミットがあり、そのまま自分の編集結果をコミットしようとした場合、コンフリクトが発生する。windowsユーザのためのcvs入門 http://www007.upp.so-net.ne.jp/kengai/linux/cvs.html によると、コンフリクトした場合「とりあえずupdate」を行い、変更部分をマージしてからコミットし直すとのこと。なるほど、オープンソースのプロジェクトみたい緩やかな結びつきで開発チームが結成されている場合は、この方がやりやすいんだろうね。
あ、「windowsユーザのためのcvs入門」って、「圏外からのひとこと」http://amrita.s14.xrea.com/d/ の essa さんが書いたのか。サイトを移転してもファイルを消さずに残しておいてくださったおかげで CVS についての理解が深まった。ありがたいことだ。
GUI を使った CVS の操作は、今後の課題。とりあえずは今の CUI のままでも不満はないし。eclipse とかを使うと良いらしい。
とらねこ放浪記 - Final Fantasy XII
http://yamaguch.sytes.net/~tora/diary/?date=20040903#p01
Mirage Tower - 作曲が植松伸夫ではない
http://bernie.s14.xrea.com/tdiary/20040903.html#p01
植松さんの曲は私も好きだ。FF4 のサントラなんて買ってから13年くらい経つが未だに聴いているし。でも、今回の FF はオウガバトルシリーズを手がけた松野泰己さんの作品だ。それなら、植松さんよりももっと相性の良いアーティストがいる。それが FF12 の音楽を担当する崎元仁さんだ。2004-02-28 で書いた「レイディアント シルバーガン」の曲も崎元さんの作品。
私は FF12 を松野さんが作ると聞いたとき、「お願いだから音楽は崎元さんと岩田さんになってくれ」と願った。その後崎元さんに決まったときは嬉しかったし安心した。「伝説のオウガバトル」や「タクティクスオウガ」、「ファイナルファンタジータクティクス」などで松野さんの作品との相性の良さは折り紙付きだし、今までと違う FF を見せてくれると期待した。
FF12 には植松さんの曲も入っているようだ。松野さんと崎元さんの世界に坂口さんの世界が融合した作品を見せてくれるだろう。
スクウェア・エニックス「FF新作制作発表会」を開催 「ファイナルファンタジーXII」がヴェールを脱ぐ!!
http://www.watch.impress.co.jp/game/docs/20031119/ff12.htm
http://www.ff12.com/music/mu01.html
http://www.ff12.com/music/mu02.html
http://www.ff12.com/music/mu03.html
http://yamaguch.sytes.net/~tora/diary/?date=20040903#p01
む、作曲が植松伸夫ではない。植松が曲を提供しないFFなんて、久石譲が音楽監督じゃない宮崎駿アニメみたいなもんじゃないかorz
Mirage Tower - 作曲が植松伸夫ではない
http://bernie.s14.xrea.com/tdiary/20040903.html#p01
げーっまじか...。正直魅力半減ですよ。
FFの曲はやっぱり植松さんがいいなぁ。
植松さんの曲は私も好きだ。FF4 のサントラなんて買ってから13年くらい経つが未だに聴いているし。でも、今回の FF はオウガバトルシリーズを手がけた松野泰己さんの作品だ。それなら、植松さんよりももっと相性の良いアーティストがいる。それが FF12 の音楽を担当する崎元仁さんだ。2004-02-28 で書いた「レイディアント シルバーガン」の曲も崎元さんの作品。
私は FF12 を松野さんが作ると聞いたとき、「お願いだから音楽は崎元さんと岩田さんになってくれ」と願った。その後崎元さんに決まったときは嬉しかったし安心した。「伝説のオウガバトル」や「タクティクスオウガ」、「ファイナルファンタジータクティクス」などで松野さんの作品との相性の良さは折り紙付きだし、今までと違う FF を見せてくれると期待した。
FF12 には植松さんの曲も入っているようだ。松野さんと崎元さんの世界に坂口さんの世界が融合した作品を見せてくれるだろう。
スクウェア・エニックス「FF新作制作発表会」を開催 「ファイナルファンタジーXII」がヴェールを脱ぐ!!
http://www.watch.impress.co.jp/game/docs/20031119/ff12.htm
都合によりビデオで登場となった「FF」のサウンドの生みの親である植松伸夫氏は、「どこかはいえないが、歌を中心にして曲を作っている」と現況を報告。この「歌」に関しては、松野氏が「“エンドテロップで流れるだけ”といった使い方はしない」と「歌」の効果と、その役割の重要さに関してのこだわりを見せた点からも、「FF X」以上の「何か」を期待したいところだ。
また、「今回は才能のある崎元仁氏と一緒にやっているので、期待してほしい」と崎元氏を紹介した。崎元氏は植松氏のコメントに「さらに緊張してきた(笑)」としながらも、「自分がプレイしていたゲームの音楽を担当するのは不思議」と、「FF」シリーズに対する感想を述べた。
- 試聴
雑誌付録の DVD やフラッシュ、その他ウェブにあった音源などで聴いた曲もあるが、いずれも良い出来だ。崎元さんらしい厚みのある重い曲。この3曲とは別に前半が勇壮なブラスで終盤に弦が盛り上げる曲があったと思うけど収録されてない。2分くらいの曲だったので収録しなかったのかな。http://www.ff12.com/music/mu01.html
http://www.ff12.com/music/mu02.html
http://www.ff12.com/music/mu03.html