Home日記コラム書評HintsLinks自己紹介
 

2005年12月のアレ

まあ日記というのか、そういうものだ。

← 2005-11 | 日記一覧 | 2006-01 →

2005年12月31日

今日の一言: 日暮れてバグ多し。

というか年の暮れである。

§

ヘンな夢を見たのだが、 どういうのかというと、 途中で「これは絶対夢だ」と確信してしまうのである。 普通、夢というのは、 本人がそれになりきっていて、 夢であることを自覚していないものだと思うのだが、 ビューティフルドリーマー?

で、夢であることを自覚した後どうなったかというと、 「こりゃ夢だ」と確信しているので、 やりたい放題というか、 まあここに書けるような話ではない。

そういうのは抑圧されている本性が出ているのか、 あるいは、夢は所詮夢なのか、よく分からん。

§

新しく買ったデジカメで、 今年中に1000枚撮影しよう、と思っていたのだが、 駆け込みで条件達成した。 最後の方はぐちゃぐちゃだが、 こういうのは結構何とかなるようだ。

2005年12月30日

バグを取るということは重要だし、 おそらく現場的には最も重要な作業の一つだが、 なぜそのようなバグが発生したのか考えることはもっと重要だ。

理想的には理解した方がいい。 ただし、なぜそうなったのか理解できないこともある。

さらに、原因が除去できるとなおいいのだが、 場合によっては、これはもっと難しい問題だ。 ただし、原理的にはこれがかなり簡単なこともある。 例えば Java なら、 Eclipse を使っていて「!」を無視していなければ発生し得ないようなバグとか。

メタ原因になってしまうが、 「警告を無視したため」という原因はやっかいだ。 これはプロジェクトリーダーか担当者を入れ替えることで多分解決する。 本人に「無視するな」と言うだけでは多分解決しないが、 プロジェクトリーダーが、警告が出ているコードは却下するという規則を採用すれば、 本人が無視したコードは製品に使えなくなるので解決するのである。 また、Warning が出た場合には build を強制終了させて完成させない、 という機械的な対策は、おそらくそれほど難しいことではないと思われる。 実際にやったことはないが。

注意すべきことは、 「本人に注意する」という対策だ。 これで解決するような問題なら、 最初からそのようなバグは発生しないと考えた方が現実的である。

§

初心者のための自宅サーバーの作り方

2005年12月29日

今日なんかは多くの会社は既に年末年始休暇に突入していますか。 電車に乗ったらがらがらだったので、 そんな感じがした。 都営地下鉄なんか休日モードのフリーパス売ってるし。 と思いながら仕事場へ行く。

体調は回復の兆しありといえども相変わらすなので、 途中で C1000 でも飲むかと思ったのだが、 何と C1000 だけ売り切れになっている。 同じようなことを考える人が多いのか。

§

Windows Server 2003 で、インターネットに繋がらないという状況。

ドライバの状態を確認したら、 ネットワークボードが認識されていない。 オンボードのネットワークi/f なのだが、 一体何なのか分からないので、 まず、dell のサイトで型番まで絞り込んで製品詳細ページを表示し、 さらに「仕様詳細」というリンクをクリックしたら、 ネットワークコントローラが 「オンボードBroadcom 5721 ギガビット・イーサネット・コントローラ」 であるところまで分かった。 しかし、ドライバが見当たらないような?

ということで、 ネットを適当に探したら、 Broadcom NetXtreme Gigabit Ethernet 5721 Adapter RELEASE driver_win2003 というのがあったので、 ダウンロードして、 ドライバの「再インストール」を実行して解決。

§

飲んでいる途中で切符を落としたことに気付く。 というか実際、家の中に落としていたのだが、 入れたところまで完全に記憶にあって、 どこで落としたか記憶にないのが謎。 脳内メモリがどこか壊れているか?

§

GyaO でアニメを見るときに、 CM はスキップできないのだが、 オープニングはスキップすることができる。 時間のないときはスキップするのだが、 時間のないときにアニメ観るなというのが正しい判断のような?

2005年12月28日

私用があって早退。 体調は少し戻ったが、 後がドタバタして元の木阿弥。 そういえば「元の木阿弥」って何で「木阿弥」って言うのだ?

§

先日書いた、BX の処理速度が速いという点に関する疑問。 その中で、HDD の回転数が分からないと書いたのだが、 SonyStyle のページに書いてあるのを発見した。 SATA 5400回転、だそうだ。

2005年12月27日

VAIO BX の setup の続き、 のその前に、前回まで書いた内容だと、 「BX にしなくても Z をそのまま使えばいいじゃないか」 のような疑問を持つ方はいらっしゃると思うので、 なぜ Z でなく BX なのかを書いておくと、

・DVD 読み書き可能なドライブを実装している。 Z にも同様のモデルがあったと思うが、私の使っている Z はそうではないため、 DVD-R に書き込むためには外部ドライブを接続しなければならなかった。 この手間は結構面倒なのだ。

・同じく、無線LAN が11g 対応。 私の Z は初期モデルなので、11b まで。 11g に対応するには無線 LAN カードを買わないといけなかったし、持ってない。

・これから買う人は Z は既に製造終了なので get できないと思われる。 中古という手はあるかもしれないが。 そして、価格。Z は何だかんだ言って約30万円かかった。 BX は同等以上のスペックに upgrade しても約17万円で、半分程度である。 まあソニーにこだわらないなら、 もう少し安くて同等のスペックのノートpcもgetできるのですが。

・グラフィックの表示速度は向上しているはず。

・HDD も速くなっている。 今回は 80GB のモデルを注文した。 もっと大きな容量を選択することもできるが、 私の場合、Z を使っていた感じからいうと、 60GB で殆ど十分という印象だった。 ただ、C: ドライブのパーティションを 20GB に切ってしまうと、 ここが一杯になってしまう。 .NET と Java の開発環境を共存させるというのが無理なのかもしれない。

BX のセットアップは、C: ドライブを節約するために、 できるだけプログラムのインストール先を D: に指定するようにしている。 逆に、あえてパーティションを切らずに C: ドライブだけにするというのもアリかもしれない。 パーティションを細かく切る理由は、 用途によって使い分ける、ということが大きい。 例えば、バックアップしたいものは全て D: に入れておく、ということにすると、 バックアップの作業が楽である。 C: ドライブは、専用ソフトを使わない限り、 ドライブ全てを復元することが現実的に不可能なので面倒なのだ。 UNIX なんかだと、 管理上の理由で、割と細かくパーティションを切ることがある。 Windows でもサーバーならそうかもしれないが、 他のコンピュータからアクセスできる領域を制限するような場合は、 パーティションを分けておくと管理が楽になる。 メールの spool を入れたり、 /tmp のような、一時作業用に使うディレクトリは、 別のパーティションにしておくことで、 ユーザーが /home を disk full にしてしまったときにも、 システムがメールが受け取れない、というような事故を防ぐことができる。 もっとも、その後、ユーザーがメールを見ようとしたところでパニックになること請け合いだが。 今時、disk full であたふたするというのはブザマな話で、 足りなくなったらディスクを買い足した方がいい。 地球に優しくないとか無駄遣いだとかいう意見は尤もだが、 どのファイルを削除するか悩むのは人生を無駄にしているという意見を私は支持する。 今時の言葉でいうなら、ROI の最適化のためにディスクを買い足せ。

