いつも使っているサーバのある建物が9月最初の週末に停電するという。停電の前日にマシンをシャットダウンしておきたいが、その日は該当マシンにログインできる場所にいない。仕方がないので、停電の前日の夕方に自動的にシャットダウンするように at を仕込んでおくことにした。
Manpage of AT
http://www.linux.or.jp/JM/html/at/man1/at.1.html
なるほど、わかった。やってみよう。
できた。warning は気にしなくても良いのかな? コマンドラインに誤りがないんだったら、warning じゃなくて notice って書いてほしいな。
よし、次は shutdown コマンドをスケジュールしてみよう。一般ユーザでも大丈夫なのかな。そういえば、私は英語的な表記で日時を指定するはあんまり好きじゃないんだよね。見る分には構わないんだけど、入力するときは煩雑に感じる。スラッシュで日付を区切る表記で書いてみよう。
2004年9月1日追記。
Output from your job 4 という件名のメールが来ていた。root じゃないと シャットダウンできないよ、という内容が書かれていた。
え!? ちょっと待って! なんで今シャットダウンしてるの? あああああ、待ってー! あ、putty ターミナルが応答しなくなった。
ほんとにシャットダウンしちゃったよ。何で? ・・・って、コマンド実行日が 2004年9月3日じゃなくて 2004年3月9日になってる。スラッシュを使った日付指定では MM/DD/YY で指定するのか。ピリオドを使った DD.MM.YY 形式の指定と間違えてた。2004年3月9日は既に過ぎていたのでキューに追加された瞬間に実行したってワケか。なるほど。
幸い、私以外にこのマシンにログインしていたユーザはいなかったし、イントラネット内で使っている開発用サーバだったので被害はほぼなかった。これがインターネット上にある本番のサーバだったら始末書ものだったところだ。
注意力が散漫になっている今の状態でこのマシンを扱うのは、今日はもうやめておこう。明日もう一度テストしてから at をセットすることにしよう。
2004年9月1日追記。
まずテスト。一分後にシャットダウンするようにしてみる。
OK。ちゃんと電源が落ちた。
本番用の日付で仕込んで完了。
- at と cron の違い
cron を使っても at と同じように時刻を指定してコマンドを実行することはことはできるが、at は cron と違って一回だけのコマンド実行に適している。とあるサーバで cron を削除するのを忘れていて、次の年の同じ月の同じ日にコマンドが起動してしまった例を目撃したことがある。私の管理しているマシンではなかったので私に被害はなかったけど。先達の失敗を教訓とするため、今回は cron は使わずに at を使うことにした。- at の使い方を調べる
実は私は at を使ったことがない。Windows の at コマンドはよく使うが、Unix の at を使うのは初めてだ。まずはマニュアルを読むことにする。Manpage of AT
http://www.linux.or.jp/JM/html/at/man1/at.1.html
書式
at [-V] [-q queue] [-f file] [-mldbv] TIME
at -c job [job...]
解説
at と batch は、標準入力や指定されたファイルからコマンドを読み取り、後で /bin/sh を使って実行する。
(略)
at ではある程度複雑な TIME 指定ができる。これは POSIX.2 標準を拡張したものである。ジョブを実行する時刻は HH:MM という形式で指定できる。 (すでにその時刻を過ぎているときは次の日に実行する。) また midnight (真夜中), noon (正午), teatime (午後4時のお茶の時間) とか、 AM , PM も指定できる。さらに、コマンドの実行日を指定することもできる。日付の指定は month-name day ( year も追加できる) のようにする。または MMDDYY, MM/DD/YY, DD.MM.YY なども可能である。日付の指定は、その日の時刻の後に指定しなければならない。
なるほど、わかった。やってみよう。
- at でコマンドを設定する
来月の3日の18時に、すなわち 2004年9月3日の18:00に ls を実行するよう at をセットしてみる。[hiroaki@pro ~]$ echo ls |at 6pm + 3 days
warning: commands will be executed using /bin/sh
job 2 at 2004-09-03 18:00
できた。warning は気にしなくても良いのかな? コマンドラインに誤りがないんだったら、warning じゃなくて notice って書いてほしいな。
よし、次は shutdown コマンドをスケジュールしてみよう。一般ユーザでも大丈夫なのかな。そういえば、私は英語的な表記で日時を指定するはあんまり好きじゃないんだよね。見る分には構わないんだけど、入力するときは煩雑に感じる。スラッシュで日付を区切る表記で書いてみよう。
[hiroaki@pro ~]$ echo "/sbin/shutdown -h now" |at 18:00 03/09/2004よしよし、一般ユーザでもセットすることだけはできるようだ。実際は実行時に権限がないというエラーが出るだろうけど。atrm でジョブを削除して、と。
warning: commands will be executed using /bin/sh
job 4 at 2004-03-09 18:00
2004年9月1日追記。
Output from your job 4 という件名のメールが来ていた。root じゃないと シャットダウンできないよ、という内容が書かれていた。
shutdown: must be root.
- 失敗
よし、次は本番のコマンドをセットするぞ。root に su - してさっきのコマンドラインをコピーアンドペースト、と。# echo "/sbin/shutdown -h now" |at 18:00 03/09/2004
[root@pro /root]#
Broadcast message from root Tue Aug 31 18:36:17 2004...
The system is going down for system halt NOW !!
え!? ちょっと待って! なんで今シャットダウンしてるの? あああああ、待ってー! あ、putty ターミナルが応答しなくなった。
ほんとにシャットダウンしちゃったよ。何で? ・・・って、コマンド実行日が 2004年9月3日じゃなくて 2004年3月9日になってる。スラッシュを使った日付指定では MM/DD/YY で指定するのか。ピリオドを使った DD.MM.YY 形式の指定と間違えてた。2004年3月9日は既に過ぎていたのでキューに追加された瞬間に実行したってワケか。なるほど。
幸い、私以外にこのマシンにログインしていたユーザはいなかったし、イントラネット内で使っている開発用サーバだったので被害はほぼなかった。これがインターネット上にある本番のサーバだったら始末書ものだったところだ。
注意力が散漫になっている今の状態でこのマシンを扱うのは、今日はもうやめておこう。明日もう一度テストしてから at をセットすることにしよう。
2004年9月1日追記。
まずテスト。一分後にシャットダウンするようにしてみる。
# echo "/sbin/shutdown -h now" |at 15:05 09/01/2004
OK。ちゃんと電源が落ちた。
本番用の日付で仕込んで完了。
# echo "/sbin/shutdown -h now" |at 18:00 09/03/2004
宇都宮から浜松までうなぎを食べに行った。お店は JR 浜松駅近くの「あつみ」だ。一緒に行った友達が事前に調べておいた店で、四代続く老舗だそうだ。
浜松のおいしいうなぎ料理といえば「あつみ」
http://www.sala.or.jp/~unauna/
住所は静岡県浜松市千歳町70。
駅前の「ザザシティ」の 有料駐車場に車を置いていざ「あつみ」へ。ザザのスペルは XAZSA かと思ったら普通に ZAZA だったので残念。
11:30開店で11:35頃にお店に入ったけど、注文を終えた頃にはもう満席になっていた。お客の平均年齢は40歳くらいだろうか。
丼のふたを取ると香ばしい香りが立つ。炭火で上手に焼き上げてあるようだ。熱々の鰻を口に運ぶと素晴らしい香りが広がる。ただただ香ばしさが広がる。鰻と少し甘めで濃い味のタレが相まって実に旨い。鰻単体で食べるとかなりあっさりした味だが、この香りとタレのおかげで実に手応えのある味になっている。鰻を食べるときには山椒をよく使うのだが、この味と香りがあれば薬味など全く必要ない。肝吸いも及第。あっという間に食べてしまった。食後の果物としてメロンを頂いたが、果物よりも鰻の香りの方が名残惜しい。
「あつみ」の鰻丼は、香りのおかげで宇都宮の「宮の橋」のたもとにある「橘家」よりも美味しく感じた。さすがは浜松だ。今度は天然物の鰻を食べてみたいな。結構きつい味らしいけど、この香りがあるならきっと大丈夫。
「あつみ」のうなぎ料理
http://www.sala.or.jp/~unauna/menu.html
とにかく大盛りの鰻とご飯をばくばく食べるのが浜松流なのかな。そういえば、鰻丼が運ばれてきたとき「ご飯のお代わりもできますからね」と給仕の人も言っていたし、3分の2ほど食べたところで「ご飯のお代わりいかが?」と聞かれたなあ。
浜松のおいしいうなぎ料理といえば「あつみ」
http://www.sala.or.jp/~unauna/
住所は静岡県浜松市千歳町70。
駅前の「ザザシティ」の 有料駐車場に車を置いていざ「あつみ」へ。ザザのスペルは XAZSA かと思ったら普通に ZAZA だったので残念。
- 鰻丼を注文
メニューには2500円の鰻重と2000円の鰻丼があり、値段が異なる。お店の人に違いを尋ねると、どちらも質は同じで量と器のみ異なるとのこと。小食の私は鰻丼を、大食漢の友達は鰻重を選んだ。11:30開店で11:35頃にお店に入ったけど、注文を終えた頃にはもう満席になっていた。お客の平均年齢は40歳くらいだろうか。
- 炭火で香ばしく焼きあがった鰻の香り
鰻が運ばれてきた。待ち時間は25分弱くらいだったかな? 「まともな蒲焼きは、時間がかかるなんてことは承知」していたんだけど、意外と早かった気がする。丼のふたを取ると香ばしい香りが立つ。炭火で上手に焼き上げてあるようだ。熱々の鰻を口に運ぶと素晴らしい香りが広がる。ただただ香ばしさが広がる。鰻と少し甘めで濃い味のタレが相まって実に旨い。鰻単体で食べるとかなりあっさりした味だが、この香りとタレのおかげで実に手応えのある味になっている。鰻を食べるときには山椒をよく使うのだが、この味と香りがあれば薬味など全く必要ない。肝吸いも及第。あっという間に食べてしまった。食後の果物としてメロンを頂いたが、果物よりも鰻の香りの方が名残惜しい。
「あつみ」の鰻丼は、香りのおかげで宇都宮の「宮の橋」のたもとにある「橘家」よりも美味しく感じた。さすがは浜松だ。今度は天然物の鰻を食べてみたいな。結構きつい味らしいけど、この香りがあるならきっと大丈夫。
- 浜松流の鰻の食べ方?
宇都宮に帰ってきて、あつみのウェブサイトのおしながきページを見ていると、私が食べた鰻丼はかなり少なめだったことがわかった。というか、こんなにたくさんメニューあったかなあ? 大盛りや二段などは眼中になかったから覚えてないだけかな。「あつみ」のうなぎ料理
http://www.sala.or.jp/~unauna/menu.html
とにかく大盛りの鰻とご飯をばくばく食べるのが浜松流なのかな。そういえば、鰻丼が運ばれてきたとき「ご飯のお代わりもできますからね」と給仕の人も言っていたし、3分の2ほど食べたところで「ご飯のお代わりいかが?」と聞かれたなあ。
* DATETIME型/TIMESTAMP型の展開と WHERE句の範囲指定
この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [SQL] [MS SQL Server] [Postgres]
時刻の扱いは データベースエンジンによって異なるので、クエリを作成する前に仕様や挙動を確認しておきたい。
たとえば、 time_column < '2004-08-27' のとき、'2004-08-27' は いつの時点を指すのか。2004-08-27 00:00:00 なのか、 2004-08-27 **:**:** 、つまりランダムなのか。いつもは時分秒まで指定していたので、省略して表記した場合はどうなるか調べておこう。
http://www.microsoft.com/japan/msdn/library/ja/acdata/ac_8_c ...
要するに SQL Server2000 では、00:00:00 になるってことか。
日本PostgreSQLユーザー会: PostgreSQL 7.2.X 付属ドキュメント
http://www.postgresql.jp/document/pg721doc/
7.4 系列の文書も見てみたが、やはり明確な記述は見つけられなかった。
日本PostgreSQLユーザ会: PostgreSQL 7.4.X 付属ドキュメント
http://www.postgresql.jp/document/pg743doc/
まあ、この後やってみればわかるだろう。たぶん SQL Server2000 と同じ結果になると思うけど。
PostgreSQL 7.2.1 用。
結論から言うと、SQL Server2000 と PostgreSQL 7.2 ともに 'YYYY-MM-DD' は 'YYYY-MM-DD 00:00:00:000' に展開される。以下、サンプル。
PostgreSQL 7.2.1 でも SQL Server2000 でも同じ結果になった。以下、Postgres の出力結果。
さっきのテーブルを DROP して CREATE しなおし、8レコード分のテストデータを INSERT する。
INSERT が終わったら SELECT してみる。今度は SQL Server2000 での出力。
予想通り、2004-08-26 は 2004-08-26 00:00:00 に展開された。
イコールを付ければ8/26のレコードもヒット。
Postgres でも同じように動作した。
たとえば、 time_column < '2004-08-27' のとき、'2004-08-27' は いつの時点を指すのか。2004-08-27 00:00:00 なのか、 2004-08-27 **:**:** 、つまりランダムなのか。いつもは時分秒まで指定していたので、省略して表記した場合はどうなるか調べておこう。
- SQL Server2000 の場合
日付時刻データの使用http://www.microsoft.com/japan/msdn/library/ja/acdata/ac_8_c ...
時刻だけまたは日付だけを個別に格納するデータ型はありません。datetime 型または smalldatetime 型の値を設定する場合、時刻だけを指定すると、日付のデフォルト "January 1, 1900" が使用されます。日付だけを指定すると、時刻のデフォルト "12:00AM (深夜)" が使用されます。
要するに SQL Server2000 では、00:00:00 になるってことか。
- PostgreSQL 7.2.1 の場合。
ドキュメントは見つけられなかった。日本PostgreSQLユーザー会: PostgreSQL 7.2.X 付属ドキュメント
http://www.postgresql.jp/document/pg721doc/
7.4 系列の文書も見てみたが、やはり明確な記述は見つけられなかった。
日本PostgreSQLユーザ会: PostgreSQL 7.4.X 付属ドキュメント
http://www.postgresql.jp/document/pg743doc/
まあ、この後やってみればわかるだろう。たぶん SQL Server2000 と同じ結果になると思うけど。
- CREATE TABLE
SQL Server2000 用。CREATE TABLE time_where_test (utime datetime);
PostgreSQL 7.2.1 用。
CREATE TABLE time_where_test (utime timestamp);
- INSERT 時の展開
まずは INSERT のテスト。結論から言うと、SQL Server2000 と PostgreSQL 7.2 ともに 'YYYY-MM-DD' は 'YYYY-MM-DD 00:00:00:000' に展開される。以下、サンプル。
PostgreSQL 7.2.1 でも SQL Server2000 でも同じ結果になった。以下、Postgres の出力結果。
hiroaki=> INSERT INTO time_where_test VALUES ('2004-06-18');
INSERT 93862442 1
hiroaki=> SELECT * FROM time_where_test;
utime
---------------------
2004-06-18 00:00:00
(1 row)
- SELECT 時の展開
今度は SELECT 時のテスト。おそらく INSERT 時と同じように展開されるだろうけど、念のため。さっきのテーブルを DROP して CREATE しなおし、8レコード分のテストデータを INSERT する。
INSERT INTO time_where_test VALUES ('2004-08-09 02:00:00');
INSERT INTO time_where_test VALUES ('2004-08-20 03:00:00');
INSERT INTO time_where_test VALUES ('2004-08-26 00:00:00');
INSERT INTO time_where_test VALUES ('2004-08-26 04:00:00');
INSERT INTO time_where_test VALUES ('2004-08-26 23:59:59');
INSERT INTO time_where_test VALUES ('2004-08-27 00:00:00');
INSERT INTO time_where_test VALUES ('2004-08-27 09:00:00');
INSERT INTO time_where_test VALUES ('2004-08-27 23:59:59');
INSERT が終わったら SELECT してみる。今度は SQL Server2000 での出力。
SELECT * FROM time_where_test WHERE utime < '2004-08-26' ORDER BY utime;
utime
------------------------------------------------------
2004-08-09 02:00:00.000
2004-08-20 03:00:00.000
(2 件処理されました)
予想通り、2004-08-26 は 2004-08-26 00:00:00 に展開された。
イコールを付ければ8/26のレコードもヒット。
SELECT * FROM time_where_test WHERE utime <= '2004-08-26' ORDER BY utime;
utime
------------------------------------------------------
2004-08-09 02:00:00.000
2004-08-20 03:00:00.000
2004-08-26 00:00:00.000
(3 件処理されました)
Postgres でも同じように動作した。
久しぶりに burnatonce を使ったら使い方を忘れてたのでメモ。burnatonce は 2004-05-16 で書いた、無料で使える CD-R ライティングソフト。
上部メニューの Mastering から Audio CD を選ぶ。
Audio CD Mastering というダイアログが表示されるので、右側の Add Files ボタンを押す。
ファイル選択ダイアログが表示されるので、焼きたい曲のファイルを選ぶ。複数選択も可能。もっとも、ディレクトリにある全曲を焼きたいなら Add Flder ボタンを使った方が楽だろう。
右側の Up と Dn ボタンを押したりファイル名をドラッグすることで、曲の順番を並べ替えたりすることができる。
曲間を調整する。
曲間は基本的に 0 にすると元の CD と同じになる。
ファイル名を右クリックして Track Propoerties を選択。
Track Configuration の Postgap を 00:02:00 から 00:00:00 に変更し、Save ボタンを押す。
Close ボタンを押して Track Configuration ウインドウを終了する。
今編集したファイルを右クリックし、All to Current Pause を選択すると、全ファイルに現在の曲の設定が反映される。
右下の Compole ボタンを押すと必要な容量が表示される。OK を押せば CD に焼く準備は完了。
burnatonce のメイン画面に戻ってきたら、右上の Write ボタンを押す。
Add Files や Add Folder を使って焼きたいファイルを追加。
ボリュームラベルやファイルシステムは ISO Settings ボタンを押して表示されるウインドウで設定可能。必要ないので試していないが、Bootable CD や マルチセッション CD も作成できるようだ。
焼きたいファイルを追加し、ボリュームラベルなどを設定し終わったら、Compile ボタンを押す。
burnatonce のメイン画面に戻ってきたら、右上の Write ボタンを押す。
Mastering から Data CD を選択。
Data CD Mastering ウインドウが表示されたら、ImageFile チェックボックスをチェックしておく。
あとは Add Files や Add Folder を使って焼きたいファイルを追加。
ボリュームラベルやファイルシステムは ISO Settings ボタンを押して表示されるウインドウで設定。
ImageFile チェックボックスにチェックが入っているので、Compile ボタンを押すと ISO イメージをどこに保存するかを選択するダイアログが表示される。
パスを選択して保存すれば ISO イメージが生成される。
- 音楽CDを焼く
WAV ファイルを音楽 CD として焼く手順。上部メニューの Mastering から Audio CD を選ぶ。
Audio CD Mastering というダイアログが表示されるので、右側の Add Files ボタンを押す。
ファイル選択ダイアログが表示されるので、焼きたい曲のファイルを選ぶ。複数選択も可能。もっとも、ディレクトリにある全曲を焼きたいなら Add Flder ボタンを使った方が楽だろう。
右側の Up と Dn ボタンを押したりファイル名をドラッグすることで、曲の順番を並べ替えたりすることができる。
曲間を調整する。
曲間は基本的に 0 にすると元の CD と同じになる。
ファイル名を右クリックして Track Propoerties を選択。
Track Configuration の Postgap を 00:02:00 から 00:00:00 に変更し、Save ボタンを押す。
Close ボタンを押して Track Configuration ウインドウを終了する。
今編集したファイルを右クリックし、All to Current Pause を選択すると、全ファイルに現在の曲の設定が反映される。
右下の Compole ボタンを押すと必要な容量が表示される。OK を押せば CD に焼く準備は完了。
burnatonce のメイン画面に戻ってきたら、右上の Write ボタンを押す。
- CD-RW のデータを消去する
Tools から Erase Disk を選び、Quick Erase にチェックして Erase ボタンを押す。- iso イメージをディスクに焼く
File から Load New Image を選び、焼きたい iso イメージファイルを指定し、右上の Write ボタンを押すだけ。*** MB 焼くよ、という意味のメッセージダイアログが表示されるので、OK を押す。あとは見てるだけ。- ファイルを選択してディスクに焼く
Mastering から Data CD を選択。Add Files や Add Folder を使って焼きたいファイルを追加。
ボリュームラベルやファイルシステムは ISO Settings ボタンを押して表示されるウインドウで設定可能。必要ないので試していないが、Bootable CD や マルチセッション CD も作成できるようだ。
焼きたいファイルを追加し、ボリュームラベルなどを設定し終わったら、Compile ボタンを押す。
burnatonce のメイン画面に戻ってきたら、右上の Write ボタンを押す。
- ファイルから iso イメージを生成する
ファイルをディスクに焼く手順と似ている。Mastering から Data CD を選択。
Data CD Mastering ウインドウが表示されたら、ImageFile チェックボックスをチェックしておく。
あとは Add Files や Add Folder を使って焼きたいファイルを追加。
ボリュームラベルやファイルシステムは ISO Settings ボタンを押して表示されるウインドウで設定。
ImageFile チェックボックスにチェックが入っているので、Compile ボタンを押すと ISO イメージをどこに保存するかを選択するダイアログが表示される。
パスを選択して保存すれば ISO イメージが生成される。
プラトンが言ったように、人間は不完全だ。不完全だからこそ補完が必要。2004-08-02 の「cygwin で /cygdrive を bash の補完対象にする」も補完にかける情熱の産物だ。
というわけで、Visual Studio .NET 2003 の補完機能「インテリセンス (IntelliSense)」はいつも便利だと思ってる。Delphi 5 を使っていたときも補完を活用していたが、VS.NET 2003 の補完は Delphi 5 の上を行く。発表年が5年ほど違うので新しい方が高機能なのは当たり前だけど。あ、私は統合開発環境って Delphi5 と VS.NET くらいしか常用していなかったので、 Eclipse などの補完機能については全く知らない。
補完機能を駆使してコーディングしてるとタイプミスを大幅に減らせるし、長いクラス名やメンバ名を使うときの心理的障壁を下げられる。実に生産的な機能だ。
System.Web 名前空間のクラスやインスタンスのメンバは問題なく補完できるのに、なぜか自分で作成した DataSet のメンバを表示させようとしても、うんともすんとも言わない。
DataSet をカタカナのデータセットにして検索してもあまり有用なサイトは見つからなかった。
DataSetのIntelliSenseが働かない
http://hp.vector.co.jp/authors/VA019702/csharp/cs002.html
DataSetのDataRowでインテリセンスが効かない(VisualStudio.Net2003)
http://blogs.users.gr.jp/naka/archive/2004/04/10/1887.aspx
パラメータ・ヒントがうまく動作しない時は
http://www.kumei.ne.jp/c_lang/netinteli.htm
.ncb ファイルが見つからなかったので上記方法は試していない。
くだすれC#(Part3)
http://pc2.2ch.net/tech/kako/1047/10472/1047210828.html
Visual Studio を再起動すれば直ると >>90 は言ってるけど、私の環境はそれでも直らず OS の再起動までしてやっと直った、ということがあった。
この現象が起きたときは、OS を再起動してソリューションのリビルドをすれば直るかも、ってところかな。開発環境としてはもっと安定していてほしいんだけどな。でも便利だから仕方なく使う。
このあとに ds. まで入力して DataTable 名を補完しようとしたができないとのこと。DataSet 型にキャストしてるんだから、補完されないのは正しい動きだ。
上記のように直して解決。
というわけで、Visual Studio .NET 2003 の補完機能「インテリセンス (IntelliSense)」はいつも便利だと思ってる。Delphi 5 を使っていたときも補完を活用していたが、VS.NET 2003 の補完は Delphi 5 の上を行く。発表年が5年ほど違うので新しい方が高機能なのは当たり前だけど。あ、私は統合開発環境って Delphi5 と VS.NET くらいしか常用していなかったので、 Eclipse などの補完機能については全く知らない。
補完機能を駆使してコーディングしてるとタイプミスを大幅に減らせるし、長いクラス名やメンバ名を使うときの心理的障壁を下げられる。実に生産的な機能だ。
- なんで補完できないの?
自分で作成した DataSet の Table や Row を補完したいが、なぜかインテリセンスが効かない。CTRL + SPACE を押しても無反応。ディスクアクセスしてる様子もない。このメンバは補完できないといった感じ。System.Web 名前空間のクラスやインスタンスのメンバは問題なく補完できるのに、なぜか自分で作成した DataSet のメンバを表示させようとしても、うんともすんとも言わない。
- 先達の叡智を検索
Google で Intellisense DataSet を検索。および Google でインテリセンス DataSet を検索。DataSet をカタカナのデータセットにして検索してもあまり有用なサイトは見つからなかった。
DataSetのIntelliSenseが働かない
http://hp.vector.co.jp/authors/VA019702/csharp/cs002.html
で、IntelliSenseの話に戻るが、C#の開発環境とはこういうものらしい。
解決策としては、ソリューション全体をリビルドしてやればいい。ソリューションが何千ファイルも抱える場合リビルドにはためらいがあるかもしれないが、IntelliSenseを欠く開発効率の悪さを考えるなら、惜しむ労力でもないだろう。
DataSetのDataRowでインテリセンスが効かない(VisualStudio.Net2003)
http://blogs.users.gr.jp/naka/archive/2004/04/10/1887.aspx
パラメータ・ヒントがうまく動作しない時は
http://www.kumei.ne.jp/c_lang/netinteli.htm
[C++]
.ncb ファイルに問題がある場合
プロジェクト ディレクトリのルートにある .ncb ファイルが読み取り専用であるか
破損している場合、IntelliSense の情報は使用できません。この問題を修復するには、
次の処理を行います。
ソリューションを閉じます。
.ncb ファイルを削除します。
再びソリューションを開きます。
再びソリューションを開くと、.ncb ファイルが新規作成されます。
言われたとおり、ncbファイルを削除するとパラメータ・ヒントがきちんと動作するようになりました。また、エラー時出力ペインの指摘箇所をクリックしても「xxは違うプロジェクトで・・」のメッセージボックスも出なくなり快適な環境となりました。(メデタシ、メデタシ)
.ncb ファイルが見つからなかったので上記方法は試していない。
くだすれC#(Part3)
http://pc2.2ch.net/tech/kako/1047/10472/1047210828.html
88 名前: デフォルトの名無しさん 投稿日: 03/04/08 02:21
メンバ変数を50くらいに増やしたら
突然、インテリセンスが利かなくなったんだけど
つらいなぁ。入力中もキーワードが青じゃなくなってるし...。
89 名前: デフォルトの名無しさん 投稿日: 03/04/08 02:38
>>88
そのクラスはコンパイル通るかい?
90 名前: デフォルトの名無しさん 投稿日: 03/04/08 03:00
>>88
それうちの環境で良くある
VSを起動し直せばいい
91 名前: 85 投稿日: 03/04/08 09:02
>>86
おお、サンクス!
Bitmap側じゃなくGraphics側にメソッドがあったのか。
ControlクラスにCreateGraphics()ってのあって
これ使えばOnPaint()以外でも描けるみたい。
こっちも試してみます。
>>88
そもそもメンバ変数50個はクラスの設計的に問題ありかも。
ちなみに自分もそこまで増やしたこと無いけど
インテリきかなくなるときちょくちょくあります。
迷わず再起動。
92 名前: デフォルトの名無しさん 投稿日: 03/04/08 09:08
>>88
俺も、もっともメンバ変数の数とは無関係のような気がしないでも無い。
>>91
フォームクラスじゃ100は当たり前じゃないか?
- 対策
ウェブを見て回ってわかったが、要するにバグなんだろうね。Visual Studio を再起動すれば直ると >>90 は言ってるけど、私の環境はそれでも直らず OS の再起動までしてやっと直った、ということがあった。
この現象が起きたときは、OS を再起動してソリューションのリビルドをすれば直るかも、ってところかな。開発環境としてはもっと安定していてほしいんだけどな。でも便利だから仕方なく使う。
- 型を間違えてると補完できないよ
最近、「自分で作った DataSet のメンバを補完できないんだけど」という相談を受けた。DataTable 名が補完されないという。典型的な上記症状だと思って対策を伝えたところ、別の原因だった。サンプルコードを以下に示す。DataSet ds = new MyDataSet();
このあとに ds. まで入力して DataTable 名を補完しようとしたができないとのこと。DataSet 型にキャストしてるんだから、補完されないのは正しい動きだ。
MyDataSet ds = new MyDataSet();
上記のように直して解決。
当サイト Landscape はまだま改善の余地がある。少しずついじっていこう。
まずはより快適にブラウズできるように、メタ情報を html に埋め込んでみる。
HTML - link要素の使い方
http://www.kanzaki.com/docs/html/link.html
http://www5d.biglobe.ne.jp/~quia/tech/html/linktype.html
以前作ったサイトでは、ほぼすべてのページに Link 要素によるサイトナビゲーションを埋め込んでいた。しかし、この情報を解釈できるブラウザはほとんどなかったため、最近ではおそろかにしていた。最近は link 要素を解釈するブラウザを使うこともあるし、html lint で「<HEAD>〜</HEAD> 内に <LINK REL="NEXT" HREF="〜"> などのナヴィゲーション用のリンクが含まれていません。」と毎回指摘されるのも美しくないので、これを head タグ内に埋め込むことにする。
Mozilla では上記の記述がある html だと、サイトナビゲーションバーを使ったページ移動ができるようになる。サイトのレイアウトに左右されずにページ間の移動ができるのでかなり便利だ。
ではテストしてみよう。Firefox を立ち上げて html をブラウズしてみる。あれ? サイトナビゲーションバーを表示するオプションってどこにあるんだろう? Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040803 Firefox/0.8 では どうやってこの Site Navigation Bar を表示させるのかがわからない。うーん、どうしよう。
Google で Site Navigation Bar を検索してわかったが、FireFox からは削除されている機能のようだ。エクステンションを入れれば使えるそうだが、手間だな。確か古い Mozilla をアンインストールせずに残しておいたはずなので、こっちを使おう。
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.6) Gecko/20040113 か。かなり古いのでウェブの大海原に乗り出すならセキュリティアップデートもたくさん必要になるだろうが、ローカルでテストするだけならこのままでも問題ないでしょう。html を読み込ませると、問題なくナビゲーションバーが表示された。TOP を押すとトップページを表示してくれる。いいぞいいぞ。
http://www5d.biglobe.ne.jp/~quia/tech/html/linktype.html
これなら Opera でも Mozilla でも問題なく表示された。
まずはより快適にブラウズできるように、メタ情報を html に埋め込んでみる。
HTML - link要素の使い方
http://www.kanzaki.com/docs/html/link.html
link要素は文書全体についての情報を記述するhead要素の中に置かれ、HTML文書を前後の文書、スタイルシート、スクリプト、代替文書などの様々なリソースと結びつける働きをします。ブラウザなどのユーザーエージェントは、これを使ってナビゲーション・パレットを表示したり、自動的に正しい順番でファイルを印刷したりといった応用が可能です。
- link 要素によるサイトナビゲーション
リンクタイプの深淵 [QUIA]http://www5d.biglobe.ne.jp/~quia/tech/html/linktype.html
A, Link 要素の rel/rev 属性はリンクタイプを値としてとります。リンクタイプとは,当該 A / Link 要素によって示される文書間関係に一定の意味を与えるものです。
以前作ったサイトでは、ほぼすべてのページに Link 要素によるサイトナビゲーションを埋め込んでいた。しかし、この情報を解釈できるブラウザはほとんどなかったため、最近ではおそろかにしていた。最近は link 要素を解釈するブラウザを使うこともあるし、html lint で「<HEAD>〜</HEAD> 内に <LINK REL="NEXT" HREF="〜"> などのナヴィゲーション用のリンクが含まれていません。」と毎回指摘されるのも美しくないので、これを head タグ内に埋め込むことにする。
<link rel="top" href="/" title="Landscape トップページ">
Mozilla では上記の記述がある html だと、サイトナビゲーションバーを使ったページ移動ができるようになる。サイトのレイアウトに左右されずにページ間の移動ができるのでかなり便利だ。
ではテストしてみよう。Firefox を立ち上げて html をブラウズしてみる。あれ? サイトナビゲーションバーを表示するオプションってどこにあるんだろう? Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040803 Firefox/0.8 では どうやってこの Site Navigation Bar を表示させるのかがわからない。うーん、どうしよう。
Google で Site Navigation Bar を検索してわかったが、FireFox からは削除されている機能のようだ。エクステンションを入れれば使えるそうだが、手間だな。確か古い Mozilla をアンインストールせずに残しておいたはずなので、こっちを使おう。
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.6) Gecko/20040113 か。かなり古いのでウェブの大海原に乗り出すならセキュリティアップデートもたくさん必要になるだろうが、ローカルでテストするだけならこのままでも問題ないでしょう。html を読み込ませると、問題なくナビゲーションバーが表示された。TOP を押すとトップページを表示してくれる。いいぞいいぞ。
- Opera は複数のリンクタイプを解釈できない
リンクタイプの深淵 [QUIA]http://www5d.biglobe.ne.jp/~quia/tech/html/linktype.html
また,半角空白で区切り並置することによって複数のリンクタイプを指定することも許されています。たとえば,<LINK rel="help copyright" href="./help-and-copy.html"> のように記述することができます。
<link rel="top home" href="/" title="Landscape トップページ">つまり上記のように記述できるということだ。しかし、Mozilla は上記の記述で問題なく動作したが、Opera 7.53 Build 3864 はこの記述を受け付けず、top も home のどちらの値も未設定になってしまう。仕方がないので以下のような冗長な記述になった。
<link rel="top" href="/" title="Landscape トップページ">
<link rel="home" href="/" title="Landscape トップページ">
<link rel="index" href="all_category_article.html" title="すべての記事の見出し (カテゴリ別表示) ">
<link rel="contents" href="all_category_article.html" title="すべての記事の見出し (カテゴリ別表示) ">
これなら Opera でも Mozilla でも問題なく表示された。
友達と一緒に栃木県日光市の男体山 (なんたいさん) に登ってきた。私は男体山に登るのは初めてだが、友達たちは去年挑戦して登頂に失敗している。4合目で体力の限界を感じ、登山開始時刻が遅かったこともあり8合目にあるお社で時間切れとなり引き返したという。今年こそはぜひ登頂したいと意気込んでいた。
日光二荒山神社
http://www.futarasan.jp/
綿のT シャツとジーンズ。上着として長袖のシャツ。寒さを警戒して上着を持っていったが、頂上以外は T シャツでも問題なかった。ジーンズよりももっと動きやすい服の方が良かった。
ハンドタオル。
汗拭き用。
飲料 2リットル。
道中に自動販売機や売店、井戸や小川などの水場は全くないので、必要な水分は自分で持っていく。もちろんごみ箱などもないので、飲み終わった空き缶やボトルをしまう袋も持っていくこと。リュックサックにそのまま空き缶を入れておいても良いけどね。持っていった飲み物の銘柄は、「アクエリアス」500ミリペットボトル、「おーいお茶 水冷茶」500ミリペットボトル、「サントリーの烏龍茶」500ミリペットボトル、「伊右衛門」500ミリペットボトル。
お昼ご飯。
コンビニで買った梅おにぎりと紅鮭おにぎり、ハムとサラダのサンドイッチ。
甘い物。
糖分はすぐにエネルギーに変わり、疲労回復にも役立つ。今回は100円ショップダイソーで買ったコーラ&レモン飴一袋を持っていった。アスパルテームやステビア、キシリトールなどの低カロリー甘味料を使った物は避けた方が良い。糖分補給が目的なのに吸収されないので意味がない。砂糖やはちみつを使った物や、昔ながらの黒飴なんかもいいだろう。
レインコート。要するにかっぱ。
山の天気は変わりやすい。雨になっても傘をさして行くわけにはいかない。今回購入したのは3000円程度のもの。実家の父がゴルフ用のレインコートを持っていたので借りようかと思ったが、結構高価な物のようで借りるのは気が引けたため自分用のものを購入した。ビバホーム江曽島店で税込み3129円。2000円くらいのもう少し手頃な値段のものもあったが、「雨や風は通さずに、発汗によるムレを逃がす透湿防水素材、NANYA テックスを採用。耐水圧 5000mm 透湿性 2000g/m2/24hr」という謳い文句が購入の決め手となった。要するにゴアテックスみたいな奴でしょ、これ。性能はずいぶん違うと思うけど、まあこれでいいよ。
履き慣れた靴。
登山靴があるといいらしいけど、持っていないので NIKE のスニーカーを履いていった。
軍手。
岩場もあるし、手を保護するために必要。
虫除け。
一緒に行った友達が事前にくれた「必要な物の一覧」に入っていったので持っていった。蚊に刺されるは嫌だし。しかし、虫は全くと言っていいほどいなかったので必要なかった。ちなみに、持っていったのは近江兄弟社の「メンターム 虫とバイバイ パウダーイン」だ。
デジカメ。
景色撮影用。ケータイに付いてるカメラでもいいが、やっぱり専用機があるといい。2004-06-10 に父にプレゼントした RICOH Caplio G4 を持っていった。Caplio は新モデルの Caplio R1 が発売されるようなので、旧モデルがかなり手頃な値段になっている。
携帯電話。
時計の代わり。非常時の連絡用にも使える。2004-07-12 に買った Vodafone V401D を持っていった。V401D に付いている歩数計のカウントを稼ぐチャンスだしね。こまめに電波状況をチェックしてたわけじゃないけど、結構通じる場所は多いように感じた。山頂は圏外だったけど。
入山料 500円 (税込)。
男体山の登山ルートは2つ。日光二荒山神社の裏手から入る表ルートと、いきなり4合目くらいから登り始められる裏ルートがあるそうだ。表ルートから入る場合、入山料500円が必要。山に入るだけでお金がかかるのは珍しい気もするが、登山者用無料駐車場が使え、お守りももらえるのでまあ良しとしよう。ちなみにこのお守りは二荒山神社の中宮祠の宝物館入場券としても使える。
等高線付きの地図。
高低差すなわちアンジュレーションを表現した「等高線」が入った地図。等高線のおかげで傾斜がきついエリアが一目瞭然だ。
熊鈴。
熊避けのための鈴。よく知らないけど、男体山って熊いるの? まあそんなに重い物じゃないし、持っていくと何かに役立つかも。2004-02-07 の「クマー アスキーアート化 Bookmarklet」のクマーみたいなのだったら良いけど、本物の熊と戦うのは大変だもんね。
発煙筒。
車の助手席にについてる物。取り外して持ってきたそうだ。これも非常事態に対する備え。
手提げかばん。
これは昨年登頂失敗した友達が当時装備していたもの。要するに呪いのアイテム。普通はバックパック、ザック、リュックサックとかに持ち物を入れて登山するものだが、友達はこれで登ったらしい。手や肩を占有されるのでかなりつらいはずだ。この友達は今年は都合が悪く不参加だったので、手提げ鞄で登山する友達を見ることはできなかった。
1合目到達。07:25。お社みたいのがあった。「一合目まで5分なら、10合目まで50分で着くんじゃないの?」と言ったら「単純計算過ぎる」などと言われた。友達はこの後各合目に到達する毎にデジカメで写真に収めていた。タイムスタンプが自動で記録されるので、あとで所要時間を確認するのに役立つとのこと。賢いね。
2合目到達。目印は見つけられなかった。見落としたか、それとも最初から目印がないのかな? このあたりは林で、登山者たちが踏みならした道が登山道となっている。腐葉土や滑りやすい土が多い。下山時は滑って転んだりしそうだ。結構きつくなってくる。これはなめてかかるとやばいぞ。
3合目到達。ここからは4合目の石鳥居まではアスファルトで舗装された道路。かなり疲れて、すっかり口数が減る私。本当に登頂できるか自信がなくなってきた。去年の友達もこのあたりでバテてたそうだが、骨身に染みるほどよくわかる。
日光二荒山神社 今日の男体山
http://www.futarasan.jp/cgi-bin/imgsys/image.cgi?2:3484:0:0
4合目到達。石鳥居がある。日光の中禅寺湖を見下ろせる。あいにく曇り空だったが、雄大な景色だ。ここからまた森の中を登っていくのだが、傾斜が実にきつい。5合目到達まで2回以上休憩したかな? 友達たちは私ほどは疲れていない様子。みんなタフだなー。「一年前はきつく感じたけど、今回はそうでもない。」とのこと。うーん、一年経つとこんなに変わるものなのか。
5合目到達。避難小屋のそばで休憩。はあはあ。やっと50%か。こまめに小休止していかないと実につらい。飲み物の消費が激しい。もう2リットル中700ミリリットル位飲んでしまっている。大丈夫かな。3時間「練」を維持するくらい疲れている。ガスが出始めるが、視界などには今のところ悪影響はない。
6合目到達。6合目の目印は岩場に赤いスプレーで書かれていた。ここからは1メートルくらいの岩がゴロゴロしているあたりを登っていく。ジーンズをはいてきたのは失敗だったな。ストレートタイプのジーンズなので、足を上げるとふとももあたりに抵抗を感じる。これにかなり体力を奪われている。友達の一人はハーフパンツで来ており、軽快そうだ。防寒と外傷防止の観点からはハーフパンツはあまり良くないけど。柔軟性と耐久性に優れている服がおすすめ。サイヤ人やフリーザ一味が使っている戦闘服なんかがほしいところ。
7合目到達。避難小屋のそばで休憩。本当につらい。疲労はとっくに頂点。私を動かしているのは意志!! この苦行を成し遂げた瞬間、その自信は私を飛躍的に成長させるだろう。だが、私の修行達成は乃ち男体山の敗北!!「それだけは絶対 承知できねェ」と山の神様が私の登頂を阻止しようとしているように感じるくらいだ。
8合目到達。ここにはお社がある。友達たちはここで去年引き返している。まだ余裕があるようだし、今年は行けそうだね。周は石が多い。足場にもなるが、階段のように整備されているわけではないので、登るには手も使う必要もある。こんな所に石を持ち込んだやつ、出てこい!
9合目到達。はあはあ。景色がガラリと変わり、10cm 位の脆そうな赤い石がたくさんある。足場が安定せず、体力を奪われる。頂上まだー? もうここが頂上でもいいよ。歩幅を大きく取るとバランスを崩すおそれがあるので、小さめの歩幅で少しずつ登っていく。苦しい。
登頂! やったー! Top of the world って感じ。これで日光は平定じゃ。あいにくの曇り空とガスのため、残念ながら下界は見えない。神像、奥宮、剣をカメラに収める。写真を撮っていたら、奥宮にお参りするのを忘れた。お願い事たくさんあったのにね。
山頂でお昼ご飯。少しだけおなかが空いてきたところだ。おにぎりもサンドイッチも美味しい。食事終了時点で飲み物の残りが 550ミリリットルとなる。食事終了頃から冷たい風が吹いてきた。たまらず長袖のシャツを着る。それでも寒く感じるので、避難小屋の入り口付近で風を受けないように休む。さあ、そろそろ下山だ。
5合目くらいになると、滑りやすい土が多くなってくる。ブレーキングと足場の選択が重要。飲み物はまだ半分以上あるので、これなら間に合うだろう。滑りにくい部分を選んで降りていくのがつらいが、登りに比べれば圧倒的に楽だ。
4合目石鳥居到達。ここでしばらく休憩。その後1合目のお社まで一気に降りた。途中で猿に遭遇。友達はケータイで写真を取っていた。
無事下山。お疲れ様でした。この時点で膝はガクガクの大爆笑状態。疲れたー。所要時間は、上り・山頂での昼食・下りを合わせて7時間弱くらいかな。あとで各合目で撮っていた写真のタイムスタンプを友達から教えてもらうことにしよう。
さて、山の後は温泉。「やしおの湯」で温泉に入ってから、宇都宮への帰路についた。
服装は重要。動きやすく、滑ったときに備えて肌の露出を極力抑えた物を着よう。携帯電話を時計代わりにするのではなく、腕時計を持っていけば時間の確認が簡単。
水は2リットル程度必要。曇り空のため涼しくて良かったが、天気が良ければ山頂では絶景だったろうなー。
- 日光 男体山ってどんな山?
男体山の登山口となっている日光二荒山神社でもらった案内から引用。男体山 (海抜 2486m) は二荒山神社の御神体山であり、古来より山岳信仰の御山として多くの崇敬を集める関東第一の霊峯であります。山頂には当神社の奥宮がありますので、諸願をこめて御参拝下さい。
[案内・注意]
* 頂上まで普通はは3〜4時間、山道6Kmです。
* 水場がありませんので水は必ず御持参下さい。
* 雨具・防寒具を御用意下さい。
* 3〜4合目は広い工事用道路になり4合目の石鳥居をくぐり登山道に入ります。
* 7〜8合目、頂上付近はガレ場になりますので、落石等に充分ご注意下さい。
* 5、7、8合目、頂上には避難小屋があります。
* 焚き火・植物の採取は禁止致します。
* ゴミ・空き缶等は必ず持ち帰って下さい。
日光二荒山神社
http://www.futarasan.jp/
- 男体山 登山時の装備と持ち物
服装。綿のT シャツとジーンズ。上着として長袖のシャツ。寒さを警戒して上着を持っていったが、頂上以外は T シャツでも問題なかった。ジーンズよりももっと動きやすい服の方が良かった。
ハンドタオル。
汗拭き用。
飲料 2リットル。
道中に自動販売機や売店、井戸や小川などの水場は全くないので、必要な水分は自分で持っていく。もちろんごみ箱などもないので、飲み終わった空き缶やボトルをしまう袋も持っていくこと。リュックサックにそのまま空き缶を入れておいても良いけどね。持っていった飲み物の銘柄は、「アクエリアス」500ミリペットボトル、「おーいお茶 水冷茶」500ミリペットボトル、「サントリーの烏龍茶」500ミリペットボトル、「伊右衛門」500ミリペットボトル。
お昼ご飯。
コンビニで買った梅おにぎりと紅鮭おにぎり、ハムとサラダのサンドイッチ。
甘い物。
糖分はすぐにエネルギーに変わり、疲労回復にも役立つ。今回は100円ショップダイソーで買ったコーラ&レモン飴一袋を持っていった。アスパルテームやステビア、キシリトールなどの低カロリー甘味料を使った物は避けた方が良い。糖分補給が目的なのに吸収されないので意味がない。砂糖やはちみつを使った物や、昔ながらの黒飴なんかもいいだろう。
レインコート。要するにかっぱ。
山の天気は変わりやすい。雨になっても傘をさして行くわけにはいかない。今回購入したのは3000円程度のもの。実家の父がゴルフ用のレインコートを持っていたので借りようかと思ったが、結構高価な物のようで借りるのは気が引けたため自分用のものを購入した。ビバホーム江曽島店で税込み3129円。2000円くらいのもう少し手頃な値段のものもあったが、「雨や風は通さずに、発汗によるムレを逃がす透湿防水素材、NANYA テックスを採用。耐水圧 5000mm 透湿性 2000g/m2/24hr」という謳い文句が購入の決め手となった。要するにゴアテックスみたいな奴でしょ、これ。性能はずいぶん違うと思うけど、まあこれでいいよ。
履き慣れた靴。
登山靴があるといいらしいけど、持っていないので NIKE のスニーカーを履いていった。
軍手。
岩場もあるし、手を保護するために必要。
虫除け。
一緒に行った友達が事前にくれた「必要な物の一覧」に入っていったので持っていった。蚊に刺されるは嫌だし。しかし、虫は全くと言っていいほどいなかったので必要なかった。ちなみに、持っていったのは近江兄弟社の「メンターム 虫とバイバイ パウダーイン」だ。
デジカメ。
景色撮影用。ケータイに付いてるカメラでもいいが、やっぱり専用機があるといい。2004-06-10 に父にプレゼントした RICOH Caplio G4 を持っていった。Caplio は新モデルの Caplio R1 が発売されるようなので、旧モデルがかなり手頃な値段になっている。
携帯電話。
時計の代わり。非常時の連絡用にも使える。2004-07-12 に買った Vodafone V401D を持っていった。V401D に付いている歩数計のカウントを稼ぐチャンスだしね。こまめに電波状況をチェックしてたわけじゃないけど、結構通じる場所は多いように感じた。山頂は圏外だったけど。
入山料 500円 (税込)。
男体山の登山ルートは2つ。日光二荒山神社の裏手から入る表ルートと、いきなり4合目くらいから登り始められる裏ルートがあるそうだ。表ルートから入る場合、入山料500円が必要。山に入るだけでお金がかかるのは珍しい気もするが、登山者用無料駐車場が使え、お守りももらえるのでまあ良しとしよう。ちなみにこのお守りは二荒山神社の中宮祠の宝物館入場券としても使える。
- その他友達が持ってた物。
私は持っていかなかったけど、登山に慣れた友達が持ってた物。等高線付きの地図。
高低差すなわちアンジュレーションを表現した「等高線」が入った地図。等高線のおかげで傾斜がきついエリアが一目瞭然だ。
熊鈴。
熊避けのための鈴。よく知らないけど、男体山って熊いるの? まあそんなに重い物じゃないし、持っていくと何かに役立つかも。2004-02-07 の「クマー アスキーアート化 Bookmarklet」のクマーみたいなのだったら良いけど、本物の熊と戦うのは大変だもんね。
発煙筒。
車の助手席にについてる物。取り外して持ってきたそうだ。これも非常事態に対する備え。
手提げかばん。
これは昨年登頂失敗した友達が当時装備していたもの。要するに呪いのアイテム。普通はバックパック、ザック、リュックサックとかに持ち物を入れて登山するものだが、友達はこれで登ったらしい。手や肩を占有されるのでかなりつらいはずだ。この友達は今年は都合が悪く不参加だったので、手提げ鞄で登山する友達を見ることはできなかった。
- 男体山 上り
登山開始。07:20。「男体山って何合目まであるの?」などと友達に質問しながら進む。お米の数え方の一合二合と同じなので、当然10合目までしかない。風来のシレンのテーブルマウンテンは30階くらいあったのにね。1合目到達。07:25。お社みたいのがあった。「一合目まで5分なら、10合目まで50分で着くんじゃないの?」と言ったら「単純計算過ぎる」などと言われた。友達はこの後各合目に到達する毎にデジカメで写真に収めていた。タイムスタンプが自動で記録されるので、あとで所要時間を確認するのに役立つとのこと。賢いね。
2合目到達。目印は見つけられなかった。見落としたか、それとも最初から目印がないのかな? このあたりは林で、登山者たちが踏みならした道が登山道となっている。腐葉土や滑りやすい土が多い。下山時は滑って転んだりしそうだ。結構きつくなってくる。これはなめてかかるとやばいぞ。
3合目到達。ここからは4合目の石鳥居まではアスファルトで舗装された道路。かなり疲れて、すっかり口数が減る私。本当に登頂できるか自信がなくなってきた。去年の友達もこのあたりでバテてたそうだが、骨身に染みるほどよくわかる。
日光二荒山神社 今日の男体山
http://www.futarasan.jp/cgi-bin/imgsys/image.cgi?2:3484:0:0
曇の日は、涼しくて登り易いと思われます。登りやすいのはわかるが、それでもつらいよ。
http://www.futarasan.jp/cgi-bin/imgsys/img.cgi?28308224
[平成16年8月22日(日)曇 午前7時 撮影]
気温17℃ 湿度62%
4合目到達。石鳥居がある。日光の中禅寺湖を見下ろせる。あいにく曇り空だったが、雄大な景色だ。ここからまた森の中を登っていくのだが、傾斜が実にきつい。5合目到達まで2回以上休憩したかな? 友達たちは私ほどは疲れていない様子。みんなタフだなー。「一年前はきつく感じたけど、今回はそうでもない。」とのこと。うーん、一年経つとこんなに変わるものなのか。
5合目到達。避難小屋のそばで休憩。はあはあ。やっと50%か。こまめに小休止していかないと実につらい。飲み物の消費が激しい。もう2リットル中700ミリリットル位飲んでしまっている。大丈夫かな。3時間「練」を維持するくらい疲れている。ガスが出始めるが、視界などには今のところ悪影響はない。
6合目到達。6合目の目印は岩場に赤いスプレーで書かれていた。ここからは1メートルくらいの岩がゴロゴロしているあたりを登っていく。ジーンズをはいてきたのは失敗だったな。ストレートタイプのジーンズなので、足を上げるとふとももあたりに抵抗を感じる。これにかなり体力を奪われている。友達の一人はハーフパンツで来ており、軽快そうだ。防寒と外傷防止の観点からはハーフパンツはあまり良くないけど。柔軟性と耐久性に優れている服がおすすめ。サイヤ人やフリーザ一味が使っている戦闘服なんかがほしいところ。
7合目到達。避難小屋のそばで休憩。本当につらい。疲労はとっくに頂点。私を動かしているのは意志!! この苦行を成し遂げた瞬間、その自信は私を飛躍的に成長させるだろう。だが、私の修行達成は乃ち男体山の敗北!!「それだけは絶対 承知できねェ」と山の神様が私の登頂を阻止しようとしているように感じるくらいだ。
8合目到達。ここにはお社がある。友達たちはここで去年引き返している。まだ余裕があるようだし、今年は行けそうだね。周は石が多い。足場にもなるが、階段のように整備されているわけではないので、登るには手も使う必要もある。こんな所に石を持ち込んだやつ、出てこい!
9合目到達。はあはあ。景色がガラリと変わり、10cm 位の脆そうな赤い石がたくさんある。足場が安定せず、体力を奪われる。頂上まだー? もうここが頂上でもいいよ。歩幅を大きく取るとバランスを崩すおそれがあるので、小さめの歩幅で少しずつ登っていく。苦しい。
登頂! やったー! Top of the world って感じ。これで日光は平定じゃ。あいにくの曇り空とガスのため、残念ながら下界は見えない。神像、奥宮、剣をカメラに収める。写真を撮っていたら、奥宮にお参りするのを忘れた。お願い事たくさんあったのにね。
山頂でお昼ご飯。少しだけおなかが空いてきたところだ。おにぎりもサンドイッチも美味しい。食事終了時点で飲み物の残りが 550ミリリットルとなる。食事終了頃から冷たい風が吹いてきた。たまらず長袖のシャツを着る。それでも寒く感じるので、避難小屋の入り口付近で風を受けないように休む。さあ、そろそろ下山だ。
- 男体山 下り
速い速い。登りと違って苦しくない。注意すべきは膝。クッションを使っていかないと、故障の原因となる。登りの半分から3分の2の時間であっという間に降りていける。休憩もあまり要らない。6合目くらいまで、各合目あたり一回くらいのペースで休憩して降りていく。5合目くらいになると、滑りやすい土が多くなってくる。ブレーキングと足場の選択が重要。飲み物はまだ半分以上あるので、これなら間に合うだろう。滑りにくい部分を選んで降りていくのがつらいが、登りに比べれば圧倒的に楽だ。
4合目石鳥居到達。ここでしばらく休憩。その後1合目のお社まで一気に降りた。途中で猿に遭遇。友達はケータイで写真を取っていた。
無事下山。お疲れ様でした。この時点で膝はガクガクの大爆笑状態。疲れたー。所要時間は、上り・山頂での昼食・下りを合わせて7時間弱くらいかな。あとで各合目で撮っていた写真のタイムスタンプを友達から教えてもらうことにしよう。
さて、山の後は温泉。「やしおの湯」で温泉に入ってから、宇都宮への帰路についた。
- 感想
結局は体力勝負。トレーニングしてから山に来よう。他はほぼ要らない。道はほぼ一本道だし、順路が赤いスプレーで岩などに書かれているのでまず迷うことはないだろう。服装は重要。動きやすく、滑ったときに備えて肌の露出を極力抑えた物を着よう。携帯電話を時計代わりにするのではなく、腕時計を持っていけば時間の確認が簡単。
水は2リットル程度必要。曇り空のため涼しくて良かったが、天気が良ければ山頂では絶景だったろうなー。
RHAPSODY - Digital Music Service
http://www.listen.com/
音楽配信サービス Rhapsody (ラプソディ) がオリンピック期間中の 8/29 まで無料開放中。つまり、数十万曲の音楽が無料で聴き放題。
Rhapsody でサービスしているアーティストの一例。Trance のジャンルでは少なくとも以下のアーティストの曲があった。CD 買おうか迷ってたアーティストの曲をこのチャンスに試聴し尽くす予定。あー、常時接続で良かったー!
今まであまり聴くチャンスがなかった 808 State や Orbital の古めの曲なんかも聴きたい。アテネオリンピック開会式でプレイしていた DJ TIESTO の曲もあった。Robert Miles に至っては、2004-04-12 に買った Miles_Gurtu をはじめとして、Dreamland, 23 AM, Organik, と歴代のアルバムを大開放。すごい。
音楽配信メモから。
音楽配信メモ - xtc.bz 超久しぶりに米国聴き放題型音楽配信サービス「Rhapsody」が無料開放中
http://xtc.bz/data/2004/08/20.html
2. ユーザー登録
好きなユーザ名とパスワードを入力し、メールアドレスを登録するだけ。
3. 好きなアーティストの曲を聴く
一日中好きな曲に浸れる。
音楽配信メモBBS 批判・要望・感想スレッド
http://xtc.bz/cgi-bin/bbs/test/read.cgi/bbs/1035997376/l50
フォーマットは mp3 なのか WMV なのか Real なのか Ogg Vorbis なのか AAC なのかわからないが、専用クライアントがあるのでそんなことを気にせず音楽に浸れる。将来的にはにビデオクリップなどの動画もダウンロードできるとうれしいんだけどな。・・・と思ったら、一部アーティストについては PV (プロモーションビデオ) を見ることもできるようだ。
あー幸せ。日本でもこういうサービスをぜひやって欲しい。
http://www.listen.com/
音楽配信サービス Rhapsody (ラプソディ) がオリンピック期間中の 8/29 まで無料開放中。つまり、数十万曲の音楽が無料で聴き放題。
Rhapsody でサービスしているアーティストの一例。Trance のジャンルでは少なくとも以下のアーティストの曲があった。CD 買おうか迷ってたアーティストの曲をこのチャンスに試聴し尽くす予定。あー、常時接続で良かったー!
The Chemical Brothers
Deep Dish
Hybrid
Leftfield
Paul Oakenfold
Sasha
Paul Van Dyk
Way Out West
今まであまり聴くチャンスがなかった 808 State や Orbital の古めの曲なんかも聴きたい。アテネオリンピック開会式でプレイしていた DJ TIESTO の曲もあった。Robert Miles に至っては、2004-04-12 に買った Miles_Gurtu をはじめとして、Dreamland, 23 AM, Organik, と歴代のアルバムを大開放。すごい。
音楽配信メモから。
音楽配信メモ - xtc.bz 超久しぶりに米国聴き放題型音楽配信サービス「Rhapsody」が無料開放中
http://xtc.bz/data/2004/08/20.html
超久しぶりに米国聴き放題型音楽配信サービス「Rhapsody」が無料開放中
オリンピック期間中無料開放するそうです(クレジットカードもいらないです)。現在の配信楽曲73万曲が高音質で聴き放題なので、米国の音楽配信サービスがどんなものか知りたい人はぜひ使ってみましょう。感動しますよ。ひとしきり感動したら、日本でもこういう便利なサービスが始まるよう、ユーザーサイドからコンテンツサイドに圧力をかけていくべきですね。
- 聴き方
1. Rhapsody クライアントをダウンロードする。http://www.listen.com/ の右側にあるオレンジ色の GET IT NOW! というアイコンをクリックするとダウンロードページに行ける。ただし、IP アドレスによる制限を掛けている模様。回避方法は後述。2. ユーザー登録
好きなユーザ名とパスワードを入力し、メールアドレスを登録するだけ。
3. 好きなアーティストの曲を聴く
一日中好きな曲に浸れる。
- Rhapsody クライアントダウンロードページでは日本からの接続を弾いている
ここが問題。Rhapsody は専用クライアントをダウンロードして配信サーバに接続して利用するサービス。で、クライアントダウンロードページは IP アドレスによる制限がかかっている模様。.jp のプロバイダを利用している私も同様のエラーに見舞われた。解決方法は アメリカの proxy を使うこと。クライアントさえダウンロードできてしまえば、あとは jp からのアクセスでも大丈夫だった。音楽配信メモBBS 批判・要望・感想スレッド
http://xtc.bz/cgi-bin/bbs/test/read.cgi/bbs/1035997376/l50
167 名前:名無しさん 2004/08/20 14:49
トップ記事読んでRapsody さっそく使ってみようと思ったのですが
GET IT NOWボタンをクリックすると
We're sorry.
Rhapsody is not yet offered in your country or region. Please check back later, and thanks for your interest in Rhapsody.
ってメッセージ出ちゃいました。やっぱり日本はハジかれちゃうの?私がマカ−だから?
168 名前:津田 ★ 2004/08/20 16:46
>167
接続時のIPを見ているみたいですね。
http://www.cybersyndrome.net/country.html
で米国のプロクシを探してそれをかましてからGETE IT NOWボタン
を押したらダウンロードできました。ダウンロードできる
プロクシとそうでないプロクシがあるのでいろいろ試してみて
ください。クライアントの方からの接続制限はない模様です。
フォーマットは mp3 なのか WMV なのか Real なのか Ogg Vorbis なのか AAC なのかわからないが、専用クライアントがあるのでそんなことを気にせず音楽に浸れる。将来的にはにビデオクリップなどの動画もダウンロードできるとうれしいんだけどな。・・・と思ったら、一部アーティストについては PV (プロモーションビデオ) を見ることもできるようだ。
あー幸せ。日本でもこういうサービスをぜひやって欲しい。
プレイステーション2の「ぼくのなつやすみ2 海の冒険篇」をプレイしている。
公式サイト ぼくのなつやすみ2 海の冒険篇
http://www.playstation.jp/scej/title/bokunatsu2/
昭和50年8月の伊豆半島あたりの港町が舞台。プレイヤーキャラは小学三年生の男の子。母親が臨月になったので民宿をやっている親戚に預けられ、そこで夏休みを過ごすことになった。
日がな一日釣りをしたり、虫取りに行ったり、海で泳いだり、無防備な民家を勝手に訪問したりして遊ぶゲーム。ダラダラと怠惰で無益な一日を過ごすこともできるし、一日中走り回ってイベントをこなしていく遊び方もできる。
キャラデザインは上田三根子。名前は知らなくても、「キレイキレイ」のキャラクターデザインをやった人といえばわかるだろう。これがゲームの世界観と合っている。途中に挿入されるムービーでも違和感がない。上田三根子の絵のおかげでゲーム全体の印象がのんびりとした物になっている。
名前を入力してムービーが終われば、あとは好きに遊べる。何やってもいい。釣りや虫集めも楽しいが、他にも遊びはたくさんある。いくつか楽しかった遊びを書いておこう。
この子には恐怖心がないようで、沖の方でも躊躇することなく泳いでいってしまう。そんな子には海の恐ろしさを味あわせてあげる必要がある。潜ったまま息継ぎをしないでライフゲージが0になるのを待ってみる。ライフゲージが0になると、10からカウントダウンが開始。カウントが進むに従って、鮮やかな赤色をしていたハートマークがだんだん黒くなってくる。カウントが0になると・・・。どうなるかは自分でやってみるべし。
蜂の巣をつつくと、当然のごとく怒った蜂に襲われる。逃げる間もない。で、刺されると「あららららら・・・」という断末魔とともに民宿に戻され、民宿のおばちゃんの介抱を受けることになる。民宿に戻されても所持金は半分にならないので、安心して何度でも蜂の巣をつつける。
ここでも×ボタンのアナログ感圧入力で操作できる。×ボタンを強く押しっぱなしにすれば勢いよく走れる。
さて、民宿の東側には急な坂がある。こんな坂を見ると、自転車で駆け下りてみたくなるのが小学生の性。例によって坂の先は5メートル以上ある崖になっているわけだが。坂の頂上の診療所まで登っていって、そこからスタート。最初から×ボタンをフルスロットルで押しっぱなしにして、猛スピードで坂を駆け下りる。△ボタンでベルを鳴らしながら、崖に突っ込む! ちりんちりんちりんちりん!!! ・・・。何も起こらなかった。
あー今日も遊んだし、そろそろ帰って眠ろう・・・って、あれ? もう22:40か。これは微妙な時間だな。間に合うだろうか・・・。あ、民宿のおばちゃんだ。間に合わなかったか。というわけで、私は初日からラジオ体操をすっぽかす事になってしまった。
公式サイト ぼくのなつやすみ2 海の冒険篇
http://www.playstation.jp/scej/title/bokunatsu2/
- ぼくのなつやすみ2 海の冒険篇ってどんなゲーム?
昭和50年8月の伊豆半島あたりの港町が舞台。プレイヤーキャラは小学三年生の男の子。母親が臨月になったので民宿をやっている親戚に預けられ、そこで夏休みを過ごすことになった。
日がな一日釣りをしたり、虫取りに行ったり、海で泳いだり、無防備な民家を勝手に訪問したりして遊ぶゲーム。ダラダラと怠惰で無益な一日を過ごすこともできるし、一日中走り回ってイベントをこなしていく遊び方もできる。
キャラデザインは上田三根子。名前は知らなくても、「キレイキレイ」のキャラクターデザインをやった人といえばわかるだろう。これがゲームの世界観と合っている。途中に挿入されるムービーでも違和感がない。上田三根子の絵のおかげでゲーム全体の印象がのんびりとした物になっている。
- プレイレポート
まずは絵日記帳に自分の名前を書くところからスタート。絵日記帳の銘柄はジャポニカだ。ジュニア・エポカではない。ただ、ここで名前を書いてもゲーム中にその名前で呼ばれることはまずない。なぜなら、このゲームでは登場人物の会話はちゃんと声優が声を当てているからだ。あらゆる会話でキャラがしゃべりまくる。音声合成を上手く使えばユーザー入力した名前を挿入することはできるだろうが、「ときめきメモリアル」のような恋愛シミュレーションならともかく、このゲームではそんなことをする必要がないのだろう。名前を入力してムービーが終われば、あとは好きに遊べる。何やってもいい。釣りや虫集めも楽しいが、他にも遊びはたくさんある。いくつか楽しかった遊びを書いておこう。
- 民宿の食堂でテレビを見てみる。
高校野球が放送されていた。都道府県の予選なのか、それとも甲子園なのかは覚えてないけど。朝から晩までずーっと阿蘇山南高校が二回の裏の攻撃をやっていた。阿蘇山南高校の野球部員たちはゴールド・エクスペリエンス・レクイエムの攻撃でも受けたのかな。ちなみに、Google で阿蘇山南高校を検索してみたが、ヒットしなかった。- 海で溺れてみる。
民宿の目の前は海。岸に立って○ボタンを押せば、いつでも海に飛び込める。この子は泳ぎが上手い。平泳ぎもできるし、×ボタンのアナログ感圧入力を利用して×ボタンを押したまま強弱を付ければ、イルカのようにドルフィンキックで泳ぐこともできる。この子には恐怖心がないようで、沖の方でも躊躇することなく泳いでいってしまう。そんな子には海の恐ろしさを味あわせてあげる必要がある。潜ったまま息継ぎをしないでライフゲージが0になるのを待ってみる。ライフゲージが0になると、10からカウントダウンが開始。カウントが進むに従って、鮮やかな赤色をしていたハートマークがだんだん黒くなってくる。カウントが0になると・・・。どうなるかは自分でやってみるべし。
- 蜂に刺されてみる。
蜂の巣を見かけたらつついてみたくなるのが子供の性。蜂の巣をつつくと、当然のごとく怒った蜂に襲われる。逃げる間もない。で、刺されると「あららららら・・・」という断末魔とともに民宿に戻され、民宿のおばちゃんの介抱を受けることになる。民宿に戻されても所持金は半分にならないので、安心して何度でも蜂の巣をつつける。
- 自転車で急坂を駆け下りてみる。
民宿には自転車が一台置いてあり、好きに乗り回せる。ここでも×ボタンのアナログ感圧入力で操作できる。×ボタンを強く押しっぱなしにすれば勢いよく走れる。
さて、民宿の東側には急な坂がある。こんな坂を見ると、自転車で駆け下りてみたくなるのが小学生の性。例によって坂の先は5メートル以上ある崖になっているわけだが。坂の頂上の診療所まで登っていって、そこからスタート。最初から×ボタンをフルスロットルで押しっぱなしにして、猛スピードで坂を駆け下りる。△ボタンでベルを鳴らしながら、崖に突っ込む! ちりんちりんちりんちりん!!! ・・・。何も起こらなかった。
- あー楽しかった
楽しい一日ももうそろそろ終わり。23:00 になると、民宿のおばちゃんがプレイヤーを捕まえに来て強制的に眠ることになる。こうなってしまうと、翌朝のラジオ体操を寝坊してしまう。ラジオ体操にちゃんと出席してスタンプをもらうには、23:00 までに自室に戻り、自主的に絵日記を書いて眠る必要があるのだ。あー今日も遊んだし、そろそろ帰って眠ろう・・・って、あれ? もう22:40か。これは微妙な時間だな。間に合うだろうか・・・。あ、民宿のおばちゃんだ。間に合わなかったか。というわけで、私は初日からラジオ体操をすっぽかす事になってしまった。
日経バイト2004年7月号の Yahoo BB ネットワーク設計者 平宮康広氏の話はちょっと面白かった。BB テクノロジー社の前身と、Yahoo BB のネットワーク構築思想が語られていた。
この人はこういう経歴だったのか。社員二人しかいないのに宣伝のために駅前でティッシュ配りをしようかと話していた、というくだりには笑った。
DHCP 問題やファイル共有問題についても語られていた。この問題はずいぶん前にいろんなところで読んだ気がするが、設計者が語ったものは初めて読んだと思う。平宮氏はこの問題発生時には直接関わっていなかったとのこと。原因は DSLAM のフィルタを VoIP 開始に伴って外してしまい、ブロードキャストを通すようにしてしまったことと、ルータの HSRP (Hot Standby Routing Protocol) の設定ミスだそうだ。
そういえば、日経IT Pro に掲載されていた P2P よりも経路情報のトラフィックの方が多いという記述はなかったな。あ、IT Pro のは日経コミュニケーション誌のインタビューか。聞き手も違うな。日経コミュニケーションのバックナンバーを何冊か見てみたが、該当の記事は見つけられなかった。本誌には掲載しない Web だけの記事なのかな。
P2Pは悪くない,事業者が考えるべき策はまだある : IT Pro インタビュー
http://itpro.nikkeibp.co.jp/free/NCC/INTERVIEW/20040728/1478 ...
この人はこういう経歴だったのか。社員二人しかいないのに宣伝のために駅前でティッシュ配りをしようかと話していた、というくだりには笑った。
DHCP 問題やファイル共有問題についても語られていた。この問題はずいぶん前にいろんなところで読んだ気がするが、設計者が語ったものは初めて読んだと思う。平宮氏はこの問題発生時には直接関わっていなかったとのこと。原因は DSLAM のフィルタを VoIP 開始に伴って外してしまい、ブロードキャストを通すようにしてしまったことと、ルータの HSRP (Hot Standby Routing Protocol) の設定ミスだそうだ。
そういえば、日経IT Pro に掲載されていた P2P よりも経路情報のトラフィックの方が多いという記述はなかったな。あ、IT Pro のは日経コミュニケーション誌のインタビューか。聞き手も違うな。日経コミュニケーションのバックナンバーを何冊か見てみたが、該当の記事は見つけられなかった。本誌には掲載しない Web だけの記事なのかな。
P2Pは悪くない,事業者が考えるべき策はまだある : IT Pro インタビュー
http://itpro.nikkeibp.co.jp/free/NCC/INTERVIEW/20040728/1478 ...
amazon のサイトを見て回っていると、ハンター X ハンター 14巻のページに「この商品は「HUNTER×HUNTER」シリーズの14作目です」という記述とリンクがあった。
「HUNTER×HUNTER」コミック一覧
http://www.amazon.co.jp/exec/obidos/redirect?path=tg/series/ ...
クリックしてみると、既刊の1巻から20巻までが一覧になっていた。また、「このシリーズの商品をまとめて買う」という記述と、その脇に「まとめてショッピングカートに入れる」ボタンが配置されていた。表紙画像も確認できるし、これは便利だ。
今までは出版社が用意した「火の鳥 全13巻セット」などのセット物はあったけど、それ以外だと一冊毎にショッピングカートに入れなければならなかった。その手間を何とかしようと考えた結果、amazon がシリーズ物をまとめて一覧で提供するようになったのだろう。
ハンター X ハンターの他にはどんな物がまとめ買いできるんだろう? やっぱり人気連載が多いんだろうか? こち亀とかジョジョ、ドラゴンボールあたりはありそうだな。
既刊34冊の一覧。
既刊23冊の一覧。
現時点で既刊は27冊あるのだが、ぜかコミック20冊、単行本6冊、新書1冊に分散して収録されてしまっている。3つ合計すると27冊となり、既刊の冊数と一致するので問題はないのだが、美しくないなー。「すべてのエディション」を選択すると全部表示されるけど、「まとめてショッピングカートに入れる」ボタンがないので不便だろう。
まだ2冊しかないけど。
既刊20冊の一覧。
こち亀も新書、コミック、単行本に分散して収録されてしまっているため、わかりにくくなっている。
コミックの極めつけはこれ。133冊も一気に表示されるのは圧巻。
DVD もシリーズ物は一覧になっているものがある。2004-08-11 に書いた「ルパン三世 TV スペシャル サウンドトラック一覧」は無かったが、DVD 一覧は amazon が用意してくれていた。
BASTARD!
ガラスの仮面
新世紀エヴァンゲリオン
ヒカルの碁
美味しんぼ
ジョジョと美味しんぼはシリーズ全体で80巻以上あり、まとめ買いできないと大変だ。そのうち追加されるのかな。
昔こち亀を80冊ほど書店に発注したことがあったが、そのときは大変だった。それを思えば、ボタン一発で大量の本を一気にカートに追加できるまとめ買い機能は実に便利だ。
さーて、カートの商品を削除して・・・って、これどうやって全部削除するの? 「全部削除」のボタンは見あたらないんだけど・・・。もしかして、商品毎に横についてる削除ボタンを冊数分押すしかないの? 「ショッピングカート内の商品は、90日間保存されます。」と書いてあるから90日経てば自動的に消えるんだろうけど、既にサインインしてしまっているこのアカウントが90日間使えないのは痛い。買いたい CD たくさんあるし。どうしよう・・・。
「HUNTER×HUNTER」コミック一覧
http://www.amazon.co.jp/exec/obidos/redirect?path=tg/series/ ...
クリックしてみると、既刊の1巻から20巻までが一覧になっていた。また、「このシリーズの商品をまとめて買う」という記述と、その脇に「まとめてショッピングカートに入れる」ボタンが配置されていた。表紙画像も確認できるし、これは便利だ。
{火の鳥 全13巻セット 角川文庫}:isbn:4871187918
今までは出版社が用意した「火の鳥 全13巻セット」などのセット物はあったけど、それ以外だと一冊毎にショッピングカートに入れなければならなかった。その手間を何とかしようと考えた結果、amazon がシリーズ物をまとめて一覧で提供するようになったのだろう。
ハンター X ハンターの他にはどんな物がまとめ買いできるんだろう? やっぱり人気連載が多いんだろうか? こち亀とかジョジョ、ドラゴンボールあたりはありそうだな。
- One Piece コミック一覧
http://www.amazon.co.jp/exec/obidos/redirect?path=tg/series/ ...既刊34冊の一覧。
- NARUTO コミック一覧
http://www.amazon.co.jp/exec/obidos/redirect?path=tg/series/ ...既刊23冊の一覧。
- ベルセルク コミック一覧
http://www.amazon.co.jp/exec/obidos/redirect?path=tg/series/ ...現時点で既刊は27冊あるのだが、ぜかコミック20冊、単行本6冊、新書1冊に分散して収録されてしまっている。3つ合計すると27冊となり、既刊の冊数と一致するので問題はないのだが、美しくないなー。「すべてのエディション」を選択すると全部表示されるけど、「まとめてショッピングカートに入れる」ボタンがないので不便だろう。
- DEATH NOTE コミック一覧
http://www.amazon.co.jp/exec/obidos/redirect?path=tg/series/ ...まだ2冊しかないけど。
- バガボンド コミック一覧
http://www.amazon.co.jp/exec/obidos/redirect?path=tg/series/ ...既刊20冊の一覧。
- こちら葛飾区亀有公園前派出所 コミック一覧
http://www.amazon.co.jp/exec/obidos/redirect?path=tg/series/ ...こち亀も新書、コミック、単行本に分散して収録されてしまっているため、わかりにくくなっている。
- ゴルゴ13 コミック一覧
http://www.amazon.co.jp/exec/obidos/redirect?path=tg/series/ ...コミックの極めつけはこれ。133冊も一気に表示されるのは圧巻。
- ルパン三世 TV スペシャル DVD 一覧
http://www.amazon.co.jp/exec/obidos/redirect?path=tg/series/ ...DVD もシリーズ物は一覧になっているものがある。2004-08-11 に書いた「ルパン三世 TV スペシャル サウンドトラック一覧」は無かったが、DVD 一覧は amazon が用意してくれていた。
- 一覧がなかったシリーズ
ジョジョの奇妙な冒険BASTARD!
ガラスの仮面
新世紀エヴァンゲリオン
ヒカルの碁
美味しんぼ
ジョジョと美味しんぼはシリーズ全体で80巻以上あり、まとめ買いできないと大変だ。そのうち追加されるのかな。
- まとめ買いは計画的に
ゴルゴ13 のコミック一覧を見てたら、「ショッピングカートに入れる」を押したい衝動にかられた。現実世界の書店と違って、カートに入れるのが簡単なことがインターネット通販サイトの良いところだ。やってみよう! と冷やかしで「ショッピングカートに入れる」を実行したらホントに133冊も入った。カートには山盛りのゴルゴ13。こんなショッピングカート見たことない。「ショッピングカートには133点の商品が入っています」などと見慣れない表示も出るようになったし。昔こち亀を80冊ほど書店に発注したことがあったが、そのときは大変だった。それを思えば、ボタン一発で大量の本を一気にカートに追加できるまとめ買い機能は実に便利だ。
さーて、カートの商品を削除して・・・って、これどうやって全部削除するの? 「全部削除」のボタンは見あたらないんだけど・・・。もしかして、商品毎に横についてる削除ボタンを冊数分押すしかないの? 「ショッピングカート内の商品は、90日間保存されます。」と書いてあるから90日経てば自動的に消えるんだろうけど、既にサインインしてしまっているこのアカウントが90日間使えないのは痛い。買いたい CD たくさんあるし。どうしよう・・・。
- せっせ、せっせ
ええ、押しましたとも。削除ボタンをせっせと133回。- 教訓
現実のお店でも、インターネット通販サイトでも、冷やかしは良くない。ポートノッキングとは、ある特定の順番でポートを叩いたときだけ接続を許可する仕組み。コードは見ていないが、きっと SYN を監視しているんだろう。
japan.linux.com | ポートノッキング批判
http://japan.linux.com/security/04/08/13/0250213.shtml
表題は「ポートノッキング批判」だけど、ポートノッキングそのものを批判してるんじゃなくて、セキュリティ関連の技術についての考え方や使い方についての記事だった。
ポートノッキングという仕組みはこの記事を読んで初めて知った。面白い機能だ。単体では信頼性に難があるが、既存の技術と組み合わせればセキュリティをより強固にできる。
この記事を読んでいると「内密チャンネル」や DNS を使ってトンネリングする「TCP over DNS」を想起させる。とくに重要そうに見えないデータには別の意味があり、そこに大事な情報が隠されているってシチュエーション、なんだかワクワクする。
内密チャンネル
http://www.dd.iij4u.or.jp/~okuyamak/Information/convert_chan ...
TCP over DNS
http://www.nantoka.com/~kei/diary/?200311a&to=200311041# ...
http://61.203.92.65/~fkz/daiary/200406.html#d020858
japan.linux.com | ポートノッキング批判
http://japan.linux.com/security/04/08/13/0250213.shtml
表題は「ポートノッキング批判」だけど、ポートノッキングそのものを批判してるんじゃなくて、セキュリティ関連の技術についての考え方や使い方についての記事だった。
ポートノッキングという仕組みはこの記事を読んで初めて知った。面白い機能だ。単体では信頼性に難があるが、既存の技術と組み合わせればセキュリティをより強固にできる。
この記事を読んでいると「内密チャンネル」や DNS を使ってトンネリングする「TCP over DNS」を想起させる。とくに重要そうに見えないデータには別の意味があり、そこに大事な情報が隠されているってシチュエーション、なんだかワクワクする。
内密チャンネル
http://www.dd.iij4u.or.jp/~okuyamak/Information/convert_chan ...
TCP over DNS
http://www.nantoka.com/~kei/diary/?200311a&to=200311041# ...
http://61.203.92.65/~fkz/daiary/200406.html#d020858
TV スペシャルの次は劇場版でしょう、ということでルパン三世 劇場版 サウンドトラック一覧。
「ルパン三世 TV スペシャル サウンドトラック一覧」は 2004-08-11。
劇場版サントラも「ルパン三世クロニクル MUSIC FILE」というかたちで復刻されていて、手に入れやすくなっている。
ルパン三世 - Wikipedia
http://ja.wikipedia.org/wiki/%E3%83%AB%E3%83%91%E3%83%B3%E4% ...
あれ? 劇場版ってこれだけなんだ。「バビロンの黄金伝説」と「風魔一族の陰謀」は見てないけど、それ以外は見てるな。
あ、これは最近 TV で放送されてるのを見たぞ。ルパン音頭が聴ける作品だよね。アラレちゃん音頭やドラえもん音頭とタメを張れるくらいの音頭っぷりだった。
カリオストロは何度も見たなあ。でも音楽はあまり記憶に残ってないな。ストーリーや演出がすごく良かったせいかな。
この「完全収録盤」と銘打ったカリオストロの城のサントラ、友達が持っていた。聴かせてもらったところ、中身はまさにサウンドトラック。映画の音声トラックをそのまま収録したような内容だった。
このサントラ、どう楽しんでるの? と友達に聴いたところ、「サントラを再生しながらビデオを見るわけだよ。そうするとだんだん同期がずれてきて、サントラの方が数十秒先を再生するという状態になる。そうやってセリフを先取りするようにビデオを見るんだよ。」と、わけのわからない楽しみ方を教わった記憶がある。
この作品はまだ見てないはず。
この作品もまだ見てないはず。サントラが見つからなかったので DVD へリンク。
映画館で見た。内容は・・・子供たちは喜んで見てた。音楽は覚えてないなあ。
これも映画館で見た。くたばれ!ノストラダムスより面白いと感じた。
「ルパン三世 TV スペシャル サウンドトラック一覧」は 2004-08-11。
劇場版サントラも「ルパン三世クロニクル MUSIC FILE」というかたちで復刻されていて、手に入れやすくなっている。
- 劇場版ってあんまり見た記憶がない
劇場版はたぶん新しめの作品しか見てないだろうし、公開年などがよくわからなかったので Wikipedia で調べてきた。ルパン三世 - Wikipedia
http://ja.wikipedia.org/wiki/%E3%83%AB%E3%83%91%E3%83%B3%E4% ...
劇場映画
1978年 第1作 ルパン三世 ルパンVS複製人間
1979年 第2作 ルパン三世 カリオストロの城
1985年 第3作 ルパン三世 バビロンの黄金伝説
1987年 第4作 ルパン三世 風魔一族の陰謀
1995年 第5作 ルパン三世 くたばれ!ノストラダムス
1996年 第6作 ルパン三世 DEAD OR ALIVE
あれ? 劇場版ってこれだけなんだ。「バビロンの黄金伝説」と「風魔一族の陰謀」は見てないけど、それ以外は見てるな。
- ルパン vs 複製人間
あ、これは最近 TV で放送されてるのを見たぞ。ルパン音頭が聴ける作品だよね。アラレちゃん音頭やドラえもん音頭とタメを張れるくらいの音頭っぷりだった。
- カリオストロの城
ミュージックファイルシリーズ/ルパン三世クロニクル ルパン三世カリオストロの城MUSIC FILE
サントラ / ユー&エクスプロージョン・バンド
発売日: 2003/05/21
amazon で詳しく見る
サントラ / ユー&エクスプロージョン・バンド
発売日: 2003/05/21
amazon で詳しく見る
カリオストロは何度も見たなあ。でも音楽はあまり記憶に残ってないな。ストーリーや演出がすごく良かったせいかな。
この「完全収録盤」と銘打ったカリオストロの城のサントラ、友達が持っていた。聴かせてもらったところ、中身はまさにサウンドトラック。映画の音声トラックをそのまま収録したような内容だった。
このサントラ、どう楽しんでるの? と友達に聴いたところ、「サントラを再生しながらビデオを見るわけだよ。そうするとだんだん同期がずれてきて、サントラの方が数十秒先を再生するという状態になる。そうやってセリフを先取りするようにビデオを見るんだよ。」と、わけのわからない楽しみ方を教わった記憶がある。
- バビロンの黄金伝説
ミュージックファイルシリーズ/ルパン三世クロニクル ルパン三世 バビロンの黄金伝説 MUSIC FILE
サントラ / 河合奈保子 / 秋元康 / 大野雄二 / ユー&ザ・エクスプロージョン・バンド
発売日: 2004/01/21
amazon で詳しく見る
サントラ / 河合奈保子 / 秋元康 / 大野雄二 / ユー&ザ・エクスプロージョン・バンド
発売日: 2004/01/21
amazon で詳しく見る
この作品はまだ見てないはず。
- 風魔一族の陰謀
この作品もまだ見てないはず。サントラが見つからなかったので DVD へリンク。
- くたばれ!ノストラダムス
映画館で見た。内容は・・・子供たちは喜んで見てた。音楽は覚えてないなあ。
- DEAD OR ALIVE
これも映画館で見た。くたばれ!ノストラダムスより面白いと感じた。
cron で毎分スクリプトを回したいが、一定の確率で何もしないでそのまま終了するようにしたい。
とあるスクリプトに、ランダムに仕事をしないで怠けるような機能を追加したい。乱数を使えばいいのだが、乱数を得るコマンドってあったかな? Perl のワンライナーで rand() を呼べばできるけど、それは最後の手段だ。
Manpage of BASH
http://www.linux.or.jp/JM/html/GNU_bash/man1/bash.1.html
とあるスクリプトに、ランダムに仕事をしないで怠けるような機能を追加したい。乱数を使えばいいのだが、乱数を得るコマンドってあったかな? Perl のワンライナーで rand() を呼べばできるけど、それは最後の手段だ。
- シェル変数 RANDOM
bash の man page を読んでみる。シェル変数 RANDOM が使えそうだ。Manpage of BASH
http://www.linux.or.jp/JM/html/GNU_bash/man1/bash.1.html
RANDOM
このパラメータが参照される度に、 0 から 32767 までのランダムな整数が生成されます。 RANDOM に値を代入すると、乱数の列を初期化できます。 RANDOM を unset すると、この変数の特殊な性質は無くなります。後で再び set しても元には戻りません。
- 乱数を n で割った余りが0だったら何もしない
乱数を n で割った余りを求め、0だったら何もせずに終了する。これで「n 分の1の確率で何もしない」という処理ができる。今回の用途にはこれで十分だ。# 確率3分の1で何もせずに終了する
probability=3
if [ `expr $RANDOM % $probability` -eq 0 ]; then
echo unlucky!
exit
fi
最近、ルパンのサントラを集めている。2000年頃にテレビスペシャルのサントラの一部が再発売されたようで、手に入りやすくなっている。そのことを友達に話したら「じゃあ「バイバイリバティー」のサントラもあるかな」と聞かれた。
amazon で探してみるとあった。今ならテレビシリーズ全部のサントラが買える。ということで放映年順で全部列挙。
1989年の作品。常にノートパソコンを持ち歩く男の子の話。「ロシアより愛を込めて」よりも後に見たせいか、今でもバイバイリバティーが TV スペシャルの最初の作品という感覚がない。
1990年の作品。TV スペシャルで一番好き。
エンディングにも使われてるボーカル曲は、イントロを一回聴いただけで覚えてしまうくらい印象的だった。劇中のジュークボックスでも流れてたしね。劇中のニュース番組のオープニング曲も秀逸。サントラで聴けて満足だ。
1991年の作品。サントラはまだ未購入。湾岸戦争ネタや海辺首相ネタは覚えてるけど、曲は覚えてない。曲を聴けば「こんな曲あったなー」と思い出すだろうけど。
1992年の作品。テーマ曲をアレンジした劇中曲は覚えてた。TV スペシャルではこのあたりまでが好きだな。細かいギャグとかも未だに覚えてるくらいだし。作品全体に漂うユーモアというか余裕がいいんだろうな。
1993年の作品。この作品からは音楽はもとより、ストーリーさえあんまり覚えてない。自分の中で TV スペシャルにマンネリを感じ始めていたのかもしれない。あとはとりあえず列挙だけ。
こっちのサントラは amazon によると収録曲数が12曲しかないんだけど、前述のものとは別なんだろうか? 単に復刻前の版?
1994年の作品。
1995年の作品。
1996年の作品。ずっと「トワイライト☆ジェミニの秘宝」だと思ってた・・・。
1997年の作品。
1998年の作品。
1999年の作品。
2000年の作品。
2001年の作品。
2002年の作品。
2003年の作品。
2004年の作品。
amazon で探してみるとあった。今ならテレビシリーズ全部のサントラが買える。ということで放映年順で全部列挙。
- バイバイリバティー危機一発!
1989年の作品。常にノートパソコンを持ち歩く男の子の話。「ロシアより愛を込めて」よりも後に見たせいか、今でもバイバイリバティーが TV スペシャルの最初の作品という感覚がない。
- ヘミングウェイ・ペーパーの謎
1990年の作品。TV スペシャルで一番好き。
エンディングにも使われてるボーカル曲は、イントロを一回聴いただけで覚えてしまうくらい印象的だった。劇中のジュークボックスでも流れてたしね。劇中のニュース番組のオープニング曲も秀逸。サントラで聴けて満足だ。
- ナポレオンオンの辞書を奪え
1991年の作品。サントラはまだ未購入。湾岸戦争ネタや海辺首相ネタは覚えてるけど、曲は覚えてない。曲を聴けば「こんな曲あったなー」と思い出すだろうけど。
- ロシアより愛をこめて
1992年の作品。テーマ曲をアレンジした劇中曲は覚えてた。TV スペシャルではこのあたりまでが好きだな。細かいギャグとかも未だに覚えてるくらいだし。作品全体に漂うユーモアというか余裕がいいんだろうな。
- ルパン暗殺指令
1993年の作品。この作品からは音楽はもとより、ストーリーさえあんまり覚えてない。自分の中で TV スペシャルにマンネリを感じ始めていたのかもしれない。あとはとりあえず列挙だけ。
こっちのサントラは amazon によると収録曲数が12曲しかないんだけど、前述のものとは別なんだろうか? 単に復刻前の版?
- 燃えよ斬鉄剣
1994年の作品。
- ハリマオの財宝を追え!
1995年の作品。
- トワイライト☆ジェミニの秘密
1996年の作品。ずっと「トワイライト☆ジェミニの秘宝」だと思ってた・・・。
- ワルサーP38
1997年の作品。
- 炎の記憶〜TOKYO CRISIS
1998年の作品。
- 愛のダ・カーポ
1999年の作品。
- 1$マネーウォーズ
ルパン三世 : 1$マネーウォーズ ― オリジナル・サウンドトラック
大野雄二 / DJ よしお / You & Explosion Band・フィーチャリング・リレット / 奈良橋陽子
発売日: 2000/09/21
amazon で詳しく見る
大野雄二 / DJ よしお / You & Explosion Band・フィーチャリング・リレット / 奈良橋陽子
発売日: 2000/09/21
amazon で詳しく見る
2000年の作品。
- アルカトラズ コネクション
2001年の作品。
- EPISODE0 ファーストコンタクト
2002年の作品。
- お宝返却大作戦!!
2003年の作品。
ルパン三世 お宝返却大作戦!! LUPIN TROIS par Yuji Ohno et Kahimi Karie!!!
TVサントラ / カヒミ・カリィ
発売日: 2003/08/21
amazon で詳しく見る
TVサントラ / カヒミ・カリィ
発売日: 2003/08/21
amazon で詳しく見る
- 盗まれたルパン
2004年の作品。
html では、& " < > を直接記述することはできない。文法上意味を持つ文字だからだ。この文字そのものを表現したい場合は、それぞれ & " < > にエスケープする必要がある。これを怠るとセキュリティホールの原因となったり、表示が崩れたりする。ウェブアプリケーション作成の基礎であり、欠かせないものだ。
私は今回、この html エスケープについて失敗をしてしまった。今回は ASP.NET でシステムを作ったのだが、まだ ASP.NET に慣れていなかったことと、テストの時間を十分にとれなかったことが失敗の原因だ。
確かに、ASP.NET の TextBox コンポーネントなどであれば、value プロパティに代入した文字列の html エスケープは ASP.NET フレームワーク側で面倒を見てくれる。しかし、前述の Label や DataGrid をはじめとする一部のコンポーネントにおいては、html エスケープは自動で行われない。プログラマが責任を持ってエスケープする必要がある。
「自分のソースコード中で生成したデータで、エスケープする必要が100%ない場合はやらなくても良い。それに当てはまらない場合、出力するデータは必ず html エスケープしなさい。」とイルミ・ゾルディックくらい口を酸っぱくして後輩たちに言ってきた私がこの体たらく。実に恥ずかしいというか情けない。
ASP.NET の中でも、とくに DataGrid には注意が必要だ。DataGrid は他のコンポーネントに比べ、自動化・ウィザード化が進んでいる。DataGrid を使うと、簡単に DB にクエリを投げてそれを html テーブルとして出力する準備を整えられる。面倒な部分は Visual Studio と ASP.NET がやってくれるので、自分は SQL やストアドを書いてデータアダプタを作成し、DataGrid プロパティビルダで出力時の見栄えを整えさえすればいいと錯覚しがちだが、そうではない。html エスケープもやらなければならないのだ。
以下のように .aspx ファイルのデータバインド時に呼ぶようにする。
もしくは、.aspx.cs でデータソースからデータを取り出した後、DataBind() を呼ぶ前にデータセットの各レコードのカラムを HttpUtility.HtmlEncode() する。DataGrid のプロパティに html エスケープするか否かを設定できるオプションなどがあっても良さそうなものだが、見つけることはできなかった。カスタムコントロールを作ればいいんだろうけど、標準で用意しておいて欲しかった。
System.Web.HttpUtility.HtmlEncode()
http://www.microsoft.com/japan/msdn/library/ja/cpref/html/fr ...
HttpServerUtility クラスにも同名のメソッドがあるが、ヘルプを読む限りこちらは URL エンコード用のメソッドだ。
System.Web.HttpServerUtility.HtmlEncode()
http://www.microsoft.com/japan/msdn/library/ja/cpref/html/fr ...
<s> タグは打ち消し線を表示する。javascript:alert() はメッセージダイアログを表示する。もしこれらが機能してしまった場合、エスケープされていないことになる。
いつもはこの2つの文字列を表示させるテストを必ず行う。しかし、今回は開発に十分な時間がとれなかったこと、作ったものがアルファ版ということ、ASP.NET を過信したということが重なって失敗してしまった。
@ Page
http://www.microsoft.com/japan/msdn/library/ja/cpgenref/html ...
ただし、この機能が働いたときは例外を出してしまうので、悪意のないユーザが html タグに似た文字列を入れることもできなくなってしまう。ValidateRequest を無効にするには、web.config で設定する。もちろん無効にした場合はアプリケーションで完璧にサニタイズしなければならない。
validateRequest を true にしていても、エスケープは必要。データベースから取得した文字列などは、必ずエスケープしてから表示しなければならないからだ。
私は今回、この html エスケープについて失敗をしてしまった。今回は ASP.NET でシステムを作ったのだが、まだ ASP.NET に慣れていなかったことと、テストの時間を十分にとれなかったことが失敗の原因だ。
- DataGrid は html エスケープが必要
具体的に何をやったかというと、ASP.NET の Label コンポーネントの text プロパティに値を代入するときや、DataGrid コンポーネントにデータバインドするときに html エスケープをしなかったのだ。html エスケープは ASP.NET が勝手にやってくれると思いこんでいたからだ。確かに、ASP.NET の TextBox コンポーネントなどであれば、value プロパティに代入した文字列の html エスケープは ASP.NET フレームワーク側で面倒を見てくれる。しかし、前述の Label や DataGrid をはじめとする一部のコンポーネントにおいては、html エスケープは自動で行われない。プログラマが責任を持ってエスケープする必要がある。
「自分のソースコード中で生成したデータで、エスケープする必要が100%ない場合はやらなくても良い。それに当てはまらない場合、出力するデータは必ず html エスケープしなさい。」とイルミ・ゾルディックくらい口を酸っぱくして後輩たちに言ってきた私がこの体たらく。実に恥ずかしいというか情けない。
ASP.NET の中でも、とくに DataGrid には注意が必要だ。DataGrid は他のコンポーネントに比べ、自動化・ウィザード化が進んでいる。DataGrid を使うと、簡単に DB にクエリを投げてそれを html テーブルとして出力する準備を整えられる。面倒な部分は Visual Studio と ASP.NET がやってくれるので、自分は SQL やストアドを書いてデータアダプタを作成し、DataGrid プロパティビルダで出力時の見栄えを整えさえすればいいと錯覚しがちだが、そうではない。html エスケープもやらなければならないのだ。
- C# で html エスケープするには
C# で html エスケープ をするには、System.Web 名前空間の HttpUtility.HtmlEncode() メソッドを使うのが簡単だ。以下のように .aspx ファイルのデータバインド時に呼ぶようにする。
<%# HttpUtility.HtmlEncode(DataBinder.Eval(Container, "DataItem.subject").ToString()) %>
もしくは、.aspx.cs でデータソースからデータを取り出した後、DataBind() を呼ぶ前にデータセットの各レコードのカラムを HttpUtility.HtmlEncode() する。DataGrid のプロパティに html エスケープするか否かを設定できるオプションなどがあっても良さそうなものだが、見つけることはできなかった。カスタムコントロールを作ればいいんだろうけど、標準で用意しておいて欲しかった。
System.Web.HttpUtility.HtmlEncode()
http://www.microsoft.com/japan/msdn/library/ja/cpref/html/fr ...
空白や区切り記号などの文字が HTTP ストリームで渡される場合、それらの文字は受信側で誤って解釈される可能性があります。HTML エンコーディングは、HTML では使用できない文字を等価の文字エンティティに変換します。HTML デコーディングはエンコーディングの逆の変換を行います。たとえば、テキスト ブロックに < および > という文字が埋め込まれている場合、これらの文字は HTTP 伝送用に < および > としてエンコードされます。
HttpServerUtility クラスにも同名のメソッドがあるが、ヘルプを読む限りこちらは URL エンコード用のメソッドだ。
System.Web.HttpServerUtility.HtmlEncode()
http://www.microsoft.com/japan/msdn/library/ja/cpref/html/fr ...
[Visual Basic, C#, JScript] 文字列を HTTP で送信できるようにエンコードする例を次に示します。"This is a <Test String>." というテキストを格納する文字列 TestString をエンコードし、その文字列を "This+is+a+%3cTest+String%3e." として文字列 EncodedString にコピーします。
- テスト
自分のコードが生成していない文字列を出力する部分は、以下の2つの文字列を入力してエスケープしていることを確認する。<s>ESCAPE TEST</s>
javascript:alert('ESCAPE TEST')
<s> タグは打ち消し線を表示する。javascript:alert() はメッセージダイアログを表示する。もしこれらが機能してしまった場合、エスケープされていないことになる。
いつもはこの2つの文字列を表示させるテストを必ず行う。しかし、今回は開発に十分な時間がとれなかったこと、作ったものがアルファ版ということ、ASP.NET を過信したということが重なって失敗してしまった。
- 実際はタグを入力されると例外を出してエラー終了する設定になっていた
ここまで html エスケープについて述べてきたが、実際にはユーザ入力によるクロスサイトスクリプティングの心配はほぼ無かった。というのは、ASP.NET が持つ機能のおかげで危険な文字が入力されるのは防げていたからだ。@ Page
http://www.microsoft.com/japan/msdn/library/ja/cpgenref/html ...
ValidateRequest
要求の検証を行うかどうかを示します。true の場合、要求の検証では、危険性のある値のリストと照合して、すべての入力データをチェックします。一致するものがあった場合は、HttpRequestValidationException クラスがスローされます。既定値は true です。
この機能は、マシン構成ファイル (Machine.config) で有効にします。この機能を無効にするには、アプリケーションの構成ファイル (Web.config) またはページで、この属性を false に設定します。
メモ この機能を使用すると、単純なページや ASP.NET アプリケーションに対するクロスサイト スクリプト攻撃のリスクを軽減できます。ユーザー入力を正しく検証できないアプリケーションは、クロスサイト スクリプティング攻撃や SQL Server への注入攻撃など、多くの種類の不正な入力攻撃を受ける可能性があります。アプリケーション内のすべての入力フォームを慎重に評価し、検証またはコーディングが適切であることを確認したり、データを操作する前やクライアントに情報を返す前にアプリケーションが退避していることを確認したりすることが重要です。クロスサイト スクリプティングの詳細については、http://www.cert.org/advisories/CA-2000-02.html を参照してください。
ただし、この機能が働いたときは例外を出してしまうので、悪意のないユーザが html タグに似た文字列を入れることもできなくなってしまう。ValidateRequest を無効にするには、web.config で設定する。もちろん無効にした場合はアプリケーションで完璧にサニタイズしなければならない。
<!-- 危険なリクエストのチェックをしない。アプリケーション側でサニタイズする。 -->
<pages validateRequest="false"/>
validateRequest を true にしていても、エスケープは必要。データベースから取得した文字列などは、必ずエスケープしてから表示しなければならないからだ。
夏休みといえばプール。宇都宮には海は無いので、誰がなんと言おうとプール。
お昼ご飯を食べた後、13:30ぐらいに友達を誘ってプールに行く。2時間くらいたっぷり楽しんでから帰ってくる。帰ってきた後は麦茶を飲んで、扇風機で涼みつつお昼寝。これぞ「夏休み」だ。
というわけでプールへ行って夏休みを満喫することにした。さあ、どこのプールに行こうか。
宇都宮の周辺には屋内・屋外含めていくつかプールがあり、設備の傾向から二つに大別できる。真岡の一万人プールをはじめとする遊び系のプールと、栃木県総合運動公園をはじめとする競泳系・練習系のプールだ。今日は単純に泳ぐことを楽しみたいので、総合運動公園のプールに行くことにする。
総合運動公園には50m の競泳用プールがある。宇都宮には25m のプールはたくさんあるが、50m のプールは結構貴重だ。レーン数は・・・8だったかな? 深さは1.5m。利用料は高校生以上210円 + ロッカー使用料20円という安さ。時間制限や入れ替えもない。車で行っても総合運動公園の広い無料駐車場が使える。泳ぐだけで良いならうってつけのプールだ。
とちのきファミリーランド
http://www9.ocn.ne.jp/~tochi-fl/information.htm
「期間中無休」と謳っているが、実際は水泳大会やメンテナンスなどで50m プールだけ一般開放されていなかったりすることがある。今まで、これに何度泣かされたか。ウェブサイト上に書いておいてくれれば良いんだけどね。
プールは良いね。ウォーミングアップが済んで火照った体を取り巻く水が気持ちいい。呼吸を整えつつ、平泳ぎを中心に泳ぐ。
結局、合計で平泳ぎ900m + クロール100m を泳いだ。目標は1000m だったが、エンジニアらしいキリの良い数字にしたかったので追加で24m 泳いで1024m とした。クールダウンのために追加で平泳ぎ50m とウォーキング100m をやって上がり。ああ、夏だなあ。
お昼ご飯を食べた後、13:30ぐらいに友達を誘ってプールに行く。2時間くらいたっぷり楽しんでから帰ってくる。帰ってきた後は麦茶を飲んで、扇風機で涼みつつお昼寝。これぞ「夏休み」だ。
というわけでプールへ行って夏休みを満喫することにした。さあ、どこのプールに行こうか。
宇都宮の周辺には屋内・屋外含めていくつかプールがあり、設備の傾向から二つに大別できる。真岡の一万人プールをはじめとする遊び系のプールと、栃木県総合運動公園をはじめとする競泳系・練習系のプールだ。今日は単純に泳ぐことを楽しみたいので、総合運動公園のプールに行くことにする。
総合運動公園には50m の競泳用プールがある。宇都宮には25m のプールはたくさんあるが、50m のプールは結構貴重だ。レーン数は・・・8だったかな? 深さは1.5m。利用料は高校生以上210円 + ロッカー使用料20円という安さ。時間制限や入れ替えもない。車で行っても総合運動公園の広い無料駐車場が使える。泳ぐだけで良いならうってつけのプールだ。
- 総合運動公園プールのオフィシャルサイト?
総合運動公園プールのオフィシャルサイトはなぜか「とちのきファミリーランド」内にあるようだ。情報は最低限のものしかなかったが、一応引用しておく。とちのきファミリーランド
http://www9.ocn.ne.jp/~tochi-fl/information.htm
期間 7月1日〜8月31日
(期間中無休)
時間 9:00〜16:30
料金 大人 210円
小人 100円
ロッカー 20円
「期間中無休」と謳っているが、実際は水泳大会やメンテナンスなどで50m プールだけ一般開放されていなかったりすることがある。今まで、これに何度泣かされたか。ウェブサイト上に書いておいてくれれば良いんだけどね。
- とりあえず1Km 泳ぐ
水分補給用のペットボトルと、2003-08-11 に買ったゴーグルを持って50mプールへ。レーンはおおかた埋まっていたが、単に泳ぐだけなら無問題。軽く柔軟をやってから泳ぐ。泳ぐのは久しぶりなので、今日は1Km を目標に泳ぐことにしよう。プールは良いね。ウォーミングアップが済んで火照った体を取り巻く水が気持ちいい。呼吸を整えつつ、平泳ぎを中心に泳ぐ。
結局、合計で平泳ぎ900m + クロール100m を泳いだ。目標は1000m だったが、エンジニアらしいキリの良い数字にしたかったので追加で24m 泳いで1024m とした。クールダウンのために追加で平泳ぎ50m とウォーキング100m をやって上がり。ああ、夏だなあ。
キーボードのキーが勝手に押されるようになってしまった。
普通にエディタを開いてコードや文章を書いていたりメールを閲覧していると、いつの間にか Windows の「ファイル名を指定して実行」ダイアログや「ユーティリティマネージャ」が起動しているのだ。
Windows キー + R キーで「ファイル名を指定して実行」ダイアログが、Windwos キー + U キーで「ユーティリティマネージャ」が起動するので、おそらくキーボードの Windows キー周りが接触不良などを起こしているか、物理的に部品が破損していたりするのだろう。もしくは、PS/2 のプラグが抜けかかってるとか、ATOK の機嫌が悪いとか、OS が悪いとか、そういう問題も考えられる。
種類を選ばなければキーボードなんて倉庫にいくらでもある。しかし、調子が悪いものを見かけたらとりあえず分析してみるのがエンジニア。代替機を探す前にまず分解してみることにする。
キーボード裏面にある9か所のネジを外すと、キートップ部分と台の部分に分解できた。台にはクニクニとしたゴムのようなオレンジ色の部品が規則正しく並んだシートが一枚。その下にも薄いシートが一枚。それだけだ。隣で見ていた娘はオレンジ色の部品が載ったシートを見て「かわいい」と言っていた。女の子はこれをかわいいと感じるのか。
今回の件に当てはめると、不意にキーが押されてしまうのが問題なわけだから、接点を復活させても後者の仕組みのキーボードでないと意味がない。
まあ、直らないんだったらどうせ代替機を使わなければならないんだし、やれることがあるなら全部やっておきたい。天空闘技場でヒソカにバンジーガムを付けられたゴンが「逃げられないなら 向かうまでだ!!!」と突撃したのと同じことだ。
コンタクトZ という名前は仰々しいが、要するに鉛筆のことだ。今回は手元に鉛筆が無かったので、シャープペンシルで代用。シャーペンだと芯にプラスチック成分が多いため、効果は鉛筆に劣る。鉛筆があるならそちらを使った方が良い。
直径3ミリほどの接点を、マークシートを塗るように擦る。それだけ。とりあえず仮組みして、キーボードをマシンにつないでみる。xyzzy を立ち上げてこの文章を入力してみたが、とくにいまのところ問題は出ていない。どうやら作戦成功のようだ。
というわけで、今回の文章が無駄に長いのはキーボードの入力テストを兼ねていたからでした。まあ、私の ChangeLog メモはたいてい長いんだけど。
- キーボードの故障?
キーが勝手に押されるといっても、子供が「だぁ」などと言ってキーボードを押して遊んでいるとか、キーボードに突っ伏すように眠ってしまってエディタに jjjjjjjjjjjjjj などと入力されてしまうとか、そういう類のものではない。普通にエディタを開いてコードや文章を書いていたりメールを閲覧していると、いつの間にか Windows の「ファイル名を指定して実行」ダイアログや「ユーティリティマネージャ」が起動しているのだ。
Windows キー + R キーで「ファイル名を指定して実行」ダイアログが、Windwos キー + U キーで「ユーティリティマネージャ」が起動するので、おそらくキーボードの Windows キー周りが接触不良などを起こしているか、物理的に部品が破損していたりするのだろう。もしくは、PS/2 のプラグが抜けかかってるとか、ATOK の機嫌が悪いとか、OS が悪いとか、そういう問題も考えられる。
- 問題の切り分けと対策
PS/2 プラグを抜き差ししてみたが、症状が変わらない。他のマシンから同型のキーボードを借りてきて接続すると、症状が全く出なくなる。これはもう私のキーボードの問題と考えていいだろう。種類を選ばなければキーボードなんて倉庫にいくらでもある。しかし、調子が悪いものを見かけたらとりあえず分析してみるのがエンジニア。代替機を探す前にまず分解してみることにする。
- キーボードの型式
使っているキーボードは富士通 FMV E600 付属のもの。型式 はよくわからないが、裏面の MODEL NO. には 128872-001 REV.A と書かれている。MAID IN THAILAND なので、台湾・・・じゃなくてタイ製だ。キーボード裏面にある9か所のネジを外すと、キートップ部分と台の部分に分解できた。台にはクニクニとしたゴムのようなオレンジ色の部品が規則正しく並んだシートが一枚。その下にも薄いシートが一枚。それだけだ。隣で見ていた娘はオレンジ色の部品が載ったシートを見て「かわいい」と言っていた。女の子はこれをかわいいと感じるのか。
- どこが悪いんだろう?
とりあえず分解してみたが、ゴミが溜まっていたりということもないし、明らかに破損している部分も見つからない。ふーむ、どうしようかな。こういうときはいつも接点を疑う。接点に不具合があり、キーの押下を誤検出しているんだろう。- キーボードの押下キー検出ってどんな仕組み?
キーボードのキーの仕組みは私にはわからないが、おそらく以下の2つのどちらかだろう。キーを押すと電気が流れてどのキーを押したかを検出する。もしくは、常に電気を流しておいて、キーが押されると電気が流れなくなるので、どのキーを押したかを検出する。今回の件に当てはめると、不意にキーが押されてしまうのが問題なわけだから、接点を復活させても後者の仕組みのキーボードでないと意味がない。
まあ、直らないんだったらどうせ代替機を使わなければならないんだし、やれることがあるなら全部やっておきたい。天空闘技場でヒソカにバンジーガムを付けられたゴンが「逃げられないなら 向かうまでだ!!!」と突撃したのと同じことだ。
- コンタクトZ を使う
とりあえず Windows キー と U キー、R キーの接点に接点復活剤「コンタクト Z」を使うことにした。コンタクトZ という名前は仰々しいが、要するに鉛筆のことだ。今回は手元に鉛筆が無かったので、シャープペンシルで代用。シャーペンだと芯にプラスチック成分が多いため、効果は鉛筆に劣る。鉛筆があるならそちらを使った方が良い。
直径3ミリほどの接点を、マークシートを塗るように擦る。それだけ。とりあえず仮組みして、キーボードをマシンにつないでみる。xyzzy を立ち上げてこの文章を入力してみたが、とくにいまのところ問題は出ていない。どうやら作戦成功のようだ。
というわけで、今回の文章が無駄に長いのはキーボードの入力テストを兼ねていたからでした。まあ、私の ChangeLog メモはたいてい長いんだけど。
- 2004-11-01 追記。
また調子が悪くなった。* SQL Server バックアップ時のエラー 15457
この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [MS SQL Server] [バックアップ]
トランザクションログを一時間間隔でバックアップするように設定したあと、イベントログに「情報」レベルのメッセージが記録されていた。気になったので D:\sqldata\MSSQL\LOG を確認したところ、以下の行が存在していた。
Books Online を読む前に、Google で 15457 SQL Server を検索するとヒット。
MSrepl_commands
http://www.sql-server-performance.com/forum/topic.asp?ARCHIV ...
要するに設定変更したよというメッセージでしかないわけだ。エラーじゃないなら無視するようにしよう。
2004-08-03 16:47:35.41 spid54 エラー : 15457、レベル : 0、状態 : 1
2004-08-03 16:47:35.41 spid54 設定オプション 'show advanced options' が 1 から 1 に変更されました。RECONFIGURE ステートメントを実行して、インストールしてください。。
Books Online を読む前に、Google で 15457 SQL Server を検索するとヒット。
MSrepl_commands
http://www.sql-server-performance.com/forum/topic.asp?ARCHIV ...
Error 15457 are informational messages and not really error messages, if you change server properties then you will see this message. When using SP_CONFIGURE statement the message will be issued to run RECONFIGURE, refer to BOL for more information.
要するに設定変更したよというメッセージでしかないわけだ。エラーじゃないなら無視するようにしよう。
/cygdrive ディレクトリを作っておけば、bash で TAB キーを押したときに /cygdrive が補完対象になる。
/cygdrive は私の cygwin では補完が効かず毎回手で入力していた。ただ、cyg というスペルは私の指と相性が悪いらしく、cgy と打ち間違えることが多かった。そのたびに補完できると良いのになあと思っていたけど、こんな簡単な解決法があるとはね。ディレクトリがないなら作ってあげればいい。実に明快だ。
[linux-users:103268] Re: cygwinの設定について
http://search.luky.org/linux-users.a/msg03218.html
さらに d を入力して TAB キーを押す。
/cygdrive は私の cygwin では補完が効かず毎回手で入力していた。ただ、cyg というスペルは私の指と相性が悪いらしく、cgy と打ち間違えることが多かった。そのたびに補完できると良いのになあと思っていたけど、こんな簡単な解決法があるとはね。ディレクトリがないなら作ってあげればいい。実に明快だ。
[linux-users:103268] Re: cygwinの設定について
http://search.luky.org/linux-users.a/msg03218.html
> > $ cd /c/cygdrive
> > BASH: cd: /c/cygdrive: No such file or directory
>
> /cygdrive/c/ の勘違いですね。きっと。
昔との互換性で「c:/」表記も使えたと思います。「cygdrive」
の部分の文字列は設定次第で変更可能ですが、こちらの表記であれ
ば環境に依存せず不変ですね。
そもそも /cygdrive だとか /proc だとかの pseudo directory
が / を readdir() した際に fetch 出来ないという中途半端さが
混乱の元のような気がします。
bash の pathname 補完のためだけに /cygdrive や /proc を敢
えて作成しておく人も少なくないらしいですね。
- 補完の便利さを味わおう
さあ、補完の便利さを味わってみよう。/cygdrive/c/Program Files/ にカレントディレクトリを移動したいとする。$ cd /cここまで入力したら、すかさず TAB キーを押すッ!
$ cd /cygyg が補完された。素敵。あと2回 TAB キーを押すと、候補が表示される。補完だけなら候補を表示させる必要はないんだけど、便利さを味わうんだったら全機能を使っておきたいのやっておく。
$ cd /cyg
cygdrive cygwin.bat cygwin.ico
さらに d を入力して TAB キーを押す。
$ cd /cygdrive/ああ楽だ。cgywin などと間違って入力することもない。これが補完の醍醐味。