雑記帳 2005年 9月第3週

2005/09/11 Sun.

本日は泣く子も黙る総選挙です。20歳を過ぎて選挙権が与えられている以上、それを行使するのは国民に義務であります。
今更あれこれと語ることも無いけど、個人的に「民主党」の敗北は必至と言ったところでしょうか。都市部での押しが弱すぎ。
某地方公務員は相変わらず朝一番で投票するとか言ってますが、そんなにまで「不正行為無し」のサインをしたいのか。
自分はのんびり午後4時くらいに投票。今さら投票所にて悩むことなどありません。既に小選挙区も比例も決まってます。
投票を終えた頃に腹が減り始めて、カップラーメンでも買おうと思いスーパーに入ると、激しく心奪われる商品があった。

チキンラーメンどんぶり プラスキムチ」なんてモノがある。他には目もくれず即決。別に「日清食品」の回し者じゃないですよ。
結構前から発売されていたらしいが、食ってみるとこれが実に微妙なのだ。キムチとチキンの味を互いに打ち消しあってる。
食い終わった頃にやたらと眠くなってきて、昼寝するかと思って寝て起きたら23時になってる。風呂入って寝るだけだ。
ってか、俺としたことが選挙の開票速報を見逃してしまったな。明日のニュースと新聞で嫌というほど報道されるからいいか。

2005/09/12 Mon.

とりあえず、自分が勝手に注目選挙区として挙げた4つの区の結果から。全く予想を裏切らないのはどうなんだろうか。

東京10区 小池 百合子 109,764 (自民 前)
岐阜1区 野田 聖子 96,985(無所 前)
広島6区 亀井 静香 110,979(国民 前)
潟5区 田中 真紀子 105,484(自民 前)

自民党」が勝つのは事前からわかりきってはいましたが、何だかやりすぎじゃないかと思われるような結果になりました。
全議席数480のうち、与党が327議席をもかっさらうってのも驚き。「自民党」の単独過半数とかそういう次元の話じゃない。
そもそも、法案が参議院で否決されても衆議院で力押しで可決できてしまうこの状況はいかがなものか。絶対権力だな。
「まずは郵政」という主張で通ったからいいようなものの、イラク自衛隊派遣問題や外交問題など、水面下の課題も山積み。
小泉君の任期延長の意見もありますが、彼が任期延長をすることはありえないかと。公での発言の前言撤回は難しそう。
ってか、今回よりも次回の選挙の方が気になるな。今回の結果は「自民党」に因るものなのか、小泉人気に因るものなのか。
恐らく後者に因る部分が大きいと思うけど、期待が小泉君に集まっているのなら個人的には任期延長してもらいたいかな。
来年秋に任期延長せずに小泉君が降りた瞬間に「自民党」がコケたら笑い種ですが、そうなる可能性も十分あるんだよな。

さて、鮮やかなまでの敗走劇を演じた「民主党」、党首交代は必至なようです。次は小沢か菅か鳩山か、誰になるんでしょう。
個人的に「岡田克也」が嫌いだとは以前から言っていますが、敗北後に出した今回の件についてのコメントまでムカつく。

「国民の判断です」

「自分達は正しいが国民の判断は間違いだ」と聞こえるのは俺だけ?近年の風潮に「民主党」が合わないのは事実だが。
いずれにせよ、あの目つきの悪い男が電波に乗って食卓に届く機会が減ったのは事実でしょうし、精神的に安泰です。
あれこれと言いたい事もあるけれど、そんな事を片っ端から言ってったら文量がシャレにならんので、この辺で打ち切り。

2005/09/13 Tue.

まさかの広範囲機能修正。何で自分の担当する部分はこんなにも影響範囲が広いんだ。線表見るだけで萎えてくる。
予定外の打ち合わせに参加することになって、そこで突然修正版の線表が配布。今月末リリースのものが多いな。
しかも何が悲しいって、恐らくは消えることになるであろう機能を今から開発しなければならないということ。泣いてやる。
メールでPDFを添付するようにしたから、画面上からPDFを開く機能は要らなくなるって?最初の設計に問題ありまくり。
どうやら、画面から開くPDFってのは閲覧頻度がかなり低いものだったらしい。そんなのを必死こいて開発してたのね。
で、画面から開くPDFとメール送信時に作成して添付するPDFに差分があるとマズいってことで、画面からの方も修正。
今週の土曜日は出社確定だし、休日出勤してまで「今月中に消えるであろう機能」を今月中に完成させないとならん。
相変わらず理不尽な業界ですが、IT土方と呼ばれる業界のブルーカラーであるプログラマの運命ってことで諦めましょう。

