開発日誌1999年05月
- '99/05/01 7:50 (土)
- [ppsd]
データをネットワークにアクセスする前と後とで、更新チェックの処理が別れていたのを一本化しました。前の方を担当していたInformationクラスが後の更新チェックも行うようにしています。更新チェックは何度もバグを出しているので恐い気もするのですが、今の所はきちんと動いているみたいです。
- '99/05/02 7:20 (日)
- [ppsd]
jp.gr.java_conf.kbttshy.io.WithBufferInputStreamクラスのバッファをメモリ上に取るのではなくファイル上に取る事ができるように修正しました。大きなデータの取得にも対応してFTPのキャッシュセーブができるようにするためです。修正している途中にプログラムの馬鹿な部分、ByteArrayOutputStreamを利用してプログラミングしているのにByteArrayInputStreamを利用してない所、に気づいたのでそれも直しています。仕様としてはWithBufferInputStreamにバッファとなるファイルを指定して利用します。内部でバッファに一時的にファイルを使用する方法も考えたのですが、どこにファイルを持つか、エラーになった場合をどうするかなどの問題が出て来るのでやめています。この仕様で一応固定して、ファイルを利用したバッファ処理に切替える作業を次にやります。
- '99/05/03 7:55 (月)
- [ppsd]
HTTPServerクラスを改造してファイルをバッファに使う仕組みはでき、正常に動きました。次に、この一時的なファイルを削除し、本来のキャッシュファイルに変換する機能を組み込もうとしていますが難しい所です。今の時点では汚い実装になっています。
- '99/05/04 6:30 (火)
- [ppsd]
プロキシ経由で取得したftpのデータをキャッシュに保存する機能を追加しました。保存方法をいろいろ迷ったのですが、実装が一番簡単だということでdataDirの直下にホスト名を置く方法から、プロトコル別にディレクトリを作成してその下にホスト名を置いて保存する方法に変更しました。使用しているユーザにあまり迷惑をかけない方法を検討したのですが、HTTPFileクラスの修正が大変であきらめました。しかし、HTTPFileクラスはプログラムがひどすぎます。行数も一番多いしなにか工夫が欲しい所です。
これでリリースできるかと思っていたのですが、まだまだいろいろな作業が残っていました。
- DirDisplayでのftpキャッシュへのアクセス
- プロキシを使用しない場合のftpのキャッシュの保存
- 昨日修正した一時的なファイルが残ってしまうパターンがあるのでその削除
残ってしまうパターンはステータスコードが特殊な場合とかデータが完全に一致している場合などです。
連休明けにリリースできるかも怪しそうです。
- '99/05/05 8:00 (水)
- [ppsd]
ftpのディレクトリを表示できるようにいろいろ修正していました。今までのディレクトリ表示用の文字列を付加するとディレクトリ表示するという方法をやめ、DirDisplayクラスにパラメータとして表示するURLを渡す方法にしました。これでだいぶすっきりしました。まだ、削除していませんが、CacheIndexクラスHostDisplayクラスCacheクラスは不要になったはずです。
HTTPFileクラスもかなりきれいになりました。修正量が多いのでまだ確認する部分は多いですが少なくとも見通しはよくなっているようです。
- '99/05/06 7:50 (木)
- [ppsd]
キャッシュのディレクトリ表示の大規模変更に伴うこまごまとした修正を行っていました。キャッシュ直下のプロトコルのディレクトリは削除できないように画面を調整するとか、ディレクトリ表示のURLで指定ディレクトリの最後に"/"が付くか付かないかを統一するなどです。一応最後に"/"は付けないで統一するようにしました。
ほぼ収束したと思うのですが問題はまだ残っています。DirDisplay表示の時にLinkReplaceがうまく動かなくなってしまいました。そのため、DirDisplay表示をログに記入する事をやめていますが、リリースまでにはこれも解決したいです。
- '99/05/07 7:50 (金)
- [ppsd]
相変わらずこまごまとした修正をしています。一時バッファにファイルを使用しないモードやDirDisplayの時にsort処理を中止するモードを追加し、Delete処理の時の表示URLの最後に"/"が付いたのを削除しました。また、(No bug. Do not mind!)の表示がBroken pipe以外にでる時もある事に気づいたのでその場合表示しないようにしました。ブラウザによる読み込み中止以外の場合は表示されなくなったのではないかと思います。
- '99/05/08 7:50 (土)
- [ppsd]
プロキシサーバを使用しないでFTPのURLのセーブ処理を実装し、やっと正常に動くようになりました。独自にFTPアクセスした場合は問題が山積みな事に気づきましたが、今回のリリースでは無視です。一時ファイルの削除もほぼできるようになりましたが、エラーケースで残ってしまう場合がまだあります。ただ、これもたいした問題ではないので直らなくてもリリースします。そういうわけで残っているのはDirDisplayのLinkReplace処理を動くようにさせるだけです。
- '99/05/09 6:10 (日)
- [ppsd]
DirDisplayのLinkReplace処理はいつのまにか正常に動くようになっていました。元々動かないのが変な理屈でしたから、表示処理をきちんと整備することによって自然にバグが取れたのでしょう。
- [ppsd]
0.2.71版をリリースしました。
- [webpage]
4月分の日誌を過去の開発日誌に移動しました。
- '99/05/10 7:25 (月)
- [private]
ppsdをリリースしたら急に疲れてしまいました。今日はまだ体がだるいし、明日は久しぶりに秋葉原に行きたいし、ちょっとお休みです。
- '99/05/11 7:30 (火)
- [ppsd]
HTTPServerクラスを削除したにもかかわらず、instanceof演算子で使用していたというバグに気づきました。今までは一応HTTPServerクラスを残していたので、今回物理的に削除するまでわかりませんでした。大きな影響のあるバグではないですが、instanceof演算子には注意が必要という心構えを新たにしました。
- '99/05/13 7:10 (木)
- [ppsd]
FTP取得の時に致命的なバグをあったので緊急に修正し、バージョン0.2.72としてリリースしました。
- [private]
5/11は秋葉原に行ってきました。「やさしいEmacs-Lisp講座」という本を見つけ衝動買いしました。EmacsのLispを使いこなすのは夢だったのですが、今までどうもとっかかりがなくてうまく行きませんでした。この本はわかりやすいので、これをとっかかりにして再挑戦したいと思います。
- '99/05/14 7:40 (金)
- [private]
最近の事、「レディジョーカー」を読みました。興味のある事、任天堂の新ゲーム機の情報、ホスティングサービス、POP3とNNTPのppsdへの取り込み。
- '99/05/15 7:40 (土)
- [ppsd]
リクエストをユーザからのアクセスと解釈しない別のポートを追加しました。自分はまだテストもしていないのですが、一応他の自動巡回ツールをそのポートで動かす事を想定しました。
- [ppsd]
ReserveListの表示で更新チェックを常に行うようにしました。これで若干表示速度は遅くなっていますが自分が見たかどうかのチェックとしては便利に使えると思います。さらに更新表示で現在ppsdのキャッシュ上でデータが無ければアスタリスク三つ("***")を表示するようにしました。これも便利になっていると思います。表示の文章を変更するのと速度を早くするための工夫を追加してリリースするつもりです。
- '99/05/16 7:35 (日)
- [ppsd]
ReserveListからの表示を少しでも早くするためにファイルに更新があったかないかのチェックを追加するつもりでしたが、簡単ではないことがわかったので後回しにしました。だいたい切りがいい所なので0.2.73版としてリリースしました。
- '99/05/17 7:25 (月)
- [environment]
Netscapeが落ちまくって困っています。原因は全然わかりません。何か変な事が起きたかと.netscapeの下を全部削除して最初からやり直してみましたが、だめです。困りました。
- '99/05/18 7:55 (火)
- [environment]
今日は別にNetscapeは落ちませんでした。昨日動かした時の違いと言えばppsdにコメントを入れただけのはずなのですが、不思議です。
- '99/05/19 7:50 (水)
- [webpage]
「LinuxでJavaするには」というページを立ち上げようと少し書いてみました。でもいきなり飽きが来たような感じで私の集中力の無さにはあきれます。
- '99/05/20 7:45 (木)
- [ppsd]
ReserveListの表示が遅く感じるので、早くするために少し工夫を凝らしました。ちょっと早くなっている気はするけれどあまりわからないです。
メモリが少ないという事で終了してしまうエラーが頻発するのが気になって来ました。永続的にメモリを使いまくっている気はなかったのですが、何か問題があるのかもしれません。対策を本格的に取る必要があるみたいです。
- '99/05/21 7:40 (金)
- [ppsd]
GETしたURLを記録する処理を削除してみましたが、メモリが足りない(**Out of memory, exiting**)と出て落ちるのは変わりませんでした。問題になりそうな所はこれしか思い付きませんでしたので困っています。
- '99/05/22 7:50 (土)
- [ppsd]
LogHistory処理の速度の改善をしました。速度が遅い原因だったと思われる、表示するHTMLを作成して解析する二度手間を省いたつもりです。気持早めになり、メモリの負担も少し軽くなったような気持ちだけはします。VectorとかStringBufferの初期値を改善するともっと早くなれそうなのでさらに修正してみます。
- '99/05/23 7:40 (日)
- [private]
庭の草刈りをしました。一時間ほどやったら疲れてしまい終わりました。
- [ppsd]
ページを読み込んでいる時に何か障害が発生して止まったとしても、キャッシュにそのページが存在しない場合は読み込んだ分だけデータは保存するようにしました。
- '99/05/24 7:25 (月)
- [private]
12チャンネルの囲碁小林覚-依田戦は気合いが入ったゆるみのない戦いで見ごたえがありました。白小林覚の上辺打ち込みは少し無理気味かと思ったのですが、わけのわからない戦いの中優位に立ったようです。プロ棋士といえどもこんな難しい碁はほとんど読めていないと思うのですが、よくまあどちらかが潰れずに打てるものです。私も最強に戦って、互角に分かれるそんな碁が打てるようになりたいものです。
- [private]
昨日の草刈りの影響で体が痛かったです。
- '99/05/25 6:30 (火)
- [ppsd]
ftpデータをうまく取り扱えていない部分を修正しました。現在サポートしているプロトコルはhttpとftpなのですが、そのチェックをプログラムに直接うめこんでいます。サポートしているプロトコルが増えても大丈夫なように一括して対応する仕組みを考える必要があります。
- [ppsd]
一応目立ったバグは修正したので、バージョン0.2.74としてリリースしました。
- '99/05/27 7:30 (木)
- [private]
26日は何か非常に疲れてしまい、寝過ごしてしまいました。やりたい事はいっぱいあるのに気持ちが空回りしているようです。
- [ppsd]
動作中にCPUの使用率90%以上になって、一見暴走しているかに見える現象が起こっていたのですが原因がわかりました。コメントを普通のタグと認識して解析しているのが悪かったです。応急措置でもいいから早めに修正してリリースします。
- '99/05/29 7:30 (土)
- [private]
28日も疲れていたせいか眠ってしまいました。どうも良くない状態です。
- '99/05/30 7:00 (日)
- [ppsd]
Java2を使えるようにいろいろ環境整備をしていました。その結果、今日はJDK1.2のnative-thread環境でJITにはTYAの1.3v1を使用してppsdを動かしました。特に問題なく動作し、今まで発生していた**Out of memory, exiting**が出なくなって一安心です。
- '99/05/31 7:30 (月)
- [ppsd]
更新表示が正しく処理されていないことから、ステータスコード404で保存されているページに気づきました。タイトルを書き込む時のバグでした。タイトルを取得すると同時にキャッシュしたページのヘッダーにタイトルを書き込むという、自分でも危ないと思う処理で発生させていました。根本的に改善する方法はすぐには思い付かないので応急処置をほどこし、データを壊しているバグなのでバージョン0.2.75として緊急リリースしました。
- [ppsd]
LinkDown処理がいつのまにか動いていません。バグみたいです。緊急対応する必要があります。
Top page
Index page
e-mail: (em6t-kbt@asahi-net.or.jp)