SVX日記
2005-04-20(Wed) Gmailバックアップスクリプト完成、しかし……
一応、Gmailの容量をバックアップストレージとして活用するためのスクリプトは完成した。今のトコロはcygwinとdebian上で動作は確認している。必要な外部プロセスは、vi, tar, bzip2, gpg。インストールは「make install」で一発。使い方は、バックアップしたいディレクトリに移動して「gmbu」一発をカマすだけだ。crontabやcvsみたいにエディタが開くので、各種動作条件を設定の上、保存終了すれば添付メールが飛ぶ……飛ぶコトには飛ぶ……飛ぶのではあるが……正直いうとちょっと問題がある。
我ながらよくできたライブラリだと思っていた先日のEmail.rbだが、実はちょっと問題があったのだ。オブジェクト指向の特性である「データと手続きの一体化」についてはとてもナイスな設計だったのだが、メールのデータをまるまるインスタンスに持たせ、かなり力任せなハンドリングをしているのがマズかった。添付ファイルのサイズが1MB程度までならよいのだが、Gmailの上限である10MBまではとてもじゃないが処理しきれないのである。10M弱のフォントデータのバックアップを実行したら、メモリを食いつぶし、自宅サーバを落ちる寸前まで追い込んでしまった。いくらRubyがデータサイズに上限を設けないからといって、そんなムチャなメモリの使い方をされては、OS側がとても持たないのである(いまどき搭載メモリが256Mってのも少ないけども)。
以前、職場の新人がイッキに1000以上のファイルを同時オープンするプログラムを書いているのを見て、思わずひっくり返ってしまったコトがあったが、こんなプログラムを書いているようでは人のコトを笑えない。一応現段階のパッケージを置いておくが、近いウチに内部的な処理方式を逐次指向に書き直すことにしよう。トホホ。
なんと!! ゲーセンの「湾岸ミッドナイト・マキシマムチューン2」にSVX登場である。こりゃ、やるしかないぜ!! 最近よくあるシステムだが、磁気カードを購入すると、徐々に自分の車をチューンできるという遊び方もできる。買うぜ!! 買うぜッ!! この画像のナンバープレートが3318という開発者の意気込みにかけて、買うぜッ!!(SVXの正確な排気量は3318cc、オイラは3300にしているが)