メモの日々


2006年05月05日(金) [長年日記]

  • 毎日眠い。

[dev][java] 「ConTestを使用したマルチスレッド・ユニットのテスト」 (developerWorks)

この記事ではConTestというツールを紹介します。これは、並列プログラムのテストやデバッグ、カバレッジの測定に使用するツールです。

ConTestというのはまだ開発中のプロダクトなのかな。

[dev] 「Free! Icons for your website or application」 (MaxPower)

アイコン提供サイトのリンク集があるページをなんとなくメモ。ウェブデザインのトレンド:死の宣告より。

[soft][java] 「Java Graph Visualization and Layout」

JGraphというダイアグラムを描画するライブラリみたいなものをなんとなくメモ。グラフを描くわけではないみたい。Java Newsより。

やること

  • テーブル生成
  • クリーニング
  • PHSのファームウェアアップデート
  • デザイン変更
  • ネットバンク
  • 雑誌

2006年05月06日(土) [長年日記]

[tdiary] tDiaryを2.1.4へ

バージョンアップした。いつもはバージョンアップ時に色々トラブるが、今回はスムーズにできた。ちょっとメモ。

  • jdate.rbはtdiary-contrib.tar.gz内にある。
  • refedit.rbはtdiary-contrib.tar.gz内にも無い。
  • ずっとmimetexプラグインが動いていなかったようだ。毎回misc/plugin/mimetex.rbも移行すること。mimetex.xgiに実行権限を付与すること。
  • category.rbを修正すること。

最新表示でリンク元が表示されないのはちょっと寂しい。

[book] 魔術はささやく (宮部みゆき)

魔術はささやく(宮部みゆき/著) 読んだ。高校生日下守がアルバイトしたり特殊技能を生かして不可解な事件を調べたりする話。日本推理サスペンス大賞受賞と書いてあったので読んだがつまらなかった。主人公が高校生ってのがダメだ。解説でベタ褒めしている北上次郎って人は信頼できん。2.5点。

やること

  • テーブル生成
  • クリーニング
  • デザイン変更

2006年05月07日(日) [長年日記]

[life][hard] テレビ壊れた (4)

もう壊れてから1年以上経った。現状では、スイッチオン直後は横線1本だが5〜10分くらい待っていれば映る。

去年末くらいに買い換えようと思って色々調べたが、その後テレビの調子がよくなり、まあ映るんだから急ぐこともあるまいと考え購買意欲が減少していた。でもGWも終わりになった今、再び意欲増加中。欲しいテレビのスペックは、

  • 液晶
  • 20〜26型くらい
  • PC接続ができる
  • 地上波デジタルチューナーは付いていなくてよい

くらい。前から目をつけているのはビクターのLT-23LA6てやつ。価格.comで見ると最安値が83790円だ。もっと安いのあるのかな。

[life] 図書館へ行く

  • らんぼう (大沢在昌)
  • 松本紳助
  • Quick Japan Vol.63 「内村光良」
  • サッカーマガジン 2006.4.4 「小笠原満男」

を借りた。帰りに電気屋へ寄ってみたがビクターのテレビは無かった。

[javascript] 「プログラマのためのJavaScript (12):不思議な宣言と奇妙なスコープ」 (檜山正幸のキマイラ飼育記)

「JavaScripにはブロックスコープがない」というのを知らなかったのでメモ。

やること

  • テーブル生成
  • デザイン変更
  • TV買う?

2006年05月08日(月) [長年日記]

  • GWが明け、仕事再開。
  • ずっと英語の仕様書を読んでた。読めども読めども頭に入ってこない。きっと仕様書の書き方が悪いのだ。こんなのホントに流行るの?

[web] 「日本語ファイル名」 (PHP による Web プログラミング)

日本語ファイル名のファイルにリンクを張りたい場合にどうするかという話。Okumura's Blogより。

やること

  • テーブル生成
  • デザイン変更
  • TV買う?
  • プリンタインク
  • 保険