しかしノートpcの場合、買い足せといわれても…ということになるが、 USB 接続の外付けドライブを使えばいい。 本当に 60GB とか 80GB 使い切るにはどうすればいいかというと、 音楽や画像データをどんどん入れたら一発なのだが、 そうでもなければ結構大変なものである。 私の環境だと、この種のデータを外付けドライブに追い出したから、 後はネット関係のデータや、 プログラミング関係のツールなどだが、 結構容量を食っているのが、 Java の開発環境の過去のバージョンとか、 ダウンロードしたアーカイブだ。 この種のデータは一度インストールしたら滅多に使わない。 どうするか。 消してしまう というのがいい。 Apache とか Jakarta Commons のようなサイトは、 old version もちゃんと公開しているから、 またダウンロードすればいいし、 実際、古いバージョンでないと動作しないということは滅多にないのだ。 とはいえ、Eclipse 3.0 でないと動きません、とか明示されているものは別だけど。

最近は、ハードディスクのどこに入れたのか分からなくなってしまって、 ダウンロードした方が早いから、 という理由でデータを再取得する、というようなこともある。 基本的には、 D:\downloads とか、 D:\Java\archives という所に、ダウンロードしたデータは集めてあるのだが。

§

話を少し戻して、BX のいいところとかある? 電源sw が、蓋を開けないと押せなくなった。 これは賛否両論かもしれないが、 個人的には、 Z の場合、誤操作で押してしまうことが何度かあったので、 誤操作を防ぐという意味では吉。 蓋を閉めたままボタンを押す系の人にはかえって辛いかもしれない。 確か、蓋を開けずに音楽を聴くとか、 そういう使い方を想定しているのでしたっけ?

余談だが、蓋を開けずにDVD を観ることができる、 というノートpcってありますか? 8mmビデオカメラの液晶で、ぐるっと180度回転させて元の位置に蓋を閉めれば画面が外に出る、というタイプのもがありますが、あんな感じ。 IBM のタブレットpcってそう?

§

かなり体調わろし。 昼メシを半分食べて give up という状態。

2005年12月26日

pc のセットアップの続き。

Adobe Reader。 pcの購入時の状態でプリインストールされているが、 どう頑張っても最新版の 7.0.5 にできないので、 こんなものに時間食ってもしょうがないから 強引な手段で 7.0.5 を入れる。 といっても、単に uninstall してから入れなおすだけだが。

1. 次のソフトを コントロールパネル > プログラムの追加と削除、 画面を開いて uninstall する。

Adobe Reader 7.0
Adobe Acrobat 7.0.1 and Reader 7.0.1 Update
Adobe Acrobat 7.0.2 and Reader 7.0.2 Update
Adobe Download Manager 2.0

2. 再起動。

3. Adobe Reader 7.0.5 をインストールする。

さて、これで Adobe Reader は 7.05 になったのだが、 Adobe Reader を起動して、 更新をチェックしたら、update 対象があったので実行してみた。 やはり失敗する。 「Acrobat Reader を閉じることができませんでした」 のようなエラーメッセージが表示されるのだが、 画面上を見ても既に閉じているようにしか見えない。 とにかく、update はできなくなるし、 update 用のソフトは応答がなくなって終了できなくなった。

§

今使っている VAIO Z は、システムのプロパティを見ると、

 PCG-Z1 シリーズ
     Intel(R) Pentium(R) M
 processor 1600MHz
 587 MHz
 1.00 GB RAM

と表示されている。来年から使う予定で setup している BX は、

 VGN-BX_0 シリーズ
     Intel(R) Pentium(R) M
 processor 1.73GHz
 795MHz, 1.00 GB RAM
 物理アドレス拡張

である。もっと速いCPUとか選ばなかったのは、バッテリの消費量がとかいう話ではなくて、単に金がないからだが、なぜか RADEON X700 を選択している。

これでどの程度の速度差があるかというと、一番体感できるのが、ハイバネーション(休止)状態からの復帰で、実行しているプログラムの数に大きく影響されるとは思うが、VAIO Z だと2~3分、BX だと15秒程度だ。この差は8~12倍ということで、ちょっと大きすぎると思うのだが、何が原因だろう?

・インストールされているプログラムの数または種類。BXは殆どプログラムが入っていないので。

・使っているメモリの量。今この瞬間のタスクマネージャの表示をみると、Z は約600MB、BX は400MB程度使っている。

・HDDの速度。BX の方が速かったと思ったのだが、今10分ほどBXのサイトを見てもどこに速度が書いてあるのか分からないので不明。HDDの速度のようなメリットを分からないようなところにこっそり書くはずがないから、勘違いかも。

・Z の方が遅いのは、HDD の残り容量が少なく、かつ断片化されているため?

§

VAIO Update なのだが、 設定画面には、 「ご使用のバイオに新着情報があると、タスクバーの対地領域にバルーンを表示してお知らせします。」 と出ている。 しかし、毎回起動するとバルーンが出るような気がしてしょうがない。 実際、VAIO Update の画面を何度か開いているが、 新着情報があったのは最初の一度だけなのだが。

§

バージョンは、2.1.03.04280

BX を使っていて、 現時点で Z よりも「使いにくい」と思っていること。 とはいっても、まだ殆ど使っていないので。

スーパードライブの eject が押しにくい。 これは、押しやすいと誤操作の原因にもなるから、 押しやすければいいというものでもないが、

ヘッドホンジャック。 最初どこなのか分からなかった。 Z はグリーンのジャックなのですぐに分かる。

Z は、ラッチとかなく、蓋を開けるのが簡単だったが、 BX はラッチで閉めるようになっている。 Z に慣れていると、これが面倒。 コストダウンのためかもしれないが、 この種のユーザビリティを逆行させるスペックは残念である。

もう一つ。 IC カードスロットが右側にある。 アウトドアで使うときに、 Air H" を使うときにカードを挿さなければならないのだが、 私はマウスを右手で使うので、 pc の右側にカードスロットがあると、 カードのはみ出る部分が邪魔になる。 ケーブルが出るようなカードだと、さらに邪魔になるはず。 Z は、左側にカードスロットがあった。

バッテリーパックの装着メカニズム。 Z は片手で着脱できたのだが、 BX はかなり難しいというか、無理かもしれない。

使いやすくなった点は、ちょっとまだ使い込んでいないためか、 あまり思いつかない。

2005年12月25日

今日の一言:

メリークリスマス。 といえば戦場の。

§

pc のセットアップ。

BX、ハイバネーションというか、 休止状態から復元するときに、 パスワードも何も確認せずにいきなりデスクトップになってしまうので、 コントロールパネル > 電源オプション > 詳細設定、 のオプション 「スタンバイから回復するときにパスワードの入力を求める」 をチェックする。

ついでに、 デスクトップ背景画面上で右クリックでメニューを出して プロパティ > スクリーンセーバー、 の「パスワードによる保護」 をチェック。 これで、スクリーンセーバーから復帰するときにパスワードを尋ねてくるようになる。

2005年12月24日

今日の一言: 後悔後をたたず

来年の抱負は「見なかったことにする」に既に決まっているのだが、

§

今度買ったpcは、 2層のDVD書き込みに対応しているはずなので、 早速トライしようと思ったわけだが、 スペックを確認してみると、 スーパーマルチドライブの書き込み対応メディア。

DVD+R DL(Double Layer)x2.4
DVD+R x8
DVD+RW x4
DVD-R x8
DVD-RW x4
DVD-RAM x5
CD-R x24
CD-RW x10

細かいが、2つ誤解していた。 DVD-R 2層には対応していない のと、 DVD-RAMに対応している というあたりが。

今まで使っていたドライブは x4 対応だった。 最近、x2 というメディアは殆どみかけず、 最低でも x4 だから、 メディアを買うときに速度はあまり気にしていなかったのだが、 x4 対応メディアを買ってしまうと、 ドライブが x8 でも x4 の速度しか出ないことになる。

2005年12月23日

pc のセットアップ。

RealPlayer をダウンロード。 相変わらずうっかりすると有料のを買わされるというか、 何かよく分からないがクレジットカードの期限が切れているという画面が出てきて、 「ハァ?」みたいな。 カードの番号はまだ入力していないのである。

インストールした後に、 ユーザー登録画面とか出てきた。 実は昔、RealPlayer を買ったことがあるので、 そのときのIDとパスワードを入れたらログインできました。 まだ生きていたのか、ID。

2005年12月22日

pc のセットアップ。ちまちまやってるとなかなか先に進めないが。

今日のダウンロード。 殆どインストールしていない。ダウンロードしただけ。 vnc-4_1_1_x86_win32.exe (RealVNC)、 UTF-8 TeraTerm Pro with TTSSH2 (Ver 4.25(2005/12/14))、

§

TeraTerm Pro のバージョンが上がっているので、 VAIO Z もバージョンアップした。 手順。

1. teraterm を起動中なら終了しておく。

2. 元のバージョンがインストールされているディレクトリをインストール先に指定して、 上書きインストールする。

3. インストールしたディレクトリに、 TERATERMYYYYMMDD_HHMMSS.INI (YYYY…等は数字) というファイルがある。 これが以前の設定ファイルなので、 TERATERM.INI と比較し、適当に修正する。 多分上書きしても大丈夫だと思う。

という感じで、uninstall せずに単純にインストールしてしまったのだが、 かなりリスキーかも。

§

BX のドライブ、 MATSHITA DVD-RAM UJ-840S を使っている。 Sony がこのドライブを使うというあたり、 時代も変わったものだと思った。

というか、自社製の光学ドライブってないのか?

§

とあるプログラム、 MySQL で動作確認しながら作っていたのだが、 Oracle の動作を確認しろというので、 Oracle 用の設定にした。 動いた。 さすが Hibernate というか、 当たり前だが、 Java のコードは1バイトも変更せずに、そのまま動いた。

ところが、 その後 MySQL の設定に戻したら、プログラムが異様な動作を。 実は、設定を戻したつもりだったのが、 dialect の所だけ Oracle のものが残っていたのだ。 時間を無駄にしてしまった。 というか、 1箇所だけ変更して全て切り替えるようにしないとダメだ。 Spring + Hibernate 連携でそういうことを実現するには、どうすればいいだろう?

2005年12月21日

PC のセットアップの続き。

VAIO Update が見ろというので見てみると、 既に VNG-BX Graphics Driver Ver.8.172.0.0 update なるものが登録されている。 その他にも2つばかり update 対象のモノがあったりして、 発売されたばかりだというのに、 油断できないものだ。 というか、一体何が変わっているのか?

Graphics Driver の件を調べてみると、 DTCP-IP で配信されたデジタルコンテンツを再生開始できない、とか書いてある。 やはり油断はできないものだ。 他には? DVDドライブのファームウェアとか、 ちなみに、アップデートしないとどういうトラブルが発生するかというと、 こんなのだ。

・DVD-ROM を正常に再生できないことがある。

これはかなり豪快な話だと思うが、 他には?

・メモリースティック内の動画ファイルを Windows Media Player で再生していると、 動画が止まってしまったり、ハングアップすることがある。 

あまりメモリースティックの中の動画を再生することもなさそうだが、 まあそういうことなので、 update を行う。 こういうときは、 古いものから実行するのがセオリーなので、 まず、Flash Media Driver Ver 2.0.0.9 の update。 これは単に実行するだけ。 次に DVD スーパーマルチドライブ UJ-840 ファームウェアの update。 これも実行すればいいのだが、 後で気付いたのだが、

アップデート中は、決してキーボード操作および電源切断を行わないでください。

とか書いてあった。 たまたま触らなかったのでよかったが、 恐ろしいことだ。 処理が終わったら、電源を一度切るように指示されるので、 電源をoffにして、再起動する。 ok。

さて、最後に Graphics Driver の update なのだが、 これはかなりストレスがたまる作業だった。 とにかく実行したら何やっているかわからない状態で、長時間待たされるのである。 ハングアップしたのではないかと思っても、 気長に待つ。 1分に1回程度、画面に何か一瞬現れて消えたりするが、気にしない。

3分程度待ったら、再起動するかどうかたずねてくるので、 再起動する。 すると、640x480ドットの解像度で再起動するのでびっくり。

新しいハードウェアの検出ウィザードが表示されるが、 キャンセルする。 続いて、SONY のサイトには、 「VAIO Update」をクリックしろと書いてある。 VAIO Update 2 というメニューもあるので惑わされないようにする。 後は手順通り。

ところで、VAIO BX だが、 画面がちらつくのがちょっと気になる。 特にWindows のペイントの編集領域外を表示している灰色が背景になっている時に顕著だ。 これは、こういうものなのだろうか? 言葉では説明し辛いが、 雪が降っている感じ。

あとは、 フォルダオプションの、 ファイルとフォルダの表示で「すべてのファイルとフォルダを表示する」に設定変更。 「登録されている拡張子は表示しない」のチェックを外す。

キーボードの配列を例によって Dvorak + TRON仮名に変更。

Acrobat Reader 7.0 を update して 7.05 にしようとしたが、 エラー1706とか表示されて、インストールは失敗したので、 今回はここまで。

§

マンション・ホテルの構造設計書偽装問題。 「んな面倒なことしなくても、現場で鉄骨間引けば…」 みたいな話は全然出てこないのだが、 やはりタブーなのでしょうか?

次に大地震があったときに、 意外と話題の物件は全て持ちこたえそうな気がする。 構造がへにゃへにゃな方がアレじゃないかと、 無責任な妄想ですけど。 台風が来て折れるのは硬くて太い木だし。

§

Java でオブジェクトと XML の変換の話題。 標準 API として、XMLEncoder、XMLDecoder、 が用意されているのだが、 実際に使ってみた人はご存知の通り、 これで Encode した XML は、 確かに XML になっているとはいえ、 かなり辛いものがある。 とはいっても、 ObjectOutputStream を生で使うよりは、 XMLEncoder を使った方が安心感は高い。

結局、手で編集するような定義ファイルは Jakarta Commons の Digester とか Betwixt を使って、 現状保存用の読めなくてもいいようなデータは XMLEncoder で、 というような選択か。

§

C: の空き領域が 500MB を切ってしまったので、 これは使わないだろう、というアプリケーションを削除したら、 空き領域が 434MB に減ってしまった。 Windows って奥が深い。

2005年12月20日

ちょっと回復。 ということで、pcのセットアップを再開。

まず、Firefox。 IE使うのは危険ということで、最初にインストールするべきである。 デフォルトはC: にインストールということになっているが、 D: にインストールするように設定を変更してインストール。

インストール後に起動していたら、 Norton が「このプログラムは新しすぎます」と謎の言葉を。 というか意味不明。 誰か説明してくれ。

続いて、cygwin。 Firefox が入っているので、 http://www.google.com を開いて cygwin で検索する。 当然のごとくトップでヒットしたサイトに接続し、 setup.exe をダウンロードして実行。

最初に選んだダウンロード先に接続できなかったが、 それ以外は特に問題ない。

続いてJavaを入れてみる。 http://java.sun.com/ に接続。 英語のページが出るが、 左下の方に「日本語」というリンクがあるので、 クリックすると日本語ページになる。 これをうっかりクリックしないように注意して(クリックすると分かりにくくなるので)、 右サイドバーにある「J2SE 1.4.2 (日本語)」をクリック。 J2SEv1.4.2_10 SDK をダウンロードする。

Firefox ってダウンロードするときに保存先を指定できないのだっけ? オプションで指定するようになっているようだ。 ということで、 D:download をダウンロード先に指定。 C: は容量的にあまり消費したくないので、 できるだけD: で作業するわけだ。

そういえば、リカバリディスクを作っていなかったことに気付く。 作成方法が分からない。 ということで、マニュアルを見たら、後ろの方に出ていた。

リカバリディスク作成に必要なもの(DVDスーパーマルチドライブ(DVD+R2層記録対応)モデルまたはCD-RW/DVDドライブモデル以外をお使いの場合)

意味が分からなくて3年ほど悩む。

要するに、 DVDかCDに書き込めるモデルでないと外部ドライブが必要だ、 という意味らしい。 とりあえず私のはDVDスーパーマルチドライブという凄い名前のドライブを付けているはずなので、心配なさそうだ。

関係ないけど、スーパー芸人という言葉があるらしい。 スーパーの前にある展示場とかの演技がメインの芸人だとか。

で、まず、VAIO リカバリーユーティリティというのを起動しろと書いてある。 マニュアルにはメインメニュー画面が表示されると書いてあるのだが…。

電源を接続しろというメッセージがでて、 処理を拒絶される。 だったら最初から「AC電源を繋げ」とマニュアルに書いておけよ…と思いつつ、 もしかしたら書いてあったのに見落としたかもしれない、 ということで、もう一度ゆっくり読んでみるが、 やはり書いてない

ということで、 この作業は後回しにして、Java のインストールを続行することにした。

§

とりあえず、すぐに思いつく、 インストールしなければならないソフトを。 なお、コピーで済むものはここには含めていない。 例えば Eclipse とか、Java 関連の jar ファイルとか。

LHaca、VNC client、UTF-8 TeraTerm、NTT DoCoMo Wireless Utility、Edy、 Yamaha シンセサイザー関連、CANON プリンタ関連、 Ethereal、 WinSCP3、ImageMagick、Apache、Tomcat、MySQL

Adobe Acrobat もインストールしたいのだが、 ライセンスの問題があるはずなので、先のpcからアンインストールする必要がある。

.NET SDK は今回はインストールしない予定。 半年以上使っていないので。

Jong Plugged はどうしようかなぁ?

§

前の職場の話なのだが、 毎週一度、ハードディスクの全ファイルに対してウィルススキャンを実行するような設定になっていた。 考えてみると、これがなぜ必要なのか分からない。

もちろん、安全のためといえば、無意味であるとは言わないが、 そもそも、ウィルスチェックのソフトウェアが常駐しているのだから、 そこにウィルスが感染する余地がないはずだ。 これがまず第一点。 もう一つは、 スキャンするファイルの殆どは、先週スキャンした状態と同じなのである。 そういうファイルをスキャンする意味はあるのだろうか?

例えばその週に更新されたファイルだけスキャンすれば、 スキャンの対象ファイルを、 数十万ファイルから数千ファイル程度に低減できるのである。 スキャンに必要な時間も、200~300分から、2~3分に短縮できたのではないだろうか。 いや、もしかして、対象ファイルかどうかを判定しなければならないのだから、 同じことなのだろうか。

ちなみに、その検査の結末だが、 確か、誤検出が発生して半日パーにしたことが1度あったが、 それ以外にコンピュータウィルスが検出されたことはなかった。

§

「裏ご意見番」に書こうとしているネタなのだが、 プログラミング環境はどういう状態が効率的かという話。 有名な例だが、 音楽を聴きながら開発するのと、 無音の状態で開発するのとを比較したテストがあって、 無音の方が効率が高いという結果が出ていたと思う。

それはとりあえず納得できるとして、 私が知りたいのは、 音楽を聴きながら開発するのと、 サポートチームが電話対応している現場で開発するとか、 隣で .NET と J2EE のどちらを選択すべきか議論しているのを無視しながら開発するのとか、 新入りの営業が叱咤されているのを聞きながら開発するとか、 そういう実際にある場合の比較結果だ。

§

地獄少女 ってなぜ夕方に放送するのかと思ったら、 なかよし増刊号連載なんですね。 びっくりした。

午前0時にだけ通信できるサイト、 というのは割と簡単にできそうなので、 作ってみようか。

§

Web ページをプログラムで自動処理するときの口伝。 「空白を \s+ でマッチさせてはいかん。」

U「なぜでつか?」

ふ「  という恐ろしいものがあるからじゃ。 マジで恐ろしいぞ。 あと全角スペースというありふれた罠もあるのじゃ。」

U「ひぇ~」

§

19日、礼文島の灯台がなくなったという連絡があったそうだ。 波にさらわれたという説が有力らしい。

構造設計書とかあるのだろうか。

2005年12月19日

風邪ぽなので早退。 熱と下痢。 まあとりあえず寝るしかない。

電車で中学生か高校生が結構多かったと思うのだが、 試験の時期なのだろうか?

2005年12月18日

新しいパソコンの setup。

とりあえず電源入れたらいつもの Windows 設定画面が出るので、 適当に、いや、適切に入力して起動。 XPプリインストールなので何度かやったことがあるし、 特に問題ないのだが、 そういえば、インストールディスクとか見当たらない。 自分で作成するらしいのだが、これは後回しに。

このpcは指紋認証機能があるので、 指紋の登録を行う。 結構コツがいるようだ。 Windows のパスワードもここで設定。

Norton の何か入っているので更新しておく。

Windows Update を実行。

VAIO のカスタマー登録を行う。 登録の手順の途中で、 こんな画面が。

ご登録いただくためにプログラムにより自動的に機種情報を取得いたします。

なるほど。 しかし、 2005年8月以前のモデル(タイプ1)と9月以降のモデル(タイプ2)で、 登録方法が違うというのだが、 どういう理由でこういうややこしいことになったのか分からない。 タイプ2は、 一覧を見て型名を確認してから登録しろというのだが、 自動的に機種情報を取得する前に型名を確認しろというのは何かおかしいような気もするが、 とりあえず、最新のモデルのはずだから、 タイプ2だろと思いつつ、 一覧をみる。

VGN-BX90PS1~PS6 というモデルが一覧にあるのだが、 手元のpcには「VGN-BX90PS」としか書いてない。

裏モデル?

ちなみに、ご購入明細書というのには、 「VGN-BX90PS_1」と書いてあって、「PS1」ではない。

しかも、一覧にない機種はタイプ1モデルとして登録しろというのだが、 無視してタイプ2で登録する。 別に問題ないような気がする。

2005年12月17日

電車で寝過ごして次の駅まで行ってしまった。 パターンとしては、 降りる駅で「ハッ」として気付いて間に合わないという感じなのだが、 降りる前のアナウンスで気付かずに、 駅に着いてから気付くというのはなぜだろう?

§

しかも道に迷ったりする。

§

        URL rules = getClass().getResource(getRulename());

の所で設定ファイルが読み込めていないようなのだが、 これは一体どこから読もうとしているのだろうか? class が置いてある場所に設定ファイルがあるのだが、 違うところを見に行っているような気がする。

§

新しいpcが届く。 そう簡単には setup できないだろうから、 すぐに使うという訳にはいかないかもしれないが、 年内には移行したいものだ。

2005年12月16日

