2005年06月22日
簡単な外部設定ファイルを扱えるライブラリをどっかで見かけたのになぁ、と思ったけど見つからないので、この際なのでXMLに手を付けることに。
勉強量が一気に増えた、今日は進まんな(;´Д`)
まあ正直、自力でガリガリ書いちゃうのが一番話が早いんですが、この癖を矯正するための勉強でもあるので、車輪の再発明は最大限自粛する方向で。
こういう時、周囲にJAVAerな人がいないと辛いというか非効率だ……
とりあえずdtdとかそういうの一切無視で、XMLを単なるツリーとして読むのは簡単でした
色々出来そうだなぁ、とは思うんだけど、いつもの勢いでフレームワーク丸ごと作りかねないので、単なるツリー状のテキストファイルだぞと自分を言い聞かせることに。
それにしても勉強しながら書いてるせいで異常に無計画なコードだ。
投稿者 Juna : 21:26
| コメント (0)
| トラックバック
ab2で5000発ほど暖機運転させてから、1000回叩いて取った数字
使用前
直結
Requests per second: 76.18 [#/sec]
jk2経由
Requests per second: 74.75 [#/sec]
使用後
直結
Requests per second: 445.79 [#/sec]
jk2経由
Requests per second: 366.19 [#/sec]
うはおkw
jk2@TCPのオーバーヘッドは1リクエストあたりおよそ0.6ミリ秒くらい。
まあ許容範囲かと。
あと、jk2経由で
wget -S --header="Accept-Encoding:gzip" http://hogehoge/hoge
とやってmod_gzipが効いてることも確認。
mod_gzipのオーバーヘッドは、うちのBlogのトップ(約110k)で叩いて
無効
Requests per second: 628.70 [#/sec] (mean)
Time per request: 1.591 [ms] (mean)
有効
Requests per second: 67.67 [#/sec]
Time per request: 14.777 [ms]
うはwwwおwそwすwぎwwww
帯域節約のため
DeflateCompressionLevel 9
なのでまぁしょうがないですが、他のページも叩いてみた感じでは、うちのマシンで10kあたり1ミリ秒くらい。
とはいえ、このテストはlocalhostからの純粋なCPU勝負なので、実稼働させると通信のオーバーヘッドが大きすぎてミリ秒単位はどうでもよくなるかも。
とりあえず、思いの外Javaが速いので、少し贅沢なリソース使いをしても大丈夫そうですね。
投稿者 Juna : 14:38
| コメント (0)
| トラックバック
俺の大好きなUNIX Domain Socketはオライリー様Tomcat本の通りにやっても動かないので、諦めてTCPで頑張る方向に。
ついでに精神衛生を保つべくab2で叩いてみた。
現在制作中のトップページ(未完というかフォームを表示するだけの実質"HelloWorld"並)が
直結
Requests per second: 599.86 [#/sec] (mean)
jk2経由
Requests per second: 456.78 [#/sec] (mean)
ログインを試みて蹴る(MySQLにアクセス/まだコネクションプール等は使っていない)ページを叩いて
直結
Requests per second: 76.18 [#/sec] (mean)
jk2経由
Requests per second: 74.75 [#/sec] (mean)
まあTCPでもほぼ無視出来るオーバーヘッドだからOKか
バックエンドとの切り分けで、お仕事だとTCPの方がよく使うだろうし
ていうかMySQLとのアクセスがゲロ遅いな。そろそろちゃんとコネクションプールも考えるか。
投稿者 Juna : 09:41
| コメント (0)
| トラックバック
2005年06月21日
初めてLinux上で稼働させてみた。
Apacheとの連携が変な以外は、まあ概ねいけてるっぽい。
実装はメールアドレスの変更が出来るとこまで=全然進んでない
言語自体を勉強しながらだからまあこんなペース……
オライリーのTomcat本をゲトしたのでApacheとの連携から直して行くかな。
投稿者 Juna : 22:49
| コメント (2)
| トラックバック
2005年06月20日
(1)ユーザ名とパスワードをメールアドレスを入力させる
(2)それをDBに書き込んで、確認メールを送る。確認用文字列などを処理待ちテーブルに積む。
(3)メールに書いてあるURLをクリックするとIDをActivateし、処理待ちテーブルから消す
(4)ユーザ名とパスワードを入力するとログイン出来る
勉強しつつ、もたもたと書いてます。全然進みません。
次に書く物
・ログインした画面に適当にメニューげなものを並べる。とりあえずメールアドレス変更、パスワード変更あたりを。
・リマインダー
まあゲーム内容に関係なく必要そうな部分から。
その後は、フレンドリストとか個人用ボード等のSNS的なとこから片づけて行こうかなと。
投稿者 Juna : 21:59
| コメント (0)
| トラックバック
2005年06月19日
Strutsを勉強中。
うーん、大まかに読んでみて便利そうなのは分かったけど、突貫で勉強するには量が多いな……
とはいえ、これ使わずにガリガリ書くと後悔しそうなので、まあやるだけやってみる方向で。
それにしても、ライブラリやら何やらローレベルのを全部自力で書くスタイルで今までやってきたので、急激な近代化に脳が飽和気味。
(その後)
どのみちカスタムなValidatorをガリガリ書く必要があるっぽいので、StrutsはTomcatの全体像がもう少し掴めてからにします。
まあ正規表現あるし、Perlで出来ることは一通り出来そう。classがある分楽なくらい。
コレクション周辺はまぁSTLと大差ないし。
投稿者 Juna : 12:06
| コメント (0)
| トラックバック
2005年06月18日
いい加減ペーパーメディアが手元にないと辛くなってきた今日この頃。
どっちがいいかなぁ……
amazon様は両方買えとか言ってくるけどたけえよ(;´Д`)
↑これはよさげかも。でも今はまだいらないかな。
とりあえずいきなりアマゾンに発注出すのは値段的に怖いので、本屋でざらっと眺めてこよっと……。
まあオライリーの本が「ハズレ」だったことはないので信じて買ってもいいけど。
(補足)
図書館で貸し出し可能になっていたので取り寄せてもらうことに。
紙メディアは可搬性・視認性には圧倒的に優れているので大量の文書を一気に読むには向いてるのですが、最近はウェブで最新の日本語リファレンスが読めるし検索し放題なので、一度紙メディアで概要掴んだら割と用済みになりがちなんですよねぇ。
となるとまぁ、割高感と邪魔感がムクムクと。
投稿者 Juna : 13:05
| コメント (0)
| トラックバック
2005年06月17日
全く進んでません。
JDBCの基本的な(必要な)ところを軽く把握した程度……。
積み残したまま放置してたTomcat周りをいい加減読まないといけないので、とりあえずそっちをがんばります。
英語読むのだりーなぁ('A`)ヴァー
投稿者 Juna : 21:46
| コメント (0)
| トラックバック
2005年06月14日
内部では「~」を「全角チルダ」として扱い、外部との入出力もそれに従う。
つまり、MS932でマッピングされるUNICODEをネイティブとする。
ただし、CharsetEncoder/CharsetDecoderを使う時だけ、問題となるコードを一時的に置換する。
結果
(1)UNICODEを扱う部分では基本的にMS式のマッピングをネイティブとして扱う
(2)問題となるような文字(具体的には「~」)はソースコード中には書かない。書くときは'\u301c'で代用
(3)MySQLで使うUTF-8などもすべてMS式のマッピングで行う
まあこんなとこが落としどころかと。
①とかは使えないと思うけど、これはしょうがないよね。
……ていうか今試してみたら例外が出た。対応しないと。
投稿者 Juna : 22:40
| コメント (0)
| トラックバック
久しぶりに触りだしたから忘れてたけど、波ダッシュ問題健在だったのか……
うちはローカルのcharsetをEUC-JPで統一してるんだけど、
(1)JAVA環境ではlocal charsetをMS932に統一する
(2)泥縄で置換する
の選択を迫られげ。
だってさー、SJISって日本語非対応環境だといちいちバックスラッシュの存在を意識しないといけなくて、嫌じゃん。鬱陶しい。
んー、しかしこれは難儀だなぁ。
UTF-8とかで作ったフォームからIEに送らせると、波ダッシュを全角チルダで送ってくるってことだよなぁ。
実装的に、実は置換が一番エレガントかもしれん。
世間的にはどう対応してるんだろう。
あと、○付き数字とかも化けるんだっけ。とりあえず色々試してみるか……。
投稿者 Juna : 19:06
| コメント (0)
| トラックバック
2005年06月10日
sid上でApacheとTomcatを連携させる方法が分からん。
真面目にドキュメント読むか……
投稿者 Juna : 10:37
| コメント (0)
| トラックバック
2005年06月03日
EclipseでJAVA(のServlet)を勉強しようと思ったけど、コード書きながらライブラリのヘルプを参照する方法が分からなくて、いきなり挫折気味。
HTMLヘルプはあるけど検索方法分からんしなぁ。
世間的にはどうなってるんだろう。自分でNamazuでも置くんだろうか。んなわけないよなぁ……
まあ今のまま続けても掛け値無しにC++の10倍非効率なので少し距離を置いて考えよう。
いっそMSDNにPure JAVAの項目キヴォンヌ
ていうかもうJAVAやめてC++と心中するかなぁ。つぶし効かないけど……
いやまぁ、世間の人々がこんな寒い環境でJAVA書いてるわけはないので、何かCoolな環境の構築法とかもあるだろうけど、どうなんだろうその辺は。
----
Shift+F2でライブラリヘルプを呼び出すことはできた。
検索はもう根性でやるしかないかなぁ……。
とりあえず、ファイル入出力周りが鬱陶しいので(俺に)分かりやすいようにラッパー作成開始。
そういえばC++で始めにやったのもファイルクラスだったなぁ。
Perlみたいに簡単に文字列が扱えるようなラッパーを書こうとするところからスタートし
最後にはなぜかmmapとかmemcpyとかが飛び交ってた。
投稿者 Juna : 22:59
| コメント (0)
| トラックバック
|