メモの日々


2005年10月04日(火) [長年日記]

[life] 歯医者へ行く (5)

最近歯医者のことしか書いてないな。

縫われていたところを抜糸して消毒しただけ。あっという間に終わる。170円。

あれからも痛みは全然無いが抜糸しても違和感は無くならなかった。怖くて今まで噛めないでいたけど、もう噛んでみなきゃなあ。

工数の見積りをした

頼まれたのでやった。やることをタスクに分解してそれぞれの作業にかかる時間をざっくり決めて積み上げた。苦しい作業だ。

タスクの洗い出しと時間の積み上げはXPlannerに入力しながらやってみた。

[soft] XPlanner

XPlannerを動かすためにはJavaをインストールしてAntをインストールしてTomcatをインストールする必要があり結構大変。Tomcat 5.5.9に関して、

  • jsvcをビルドするときにできるjsvc-src/native内にTomcat5.shというファイルがありこれでTomcatの起動と終了が行えるみたい。ただしこのファイル内のパス情報はいくつか書き換える必要あり。

ということをメモ。

XPlanner 0.6.2はJ2SE5でコンパイルするとエラーになったが、build.xml内のjavacタグに「source="1.4"」と追記したらコンパイルできた。あとMySQLへの接続がエラーになり解決に手間取ったが、これはMySQLを正しく設定すればOKなだけだ。

めでたくインストールできてXPlannerを使ってみたが、なんかデータの登録画面でことごとくJavaScriptのエラーが出る模様。インストールミスなのかバグなのか分からない。でもJavaScriptエラーになっていても問題なく使えるようだ。

で、XPlannerなんだけど、プロジェクトを作ってイテレーションを登録してその中にストーリーを登録してその中にタスクを登録するということを繰り返して、その後各タスクに対して費やした時間を入力していくというツールみたい。タスクには見積時間を登録できてイテレーション単位で時間の合計を参照できる。はじめはメンドクサと思ったけれど、慣れればまあ入力できた。でも操作性はあまりよくないと思う。

今回は見積りしか入力しなかったけど、このプロジェクトを実装することになったら進捗を入力してみようと思います。

やること

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

健探人 [こんにちは、はじめまして。 健探人と申します。 XPlannerってどうですか? 操作性がよくないんですか、それは..]


2005年10月05日(水) [長年日記]

  • わー、今度の土曜日からER9の放送始まるみたい。忘れないようにしないと。

[php] Mojavi 2.0.0はPHP 4.4.0上では動かない

「Only variable references should be returned by reference」というエラーが色々な箇所で発生してしまう模様。

MojaviのForumにtrac3さんによる修正版へのリンクがあったのでこれを使ってみたら動いた。Mojavi 2の新バージョンはリリースされないのかなあ。

(追記)

Mojavi 2.0 Tutorials, Updates and Docsに「Mojavi 2.0.3beta」というものもある。これはPHP 4.4.0対策以外のバグ修正も含まれているようだ。p0tより。

[dev][soft] Subversionを使った

やっと使った。参考にしたのは以前にメモした

とか。リポジトリはCVSから移行して作った。cvs2svnをインストールして

cvs2svn -v --fs-type=fsfs --encoding=EUC-JP -s 作りたいリポジトリ CVSのリポジトリ

とした。

WindowsにはTortoiseSVNをインストールしたけど、エクスプローラ上で動くものだということを失念してexeファイルを探し回ってしまった。エクスプローラ上で右クリックすれば使える。

で、svnserveを立ち上げてTortoiseSVNからリポジトリを参照しようとしたがうまくいかない。「Malformed network data」というエラーが表示されてしまう。リポジトリがあるサーバ上でsvnコマンドを使ってもsvnプロトコルを指定すると「不正なネットワークデータです」というエラーになってしまう。なんでや。

パケットをキャプチャしてみたら原因が分かった。inetd.conf内に誤りがあった。もー。

[soft][web] 「Selenium Recorder」 (mozdev.org)

Selenium Recorder は、ユーザの操作を記録し、Seleniumのコマンドを生成する Firefox エクステンションです。

いろんな所より。こりゃ便利そう。が、Seleniumも未だに使ったことがない。

作っているのはKBMJという所の人のようだ。