ROI という言葉が最近よく出てくる。 流行語かもしれない。 ROI (return on investment) とは、 日本語では投資収益率と呼ばれている。 何かするときに、 大金を投入しても、それ以上のreturnがあれば、 トータルとしては儲かる。 逆に、殆どコストがかからないことでも、 それに対して利益が発生しないと意味がない。

厳密な計算式とかはおいといて、 最近、ソフト開発とかプログラミングとかに ROI を気にする人が増えてきたのではないかと思う。 この場合の ROI は、 単に利益を意味するだけではなく、 どの程度のコストをかけたらソフトウェアが開発できるとか、 そのソフトウェアが将来に渡ってどの程度の return を生むか、という話になる。

つまり、1か月かけて何かソフトウェアを作ったとして、 1人月100万円で換算したら、そのために100万円払ったも同然、 と、かなり暴論だが、そういう考え方ができるのだ。 このソフトウェアがその後、 あらゆる意味において、トータル100万円以上の価値を生み出せば、 作って損はなかった、ということになる。

企業の場合は、さらに重要なのがコスト管理である。 そのソフトウェアを作るのに本当に1人月かかるのか、というあたりから留意しなければならない。 もし、作成したソフトウェアと同じ機能を持つ市販パッケージが50万円で買えるなら、 return が 50 万円減ったことになる。 つまり、損したわけだ。

ここで話が飛ぶのだが、 昔、子供の頃の話だ。 林間学校でお寺に宿泊ということになって、 当然、お坊様がお話をするわけで、 そのときの話は米一粒も残さずに食べましょう、というものだった。

確か禅で有名な話だったと思うが、 ある修行僧が1か月か何だか修行したときに、 当然、米の一粒も残さずに食べるわけである。 ある日、箸の先を見ると、米が一粒入り込んでいた。 竹の箸で、先にそういう空間があったというのだが、 そういう箸を使うこと自体、修行が足りないというオチなのか、もしかして。 いや、今思っただけなのだが。

ということで、ともかく、 この修行僧は修行が足りないことを反省して一からやり直す羽目になったわけだが、 それはそれでいい経験である。 問題は「一粒も残さずに食べろ」ということだ。

まず技術的な問題を考えてみる。 実際、ご飯を一粒も残さずに食べるというのは、 礼儀としては正しいというか、 お行儀がいいことになっているはずだ。 私なんかも、ご飯は残さずに食べろとしつけられた方で、 嫌いなものだろうが、全部食べるまで次の行動に移らせてもらえなかった。 全部食べるというのはクリティカルパスなのだ。

場合によってはそれは簡単なことなのだが、 一粒も残さずに食べるのが結構面倒なことがある。 例えばチャーハン。 れんげだけで一粒も残さずに食べようとすると、 結構苦労する…というのは私だけか? もちろん、裏技もマスターしている。 こっそり手を使うのだ。

いろいろなバリエーションがあると思うが、 出されたものを一切れ残さず食べる、というのは、 一般論として、雑に食べるよりはコストがかかるのである。 そこでいきなり ROI の話なのだ。 もし1粒の米を食べるために必要なコストが、 1粒の米を食べたことによるエネルギー補充というコストを上回るとしたら、 それは本当に食べた方がいいのか?

極端な話かもしれないが、 1粒の米を食べるためにものすごく疲れてしまった、 みたいな場合、食べない方が ROI 的には優れた選択ではないのか、ということだ。

もっと大雑把な話をすると、 途中までメシを食べたが、どうも残りは食えない。 残すという選択肢はあるはずだが、 それはマナーというか、礼儀としてよくないので無理して食べたとする。 林間学校でも「残さず食べろ」と言われるわけで、 まあ食べるしかない。 残したら米を作った人に失礼だ、 などと理由を追加されたら、なおさら食べないといけないような気持ちになる。

食べずに止めておけばいいものを、 体調が悪いのに無理に全部食べたりすると、 消化不良を起こすこともある。 場合によっては、体調がよくないときにだけ出る蕁麻疹とか、 そういうこともあるかもしれない。 適切な量を食べるというのは重要で、 もちろん「盛り付けが悪かった」という解釈もあるだろうが、 ここで気になるのは、米を作った人の気持ちである。 作った人的には、 やはり、体調を壊そうが何があろうが全部食べないと失礼だ、 ということになるのだろうか? それとも、生産した米とか農作物に対して、 最高のROIが得られるような食べ方をした方が、 礼儀にかなっている、というような考え方もあるのだろうか?

§

キーボードの配列をちょっと変更してみた。 今まで、ESC と「半角/全角」を入れ替えていたのだが、 ESC を押すと「変換」、 「変換」を押すと「半角/全角」、 「半角/全角」を押すと ESC、 が押されたことになるようにローテートしたのだ。

これは要するに先日買った外付けキーボードに対応するための措置である。 変更前は、右Altキーが「全角/半角」に割り当ててあった。 これは私が日本語入力する場合にかなり快適な配置だったが、 「変換」キーを殆ど使っていないことに気付いて、 さらに、新しくgetしたキーボードの場合、 「変換」キーがかなり押しやすい位置にあることから、 そのように主義を変更したわけである。

ちなみに「変換」キーをそのまま使っても、 英数からかな入力に自動的に切り替えるのはできるのだが、 その逆ができない。

§

SHIBUYA TSUTAYA から今日・明日限りの半額クーポンという連絡があった。 借りにいけるかどうか。

2005年12月15日

歯医者に行きました。 その後、久しぶりにカルビクッパを食べた。 最近、カルビクッパを食べる機会がなかったわけだ。

§

axis の件、 どうしても動かないということで、 試しに全く同じ環境(のつもりだ)を、 VAIO Z に構築して動かしてみたら、 何の問題もなくサクッと動いた わけで、どっとわらい。

ということで、 Java2WSDL も、 WSDL2Java も、 きっちり動作しているのだが、 面妖なファイルが自動生成されている。 いや、おかしなモノであるということではなく、 私の勉強が足りないというか…。

§

Java の話。 と書いておいて、いきなり一般論なのだが、 メソッドとか命名するときに、きっちり対応しろ、という規則があります。

例えば、begin と end、 start と stop、みたいな。

で、ここからが問題なのですが、 java.util.regex.Matcher のメソッドに、 start と end というものがありますが、 これは対応が取れていないのではなくて、 「対応していない概念に対するメソッドがたまたま存在している」 と解釈すべきなのですよね?

§

CVS でコミットしたときにサーバー側で指定した外部プログラムを実行する、 というのはどうすればよいのだろうか?

2005年12月14日

私用につき早退。 かなり疲れた。 疲れたから早退したのではなくて、 早退した後の私用に疲れたのだが、 まあ誤差の範囲内ということで。

§

結局、ノートパソコンは買うことに。 何か買わないとやってられないというか、 モチベーションをナニするために買ってしまったような気がするのだが、 ほりもと氏ではないですが、 ええ、VAIO ですとも。 Type BX とかいうアレだ。 リンク張ろうかと思ったけどアフィリエイト拒絶されたし意欲が出ないし 探すの面倒なのでヤメ。

DELL からはアフィリエイトを承認していただけたので、 とりあえずトップページの右下の方にリンクを張ってみた。 ちなみに、このあたりのバナー、 殆ど誰もクリックしないし、 売れもしない。 もっときっちり、 Mouse Computer のナニに Fedora を入れて uraura Search が動いているとか、 Dell の pc でらんだむCGリンクの servlet をどうやって動かしたとか、 そっちの話を書きたいのだが、 何か時間が最近ないというか、 微妙な忙しさである。