2006年05月09日(火) [長年日記]

  • 今日も仕様書を読んだ。昨日よりは分かってきた。でもやっぱりこの仕様書おかしい。整合性がとれていない。
  • ガムを買いにいったのに、ガムを買わずお菓子を買って帰ってきてしまった。ガム噛みたい。
  • SKGMとBNTNに行ったら今日はライブで2500円とのことで退散。店員の接客が変だった。常連だけを相手にしているのかな?
  • SKGMにベトナムの写真を山ほど見させられた。

やること

  • テーブル生成
  • デザイン変更
  • TV買う?
  • プリンタインク
  • 保険

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

  • 午前休。
  • 仕様書の内容をまとめないといけない。
  • SKGM、OOTとベトナム料理など食す。昨日と同じ写真を再び見させられた。

[java] 「Java パフォーマンス・チューニングの極意」 (サン・マイクロシステムズ)

Sun Enterprise News No.27より。「極意」という程ではない短い記事。

Zaudau氏:プログラミングの際に注意すべき点としては、次のようなものがあります。

  • オブジェクト・プーリングは避ける:以前のバージョンではオブジェクト・プーリングの利用を推奨する流れもありましたが、最近はガーベージ・コレクション(GC)に悪影響を与えることが分かってきたため、できるだけ利用しない方が良いでしょう。また、スレッド・プーリングについては書き換えることを推奨しています。
  • Lockingの階層を正しくデザインすることによって、モニターの競合情報の収集を避けることができます
  • リファレンスはスレッドに対してローカルにとどめるようにします。すなわち、スレッド間でのオブジェクトの共有は最小限に留めます
  • 古いジェネレーション(オブジェクトなど)への格納も避けたほうが良いでしょう

この他にも細かなテクニックがありますが、以下のサイトにあるドキュメントをご覧いただければより詳しい解説を入手することができます。

とのこと。「オブジェクト・プーリングは避ける」なのか。「古いジェネレーション(オブジェクトなど)への格納も避けたほうが良い」は意味が分からん。

パフォーマンスに関する記事が

にまとまっていた。このページ、「<!-- TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0">」というのが表示されてしまっている。サンのウェブサイトはなんでこんなにださいのか。字は小さいし横幅固定のテーブルレイアウトだし。上の検索フィールドにヘッダの文字列が重なっちゃってるし。

[java] 「Java開発者のためのモデリング講座」 (サン・マイクロシステムズ)

Sun Enterprise News No.27より。浅海さんによる連載が始まった所。読んでないけどJava World誌に書いている連載と同じような内容なんだろな。

Javaプログラミングは一通りできるようになったのだけれど、オブジェクト・モデリングはどうやってよいのか見当もつかない。そういった方が案外多いのではないかと思います。本連載では、そういった方を対象に、Java開発の基盤となるオブジェクト・モデリングの基本について解説します。

やること

  • テーブル生成
  • デザイン変更
  • TV買う?
  • プリンタインク
  • 保険

2006年05月11日(木) [長年日記]

  • 今週は毎日小雨。

[net] GRE

Generic Routing Encapsulationについていくつかメモ。

[php] 「Guru Speak: Storing Sessions in a Database」

PHPでセッション情報をDBに格納する話。phpspot開発日誌より。

関連:

やること

  • テーブル生成
  • デザイン変更
  • TV買う?
  • プリンタインク
  • 保険
  • Microsoft Update
  • 書留
  • 松井

2006年05月14日(日) [長年日記]

[java][soft] 「Pleiades」 (MergeDoc Project)

Eclipseとそのプラグインを日本語化するプラグイン。こんなのあるの知らなかった。アガテナより。

[java][web] 「Javaデベロッパ向け AJAX FAQ」 (Java BluePrints Project)

それほど興味はないんだけど一応メモ。Cafe Babeより。

やること

  • テーブル生成
  • デザイン変更
  • TV買う?
  • プリンタインク
  • 保険
  • Microsoft Update
  • 書留
  • 松井

2006年05月15日(月) [長年日記]

  • やっと晴れた。

[vim] set compatibleは始めの方に

.vimrcに「set whichwrap=h,l,<,>」と書いたが有効にならなかった。whichwrapのヘルプを見ると、

NOTE: This option is set to the Vi default value when 'compatible' is set and to the Vim default value when 'compatible' is reset.

とあった。.vimrcを見直すとset whichwrapの後でset nocompatibleしてた。これが原因だ。

