read.cgiをjavascriptで実現させるプロジェクトのスレッドです。
テスト版
http://sunos.saita.ma/read-js/test/read.cgi
http://sunos.saita.ma/read-js/test/read.cgi/operate/1153615149/
探検
read.cgi 2006―JavaScriptはCGIの夢を見るか
■ このスレッドは過去ログ倉庫に格納されています
NGNG
27root▲ ★
NGNG >>25
> どうあがいてもIE6だと文字化けする、が俺の見解。
質問・雑談スレ231@運用情報板
http://qb5.2ch.net/test/read.cgi/operate/1153615149/966
これでも?
> どうあがいてもIE6だと文字化けする、が俺の見解。
質問・雑談スレ231@運用情報板
http://qb5.2ch.net/test/read.cgi/operate/1153615149/966
これでも?
まぁ,JavaScript の文字列処理は Unicode 前提ってことなんでしょうねぇ......
29stream ◆PNstream2s
2006/07/26(水) 00:35:15ID:2SYEq+Uy0 >>27
こんなのも試してみたんですが
http://nurucom-archives.hp.infoseek.co.jp/digital/escape-codec-library.html
どうしても、Shift_JISのdatファイルを無理やりまずUTF-8として読み込まなきゃいけないんですが
そのときにUFT-8的におかしなデータを?に変換してしまうみたいで。
こんなのも試してみたんですが
http://nurucom-archives.hp.infoseek.co.jp/digital/escape-codec-library.html
どうしても、Shift_JISのdatファイルを無理やりまずUTF-8として読み込まなきゃいけないんですが
そのときにUFT-8的におかしなデータを?に変換してしまうみたいで。
31stream ◆PNstream2s
2006/07/26(水) 00:36:49ID:2SYEq+Uy0 304 Not Modified が返ってきた時点で文字化けするんで、
これをやれば文字化けしないんでしょうけど(試してません)。
http://qb5.2ch.net/test/read.cgi/operate/1153615149/904
904 動け動けウゴウゴ2ちゃんねる [sage] 2006/07/25(火) 17:30:30 ID:5p+KTVNq0
dat適当に取得するスクリプト書いて、IEで軽く試してみた。
xmlhttp.setRequestHeader("If-Modified-Since", "Thu, 01 Jun 1970 00:00:00 GMT")
を、追加したらいつでも最新を読み直すようになったよ。
アレだけどw
これをやれば文字化けしないんでしょうけど(試してません)。
http://qb5.2ch.net/test/read.cgi/operate/1153615149/904
904 動け動けウゴウゴ2ちゃんねる [sage] 2006/07/25(火) 17:30:30 ID:5p+KTVNq0
dat適当に取得するスクリプト書いて、IEで軽く試してみた。
xmlhttp.setRequestHeader("If-Modified-Since", "Thu, 01 Jun 1970 00:00:00 GMT")
を、追加したらいつでも最新を読み直すようになったよ。
アレだけどw
32root▲ ★
NGNG >>29
うーむ。
センス悪い方法としては mod_filter + mod_proxy あたりを使うんですかね。
/板名/dat/*.dat は生だが、
/板名/dat_uta8/*.dat を読むと、上記を mod_filter が UTF-8 にコンバートしてから、
クライアントに渡すとか。
うーむ。
センス悪い方法としては mod_filter + mod_proxy あたりを使うんですかね。
/板名/dat/*.dat は生だが、
/板名/dat_uta8/*.dat を読むと、上記を mod_filter が UTF-8 にコンバートしてから、
クライアントに渡すとか。
33root▲ ★
NGNG センス悪いというか、そんなに悪くないのかな。
ちょっとコスト上がりますが、少なくとも read.cgi で表示するための
整形処理するよりは、負荷低いはずだし。
で、mod_cache とかが*うまく*動けば、一個コード変換したものは
キャッシュされるようにできるかもしれないし。
ちょっとコスト上がりますが、少なくとも read.cgi で表示するための
整形処理するよりは、負荷低いはずだし。
で、mod_cache とかが*うまく*動けば、一個コード変換したものは
キャッシュされるようにできるかもしれないし。
34root▲ ★
NGNG で、JavaScript 化で得られるメリットを考えたら、
コード変換のコストは、reasonable だと思ですね。
結局、単なる決められた数値演算に過ぎないし。
コード変換のコストは、reasonable だと思ですね。
結局、単なる決められた数値演算に過ぎないし。
2006/07/26(水) 00:53:24ID:wOSQuFsG0
NGNG
>>35
再読み込みもOK?エラーでない?
再読み込みもOK?エラーでない?
37ひろゆき@どうやら管理人 ★
NGNG はや!
38root▲ ★
NGNG >>37
まだ、スタート地点に立ったばかりです。
ほんとの苦労は、これから、これから。
で、これ、どう思いますか?
【にがうり】 雪だるま作戦のスレを待ち続けるスレ Part17
http://aa5.2ch.net/test/read.cgi/nanmin/1153671484/289-
まだ、スタート地点に立ったばかりです。
ほんとの苦労は、これから、これから。
で、これ、どう思いますか?
【にがうり】 雪だるま作戦のスレを待ち続けるスレ Part17
http://aa5.2ch.net/test/read.cgi/nanmin/1153671484/289-
2006/07/26(水) 02:05:10ID:ax/3R4o80
responseTextじゃなくて、responseBodyなら、
クライアント側で変換できるけど。遅いよ
クライアント側で変換できるけど。遅いよ
2006/07/26(水) 02:05:27ID:t4IhxYwc0
実用的ではない
まず重い、ありえない
そもそもJavaなんか切ってる人が大半
───終了───
まず重い、ありえない
そもそもJavaなんか切ってる人が大半
───終了───
41ひろゆき@どうやら管理人 ★
NGNG >>38
1年間に飛行機に乗る人のうち、マイレージプログラムに執着するのは
何割なんでしょう。
少数の高額利用者の食い合いをしてる業界であればわかるのですが、
無料で利用できる掲示板にそのまま適用できるとは思えなかったりします。
1年間に飛行機に乗る人のうち、マイレージプログラムに執着するのは
何割なんでしょう。
少数の高額利用者の食い合いをしてる業界であればわかるのですが、
無料で利用できる掲示板にそのまま適用できるとは思えなかったりします。
42root▲ ★
NGNG >>41
> 1年間に飛行機に乗る人のうち、マイレージプログラムに執着するのは
> 何割なんでしょう。
AMC (ANAマイレージクラブ)の会員は、およそ1000万人と言われています。
乱暴に言えばまぁ大体、飛行機に乗る日本人の数と、当たらずとも遠からずかと。
で、PLT 以上なのは、つまりマイレージプログラムに執着しているとみなせる人は、
そのうちのおよそ 1% 程度といわれています。
つまり、だいたい私と同じか、あるいはそれ以上のレベルの廃人は、
全国に10万人ぐらいは、いることになるです。
これを多いと考えるか少ないと考えるかで、
このようにエンブレムを載せる意味が、
あるのかないのかにつながっていくんではないかと。
で、私は「これは無料だからこそより適用できるのだ、掲示板には愛が大事なのだ」
と、全く根拠なく思っていたりします。
> 1年間に飛行機に乗る人のうち、マイレージプログラムに執着するのは
> 何割なんでしょう。
AMC (ANAマイレージクラブ)の会員は、およそ1000万人と言われています。
乱暴に言えばまぁ大体、飛行機に乗る日本人の数と、当たらずとも遠からずかと。
で、PLT 以上なのは、つまりマイレージプログラムに執着しているとみなせる人は、
そのうちのおよそ 1% 程度といわれています。
つまり、だいたい私と同じか、あるいはそれ以上のレベルの廃人は、
全国に10万人ぐらいは、いることになるです。
これを多いと考えるか少ないと考えるかで、
このようにエンブレムを載せる意味が、
あるのかないのかにつながっていくんではないかと。
で、私は「これは無料だからこそより適用できるのだ、掲示板には愛が大事なのだ」
と、全く根拠なく思っていたりします。
43root▲ ★
NGNG >>42
> つまり、だいたい私と同じか、あるいはそれ以上のレベルの廃人は、
> 全国に10万人ぐらいは、いることになるです。
で、これは自分で飛行機を利用した時の、PLT 以上の数の感覚、
例えばラウンジの込みようとか、ビジネスクラスに乗ったときの配膳メニューに
マルP と書いてあるか(見えないようにしているけどたまに見える)とかとも、
だいたい一致している気がするです。
個人的には「廃人は思ったより多いなぁ」という感覚ですね。
というかマイレージプログラムがあるから、廃人が増えるのかもしれないです。
> つまり、だいたい私と同じか、あるいはそれ以上のレベルの廃人は、
> 全国に10万人ぐらいは、いることになるです。
で、これは自分で飛行機を利用した時の、PLT 以上の数の感覚、
例えばラウンジの込みようとか、ビジネスクラスに乗ったときの配膳メニューに
マルP と書いてあるか(見えないようにしているけどたまに見える)とかとも、
だいたい一致している気がするです。
個人的には「廃人は思ったより多いなぁ」という感覚ですね。
というかマイレージプログラムがあるから、廃人が増えるのかもしれないです。
2006/07/26(水) 02:14:43ID:9rtlkJef0
ひろゆきってどのブラウザ使ってるの?
2006/07/26(水) 02:15:06ID:HbnVPe7vO
それやるならついでにプロフィールの背景色連動させて変えようぜ。紺色にしたい
あとそろそろ ? を消して BRZ とかにリンクはらね。
そろそろスレ違いな雰囲気だが
あとそろそろ ? を消して BRZ とかにリンクはらね。
そろそろスレ違いな雰囲気だが
46root▲ ★
NGNG >>45
> あとそろそろ ? を消して BRZ とかにリンクはらね。
> そろそろスレ違いな雰囲気だが
これは、スレ違いじゃないかもですね。
新しい read.cgi では、? をはずしてみるとか。
> あとそろそろ ? を消して BRZ とかにリンクはらね。
> そろそろスレ違いな雰囲気だが
これは、スレ違いじゃないかもですね。
新しい read.cgi では、? をはずしてみるとか。
2006/07/26(水) 02:18:25ID:8Qn/kEiJ0
それはいいが、まずdatの形式を#形式にしてもらえないだろうか。
スレ違い御免。
スレ違い御免。
2006/07/26(水) 02:21:51ID:HbnVPe7vO
あとポイント自分に送れるままにしとくなら
ポイントに必要なch森稼ぐ手段としての証券取引所も活性化が見込める
ポイントに必要なch森稼ぐ手段としての証券取引所も活性化が見込める
49root▲ ★
NGNG で、明日あたりに質雑を読み返して、
出てきた issue を、こっちにまとめておきますか。
このへんから。
今日(もう昨日だけど)は歴史が動いた日で。
質問・雑談スレ231@運用情報板
http://qb5.2ch.net/test/read.cgi/operate/1153615149/775-
すべては、一言の神の啓示から始まったと。
そんなわけで。
出てきた issue を、こっちにまとめておきますか。
このへんから。
今日(もう昨日だけど)は歴史が動いた日で。
質問・雑談スレ231@運用情報板
http://qb5.2ch.net/test/read.cgi/operate/1153615149/775-
すべては、一言の神の啓示から始まったと。
そんなわけで。
2006/07/26(水) 10:57:12ID:YgctB/iu0
AjaxでdatをDLするんでそ?
最新のN件とかはどうするの?毎回DAT丸ごとDL?
最新のN件とかはどうするの?毎回DAT丸ごとDL?
2006/07/26(水) 10:58:48ID:uOoJt+H8P
京ぽんOperaの場合、オフラインでなら動くのあるんだけどね〜。
★h" style/2ch DAT ビューア
ttp://www13.plala.or.jp/airh/filearea/tool/2chdat/index.html
京2だと保存したdatの拡張子が.htmになっちゃうんで、PC使って拡張子.datに直さないとダメ。
★h" style/2ch DAT ビューア
ttp://www13.plala.or.jp/airh/filearea/tool/2chdat/index.html
京2だと保存したdatの拡張子が.htmになっちゃうんで、PC使って拡張子.datに直さないとダメ。
XMLHttpRequest だといろいろ苦しみそうな気がするので,
方針転換して隠しフレームに読み込む形にしてみますた.
たぶん,これで文字化け問題も解決するかと......
それから,先日作った be.js も取り込んで,dat への記録は従来形式
(# の数でランクを示す)のままでも表示段階でマイレージランクに
変換するようにしますた.頭の ? も消えます(ただ,直接 dat に
マイレージランクを記録してる分には対応してません).
で,be.js は index.js と同様に www2 あたりに置いて頂ければ,と......
方針転換して隠しフレームに読み込む形にしてみますた.
たぶん,これで文字化け問題も解決するかと......
それから,先日作った be.js も取り込んで,dat への記録は従来形式
(# の数でランクを示す)のままでも表示段階でマイレージランクに
変換するようにしますた.頭の ? も消えます(ただ,直接 dat に
マイレージランクを記録してる分には対応してません).
で,be.js は index.js と同様に www2 あたりに置いて頂ければ,と......
NGNG
まだばーじょんは書いて無いね
NGNG
あ、opera8.54でも見られるようになった。
だけど、ここ壊れていますが最後に出るよ。
だけど、ここ壊れていますが最後に出るよ。
2006/07/26(水) 13:23:52ID:9rtlkJef0
IEはダイレクトXにfirefoxはextentionからdll呼び出し
とかはダメ?operaは知らないけど・・・
とかはダメ?operaは知らないけど・・・
2006/07/26(水) 13:28:36ID:3WFXWq3i0
全てに対応しようとしないで、対応していないブラウザはいままで通りread.cgiに飛ばすってのがいいんじゃいかと。
半分のアクセスをこれで対応するだけで、負荷的にはかなり下がるんだし。
半分のアクセスをこれで対応するだけで、負荷的にはかなり下がるんだし。
NGNG
Windows 2000 Service Pack 4
IE Version: 6.0.2800.1106
IEからみたら読み込み中のまま。フリーズはしなかった。
セキュリティ設定は中。キャッシュを消して見たけどだめ。
http://sunos.saita.ma/read-js/test/read.cgi/operate/1153615149/
IE Version: 6.0.2800.1106
IEからみたら読み込み中のまま。フリーズはしなかった。
セキュリティ設定は中。キャッシュを消して見たけどだめ。
http://sunos.saita.ma/read-js/test/read.cgi/operate/1153615149/
2006/07/26(水) 14:40:09ID:rpYommal0
IE以外のブラウザは無視して可ではないのですか。
どういうユーザ層がどのブラウザを使ってるか考えれば。
どういうユーザ層がどのブラウザを使ってるか考えれば。
2006/07/26(水) 14:45:25ID:HbnVPe7vO
そうだね、プロテインだね
2006/07/26(水) 15:11:36ID:dOdHM1Xl0
read.cgi動かすのとiconvとかnkfとかを動かすコストってどのくらい違うのかな。
ほら、XMLHttpRequestってリクエストヘッダも自由自在に送れたりするじゃん?
ほら、XMLHttpRequestってリクエストヘッダも自由自在に送れたりするじゃん?
隠しフレーム方式の場合,今度は文字コードではなく MIME type がバタつくようで...<IE
text/plain として扱ってくれるといいんですが,text/html と勝手に解釈してくれると
dat 中に含まれるタグのところでテキストがバラされたり \n もすっ飛んだり,
ってのが >>57 のようで......あちら立てればこちら立たず......
text/plain として扱ってくれるといいんですが,text/html と勝手に解釈してくれると
dat 中に含まれるタグのところでテキストがバラされたり \n もすっ飛んだり,
ってのが >>57 のようで......あちら立てればこちら立たず......
2006/07/26(水) 15:48:07ID:aUhdqtnc0
というか、Ajax使うならまず最初にブラウザ判定をきちんとやって、
非対応ブラウザなら別の処理に回すってのが常道かと思うが
非対応ブラウザなら別の処理に回すってのが常道かと思うが
>>62 まぁ現状では,JavaScript 版と CGI 版をそれぞれどんな URL で提供するかとか
そのあたりも決まってないし,そもそも IE での奇妙な挙動の問題を解決しないことには
実際に日の目を見ることもないでしょうから,その解決がまず先決でしょうし......
で,文字コード変換フィルタモジュールってことではこんなのがあったりします......
http://httpd.apache.org/docs/2.2/mod/mod_charset_lite.html
そのあたりも決まってないし,そもそも IE での奇妙な挙動の問題を解決しないことには
実際に日の目を見ることもないでしょうから,その解決がまず先決でしょうし......
で,文字コード変換フィルタモジュールってことではこんなのがあったりします......
http://httpd.apache.org/docs/2.2/mod/mod_charset_lite.html
64stream ◆PNstream2s
2006/07/26(水) 16:38:19ID:XjCWLJKJ0 IEだと「別の処理」すらできないのにブラウザ判定も何もないよ
2006/07/26(水) 17:00:48ID:dOdHM1Xl0
Javascript用のdatディレクトリを用意してmod_charset_liteの設定をする.htaccessを用意して
datは専用ブラウザ用の方へのsymlinkにすると?
datは専用ブラウザ用の方へのsymlinkにすると?
66root▲ ★
2006/07/26(水) 18:13:56ID:???0 やりたいことと、とりうる手段の整理からしようかと。
NGNG
よく見てないので何ですが
datをtext/plainで表示するように.htaccessで設定したものを
アップした後
スクリプト内で
datファイルを読み込んだ直後(70行目あたり?)に
下記のようなタグ書き換えを行う正規表現を置いてみてはどうでしょうか。
var loadDat = loadDat.replace(/</g,"<");
var loadDat = loadDat.replace(/>/g,">");
var loadDat = loadDat.replace(/<pre>/gi,"");
var loadDat = loadDat.replace(/<\/pre>/gi,"");
var loadDat = loadDat.replace(/&/gi,"&");
var loadDat = loadDat.replace(/<xml>/gi,"");
var loadDat = loadDat.replace(/<\/xml>/gi,"");
変化が無ければごめんなさいという事で。
失礼しました
datをtext/plainで表示するように.htaccessで設定したものを
アップした後
スクリプト内で
datファイルを読み込んだ直後(70行目あたり?)に
下記のようなタグ書き換えを行う正規表現を置いてみてはどうでしょうか。
var loadDat = loadDat.replace(/</g,"<");
var loadDat = loadDat.replace(/>/g,">");
var loadDat = loadDat.replace(/<pre>/gi,"");
var loadDat = loadDat.replace(/<\/pre>/gi,"");
var loadDat = loadDat.replace(/&/gi,"&");
var loadDat = loadDat.replace(/<xml>/gi,"");
var loadDat = loadDat.replace(/<\/xml>/gi,"");
変化が無ければごめんなさいという事で。
失礼しました
NGNG
タグが書き換えられている・・
こちらです↓
var loadDat = loadDat.replace(/&lt;/g,"<");
var loadDat = loadDat.replace(/&gt;/g,">");
var loadDat = loadDat.replace(/<pre>/gi,"");
var loadDat = loadDat.replace(/<\/pre>/gi,"");
var loadDat = loadDat.replace(/&amp;/gi,"&");
var loadDat = loadDat.replace(/<xml>/gi,"");
var loadDat = loadDat.replace(/<\/xml>/gi,"");
「&」を半角にして頂ければ。
こちらです↓
var loadDat = loadDat.replace(/&lt;/g,"<");
var loadDat = loadDat.replace(/&gt;/g,">");
var loadDat = loadDat.replace(/<pre>/gi,"");
var loadDat = loadDat.replace(/<\/pre>/gi,"");
var loadDat = loadDat.replace(/&amp;/gi,"&");
var loadDat = loadDat.replace(/<xml>/gi,"");
var loadDat = loadDat.replace(/<\/xml>/gi,"");
「&」を半角にして頂ければ。
70root▲ ★
2006/07/26(水) 18:53:00ID:???0 >>67
まだ、個別の項目にいく時期ではないと思うです。
JavaScript でやるのかどうかも、まだ決まっていないと思っています。
というわけで、整理を。
○今回やりたいこと
2ちゃんねるのサーバの負荷を軽くしたい。
○今回の目標
今回は具体的な事項として、
・掲示板サーバで read.cgi を動かすのをできるだけ少なくする
ことを目標にする。
最終的には全廃をめざすが、read.cgi の起動数を少なくできるなら、それでもよい。
まだ、個別の項目にいく時期ではないと思うです。
JavaScript でやるのかどうかも、まだ決まっていないと思っています。
というわけで、整理を。
○今回やりたいこと
2ちゃんねるのサーバの負荷を軽くしたい。
○今回の目標
今回は具体的な事項として、
・掲示板サーバで read.cgi を動かすのをできるだけ少なくする
ことを目標にする。
最終的には全廃をめざすが、read.cgi の起動数を少なくできるなら、それでもよい。
2006/07/26(水) 19:04:57ID:6gP6+0Mt0
>>70
やりたいこと&目標は
http://qb5.2ch.net/test/read.cgi/operate/1153615149/775
>おいらはブラウザ派なのですな。
>
>javascriptだけで、read.cgiが実現できるんじゃないかと、
>前から思ってるんですが、誰か試してみないすかね。
じゃなかったっけ?
やりたいこと&目標は
http://qb5.2ch.net/test/read.cgi/operate/1153615149/775
>おいらはブラウザ派なのですな。
>
>javascriptだけで、read.cgiが実現できるんじゃないかと、
>前から思ってるんですが、誰か試してみないすかね。
じゃなかったっけ?
2006/07/26(水) 19:07:02ID:zo6Ee0v80
2006/07/26(水) 19:08:22ID:hZZWHB7M0
つまりread.cgiの負担を減らす事かと
2006/07/26(水) 19:09:03ID:+1rXbJLeP
77root▲ ★
NGNG なので、私は >>70 の目的が実現できるのであれば、
別にその手段が JavaScript である必要はかならずしもなくて、
別のものでもいいと思っているです。
JavaScript 以外の候補としては、
・flash
・Java
なども、あると思っています。
で、私としては管理人が「JavaScript 以外のものは使うな。これは私の命令です」
と言わない限り、可能性はより多いほうがいいなと考えています。
つまり、上記に JavaScript も含めたそれぞれの
・メリット
・デメリット
・実現可能性
などなどの要素を総合的に評価したうえで、
目標実現のためにどんな道具を使うのがいいか、決めたいかなと。
別にその手段が JavaScript である必要はかならずしもなくて、
別のものでもいいと思っているです。
JavaScript 以外の候補としては、
・flash
・Java
なども、あると思っています。
で、私としては管理人が「JavaScript 以外のものは使うな。これは私の命令です」
と言わない限り、可能性はより多いほうがいいなと考えています。
つまり、上記に JavaScript も含めたそれぞれの
・メリット
・デメリット
・実現可能性
などなどの要素を総合的に評価したうえで、
目標実現のためにどんな道具を使うのがいいか、決めたいかなと。
2006/07/26(水) 19:34:30ID:ax/3R4o80
だったらActiveXでWebブラウザ上に2chブラウザ再現しちゃえば良いじゃん。IE限定だけど
79root▲ ★
NGNG2006/07/26(水) 19:44:51ID:9rtlkJef0
IETabみたいに、レンダリングエンジンをうまく
ごにょごにょすればfirebirdでも大丈夫だぜ
ごにょごにょすればfirebirdでも大丈夫だぜ
81stream ◆PNstream2s
2006/07/26(水) 19:57:39ID:kXk1e64C02006/07/26(水) 20:10:42ID:kV/VHu8d0
2001年の閉鎖危機の時にもread.cgiをjavascriptで代用するという案があったけど、
当時は互換性うんたらかんたらで却下されました。
当時は互換性うんたらかんたらで却下されました。
83stream ◆PNstream2s
2006/07/26(水) 20:24:33ID:kXk1e64C0 んで、mod_charset_lightでUTF-8に変換してみたけど、うまくいきますね。
ただ、Shift_JIS的におかしなデータがdatファイルに存在すると500 Internalサーバーエラーになるっぽいですね。
ただ、Shift_JIS的におかしなデータがdatファイルに存在すると500 Internalサーバーエラーになるっぽいですね。
84root▲ ★
NGNG >>83
なるほど。
ただこの場合、コード変換の分だけ、サーバは仕事をすることになりますね。
read.cgi 動かすのとどっちが負荷がトータルで低くなるか、が、
重要なポイントの一つなのかな。
あとは、ユーザに影響が出ないように実装できるのか、とか。
いずれにせよ、
> ただ、Shift_JIS的におかしなデータがdatファイルに存在すると
> 500 Internalサーバーエラーになるっぽいですね。
は、ちょっといまいちなのかなと。
なるほど。
ただこの場合、コード変換の分だけ、サーバは仕事をすることになりますね。
read.cgi 動かすのとどっちが負荷がトータルで低くなるか、が、
重要なポイントの一つなのかな。
あとは、ユーザに影響が出ないように実装できるのか、とか。
いずれにせよ、
> ただ、Shift_JIS的におかしなデータがdatファイルに存在すると
> 500 Internalサーバーエラーになるっぽいですね。
は、ちょっといまいちなのかなと。
2006/07/26(水) 21:08:04ID:kV/VHu8d0
IEのデータバインディングを使って、datをcsvとして読み込むという方法もあるのかな。
http://www.microsoft.com/japan/msdn/columns/dude/dude1103.aspx
ここのサンプルなんかはSJISのデータファイルを読み込んでる。
http://himuka.miyazaki-c.ed.jp/db/kyouzai/manual/orienteering2/ogura/sample.htm
http://www.microsoft.com/japan/msdn/columns/dude/dude1103.aspx
ここのサンプルなんかはSJISのデータファイルを読み込んでる。
http://himuka.miyazaki-c.ed.jp/db/kyouzai/manual/orienteering2/ogura/sample.htm
Java アプレットは重い(特に VM 起動時)ですからね......
Flash は Java よりは軽いでしょうけど,(文字列の扱いにもよるのかも
知れませんが)文字化けすることもあって......まぁこちらの環境は少数派でしょうけど.
http://sunos.saita.ma/read-js/test/flash.png
JavaScript はブラウザによって挙動不審になったりとかする部分もあったりするのが
苦労するところですが,それを乗り越えれば一番お手軽ではあるんですよね.
あと,フィルタモジュールの負荷ってことなら,文字コード変換より圧縮,
つまり mod_deflate の方がよほど重いかと.
Flash は Java よりは軽いでしょうけど,(文字列の扱いにもよるのかも
知れませんが)文字化けすることもあって......まぁこちらの環境は少数派でしょうけど.
http://sunos.saita.ma/read-js/test/flash.png
JavaScript はブラウザによって挙動不審になったりとかする部分もあったりするのが
苦労するところですが,それを乗り越えれば一番お手軽ではあるんですよね.
あと,フィルタモジュールの負荷ってことなら,文字コード変換より圧縮,
つまり mod_deflate の方がよほど重いかと.
2006/07/26(水) 21:22:52ID:+1rXbJLeP
ここで空気を読まずにJSP
2006/07/26(水) 21:29:57ID:gpcl/1Jf0
JSPって↓のようなやつだっけ?
<%
for(int i = 0; i < bbs.getLastNum(); i++){
%>
メッセージ:<%= bbs.getMessage() %><br>
<%
}
%>
<%
for(int i = 0; i < bbs.getLastNum(); i++){
%>
メッセージ:<%= bbs.getMessage() %><br>
<%
}
%>
2006/07/26(水) 21:30:19ID:wK/+H917P
Web製作板でJavaScript版
プログラム板でJava Applet版
Flash板でFlash版
を作ればいいんでね?盛り上がりそうw
プログラム板でJava Applet版
Flash板でFlash版
を作ればいいんでね?盛り上がりそうw
2006/07/26(水) 21:36:49ID:8Qn/kEiJ0
SunがMicrosoftのVM潰さなければねぇ。
独自拡張もあったにしろMicrosoftの方が早かったのに。
独自拡張もあったにしろMicrosoftの方が早かったのに。
NGNG
JSPはサーバサイドだからあんま意味なくね?
それとも実はものごっつ軽いとか?
それとも実はものごっつ軽いとか?
2006/07/26(水) 23:03:24ID:RjRvuw4Y0
いや、別にJSPがものごっつ軽いとかは無い。
普通にサーバサイドだし。
普通にサーバサイドだし。
不正なバイトシーケンスを無視して 500 エラーにしないようにするパッチ.
--- httpd-2.2.2/modules/filters/mod_charset_lite.c Sat Apr 22 10:53:06 2006
+++ httpd-2.2.2/modules/filters/mod_charset_lite.c Sat Apr 22 10:53:06 2006
@@ -188,6 +188,31 @@
return NULL;
}
+static apr_status_t _xlate_conv_buffer_no_eilseq(apr_xlate_t *convset,
+ const char *inbuf,
+ apr_size_t *inbytes_left,
+ char *outbuf,
+ apr_size_t *outbytes_left)
+{
+ apr_status_t rv;
+
+ while (inbytes_left && outbytes_left) {
+ apr_size_t inbytes = *inbytes_left, outbytes = *outbytes_left;
+
+ if ((rv = apr_xlate_conv_buffer(convset, inbuf, inbytes_left,
+ outbuf, outbytes_left)) != APR_EINVAL) /* EILSEQ */
+ break;
+ if (*inbytes_left)
+ inbuf += inbytes - --(*inbytes_left);
+ if (*outbytes_left)
+ (outbuf += outbytes - --(*outbytes_left))[-1] = '?';
+ }
+
+ return rv != APR_EINVAL ? rv : APR_SUCCESS;
+}
+
+#define apr_xlate_conv_buffer _xlate_conv_buffer_no_eilseq
+
/* find_code_page() is a fixup hook that decides if translation should be
* enabled; if so, it sets up request data for use by the filter registration
* hook so that it knows what to do
--- httpd-2.2.2/modules/filters/mod_charset_lite.c Sat Apr 22 10:53:06 2006
+++ httpd-2.2.2/modules/filters/mod_charset_lite.c Sat Apr 22 10:53:06 2006
@@ -188,6 +188,31 @@
return NULL;
}
+static apr_status_t _xlate_conv_buffer_no_eilseq(apr_xlate_t *convset,
+ const char *inbuf,
+ apr_size_t *inbytes_left,
+ char *outbuf,
+ apr_size_t *outbytes_left)
+{
+ apr_status_t rv;
+
+ while (inbytes_left && outbytes_left) {
+ apr_size_t inbytes = *inbytes_left, outbytes = *outbytes_left;
+
+ if ((rv = apr_xlate_conv_buffer(convset, inbuf, inbytes_left,
+ outbuf, outbytes_left)) != APR_EINVAL) /* EILSEQ */
+ break;
+ if (*inbytes_left)
+ inbuf += inbytes - --(*inbytes_left);
+ if (*outbytes_left)
+ (outbuf += outbytes - --(*outbytes_left))[-1] = '?';
+ }
+
+ return rv != APR_EINVAL ? rv : APR_SUCCESS;
+}
+
+#define apr_xlate_conv_buffer _xlate_conv_buffer_no_eilseq
+
/* find_code_page() is a fixup hook that decides if translation should be
* enabled; if so, it sets up request data for use by the filter registration
* hook so that it knows what to do
95ゴッド便所 ◆AKQJ10itoI
NGNG 文字コード変換でサーバーにかかる負担はどれくらいなんだ?
2006/07/26(水) 23:33:57ID:9rtlkJef0
文字コード変換もjava scriptで。
97root▲ ★
NGNG2006/07/27(木) 00:17:17ID:tvu0ZHE80
jspは意味無いでしょ・・・
折角、サーバ側で読み出しの負荷を下げようというのに・・・
折角、サーバ側で読み出しの負荷を下げようというのに・・・
99stream ◆PNstream2s
2006/07/27(木) 00:21:06ID:5ofr++i80 >>97
板のディレクトリのところに dat-utf8 とかでdatディレクトリに対しシンボリックリンク作って
そこへのアクセスはmod_charset_liteを使うようにするとか
これだと各サーバーの各板でシンボリックリンクを張る作業しなきゃいけないから大変?
板のディレクトリのところに dat-utf8 とかでdatディレクトリに対しシンボリックリンク作って
そこへのアクセスはmod_charset_liteを使うようにするとか
これだと各サーバーの各板でシンボリックリンクを張る作業しなきゃいけないから大変?
2006/07/27(木) 00:35:54ID:YpMYl/gy0
<ぼそ>スイスアーミーナイフ</ぼそ>
2006/07/27(木) 00:44:39ID:86/KPhLr0
rangeで**バイト以降のデータをリクエストしたら、変換後のバイト数で来るんだよね。
2006/07/27(木) 18:42:21ID:viWF9XEA0
ブラウザによって違う動作といえば、Gecko系のXMLHttpRequestは
同一ホストか同一ドメインに限られていたような。
これは各サーバに入れておけば済む問題だが。
同一ホストか同一ドメインに限られていたような。
これは各サーバに入れておけば済む問題だが。
JavaScript は、結構方言が多いんですかね。
大きく分けると、
・IE 系
・Gecko 系
・Opera 系
・Safari 系
ぐらい?
大きく分けると、
・IE 系
・Gecko 系
・Opera 系
・Safari 系
ぐらい?
2006/07/27(木) 20:26:48ID:mkOYbx750
そこにバージョンの差とかいろいろ
>104
分類すると
・IE−Sun系 MS系
・Gecko−1.5系 2.0系 3.0系
OperaとSufariは使ったことがないので補足ヨロ
分類すると
・IE−Sun系 MS系
・Gecko−1.5系 2.0系 3.0系
OperaとSufariは使ったことがないので補足ヨロ
>106
Gecko間違えて炎狐でやっちゃった
・Gecko−1.8.0系(炎狐1.0.x) 1.8.1系(炎狐2.0) 1.9系(炎狐3.0)
Gecko間違えて炎狐でやっちゃった
・Gecko−1.8.0系(炎狐1.0.x) 1.8.1系(炎狐2.0) 1.9系(炎狐3.0)
2006/07/27(木) 20:37:27ID:E06nA/kZ0
Safariは1.X系と2.X系…か?
2006/07/27(木) 20:45:01ID:/QbR/fVa0
SafariはKHTML系の一部だろ。
他にKonquerorとかある。
他にKonquerorとかある。
Operaって
ttp://www.opera.com/docs/specs/js/
こんなでいいの?
ttp://www.opera.com/docs/specs/js/
こんなでいいの?
>>102 そうなります......と言いたいところですが,基本的に chunked 転送となって
Range は効かないかと.もっとも,Range を効かせた場合は mod_deflate で
圧縮するわけにはいかない(Range 指定しても圧縮後の内容に対して
Range が効いてしまうため)とか,キャッシュと Range の相性もよろしくない
ってことで,果たしていいのか悪いのか......
なお,前のパッチ以外にも修正した方がいい点があったので,パッチ更新版を.
http://sunos.saita.ma/read-js/test/mod_charset_lite.patch
ちなみに,httpd.conf の設定はこんな感じかな.
AliasMatch ^/(\w+)/dat-utf8/(\d+\.dat)$ /home/ch2xxx/public_html/$1/dat/$2
<Location /*/dat-utf8/*.dat>
SetOutputFilter XLATEOUT
CharsetSourceEnc CP932
CharsetDefault UTF-8
</Location>
Alias /test/bbs-utf8.cgi /home/ch2xxx/public_html/test/bbs.cgi
<Location /test/bbs-utf8.cgi>
SetInputFilter XLATEIN
CharsetSourceEnc CP932
CharsetDefault UTF-8
</Location>
Range は効かないかと.もっとも,Range を効かせた場合は mod_deflate で
圧縮するわけにはいかない(Range 指定しても圧縮後の内容に対して
Range が効いてしまうため)とか,キャッシュと Range の相性もよろしくない
ってことで,果たしていいのか悪いのか......
なお,前のパッチ以外にも修正した方がいい点があったので,パッチ更新版を.
http://sunos.saita.ma/read-js/test/mod_charset_lite.patch
ちなみに,httpd.conf の設定はこんな感じかな.
AliasMatch ^/(\w+)/dat-utf8/(\d+\.dat)$ /home/ch2xxx/public_html/$1/dat/$2
<Location /*/dat-utf8/*.dat>
SetOutputFilter XLATEOUT
CharsetSourceEnc CP932
CharsetDefault UTF-8
</Location>
Alias /test/bbs-utf8.cgi /home/ch2xxx/public_html/test/bbs.cgi
<Location /test/bbs-utf8.cgi>
SetInputFilter XLATEIN
CharsetSourceEnc CP932
CharsetDefault UTF-8
</Location>
>>111 かもですね.ただ...... sunos.saita.ma で見ている限りでは,
mod_charset_lite で必要な APR-Util 中の apr_xlate_*() の関数群が
FreeBSD だと普通にビルドすると APR_NOTIMPL になっちゃうかも知れない
っぽいんで,ビルド時に細工してやらないとならないのかも......?
mod_charset_lite で必要な APR-Util 中の apr_xlate_*() の関数群が
FreeBSD だと普通にビルドすると APR_NOTIMPL になっちゃうかも知れない
っぽいんで,ビルド時に細工してやらないとならないのかも......?
2006/07/27(木) 23:06:38ID:qm7/fCsY0
>>107
1.0 1.5 2.0?
1.0 1.5 2.0?
116tato
2006/07/28(金) 00:17:25ID:+swShs5T0 この「CGIの夢を見るか 」スレから ここ↓「Ajaxでも語りませんか3」スレへ来られた方が
http://pc8.2ch.net/test/read.cgi/php/1147750917/
こんな質問↓をされているのですが、
http://pc8.2ch.net/test/read.cgi/php/1147750917/334
>IE6だと、最初のリクエストだとOK・・・・・・304 Not Modified が返ってくると・・・・・UTF-8と解釈して文字化け
この現象を確認できるページはどこかにあるでしょうか?
普通に考えると、304で表示されるのはキャッシュのはずですから、それが最初OKだったsjisではなく、UTF-8に解釈されてしまうとしたら、
個々のブラウザのローカルなエンコード設定の問題なような気もするのですが、何はともあれ、その現象がどこでも再現するのかを確かめたいと思いまして、、、。
http://pc8.2ch.net/test/read.cgi/php/1147750917/
こんな質問↓をされているのですが、
http://pc8.2ch.net/test/read.cgi/php/1147750917/334
>IE6だと、最初のリクエストだとOK・・・・・・304 Not Modified が返ってくると・・・・・UTF-8と解釈して文字化け
この現象を確認できるページはどこかにあるでしょうか?
普通に考えると、304で表示されるのはキャッシュのはずですから、それが最初OKだったsjisではなく、UTF-8に解釈されてしまうとしたら、
個々のブラウザのローカルなエンコード設定の問題なような気もするのですが、何はともあれ、その現象がどこでも再現するのかを確かめたいと思いまして、、、。
>>103-107
参考になるのかな?
http://www.mozilla-japan.org/docs/web-developer/sniffer/browser_type_oo.html
#Firefox は使い始めたばかりで、Mozilla(Gekko)、Firefox のバージョンの区別が…
参考になるのかな?
http://www.mozilla-japan.org/docs/web-developer/sniffer/browser_type_oo.html
#Firefox は使い始めたばかりで、Mozilla(Gekko)、Firefox のバージョンの区別が…
118stream ◆PNstream2s
2006/07/28(金) 00:37:36ID:azD6ToFp02006/07/28(金) 00:41:08ID:lDXvnfU00
一瞬CPUファンがすごく回転した。コワス・・・
とりあえず,UTF-8 の dat を取得する形で XMLHttpRequest 利用に戻しておいた.
ただ,sunos.saita.ma は共用サーバにつき自分で mod_charset_lite を組み込んだり
できないんで,UTF-8 に変換済みの dat を置いて代用......
http://sunos.saita.ma/read-js/operate/dat-utf8/
ただ,sunos.saita.ma は共用サーバにつき自分で mod_charset_lite を組み込んだり
できないんで,UTF-8 に変換済みの dat を置いて代用......
http://sunos.saita.ma/read-js/operate/dat-utf8/
2006/07/28(金) 01:48:01ID:r+F+KIBY0
む、500になる。
122tato
2006/07/28(金) 02:00:54ID:+swShs5T0 キャッシュの再読み込み時に文字コード判定をUTF-8にしているようですね。
もし、キャッシュを無視する下記のような方法だとどうなるでしょうか?キャッシュは使えなくなりますが。。。
httpReq.open("GET", urlPrefix + "../" + paths[1] + "/dat/" + paths[2] + ".dat?"+(new Data()).getTime(),false);
#ところで、asyncがfalseのわけは?
もし、キャッシュを無視する下記のような方法だとどうなるでしょうか?キャッシュは使えなくなりますが。。。
httpReq.open("GET", urlPrefix + "../" + paths[1] + "/dat/" + paths[2] + ".dat?"+(new Data()).getTime(),false);
#ところで、asyncがfalseのわけは?
あ...... sunos.saita.ma には mod_headers が入ってなかったんだ......
2006/07/28(金) 03:16:41ID:636jpKTQP
JavaScript重すぎ。
http://pc8.2ch.net/test/read.cgi/php/1147750917/337の案って
<?xml version="1.0" encoding="Shift_JIS"?><response><![CDATA[
動け動けウゴウゴ2ちゃんねる<><>03/08/31 03:53 ID:xo367wqv<> 踏むとスレ立てしたり投稿したりするスクリプトにつて <br> 情報を集めたり対策したりするスレです。 <>■ スレ立て・投稿スクリプト対策
動け動けウゴウゴ2ちゃんねる<>sage<>03/08/31 03:53 ID:Xj/IL/tw<> ( ゚д゚)ポカーン <>
動け動けウゴウゴ2ちゃんねる<>sage<>03/08/31 03:59 ID:xo367wqv<> http://okazu.bbspink.com/test/read.cgi/ascii/1062203672/13- <>
(略)
]]></response>
っていうはったりXMLをサーバーが用意。
※CDATAは、 ]]> だけが使えない。セクションの終りになっちゃうから。
文字コードの変換は行わないで、
><?xml version="1.0" encoding="Shift_JIS"?><response><![CDATA[
と、
>]]></response>
で、はさむだけだから負荷はそんなにない感じ?
JavaScript側は
httpReq.responseText
を
httpReq.responseXML.documentElement.text
に変更するだけ。
って感じかな。誰かできる人試してくれ。
上手く行ったらBeをふりこんで置くように
<?xml version="1.0" encoding="Shift_JIS"?><response><![CDATA[
動け動けウゴウゴ2ちゃんねる<><>03/08/31 03:53 ID:xo367wqv<> 踏むとスレ立てしたり投稿したりするスクリプトにつて <br> 情報を集めたり対策したりするスレです。 <>■ スレ立て・投稿スクリプト対策
動け動けウゴウゴ2ちゃんねる<>sage<>03/08/31 03:53 ID:Xj/IL/tw<> ( ゚д゚)ポカーン <>
動け動けウゴウゴ2ちゃんねる<>sage<>03/08/31 03:59 ID:xo367wqv<> http://okazu.bbspink.com/test/read.cgi/ascii/1062203672/13- <>
(略)
]]></response>
っていうはったりXMLをサーバーが用意。
※CDATAは、 ]]> だけが使えない。セクションの終りになっちゃうから。
文字コードの変換は行わないで、
><?xml version="1.0" encoding="Shift_JIS"?><response><![CDATA[
と、
>]]></response>
で、はさむだけだから負荷はそんなにない感じ?
JavaScript側は
httpReq.responseText
を
httpReq.responseXML.documentElement.text
に変更するだけ。
って感じかな。誰かできる人試してくれ。
上手く行ったらBeをふりこんで置くように
2006/07/28(金) 07:18:47ID:E5cyDbY60
今のread.cgiの出力を単純にこうするだけでもけっこう軽くなるでしょうか?
<form name="datForm">
<textarea style="display:none;" name="namaDat">
(ここにdatをそのまま出力)
</textarea>
</form>
<script src="lib.js"></script>
<script>
showThread(document.datForm.namaDat.value,1,1000);
</script>
<form name="datForm">
<textarea style="display:none;" name="namaDat">
(ここにdatをそのまま出力)
</textarea>
</form>
<script src="lib.js"></script>
<script>
showThread(document.datForm.namaDat.value,1,1000);
</script>
127tato
2006/07/28(金) 09:46:52ID:chE9END/0 今日、別のマシンのIE6で見たらリロードしても文字化けしていませんでした。もしかしてサーバー側で何か変りましたか?
ところで、
httpReq.open("GET", urlPrefix + "../" + paths[1] + "/dat/" + paths[2] + ".dat", false);
httpReq.send(null);
texts = httpReq.status == 200 ? httpReq.responseText.split("\n") : ["[エラー]<><>[エラー]<>[" + httpReq.statusText + "]<>[エラー]", null];
この部分ですが、このままですと着信待たずにresponseText要求して失敗する可能性が高いので、たとえば、
httpReq.onreadystatechange =function () {
texts = httpReq.status == 200 ? httpReq.responseText.split("\n") : ["[エラー]<><>[エラー]<>[" + httpReq.statusText + "]<>[エラー]", null];
}
httpReq.open("GET", urlPrefix + "../" + paths[1] + "/dat/" + paths[2] + ".dat", false);
httpReq.send(null);
オーソドックスにこんな方が良いのではないかと思います。
ところで、
httpReq.open("GET", urlPrefix + "../" + paths[1] + "/dat/" + paths[2] + ".dat", false);
httpReq.send(null);
texts = httpReq.status == 200 ? httpReq.responseText.split("\n") : ["[エラー]<><>[エラー]<>[" + httpReq.statusText + "]<>[エラー]", null];
この部分ですが、このままですと着信待たずにresponseText要求して失敗する可能性が高いので、たとえば、
httpReq.onreadystatechange =function () {
texts = httpReq.status == 200 ? httpReq.responseText.split("\n") : ["[エラー]<><>[エラー]<>[" + httpReq.statusText + "]<>[エラー]", null];
}
httpReq.open("GET", urlPrefix + "../" + paths[1] + "/dat/" + paths[2] + ".dat", false);
httpReq.send(null);
オーソドックスにこんな方が良いのではないかと思います。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【野球】源田壮亮が妻・衛藤美彩に〝決別LINE〟送信か「あとは弁護士と話してほしい」 [ネギうどん★]
- 【野球】源田壮亮が妻・衛藤美彩に〝決別LINE〟送信か「あとは弁護士と話してほしい」★2 [ネギうどん★]
- 出生数が過去最低を更新 子どもはほしいのに金銭問題がネック 抜け出せない"少子化の罠" ★2 [首都圏の虎★]
- 出生数が過去最低を更新 子どもはほしいのに金銭問題がネック 抜け出せない"少子化の罠" [首都圏の虎★]
- 【速報】小池都知事の資産公開、預貯金「0円」 [香味焙煎★]
- 選択的夫婦別姓の導入に「高齢の親世代」も懸念 「孫の幸せ」「先祖代々の土地やお墓」「お葬式や法事」「介護」などを心配 [煮卵★]
- 【速報】石破総理「東京一極集中をやめます。まず私たちから省庁を地方移転、大企業も地方移転させます」百合子大発狂へw [732289945]
- うみもぐ、結婚していた [268244553]
- 【原点回帰】兎田ぺこらのお🏡
- ゴースト・オブ・ツシマ』のアニメ化が発表、ストーリー構成は虚淵玄氏 [838442844]
- ( ・᷄ὢ・᷅ )心療内科から帰ってきたんやが
- 【画像】🇺🇸アメリカの地下鉄、突き落とすのが流行りすぎて「これ」になってしまうwww [834922174]