§

Apache axis の Java2WSDL を使おうとしたら、 どうも意味の分からないエラーが発生してハマる。 前日のアレだけど、 普通に abstract とか base とか使えば表現できそうな気がしてしょうがないので、 Java2WSDL だとどんな定義ファイルが生成されるのか、 というのが気になったわけだが、 そもそも動かない罠。

2005年12月13日

WSDL で抽象クラスを表現するあたりでハマる。

§

Apache axis なのだが、 日本語サイト でリファレンスガイドとか日本語化されているのはありがたいと思うが、 PDF の表示できます?

例えば、 http://ws.apache.org/axis/ja/java/index.pdf とか、 こちらで表示しようとすると殆ど全部 ##### みたいになって、 訳が分からないのだが。

§

ガラスの仮面、 二人の王女だっけ、 素朴な疑問なのだが、 あのお芝居は面白いのだろうか?

いくら天才役者がやっているといっても、 ストーリーがナニだとお客は入らないような気がするのだが。

§

JSF とか、Spring、 セッション管理ってどうなっていましたっけ?

2005年12月12日

ハッピークリスマスとかいう spam が来ているのだが、 ハッピーニューイヤーでもなくメリークリスマスでもないというのはさておき、 その中に書いてあった、

完全永久無料

というのを見て、 TAKASHIMAYA CARD を思い出してしまうのは私だけですか?

§

塾講師による小学生殺人事件。 包丁を用意して人気のない部屋にカギをかけて閉じ込めてから 「カッとしてやった」 というのは意味が分からないが、 こういうことを想定していないという人が結構いそうな雰囲気に驚いた。 先生が聖職だったのは昔の話だと思っていたのだが。

こういう事件を防ぐためにも、 学校・塾などの全教室にライブカメラを付けるべきだと思う。 監視カメラというと何かいや~んな感じなので、ライブカメラ。

何か恐るべき実態が発覚しそうな気もするが。

§

キーボードを仕事場に持っていくのをつい忘れてしまう。 朝はどうも忙しいというか、 ハッ、と気付いたら六本木の駅だった、みたいな。

2005年12月11日

そういえば先日、 女子高生らしき人達が電車に乗り込んだときにお見合い状態になって、 座れなかった、という事件(?)があったのだが、 それはそうとして、 最後の駅に着くまでブチブチ言ってたのは割とちょー面白かった。 というか、あそこで一瞬たりともモーションを止めてはいけない。 座るのなら躊躇なく座るのがコツなのだ。

§

キレる人というのは普通にいるわけですが、 心理学的には、なぜキレるということになっているのでしたっけ?

大声出すとか、 普段とは違う精神状態になることで、 快感を得るとか、ストレスを発散するとか、そっち系の説明なのだろうか。 それとも、思った通りの結果が得られないことから試行錯誤系のアクションが混乱してパニックになる?

§

Dell からアフィリエイトを承認するというご返事をいただいた。 提携申し込みしていたのを忘れていたというか、 結構時間がかかったのだが、 まさか本当に全部読んでから承認、なんてことはないですよね。 と、少々びびっているというか、 これから HP の pc キター、という内容を書くのにちょっとプレッシャーが。

§

LaQ の年齢の件だが、 今日は池袋の東武デパートに行ってきたので、確認することができた。 ちなみに、 池袋の東武、 おもちゃコーナーではなくて、 旭屋書店の方に LaQ が置いてあるので注意。 要するに、こんな感じ。

日本語の表記は、 誤飲のおそれがあるので3歳以下のお子様には与えないように、 のようなことが書いてあったと思う。

日本語による対象年齢表記は3歳以上である。

英語(?)による対象年齢表記は5+である。

§

pcで作っているプログラムのソースがそろそろややこしくなってきたので、 pc にCVSNT を入れて管理しようと試みる。 何がかんだ言って、まだローカル pc 上では cvs すら使っていなかったのだ。

2005年12月10日

お歳暮も何とか処理できて、 クリスマスプレゼントとか考えないといけない時期になってきたのだが、 子供がいる家庭に贈ったらどうだろ、と思っているのがこれ。

もキュー【謎】じゃなくて、 LaQ (ラキュー)という。 ホームページ があるので、 詳しいことはそちらを見た方がいいかもしれないが、 Amazon の評が面白いと思った。

私は実際にレゴも使ったことがあるし、 LaQも知っているので、比較してみるなら、 強引な比喩をあえてしてみると、 レゴはドット絵を描くような感じだとすると、 LaQは3Dポリゴンを作るような感じ。 レゴの場合、とりあえず方向がかなり制限されてしまうが、 単純に積み上げて作ることはできる。 LaQは、計画性なく作っていくと、微妙に繋がらないようなことになったりする。 逆に、パターンにハマると、壮大なタペストリのような作品ができることもあって面白い。 他の人が評しているように、プチプチ感も重要。

誤飲という話が評に出てくるのだが、 連結するときに少し力がいるので、 あまり小さいお子様だと、遊べないかもしれない。 パッケージには3歳以上と書いてあったような気がする(未確認)。

LaQだが、デパートで探したけど置いてなかったりするので、 実際に見て買うのなら、 あらかじめ、公式サイトで取り扱い店を調べてから行った方がいいかも。 とりあえず、個人的に気になっているのはパステルカラーのこれ。

このほかにも、いろいろラインナップがあって、 5000ピースなんてのもあるが、 誰が買うのか謎。 というかそんなにあると何ができるのか想像できません。

§

chat で話題になっていたので、 こっちもリンクはっておこう。 買う人もそういないと思うけど、 「女王陛下のプティアンジェ」 DVDボックス、\30,450。

自分的にはプティアンジェというと、 当然のごとく吾妻ひでおにリンクするのだけど、 「完全なるプティアンジェ」とか、伝説なんだろうか。 思わずごろごろしてしまう人は、どれ位いるのだろうか。

§

mysqld のとめかた。

mysqladmin -u root -p shutdown

-shutdown とか、--shutdown としてしまうのは私だけ?

2005年12月9日

今日の一言

吉もなく不吉もなく

§

裏裏にも書いたが、 SonyStyle で買い物をしようとしたら、 Firefox で先にどうにも進めなくなってしまった。 Elio 決済は Firefox では不可能のような気がする。 しかも、ログアウトしてやり直したら、 キャンセルされているはずのバスケットの中身がそのまま残っているし。

みたいなことを書くからアフィリエイト拒絶されるってことかですか、 もしかして。

§

耐震強度偽装問題ですが、 あくまで一般論ですけど、 こういう事件が出てきたときに、 まず真っ先に強度をチェックするターゲットというのは、 原発であるとか、 地下鉄であるとか、 高速道路であるとか、 歩道橋だとか、 その他、もろもろの公共性の高い施設ではないかと思うのだが、 何でホテルとかマンションばかり不安視しているのだろう?

というか、高速道路って何で補強工事やりまくっているのだっけ?

もう一つバカなことを書いてしまうかもしれないのだが、 鉄骨の量を常識の半分にしても実は強い、 みたいな建物を作ることは理論的に可能なのだろうか?

§

前回の更新で、 ミラーサイト側の更新がうまくいかなかったらしい。

bin
prompt
verbose
put ./INDEX.HTM /homepage/index.htm
put ./site/hints/java.html /homepage/site/hints/java.html
put ./site/index.html /homepage/site/index.html
quit

>ftp -n  0<ftp.tmp
Connection closed by remote host.
Not connected.
Not connected.
Interactive mode Off .
Verbose mode On .
Not connected.
Not connected.
Not connected.

朝になってから気付いたのだが、 Not connected のときには警告出すとか、 そういう仕組みが欲しい。

ちなみに、再度実行したら成功したので、 ftp サーバー側のトラブル?

>ftp -n  0<ftp.tmp
Interactive mode Off .
Verbose mode On .
200 PORT command successful
150 Opening BINARY mode data connection for /homepage/index.htm
226 Transfer complete.
ftp: 11333 bytes sent in 0.04Seconds 283.32Kbytes/sec.
200 PORT command successful
150 Opening BINARY mode data connection for /homepage/site/hints/java.html
226 Transfer complete.
ftp: 40513 bytes sent in 0.02Seconds 2025.65Kbytes/sec.
200 PORT command successful
150 Opening BINARY mode data connection for /homepage/site/index.html
226 Transfer complete.
ftp: 32561 bytes sent in 0.02Seconds 1628.05Kbytes/sec.
221 Goodbye.

しかし凄い転送速度が出てますよね、 驚きましたよ私は。 実際にページを確認してみましたが、ちゃんと転送されている。 なお、ミラーサイト、将来廃止という案ですが、 とりあえずこの種の面倒なこともあるのなら、 そろそろ切ってしまおうかなと。

あーちなみに、 Air H" の 32kbps で転送しました、念のため。

ここからマジ話です。 誰か原因を教えてください。 例えば、 ftpサーバー側のキャッシュによって処理時刻を間違っているとか、 そういう問題ですか?

2005年12月8日

いろいろハマってますが、まあ何とかなりつつある。

§

TIOBE Software - The Coding Standards Company

§

駅に着いたら電車が来ていた。 かなり疲れているような気がしたので、 1本待って座っていこうと思った。 この電車、たいてい数席の空席があって、 最初に乗ったら高確率で座ることができる。 あとの30分程度が生きるか死ぬかの瀬戸際なので、 5分程度待って次の電車に乗るというのはリーズナブルな選択なのだ。

次の電車は満席だった。 さらに1本待つことに…。 こういうことは珍しいのである。

§

mixi の方で、 ITmedia の「Perlに脆弱性? 懸念高まる」という記事に関してのスレッドがあるのだが、 「脆弱性?」って何だ、というか、 「深刻な脆弱性が存在する可能性がある」という曖昧この上ない表現は何といいますか、 東スポだったら 「Perlに脆弱性
か?」 となるところですか?

というか、これどう考えても「Perlの脆弱性」じゃなくて 「Perlを使って動作するプログラム(スクリプト)の脆弱性」だと思うのだが。 それ言うのなら getc が使える C などは脆弱性のある言語ということになる。 いや、それはその通りか。

で、その脆弱性にどう対応しろと言ってるのかといいますと、 データをサニタイズするべきだ、というのだ。

ハァ(゚Д゚)?

というか、 ユーザーから受け取ったデータをサニタイズするとかエスケープするというのは常識的な話で、 「するべき」じゃなくて「絶対にしなければならない」の間違いじゃないかと思うのだが、 まあ確かに世間的にはそういうことも知らない素人が書いたプログラムも多数あるのは事実だし、 そういうことは知っていて当然なのにプロがそういうのを書いてあまつさえ商用に使っていたりするのも事実だ。 さらに、 「perl だからね」ということで安直なスクリプトを書いてしまうことも事実であって、 実際昨日もそういうの書いたし…。 とはいっても、だから perl から文字列フォーマットのナニを除去したバージョンを…とかいう話には流石にならないと思うが、

まあどうでもいいけど、 「脆弱性がある可能性がある」じゃなくて、 あるのかないのかハッキリして欲しいものだ。 ごまかしたいのなら、。 「脆弱性がない可能性があるとも言いがたい」程度分かりにくくしてしまったら角も立たないと思う。

§

今日の一言

脆弱性: IE を使っている人には理解できない概念。というか Windows が、いやいやパソコンというのがそもそも…。

2005年12月7日

mysqld がコマンドラインから起動しない。 現象としては、 mysqld を実行したら瞬時に戻ってきてしまう。 正常に起動したら、起動したままで、 そのまま戻ってこないはず。

どうもデータが壊れているらしいということで、 次の手順で現状打破を試みた。

mysql を uninstallする。 サービスとして登録してある場合は、 mysqld --remove でサービスから抹消しておく。

MySQL をインストールしてあるディレクトリの内容を削除する。 あるいは data というフォルダを data.old のような名前に変更して、 my.ini を削除する。

MySQL をインストールし直す。

これで起動した! しかし、データが表面的には全部消滅した罠。 いや、データそのものは残っているわけだが…。 テスト用のゴミデータしか入っていないので、 どうでもいいといえばそうなのだが、いまいち面白くない結果である。

さて、インストールし直したというか、 4.1 を入れたために、 例の日本語の文字化けが発生してとんでもないことに。 Web で探しまくったが、要するに、こういう解決方法があるようだ。 (というか、挫折しているページが多かったような気がするが?)

1. mysqld は utf8 のオプションをつけまくる。 例えばこう。

mysqld --set-variable=character_set_server=utf8 --set-variable=character_set_client=utf8 --character-set-server=utf8

my.ini に何か書けばいいのかもしれないが、 実際やってみたら全然訳が分からんので、 結局コマンドラインから前述のようにして起動した。

2. create table を実行するときに、 DEFAULT CHARACTER SET = utf8 を指定する。

3. jdbc は例によってこのように指定する。

jdbc:mysql://localhost/practice?useUnicode=true&characterEncoding=utf8

ここで問題は2.で、 create table を hibernate tools に任せているので、 如何ともしがたい。 結局、表示されているスキーマを編集してもう一度 create table を実行した。

§

Hints の Hibernate がどうにもまとまらないが、memo に少し追加。 Tips:Java には上記の問題を追加。 Hints と Tips の違いが自分でも区別できていない。

2005年12月6日

mysql> create database hoge
    -> ;
Query OK, 1 row affected (0.00 sec)

私だけですか、そうですか。

§

ガラスのビンがあって、 ビンの口の大きさが、ぎりぎりピンポン玉が通らない程度である。 こんなのどうしても入らないと思っていたら、 ゴンと叩いたら中に入ってしまった。 ピンポン玉が。

さて、ここからが問題なのですが、 このピンポン玉を、ビンを割らずに取り出すにはどうすればいい?

一案として、ビンに半分位ビールを入れて、 さかさまにして振りまくれば飛び出てくるのではないかと思うのだが、 怖くてというか、ビールがもったいないのでまだ実験していない。

2005年12月5日

裏裏で紹介した、 I''s なのだ。 12月9日発売予定のDVD。 今なら初回限定版で予約できるらしい。 買うかどうかまだ迷い中。 作品は、 言わずと知れた 桂正和氏のラブコメ。 と一般的にはいわれているようだが、 私のイメージしているラブコメの基準から判断すると、 かなりシリアスだと思う。

「アイズ」と書けばいいのかもしれないが、 作品タイトルをどう表記するのが正しいのか謎。 桂正和公式サイト に 「I''s」と書いてあったので、 とりあえずそれに合わせた。 Amazon では「I"s」になっている。 いずれにしても、 検索エンジン泣かせというか、 検索困難な名称である。

コミックは結構長編なのだ。

§

Firefox。 今まで他のアプリで「新規ウィンドウで開く」を実行したときに、 新規ウィンドウではなく、一番前に出ていたウィンドウでページを開いてしまったのだが、 1.5 に version up したら、 やはり一番前のウィンドウに表示するのだが、 新規タブを作成してそこに表示するようになっていた。