set (no)compatibleによりリセットされるオプションは他にも色々ありそうなので、set (no)compatibleは.vimrcの始めの方に書いておくべきなのだな、ということをメモ。ちゃんとcompatibleのヘルプに

If you set this option in your vimrc file, you should probably put it at the very start.

と書かれていた。

やること

  • テーブル生成
  • デザイン変更
  • TV買う?
  • プリンタインク
  • 保険
  • 松井

2006年05月16日(火) [長年日記]

  • 大阪方面へ朝行って夜帰ってきた。疲れた疲れた。

やること

  • テーブル生成
  • デザイン変更
  • TV買う?
  • プリンタインク
  • 保険
  • 松井

2006年05月17日(水) [長年日記]

  • 4年前の今日、2002年のサッカーワールドカップの代表メンバーが決まっていたようだ。森島がいたんだな。
  • 今年の代表メンバーもメモしておこう。発表があったのは15日。川口楢崎土肥宮本中澤田中坪井加地駒野三都主中田浩二中田英寿福西遠藤稲本小野小笠原中村高原柳沢大黒玉田巻。久保落選がサプライズとされている。松井の不選出に皆涙した。11人が4年前と同じ。

[unix][net] GREトンネル作成時に No such device

JFの5.3. GRE トンネリングを見ながらGREトンネルを作ってみようとした(Fedora Core 5とFedora Core 3上)。が、

# /sbin/ip tunnel add mode gre remote x.x.x.x local X.X.X.X
ioctl: No such device

のようにエラーになってしまう。

Re: [squid-users] iptunnel gre problemsに「modprobe ip_gre」を実行しろとあったので試してみたら、トンネルを作れるようになった。ふむ。

[unix] Fedoraでyumを使ってソースファイルを取得する

ことはできないらしい。そのためにはyum-utilsにあるyumdownloaderを使うみたい。

yumdownloaderをインストールし使ってみたが、「No Match for argument XXXX」というエラーになりダウンロードできなかった。

ダウンロードするには、/etc/yum.repos.d/fedora-core.repo の [core-source] 内の enabled を 1 に設定しないといけないみたい。

これをやったらダウンロードできた。

yumdownloaderを実行すると /usr/src カレントディレクトリに src.rpm ファイルがダウンロードされる。src.rpm ファイルに対し「rpm -ivh」を実行すると /usr/src/redhat/SOURCES にファイルが展開される。その中の tar.gz ファイルを展開するとソースファイルが出てきた。

やること

  • テーブル生成
  • デザイン変更
  • TV買う?
  • プリンタインク
  • 保険
  • 松井

2006年05月18日(木) [長年日記]

  • 朝から打ち合わせ。全然ダメ。

[net][unix] ネットワーク関連のマニュアル

をいくつかちょっとメモ。

[net] rawソケットからの入力を待つプログラム

貧相なプログラムを作ったので忘れないようにメモ。プロトコル番号100のIPデータグラムを受信したらその内容をダンプする。

#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>

void dump_message(char *recvbuf, int len) {
    int i;

    printf("received\n");
    for (i = 0; i < len; i++) {
        printf("%02x ", (unsigned char)recvbuf[i]);
    }
    printf("\n");
}

void read_raw_socket(void) {
    int sockfd;
    char recvbuf[1000];
    ssize_t n;

    sockfd = socket(AF_INET, SOCK_RAW, 100);
    setuid(getuid());
    if (sockfd < 0) {
        perror("socket");
        exit(1);
    }


    for (;;) {
        n = recv(sockfd, recvbuf, sizeof(recvbuf), 0);
        if (n < 0) {
            perror("recvfrom");
            exit(1);
        }

        dump_message(recvbuf, n);
    }
}

int main() {
    printf("start\n");
    read_raw_socket();
}

UNIXネットワークプログラミングのrawソケットの章に、socketの第3引数に0を指定すれば全てのプロトコルのデータグラムを受信できるよう書かれていたが、0を指定すると「Protocol not supported」というエラーになってしまう。raw (7)には

IPPROTO_RAW 経由でのあらゆる IP プロトコルの受信は、 raw ソケットを用いては行えない。

とあるからできないのかな。

