- - PR -
printlnについて
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2002-09-05 18:02
こんぐらいしか思いつかないや。
でも、中身が文字列だったりして先頭空白を先頭空白として扱いたい時もあるはず。
しかし、やっぱり XML 文字表現生成時にインデントとかするかどうか制御できそうな気がするんですけど。 | ||||
|
投稿日時: 2002-09-06 10:13
OracleのXMLSQLUtilityを使っていて、
ResultSetの内容を自動的にXMLに変換してくれます。 例えば、OracleのTable定義でChar(3)にしていると 3文字に達していなくても後ろにスペースが入ります。 それに、タグの終わり毎に改行されてしまっています。 回線が細い為、なるべく通信トラフィックを減らそうとしていました。 今まではXMLの形を崩さない様にスペースを取るのに文字列ループを2回と 改行コードを取るのに1回していました。 ある程度長い文字列だと、処理時間が掛かるしCPU使用率も上がってしまう という現状です。 これで遅くなるなら、何もせずに送った方がサーバーには負荷が掛かりませんでした。 | ||||
|
投稿日時: 2002-09-06 12:47
> 回線が細い為、なるべく通信トラフィックを減らそうとしていました。
だったら、そんなせこいことせずに、gzipで圧縮して送りだせばいいのでは? 大抵のブラウザはAccept-Encoding gzipなはずですが。 | ||||
|
投稿日時: 2002-09-06 13:29
kosekiさん
> 今まではXMLの形を崩さない様にスペースを取るのに文字列ループを2回と > 改行コードを取るのに1回していました。 細かい話ですが、スペースと改行取るだけでこれだけループがあるのは なんとなく多い気も・・・ まあ、いいんですけど。 t-wataさん > だったら、そんなせこいことせずに、gzipで圧縮して送りだせばいいのでは? > 大抵のブラウザはAccept-Encoding gzipなはずですが。 環境がわからないので意味がない疑問かもしれませんが、リバースプロキシを 経由するケースでもgzipで送り出して平気でしょうか? | ||||
|
投稿日時: 2002-09-06 16:03
t-wataさん
gzipで送りたいんですけどね。 受取側のクライアントはブラウザではなくて Delphiで作った画面なんですよ。 Delphiでやろうと思えばできますが、 すごく面倒です。 それに、解凍用dllも配布しないといけないし。 まりりさん XMLのスペースを取るのには単純にやってしまうと、 <?xml version="1.0" encoding="Shift_JIS" ?> の中のスペースまで取られてしまいます。 タグ内はスペースを取らない様にしないと駄目なんですよ。 だから、ループが多くなってしまいます。 | ||||
|
投稿日時: 2002-09-06 17:01
まりりさん
> 環境がわからないので意味がない疑問かもしれませんが、リバースプロキシを > 経由するケースでもgzipで送り出して平気でしょうか? 確認してませんが、 response.seHeader("Vary","Accept-Encoding"); としておけばいけるかもしれません。 プロキシサーバにもよると思いますが。 kosekiさん、 とりあえず、ループは抜いて、実際の回線使用量を見て、 必要なら対策を練るのが良いでしょう。 | ||||
|
投稿日時: 2002-09-06 18:09
前に別スレで聞いた話だなぁ…
# で、ssh の portforward は検討する価値もないということなんですかね。 >今まではXMLの形を崩さない様にスペースを取るのに文字列ループを2回と >改行コードを取るのに1回していました。 これを行うことでどのくらいサイズが変わるのでしょうか。 ちうか、ふつうに ResultSet とってきて自前で XML 組む方が早い気がするんですけど。 どうせ DB の吐く XML なんて単純な繰り返しじゃないのかと思うんですが。 | ||||
|
投稿日時: 2002-09-08 15:07
この話題続けても意味はないですが・・・
> <?xml version="1.0" encoding="Shift_JIS" ?> > の中のスペースまで取られてしまいます。 > タグ内はスペースを取らない様にしないと駄目なんですよ。 > だから、ループが多くなってしまいます。 の部分を読んでなんとなく読み間違えてた気がしてきました。 ループを繰り返してるわけではなくて、二重ループしてたりするわけですね。 スペースとったりという程度の処理だったらタグの中にいるかどうかの 状態を覚えておけば一重ループですむようにも思えますけど。 | ||||