やること

  • ブラウンの安い電動歯ブラシ買う
  • 蛍光灯を捨てる

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..]


2005年10月07日(金) [長年日記]

  • 今日はスーツを着ている。

[dev] 「文字コード(日本語漢字コード表)」

文字コードの変換とか、文字コードに関するツールが色々あるサイトをメモ。ブラウザ上ですぐ使える。

やること

  • 蛍光灯を捨てる

2005年10月11日(火) [長年日記]

[unix] xargs

FreeBSD 4.11とFedora Core 3とではxargsのオプションがちょっと違うようだ。気になる違いを覚え書き。

  • 何行読み込む度にコマンドを実行するかどうかを指定するオプションが違う。
    • FreeBSDは「-L number」。
    • Fedoraは「--max-lines=number」または「-lnumber」。
  • パラメータを挿入する位置を指定するオプションが違う。
    • FreeBSDは「-J replstr」。
    • Fedoraは「--replace=replstr」または「-ireplstr」。このオプションを指定すると、同時に「--max-lines=1」が指定されたことになる。

で、元々やりたかったのはSubversionで複数のファイル・ディレクトリに対しmoveコマンドを発行すること。

(FreeBSD 4.11の場合)
ls -1d *keyword | xargs -L 1 -J % svn move % 移動先

(Fedora Core 3の場合)
ls -1d *keyword | xargs --replace=% svn move % 移動先

としてみた。lsの「-1」オプションは無くても動いたけど一応書いといた。

やること

  • 蛍光灯を捨てる

2005年10月14日(金) [長年日記]

[life] 歯医者へ行く (6)

今日の担当は歯科医ではなく歯科衛生士。歯石を取ってもらった。歯と歯茎の間を機械でギュインギュインやられる。痛いし血だらけになった。毎日フロスを使えと言われた。支払いは1500円くらい。

今回取れなかった歯茎の奥の方の歯石を次回に取るらしい。恐ろしい。

やること

  • 蛍光灯を捨てる
  • 4000円払う

2005年10月18日(火) [長年日記]

  • DBDesigner 4Clay データーベース・モデリング・プラグインを使ってみた。DBDesignerの方がずっと多機能。日本語をちゃんと入力できればなあ。
  • Sとドイツ料理屋へ。お通しとして出てきたカチカチのパンみたいな物を食べたら歯が痛い。客が全然来なかったのでこの店はもうすぐつぶれるのであろう。

[java] 「Java Ahead-of-TimeコンパイラGCJ」 (首藤一幸さん)

Fedora Core Expert誌に載った記事みたい。GCJの現状が分かる。Eclipseも起動し、十分使えるようだ。

やること

  • 蛍光灯を捨てる
  • 4000円払う

2005年10月19日(水) [長年日記]

[unix][security] syslog-ng + Stunnel

syslogの転送を暗号化して行いたいとのことで、調べた結果 syslog-ng + Stunnel という組み合わせならできそうだったのでトライ。

syslog-ngはFedora Core 3の公式パッケージは無いようだ。@ITを参考にしてインストールした。ソースアーカイブ内の contrib/fedora-packaging にFedora用と思われる設定ファイル群があった。

Stunnelはパッケージが既にインストールされていた。StunnelのサイトにEncrypting traffic to a remote syslog-ng server including SSL peer authenticationという例があったのでこの通り設定したら、ログの暗号化転送はできたようだ。

できるようになるまでに随分苦労したんだけど、あまりメモしておくことを思いつかないなあ。何に苦労したんだっけなあ。

やること

  • 蛍光灯を捨てる
  • 4000円払う
本日のツッコミ(全5件) [ツッコミを入れる]

XOX [はじめまして。 syslog-ng + Stunnel という組み合わせで、syslogの転送を暗号化を挑戦していま..]

小川 [手元に環境がないので詳しいことは分かりませんが、3番目の手順として書かれているのは、 ・全マシンの /etc/st..]

XOX [小川様 お返事ありがとうございます。 小川様のお返事を参考に作業をしてみましたが、私ではうまくいきませんでした。 ..]

小川 [・syslog-ng-server.pemはサーバで作成する。 ・syslog-ng-client.pemは各クライ..]