ああ、同じくrawのマニュアルに、

一般に raw ソケットは移植性がないことが多いので、移植性が必要なプログラムでは避けるべきである。

とあった。仕様を確認してから使わないといけないのだな。

やること

  • テーブル生成
  • デザイン変更
  • TV買う?
  • プリンタインク
  • 保険
  • 松井

2006年05月19日(金) [長年日記]

  • 今日は変なイベントのため職場が休み。

[soft] 「Dia a drawing program」

Dia is a gtk+ based diagram creation program released under the GPL license.

Visioみたいなソフトみたい。UMLも書ける感じ。Windows用のバイナリもダウンロードできる。雑記帳より。

やること

  • テーブル生成
  • デザイン変更
  • TV買う?
  • プリンタインク
  • 保険
  • 松井

2006年05月20日(土) [長年日記]

[life] 靴磨き

久しぶりに靴を磨いた。いったいどれくらいぶりだろうか。クリームがカチカチになってたよ。(少なくとも2年前には磨いたようだ。)

靴を磨かなくなったのは最近はあまり革靴を履かないからなんだけど。10年前は2週間置きくらいに磨いていたかなあ。毎日料理作って毎週掃除してアイロンかけてたよなあ。腕立てとかもしてたように思う。

なんと堕落したことよ。初心に帰らねば。

[life] 披露宴二次会へ行く

KDMくんの結婚披露宴の二次会へ行った。あいにくの雨模様、というか嵐だ。が、会場に着く頃には雨もやんだ。TKMTさんがいてものすごい勢いで喋っていた。変わってない。仕事も順調みたいだ。受付で名前を告げて会費を払いビンゴカードを貰う。ビンゴやるのね。AIZWくんと一緒にポラロイドで撮られて写真にメッセージを書かされた。

会場は意外と狭い。新郎新婦の到着が遅れててなかなか始まらない。シャンパンを飲みながら待つ。新郎新婦が到着し始まり。司会の人がすごく上手い。KDMくんが挨拶するが早口で何を言っているのか分からない。久しぶりに見たけど変わってなかった。歓談に入ったら早速皆でワインを渡しに行った。無くさず持って帰ってくれただろうか。

後は軽く飲んで食べて話してビンゴして。ビンゴはSMZさんが最初にリーチになったが結局当たらなかった。TKMTさんのスピーチはちょっと失敗。終わりに新郎が新婦へ書いた手紙を読み上げたり。

新郎と新婦が結構別行動してたな。二人ともともサービス精神旺盛なのだろう。末永くお幸せに。

やること

  • テーブル生成
  • デザイン変更
  • TV買う?
  • プリンタインク
  • 保険
  • 松井

2006年05月21日(日) [長年日記]

[tdiary][javascript] tDiaryの各日に編集用リンクを追加するGreasemonkeyスクリプト

を作った。個人的には便利になった。スクリーンショット

同様のものとして、tDiaryのプラグインにedit_today.rbというのがあるけど、これだと自分以外の人にも編集用のリンクが見えてしまうのがちょっと気になる。

Greasemokeyスクリプトのページを作って公開。

[dev][service] 「OSS iPedia」

OSS iPediaは、独立行政法人 情報処理推進機構(以下、IPAといいます)がOSS関連情報の集約と発信のために運営しているデータベースです。

ちょっと前にニュースになっていたみたい。よくわからないけど、オープンソースソフトウェアの情報が色々たまっていくのかな。PCDN News Letter Vol.504より。

やること

  • テーブル生成
  • デザイン変更
  • TV買う?
  • プリンタインク
  • 保険
  • 松井

2006年05月24日(水) [長年日記]

  • 眠い眠い眠い。
  • 打ち合わせをした。今日のはそこそこ成果があったかな。
  • すごい雷だ。怖くて帰れない。

[soft] UMLetとViolet

UML作成ツールを2つメモ。

見た目はよさそう。試してない。MYCOMジャーナルより。

[net][unix] netgraph

オープンソースマガジンの6月号に、FreeBSDのnetgraphという機能が紹介されていた。色々なプロトコルスタックを柔軟に組み合わせることができるみたい。

便利そうだなあ。Linuxにはこういう仕組みないのかなあ。

