read.cgi改良スレッド
- 1 名前:名無し娘。 ◆vP.bOZFQ :01/08/28 20:24 ID:vA2A8wXI
- ここは read.cgi の改良だけを専門に扱うスレッドです。
2ちゃんねるで行われている他のプログラム開発や、動作報告・障害報告等に
ついては、それぞれ専用のスレッドが >>2 から参照できますので、
移動してください。お願いします。
●前スレ
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998845501
●read.cgi最新ソースコード(定期的に同期されています)
http://www.gedoh.org/aki/2ch/current/bbs/
http://star.endless.ne.jp/users/forcount/4countbbs/scriptmaker/index.html
●2ちゃんねる軽量化関連スレッド群
>>2
●みなさまへのお願い(急募)
>>3
●前スレで提示されている案・意見の一覧
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998845501&st=868&to=868&nofirst=true
- 2 名前:名無し娘。 ◆vP.bOZFQ :01/08/28 20:24 ID:vA2A8wXI
- ●2ちゃんねる開発統合スレッド(連絡用スレッド)
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998908559&ls=20
●キャッシュ型負荷分散システム開発スレッド
http://cocoa.2ch.net/test/read.cgi?bbs=unix&key=998908154&ls=20
◆2chのような掲示板システムってP2Pで(原案のうまれたところ)
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=990334284&ls=20
◆キャッシュ型負荷分散システムの概観(経緯のまとめ・解説)
http://203.174.72.113/p2pcache/P2Pcache/frame.htm
●read.cgi改良スレッド
ここです
●bbs.cgi 改良案スレッド
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998921988&ls=20
●2chの動作報告はここで。(動作報告・障害報告スレッド)
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=998808733&ls=20
●スキルの高い方知恵を貸してください2号(HTMLの整形、軽量化)
http://natto.2ch.net/test/read.cgi?bbs=hp&key=998774537&ls=20
●2ちゃんねるTiki(全体にわたる参照事項です)
http://www.gedoh.org/aki/2ch/tiki/
◆各種ソースコード最新版
http://star.endless.ne.jp/users/forcount/4countbbs/scriptmaker/index.html
- 3 名前:名無し娘。 ◆vP.bOZFQ :01/08/28 20:25 ID:vA2A8wXI
- ★現在、2ちゃんねるのミラーリングテストに協力してくださる方を募集中です★
CGI利用可能なHTTPサーバーで公開しても良いという方がいらっしゃいましたら、
http://cocoa.2ch.net/test/read.cgi?bbs=unix&key=998908154&ls=20
までご連絡下さい。よろしくお願いします。
★また、2ch.net に追加する新しいCGIがテストできるサーバーも募集中です。
協力してくださる方は、
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=990334284&ls=20
までご連絡下さい。
どんなCGIかは、以下を御参照下さい。
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=990334284&st=537&to=537&nofirst=true
★さらに、2ちゃんねる閲覧ツールを作っている方々へ。
read.cgiに、.datファイルの差分転送・圧縮転送をする機能が加わりました。
閲覧ツールの側で対応してくださると、2ちゃんねるの転送量がかなり軽減できます。
にご連絡下さい。よろしくお願いします。
- 4 名前:名無し娘。 ◆vP.bOZFQ :01/08/28 20:26 ID:vA2A8wXI
- >>3
最後の連絡先はここです(^^;
- 5 名前:名無し娘。 ◆vP.bOZFQ :01/08/28 20:32 ID:vA2A8wXI
- 連絡事項は以上です。。。
みなさま、よろしくお願いします。。。
- 6 名前:| - -) :01/08/28 20:43 ID:vBFldHfk
- zlibを突っ込んだのでcvsを使っている方はcvs up -dしてください。
# コメントを空にしてしまった...
- 7 名前:P2Pスレの266 :01/08/28 20:51 ID://bFJTXs
- スマソ。P2Pcache スレの 266 っす。
差分転送対応の read.cgi の情報はどこへ行けば分かりますか?
どういうパラメータを与えればよいのか調べたいので教えていただけると助かります。
- 8 名前:♯6411 :01/08/28 20:53 ID:ft1AuJx2
- >>7 このへんからかな?
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998845501&st=823
- 9 名前:P2Pスレの266 :01/08/28 20:55 ID://bFJTXs
- >>8
ありがとさんです:)
- 10 名前:♯6411 :01/08/28 20:55 ID:ft1AuJx2
- >>8 あー仕様が述べられてないなあ。
cvsミラーから、最新のread2ch.h探して
それ読んでみてちょ。
- 11 名前:仕様無しさん ◆NwLv.g/w :01/08/28 21:00 ID:pAh9w2Cg
- i-MODE版だと1000越えててもFORMが出るみたい。
あと、スレ止めかかってるときもFORM要らない気がする。
- 12 名前:デフォルトの名無しさん :01/08/28 21:02 ID:/foo1b.s
- http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998845501&st=868&to=868
の中で早急に実装すべきなのは r2chhtml.h 周りなのかな?
さて、どの提案を実装するか…
- 13 名前:仕様無しさん ◆NwLv.g/w :01/08/28 21:07 ID:pAh9w2Cg
- >11のうち、i-MODEの方、修正済。
- 14 名前:前スレの513 :01/08/28 21:10 ID:6S1uJJBo
- http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998845501&st=871&to=871&nofirst=true
(>前スレの871) そうですね ってgzipのソース見てみたら 案外簡単に
その線で手を付けられそうです 今までzlibをブラックボックスとして見ていて
zlib側に手を加えることを考えてませんでした......ってことで ちょっと
やってみようと思います
- 15 名前:デフォルトの名無しさん :01/08/28 21:12 ID:fuFoxE4A
- >8
現在のバージョンは
/* raw=xxx.yyyを有効にする。 xxx=最終レス番号, yyy=そのときのサイズ。
* 一行目はステータス:
* [+OK] の場合は差分のみを送信する。
* [-INCR] (Incorrect)の場合はすべてのデータを送信する。
* [-ERR (テキスト)]の場合はなんかエラーが起きた。
*/
つまり 先頭行で
-INCR が送られて来たら 全部の行の読み直しが送られて来る
でなければ最終レスの次から送られるという仕様のようです
- 16 名前:デフォルトの名無しさん :01/08/28 21:20 ID:un1LZ.0c
- Content-Encoding: deflate
で、Content-Lengthを吐ける(メモリ上で圧縮)ようにしたんですけど、
どこに出せばいいんでしょうか。
- 17 名前:♯6411 :01/08/28 21:26 ID:ft1AuJx2
- >>16 diff(-c or -u)取って済むレベルだったら
ここに貼ってもらえばcommitします。
さもなければ、/incomingに突っ込んでもらうか
直接cvs commitしてもらえれば…
- 18 名前:デフォルトの名無しさん :01/08/28 21:27 ID:Os46TJAs
- >>16
cvs使えるなら
ftp://210.170.170.131/incoming/
の中のそれっぽいファイル参照で。
- 19 名前:前スレの513 :01/08/28 21:28 ID:6S1uJJBo
- >>16 あっもうやってたのね 自転車の再発明をするとこだった(w
- 20 名前:デフォルトの名無しさん :01/08/28 21:31 ID:DJ9Ovvc2
- なんか過去ログ見るのにパスワードが必要になってるみたいなので
read.cgiに過去ログ見る機能をつけるのはまずいかも…。
- 21 名前:名無し娘。 ◆vP.bOZFQ :01/08/28 21:36 ID:vA2A8wXI
- >>20
そうらしいですね。
でもまあ、-DKAKO とかにしとけばよいので。。。。
- 22 名前:デフォルトの名無しさん :01/08/28 21:37 ID:2O23P606
- >>16
前スレ238でこんな報告があるけど大丈夫?
>IEはヘッダにはAccept-Encoding: gzip, deflateと含めているにも
>関わらず、実際にdeflateでエンコードしたデータを喰わせても
>解釈できないです。
- 23 名前:デフォルトの名無しさん :01/08/28 21:37 ID:un1LZ.0c
- >19
いいえ、
ftp://210.170.170.131/incoming/x
にスクラッチから書いたものなので、cvsでのマージは無理です。
gzipもdeflateにヘッダを数バイト足せば良いだけなので、簡単かも。
- 24 名前:デフォルトの名無しさん :01/08/28 21:43 ID:Os46TJAs
- >>23
うは、かなり古いソース元にした上でグローバルとか全部構造体に直したりしてるのね
- 25 名前:♯6411 :01/08/28 21:49 ID:ft1AuJx2
- 手元では、ソースが-funsigned-charベースになってる
んですが、マージしちゃっていいですか?
一通り試したかぎりでは、実害はありません。
- 26 名前:23 :01/08/28 21:55 ID:un1LZ.0c
- はい。著作権放棄(できないけど)なのでいくらでもどうぞ。
- 27 名前:デフォルトの名無しさん :01/08/28 22:04 ID:6S1uJJBo
- >>23 ftp://210.170.170.131/incoming/x/read-x.c ですか?
何か"Content-Length"という文字列が見当たらないんですけど......
- 28 名前:デフォルトの名無しさん :01/08/28 22:14 ID:2O23P606
- >>27
というか、zlibを呼んでるだけに見えるんだけど。
なんか勘違いしてません? >>23
- 29 名前:VC++まだ箱のなか厨房(w :01/08/28 22:15 ID:BD3EkxyY
- 早速某所実況スレ(削除依頼済み)で
30秒リロード強制304
>>** リンク禁止
が貢献していると思われます。ありがとうございます。
- 30 名前:名無し娘。 ◆vP.bOZFQ :01/08/28 22:20 ID:vA2A8wXI
- >>29
やや関連して、いまさらかなり厨房な意見になってしまいますが、
ここはいったん、.datの直読みを禁止(chmod 600)してもらって、
FORTH_304_TIME と gzip 転送を強要してしまうのはどうでしょうか。
かちゅ〜しゃとか使えなくなりますが。
よろしければ、批判要望の方でお願いしてきます。
- 31 名前:デフォルトの名無しさん :01/08/28 22:22 ID:DJ9Ovvc2
- chmod 600だとread.cgiからも読めないとかbbs.cgiから更新
できないとかかなり不都合がありそうですが
- 32 名前:デフォルトの名無しさん :01/08/28 22:23 ID:6S1uJJBo
- >>31 "chmod u+s *.cgi"でダメかね?
- 33 名前:名無し娘。 ◆vP.bOZFQ :01/08/28 22:24 ID:vA2A8wXI
- CUTRESLINKって22時からでしたっけ?
>>30
あと、実況している板が未だにいくつかあるようですので、そういうところを
局地的に #define FORTH_304_TIME 120 とかにしてしまえるよう、
設定関連の SETTING_R.TXT への追い出しもお願いできませんでしょうか。
直接的ですが、転送量削減が至上命題ですから、やむを得ないかと。
- 34 名前:デフォルトの名無しさん :01/08/28 22:24 ID:Os46TJAs
- つーか.dat直読みでかつ差分でなく全文取り繰り返してるような利用って
どんぐらい多いものなのか。
統計チェックできないね。
- 35 名前:デフォルトの名無しさん :01/08/28 22:27 ID:2O23P606
- Content-Length対応素材
char emergency_buf[8192]; /* for html_error */
char *outbuf;
int outlen = 0;
int outalloc = 0;
int gzipped_fwrite(char *buf, int n, int m, void *dummy)
{
int l = n*m;
if ( outlen+l > outalloc ) {
outalloc = outlen+l+4096; /* 多めに */
if ( outlen == 0 ) {
outbuf = malloc(outalloc);
} else {
outbuf = realloc(outbuf, outalloc);
}
}
if ( outbuf != NULL ) {
memcpy(outbuf+outlen, buf, l);
}
outlen += l;
return m;
}
- 36 名前:デフォルトの名無しさん :01/08/28 22:29 ID:2O23P606
- main向け
html_errorはどうにかしないとまずいことに。(メモリが取れないときだけ)
if ( outlen != 0 && outbuf == NULL ) {
outbuf = emergency_buf;
outlen = 0;
html_error("メモリの確保に失敗しました。");
}
printf("Content-Length: %d\n",outlen);
fwrite(outbuf,1,outlen,stdout);
- 37 名前:デフォルトの名無しさん :01/08/28 22:29 ID:DJ9Ovvc2
- 全板FORTH_304_TIME設定でもとくに問題ないと思うけど。
開始時刻と終了時刻は22:00〜3:00に再調整されてるみたい。
昨日の〜6:00ってのはバグが直ってることを確認するため
だけの設定だったのね。
- 38 名前:VC++まだ箱のなか厨房(w :01/08/28 22:30 ID:BD3EkxyY
- どうやら.datが更新されていると30秒以内でもread.cgiが最新を返す
見たいなんですが、
994〜1003あたり別に問題ないみたいですよねぇこれ
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/read14.2.7.c
今導入したソース読んでたんですが
やぱ夜勤さんの導入ミス?
>30
今サーバいじれる人がいない模様・・・批判要望板でねばり強く居座っておきます
- 39 名前:名無し娘。 ◆vP.bOZFQ :01/08/28 22:31 ID:vA2A8wXI
- >>37
こことかunixとかaccuseが2分間リロード制限は不便かなと思ったので。
いや、それでもいいとは思います。
- 40 名前:23 :01/08/28 22:45 ID:un1LZ.0c
- >27, 28
失礼。古いほうのファイルあげてました。あげなおしました。
- 41 名前:デフォルトの名無しさん :01/08/28 22:48 ID:qBsG8MmI
- グローバル変数
int isbusytime = 0;
の下に、
int isimode = 0;
int isnofirst = 0;
をつけ、
strcmp(zz_im, "true")とstrcmp(zz_nf, "true")を
zz_GetEnv()の最後にまとめることをきぼー。
ツール作者に、read.cgiを呼ぶように呼びかけているけど、それは当分無理。
cgiの負荷が原因で規制がかかったりもしたんだし、
そもそもサーバー負荷の点でから、read.cgiを呼ばないように
呼びかけられているんだから。
夜勤さんが最初(でもないけど)に悲鳴をあげたこのスレッドの、
最初の方だけでも読んでよ。
http://green.jbbs.net/computer/bbs/read.cgi?BBS=479&KEY=989936380
圧縮効果がどれほどになるかはリクエストを分析しないとわからないけど、
NotModifiedや、あっても数行の追加レス(とくにチャット状態)
というリクエストの方が圧倒的に多いはずだから、
わざわざCGIを呼ぶように作る人は、
サーバーリソースを重視する人の中にはいないはず。
初読みの時だけ、あるいは前回のリクエストから一定時間以上経過していたら
CGIを呼んで圧縮して返してもらう、等にしてもらえばBestかも。
- 42 名前:デフォルトの名無しさん :01/08/28 22:50 ID:FO4gzHSQ
- >>30
ちょっと極端すぎるんでない?
もともとDAT差分読みが基本でサーバにやさしい2ちゃんブラウザを全部排斥しちゃうの?
ブラウザ作ってる人が皆暇なわけじゃないわけだし、あまり無茶はどうかと思われ
- 43 名前:デフォルトの名無しさん :01/08/28 22:53 ID:DJ9Ovvc2
- ちゃんと効いてるみたいだよ>FORTH_304_TIME
617 名前:594 投稿日:01/08/28 22:49 ID:7Qjv2346
>>605
漏れはindex2.html見てたよ…
read.cgiは30秒制限かかってました…。
- 44 名前:デフォルトの名無しさん :01/08/28 22:59 ID:qisK1mh.
- >>33
設定の変更を行うであろう回数とread.cgiが呼ばれる回数の比を考えたら、
ここはハードコーディングで済ますべきだと思うが
- 45 名前:名無し娘。 ◆vP.bOZFQ :01/08/28 23:00 ID:vA2A8wXI
- chmod 600 じゃなくて、/dat/.htaccess でしばっても可ですね。
>>42
その通りで、作者の皆さんには失礼だとはわかっていますが、あと3日で
転送料を現状の3/4程にしないといけないわけですし、2ちゃんねる
そのものの存在がかかっていますから、今すぐとはいわずとも、選択肢に
入れておく必要はあると思います。
- 46 名前:| - -) :01/08/28 23:02 ID:vBFldHfk
- FORTHじゃなくてFORCE...
- 47 名前:名無し娘。 ◆vP.bOZFQ :01/08/28 23:03 ID:vA2A8wXI
- >>44
単純にその問題に限っていえば、read.cgiは/板名/以下にあるわけでは
ないですから、板毎に設定可能にするためには、板毎の FORTH_304_TIME を
.hあたりに記述することになりますね。
そのあたりの効率は、実行する方にお任せします。
- 48 名前:名無し娘。 ◆vP.bOZFQ :01/08/28 23:04 ID:vA2A8wXI
- >>46
・・・逝ってきます
- 49 名前:デフォルトの名無しさん :01/08/28 23:05 ID:qBsG8MmI
- こんな感じかい?
#defineが足りないけど。
zz_GetEnv()の最後に
readSettingFile(zz_bs);
}
void readSettingFile(const char *bbsname)
{
char fname[1024];
char buff[1024];
FILE *fp;
sprintf(fname, "../%.256s/SETTING_R.TXT", bbsname);
fp = foepn(fname, "r");
if (fp) {
/* SETTING_R.TXTを読む */
while (fgets(buff, sizeof(buff), fp)) {
if (*buff && *buff != '\n' && *buff != '#' && *buff != ';') {
char *value = strchr(buff, '=');
if (value) {
*value = '\0';
if (strcmp(buff, "FORCE_304_TIME") == 0) {
zz_FORCE_304_TIME = atoi(value);
}
} /*else if () {}*/
}
}
fclose(fp);
return;
}
/* SETTING_R.TXTがない場合、デフォルト値を設定 */
zz_FORCE_304_TIME = FORCE_304_TIME_DEFAULT;
}
- 50 名前:デフォルトの名無しさん :01/08/28 23:06 ID:DKvFcTZ2
- だからアクセスログの解析しないと、その辺も決めきれないよ。
返って負荷増やす結果になりかねん。
夜勤さん来たら頼んどいてね
- 51 名前:名無し娘。 ◆vP.bOZFQ :01/08/28 23:13 ID:vA2A8wXI
- >>49
はい。そんな感じかと。
>>50
解析できれば簡単ですが、できない場合は「やってみて様子見」の覚悟も
必要でしょうね。極めて短期的な負荷増はこの際問題ではないですから。
ま、どちらにしても夜勤さんにおうかがいです(^^;
- 52 名前:名無しさん@揚げ足 :01/08/28 23:14 ID:ETz9dJDM
- 告白します
今日気付いたんですが、F5を3回連続で叩く癖がついていました
無意識に新しいのを読み込もうとしちゃいます どーしよー
- 53 名前:デフォルトの名無しさん :01/08/28 23:15 ID:6S1uJJBo
- >>49 mmap()の方がいいかも
- 54 名前:名無し娘。 ◆vP.bOZFQ :01/08/28 23:20 ID:vA2A8wXI
- >>51
訂正。解析できても簡単じゃないです(汗
- 55 名前:49 :01/08/28 23:21 ID:V02xO5sc
- じゃあ、少しまじめに
atoi(value) -> atoi(value+1);
#define FORCE_304_TIME_DEFAULT 30
グローバルに
int zz_FORCE_304_TIME;
判定している部分で
if (... FORCE_304_TIME ...) → if (... zz_FORCE_304_TIME ...)
#ifdefで囲む必要もありそう
俺、mmap知らんのや。
(else ifのネストもおかしかった)
でも、誰かがmergeしてくれるのを待つだったり。
動作確認してないし。
- 56 名前:デフォルトの名無しさん :01/08/28 23:26 ID:DKvFcTZ2
- ■提案■
「最新レス100」の隣に、「このあと追加されたレス」ボタンを置く。
リンクは、そのページでたとえば113まで表示されていたら114からの範囲指定。
ない場合のエラーメッセージをゆるくする。
たとえば「指定されたレスはまだありません、ブラウザの戻るボタンで戻ってください」
リロード対策。
- 57 名前:♯6411 :01/08/28 23:27 ID:ft1AuJx2
- スマソ、今本業中なので(苦笑
アイディア山車だけ。
誰か、Expire実装しといてくれない?
漏れ的には、5秒程度でいいような気がしたーり。
- 58 名前:名も無き :01/08/28 23:29 ID:7XRvfoXo
- 流れと関係無いけど
「レス1-100」を作れば
スレが始まった直後を見るために
レスを全部見る必要がなくなると思うのだが。
- 59 名前:名も無き :01/08/28 23:32 ID:7XRvfoXo
- >>56
ナイスですな。
- 60 名前:♯6411 :01/08/28 23:32 ID:ft1AuJx2
- >>51 どーでもよくないことなんだけど…
串ユーザの割合ってどれくらいだろう?
夜勤さんとか来たら、ちょっと測ってもらいたし。
キャッシュサーバにかなり有効な最適化
図れるんだけど…
- 61 名前:デフォルトの名無しさん :01/08/28 23:36 ID:CBolE./M
- >>58 今ついてる奴じゃ駄目なのか?
- 62 名前:デフォルトの名無しさん :01/08/28 23:36 ID:jC7qg.Nk
- >>56
賛意。
現在はスレの一番下からは、どこにも飛べない設計になっているよね。
従ってインターフェィス的に100%ブラウザーのreload押されると思われ。
実装に手間かからないのも魅力的。(笑
- 63 名前:てすと :01/08/28 23:37 ID:8Eh1e7h6
- >>56
既にソースの中には実装されているはずです。
まだ動作確認や組み込みは行われていませんが・・・。
- 64 名前:名無し娘。 ◆vP.bOZFQ :01/08/28 23:38 ID:vA2A8wXI
- >>60
夜勤さん見かけたらきいておきます。
- 65 名前:♯6411 :01/08/28 23:47 ID:ft1AuJx2
- >>64 さんくす
いったん自宅に帰ろう…本業が煮詰まったでのう。鬱…
- 66 名前:デフォルトの名無しさん :01/08/28 23:51 ID:6S1uJJBo
- さっきUNIX板(cocoa)で"Internal Server Error"が一時的に出てたけど......
ひょっとすると"Couldn't spawn child process"のような気がする......
やっぱzlibの方がいいね
- 67 名前:デフォルトの名無しさん :01/08/28 23:54 ID:cccdonUU
- >63
-DRELOADLINK ?
- 68 名前:デフォルトの名無しさん :01/08/28 23:58 ID:1vYPgdGY
- >>66
bbs.cgiが吐いているんじゃないの?
bbs.cgiいじっているようだし。
DolBackyさん出動中かな?
- 69 名前:てすと :01/08/28 23:59 ID:8Eh1e7h6
- >>67
そうです。
置く場所や、HTMLの部分は適当に書き換えてください。
- 70 名前:デフォルトの名無しさん :01/08/29 00:00 ID:344OCV4A
- >>68 いやread.cgiの方も出てた
- 71 名前:名も無き :01/08/29 00:04 ID:CYESa.LE
- うーむ
プログラム中での"line"は
レス単位だったのか・・・・
- 72 名前:名も無き :01/08/29 00:08 ID:CYESa.LE
- >>61
read.cgiにも欲しいかなー・・と。
- 73 名前:デフォルトの名無しさん :01/08/29 00:15 ID:zFPSp17Q
- >>72
そうだね、read.cgiの出力に直行性がなくて
(したくもないのに)全部ロードするしかないことが多いね。
だれか強権的にインターフェイス揃えちゃえば?
- 74 名前:Sherry ◆RKMbxbuc :01/08/29 00:16 ID:RKxEDv6s
- >>前スレ800
access.log 公開って難ありなんでしたっけ?
コードを渡して実行してもらう方式だと,夜勤さんに結構
手間かけちゃうのと,解析結果をみて更に詳しい解析を‥‥‥
とかがしにくくなっちゃうかと.(^^;
前スレ711,713あたりをみて公開できるものなのかと思ってましたが(^^;
とりあえず,前スレ757-759使えばIPは隠せるので公開しても
大きな問題はなさそうなものですが・・・どうなのかな?
- 75 名前:デフォルトの名無しさん :01/08/29 00:20 ID:zFPSp17Q
- >>73に補足
「この前の100」「この次の100」とかもありそうでなかったりするから、
結局全部ロードすることになる。
範囲指定したときかな?
index2.htmlにならんでるスレッドの「1-100」を選んだときに、
最下行に「次の100レス」がない。
- 76 名前:デフォルトの名無しさん :01/08/29 00:20 ID:x5yXcrTI
- lsを使った読み込みの場合、前10レスが短時間たとえば5分で消費されてる
場合専用ブラウザ使ってくださいというダイアログがでるのはどうでしょうか?
JAVA切ってるとクッキーを作らないのでJAVA入れるしかなくしておいて
まあProxomitron使われると終わりでしょうが
- 77 名前:名も無き :01/08/29 00:28 ID:CYESa.LE
- >>75
範囲を直接指定できるようにすれば?
フォームがかさばるかもしれんけど
ま、そういう機能がほしけりゃカチューシャ導入してるかな?
- 78 名前:デフォルトの名無しさん :01/08/29 00:28 ID:pDIT9tbQ
- 某板の過去ログサイトなのだが、こういう UI はどう?
http://orihara.virtualave.net/cgi-bin/read.cgi?key=950391528&page=1
- 79 名前:名も無き :01/08/29 00:30 ID:CYESa.LE
- >>78
イイ!
100ごとのページ表示なんかなんで
今まできづかなかったんだろう
- 80 名前:デフォルトの名無しさん :01/08/29 00:33 ID:zFPSp17Q
- よさそうに見える
荒らしのきついスレとか、「多分この辺まで嵐だから飛ばそう」とか
あたりをつけて見ることが、結局通信料の抑制につながることは多いだろうし
- 81 名前:名無し娘。 ◆vP.bOZFQ :01/08/29 00:34 ID:moOhcWuk
- >>74
IP(と場合によってはリモートホスト)と、bbs.cgiへのアクセスの部分を
排除すれば、大きな問題はなさそうですが。。。うーん。
鯖のポリシー、サイトのポリシー次第でしょうから、気にかかるんですよね。
なんにせよ、おうかがいはたててみましょう。
CUTRESLINKされるおかげで、該当レス読むために50レスだのスレ全体だのが
リクエストされてるんではないか、という心配もあるし。
- 82 名前:デフォルトの名無しさん :01/08/29 00:35 ID:zFPSp17Q
- read.cgiの方は使い勝手よくしとかないと、
ストレスたまってindex2.htmlの消費量を増やすんじゃないかと思う、
憶測だが、自分の経験だと。
- 83 名前:デフォルトの名無しさん :01/08/29 00:37 ID:x5yXcrTI
- >>82
index.htmlを使いにくくすればいい(w
- 84 名前:デフォルトの名無しさん :01/08/29 00:40 ID:zFPSp17Q
- 使いにくくしてもしかたないのでは?
つまらなくするならわかるが
(ネタだろうけど、戦略レベルでは結構示唆するところがあると思うのでマジレス)
- 85 名前:デフォルトの名無しさん :01/08/29 00:42 ID:344OCV4A
- >>49 >>55 のをmmap()化してみたり mmap()化で変わる部分だけ抜粋
int fd;
fd = open(fname, O_RDONLY);
if (fp >= 0) {
/* SETTING_R.TXTを読む */
char *cptr;
void *mmptr;
struct stat st;
fstat(fd, &st);
mmptr = mmap(NULL, st.st_size, PROT_READ, MAP_SHARED, fd, 0);
for (cptr = mmptr; cptr && *cptr; cptr = strchr(cptr, '\n'), cptr?cptr++:0) {
if (*cptr != '\n' && *cptr != '#' && *cptr != ';') {
if (!strncmp(cptr, "zz_FORCE_304_TIME=", 18)) {
zz_FORCE_304_TIME = atoi(cptr+18);
}
} /*else if () {}*/
}
munmap(mmptr, st.st_size);
close(fd);
}
# それにしても ここにそのままコード貼り付けると半角スペースがつぶれて
# インデントがなくなっちゃうから不便だぁ
- 86 名前:Sherry ◆RKMbxbuc :01/08/29 00:42 ID:RKxEDv6s
- >>81
bbs.cgi って POST だから投稿内容等は全部ログには出ないのでは...?
とりあえず,夜勤さんの反応待ちですね.(^^;
公開してもらうにしろ,スクリプト実行してもらうにしろ,
可能なのかまだわかりませんから...
- 87 名前:デフォルトの名無しさん :01/08/29 00:50 ID:zFPSp17Q
- >>83-84
とにかく、全体の通信量の削減のためには、
通信量の割にユーザを拘束する時間が長いのがベストで、
そうならない改造はすべて改悪と言ってよいのだから……
ユーザを拘束するまっとうな手段は、
通信量の割に濃い内容を提供することだけど、
誰かがジョークで言ってた「sleepする」ってのも、
条件的にはありえない選択ではないのよね。
特にテレホタイム直後のみでも。
エキサイトメールとかは多分そうしてたんだろう。
まあ、BIG-Serverのポリシーに反するからここでは厳しいだろうけど。
最後の手段の一つということで。
- 88 名前:デフォルトの名無しさん :01/08/29 00:51 ID:8IZ77cwc
- >>78
いいですね。そうなるとむしろ「全部読む」が要らないかも。
- 89 名前:名無し娘。 ◆vP.bOZFQ :01/08/29 00:52 ID:moOhcWuk
- >>85
今の状況だと、read.cgiは、考え得るすべての選択肢をすべて実装しておき、
夜勤さんが、手軽に&感覚的にいろいろ設定を変えて様子をみられる状態に
しておくべきかな、と思うので、よろしくです。。。
>>86
もちろんそうですが、POST に関しては一切情報を出さないくらいじゃないとなぁ、と。
IP消すんだから、別にいいような気もしますが。
もしかすると、あぼーんスクリプトのlogも消さないといけないのかも。
# あぼーんがhttpd経由かは確信がないです。
- 90 名前:98er ◆8OGY65D6 :01/08/29 00:52 ID:Bn7Ijhjg
- >>85
流出した SETTING.TXT は perl の CGI で、普通に呼び出されたら
設定を出力するようになっているんです。
それに沿うようにするなら SETTING_R.TXT も cgi にするべきかも。
- 91 名前:デフォルトの名無しさん :01/08/29 00:53 ID:zFPSp17Q
- コーディングに参加したいけど手元にUNIXとかwebサーバがない
コンパイル通る程度でいいの?
- 92 名前:デフォルトの名無しさん :01/08/29 00:55 ID:pDIT9tbQ
- >88
要らないというか使わせないという感じかな。
>91
Win なら cygwin をインストール。
- 93 名前:デフォルトの名無しさん :01/08/29 01:03 ID:x5yXcrTI
- >>78
の様なUIにするならインデックスを1つごと作るのではなく
1,101,201...901の位置にだけ作ってしまえばいいのでは
- 94 名前:91 :01/08/29 01:13 ID:zFPSp17Q
- >>92
入ってるけど、何の関係が?
gzip使ってるからかな?
- 95 名前:デフォルトの名無しさん :01/08/29 01:13 ID:uqhD7TfA
- 今更ですが、sageの場合、メアドリンクしないことにしませんでしたっけ?
- 96 名前:名無し :01/08/29 01:14 ID:rLkLso.k
- ftp鯖ってどこにありますか?
- 97 名前:♯6411 :01/08/29 01:17 ID:hO/EUIjQ
- 自宅に帰ってきたら、
cutreslinkが動くようになってきてしまった…鬱だ
手元で外せばいーんだけど。
- 98 名前:名無し娘。 ◆vP.bOZFQ :01/08/29 01:18 ID:moOhcWuk
- 夜勤さんがいらっしゃるのですが、インストールできる状態の新バージョン
ありますか?
# 夜勤さんのお時間があるかどうかはわかりませんが。
- 99 名前:名無し娘。 ◆vP.bOZFQ :01/08/29 01:20 ID:moOhcWuk
- 夜勤さん提供情報
http://news.kakiko.com/mentai/20010829/
- 100 名前:♯6411 :01/08/29 01:21 ID:hO/EUIjQ
- >>95
sageの場合、わかりやすい(?)ように、
boldを外してしまう、という仕様にしましょうか?
- 101 名前:名無しさん@揚げ足 :01/08/29 01:22 ID:lUWuNogA
- read.cgiに前100付けるなら、imode版の先頭にもつけて欲しいです
imode-phsだとキャッシュを有効利用し、スレ開いて前前前前と読んで
オフラインし、連続で読みが出来るのです
ついでに1がデカイ事があるので、1だけ次のレスへのジャンプが出来ると
さらに使い勝手が上がって助かります
- 102 名前:名無し娘。 ◆vP.bOZFQ :01/08/29 01:25 ID:moOhcWuk
- いちおうコピペ
811 名前:夜勤 ★ 投稿日:01/08/29 01:16 ID:???
"Since it our general policy not to install modules within our existing
apache, this needs to be done by hand and will take some time.
Gary"
- 103 名前:| - -) :01/08/29 01:28 ID:Pq4nSXsY
- >>102
予想通りの結果になったなぁ。
とりあえず今のCVSバージョンは
・COOKIE処理はやっぱりJavaScript側でやらせるようにする(キャッシュされてキャップパスがばれる可能性があるから)
・RAWOUT, USE_PATH追加
・HTMLの更なる最適化
・zlibを含めるように
くらいかな?
このバージョンで一回tryしてみますか。
- 104 名前:%95 :01/08/29 01:30 ID:uqhD7TfA
- >>100
boldを外すと、fusianasanの見分けが付かなくなるので、
例えば名前のbold外に*をつける位でよろしいかとおもいます
- 105 名前:デフォルトの名無しさん :01/08/29 01:31 ID:yQuoniQU
- "<a href="mailto:sage "><b>さげ名無し </b></a>"
"<font color=green><b>あげ名無し </b></font>"
"<font color="#660099">さげ名無し </font>"
"sage "直後の空白は、「メール欄の最後がシフトJIS1バイト目以外なら」出力せずに済む。
名前欄も同様(見かけが変わるけど)
- 106 名前:名無しさん@揚げ足 :01/08/29 01:31 ID:lUWuNogA
- >>99
コロッケ台風の時のkabaは無いでしょうか?
祭りモードでピーク時の様子も見てみたいのですが
- 107 名前:♯6411 :01/08/29 01:36 ID:hO/EUIjQ
- >>104 あっそうか、fusianasan忘れてた。
>>105 ちょっと考えてみたが、boldのblueってのはどうだろう?
(個人的にはstrike使ってみたい)(w
- 108 名前:名無し娘。 ◆vP.bOZFQ :01/08/29 01:38 ID:moOhcWuk
- 今日の夜勤さん。。。
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=998943001&st=757&to=811&nofirst=true
お知らせくらいのお時間しかなかったようで。。。
- 109 名前:デフォルトの名無しさん :01/08/29 01:39 ID:yQuoniQU
- ごめん、今は、
"<a href="mailto:sage ">さげ名無し </a>"
だね。
何にしろ、hrefを減らすとしても<font color=> </font>が入るから、
あんまり差が出ないか、逆効果かもしれないよ。
まあ、isbusytimeは強引に
"<b>さげ名無し </b>"
ってものありかも。
- 110 名前:♯6411 :01/08/29 01:39 ID:hO/EUIjQ
- >>107 ためしに実装してみたら、
一瞬違和感感じてしまった(w
でも、これでいいかな、どうでしょう?
さらなる意見求む。
- 111 名前:109 :01/08/29 01:40 ID:yQuoniQU
- 前半大間違い。
- 112 名前:音楽侍 ◆NtVkSITE :01/08/29 01:43 ID:IJ0kRMgU
- sageでの表示にまで話がいっているようですが、
必要充分以上の改変は、控えた方がよいと思いますよみなさん。
- 113 名前:♯6411 :01/08/29 01:46 ID:hO/EUIjQ
- >>110 color=#0000c0 にしてみたら、
なんかいい感じな気もしないでもないが…
公開鯖でないので見せてあげられないのが残念
- 114 名前:screamer_j(91) :01/08/29 01:50 ID:zFPSp17Q
- reload_link、stが存在しない範囲を指してるとレス#1だけ表示されるね。
これだとわかりにくくて使ってもらえない可能性大だね。
stが指してる場所が範囲外だったらすべてエラーにする?
それともreload_link専用の属性(たとえばrl)を用意すべきだと思う?
- 115 名前:デフォルトの名無しさん :01/08/29 01:52 ID:pDIT9tbQ
- >94
いや、apache もあるしcygwin環境でも十分試せると思って。
>114
st=lineMax+1 じゃなくて st=lineMax にすればいいと思う。
- 116 名前:| - -) :01/08/29 01:55 ID:Pq4nSXsY
- 今はとにかく転送量を減らすのが目的なので出来るだけ圧縮が効くように
同じタグを配置したり無駄なものを排除した方がいいと思います。
# しかしread.cgiはもう限界近いような気が。index2.htmlの圧縮はどう
# なっているんだー
- 117 名前:♯6411 :01/08/29 01:56 ID:hO/EUIjQ
- >>114 st=(最後のカキコ) だと
ちょっとうまく逝くんじゃないかな。
それを使う人はたぶん、reload_linkをしばらく
リロード連打するだろうし。
- 118 名前:♯6411 :01/08/29 01:58 ID:hO/EUIjQ
- >>116 sage変造のサンプルをcommitした
(ただし殺してある)ので、見てみてくだちい。
エンドユーザの串依存率が低くないのであれば、
とてもよく効く妙案があるんですが…
- 119 名前:♯6411 :01/08/29 01:59 ID:hO/EUIjQ
- >>115 かぶった スマソ
- 120 名前:デフォルトの名無しさん :01/08/29 01:59 ID:zoK3HkEs
- イッソノコト2ch用プロトコル(2ch://〜)ヲ開発スルトカ。
htmlムダ多スギ。
- 121 名前:デフォルトの名無しさん :01/08/29 02:02 ID:npmpuEU2
- bbs.cgiをアップしてくれるそうなので、
ftp://210.170.170.131/incoming/を
使ってもいいですか?
- 122 名前:screamer_j(91) :01/08/29 02:06 ID:zFPSp17Q
- >>115(前)
ごめんちょっと意味わかんない。
説明めんどくさかったらほっといていいよ、
テキスト出力でどうにかするから。
>>115 >>117
しまった、もしかしてソースはそうなってるのかな?
グローバル変数が多くて名前が変でソース見ただけでよくわからなかった、
ちょっと迷惑かけた。
このコードはデバッガで追わないとダメなようだ、少し潜伏する。
- 123 名前:- :01/08/29 02:07 ID:lLO5yHHU
- imode=true のとき、先頭に [最新レス10] が出るけど、ls=10 は不要。
その変わりに、nofirst=true が付いてたほうが使いやすいと思うのだけど
いかがですか?
- 124 名前:デフォルトの名無しさん :01/08/29 02:11 ID:npmpuEU2
- ftp://210.170.170.131/incoming/bbs_cgi/bbs.cgiに
アップしてくれました。
- 125 名前:名無しさん@MZ-2000 ◆Ewz1Jtuw :01/08/29 02:13 ID:nZtnifzg
- >>123
nofirst=true に激しく同意。
imode 時に 1 がデカイと後ろが見れなかったりするんで
1 いらないです。
- 126 名前:- :01/08/29 02:15 ID:n8N3Cozs
- mod_gzip が入ることはなくなったってことだと、
index2.html は cgi にして、gzip圧縮を組み込んだ方が
転送量削減になるだろうなぁ
- 127 名前:素人考えですが :01/08/29 02:18 ID:f4hB04xU
- Last-Modified は.datの更新日時を出力してるようですが、
表示される中の最新の書込み日時にしたら、
多少はキャッシュ効率上がるような気がしないでもないです
未来の日時だとどういう動作するんだろ?
- 128 名前:名無し娘。 ◆vP.bOZFQ :01/08/29 02:18 ID:moOhcWuk
- >>126
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998921988&st=121&to=121&nofirst=true
こんなものですね。
- 129 名前:♯6411 :01/08/29 02:19 ID:hO/EUIjQ
- >>127 実装はまだだけど検討中。
あぼーんされたときも「更新された」と見なさないと
いけないので、現仕様の dat だと難しいのだ。
- 130 名前:♯6411 :01/08/29 02:20 ID:hO/EUIjQ
- >>125 いっそのこと、スレ一覧生成も、
read.cgiがやっちまおうか(w
スレ一覧の元データがどこにあるかは知らんけど。
- 131 名前:名無し娘。 ◆vP.bOZFQ :01/08/29 02:21 ID:moOhcWuk
- >>129
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998845501&st=823&to=825&nofirst=true
と同じ方向ではだめでしょうか?
- 132 名前:名無し娘。 ◆vP.bOZFQ :01/08/29 02:24 ID:moOhcWuk
- >>130
復帰の時には /dat/...dat を更新日時順にリストアップする。
それ以外(通常)の時は、bbs.cgiがage,sageを一々判別して
リストを更新する。
。。。ということのはずです。
- 133 名前:♯6411 :01/08/29 02:25 ID:hO/EUIjQ
- >>131 生datと違って元サイズを取得できる
わけじゃなし…(涙
こうなったらどこかに独自の
「あぼーん追跡スコアボード」を実装
しようかしら(w
- 134 名前:♯6411 :01/08/29 02:29 ID:hO/EUIjQ
- >>132 う。bbs.cgiが握ってるのか…
もし独自に実装するとしたら、こんなんかな。
・indexのスコアボードを持つ。
・read.cgiが呼ばれたときに、最終not sage時刻を
取得し、スコアボードに挿入
・ときどき、/dat/のmtimeを取得し、リスト再生成。
- 135 名前:369 ◆3XTuRnAc :01/08/29 02:29 ID:TkQkeuao
- >>124
サーバーから消えてます>bbs.cgi
- 136 名前:名無し娘。 ◆vP.bOZFQ :01/08/29 02:30 ID:moOhcWuk
- >>133
ブラウザ側の対応無しででしたね(泣
- 137 名前:♯6411 :01/08/29 02:33 ID:hO/EUIjQ
- ところで今晩はもう、テストの機会はないのかな?
夜勤さん、忙しいみたいだし…
- 138 名前:名無し娘。 ◆vP.bOZFQ :01/08/29 02:35 ID:moOhcWuk
- >>137
おそらく。明日(今日)は明日で、東京でひろゆきさんたちとお話し合いでしょうし。。。
あぼーんの特徴:日付欄に「あぼーん」がある
透明あぼーんの特徴:......行数が変わるだけ??
- 139 名前:♯6411 :01/08/29 02:36 ID:hO/EUIjQ
- ソースよく見たら、.datをロックしてない…
mmapにすると、あぼーんの瞬間などに
道を踏み外して氏んだりする事故が0じゃない予感。
bbs.cgi側でどんなロックを行ってるか
聞かないと、うかつに手を出せぬ。
- 140 名前:デフォルトの名無しさん :01/08/29 02:36 ID:npmpuEU2
- >>135
消えていますね。保存したのでアップできるけど、
bbs.cgiをアップするのはやめたほうがいい?
- 141 名前:デフォルトの名無しさん :01/08/29 02:38 ID:pDIT9tbQ
- >135
いわゆる 17 スクリプトじゃないの?
それ以外の bbs.cgi はないような。
- 142 名前:デフォルトの名無しさん :01/08/29 02:41 ID:nZtnifzg
- ### bbs.cgi ver 2.31 (2001/08/22)
ってやつだったよ。 17 スクリプトってなに? 解説きぼーん
- 143 名前:デフォルトの名無しさん :01/08/29 02:43 ID:npmpuEU2
- >>142
これだね。
http://corn.2ch.net/test/read.cgi?bbs=php&key=998794497
- 144 名前:デフォルトの名無しさん :01/08/29 02:44 ID:e.DANeaQ
- >>141
> いわゆる 17 スクリプトじゃないの?
そのようです。
- 145 名前:デフォルトの名無しさん :01/08/29 02:46 ID:npmpuEU2
- >>144
17スクリプトはver 2.24だったよ。
http://www.apc.7777.net/file/bbs2ch/bbs.txt
- 146 名前:名無し娘。 ◆vP.bOZFQ :01/08/29 02:47 ID:moOhcWuk
- んと、今回の一連でもどこかであがった、5月くらいにもあがっていた、
そんなbbs.txtもってますけど、一時的にアップしましょうか?
- 147 名前:デフォルトの名無しさん :01/08/29 02:47 ID:Tnne8bxg
- 転送量(料)の増加で2ch閉鎖の危機!8
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=999018066
夜勤さん、ここにいらっしゃるようです。
- 148 名前:♯6411 :01/08/29 02:50 ID:hO/EUIjQ
- 今日は寝るす。鬱だ氏のう
- 149 名前: