今日で外注先の仕事終了。 引き継ぎなどする。 今まで開発に使用していた PC もレンタルのため返却してしまうので、 別のPCに今まで開発したプログラムと環境を移植する。 しかし使用していたミドルウェアのバージョンがあわなかったりといささか苦労する。 とくに某データベースの JDBC ドライバが見当たらなかったのは致命的。 とりあえず動作しているPCから、 バージョン違いのデータベース用のJDBCドライバをコピーしてみた。 なんとなく動作しているようにみえた。 だめならば JDBC-ODBC ブリッジに交換するしかないか。
さてようやく定時を過ぎて荷物を本社に移動。 少しずつ持ってきた書籍などが大量にあったので、 小さな段ボールに入れて三往復も歩いた。 21時前に退場。
さて今日から新しい期が始まる。 上司に仕事をくれというとないという。 まあ、確かに突然仕事を切られたようなもんだから当たり前か。 仕事見つかるまでは何もすることがない。 しかし火を吹いている作業の応援だけは避けたい。
しばらく使っていなかったPCの環境を整備する。 PC環境といっても Cygwin とか Meadow とか。 Meadowをネットインストールしたら、 Cygwin のツールや Mew などの非標準パッケージもインストールされるのにびっくり。
emacs.el
をバイトコンパイルすると、
警告メッセージがズラズラと出てきた。
その一つは関数がオブソレートになっているというもの。
動いているんだからいいという気もするけど、
暇にあかせて手直しする。
引っかかっていたのは sref
関数。
配列の指定されたインデックスの要素を返す。
aref
関数に置き変わった様子。
subr から built-in になったようだ。
しかし漢字を含む文字列を指定するとやはり警告がうるさい。
文字列の内部表現が変わったのだろうか。
そこで文字列を配列かリストに変換する関数はないのかと apropos してみると、
string-to-list
, string-to-vector
が引っかかった。
どちらも mule-util モジュールの関数のようだ。
早速その関数を使って書き換える。
ついでに少々リファクタリングする。
対象になったコードは禁則処理の対象になる文字列を変更するものだ。 標準の設定では対象になる文字が多すぎる。 小さな「つ」とかは禁則にしなくてもいいと思っているのだ。 さて標準では kinsoku.el がロードされるときに、 禁則処理の対象とする文字へ、 行頭禁則文字カテゴリーと行末禁則文字カテゴリーを設定している。 そこで .emacs.el で kisoku.el を読み込んでしまい、 その後で設定された禁則文字カテゴリーを以下のように削除するようにしている。 実際にはもっと対象にした文字が多いけど。
(defun remove-kinsoku-category (kinsoku-chars category) (if (null kinsoku-chars) () (modify-category-entry (car kinsoku-chars) category (category-table) t) (remove-kinsoku-category (cdr kinsoku-chars) category)) ) (remove-kinsoku-category (string-to-list "ぁぃぅぇぉっゃゅょゎ") ?>) (remove-kinsoku-category (string-to-list "゙゚℃@§") ?<)
さて次に、 ノートPCにもインストールした PSGML をインストールするところで引っかかってしまった。
昨日の PSGML がうまく動かなかったのは、 DOCTYPE 宣言を書き間違えていたためとわかる。 基本がなっていないんだよ基本が。
会社のメーラは Webベースのグループウェアが標準だ。 しかしフォルダの振り分けができないなど、 少々利便性に欠ける。 世間の評判もよくないようす。 しかたがないのでメールクライアントだけでも Mew に移行することにした。
とりあえず読み書きができるようには設定できたものの、
サーバへ接続を開始してからパスワードの入力プロンプトが出るまで、
2分くらい時間がかかる。
一体どこで時間を食っているのかと mew-debug
に
'net
を指定してログを取ったところ、
接続した直後に送信した CAPA
コマンドがエラーでかえってきていた。
このせいかと思い mew-pop-fsm
を書き換えて
CAPA
を送信しないようにして見た。
しかし効果なし。
そこで Telnet で POP サーバに接続してみたら、
難なくパスワード送信までできてしまった。
まさかとは思ったけれど、 ためしに hosts ファイルにサーバ名とIPアドレスを登録してみる。 POP サーバのアドレスは IP 直がきだったので、 名前解決のせいではないと推理していたのに、 すっとパスワード入力までいってしまった。 どういうことなんだ一体。
この間おいてきたシステムがうまく動かないというので対策に出かける。 今日もしかすると幹部に見せることになるかもしれないとか。 エラーメッセージを見るとデータベースに接続できていない。 まず接続先のホスト名が元の開発環境マシンのままだった。 ほかにも必要なデータベースのサービスが起動していなかったり、 やはり JDBC ドライバが動かなかったり。 ホスト名を間違っていたため、 構築後に動作を確認したときには元の開発PCのデータベースを見に行っていたので、 気がつかなかった。 初歩的なミス。
デモ用のデータを作っていなかったのでそれも構築する。 このシステムは現在運用しようとしているシステムのデータを読み取って、 その内容を編集して表示するもの。 対象のシステムはソースコードを評価してその結果を出力するものだ。 しかし実際にデータを読み込んで試してみると、 期待した結果にならない。 どうやら読み込んだデータの解釈が間違っていたらしい。 仕様書にはそれらしい項目が複数あったので、 それらしいのをとりあえず使用していた。 しかしそのあてが外れたということだ。 というよりこの仕様書を説明できる人がいないというのはちょっと問題じゃないか。 というか、いなくても判るような仕様書にしてくれ。
そんなこんなで今日は終電間際まで残業してしまった。
もう誰も残っていないんじゃないかと思って本社に戻ってみると、 電灯が煌々とついている。 不夜城だねまるで。 おまえらホント仕事が好きだなといってやりたくなった。
いつも通りの時間より少し遅れて目が覚めた。 しかし体がだるい。 今日は会社を休むことにした。 昨日の疲れがまだ残っているせいかと思ったのだけれど、 昼を過ぎてもだるさが取れない。 年を取ったものだな。
朝から雨。 結構激しい。
日記をアップロードしてから、 Another HTML Lint にかけてみる。 思いのほか低得点。普通ですと言われる。 悔しいので細かい修正を入れる。 ついでなので去年までの文の日記も修正するため、 Perlスクリプトを書いた。 ソースの書式は統一して書いていたはずなので、 簡単にすむかと思ったら、 結構途中で気が変わったりして変更しているではないの。 おかげで例外処理を書くのにてこずった。
それからほかにもFTPサーバから必要なファイルをダウンロードして、 リモート側は削除するという仕組みを作らなければならなかった。 これは CPAN から Net::FTP モジュールをダウンロードしてスクリプトを書いた。 ものの数分でできてしまって自分でもびっくりする。 先人の資産に感謝。
夜、飲みに誘われていたので、よろよろと出かける。
昨日が遅かったわけでもないのに、 やたらと睡魔が襲ってくる。 気力を振り絞っておき上がり、 朝風呂ならぬ昼風呂に浸かって目を覚ます。
それから近所、 というほど近くはないホームセンターに収納家具を買い出しにいく。 最初はコンテナボックスにしようかと思ったけど、 本棚とベンチシートにした。 ベンチシートは幅80cmのと 140cm のがあった。 どちらもちょっと短かったり長かったりという気がした。 120cm くらいでいいのに。 大は小を兼ねるということで 140cmのを購入。 ロフトベッドの安いのにも心引かれたけれど、 今の部屋には合わないので我慢する。
さあ、これで積ん読の本にうずもれて寝る生活から脱却できるか。 最近は起きると、寝違えたのか首が痛い日々だ。 配送は来週の日曜日。