[最新記事] [過去ログ]

9/19(Sun)

/** 卒研Now! */ 昨日に引き続いてやってました。 今日は、フォームからの入力をチェックする作業。 例えば、空欄を許可しないところは、emptyチェックとか、 数字のところは、その範囲をチェックしたりといった感じです。 まあ、日付が一番めんどうで、うるう年のチェックは、忘れかけてました(^^; 4で割り切れて、100で割り切れない、けど、400で割り切れるのはOKという法則を元に、 $year % 4 == 0 && $year % 100 != 0 || $year % 400 == 0 のようなコードを書いてたりしました。 う〜ん。ちょっと懐かしいね(^^; そろそろ、卒論書き用のLaTeXを勉強しないとなぁ... /** あ〜気分わる(-_-; */ 大体さぁ、横山続投させ過ぎなんだよね。 最下位の理由は、投手陣の層の薄さってのもあるけど、 達川采配のヘボさってのが、一番の理由だと思うね。

9/18(Sat)

/** 卒研Now! */ ひさびさにやりました(^^;; もはや、忘れかかってたぐらいです。 まあ、今週ゼミ無かったしね。 完成が大分近づいて来ました。 検索画面が完成し、あとやるべきことは、 検索条件をCGIから受け取り、それをSQLに組み立てて、 データベースにトランザクションを発行し、 その結果を表示するというところの実装のみになりました。 2月までに完成すれば良いのに、 なんか、もう完成しそうな勢いだったりします(^^; 毎週研究成果を発表しなきゃならないのに、 これからどうするんでしょ!? 小出しにしたとしても、ネタもたないよ〜(>_<;

9/17(Fri)

/** IME馬鹿すぎ(>_<; */ なんで、"届く"が、"渡独"なの??? 渡独じゃあ、Ich binとか、Do bist(だっけ(^^;?)とか、言わなきゃいけないじゃん。 /** あの頃は、盲目状態だったね(^^; */ 結局、USBキーボードを止めて、PS2キーボードにしました。 体感で分かるぐらい、キー入力が快適になりました。 さらに、キー押下中のMIDIの演奏がもたる問題も解決し、 Mother BoardのP2Bの機能である、キーボードパワーオンも復活しました。 しっかし、あの頃は、Windows98が使えるとか思ってたし、 絶対、USBも標準になるとか思ってました。 まあ、プリンタとかスキャナとか携帯mp3プレイヤーとかは、 USBインタフェースを備えているみたいなので、 あながち、普及していないとは言えないですけどね。 ただ、Windows98は、全く使いものにならないし、 多分、Windows2000もダメでしょう。 だから、LinuxでUSBがサポートされるまでは、 USBキーボードも、USBマウスもお蔵入りということで、 なんだか、無駄に散財しただけだったということでした(^^;; /** Project Java ReGet */ 最近、FTPばっかりやってます。 というか、やっぱり通信の基本的なところではまってます(T_T) 例えばFTPの場合、一行のコマンドを送信すると、 通常は、一行の応答を返してきます。 この場合、応答の最後に、改行文字がついているので、 ここまで読み込めば良いことが判断出来ます。 また、ファイルを取得する時などは、 あらかじめ、ファイルサイズが通知されているので、 このサイズに従って、読み込めば良いことになります。 ところが、Anonymous FTPのログイン後の、Welcome Messageは、 複数行からなる、welcome.msgなどのテキストファイルの内容を、 複数行の応答にして返します。 このメッセージは、サーバによって違います。 普通に考えれば、繰り返しループで読み込みつつ、 その内容がnullだったら、読み込み終了。 という手法で、うまくいくと思ったのですが、 それは使えませんでした。 なぜなら、例えば5行の応答があったとすると、 5行までは読み込みますが、6行目を読み込んでnullが返るのではなく、 6行目のサーバの応答が無いにもかかわらず、 読み込み処理を続けようとして、停止してしまいます。 これを、ブロッキングといいます。 ここで、APIリファレンスを読むと、 readyというメソッドが見つかりますが、 > 次の read() が入力をブロックしないのが確実な場合は true。そうでない場合はfalse。 > falseが返されても、次の読み込みが確実にブロックするというわけでない つまり、ブロッキングしない場合でも、falseが返ってくる可能性があるわけで、 実際にやってみると、複数行の最初と最後の行はfalseが返り、 それ以外の行は、trueが返るという挙動でした。 工夫すれば、使えなくも無さそうですが、 いまいちスマートに記述出来そうにないので、却下しました。 Java House MLの過去ログとか、色々探してみましたけど、 最終的な手段としては、TimeOutを使うしか無いようです。 TimeOutが起こると、InterruptedIOExceptionが発生するので、 以下のようにコーディングすれば良いことになります。 try { 読み込み処理 } catch(InterruptedIOException ii_ex) { 読み込みが終了して、ブロッキングが発生した後に、 タイムアウト時間が過ぎるとここへ処理が移る。 例えば、nullを返すことなどによって、 読み込みが終了したことを通知する。 } catch(IOException io_ex) { その他のI/O例外 } ただ、ここで問題になるのは、タイムアウト時間の設定の難しさです。 つまり、短すぎれば、処理が完了しないうちに、タイムアウトになる可能性がありますし、 長すぎれば、余計な時間を使ってしまう恐れがあるということです。 これは、実際に使ってみて、どの程度が適切なのかを、 Try & Errorで見つけるしか無さそうです。 /** 拡張子! */ 昨日、色々サイト回ってたら、こんなん見つけました。 たまに知らない拡張子とかあったりすると、気になりますからねぇ... そんな時に便利なのかも知れないです。

9/15(Wed)

/** 続 読書の秋 */ なんか、ライターになるのって大変そうですね(^^; ネタ探しにあちこち歩き回ったり、いろんな人と知り合いになって、 情報源を豊富に確保しないと、良い記事はなかなか書けそうにないです。 30Pageぐらい読んで、読む気失くしました(^^; だって、向いて無さそうなんだもん。 /** Project Java ReGet */ とりあえず、Anonymous FTPをローカルLinuxで使おうと、 DOSのftpコマンドでログインしようと思ったのですが、 なぜだか、パスワードの入力で跳ねられてしまいます(T_T; そこで、FTPDの設定ファイルである、/etc/ftpaccessをいじって、 パスワードチェック(Mail Addressのチェック)を、RFC822形式から、 trivialに変えてみましたが、これもダメで、 次に、パスワードチェック無し(none)にもしてみましたが、 これもダメだったので、かなり困ったちゃんになりました(^^; 仕方が無いので、英語のマニュアルを熟読することに(>_<; すると、ftpのアカウントが必要で、/etc/passwdファイルの、 ディレクトリの指定が必要とかいうことが書いてあったので、 その辺りを調べてみることにしました。 すると、ftpのホームディレクトリは、/usr/home/ftpにあるのに、 /etc/passwdファイルでは、/home/ftpになってるし(>_<; これを、/usr/home/ftpに直してみると、 見事、anonymousでログイン出来ましたし、 ブラウザで、ftp://lxmaster/でもアクセスすることが出来ました(^^) 実は、Apacheの設定をした時に、 /home以下にユーザディレクトリがあると、 なんか不都合があったので、勝手に/usr/home以下に変えていたのでした(^^; まあ何にしても、うまくいったからいいや(^^;;

9/14(Tue)

/** 読書の秋 */ 今日から、読書の秋って感じです。 まだまだ暑いんですけどね。 私の勉強部屋でもある公民館は、図書館を内蔵しているので、 勉強ついでに本を借りられるので、 ちょっと、借りてみることにしました。 一冊目は、「マイクロソフト帝国 裁かれる闇 上」で、 マイクロソフトが、競合よりもすばらしい製品を出して、 競争を勝ち抜いて来たというわけではなくて、 どのようにして相手を蹴落として、 独占的な地位に昇りつめたかが書かれています。 まだ、ざっと読んだだけなのですが、 Windows3.1のベータ版が、MS-DOS以外のOS上で動かそうとした時に、 エラーメッセージを表示するなんていうのは、 ウワサで聞いた、MS-IME以外のIMEが、 Windows上でうまく動かないというのと、 同じような策略だと感じました。 また、マイクロソフトがOSの市場を独占的に支配しているから、 アプリケーションをバンドルしないと、OSをライセンスしないなどと、 脅しをかけているそうです。 (Internet ExplorerとWindows95も、この関係にあったそうです。) そういえば、「ハロウィン文書1〜3」なんかを読むと、 マイクロソフトの汚いやり方が、あらわになってますね。 業界が、マイクロソフトの思うようにならないと良いのですが... 二冊目は、「走れ! ライター独立宣言」で、 昔に、テクニカルライターになりたいと思ったことが少しだけあって、 まあ、そんな名残を感じて借りた本です。 最初の方を読んだところ、 「ソラミタコトカ - 会社つぶれてしもたがな!」 というのが紹介されていて、前に読んだことがあったので、 ちょっと親しみを感じてしまいました。 まだ全然読んでないんですけど、 ライターがどんなものなのかを知るのには、 読んでみる価値があると思います。 秋の夜長っていうけど、普段から夜更かししてるから、 あんまり関係ないなぁ(^^;

9/13(Mon)

/** Project Java ReGet */ 完全にやられました(>_<; FTP対応を頑張っていたのですが、 FTPサイトによって、挙動が違うんですねぇ。 大体、anonymousで跳ねられるところもあるし... 今までは、FTPは一行送信したら、一行送られてくるものだと思っていたのですが、 そんな考えは全然甘かったらしく、 容赦なく、複数行の応答を返してくるから、困ったものです。 しかも、ログイン前に送られてくる220番の応答、 ログイン後に送られてくる230番の応答など、 複数行になっている応答が、サーバによって違うのが、 また困ってしまうところです。 はぁ...またFTPを改良しないと... /** 起きたら... */ なんか、7個所も刺されてました(>_<; あまりの多さに、思わず数えてしまいました(^^;

9/12(Sun)

/** Project Java ReGet */ ぼちぼち再開しました。 今日は、認証付きサイト対応作業をしてました。 HTTPでは、認証付きのページへアクセスすると、 サーバが、WWW-Authenticateヘッダによって、 クライアントへ認証方法などを通知します。 それを受け取ったHTTPクライアントは、 その方法にしたがって、Authorizationヘッダに認証情報を含めて、 再度取得要求を出すことによって、 認証付きのページの取得が可能となっています。 大抵のサイトでは、Basic認証が使われているようなので、 とりあえず、これに対応することにしました。 この認証では、"User ID:Password"という文字列を、 Base64エンコードした文字列を渡すことになっています。 つまり、 Authorization: Basic "User ID:PasswordをBase64エンコードした文字列" というヘッダを、リクエストに含めれば良いのですが、 Javaの標準ライブラリには、Base64関連のクラスは無いので、 普通なら、自分で作らなければいけないところです。 が、以前SMTPプロジェクトに参加した時に、 Base64が必要だったらしく、C言語版のBase64のコードをJavaに移植していたので、 実は、あることはあったりします。 ただ、元は自分が書いたものではないので、 とりあえず、許可でも取ろうかと思っているところです。 公開は、その後ですね。 /** Keyboard! */ 前に、「鍵盤買ったよ〜」って、友達に自慢してたら、 パソコンのキーボードも、"鍵盤"って言うらしいです(^^; でも、パソコンのキーボードは、パソコンの鍵盤って言えるけど、 鍵盤は鍵盤だからなぁ... その時は、ピアノみたいなやつって言っときましたけど(^^; ところで、飽きたとか言っておきながら、 実は、結構練習してました(^^; それも、結婚行進曲をウケ狙いでやってたのが、 意外と難しいので、かなりムキになってました。 まだまだ、ちゃんと弾けるまでは遠そうです...

9/11(Sat)

/** 過去ログ整理 */ 多分、自分以外はあまり読まないとは思うんですけど、 過去ログページを、改造してみました。 量が増えてきたので、一ページにおさまらなくなっていたのが、 ちょっと不満だったので、なんとか一ページに収まるようにしました。 収納効率がアップって感じですね。 ただ、テーブルを使っているせいで、なかなか表示されなさそうなので、 さらに見る人が減ることでしょう(^^;
[最新記事] [過去ログ]