直すべきところ |
作成日:2000-12-16 最終更新日: |
直すべきところを一覧とした。
現在は ftp のコネクションを張ってからディレクトリを辿っていき、更新情報を調べる。 しかし、更新すべきファイルはコネクションを張る前でも分かる。 接続時間を短くするための工夫があるといいだろう。
このとき同時に、無駄な命令のカットができる。 たとえば、faure というディレクトリへ行った結果、アップロードすべきファイルがなかったとする。 このとき、スクリプトは、次の命令を実行している。
chdir "faure";
$ftp>cwd("faure");
# 調べている
chdir '::';
$ftp>cwd("..");
コメントを除いた上の4行はアップロードすることに対しては意味がない。 したがってスクリプトから排除することができる。こういったことを組み込むのもいいだろう。
それから、パスワードをスクリプトに直に書いています。これはセキュリティ上問題がある。 対話式に入力するようなインターフェースにする必要がある。
以上は表立ったバグとはいいにくいものだった。 ところが、今は困った問題が起きている。 大きなファイルでは転送が途中で切れてしまうことがときどきあるという問題だ。 当時は常時接続環境ではなく、ダイアルアップルーターを使っていて、 このルーターの設定時間の問題が大きいと思うが、 Perl 側で無駄な処理を防ぐことも、間接的にはこの障害を減らすことになるだろう。 そして、転送後にはお互いのファイルサイズを確かめて、サイズが異なれば再送するという手段も とるべきなのではないかと思う。
上記の問題は、MacPerl の処理系をバージョンアップすることで解決した。 (2001-12-17)