メモの日々


2003年10月06日(月)

[dream] XP→根木くんの夢

夢を見た。何やら会場へ向かう。着くとソフトウェアのカンファレンスのようだ。我が社の社員が永和システムマネジメントさんの社員と話をしていた。XPの話をしていたようで、見たものを真似して作るのがXPなんですよ、とかわけの分からないことを教わっていた。窓の外は海で、貝を見ながら、海に潜ったりもしながらそんな話をしていて、我が社の社員は成る程ーと納得の様子。

話がおかしいので、おれがもっとまともなことを言おうと話に加わった。が、メタファという言葉しか浮かんでこず、真似して作るというよりもメタファの方が重要なのではないですか、などとやはり変な話をしてしまう。 会場がやたらうるさくて怒鳴りながら話すが相手の声がよく聞こえない。相手は2人組みで、どうやら新人さんのようだ。XPでどんなソフトを作ったのですか、と質問したら、小遣い帳を作ったとのこと。永和システムマネジメントという社名を思い出せず、オージス総研さんはとか口走ってしまい慌ててごまかす。後ろの方で平鍋さんが大物達と円卓で談笑していた。

すると根木くんが登場。会場の皆と知り合いらしくよーとか言っているからおれも声を掛け超久しぶりの再会。なんで学生服を着ているのかなあと思いよく見るとお坊さんのような格好をしていた。根木くんはやたら声がでかくよく喋る。根木くんが「キャベツ250円」と言うと、右手から竹中平蔵が登場し「それ250円で買った。違うと言ったら承知しないぞ」と迫ってきた。お金の話では妥協しないという有無を言わさぬ口調。根木くんが怒って「なんや不二子ちゃーん不二子ちゃーん不二子ちゃーんの口調やないか」とまくし立てていた。意味不明だ。根木くんは本当はこんなキャラじゃないはずなのだが。

[xrea][tdiary] 日別表示でエラー(7)

今年2月の日記にて。Refererが付くとエラーになるタイプ。

「AddHandler cgi-script-debug .cgi」するとエラーにならなかったが、.cgidを用意してそれを実行してみたらエラー出た。9月15日と同じで「[BUG] unknown node type 0 ruby 1.8.0 (2003-08-04) [i686-linux]」というもの。ううん。

だいたい「AddHandler cgi-script-debug .cgi」するとエラーにならないのがおかしいじゃないか。これは何故なのだ。

tDiaryをセキュアモードにしたら改善するかなと試してみたけれど、効果なかった。

あー、最新表示でもエラーがでるようになってしまった。こちらはRefererが付かないときだけエラーになるようだ。エラー内容は「(eval):25: [BUG] unknown node type 101 ruby 1.8.0 (2003-08-04) [i686-linux]」。Rubyがいかれているのかよう。まあこれはこの文章を書き込めば直るはずだ。

[mobile] M-stage music 来年9月で終了

スラッシュドットジャパンより。残念。

M-stageのページも見難いなあ。どこに何があるのだ。M-stage musicの情報は何もないんか?

mopera Live!は健在のようでよかった。今エクシーレはどれくらい使われているのだろう。

やること

  • 蛍光灯を買う。

2005年10月06日(木)

  • 今日は耳鳴りがする。
  • 歯抜いたら電動歯ブラシは欲しくなくなった。

[unix][shell] シェルスクリプト (bash)

今日はシェルスクリプトにちまちまとエラー処理を追加したりとかしてた。退屈だがシェルスクリプトの勉強にはなる。どうせすぐ忘れるけどな。

せっかくなのでちょっとメモしておこうかな。

マニュアルの目次

いきなりシェルスクリプトと関係ないけど、JMってページの最後に目次があるのか。今まで見えてなかった。便利。

終了ステータス

直前のコマンドの終了ステータスは

$?

で参照できる。これすぐ忘れる。

終了ステータスの説明はここにあった。

exit

exitは組み込みコマンド

exit 10

とすると終了ステータスは10になる。普通だ。で、

exit

としたときは最後に実行したコマンドの終了ステータスになる。なるほど。

何もしない

:

と書くと何もしない。これも組み込みコマンド

分岐

コマンドの処理結果で分岐したいときは

if コマンド; then
    # コマンドが成功したとき(0を返したとき)
else
    # コマンドが失敗したとき(0以外を返したとき)
fi

こうかな。複数のコマンドに対し

if コマンド1     \
    && コマンド2
then
    # コマンド1が成功し更にコマンド2も成功したとき
else
    # そうじゃないとき
fi

とかも書ける。ifの後に!を続けると真偽を反対にできて

if ! コマンド; then
    # コマンドが失敗したとき(0以外を返したとき)
fi

とか書ける。普通か。

で、エラー処理を書くのに

if コマンド; then
    :
else
    exit   # コマンドが失敗したから終了する
fi

とすると「コマンド」がエラーになったときにこのスクリプトの終了ステータスは「コマンド」の終了ステータスになるのに、

if ! コマンド; then
    exit   # コマンドが失敗したから終了する
fi

とすると「コマンド」がエラーになったときにこのスクリプトの終了ステータスが0になってしまいちょっとはまった。

比較

if [ $a = $b ]; then
    # $aと$bが等しいとき
fi

のように書く。「=」と書くと文字列として比較して、「-eq」と書くと整数として比較するようだ。整数でないものを「-eq」で比較するとエラーになる。

[web][soft] 「Selenium ver.0.5 勝手にまとめサイト」

Seleniumのこと色々書いてくれているサイトがあったのでメモ。

やること

  • ブラウンの安い電動歯ブラシ買う
  • 蛍光灯を捨てる
本日のツッコミ(全1件) [ツッコミを入れる]

TrackBack [http://ogawa.s18.xrea.com/tdiary/20060322.html#p03 メモの日々 S..]


2009年10月06日(火)

[soft][unix] rsyncがエラーになって困った

rsyncでの転送が問題なくできていた環境で、昨日の夜から

rsync: writefd_unbuffered failed to write 4092 bytes to socket [sender]: Connection reset by peer (104)
rsync: read error: Connection reset by peer (104)
rsync error: error in rsync protocol data stream (code 12) at io.c(759) [sender=3.0.6]

というエラーになり転送できなくなって困った。

rsyncのオプションを色々変えて試した所、「--whole-file」オプションを付けるとエラーにならないことが分かった。rsyncは仕組みを理解せず使っていたが、ファイル内の差分だけを転送するのがデフォルトの動作で、このオプションを付けると差分ではなくファイル全体を転送するように動作するみたい。

元々エラーになっていたのは数メガバイトのzipファイルで、丁度このファイルを更新した後からエラーになっていた。だから、このファイルの差分の転送がうまくいかないということなのだろう。

ということで、転送先で件のファイルを一旦削除してからrsyncを実行すると、「--whole-file」オプションを付けずとも転送できるようになった。

[life] 甘しょっぱいお菓子嫌い

最近買った甘そうなお菓子が立て続けにしょっぱくてガッカリしたのでメモ。それは

だ。全然おいしくない。気をつけろ。

やること

  • tDiaryバージョンアップ
  • エプソンのポイント

2010年10月06日(水)

[dev][web][net] HTTPのchunkにはまった

分かってしまえばどうということはないが、はまったのでメモ。

ウェブブラウザとウェブサーバの間に割り込んで、HTTP応答の内容を一部変更するプログラムを書いた。が、変更されたHTTP応答を受信したウェブブラウザがHTMLの最初の方しかレンダリングしてくれない。なんでや。

HTTP応答を調べると、間に身に覚えのない数値が挟まっていた。この数値の所でブラウザのレンダリングが中断している。

この数値がTransfer-Encodingがchunkedの場合に付くchunk-sizeフィールドであることはわりとすぐに分かったのだけれど、何故それが付くとレンダリングが中断してしまうのかがなかなか分からなかった。

原因は、HTTP応答の一部を変更したことでchunkのサイズが変わり、chunk-sizeフィールドの値と実際のサイズが不一致になっていたから。応答の変更をchunkのサイズが変わらないように行うことで対処できた。

やること

  • コンタクト