[link] 「iPod nanoでランニングが記録できる「Nike+iPod Sport Kit」」 (GIGAZINE)

わー、距離を測れる靴が既にあるみたいだー。靴に何かを入れるみたいなんだけど、仕組みはよく分からない。

やること

  • テーブル生成
  • デザイン変更
  • TV買う?
  • プリンタインク
  • 保険
  • 松井

2006年05月25日(木) [長年日記]

  • 早起きしてスーツを着た。
  • Sくんはブクブク太ってきているらしい。鼻血も出る。
  • ブクブクというのは大げさでした。
  • 今日もとても眠い。最近おかしい。

[tdiary] ツッコミspam来た (6)

久々にやられた。早朝と夕方の2回。それぞれ20件くらいでそれ程多くないので個別に非表示にした。

とりあえずspamフィルタの設定画面で、本文に「Click here」があったらspamとみなすように設定。

[life] ThinkPadのリカバリに失敗

プレインストールされていたWindowsを消してRed Hat Linuxをインストールし直したThinkPad X31があった。これを、Red Hat Linuxを消して元のWindowsに戻そうとしたのだけれど失敗した。

Windowsに戻すには、Access IBM Predesktop Areaという機能を使えばよいとのことだった。この中にある出荷時状態に戻す機能を使ってみたのだが、空き領域がないというエラーになってしまいWindowsに戻らない。

O先生に尋ねると、先にLinuxのパーティションを削除する必要があるのではないかとのこと。そこで、CDROMからKNOPPIXを起動し、QTPartedというツールを使ってLinuxのパーティションとLinuxのswapになっていたパーティションを削除してみた。これによりQTParted上ではディスクの全領域が空き領域となった。そして、その後その全領域に対しパーティションを新規に作成しNTFSで使うように設定した(これがいけなかったのかなあ)。

で、ThinkPadを再起動して「Access IBM」ボタンを押したのだが、今まで表示されていたAccess IBM Predesktop Areaの画面が表示されなくなってしまっていた。困った。

ここで時間切れ。明日、Disk to Diskでのリカバリーがうまくいかない場合の対処方法 - Access IBM Predesktop Area 採用機種全般を一応読んでみる予定。

[life][hard] テレビ買った

買ったよ。目をつけていたビクターのやつではなく(これを売っている店を見つけられなかった)、日立の23LCD-1というのを85000円くらいで買った。後日配送なのでまだ使ってはいない。

で、帰ってきて今あるテレビを点けたらちゃんと映った。直ってる!なんでや。昨日までは確かに壊れていたのだが。

やること

  • テーブル生成
  • デザイン変更
  • TV買う?
  • プリンタインク
  • 保険
  • 松井

2006年05月26日(金) [長年日記]

  • ThinkPadはリカバリ用CDを購入することになりそう。

[net][service] 「RFC 検索」

Ajax で RFC を検索します。

便利便利。

[shell][unix] 「安全にファイルを更新する」 (今日の一行)

ファイルを更新するときは

% ln hoge hoge.old && mv hoge.new hoge

とするのがよいとのこと。

やること

  • テーブル生成
  • デザイン変更
  • プリンタインク
  • 保険
  • 松井

2006年05月28日(日) [長年日記]

[life][hard] テレビ届いた

新しいテレビが届いた。古いテレビはやっぱり壊れていたので心置きなく引き取ってもらった。

で。チャンネルを変えるときに2秒くらい待たされるんだけど、液晶テレビってみんなそうなのかな。チャンネルを変えるのが億劫になる。ザッピング対策か?スイッチを入れた直後も2秒くらい待たされる。

テレビを買い換えるときは、チャンネルをサクサク変えられるかどうかもチェックしておいた方がいい。

[life] 図書館へ行く

  • 探偵ガリレオ (東野圭吾)
  • 暗号技術入門 (結城浩)
  • サッカーマガジン 2006.4.11 「首位決戦 運命の火花」

を借りた。帰りに色々買い物。クリーニング屋行き忘れた。

やること

  • テーブル生成
  • デザイン変更
  • プリンタインク
  • 保険
  • 松井
  • PC接続用ケーブル
  • クリーニング