「Fake 2ch BBS」の開発がストップ状態。ってか、これ以上何かの機能を追加したりすると、逆にくどい感じになる予感。
とりあえず一通りの管理機能も揃ったし、一応配布できる状態にはなってるのかな。相変わらず冗長なコーディングですが。
一部の2chブラウザでの不具合はしょうがない。ってか、スレッドを立てた際のdatの>>1の形式が変なのが原因かな。
ホットゾヌ2」とかだと酷い状態になる。ってか、2chブラウザも種類によってdatの読み出しが激しく違ってくるから困る。
例えば、スレッドを立てて生成されるdatの>>1の形式を以下のように設定している。他の2ch系掲示板とは違うはず。

名前<>メール<>日付・ID<>本文<>スレッドタイトル<>投稿者のIP・ホスト名<>強制sageフラグ<>

個人的に「ホットゾヌ2」がマズいって言うのは、本文の表示部分を4番目のカラムから取ってくる処理が他のとは違うから。
ホットゾヌ2」は「5番目のカラム以降の文字列」も本文として取得してしまう。本文に投稿者のホスト名などが出るのだ。

これは初回のログ取得時。本来ならば見えないような情報が見えてしまう。datに記録したIPが丸見えってのはアレでしょ。
でも、一回取得したdatを更新表示しようとして、datのタブをダブルクリックしたりすると、今度はこんな感じになる。

最初からこんな感じで取得できれば、別に問題無いんだけど。取得したdatをいちいち手動で開く人ってのは少ないと思うし。
普通はdatにIPやらが直書きとは思わないだろうし、そもそも手動で開かない。でも、これでバレるとdatを直で閲覧される。
ちなみに、取得したdatの>>1の形式を「名前<>メール<>日付・ID<>本文<>スレッドタイトル」に変更すると正常に表示できる。
強制sageフラグはdatに書かずに別ファイルに記録して、毎回それを読み込んで判定した方がいいのかな。ちと迷いどころ。
でも、強制sageフラグをdatから消しても投稿者のIP・ホスト名が残ってれば意味無いし。IPとかってどこに記録するんだ!?

2005/09/14 Wed.

いつまでこの暑さが続くんだ。ってか、去年も普通にこれくらいの暑さだったっけ。あの頃は品川にいたんだっけ。
しかしながら、去年の明日9月15日の雑記を見ると「風が吹くと寒い」とか書いてあったな。いつもこんなモンか。
雑記も1年以上続いていると、去年の今頃って何やってたか思い出せなくなるってのが無くなるから、結構便利かも。

さて、微妙にメンドいと思ってた修正が意外に早く終わってしまった。検査仕様書を書いたりする方がメンドいんだろうな。
とある操作のダイアログ画面でチェックボックスを追加して、そこにチェックがある場合は動作内容を変えるというもの。
その変更させる動作ってのが、2月の第3週に必死こいて直してた部分。あのな、このjarファイルはもう触りたくない。
テストケースの量もそれほど多いワケじゃないんだけど、そのパターンを考えるのがメンドい。どれだけ切り詰めるかだ。
その画面から選択できる全ての組み合わせをやったりすると、この上なく時間かかるのは明白だし。さっさと仕上げたい。

毎週水曜日はさっさと帰るように言われます。ってか、残業するとなると別途申請が必要になるらしい。そりゃメンドいって。
会社全体の指針なのか、普段は18時が定時なのに水曜日だけは17時に帰れます。17時10分には席を立つのが恒例。
まあ、早く上がれた日に限って多摩センとか立川を無目的にふらつく時があるから、逆に帰るのが遅い時もあったり。

2005/09/15 Thu.

何だこの天気は!涼しいぞ!快適だ!しかし風が吹くと寒いってのはどういう事だ!ちょい前まで32度とかだったじゃねーか!
って書いてから、去年の9月15日と全く同じ書き出しであることに気付いたり。突然涼しくなるのは昨年同様なんですかね。

今日は朝から食事抜きになって、かなり過酷な一日を予感させるものがあったけど、実際その通りになってしまったり。
ってか、ここまで朝から晩まで集中して真面目に仕事をしたのは久しぶりなんじゃないですかね。9時から23時までぶっ通し。
今まで手掛けてきた機能に相当ややこしい修正が入るため、中途半端な姿勢じゃ仕上がらないと思い、必死こいて作業です。
今年上旬にPDF関連の修正をしていたんだけど、そのPDFを出力するのに必要なデータは、ある検索結果のページにて生成。
検索結果をJSP上で表示する際に、隠しフォーム内のhiddenのパラメータに色々持たせて、それをPDF作成JSPに投げてます。
本来ならPDF作成に使うデータを流用して、表示してある検索結果と同じページを出力して欲しいとかいう要望があったのです。
かなり意味不明ですが、「処理A → この検索処理 → その検索結果の一部のみを結果出力する」という流れが前提にある。
全検索結果を表示するのはNGらしく一部でいいんだけど、処理Aの結果画面からリンクを開くと全検索結果を表示させたい。
要するに、一回検索処理が流れているのにリンクを開くとまた検索処理が走るので、速度的にかなり問題があるって事か。
検索処理を複数回走らせるよりかは、既に検索結果で生成してあるパラメータを使ってページを再構築してくれってことかい。
自分自身にPOSTするってことは、request.getParameterで受け取ればいいじゃんと思うけど、そう簡単にはいかない作り。
まず、一つのウィンドウが3つのフレームに分かれており、その真ん中の画面もフレームで分かれているという構成になってる。
で、リンクをクリックした際に開くのは一番大枠となってる「3つのフレームを持つ画面」なので、データの受け渡しがメンドい。

SearchResultFrameSet.jsp
<%
    String sData1 = request.getParameter("Data1");
    String sData2 = request.getParameter("Data2");
(略)
%>
<HTML>
<HEAD></HEAD>
<FRAMESET rows="20%, 60%, 20%">
  <FRAME src="HeaderFrame.jsp" name="Frame1">
  <FRAME src="MainFrame.jsp" name="Frame2">
  <FRAME src="FooterFrame.jsp" name="Frame3">
</FRAMESET>
</HTML>
MainFrame.jsp
<HTML>
<HEAD></HEAD>
<FRAMESET rows="100%, 0%">
  <FRAME src="SearchResultFrameMain.jsp" name="MainFrame">
  <FRAME src="SearchResultFrameDummy.jsp" name="_dummy">
</FRAMESET>
</HTML>

さて、大枠のSearchResultFrameSet.jspがデータを受け取るが、そのデータをフレーム内のMainFrame.jspに渡したい。
「SearchResultFrameMain.jsp?Data1=foo&Data2=bar」でいいじゃんと思うだろうけど、渡すデータは改行を含む時がある。
改行を含むデータをGETで取得すると、改行コードが検出された時点でデータが切れてしまいます。さて、どうするのか。
検索すると「フレームでセットされているものに対しての送信方法(POST)について」が見つかったが、いまいちよくわからん。
WebLogicに乗せて実験するのもメンドいので、ローカルでCGI使って実験してみたけど、どうも期待通りの動きをしてくれん。
あれこれ試行錯誤して無為に時間が過ぎるのもイヤなので、ここは無難にセッションを使うことに。setAttribute()とか。
セッションに大量のデータを入れすぎてサーバーが落ちるという話が以前にあったんだけど、それはこの際忘れておきますか。

SearchResultFrameSet.jsp
<%
    String sData1 = request.getParameter("Data1");
    String sData2 = request.getParameter("Data2");
    session.setAttribute("Data1");
    session.setAttribute("Data2");
%>
<HTML>
<HEAD></HEAD>
<FRAMESET rows="20%, 60%, 20%">
  <FRAME src="HeaderFrame.jsp" name="Frame1">
  <FRAME src="MainFrame.jsp" name="Frame2">
  <FRAME src="FooterFrame.jsp" name="Frame3">
