2001年7月18日(水) 曇りときどき雨

今日もとほほな一日。

本部の公式なwebとは別に、部の非公式内部webも私の担当です。公式webには会議室他のオンライン予約システムがあったのですが、これ以上予約アイテムが増やせない仕組みだそうなので、うちのフロア用の会議室は取り残されたままでした。そこでCGIベースのフリーソフトでフロア用会議室予約システムを作成したら思いの外好評。本家の公式webでもソフトを乗り換えたいというので、perlとCGIの設定を教えて差し上げました。

さて、運用後しばらくして、「予約が二カ所に分かれているのはけしからん」とのおしかりのメールが。ま、色々事情が複雑なのだけど、かなり感情的・攻撃的なメールをばんばん送られて、昨日はとほほでした。

「CGIなんでしょ? perlなんでしょ? ちょちょっと書き換えて統合したらいいでしょ?」とのこと。

そこで今日は、ええ、やりましたとも!! 「ちょちょっと書き換え」ですわ。人海戦術で予約を書き写したり、画面のハードコピーをとって一から予約を手入力でやり直すっていう確実な(!)方法もできないことはありませんが、折角仕様が分からないとはいえ中身が分かるテキストベースのシステムなんですから、プログラムで機械処理しなくては私の美学に反します(笑)

他人が書いた仕様書もコメントも無いソース、不慣れなperl(別に慣れている言語が他にあるわけでもないですけど(笑))、たっぷり1日をちょちょっと使って(ToT)、統合させていただきました。ま、ソース自身を書き換える必要はないのですけど、設定の異なる状況でたっぷり予約データを溜め込んでいるので、整合がとれたマージデータを作るのに、perlでフィルタを2つ書かせてもらいました。

でも勉強にもなったかも? 予約時間帯は開始時刻と終了時刻も記録されているのですが、グラフ描画用のデータとしてなのか(?)、一つの整数で時間帯を示す記録フィールドがありました(これの意味に気づいて、整合取りフィルタを書くのにてこずりました)。たとえば、8:00は1、8:30は2、9:00は3、… と開始・終了時刻に整数のインデックスをつけ、8:00〜9:00の予約は、2^1+2^2+2^3=14という整数で表す… ってな感じです。コンパクトな表現だけど、逆に戻すのは面倒でないのかなぁ? 一般的な手法なのかしら? と興味を持ちましたが、今日はばてばてで調査は打ち切り。

ま、何はともあれ、定時退社日でほとんど人がいないうちに切り替えも無事済んで、明日から統合したデータで運用できそう。でも、「もし今晩中に解析できず、統合運用もできなかったら… あ、どんどんみなさん帰っていくなぁ… 私が最後になっちゃうのかなぁ?」と、納期間近なのに原因不明のバグに悩むSEさん(???)の気持ちが少しだけ分かった気もします(笑)

21時頃にやっと退社。あれれ、なんだか左が暗いなぁ…

ヘッドライトのタマ切れでした(ToT)

# ちなみに前回交換は… 2001/2/1でした