XOX [小川様 お世話になっております。 返事が遅れてしまい、申し訳ありません。 小川様のお答えどおりに設定をいたしたと..]


2005年10月20日(木) [長年日記]

[unix] RPMファイルを作った

syslog-ngをビルドするとspecファイルを作ってくれるので、それを元にRPMの作成に挑戦してみた。

ちょっとまとめるのは難しいので、参考にしたサイトだけメモ。色々とメンドクサイ。

(追記)

Red Hat Magazineに、

という記事があったのでなんとなく追記。

やること

  • 蛍光灯を捨てる
  • 4000円払う

2005年10月21日(金) [長年日記]

[life] F送別会みたいな会

Wにて。遅い時間から出席。CTOとなったSも来た。時計回りにおれ、S、F、Aさん、旧Nさん、F、S、O、O。

その後Kに行き時計回りにおれ、S、F、F、Oで3時頃までいた。CTOではないSに4000円支払い。代わりに本日分の支払が後日請求されるはず。

タクシーで帰宅。7000円くらいで着くみたい。

やること

  • 蛍光灯を捨てる
  • 4000円払う
  • ?円払う

2005年10月24日(月) [長年日記]

  • 今日はスーツを着た。
  • つらいプロジェクトになりそうだ。

[vim] 「実演vi」 (UNIX 今日の技)

VIM入門なページをまたメモ。おまぬけ活動日誌より。

[php] 「HTML_AJAX」 (PEAR)

IT Proより。PHPでAjaxをサポートするためのパッケージ。まだα版らしいけど、メモ。

やること

  • 蛍光灯を捨てる
  • 1399円払う

2005年10月25日(火) [長年日記]

[unix][windows] coLinux 上の Fedora で glibc を入れ替えると Windows が固まる

久しぶりにcoLiniuxを起動し、gccが入っていなかったので「yum install gcc」を実行したらglibcの更新処理が実行されたようだ。そして、glibcの更新処理中にWindowsごとフリーズしてしまった。

PCを再起動し再度coLinuxを起動すると、glibcが中途半端にインストールされてしまっているようだったので「rpm -ivh --replacepkgs glibc-2.3.5-0.fc3.1.i386.rpm」としたらまたWindowsごとフリーズ。

検索すると、coMomonga2+の紹介

(official releases の最新版である coLinux-0.6.2.exe は glibcまわりで致命的なバグがあるため現在はお薦めできません)

とあった。これが原因なのだろう。coLinuxの再インストールは面倒なので、coLinuxとはしばらくサヨナラ。

やること

  • 蛍光灯を捨てる
  • 1399円払う

2005年10月27日(木) [長年日記]

  • 昨日は体調不良で休んだ。年だねえ。

[security] SSLの暗号化通信開始までの流れ

SSLについてちょっとメモ。IPAのサイトにある7.1 TLS (SSL)が参考になる。

以下、おれの理解。

  1. クライアントからサーバへ、使用したい暗号アルゴリズムのリストなどを送信。
  2. サーバからクライアントへ、使用する暗号アルゴリズムなどを返信。
    • アルゴリズムは、鍵交換用(RSAなど)、暗号化用(RC4、DESなど)、ハッシュ用(MD5、SHA-1)の3種類を決定する。
  3. サーバからクライアントへ、サーバの証明書を送信。証明書内にサーバの公開鍵も含まれている。
  4. クライアントはサーバから送られた証明書を検査。
  5. クライアントからサーバへ、セッション鍵の元情報(プリマスタシークレット)を送信。プリマスタシークレットはサーバの公開鍵を使い暗号化して送信する。プリマスタシークレットは乱数なのかな。
  6. クライアント、サーバ共、プリマスタシークレットからマスタシークレットを生成し、更にマスタシークレットからセッション鍵、MAC鍵、初期ベクトルを生成する。
  7. 以降は、双方で生成した共通のセッション鍵を使って暗号化を行い通信する。

[security] stunnelが使う暗号アルゴリズム

で、stunnelがどんな暗号アルゴリズムを使うのかを知りたい。

アルゴリズムは設定ファイルのオプションの「ciphers」で指定するようだ。指定しなかった場合の値は、stunnelをversionオプションを指定して実行すると分かるみたい。