</FRAMESET>
</HTML>

こんな感じでセッションに入れていって、後からgetAttribute()で取り出すことに。あまりやりたくない手法だけど我慢。
最後にremoveAttribute()しないと、また鯖落ちしたりするんかな。俺が原因になるのは勘弁だから、しっかり対策しておく。
もちろん、データ取得部分以外にも修正はあります。肝心の「受け取ったデータを使って画面を再構築する」ってヤツです。
検索処理が走るのが前提の作りになってるから、かなり大掛かりな修正になる。ってか、バグが出ないか相当不安だったり。
この検索処理を実行するのは以前から文句を言ってるjarファイルなんですが、引数渡して実行するとHashtableを返してくる。
このHashtableを分解して画面を作ってるんだけど、ここの作りはやはり同じにしておきたい。手動でHashtableを生成か。
自身が作ったhiddenパラメータが自身にPOSTされた場合は、そのパラメータを使ってHashtableを作るという感じに修正。
そんなこんなで、気がつけば23時近くになってるワケで。終電帰りだけは勘弁なので、何とか一本前に乗って帰宅。疲れた。

2005/09/16 Fri.

空気がようやく秋になってきたという感じで、外を歩くにしてもかなり快適になってきたな。これなら遠出も問題無し。
しかしながら、微妙に涼しくなっただけで電車の空調はほとんど変わらないので、逆に通勤電車が暑苦しい時もある。
夏休みが終わったので電車に乗ってる学生の数も増えるし、ある意味では電車内が8月よりも酷い惨状の時まである。

驚愕の事実ですが、今日も真面目に朝から晩まで仕事してしまいました。いかん、これじゃ俺の勤労コンセプトとズレる。
「いかにして働かずに金を得るか」が自分の中での課題だと思っていますが、たまには真面目に働くのもいいだろう。
さすがに週末ともなると体力気力精神力全てがかなり尽き果ててくるので、ペースがかなり落ちてくるのはしょうがない。
いやさ、聞いてくれよ。死ぬ気で作ってきたPDF作成クラス関連の件なんだけど、結局使われないことになりやがった。
これだから仕様が完全に固まらないうちに開発に着手するのは嫌なんだよな。費やした時間が文字通り無駄になる。
結局は別の機能でPDF作成クラスの一部を使うことになったから、完全に無駄とは言わないけど、それでも何だかねぇ。
その別の機能の開発がややこしそうな上に工数かかりそうだから、今日もそこそこ残業。で、明日も出勤が決まってる。
土日休日出勤とかマジで萎えるんだけど。でも、出なきゃヤバそうな雰囲気だし、そもそも出ないと終わらなさそうだ。

2005/09/17 Sat.

納期に攻め立てられるプログラマは土曜だろうと日曜だろうと関係なく仕事します。今月は時間外が多くなりそうかも。
昨日に「今日は何時に出社するか」ってのを訊くメールが来てて、とりあえず他のメンバーの出社時間を見てみる。
……もともと昼過ぎに出社しようと思ってたのに、他の人は10時とか10時半とか言ってる。こりゃ合わせないとマズいか。
ってなワケでやむを得ず10時に出社。で、10時に出社したらしたで誰もいなかったし。もうね、アホかと。馬鹿かと。
今日の時点で仕上げなければならなかったのが検査仕様書くらいだったので、延々と書類作りに励む一日となった。
コーディング自体は機能の時点でほとんど終えていたから楽だった。ってか、今日出社する必要無かったんじゃないか?
しかしながら、先日送られてきてて放置してたメールを見てみると、どうやら今まで触ってきたトコに仕様変更がある模様。
あのな、何でもかんでも一つの部分に詰め込もうとしないでくれ。これだから直接ソースを読まないSEってのは困るのだ。
機能を分離しろと喚く時もあれば、一つの部分にまとめろと喚く時もあるし。そもそも仕様を二転三転させるなってーの。

さすがに土曜日まで残業したくはなかったので、無難に18時半に退社して、立川の「AREAREA」でラーメン食って帰る。
ラーメン屋が7件くらいあるんだけど、どれも名前が覚えられん上に、大して美味しくない。しかも高いという罠。アホかと。