§

Hibernate + MySQL でぐちゃぐちゃになっていた件、 さらに問題が解決。 あるマシンで動いているのに他のマシンで動かなかったのだが、 結論だけ書くと、MySQL のバージョンを新しくしたら動いた。

↑ これのテストのために、1つのpcに2つMySQL を起動したのだが、 起動はこんなのでok。

mysqld --port=3307

これのコントロールはこんな感じなのだが。

mysql --port=3307 -u hoge -p

それをこう間違えた罠。

mysql -port=3307 -u hoge -p

かなり悩ましい結果が出るのだが、なかなか気が付かない。

§

Eclipse の profiler だが、 Eclipse Profiler Plugin というそのものズバリのナニを使ってみたら動かない。 こんなエラーが出る。

Plug-In ru.nlmk.eclipse.plugins.profiler was unable to load class ru.nlmk.eclipse.plugins.profiler.launch.profilerLaunchConfigurationDelegete.

Launching

意味が分からんというか、 とりあえず、 http://catgufu.mit.edu/bonawitz/eclipse/ にあった profiler_0.5.33+CVS-Eclipse3.1.zip を使えば動作した。 謎。

2005年12月4日

また FireFox【違】と書いとるぞというご指摘を頂いたので後で確認してみたら確かにそうだ。 そちらのブログには書いたが、 これだけ注意していて間違えるというのは、 もはや誰か別の人格が思想操作しているとしか思えない。 ということで、 コンテンツマネージメントシステムに検出機能を組み込んでみた。

というか、 Firefox はいつから 1.5 になりましたか?

JDK 5.0 も update 6 が出ていたし、 update しないといけない。 最近、update 作業が多いような気がする。

§

Saku Saku の「すれちがい通信企画」が今日なのだが、 DS持ってない罠。

§

お歳暮買いに新宿の高島屋に行った。 いつも高島屋で、 こうなると単に前回贈ったものとか、 贈り先の住所とかプリントしてリストを送ってくれるとか、 BtoC の戦略にハメられているような気はするのだが、 それにしてもなぜ新宿まで出かけないといけないか、 というか、 ネットで処理できませんか、 という疑問があるかもしれないが、 実はいつも贈っているものが、インターネットショップの一覧には出てこないのである。 それさえ解決すれば、ネットから注文して完了、 という実に便利な世界を満喫できるわけだが。

帰りにシールを買った。 200円程度の買い物をカードで済ませる方も何だが、 それでもサインが必要というのは何とかしてほしい。 食品売り場ではできるのだから、不可能ではないと思うのだが。

§

2005年12月3日

今日から TSUTAYA 半額キャンペーン開始、 なんだけど、いけるかどうか…。

§

風邪か寝不足かよく分からんのだが、 ヘロヘロ状態でどうなることか思ったが、 寝たら何とかなったので寝不足率が高かったのだろう。

§

頭いたいような。

§

薬飲んで寝たら復活したので、 予定通りオフィスの引越し作業に。 とはいっても、力仕事ではなくて、 サーバーを停止して、移動して、再起動、ということ。

意外と苦労したのが LAN ケーブル。 CAT6 は分かるのだが、 CAT 5E って何だっけ? 1000base-T で使えるのかどうか、 ケーブルを見ないで確認する方法ってありましたっけ?

結局、apache が1台起動しなかっただけで、 それ以外は問題なし。 おおむねサーバー移動は完了したが、 この後、ネットワークのトポロジーをかなり変更する作業が必要で、 さらに、 DNS を立ち上げるとか、 nntp に接続するとか、 そちらの変更も必要。 サブドメイン追加するという話もあったかも。

2005年12月2日

3日、4日は TSUTAYA のレンタルが半額というキャンペーン。 このキャンペーンがあるというメールが携帯電話の方に来たので、 設定した着メロを初めて聴くことができた。

ということで、ここに TSUTAYA のバナーを張りたいのだが、 それがなかなか難しいのである。

§

IE で表示すると pre の中がひたすら横に長くなってしまうのだが、 なぜか分かりません。 Firefox で表示すれば問題ないので修正するためのモチベーションがあがりません。 というか、どう修正すればうまく表示できるのか調べるのに5~6年かかりそうなので、 老後の楽しみにとっておく予定です。

Firefox で見たことないという人は、 ここからダウンロードすれば吉。 Firefox って何がいいの、とか言われるのですが、要するに IE の脆弱性がない というところに尽きるというのが自論だとかいう。

Firefox Central

ちなみに、 別に IE で表示させたくないという話ではないので、 やり方が分かればすぐにでも修正したいのですが、 まあ脚色なしで説明するなら、その修正のために何日か頑張ったができなかったというだけの話。 どうしても IE で見たいという人は、 ウィンドウのサイズを横1400ドット程度にして文字サイズを中~小にすればスクロールさせずに見ることができそうな気がする。

Note

Firefox で表示できなくていいのなら簡単らしいが、 そーゆー戦略は当然なにげに却下。

まあそういうのも何なので、 とりあえず一番長そうな jdbc のあたりを 問題のないところで改行してみた。 これだと何とかなります?

§

MySQL の件は、 要約しますと、 table A と table B が foreign key でナニしていて、 しかもこれがテストの時の名残で table A と table C が foreign key がナニしている状態で、 このまま test case を走らせると、 table A と B と C がナニして foreign key constraint fails という結果になった、という話。

table C を抹消して解決。 もっとも、これが Hibernate tools とか使っていたのでややこしくて、 …/src/hoge.hbm.xml だけでなく、 …/class/hoge.hbm.xml でしたっけ、コピーしたのを消すのを忘れていてハマーリ。

2005年12月1日

Hibernate + MySQL。 こんなエラーが。

警告: SQL Error: 1064, SQLState: 42000
2005/12/01 15:41:14 org.hibernate.util.JDBCExceptionReporter logExceptions
致命的: You have an error in your SQL syntax.  Check the manual that corresponds
 to your MySQL server version for the right syntax to use near ''圭', 13942)'
 at line 1

こりゃ何かの間違いというか、漢字コードが問題らしい。 ということで、 hibernate.cfg.xml を確認してみると、 こうなっていた。

  <property name="hibernate.connection.url">
    jdbc:mysql://localhost/practice?useUnicode=true&amp;characterEncoding=Shift_JIS
  </property>

ということで、 次のように修正してみる。

  <property name="hibernate.connection.url">
    jdbc:mysql://localhost/practice?useUnicode=true&amp;characterEncoding=cp932
  </property>

ところが世の中甘くない。

org.hibernate.exception.GenericJDBCException: Cannot open connection
    at org.hibernate.exception.SQLStateConverter.handledNonSpecificException
(SQLStateConverter.java:91)
  ~(略)~

何事だろう、と思って MySQL のバージョンを確認したら、 4.0.20a って何ですの? 新しいのをインストールし直してみる。

2005/12/01 16:46:14 org.hibernate.util.JDBCExceptionReporter logExceptions
警告: SQL Error: 1452, SQLState: 23000
2005/12/01 16:46:14 org.hibernate.util.JDBCExceptionReporter logExceptions
致命的: Cannot add or update a child row: a foreign key constraint fails
 (`practice/kvbase`, CONSTRAINT `FKBD4366BCCA3B36A224201C20` FOREIGN KEY
 (`siteid`) REFERENCES `siteinfo` (`id`))
2005/12/01 16:46:14 org.hibernate.event.def.AbstractFlushingEventListener
 performExecutions

どんどん深みにはまっていくやうだ。