Top
個別メモ
Latest update on 2012年3月5日 (月) at 10:54:46.
【第23回】 早朝から(2004年4月28日)
- 帰宅したらというのは企画倒れで,妻が生活クラブに注文してあった食材を引き取ってくるだけで疲れ果て,その後食事をしたり入浴したりしたので,後は子供たちと一緒に眠ってしまった。しかし,そのおかげで4:30に自然に目が覚めたので,早朝から(といっても三中さんほどじゃないが……そうそう,煥乎堂前橋本店です。野口氷店ですか,今度探してみます)仕事をしている。まずは昨夜作ったファイルを添付してメールを出した。これからデータベース処理をやってみる予定。
- で,やってみたのだが,まずはサーバのhttpdが動いていなかったというミスがあったが,動かしてもダメではまった。よくよく思い出してみると,ポート番号が80ではなかったのだっけ。そうするとファイアウォールの関係で外からはアクセスできないので(これは不便なのでファイアウォール設定を変えて貰うかapache2が使うポートを変えることも検討してみたいが,今日は間に合わない),自分のサーバにsshログインしてから,w3mでデータベースサーバにアクセスしてみた。と,処理手続きはうまくできるのだが,Warningがたくさん出るだけで出力がゼロだ。何でだろうと悩んでいるうちに(いや,もちろん洗濯物を干したり子供たちに食事をさせたりしながらだが)7:30になったので中断して出発。この時間なら余裕をもって7:56発あさま504号に乗れる。
- Yo-Yo-MAを聴きながら車内でファイルを確認していたら,健康づくり財団から預かったファイル内の年次項目の値が2003になっていることに気づいた。2004年だけの出力をさせたいので,これではうまく行くはずがない。これは午後にでもデータを更新して再度挑戦だな。あとあとのために,加工した記録をデータディレクトリに作ったreadme.txtというテキストファイルに打って保存した。
- しかし結局それではダメだった。2003は2003年度ということで正しく,アンケートデータの方が2004年実施でも2003年度として入力すべきだったということだ。その後試行錯誤してうまく行ったのだが,時間が無いのでその顛末はまた後で。
- 今朝メールで送ったRbook用の図は,やはりOOo Drawで作るとIllustratorとかで版下を作るときに変になる点がいくつかあるのだそうで(Windows環境で操作する分には何も不都合はないのだが),結局,編集のプロのSさんに作り直していただいたものを使うことになった。もしかすると「Rによる統計解析の基礎」でカイ二乗分布のグラフの線が薄くしか出なかった原因も,この辺りにあるのかもしれない。でも,版下作りと相性がいいEPSを作るためだけにIllustratorを買う気にはならないので,何か代替手段を考えなくては。
- 健康づくり財団は前橋市内ではあるのだが,かなり東の郊外にあって,群大周辺とは趣が違っていた。でも,ここで学生実習をさせていただくこともあるのだから,きっと公共交通機関でも来られるのだろう(今日は教授の車に同乗)。それともタクシー乗合いとか? 建物は広くて気持ちが良かったし,弁当も豪華だったけれど,自転車で来ようとしたら1時間近くかかりそうな距離だった。
- さて,上記顛末である。このデータベースシステムはapache+postgres+php4という流行のスタイルで,昨年暮れに相談を受けて山口からメールでアドヴァイスしながら,非常に優秀なアルバイト学生のS君に作って貰ったものである。今回の事態は,要するに,これまではダミーデータで実にうまく動作していたので気づかなかった不具合が,実際のデータでいくつか出てきたということだ。そのうち最初の問題は,今回入れたデータには欠損値があったり,ダミーデータでは整数しかなかったところに実数が入ったりしたので,厳密な型チェックをするPostgresがCOPYの際にエラーを吐いてきたことであった。これは,COPYコマンドにWITH NULL AS ''を追加することと,INTEGERと宣言していたところをNUMERICに変えること(たぶんFLOATでも良かったのだが)で解決した。第2の問題は,何年分もの健診データが入っていくので,受診番号と個人番号は当然違ってきて,受診時に記録されるアンケートに記載されている番号が個人番号でなく受診番号だということであった。ダミーデータでは受診番号と個人番号が同じだったので気づかなかったバグであった。これは,受診番号から個人番号を参照して,その個人の前年度のデータという形で参照することで解決した。第3の問題は,ダミーデータは受診番号が連番で入っていたので最初と最後の番号を指定するだけでよかったが,今回のデータは番号が飛び飛びなので,phpにエラーを吐かれるとpdfが出力できなくなってしまうというエラーであった。これは,S君のコーディングがサブルーチンなどがない素直なものだったため,pg_fetch_array関数を,エラーを吐かない@pg_fetch_arrayに変えて,返り値がFALSEでないときだけ実際の処理をするように指定することで解決した。出来上がったpdfファイル(A3カラー両面印刷で243枚)をプリントし始めたのは17:00前だったのだが,途中でトナー交換せねばならなかったこともあって,19:00を過ぎても終わらなかった。仕方ないので,後はH君にお願いすることにして帰途に着いた。
- 研究室を出たのが19:07になってしまったので新前橋に行って一晩駐輪契約をしたのだが,よく考えてみると,明日は休みなので超過料金を取られてしまうのだな。来月は新前橋駅の駐輪場を使おうと思っているので,本当は月契約をしたかったのだが,時間的に無理だったのは残念。19:31発に乗ろうと思っていたのだが,19:26に両毛線の高崎行きが来たので,それに乗った。今日の長野行新幹線は19:47発の臨時列車があったので,やや早めに長野に着けそうである。
▼前【22】(ハマダラカネタ(2004年4月27日)
) ▲次【24】(連休初日(2004年4月29日)
) ●Top
△Read/Write COMMENTS
Notice to cite or link here | [TOP PAGE]