$ /usr/sbin/stunnel -version
stunnel 4.05 on i386-redhat-linux-gnu PTHREAD+LIBWRAP with OpenSSL 0.9.7a Feb 19 2003
...
ciphers         = ALL:!ADH:+RC4:@STRENGTH
...

「ALL:!ADH:+RC4:@STRENGTH」の意味が分からないけど、stunnelはopensslを利用しているようなのでopensslのオプションを調べれば分かりそう。

[security] opensslでのciphersの指定

UNIXの部屋にある説明を元に「ALL:!ADH:+RC4:@STRENGTH」を解釈すると、「全ての暗号スイートから ADH が関係するものを除き、RC4の優先度を下げてから暗号強度順にソートする」という意味か?

$ openssl ciphers 'ALL:!ADH:+RC4:@STRENGTH'

を実行したら「DHE-RSA-AES256-SHA」が先頭に出力された。「man ciphers」によるとこれは「TLS_DHE_RSA_WITH_AES_256_CBC_SHA」という意味らしい。これはRFC 2246などを見ると鍵交換アルゴリズムが「鍵長無制限のEphemeral DH with RSA signatures」、暗号化アルゴリズムが「鍵長256ビットのAES」、ハッシュアルゴリズムがSHAということかな。手元のopensslはこれを優先して使おうとするはず。

opensslをクライアントとして起動してサーバに接続すると色々情報が出力されるようなので、試してみた。

$ openssl s_client -connect ホスト名:ポート番号 -cipher 'ALL:!ADH:+RC4:@STRENGTH' -state
...
Server public key is 1024 bit
SSL-Session:
    Protocol  : TLSv1
    Cipher    : AES256-SHA
...

となった。AES256-SHAというのはTLS_RSA_WITH_AES_256_CBC_SHAのことのようなので、鍵交換アルゴリズムは「鍵長無制限のRSA」になり、サーバの公開鍵の鍵長は1024ビットだったということだろう。

[security] SSL関連のリンク

上に挙げた以外に参考になるサイトをメモ。

やること

  • 蛍光灯を捨てる
  • 1399円払う
  • 請求書
  • 見積書
  • 家賃

2005年10月28日(金) [長年日記]

  • 今日は朝から打ち合わせがあるので急いでいたのに、電車が進まない。三軒茶屋〜池尻大橋間で20〜30分くらい止まっていた。苛々。
  • 原因は東武線が濃霧のため動けなかったかららしい。そんな遥か彼方のトラブルが影響するようじゃ困る。
  • やっとのことで池尻大橋に着いたら、気分の悪くなった乗客がいるからとなかなか出発しない。さっさと降ろせばいいじゃないか。何をやっているのだ。
  • 結局15分遅刻。
  • プロジェクトの行方は混沌としたまま。やることばかりどんどん増える。どうしたものかなあ。
  • 昼にドイツ料理屋の前を通ったが、客はそれなりにいた。まだつぶれないのかも。
  • しばらくぶりにPHPで書こうとしたら全然書けない。忘れるのはものすごく早い。
  • SimpleTestをちょこっとだけ使ってみた。まあJUnitと同じだな。
  • WEB+DB PRESS Vol.29にSimpleTestの特集が載っていたので買った。でもたいしたことは書かれていなかった。
  • 夜蕎麦屋に行ったら厨房から怒鳴り声が。喧嘩しているようだ。どんな仕事も大変だ。

[db] 「データアクセスことはじめ」 (日本オラクル)

  • http://otndnld.oracle.co.jp/columns/arai-semi/data_access/1/
  • http://otndnld.oracle.co.jp/columns/arai-semi/data_access/2/

以前も見たはずだけどメモしなかったページを今メモ。データベースアクセス部の設計パターンを比較している。

Javaプログラミング言語というオブジェクト指向言語とリレーショナルデータベースを利用しシステムを開発する上で必ず存在するO/Rインピーダンスミスマッチの環境下で、大規模なシステムにも適応しえるアーキテクチャは、「Domain Model」+「Data Mapper」を利用することが望ましい。しかし、

といった結論。

このページはGoogleから辿りついたが、OTNのサイトから辿ろうとするとパスワードを求められる。

やること

  • 蛍光灯を捨てる
  • 請求書
  • 見積書
  • 家賃