1 :
デフォルトの名無しさん :
01/08/27 02:05 ID:X39t/WHk
2 :
VB厨房 :01/08/27 02:08 ID:X/iR3zI2
曜日出せゴルァ
3 :
デフォルトの名無しさん :01/08/27 02:10 ID:pckFEAaY
ap_parseHTTPdate の *.o (Linux/x86) だけ ftp put するのって 最初からオープンソースで改造もしてないからok?
夜勤さんの発言見る限り、タグ関連は今日無理だね。 引き続きWeb製作板で煮詰めるってことで。
5 :
348 :01/08/27 02:15 ID:ynZt.qo6
曜日の出力は bbs.cgi の担当でしょ。 ここは read.cgi の改良スレ。
>>5 お疲れさまです。
>>4 タグ関連は、見た目も機能も若干変わるので、夜勤さんあたりにチェックして
いただきたいんですよね。
だから、それまでにわかりやすく、変更可能箇所の一覧表を作っておかないと。
8 :
801 :01/08/27 02:18 ID:CbLq.TAQ
read12.c 1045行目 × Shift-JIS ○ Shift_JIS ですね
10 :
:01/08/27 02:22 ID:PjarvU3M
2chを国家事業か、財団法人にしてくんねーかな? もちろん今までのスタンスを維持したまま。
11 :
デフォルトの名無しさん :01/08/27 02:23 ID:pckFEAaY
>>10 現状のニュース速報板の偏りでは無理かと思われ
12 :
デフォルトの名無しさん :01/08/27 02:23 ID:ynZt.qo6
この辺りを決めないと卵とニワトリの議論になってしまうんですけど…。 夜勤さんに質問なんですが、レイアウトはどこまで変えていいのでしょうか? 名前の色を緑に変えるのをやめる、などのレベルから、index2のtableをやめる、 などありますが。実際、あめぞうスレッド形式を保つだけというもので、サイズを かなり小さくしたものもあります。 見かけを変えずに省略できるものを先に議論していますが、これが決まらないと 大きくサイズを変えるのは難しいと思います。
14 :
348 :01/08/27 02:25 ID:ynZt.qo6
15 :
:01/08/27 02:27 ID:PjarvU3M
分散したほうが言いかと思う。
>>12 ありがとうございますです。makefile.txt -> Makefile.txt ですね。
>>13 夜勤さんよんできます。。。
17 :
:01/08/27 02:29 ID:PjarvU3M
19 :
348 :01/08/27 02:32 ID:ynZt.qo6
20 :
デフォルトの名無しさん :01/08/27 02:34 ID:pckFEAaY
util_date.o util_date.h を put しました・・・(Linux 2.2 でいいんですよね)
21 :
最新版 :01/08/27 02:36 ID:ynZt.qo6
かちゅ〜しゃで書き込むとエラーになる。 でも正常に書き込まれてますけど。 これって戻り値が変わったりしたからなのかな?
24 :
まなまな :01/08/27 02:49 ID:Z0uHwNnU
つい先ほどこの騒ぎを知りました。 今のところ正常に読み書きできています。 すべての書き込みに目を通したわけではないので、重なっていることかもしれませんが。 1. CPU負荷に余裕があるなら gzip -9 を使う。 2. zlib を使う 3. mod_gzip だと差分ロードができない >初回はaccept:gzip で、差分ロードする場合はnon gzipped ということで(リーダーを改造)。 >もっともmodはCGIではないですが... 4. 前のレスへ飛ぶリンクをつける >全部読む人が減ると思う。 っと、zlib対応は進んでいるようですね。 私は明日から北海道に逃亡しているので、口も手もだせなくなるんですが。 帰ってきて、まだ問題が続いていれば何か手伝いたいと思います。 一応Cは4年ほどやってますので。
なんか、エラーを表示するときにちゃんと終了処理をしていないっぽいように見えますが... 具体的にはhtml_errorとhtml_error999のexit(0);の前にmain()と同等の 終了処理(#ifdef GZIP ... #endif)を入れるべきでは?
>>25 つうか終了処理はatexit()使えば?
28 :
デフォルトの名無しさん :01/08/27 03:06 ID:19Gxyyi6
>>28 bbs.cgiはまだ公開されてない。運営側が改造しつづけてる。
>>26 gzip関連プロセスの終了部分を別関数にするのかな。
>>27 cgi内部のエラーだからまあいいか、なんて。
33 :
369 ◆3XTuRnAc :01/08/27 03:17 ID:xXHglqmc
read12.fix2.c の outhtml1関数内にある 配列 r0,r1,r2,r3,r4 って、いらないのでは?(235行目) 使ってないよ。
36 :
369 ◆3XTuRnAc :01/08/27 03:19 ID:xXHglqmc
あ、デフォルトさんの参考資料見てなかったです。
38 :
37 :01/08/27 03:22 ID:NB7BRIbo
ゴメソ、もう一箇所。 gzopenしてからputchar(っつーかgzputc)しないと意味なし。
39 :
37 :01/08/27 03:26 ID:NB7BRIbo
>>35 r4はつかってますよね。。。しかし、なんだろう、これ。
消していいのかな(笑
>>37 -38
よくわからないのですが。。。
putcharはこれでうまくいってるのですよね?>リロード時先頭欠け問題
42 :
35 :01/08/27 03:28 ID:IEyvqrHU
43 :
348 :01/08/27 03:29 ID:ynZt.qo6
44 :
369 ◆3XTuRnAc :01/08/27 03:30 ID:xXHglqmc
えと最初のfix3、バグがあります。buildがうまく行きません。
45 :
348 :01/08/27 03:33 ID:ynZt.qo6
まじですか?
46 :
デフォルトの名無しさん :01/08/27 03:33 ID:pckFEAaY
- gzFile * + gzFile じゃねえのかい
47 :
デフォルトの名無しさん :01/08/27 03:35 ID:pckFEAaY
318行目printf残ってる
49 :
37 :01/08/27 03:37 ID:NB7BRIbo
終了処理コードの追加部分、'pid'がないといわれている。 pidをグローバルにしないとだめ?(いやだなー)
50 :
デフォルトの名無しさん :01/08/27 03:37 ID:pckFEAaY
前スレに出てる通り gzFile と FILE* はまとめた方がいいよ (ポインタサイズだから大丈夫だろうけど)
51 :
348 :01/08/27 03:38 ID:ynZt.qo6
ではバグ有りは 私が上げたやつですか? おかしいな改変してないんだけど・・・
いや、ちょっといろいろなおしてあげなおします。 gcc通るけどmake通らなくなっちゃった(汗
53 :
348 :01/08/27 03:44 ID:ynZt.qo6
しかし・・・ かちゅの不具合はどうにかならんかなぁ
55 :
369 ◆3XTuRnAc :01/08/27 03:51 ID:xXHglqmc
>>諸氏 ご指摘サンクスです。 /home/ftp/incoming/2ch-read-current/read12.zlib-02.c こんな感じでしょうか? あと、end_html999()は、使用されてない関数につきあぼーんしました。 >娘。さん ということで、fixするのでしたらend_html999()をあぼーんしてはいかがでしょう。
56 :
348 →  ̄ー ̄)ノ :01/08/27 03:52 ID:ynZt.qo6
57 :
 ̄ー ̄)ノ :01/08/27 03:55 ID:ynZt.qo6
58 :
デフォルトの名無しさん :01/08/27 03:59 ID:ynZt.qo6
59 :
37 :01/08/27 04:00 ID:NB7BRIbo
>>55 またもや終了処理だけど。
waitpidはいらんでしょう :-)
あとgzcloseがclose(1);を含めている(らしい、ヘッダに書いてあるコメント
を見ると)ことと、
>>26 氏が指摘したように atexit を使うことを考えると
void atexitfunc(void)
{
if(gzip_flag) {
gzflush(pStdout, Z_FINISH);
fflush(stdout);
gzclose(pStdout);
}
}
を追加して gzdopen の直後に atexit(atexitfunc); を入れればいいのでは。
(で、今まで入れていたmainの終了処理コード(#ifdef GZIP ... #endif)を削る)
>>55 html_error999ですね。あぼーんしてもいいのですが、もしかしたら
なんかに使うときがあるのかな、なんて思うので、とってあります。
ところで、zlib部分ですが、#ifdef ZLIB かなんかで括っていただけ
ませんでしょうか?
そうすると、コンパイル時に選択肢を残しつつ、mergeできますので。
# こっちでやれって?(^^;
61 :
369 ◆3XTuRnAc :01/08/27 04:17 ID:xXHglqmc
>>59 (37さん)
ご指摘感謝です。その修正入れたものを、read12.zlib-03.cとして
currentに放り込んでおきました。
62 :
 ̄ー ̄)ノ :01/08/27 04:19 ID:ynZt.qo6
63 :
369 ◆3XTuRnAc :01/08/27 04:21 ID:xXHglqmc
>>58 さん
実は、稼動確認取ってません(^^;;。
とりあえずbuildが通ったところ&ケアレスミスがないかを一通り
チェックしたところでuploadしている段階・・・で認識してますが
あってますか?
64 :
 ̄ー ̄)ノ :01/08/27 04:26 ID:ynZt.qo6
>>63 でも一度まとめてしまった方が
良さそうな気もしますけどね
65 :
369 ◆3XTuRnAc :01/08/27 04:26 ID:xXHglqmc
・・・って、これぜんぜんまともに動いてないです。 うちの簡易環境でやったらread.cgiの結果が真っ白・・・・・。 がーん。
>>63 -64
んと、read12.zlib 系って、read12.fix 系のどれをもとにしてますか?
こちらでまとめてしまいまする。
+ flush(stdout); + // 終了処理登録 - atexitfunc(); + atexit(atexitfunc); pPrintf = gzprintf; gzsetparams(pStdout, Z_BEST_COMPRESSION, Z_DEFAULT_STRATEGY); //put 2048byte - gzflush(pStdout, Z_SYNC_FLUSH); while(whitespace--)gzputc(pStdout, ' '); - gzflush(pStdout, Z_SYNC_FLUSH); あと終了処理でただ単にgzclose()だけじゃダメなの?
68 :
 ̄ー ̄)ノ :01/08/27 04:29 ID:ynZt.qo6
fix2じゃないですか? 間違ってたらスマソ
70 :
37 :01/08/27 04:31 ID:NB7BRIbo
>>65 681行目 atexitfunc(); は atexit(atexitfunc); です
71 :
デフォルトの名無しさん :01/08/27 04:32 ID:pckFEAaY
793行目sprintfの%50sのsが抜けてるぞ
72 :
デフォルトの名無しさん :01/08/27 04:33 ID:pckFEAaY
warningが多いから先にマージした方がよさそう
73 :
:01/08/27 04:34 ID:qeolEtH2
bbs.cgiはまだ手付かず? あれの吐き出すindex2.htmlのread.cgi削除してほしい。
作業中ですぅ。。。
75 :
:01/08/27 04:36 ID:qeolEtH2
がんばってください。
76 :
 ̄ー ̄)ノ :01/08/27 04:37 ID:ynZt.qo6
>>73 手つかずみたいだねぇ
っていうか付けたくても付けれない?
>>74 ファイトです
77 :
デフォルトの名無しさん :01/08/27 04:41 ID:19Gxyyi6
「名前:」「投稿日:」消せるんだろ。とっととやれよ。 それが嫌なら曜日戻せ。
78 :
369 ◆3XTuRnAc :01/08/27 04:49 ID:xXHglqmc
コンパイルに手こずっております・・・
ああ、zlib使わないときにpPrintfをどうするかを考えないといけないんだ。。。
81 :
 ̄ー ̄)ノ :01/08/27 05:02 ID:ynZt.qo6
82 :
37 :01/08/27 05:02 ID:NB7BRIbo
>>80 #define pPrintf fprintf
#define pStdout stdout
してしまえばOK。
83 :
369 ◆3XTuRnAc :01/08/27 05:02 ID:xXHglqmc
84 :
37 :01/08/27 05:06 ID:NB7BRIbo
というか手元にはそれっぽいコードがもうできちゃっているんですけど... (汗 どうしましょう...
>>82 -83
ここは解決しました。どうもです。。。
parse error がいくつか。。。もうちょっとおまちください。
>>84 あれま。じゃ、おまかせしちゃおうかな。
一応仕上げてはみますが。
87 :
 ̄ー ̄)ノ :01/08/27 05:09 ID:ynZt.qo6
88 :
369 ◆3XTuRnAc :01/08/27 05:10 ID:xXHglqmc
>>84 あ、僕からもよろしくお願いします。
自分、なんか足引っ張ってばっかなんで(大汗
89 :
デフォルトの名無しさん :01/08/27 05:10 ID:2NFCZnYc
ちょっと作業中失礼。 なんかあちこちの板が一時閉鎖中となっているんですが、どういう事情なんでしょう(汗
90 :
 ̄ー ̄)ノ :01/08/27 05:11 ID:ynZt.qo6
91 :
デフォルトの名無しさん :01/08/27 05:12 ID:2NFCZnYc
93 :
37 :01/08/27 05:12 ID:NB7BRIbo
95 :
 ̄ー ̄)ノ :01/08/27 05:17 ID:ynZt.qo6
96 :
37 :01/08/27 05:17 ID:NB7BRIbo
なんかread13.cの方がコードがよさげなので
>>93 は取り下げってことで
お願いします。
>>96 え゛
終了処理見る限り、read12.zlib-04.1.cの方がよさげなのですが(汗
98 :
37 :01/08/27 05:20 ID:NB7BRIbo
>>97 いや read12.zlib-04.1.c は read12.zlib-04.c が元なので
html_error999関数とかが入っていなかったりするのです。
99 :
 ̄ー ̄)ノ :01/08/27 05:21 ID:ynZt.qo6
>>98 html_error999、要らないですし(^^;
その上pPrintf対応してなかったりする。。。
read12.zlib-04.1.c に html_error999 だけ pPrintf 対応にして
埋め込んであっぷするです。。。
*.datにインデックス付けるのは止めたの? 例えば*.idxにインデックスと削除フラグを管理するようにすれば、 途中のレスが削除されても、かちゅーしゃは差分読み込みを続けられると思うんだけど。
>>101 それをやるには、bbs.cgiとかあぼ〜ん処理用のスクリプトに手を入れなくてはならない。
とりあえず、今は出来ない。
103 :
 ̄ー ̄)ノ :01/08/27 05:26 ID:ynZt.qo6
あちこちでホントに板停止してるね しかしUNIX板停止したらシャレにならないよね
104 :
aki :01/08/27 05:27 ID:Z/nLX8Y2
739 名前:夜勤 ★ 投稿日:01/08/27 05:26 ID:??? 板閉鎖は、私はやってませんよー だから理由は知りません、 といっても、今やっていることは転送量の削減なので、 理由は、、、
733 名前:夜勤 ★ 投稿日:01/08/27 05:17 ID:???
>>732 明日の午後以降 そこにおじゃまする予定でーす。
上京にそなえて、散髪してきました。(状況報告)
「そこ」とはこのスレのことをさしているみたい。
明日って今日(27日)のこと?それとも28日?
107 :
 ̄ー ̄)ノ :01/08/27 05:32 ID:ynZt.qo6
108 :
37 :01/08/27 05:33 ID:NB7BRIbo
>>106 あー、しまった!
>>71 の問題が解決されていないことを言ってなかった...。
109 :
 ̄ー ̄)ノ :01/08/27 05:33 ID:ynZt.qo6
812行目 - sprintf(doko,"../%.50s/kako/%.50/%.50.html",zz_bs,zz_soko,tmp); + sprintf(doko,"../%.50s/kako/%.50s/%.50s.html",zz_bs,zz_soko,tmp); どなたか・・・(^^;
>>110 >107ちょっと違いますです。
んと、Makefile.* は両方ともちょっと違うんです。
-DZIP なんていうものを削りましたので。
113 :
 ̄ー ̄)ノ :01/08/27 05:36 ID:ynZt.qo6
114 :
37 :01/08/27 05:37 ID:NB7BRIbo
>>113 たびたびお手数かけてます。
>>105 そろそろ、実動試験をやりたいところですね。
負荷テストはともかく、掲示板として問題無いかくらいは。
116 :
名無し :01/08/27 05:39 ID:qLoKy9Cw
117 :
 ̄ー ̄)ノ :01/08/27 05:40 ID:ynZt.qo6
118 :
 ̄ー ̄)ノ :01/08/27 05:42 ID:ynZt.qo6
それより かちゅの不具合と 各板の停止が気になるしぃ〜
119 :
デフォルトの名無しさん :01/08/27 05:43 ID:2NFCZnYc
543 名前:マァヴ@所祥寺 ★ 投稿日:01/08/27 05:39 ID:??? えーっと(^_^;)情報筋によると閉鎖は一段落だそうです。 ただ、今後も転送量の推移を見て、閉鎖が再開される可能性もあるってことで・・・・ あうー(^_^;)ロビー閉鎖はやっぱり結構ショックだわ・・・・
121 :
 ̄ー ̄)ノ :01/08/27 05:47 ID:ynZt.qo6
しかし難民閉鎖したらダメでしょう
122 :
 ̄ー ̄)ノ :01/08/27 05:49 ID:ynZt.qo6
次はちゃんとMakefileひとつにしよう(氏
zlib: と gzip: にわけて CFLAG を減らすだけだけど。
>>118 かちゅの不具合ってよく知らないです。
# 噂は目にしたのだけど
>>120 ...当然とは、モ板が2つとも(泣
124 :
 ̄ー ̄)ノ :01/08/27 05:52 ID:ynZt.qo6
>>123 私はかちゅ〜しゃでずっと書き込んでるんですが
書き込むたびにエラーが・・・
多分、帰り値のエラーかと・・
>>124 bbs.cgiの問題ですか?
なんだか「書き込んでいます」みたいな画面が出るようになりましたよね。
>>122 ●直すと良さそうなところ
doReplace; findSplitter; hrefStop; html_banner[New]; dat_read/out;
fread; printf; strstr;
ですが、転送量の問題には関係なさそう。
夜勤★さん待つ間にどれか実装するのもありですが、それよりは、
そろそろ read14.1.c の安定動作を確かめたく。
126 :
 ̄ー ̄)ノ :01/08/27 05:57 ID:ynZt.qo6
127 :
369 ◆3XTuRnAc :01/08/27 06:02 ID:xXHglqmc
いや、こう、書いたり消したり直したりで気にしてなかったんだけど。 ・・・やっぱread14ってすごい番号すね(笑)。 その気になればEmacsのVersion 21(22だっけ?)を超えられるのでは。
128 :
37 :01/08/27 06:02 ID:NB7BRIbo
130 :
 ̄ー ̄)ノ :01/08/27 06:08 ID:ynZt.qo6
>>127 なんでマイナーバージョン取っ払ったかというと、read.cgiのバージョン表示を
出来るだけ短くするためだったり(笑
"read.cgi v14 010827" なんてのもいいかな。
>>128 いちおう私もチェックしたんですが、通ってましたよ(^^;
>>129 んと、read.cgiでどうにか出来る部分があまり多くないのと、
夜勤さんの判断を仰ぎたいのとで、もちょっとお待ちいただければと。
132 :
 ̄ー ̄)ノ :01/08/27 06:10 ID:ynZt.qo6
昨夜に比べたら レス増えるのはマターリしてるけど バージョンアップは激しいですね バージョン乱立してないぶんわかりやすいけど
で、どの程度の効果があるのですか?
134 :
 ̄ー ̄)ノ :01/08/27 06:13 ID:ynZt.qo6
どこぞで言われてる 1/16はさすがに無理だと思われ・・・
136 :
369 ◆3XTuRnAc :01/08/27 06:16 ID:xXHglqmc
あれねー、ごめん、口走ったの俺・・・。 相当にうまく行った例なんだろうなぁ。 なんか、劇的だった分期待はずしたリバウンドが発生して ホントに申し訳なく思ってます。
137 :
 ̄ー ̄)ノ :01/08/27 06:17 ID:ynZt.qo6
769 名前:名無しさんの声 投稿日:01/08/27 06:15 ID:4MGIDWzk 結局、unix板の努力は無駄に終わりそうだね。 :::::::::::::::::::::::::::::::::: こんなこと言われると腹立ちますね
138 :
 ̄ー ̄)ノ :01/08/27 06:19 ID:ynZt.qo6
あ、ここはプログラム板でしたねぇ〜
>>137 まあ、あくまでも adhoc な手段であって根本的な解決方法じゃないから、
いつかは言われることではあるんだけどね…。
140 :
369 ◆3XTuRnAc :01/08/27 06:19 ID:xXHglqmc
>>135 一応、トラフィックはgzip転送とIf-Modified-Sinceで
相当なところまで絞っちゃいましたからね、劇的な進歩
ってのはもうないですよね・・・・。
#ニュース速報とか見たいな、チャット状態になるような
#板だとIf-Modified-Sinceなんて効き目が・・・。
>>135 結構大変そう…夜勤さんはあまり厳しいこと言っていないけど、
鯖負担も考慮に入れた方がいい状態かと。
まずはデフォルト50or100レス表示を減らすのがいいかなと思います。
142 :
デフォルトの名無しさん :01/08/27 06:20 ID:2NFCZnYc
866 名前:マァヴ@所祥寺 ★ 投稿日:01/08/27 06:19 ID:???
>>852 一段落です。
とりあえずこの状態でmod_gzip導入して様子みるってことで。
個人的に聞いた範囲では、ひろゆきは2chを投げてません。
あくまで悪あがきを続けるという腹は決めてるようです(^_^;)
ってわけで、この一連の一時閉鎖も、なんとかしようという姿勢の現れと思ってください。
なにはともあれ、9月に入ってどうなるかって感じですね。
>>140 ですね。html レベルでの clean up も、gzip をかけているために
tag の整理やら定型的な単語の削除では大した効果が出ませんし。
あとは、
>>135 の link にあるような、掲示板の性質を利用した
traffic 削減手段しか残っていないでしょう。
144 :
37 :01/08/27 06:24 ID:NB7BRIbo
>>133 今回は帯域じゃなくてCPU負荷の軽減だから「サーバが軽くなる」位ではないかと思われ。
HTML or HTTP 的な変更はそんなにないはず。もうmod_gzip以外に「劇的な」帯域の減少は
ないかと。
>>137 無駄に終わったとしても自分は楽しめたのでそれはそれでいいのでは、と自分は思います。
こんな巨大なサイトのコードを触る機会なんてめったにないし。
145 :
 ̄ー ̄)ノ :01/08/27 06:25 ID:ynZt.qo6
>>140 >>141 でも、まぁこのまま指くわえてるのはどうかと思うんで
せめて、出来る事でもやっときましょうや
マターリ出来る日を夢見て(藁
146 :
anonymous :01/08/27 06:26 ID:RtlxM1Dk
147 :
369 ◆3XTuRnAc :01/08/27 06:30 ID:xXHglqmc
あとは、小泉首相じゃないけどある程度の「痛み」を伴わないと だめなのかもしれないですね。 ・板の統廃合 ・「最新レス」の数の減少 ・「レスを全部読む」の厳しい制限 ・・・という感じで。
>>146 ハードウェア資源は揃いそうですが、はたして2chのProxyを置かせてくれる
ネットワークがどれほどあるか。。。
でも、楽しそうですね。
149 :
 ̄ー ̄)ノ :01/08/27 06:31 ID:ynZt.qo6
みんなそれぞれのホームグラウンド(?)で頑張ってるんですね ホームグラウンドがモナー板やラーメン板の私は さすがにラーメンやAAで2chのために働くのは無理だと思って UNIX板来たわけですけど・・・ うむ、いままでになく一致団結してる2ちゃんねらーはカコイイ
150 :
デフォルトの名無しさん :01/08/27 06:32 ID:ZIaMkoUw
>>141 それとっととやってよ。頼むから。
index2.htmlに表示されるスレッド5個(レス8行×8レス程度)に縮小したり、
当面はテレホだけでなく24時間、全レスじゃなく100レスずつ表示出来ないように規制したり。
151 :
369 ◆3XTuRnAc :01/08/27 06:35 ID:xXHglqmc
ということで、自分はそろそろ仮眠に入ります。 ひとまずおやすみなさいませ。 ftpサーバーは立ち上げっぱなしにしておきます。 >ALL お疲れ様でした!
私もホームグラウンドはモ板&法律相談&批判要望&削除議論(^^;
技術系の板は初めてです。
削除ガイドがああだこうだと書いていた日が懐かしい。。。
さて、転送量軽減策以外の
>>125 に列挙したような最適化、どうしましょうか。
煮詰まってるものとそうでないものをわけたいですが、いまいちわかりません。
>>150 read.cgiで読んだときの最上部「最新100レス」は、read14.2.c では
「最新100レス」になりました。これを50とか30にするのは効果的だと
思いますが、やはり夜勤さんの判断を仰ぎたく。
index2.html あたりからのリンクは、ここではどうしようもないです。。。
誰に頼めばいいのかな?
>>151 私もそろそろ。。。お疲れさまでした。
早起きの方、実装に熟しているコードがあったら指摘の程お願いしますです。
156 :
 ̄ー ̄)ノ :01/08/27 06:41 ID:6ltoj/fY
>>156 ですね。
>>142 にとりあえずこれで様子見とのことですし…。
休日だというのに2日連続で徹夜に近いから、すんげ〜眠いや…。
仕事が忙しいんでご無沙汰してました。Perlerです。 ちょっと全部読む暇がないんで、既出だったらすみませんが。。。 転送量の問題ですが、index2.htmを直接読み出すのを止めて CGI化、CGIからAccept-Encoding:をみてindex2.htmとindex2.htmlを 振り分けて出力するようにしてはどうでしょうか? そうすれば非gzip対応ブラウザでの文字化けの問題もクリアできますし、 リロード時にキャッシュを生かす事ができます。 現在の所、index2.htmはLast-Modifiedを吐いていないようですし、 If-Modified-Sinceの効果はかなりあったと思われますので 転送量の多寡で言えば、HTMLの最適化やglibの導入よりも、 この部分の対応が最優先課題ではないでしょうか? 作業中の方もおられると思いますが、ご検討お願いします。
159 :
デフォルトの名無しさん :01/08/27 06:56 ID:ZIaMkoUw
>>153 夜勤さんだって権限ないんじゃない?
ひろゆき氏出てくるまでうやむやにするつもりでしょ?
あんたら政治家みたいだな。
「最新100」にしてもいいんじゃない?厨房だって分かるよ。
>>158 寝る前に…。
それは read.cgi では対処不能 & mod_gzip の導入で
簡単に解決するような。
162 :
デフォルトの名無しさん :01/08/27 07:00 ID:cn52pBwI
DolBackyさんじゃないかな?>bbs.cgi管理。
>>161 新しくcgi設置するのは問題ないと思ったんですが。。。
mod_gzipが導入されるまでの急場しのぎです。
これを実現させれば、mod_gzipの実際の効果も測定できるので、結果次第では早めに別の
対策も取れるのではないかと。
ところで、index2.htmがLast-modified: を出力していないのはなぜ?
164 :
デフォルトの名無しさん :01/08/27 07:02 ID:2NFCZnYc
寝る前に最後。
# index2.html の担当は誰なのか、わからずじまい。。。
>>158 お疲れさまです。
そうなのですが、誰に頼めばいいのやら。。。
ま、ここ読んでくれるかもしれないですしね。
ご検討お願いします>どなたか
>>159 read.cgiについては夜勤さんでいいのかなと思っているのですが、
もしものときは
「板に戻る」「レス全部」「最新50」
とかにしちゃおっかな。
166 :
デフォルトの名無しさん :01/08/27 07:03 ID:cn52pBwI
つうか、Perlerさんのスキルだったら、bbs.cくらい、ソースなしでも書けちゃうでしょ? もちろん、お仕事とかで忙しくて・・・てのはおありでしょうけど。
167 :
デフォルトの名無しさん :01/08/27 07:05 ID:cn52pBwI
>>165 DolBackyさんが、今のところ露出しているbbs.cの作業者さんぽいですね
実際に書いていると言われている方は、削除忍さんとトオルさんだそうですけど。
さすがに限界、これで最後。
>>163 あ、このスレ的には read.cgi が main でしたから。
確かに traffic については mod_gzip の予行演習として
いいですね。
もっとも、access 数の多い index2.html が cgi で
毎回生成されるので、server 負荷上昇 -> access 数減
-> traffic 減少となり、あまりよい test にはならない
可能性があります。
>>166 私はもともとPerlが専門でしてC言語は素人ですので、
とりあえず動くものなら作れるとは思いますが、あまり
綺麗なものは作れないかもしれないです。コーディングもかなり遅いですし。
>>168 お疲れ様です。。。
負荷がどのくらい上がるかですよね。ただ、ソース見て分かるように、
read.cgiに比べれば微々たる負荷だとは思いますが。
170 :
デフォルトの名無しさん :01/08/27 07:13 ID:cn52pBwI
>>169 出来るだけすばらしいです。
私はPerlとプロマネが本業なので、評価しかお手伝いできませんでした。
>>169 ちょっとどうでもいいことですが、同ディレクトリにあるindex2.htm[l]の
ファイル名は #define で自由に設定できた方がいいかな、と。
index2.htm が実は index.cgi で、実体は index3.htm[l] だったりする
方が、現環境と互換性があるかなと思いまして。
・・・ああ、なんかわかりにくい説明だ(^^;
そもそも、ApacheからのCGI起動そのものが負荷を食うそうな だからindex2.htm 読み出しをcgi経由にすれば負荷はかなり増える まぁ転送量には代えられないから、mod_gzip導入までの 緊急措置には使えるけど、問題はそれを管理側が導入してくれるのかどうかですね
173 :
デフォルトの名無しさん :01/08/27 07:18 ID:cn52pBwI
ああ、書き換えたい。全部書き換えたい。 readもbbsも管理スクリプトも含めて。
175 :
デフォルトの名無しさん :01/08/27 07:19 ID:cn52pBwI
>>174 ですね。
私も実体さらしてもいいから(笑)、書き換えたい気分ですよ。
でも、Cだと書けない。
スケーリングと評価しかできないのが歯がゆいです
176 :
名無し :01/08/27 07:21 ID:qLoKy9Cw
2ちゃんねる系列の掲示板って bbs.cgi もコピーして作ってるんですよね。 bbs.cgi 2ちゃん系列から貰えないかな。
177 :
名無し :01/08/27 07:24 ID:qLoKy9Cw
固定値やHTML はヘッダーで定義して欲しいよな。
179 :
デフォルトの名無しさん :01/08/27 07:25 ID:2NFCZnYc
>>176 古い流出スクリプトらしいのは持ってますけど...
>>171 分かります。その通りだと思います。
なにぶん時間がなかったので、定数を埋め込みまくったまま
ほったらかしです。すみません。
>>180 は私です。
今日は夕方くらいまで作業は無理っぽいので、すみませんが
定数の括りだしのあたりは皆さんでお願いします。
>>173 >>180 意味が伝わっただけでもほっとしております。ぺこぺこ。
>>178 ってことらしいですので、一方的に提示しておくのが最善ですかねぇ。
あっちのスレにここを宣伝してこよっと。
>>181 ほんとうにお疲れさまです。
184 :
デフォルトの名無しさん :01/08/27 07:29 ID:2NFCZnYc
>>179 自己レス
良く見たらJBBSのみたいでした
185 :
名無し :01/08/27 07:32 ID:qLoKy9Cw
186 :
音楽侍 ◆NtVkSITE :01/08/27 07:35 ID:cn52pBwI
発端の時からここにいて、ずっと匿名でしたけど、もうこんな状態ですし、コテハン出していきます。 >181 お疲れです〜 >182-184 bbs.cgiは出せないと思いますよ。 それに、こっちで勝手に作った方が早いし、その方が結局ひろゆきさんも助かるのだと思います。
187 :
音楽侍 ◆NtVkSITE :01/08/27 07:39 ID:cn52pBwI
とにかく、index2.htmのせいで、爆発的にリロード増えているわけですから。 あれやめないと、正確な帯域使用量測れませんよね?
ってか *.htm{,l}が Last-Modified を吐かないのは .html{,l} が server-parsed になってしまっているためと思われ <Files ~ "index.ht(m|ml)$"> Options -Includes </Files> で吐くようになると思うけど ただhttpd.confでOptionsがAllowOverrideに なってないとダメか?
189 :
デフォルトの名無しさん :01/08/27 07:55 ID:ZIaMkoUw
出来そうな方、いっぱいらっしゃいますね。 深刻な状況なので、一刻も早く「実行」お願いします。
とりあえず、プログラム技術板の住人がやることは無くなった って事っすね。
191 :
名無し :01/08/27 08:03 ID:qLoKy9Cw
>>191 そこは参考にならないよ。perlだし、内容も、その……だし。
193 :
音楽侍 ◆NtVkSITE :01/08/27 08:07 ID:cn52pBwI
別板建ててbbs.cgiの要求仕様だしでもやりますか? それとも、このあたりでいったん、一件落着しますか?
オレ 数年前に掲示板のCGI自作したことがあって その時当初 投稿者名・日付・本文等を全部JavaScriptの文字列で定義しちゃって document.write()で書き出す(URLの自動リンクもJavaScriptでやる) ってな感じで作ったことがあるんだけど......でも 自分のとこの環境だと ちゃんと動くのに 実際に公開して動かしてみるとちゃんと見られないという人が 出てきてしまって......どうも古いブラウザだとJavaScriptの実装がクソだったり するみたいで それは結局やめて普通にプログラム側でHTML出力するように したということがあったけど まぁ当時に比べれば古いブラウザの利用者はかなり少なくなってるだろうから 今ならその手でそこそこ行けるかも知れないけど でもブラウザの種類/ バージョン/プラットフォーム等によって微妙にJavaScriptの実装が 違ってたりして それをちゃんとfixさせるのも結構大変なんだけどね もし仮にこれでやればタグなんかはJavaScriptで生成させればいいから その分テキスト量が減るだろうけど でもJavaScriptを扱えないブラウザの ユーザには結構つらくなってしまうかも......
195 :
デフォルトの名無しさん :01/08/27 08:24 ID:rjIkZc/I
ヘッダとフッタとバナーがハードコーティングってのはかっこわるい から別ファイルにするってのはどう?
>>195 かっこわるいけど、負荷を低くするためには仕方ない。
197 :
俺が書いたんですが(藁 :01/08/27 08:34 ID:DS3JKGwc
136 名前: :01/08/27 08:24 ID:DS3JKGwc 閲覧用ブラウザつくって、<2ch>ってタグが反映されるようにして、 転送量を減らすって無理かな。サーバーにはdatみたいなものだけを保 存するってことで。
198 :
デフォルトの名無しさん :01/08/27 08:44 ID:xxtDczmQ
>197 専用ブラウザ化ですね、すでにかちゅ〜しゃ等がそんな感じで Javaアプレットを埋め込んで完全専用ブラウザからのアクセスのみ にするってことはどうなんでしょうか?アプレット動かせないような 環境の人が切り捨てられちゃうでしょうが・・・
199 :
デフォルトの名無しさん :01/08/27 09:05 ID:hMp2zhnk
フレームだけ事前にダウンロードして専用ブラウザに組み込み、スレタイトル リストだけ拾うようにしたら、転送量減らないですかねー。素人なんで 詳しいことはわからないですが。
200 :
デフォルトの名無しさん :01/08/27 09:13 ID:rjIkZc/I
>>196 CPUとかI/Oの負荷は問題になってないんだろ?
201 :
音楽侍 ◆NtVkSITE :01/08/27 09:18 ID:cn52pBwI
>>200 それは誰も問題にしていないでしょう?
きっと、数byteでも、数百万アクセス積もれば大きな節約になるって発想だと思いますけど?
202 :
デフォルトの名無しさん :01/08/27 09:28 ID:rjIkZc/I
>>201 いやだから俺が言いたかったのは、CPUやIOが問題にならないんなら、
ヘッダやフッタは別ファイルにした方がスマートだし、その部分だけ
書き換えたときも再コンパイル不要じゃんって話
203 :
デフォルトの名無しさん :01/08/27 09:29 ID:P7yLS.2Q
>>192 2chもbbs.cgiはPerlではないの?
昨日(だったかな?)に頂いた流出もののやつはPerlでした。
ソースをさっくり見ましたが、キャップとかの情報がそのまま
羅列されてるので公開しづらいんぢゃないかなぁ。
そこ削れば公開しても問題なさそうなものですけどね。
(色々隠し機能があるとかなのかなぁ)
204 :
デフォルトの名無しさん :01/08/27 09:41 ID:rjIkZc/I
>>203 なんと、キャップはハードコーディングだったのか
これで新規に書き換えるbbs.cgiにはそれが必要だな。
あとはトリップも必要か。
IDはどうなってるんだ?IPアドレスをハッシュか?
>>160 AgentのAccect-Encodingによる送出ファイル振り分けなら
わざわざCGIでやらなくてもmod_negotiationで簡単に出来ますよね。
Baseモジュールですし。
>200 別に今回の問題に限って言っているわけでは無いのだよ。 今回の問題に限って言うなら、ファイルを分割して、もし転送量が減るなら、 それもいいかもしれないけどね。 >ヘッダやフッタは別ファイルにした方がスマートだし、その部分だけ >書き換えたときも再コンパイル不要じゃんって話 それは、「どっちをとるか」の話。もちろん、>別ファイルにした方がスマート云々 ってのには同意するけど、手間をとるか、負荷をとるか、は運営側の判断。で手間を 取ったのでしょう。 >203 >2chもbbs.cgiはPerlではないの? そうなの?知らなかった。read.cgiがcだから、てっきりbbs.cgiもcだと思っていた。
207 :
デフォルトの名無しさん :01/08/27 09:49 ID:rjIkZc/I
>>205 問題は夜勤にはモジュールを組み込む権限がないってこと
mod_gzipだってまだ組み込まれてないし。。。
そんな夜勤がbig-server側の窓口ってのもちょっとね
webPG板からです、あの皆さん各地で立ってる避難所で使われてる スクリプトをご存知ないですか?(17BBSって言ってますが) 本人さんが宣伝を非常に嫌がってる様子なんですが 事態が事態なんで無責任に書きます I/Fは勿論、トリップ、ID他殆ど今の2chと同じです、機能はほぼ実装済み TOP20をいつもウロウロしてるスレなんで、見に来ればすぐにわかります
209 :
デフォルトの名無しさん :01/08/27 09:50 ID:P7yLS.2Q
>>204 トリップは不明。
IDについては、
$ cat crypt.pl
my ($ip, $day) = @ARGV;
$ip = substr($ip, 8);
my $pass = crypt($ip * $ip, sprintf('%02d', $day));
print substr($pass, -8), "\n";
$ perl crypt.pl xxxxxxxx0.116 27
P7yLS.2Q
という感じ。
(どっかの板でアルゴリズム公開されてました。場所覚えてないですが)
210 :
206 :01/08/27 09:51 ID:plW.7Hb6
>手間をとるか、負荷をとるか、は運営側の判断。で手間を >取ったのでしょう。 ん?負荷を取ったのか? 「手間をかけても負荷を軽減する方を取ったのでしょう。」に訂正。
Cで焼き直すなら 叩き台にはなると思います 所謂流失版を改良したものです
>>207 だから、mod_negotiationはBaseモジュールだよ、標準。
AllowOverrideされてれば.htaccessでいじれるし。
問題はAllowOverrideされてるか・・・
213 :
デフォルトの名無しさん :01/08/27 09:53 ID:P7yLS.2Q
bbs.cgi はPerlの方が良いのではないかなぁ。 Cだとセキュリティホールになりやすいし。 (実際あった or まだあるみたいですし。 どっかの板のAD200XのスレでIMGタグを書き込んだりされてました。)
214 :
デフォルトの名無しさん :01/08/27 09:54 ID:2NFCZnYc
流出版ってキャップのパスもハードコーディングみたいだね。 さすがに試してみたら駄目みたいだったけど。
>>188 > ってか *.htm{,l}が Last-Modified を吐かないのは .html{,l} が
> server-parsed になってしまっているためと思われ
なるほど。
では、ここをなんとかするだけで相当のトラフィックが節減できると思いますが、
いかがでしょうか?
とりあえず、
http://xx.2ch.net/xx/index2.cgi てな形で設置してみて、
bbs.cgiとread.cgiを変更して
http://xx.2ch.net/xx/index2.htmへのリンクを index2.cgiに変更して、効果を測定してみる事を提案します。
切れるならserver-parsedを切るだけでかなり効果がありそうな気がするけど。
とりあえず、現在の懸念事項は流量軽減なんで、その他の開発
に関してはスレッドを分けませんか?
優先事項(回線負荷軽減)と、後回しで構わない事項
(ハード側負荷軽減、スクリプトの細かいバグ取り)
を明確にしないと、最優先事項が見えにくくなって重要な開発が後手に回る
可能性があると思うのですが。
216 :
デフォルトの名無しさん :01/08/27 09:58 ID:cn52pBwI
流出版ってどっかにアップできませんか? もちろん、そのキャップのパスとかは伏せてでいいんですけど。 要求仕様が作りやすくなるので。
217 :
ぐ。 :01/08/27 09:58 ID:L6pat38o
なんか話がごちゃ混ぜになっているようだが ファイル分割して転送というのは 「connectionが増えるのは論外」でガイシュツ。 但しレイアウト変更をもって総合的に転送料を押さえる方法も 議論されてるのでテスト次第でトレードオフという所か。 ソース管理としてファイル分割なら read.cgiはロードモジュールなので 運用時の負荷とは無関係。 こんなかんじか?
218 :
デフォルトの名無しさん :01/08/27 09:59 ID:rjIkZc/I
>>213 Cだとセキュリティホールになりやすいってのは根拠レス。
# まあ、Perlは書いた人にしかわけのわからんコードになりやすいから、
# 解析する気が起きないってのはあるかもな
とりあえず流出版を見せてくれい。あるいは
>>208 の17BBSとやらへの
リンクをきぼんぬ
219 :
デフォルトの名無しさん :01/08/27 10:02 ID:rjIkZc/I
いっそApacheのモジュールとして実装しちゃおうか(藁)
220 :
デフォルトの名無しさん :01/08/27 10:03 ID:cn52pBwI
あと、話が混乱するので、誰かbbs.cgi検討スレ建ててください。
221 :
デフォルトの名無しさん :01/08/27 10:04 ID:19Gxyyi6
>>193 打ち切りじゃ何も解決しないよ。
前向きな前者希望。
17さん見てないかなあぁ、、他力本願 僕も時間は有るのでバク取りには、協力させてもらいます
224 :
デフォルトの名無しさん :01/08/27 10:08 ID:19Gxyyi6
225 :
17 :01/08/27 10:09 ID:sC1iFaC6
わぁ。。。17さん有難う御座います 勝手に紹介しちゃってすみません (_ _)
そういや、chunkedエンコーディングって手つかずか? あれも微妙に転送料増やすはず。 Content-Length吐かせる必要があると思うが。
228 :
369 ◆3XTuRnAc :01/08/27 10:33 ID:xXHglqmc
書き直しをたくらんでる方々にアドバイスしとくけど、 zlib使うんだったら、エンコーディングは gzip使うよりもdeflate使った方が、 すこしだけ転送サイズが縮みます。 寝込みは忘れたけどIEは理解できるはず。
230 :
デフォルトの名無しさん :01/08/27 10:55 ID:rjIkZc/I
2chのApacheにはmod_perlが入ってないみたいなんだけど。 使うことのないsslやらphpは入ってるけど。 サーバの構成かえちゃいけないんだっけ? mod_sslとPHPを外してmod_gzipとmod_perlをいれたい・・・
>>215 も私です。おっちょこちょいですみません。
Content-Length吐かせる必要があるなら、メモリにgzipの結果を溜め込むか/tmp/
あたりに一旦ファイルをスプールさせる必要がありそうですね。。。
負荷が全く問題にならないのであれば、gzipを、1回目はサイズのカウント専用に起動
して、Content-Lengthヘッダ出してから、もう一回gzipを起動するというアクロバットも考えられますが。
>229 調べてみました
IE5.5: HTTP_ACCEPT_ENCODING = gzip, deflate
NN3.3: なし
NN4.73: HTTP_ACCEPT_ENCODING = gzip
NN6.1: HTTP_ACCEPT_ENCODING = gzip,deflate,compress,identity
しらべたとこ
http://piza2.2ch.net/test/check.cgi
233 :
デフォルトの名無しさん :01/08/27 11:06 ID:pckFEAaY
zlibのコメント見るとmethodは現在Z_DEFLATEDしかないと書いてあるけど これってgzip不可でdeflateのみ可ってこと?
234 :
デフォルトの名無しさん :01/08/27 11:09 ID:pckFEAaY
deflateがあればzlib deflateがなくてgzipがあればgzip起動 その他はそのまま ってことですか
235 :
デフォルトの名無しさん :01/08/27 11:11 ID:rH3n9S2o
>>232 Opera 4.01 : HTTP_ACCEPT_ENCODING = deflate, gzip, x-gzip, identity, *;q=0
236 :
デフォルトの名無しさん :01/08/27 11:14 ID:rjIkZc/I
>>231 現状の標準出力に垂れ流すんでなくて、
内部でgzipを実行して、Lengthと圧縮結果を吐くように改造するとか。
>>233 gzio.cみれば分かると思うけど、。
zlibに特殊な初期化を施して、gzipのヘッダをつければいい。
IEはヘッダにはAccept-Encoding: gzip, deflateと含めているにも 関わらず、実際にdeflateでエンコードしたデータを喰わせても 解釈できないです。
あれ?それって、mod_negotiation(標準モジュール)つかえば、 負荷も少なくていいね、って話になってなかった?
>>240 AllowOverrideされてるかどうか確かじゃない。
それと、index2.cはIf-Modified-Sinceに対応してる。
というか、そっちの方が肝心。
>>241 がいしゅつです。read.cgiが入れ替われば直ります。
ついでに不具合報告は板違い。
245 :
デフォルトの名無しさん :01/08/27 11:34 ID:pckFEAaY
feof()でエラーチェックは無しですか >index.c.1
>>242 サーバー側負荷は余裕があるそうですし、gzip対応しても負荷はほとんど変わらなかった
みたいですからね。。。
サーバー負荷は負荷軽くしても、2chの危機にはあまり貢献出来ないのかもしれない。
>>243 > AllowOverrideされてるかどうか確かじゃない。
それは確かにそうだけど、
> それと、index2.cはIf-Modified-Sinceに対応してる。
> というか、そっちの方が肝心。
もしindex2.html の Server-parsedを切れるならLast-Modified 吐きますよね。
これは 2ch側で設定したんじゃないかな?
デフォルトで .htm[l] 全てをパースさせて.htaccessでoverrideさせない
サーバなんて考えにくいです。
248 :
デフォルトの名無しさん :01/08/27 11:45 ID:GRBfg3.A
本格的な転送量縮小をするにはbbs.cgiを改造しないと・・・
bbs.cgiはセキュリティ上の問題から、多分公開されないと思います
>>247 その通りなんですが、後々「Overrideできませんでした。。。」となってから
慌てて実装するよりは、今のうちから保険かけといた方が良くないでしょうか?
read.cへのIf-Modified-Sinceの実装も、mod_gzipで代用できるじゃん、
とか言われながら作った経緯があるんで。。。
251 :
247 :01/08/27 12:03 ID:Xn1S81fE
>>250 そりゃそうです。
作っておくことに異存はないです。
いや、243を見てOverrideできてもLast-Modifiedの問題は
解決しないと言ってるように見えたんで。
誤解かもしれないけど一応っていう感じでした。
では、飯食ってこよ。
252 :
デフォルトの名無しさん :01/08/27 12:03 ID:2NFCZnYc
>>238 そうダったのか、なんてこったい、ファック!
>>251 了解です。
動作検証してみた人はまだいませんか?
>>250 read.cへのContent-Encoding: gzipの実装だな。書き間違いです。
>>240 そだね〜
後学のために解説しておくと、
mod_negotiation有効になってるのであれば、
GET /index.html
Accept-Encoding: gzip
のリクエストに対し、
index.html.gzがあったら、
Content-Type: text/html
Content-Encoding: gzip
で200を返してくれる、のだ。
もちろん、GET / に対して、index.html.gz が
返るようになる。(もちろん設定変更してたら
この限りではないので、突っ込み煽り大歓迎)
つまり、さしあたっては、./index2.html.gz を配置して
様子を見て貰いたいんだが…
ln -s index2.htm index2.html.gz してもらえると。
(本来は逆だ…)
>>255 一時期はindex.html.gzだったけどダメだったよ
index.htmlがあるとindex.html.*は見に行かない仕様みたい>mod_negotiation
>>256 当然、そう設定しなきゃ見に行きませんよ。
.htaccessなり、httpd.confなりで
>>258 デフォルトでそうなってるはずだけど
汎用サーバなんでしょ?
>>258 あーそうだった。
漏れも設定ちょっといじった記憶があった。
フォローさんくすー。
それから「たとえ設定してあっても」index.htmlがあると index.html.*は見に行かない。見に行くのはindex.html がない場合のみ。
262 :
:01/08/27 13:20 ID:xheJAhZs
ガイシュツだったらすまんが、クッキーの処理を CGIの方でやればJAVAScriptの分だけ削れると思うがどうだろ?
せっかくindex2でCGIを通すんだからそれもいいかもね。 MacでCookieが保存されない不具合も解消できるだろうし。
264 :
:01/08/27 13:32 ID:xheJAhZs
コレもガイシュツかな? mail欄をやめて上げ下げ専用のチェックにすれば mail欄分、削れるのでは? どーせメール欄とかメールリンクなんて役にたってないんだしさ。 <a href="mailto:sage "></a>この部分が減るだけでもそこそこ効果あるかと。 さげなら名前を斜体にするとか。
265 :
元Winプログラマ :01/08/27 13:41 ID:mLq02ntM
メール欄わりと使われてますよ ねたバレをメール欄に書いておいて知りたい人だけ読むようにするとか
266 :
Sherry ◆RKMbxbuc :01/08/27 13:53 ID:P7yLS.2Q
267 :
Sherry ◆RKMbxbuc :01/08/27 13:53 ID:P7yLS.2Q
bbs.cgi対応も必要ですが,以前の方式と新しい方式両方をサポートするようにしていて, 旧形式でリクエストが来たら新方式にLocationで飛ばすようにすれば, read.cgi側だけで強引に対応できると思います. a href=read.cgi?bbs=tech&key=998845501&st=4&to=4&nofirst=true から a href=4 なので,そのくらいしても削減したほうがよいのではないかと.
268 :
デフォルトの名無しさん :01/08/27 13:53 ID:IDmmApXc
269 :
Sherry ◆RKMbxbuc :01/08/27 13:54 ID:P7yLS.2Q
最後に,10進数<->62進数変換のソース. #include <stdio.h> #include <stdlib.h> #define CHARLIST "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" #define CHARLEN 62 int from62table[128] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 0, 0, 0, 0, 0, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 0, 0, 0, 0, 0, 0, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 0, 0, 0, 0, 0 };
270 :
Sherry ◆RKMbxbuc :01/08/27 13:54 ID:P7yLS.2Q
char *to62(int num) { char *dst; char *p; char tmp; int len; int i; dst = malloc(6 + 1); /* 62^6 = 0xD398ED040 */ if(!dst) { exit(1); } p = dst; while(num) { *p++ = CHARLIST[num % CHARLEN]; num /= CHARLEN; } len = strlen(dst); for(i = 0; i < len/2; i++) { tmp = dst[i]; dst[i] = dst[len - i - 1]; dst[len - i - 1] = tmp; } return dst; } int from62(char *numstr) { int num = 0; while(*numstr) { num *= CHARLEN; num += from62table[*numstr & 0x7f]; numstr++; } return num; } int main(int argc, char *argv[]) { if(argc != 2) { fprintf(stderr, "usgae: %s 123\n\n", argv[0]); exit(0); } printf("%s\n", to62(atoi(argv[1]))); printf("%d\n", from62(to62(atoi(argv[1])))); exit(0); }
>>267 LocationよりBASE hrefで新方式のパスを指定してそのまま出力したほうが
よくありませんか? リダイレクトするとリクエストの回数が2倍になるので。
しかしよく思いつくなあ。
>>266 PATH_INFOはいい案ですね。
62進法は、ドットとアンダースコア辺りを足して、64進数の方が6ビットずつ取り出す
だけなんで、計算が簡単な気がする。
273 :
Sherry ◆RKMbxbuc :01/08/27 14:02 ID:P7yLS.2Q
>>271 確かにそうですね.(^^;
そちらの方向の方が良さそうです.
■掲示板に戻る■ がindex2.htmlなんだけど、gzip受け付ける奴には index2.htmを渡したほうがいいじゃない。 圧縮されてるのは、htmの方だよね。
275 :
デフォルトの名無しさん :01/08/27 14:20 ID:pckFEAaY
62進数は手動指定がほとんど不可能になるんでちょっとやりすぎな
気がします。
冗長性が少なくなる分圧縮が効きにくくなるので圧縮を掛ければ
ほとんど変わらないのでは。
あと、「.」と「-」の意味を入れ替えることを提案します。
>>4 -6のリンクは「4-6」であるほうが直感的に分かりやすいでしょう。
範囲指定はハイフンを使った方がわかりやすくていいですね。 そうなると最新記事の記号を変えなくちゃいけませんが、 "+" でどうでしょう?
+だとエンコーディングでスペースになっちまわねえかい?
URIのパス部に利用可能な文字をフルに活用して、
・数字の場合は10進数として解釈
・それ以外は「_!~*'();:@&=+$」と英字を利用した64進数として解釈
とか…。
欠点は同じ内容を表すURIがやたらに増加することですが。
>>278 デコードするのはHTTPDではなくてCGIですからデコードしなければいいと思われ
280 :
デフォルトの名無しさん :01/08/27 14:46 ID:pckFEAaY
1-10 1から10まで表示 3,5,7 3,5,7番を表示 1-5,50,100-110 1から5までと50と100から110まで表示 $10 最後の10レス表示 1-5,10,$20 1から5までと10と最後の20レス表示 こんなんでどう?
281 :
Sherry ◆RKMbxbuc :01/08/27 14:47 ID:P7yLS.2Q
>>276 とりあえずこのスレで62進変換だけやると,
108166 8月 27 14:34 tech.html
107234 8月 27 13:43 tech2.html
28523 8月 27 14:34 tech.html.gz
28468 8月 27 13:43 tech2.html.gz
こんな感じ.
tech2の方が62進です.
たしかに,大きな変化は無いかもしれませんね.
とりあえず,keyの方は62進なり64進なり
しちゃって良いと思います.こちらはコピペで使うと思うので(^^;
現在の「>>番号」によるリンクをdatに埋め込む方式だと、 index2からの場合とread.cgiからの場合で異なる相対パスを 参照しなくてはなりませんが、それの対策はどうなっている のでしょうか? bbs.cgiにdat埋め込みをやめてもらう?
283 :
Sherry ◆RKMbxbuc :01/08/27 15:00 ID:P7yLS.2Q
>>282 datへのリンク埋め込みをやめてもらうのが
よいのでは...
リンクはツールがはればよいことですし,
dat直読みの転送量も減らせますしね.
read.cgi側では,リンクが張ってあっても張ってなくても,
>>xxx を見てリンクを張り直すようにすれば
良いのではないでしょうか.
284 :
369 ◆3XTuRnAc :01/08/27 15:01 ID:xXHglqmc
すみません、ここ2日+半日の作業の反動で、めちゃめちゃ具合悪いです。 さっきまで寝込んでて、まだ具合が回復しないんで、さらに寝込みモードに入ります。 サーバーは立ち上げっぱなしにしておくので、どうぞお使いください。
拡張子が.cgiじゃなくなると、ロボットのクロールの対象に なって、ロボットからのアクセス量が半端じゃなく増加する 可能性もありますが…。
286 :
デフォルトの名無しさん :01/08/27 15:20 ID:U3BzOc.o
287 :
名無しさん@揚げ足 :01/08/27 15:22 ID:2Ibh3ubo
かちゅーしゃが、アボーン時.dat全部読み直すケースですが、 アボーンされた番号を別ファイルで持つってのはだめですか? 別ファイルを読み込んで、かちゅーしゃ側でアボーン処理する
>>287 それをするぐらいなら、前の方にも話が出ているけど、
各レスの位置を記録したインデックスファイルを作る方が、
いいと思う。というか、bbs.cgiに絡む話だよ。bbs.cgiは公開
されないから、手の出しようが無い。
>>287 ってか datファイル中の指定された記事番号の行だけ返すCGI作るってのも
いいかも
>>289 その案に賛成。その方法なら途中からでもgzip圧縮したものが取得できる。
欠点は透明あぼーんがあっても検出できないこと
2chサーバ上のCGIは、HTMLを返さず、 XML-RPC でリクエストを受け付けるというのはどうでしょう。 データ転送量、処理ともに軽くなるのでは。
>>288 インデックスファイルだと新規レスでも更新されちゃいませんか?
アボーン時に更新されるファイルだと、その時だけの読み込みができると思う
295 :
291 :01/08/27 15:42 ID:7DytoZz2
>>293 失敬、似スレがすでにありましたか。
そっち行きます。
>>292 インデックスファイルってのは、現行のread.cgiではls=1でも全てのdatを読み込んでから
処理をする、という無駄な処理を回避したい、というのがある。インデックスファイルは
基本的にかちゅ〜しゃ等の専用UAからはアクセスさせずに、read.cgiからのみ使用する
様にして、専用UAは
>>289 氏が提案したcgiを介して新規レスを取得するようにすれば
良いのではないか。
>>290 透明あぼ〜んは、問題だあ。datの各行の先頭(末尾でもいいや)に連番でも埋め込めな
いかなあ。dat取得時に検出できるように。
今は突貫工事が一段落着いたから 夜勤さん待ちって事ですか?
>>296 インデックスの件了解しましたマシン負荷の話だったのですね
ただ
>>289 氏のcgi案でもアボーンしたレスをUAが取り込めないのではないでしょうか?
>>298 UA内部に既に取り込んでしまったあぼ〜んを検出できないってのは
その通りだなあ。そこはユーザに自主的にツール内であぼ〜んして
もらうとか……ダメか。
>>299 ad hoc な対策としては、どの記事があぼ〜んされたのかを知らせる cgi を
作るっていうのはあるかな?
個人的には、いったん自分の掌中に入った情報を、 2chの勝手な都合でこちらまで消して欲しくない、 というのが本音なのだが(w
302 :
194 :01/08/27 16:17 ID:0cm50H8s
>>194 で書いたのはイメージ的にはこんな感じ 手抜きして書いたのでツッコミは勘弁(w
functionの定義なんかは別の.jsファイルにしておけば Last-Modifiedを吐いてくれれば
*.jsを何回もリロードすることはないと思うけど......
var firstNo = 100; // ページ内の最初の記事番号
function formatContent(string) {
// '\n'を"<br>"にしたり">>nnn"やURLをリンク化させたりする
}
function Articles_write(n) {
document.write("<dt>"+n+"名前:<font color=green><b>"+this.name+"</b></font>"
+"投稿日:"+this.date+" ID:"+this.id
+"<dd>"+formatContent(this.content)+"<br><br>\n");
}
function Articles(name, email, date, id, content) {
this.name = name;
this.email = email;
this.date = date;
this.id = id;
this.content = content;
}
Articles.prototype.write = Articles_write;
var articles = new Array(
new Articles("ななしさん", "", "01/08/27 15:30, "abcdef", "本文でーす"),
new Articles("ななしさん2", "", "01/08/27 15:35", "ghijk", "本文でーすよ"),
:
new Articles("ななしさんn", "", "01/08/27 15:55", "zyxwv", "本文でーすよん")
);
:
for (var i = 0; i < articles.length; i++) articles[i].write(firstNo+i);
現在ツール側がやっているあぼーん検出をCGIにやらせるという案を 考えてみました。 ・ツールはCGIから受け取ったログの長さを合算して、現在の取得サイ ズを覚えておく。 ・差分取得のときは、開始レス番号と終了レス番号に加えて現在の 取得サイズを一緒に渡す。 ・CGI側で現在の取得サイズを調べ、現在の取得サイズの1バイト前が 改行でなかったらあぼーんが発生したとみなし、全レスを返す。 ・現在の取得サイズはあぼーんの検出にのみ使い、あぼーんされてい なかったら指定された範囲のレスを返す。
>>303 ・CGI側で現在の取得サイズを調べ、現在の取得サイズの1バイト前が
改行でなかったらあぼーんが発生したとみなし、全レスを返す。
それだと偶然改行があるとミスするから、渡されたサイズと
一つ前の番号のレスが終了している場所が一致しているかど
うか、ぐらいはやってもいいんじゃないかな。
それでも偶然の一致の可能性は残るが。
あぼーん問題。 あぼーん処理は、マーキングするだけにすれば、 .datは増えていくことはあっても縮んだりすることは ないので、mmap()とかで処理がやりやすいんだけどねー。 もちろんあぼーんマーキングには、時刻(time_t)を 入れとくのです。 段階的にあぼーん処理を変更してくことって、 できないかしら?
306 :
デフォルトの名無しさん :01/08/27 17:01 ID:qeolEtH2
個人情報なんかの理由であぼーんされるときには、 ログ上から完全に消す必要があるから、他で消す ようにするのは不可能では? むしろあぼーん情報を取得させて、専用ソフト側で ローカルなログとのあぼーん同期処理をするとか。
307 :
デフォルトの名無しさん :01/08/27 17:03 ID:plW.7Hb6
>>305 あぼ〜ん処理を、「あぼ〜ん」と置き換えるのではなく、特定の文字、
それもキーボードから入力できない文字(たとえば0xffとか)で上書き
するってのはどうだろう?
そうすればdatは単調増加を保証する事が出来る。
あ、過去ログのあぼ〜ん検出は、考えてません。(藁
もういっちょ。自己レス >上書きするってのはどうだろう? 同じ長さだけ、上書きって事ね。
>>307 それでいいとおもう。
実際の改造手順としては。
0) あぼーん新仕様の提示、決定
1) read.cgiに新仕様を実装
2) あぼーんツール(?)を新仕様に従って改変
3) この時点で.datの半固定レコード化が決定される
4) ウマー
仕様に要求されるもの
・ログの保全。証拠隠滅のため、レコードを塗りつぶす必要蟻。
・消去した時刻を保管。L-Mを吐くために必要。time_tに準ずる情報で構わない。
>>306 外からの access 不能な dat file を用意しておいて、
access 可能な dat file はその file それから生成するようにする
っていう手もあるかな。
キーボードから入れられない文字列である必要はないのではないかな。 マーク付けを利用して、 "+本文でーす。" −あぼーん→ "-〓〓〓〓〓〓" みたいな感じで。
ついでにあぼーん時に発言同様に末尾にレコード追加できれば 差分取得ツールでもあぼーんに気づけるね。
ところで、各鯖のストレージ容量は 問題ないんでしょか? ファイルをいくつか 書き出してもいいのであれば、 問題解決に対するいい案がある。 (inodeサイズも問題か…?)
316 :
デフォルトの名無しさん :01/08/27 17:28 ID:plW.7Hb6
となると、datファイルは以下のようになるのだろうか。 +名無しさん<>sage <>01/06/13 21:26<>暴露しろや、ゴルァ -##########<>#####<>##############<>########### +名無しさん<>sage <>01/06/13 21:36<>↑削除依頼出しときました。 *2 +名無しさん<>sage <>01/06/13 21:46<>お、早速あぼーんされてる (+ 通常のレス / - あぼーんフラグ / *あぼーんしたレス番号) 差分取得cgiが3-4を取得する場合は、3行目から3行を返す。
317 :
デフォルトの名無しさん :01/08/27 17:29 ID:prujT1K6
>>316 日時のところ、削除日時にすると、
いろんな処理が融通利くと思われ。
>>318 だね。
あと、マークだけど、行頭の+とか-でせずとも、現在使用している
セパレータ<>は最初の<しか見てないみたいだから、最初のセパレータ
を<-とか<*とかする事で判別できるかもしれない。
>>317 それだと、名前欄とかに半角スペースを入れられたときに誤作動しないかなあ
と思ったの。もちろんマークにするなら、何でもいいよ。
転送量の増加って、いま急に始まったことじゃないんでしょ? どうしてここにきて取りざたされてるの?
名無しさん<>sage <>01/06/13 21:26<>暴露しろや、ゴルァ <> ##########<-#####<>998845501#####<>########### <> 名無しさん<>sage <>01/06/13 21:36<>↑削除依頼出しときました。 <> 2<*<><><> 名無しさん<>sage <>01/06/13 21:46<>お、早速あぼーんされてる <> こんな感じかな。
>>321 4行目のほうにも同じ削除日時があると、ツールでいちいち取りに行かなくてもよさげ。
あぼーんの新仕様を提示して受け入れられるとは限らないから 従来フォーマットでなんとかする方法も検討しておいたほうが よくない?
>>320 サーバー管理者が増加ペースを見誤るほどだったらしい
>>319 自己レス、セパレータはちゃんと二文字目の'>'も見てた。失礼。
でも、これはread.cのちょっとした変更で対応可能だ。
326 :
音楽侍 ◆NtVkSITE :01/08/27 17:56 ID:cn52pBwI
>>320 なんと回線の帯域使用料金が従量制だから。
>>326 それは、非常に普通の事だと思うんだけど、BigServer側から
ひろゆきの方へ、ちゃんと伝わってなかったの?
328 :
デフォルトの名無しさん :01/08/27 18:02 ID:cn52pBwI
>>327 まさか。
もうずっと話し合ってたけど、事が露呈したのは、26日に夜勤さんがスレで暴露、というか音を上げて、read.c公開したからだよ。
それまでずっと、「雑談系板つぶす」って言ってたんだけど。
>>321 透明アボーンも対応するなら、別な文字も割り振っとこうよ'%'とか
330 :
音楽侍 ◆NtVkSITE :01/08/27 18:02 ID:cn52pBwI
>328 ちょっと日にち間違ったけど、まぁそんな理由。
331 :
デフォルトの名無しさん :01/08/27 18:03 ID:tM5s0/C.
>325 現時点ではHTMLのタグがdatに埋め込まれているので '<'のみでは判別不可能です。
>>331 そだね。すっかり忘れてたよ。バカだなあ>おれ
<* とか <% とかだったら大丈夫?かな?
>>329 透明あぼーんのことすっかり忘れてたYO
>329 漏れも忘れてた。 でも、この方法で行くなら、透明あぼーんは別のマークを使うなどして、 read.cgiで処理しなきゃ仕方がないよね。 (コテハンにします。)
>>331 .datの中に埋め込まれる'<' '>' (< >ニ非ズ)は、
bbs.cgiのみが生成していて、
'<>'というシーケンスが他に現れないなら…
「最新レスnn」の処理はbinary search+αに
最適化できそうだなー。
番号指定はlinear searchじゃないとダメか…
実際Linuxの場合、mmapされたファイルはたいてい
ページキャッシュに残留してる…ことが期待されるんで、
無理にlinear searchを避けることもないかな。
>>335 (< >ニ非ズ)
&gt; &lt; って書いたつもりだったのに、
そのまま取り込まれちゃったよ…鬱だ
337 :
デフォルトの名無しさん :01/08/27 18:27 ID:ZIaMkoUw
ほんとに夜勤さん待ちなの?
339 :
音楽侍 ◆NtVkSITE :01/08/27 18:33 ID:cn52pBwI
341 :
デフォルトの名無しさん :01/08/27 18:34 ID:Oeqm.zBM
スレに書き込んだ人を特定する方法が、 ハンドルネーム ID キャップ トリップ fusianasan e-mail こんなに必要だとは思えません。 どれかを削るなり、この部分のシステムをシェイプアップすることはできませんか。
342 :
デフォルトの名無しさん :01/08/27 18:35 ID:cn52pBwI
read.cgiは塗りつぶしでいいとして、UA用に
>>300 が必要じゃないかな
UA側は1回/日とかで
>>300 を読んでアボーン処理を行うとか
344 :
:~名前() :01/08/27 18:52 ID:plW.7Hb6
>343 一応、>316の方法で、新規レス取得時にあぼーんを検出出来るように 考えているつもりなのだが。
頭ががdiff出力として解釈してた(恥
スマソ
>>344
>>344 漏れは使ってない(ほっとぞぬ)ので
わからんのだが、新しいフォーマット導入したとき
かちゅーしゃ互換にできるだろーか?
それがちょっと心配。
まー切り捨てるってのは考えられるけど(w
あぼーんを塗りつぶす、まではかちゅーしゃとかでも
見ることができるんではないかと。
みなさんお疲れさまです。
>>338 かなり規模の大きい話になってきましたから、「当然のこと」をきちんとまとめて、
各部を各スレに明示的に分散させると良いと思います。
・read.cgi最適化(従来との互換性を保ちつつ、新仕様の実装&バグとり)
・bbs.cgiの改善案
・bbs.cgiの作成?
・P2P-cacheの作成
大まかにわけるとこんなところですが、P2P-cacheの内部ではさらに分化もある
でしょう。
で、とにかく、各セクションが絶対に守るべき仕様を、まとめて掲げておくべき
だというのが、最もいいたいことです。
もしくは、最重点セクション以外は議論を凍結してしまった方が、むしろ
よいかもしれません(混乱を防ぐため)。
どうでしょうか。まとめてみますので、みなさんがよろしければ提示しますです。
>>339 タイトルとかどうしましょうか?
「キャッシュ型負荷分散システム開発スレッド」とかでいいかな?
作成もどなたかにお願いしたいのですが。。。
>346 それはもう、ツール制作者さんに対応して貰うしかない。 ある程度早めに仕様を公開して、その間に対応をして貰う。 そのためには、なるべく現行の仕様から逸脱しない様に、 しなきゃならない。 まあ、それもこれも、運営側がなんと言うかにかかってるけど。
>>620 現在でも、キャッシュとサーバー上のデータが同じなら、リロードされても
何も送らないような仕様になっています。
10秒ごとに新規書き込みされない限り、同じことですので大丈夫だと思います。
もっと値を大きく、1度読み込まれたら5分はリロードできない、という風にすると
劇的に回線負荷は減るかもしれません。
その前に、index2.htmの負荷(キャッシュに対応していない)をなんとかする
必要がありますが。。。
>>348 tech板でいいですか?よければこちらで建ててしまいますが。。。
353 :
 ̄ー ̄)ノ :01/08/27 19:17 ID:KeujS.U6
>>352 板の選定はお任せします。
立ててしまってください。宜しくお願いします。
>>355 たてました。
あとの各話題の誘導などはおまかせください。。。
>353 r2chhtml.hもお願い〜
359 :
 ̄ー ̄)ノ :01/08/27 19:34 ID:KeujS.U6
わかりました
360 :
 ̄ー ̄)ノ :01/08/27 19:37 ID:KeujS.U6
361 :
名無し娘。 ◆vP.bOZFQ :01/08/27 19:42 ID:9PuzuTEs
362 :
仕様書かきかき :01/08/27 19:49 ID:TbH.eexM
まだここで話してもいいのかな? dat_readがとにかく効率悪いのは分かったけど これを改善するにはdatの仕様から変えないとだめすね。 これまで改造したread.cgiはもうリリースされたの? 次期read.cgi(つーか次期2chの基本仕様)はどこで話すの?
363 :
名無し娘。 ◆vP.bOZFQ :01/08/27 20:02 ID:9PuzuTEs
>>362 えっと、read.cgiに関しては全部ここのつもりですが、
当面は、現在のread.cgi各部(各関数)の機能は変えずに、
最適化を目指し、同時に、互換性を保ちつつ、次世代read.cgiの
機能も取り込んでいくことになると思います。
#ifdef でコンパイル時に選択肢を残しつつ。
364 :
 ̄ー ̄)ノ :01/08/27 20:13 ID:KeujS.U6
365 :
名無し娘。 ◆vP.bOZFQ :01/08/27 20:18 ID:9PuzuTEs
>>364 サーバーをProxy型にして、resumeっぽくふるまえばよいのかな。
If-rangeあたりにも対応。。。
あぼーんのときはresumeさせなければよい。
。。。gzip圧縮させたときも問題なく振る舞うかどうかは知りませんが。
>>364 数時間ほど前、まさにその話をしていたんですが。
過去ログをどうぞ、あぼーん機能を含めて、大体仕様は固まっています。
(と、思う。もちろん、改良の余地はいっぱいあります。)
これに、インデックスの機能が付けられたら、現行のdatファイル(と似た
仕様)を使う場合、結構いいところまで行くと思うのですが
367 :
名無し娘。 ◆vP.bOZFQ :01/08/27 20:21 ID:9PuzuTEs
>>365 つづき。
やっぱり、一般のブラウザはファイルサイズを見て差分転送にするかどうかを
決めているはずですから、cgiで動的に圧縮かける場合、できあがったgzip
ファイルに膠着性(?)がないこともあって、難しいような気がします。
あ、もちろん、bbs.cgiなど、関連スクリプトもまとめて変更できる場合の話です。 次世代?の話になります。
369 :
名無し娘。 ◆vP.bOZFQ :01/08/27 20:25 ID:9PuzuTEs
>>368 んと、bbs.cgiや.datファイルへの要求仕様を明確にすれば、read.cgiの方で
(現在との互換性を保ちつつ)先に実装しちゃうってのは、ありだと思います。
まだ理解しきっていないので過去ログ読んできます。
370 :
 ̄ー ̄)ノ :01/08/27 20:26 ID:KeujS.U6
P2Pキャッシュ+差分問い合わせ化が 次世代2chとしては最も好ましいと思うのですが Big-serverがそれを容認するでしょうか 2chにも耐えられるという宣伝効果が事実上無くなるというか 耐えれなかったからP2P化したとして Big-serverの宣伝としては逆効果なわけで・・・
371 :
名無し娘。 ◆vP.bOZFQ :01/08/27 20:28 ID:9PuzuTEs
まず、現在のbbs.cgiがなにやってるかのフローチャートを作りましょうか。 新たな機能を加えるにしても、今何やってるか正確に分析しないことには 話になりませんし。 ドンドン話進めちゃってください。
372 :
 ̄ー ̄)ノ :01/08/27 20:30 ID:KeujS.U6
2ちゃんのCGI達が何をやってるかをフローチャートにしたら
何か良い案が出るかもしてませんね
お願いして良いですか?
>>371
373 :
名無し娘。 ◆vP.bOZFQ :01/08/27 20:35 ID:9PuzuTEs
>>372 自信なし。。。叩き台にしてください(汗
getenv()の内容チェック
.datの容量、レス数チェック、lock
名前の長さ(0<i<?),e-mailの長さ(0<=i<?),age&sage,本文のデータ量等チェック
.datに追加、lock解除
index2.htmlのlock,書き換え
374 :
名無し娘。 ◆vP.bOZFQ :01/08/27 20:37 ID:9PuzuTEs
二重書き込みチェック、連続投稿チェックもあるなぁ。 どの順でチェックしているのかはよくわからないです。
375 :
 ̄ー ̄)ノ :01/08/27 20:38 ID:KeujS.U6
>>225 の流出スクリプト(?)を元になんか出来ませんかねぇ
376 :
仕様無しさん ◆NwLv.g/w :01/08/27 20:43 ID:LABmXIYU
377 :
 ̄ー ̄)ノ :01/08/27 20:48 ID:KeujS.U6
よく考えたらP2Pキャッシュ化って削除関連が難しそうですよね いくら本家サーバーで削除しても潜在的に大量の 未あぼーんデーターが全国に散らばってるんですからねぇ〜
378 :
音楽侍 ◆NtVkSITE :01/08/27 20:58 ID:cn52pBwI
マルチポスト失礼。 開発シーンをもっと明確にした方が良いと思います。 1)現行システムを夜勤さんとともに向上させる 2)ひろゆきさん達が参加するような、bbs.cgiも含めた改善案 3)2ちゃんねる類似の新システム開発 いまは、上記が混然としすぎています。
>>377 2ch.netから全国のピアキャッシュに削除トランザクションをフィード。
ピアキャッシュリストの履歴管理が大変かな…
380 :
名無し娘。 ◆vP.bOZFQ :01/08/27 21:02 ID:9PuzuTEs
>>377 そうですねぇ。
bbs.cgiがなにやってるか(それぞれがひとつの関数かな、と)
ID計算が前に来るような気もする。。。
10.zz_GetEnv()っぽいことをする
20.refererやremote_hostなどをみて、不正な場合は排除する
30.名前、e-mail、本文欄をチェックし、不正な場合は排除する
40.cookieをみて、不正な書き込みを排除する
50.連続投稿を排除する
60.書き込もうとする.datをチェックする。
61..datが大きすぎる場合、レス数が1000overの時排除
62.二重書き込みを排除
63..datをlock
70.書き込み内容の特殊文字を変換する、HTMLタグを挿入する
71.キャップ、トリップ、IDの計算
72..datに書き込み、lock解除
80.age,sage判別
81.index2.html更新
381 :
 ̄ー ̄)ノ :01/08/27 21:05 ID:KeujS.U6
382 :
名無し娘。 ◆vP.bOZFQ :01/08/27 21:20 ID:9PuzuTEs
>>378 統合スレッドの方でレスしておきますね。
>>380 そういえば、キャップがあると連続投稿規制かからないとかいう噂も。。。
どうかみなさん、バシバシつついてください。
スレ立ての場合のフローなども。。。
その後、bbs.cgi自作しちゃいますか?
キャップなどの一覧はヘッダなり外部ファイルなりに追い込んで。
383 :
 ̄ー ̄)ノ :01/08/27 21:21 ID:KeujS.U6
完全P2Pってのは掲示板のシステムとしては 少し難しいのかもしれませんね 特に削除という面においては・・・ そうなると、固定キャッシュサーバーが有力ですかね Big-serverの事も配慮すると固定キャッシュサーバーは 2chで有志を募るという形にしないとマズイですね もしくはP2Pキャッシュを暗号化してしまう (つまり消せない未アボーンデータを見れなくしてしまう)
384 :
仕様無しさん ◆NwLv.g/w :01/08/27 21:23 ID:LABmXIYU
subback.htmlの更新も81に入るかな?
385 :
 ̄ー ̄)ノ :01/08/27 21:25 ID:KeujS.U6
バージョン4の時のread.cもそうでしたけど
現状のbbs.cgiもつつき所が沢山ありそうですね
>>225 のデーターは本当に2chのスクリプトなんでしょうかね?
まぁ良いか・・・
これ見ながら新しいの考えてみましょうか
夕方頃に話していたことを、まとめてみました。 次世代?2ch .datとread.cgi、その他関連ファイルの仕様案 【要点】 ・bbs.cgiがインデックスファイルを作成すること ・削除処理は、レス内容塗りつぶしで行い、datのサイズを変えないこと ・削除処理の履歴?をdatファイルに記録すること ・datそのものの差分を取得するcgiを作成すること ◎インデックスファイル インデックスファイルは、bbs.cgiが各レス書き込み時に、書き込み後の datファイルのサイズを記録し、レス番号と関連付ける。 たとえばレス番号nのレスを読み出したい場合は、datファイルより、 idx[n-1] 〜 idx[n] - 1 の範囲を読み出す。 ファイルフォーマットは未定。32bitバイナリのベタファイルで十分だと思う。 ◎削除処理 削除スクリプトは、該当レスの内容を特定の文字(とりあえず'#')で 塗りつぶすことで、削除処理を行う。datファイルのサイズを変更しない。 (インデックスファイルの整合性を保つため) また、datファイル内のレスの最初のセパレータ"<>"を"<-"に変更する。 ("<-"はとりあえず) また、datに通常のレスの形式で、削除履歴を記録する。ただし、最初の セパレータは"<*" とする。(これもとりあえず) 例:3件書き込まれた後、2が削除、さらに1件書き込み。 ---------------------------------------------------------------------- 名無しさん<>sage <>01/06/13 21:26<>暴露しろや、ゴルァ <> ##########<-#####<>998845501#####<>########### <> 名無しさん<>sage <>01/06/13 21:36<>↑削除依頼出しときました。 <> 2<*<998845501><><> 名無しさん<>sage <>01/06/13 21:46<>お、早速あぼーんされてる <> ----------------------------------------------------------------------- ◎dat差分取得スクリプトの作成 専用UAやミラーサーバがdatファイルを取得する際に使用する。 ただし、取得する際にはdatファイル内に記録された削除履歴を含めて取得する こと。たとえば上記のdatファイルの場合、st=3&to=4 を取得する場合、実際に 取得されるのは、3行目から5行目、「↑削除依頼」から「お、早速」まで。 また、上記のdatファイルからレス番号4のみを取得する場合は、4行目と5行 目を取得する。(削除履歴を間違いなく取得させること) 専用UAは、取得した差分datから、削除履歴をみて、既に取得しているログの 削除処理を行うこと。 ◎その他 削除したレス及び削除履歴には削除日時をtime_tで記録する。(用途は今のとこ ろ思いつかないけどとりあえず。)
387 :
音楽侍 ◆NtVkSITE :01/08/27 21:38 ID:cn52pBwI
>>382 というか、あっちって、見られていますか?(笑)
私が言いたいのは、いま、スレがいろいろたち始めていますが
「どのスレで、誰が、どの課題について、なにをしている」
っていう整理をした方がよい、ってことです。
読む人も、作業する人も、管理者さんたちも注意が拡散してしまいますので。
追加です。 ◎read.cgiの変更点 ・dat_read()ではdatファイル全部を読み込まず、インデックスファイルに基づいて 読み込む。 ・セパレータを識別し、通常のレス、削除されたレス、削除履歴を認識すること。 削除履歴は、read.cgiないで「あぼーん」として表示するようにする。 ◎問題点 ・「透明あぼーん」に対応できない。セパレータ(マーク)を"<%"等として透明あぼ ーんと認識させることは可能。 こんなもんかなあ。他にもあったような気がするけど。思い出したら追加します。
389 :
デフォルトの名無しさん :01/08/27 21:47 ID:GRBfg3.A
透明あぼーんはしばらく考えないでおいたほうが・・・
390 :
名無し娘。 ◆vP.bOZFQ :01/08/27 21:51 ID:ihlstQzQ
>>387 やろうと思っていたのですが、今日はなかなか時間がとれなくて。
# あっちはそのためにたてたスレッドだったのですが(^^;
申し訳ないです。
深夜帯になったら時間がとれますので、そのころ現状のままでしたらやっておきます。
# 今は私自身もなんのこっちゃ把握していない(汗
392 :
391 :01/08/27 21:58 ID:Kz6Nmn.Q
あぅ。。 元が流出スクリプトって書かれてましたね。 今まで勘違いしていました。
ボトルネックはCPUでもDiskI/OでもなくてNetworkI/Oなんでしょ。 インデックスで多少DiskI/Oが減ってread.cgiが軽くなっても トラフィック量が変わらなきゃしょうがないよ。 それに.datの一部やインデックスの一部が壊れただけでそのスレ崩壊しそうだ。 シンプルな実装をこころがけたいね。過度の複雑化は往々にして破綻をもたらすぞ。 とりあえず gzip の圧縮レベル上げるとかしたらどう?CPUまだ余裕あるんでしょ
あのー、キャップのパスワードから、初期のスクリプトに間違い無いとの噂を 聞きましたが・・・
395 :
名無し娘。 ◆vP.bOZFQ :01/08/27 22:04 ID:ihlstQzQ
396 :
名無し娘。 ◆vP.bOZFQ :01/08/27 22:08 ID:ihlstQzQ
一日猶予が与えられたので、もうちょっと実装しましょうか。 read.cgiに限っていえば、 ・NetworkI/Oを減らせるのならCPUもDiskI/Oもかなり犠牲にしてよい ・その上で、CPUとDiskI/Oにもやさしく(安定性はあるに越したこと無い) ・それらが全部終わったら、.datやbbs.cgiにも対応を求めるような開発をはじめる で、どうですか?>all
397 :
仕様無しさん ◆NwLv.g/w :01/08/27 22:11 ID:LABmXIYU
そうすると、Web板での修正のうち、比較的手のかからないものをread.cgiに 取り込み始めたほうがいいですかね?
>>393 最新版(ver14.x)ではすでに圧縮レベルを最大にするように設定しています...
# あ、でもzlibを使用した場合だけだ...
399 :
音楽侍 ◆NtVkSITE :01/08/27 22:13 ID:92bYvmYA
というか、このスレでは「read.cgi」=夜勤さん、集中でいいと思います。 ほかのbbs.cgi系の話などはスレを分けるべきですし。
>>396 それなら「出力バッファリングしてContent-Length吐き出し」やりませう
401 :
名無し娘。 ◆vP.bOZFQ :01/08/27 22:18 ID:ihlstQzQ
>>397 read14.2.1.c & r2chhtml.h では、HTMLタグ類はほとんど(99%以上)、
r2chhtml.h の方に押し込められています。
ですから、read14.2.1.c の方には手を加えずに、軽量化を図ることが
できます!とても便利。
Web板の方に r2chhtml.h の軽量化はまかせちゃいましょうか?
# あまりカリカリに軽量化されてもまずいかもですが。
402 :
:~名前() :01/08/27 22:20 ID:plW.7Hb6
>393 うん、これは言われるだろうと思っていた。(ごめん) 確かにNetwork負荷の事は考えていない。元々は、「かちゅーしゃが、あぼーん されたレスを含むスレを読み込むとき、全部再読み込みしちゃうけど、何とかな らないか?」と言うところから始まった話だから、全然考えていない訳でも無い んだけど、そのためだけに、となると、コストが高すぎるのは承知。 あくまでも現状の話ではなく、その先の話だと思ってください。スレ違いというの なら、すまぬ。将来的には、read.cgiの負荷を減らすのは、いずれやらなければ ならない作業だとは思う。 datファイルの堅牢性の件だけど、そんなに低いとは思っていない。基本的にフ ァイル更新は追記のみだし、削除処理にしてもファイルのサイズを変えないよう に、インデックスとの整合性を崩さないように配慮しているつもりなのだが。もちろん、 現行のdatのシンプルさにはかないっこないし、堅牢性劣るだろうけど。でも、read.cgi の負荷を減らそうと思えば、インデックスファイルを導入しなければならないのは、 必然だと思う。 しかし、スレ違いだな。>399さん、ごめん。ここまで書いたから、これだけ書き込みます。 つか、仕事に戻ろう。(明後日納期だったりする。)
403 :
名無し娘。 ◆vP.bOZFQ :01/08/27 22:21 ID:ihlstQzQ
404 :
仕様無しさん ◆NwLv.g/w :01/08/27 22:24 ID:LABmXIYU
>>401 そうですね。
あと、向こうはCになれてない人も多そうなので、
もう少し説明書きを足しといた方がいいと思うけど、
書き足したほうがいい項目って何があるかな?
405 :
名無し娘。 ◆vP.bOZFQ :01/08/27 22:25 ID:ihlstQzQ
406 :
名無し娘。 ◆vP.bOZFQ :01/08/27 22:32 ID:ihlstQzQ
>>404 うーん。完成品を1つだけ作ろうとせず、何段階かつくってもらえると安心かな。
あと、CSSやCookieに頼らず、.hだけで完結的になるようにお願いしないと。。。
# Makefileの一部分、read2ch.hに移そう。。。
407 :
名無し娘。 ◆vP.bOZFQ :01/08/27 22:41 ID:ihlstQzQ
>>386 いろいろ考えたんだが、
あぼーんの時間は、time_tを整数にしたものを
書き込む必要はないかも。
むしろ、既発言が使用しているフォーマットで
書いてくれても…
というのは、元々のdatファイルには、発言時刻の
秒フィールドがないのね。だから無意味。
といっても、秒単位で時間を取得することは、
Last-Modifiedの精度を上げるためにも必要なことで…
以下、bbs.cgiへの要望および仕様改良への段取り
0) bbs.cgiに、秒フィールドも書き出してもらうようにしてもらう。
1) read.cgiが秒まで扱うように改変。
2) read.cgiがunix時間も扱えるように改変。
3) bbs.cgiに、時間フィールドをunix時間で吐いてもらうようにする。
4) ウマー
漏れは、曜日フィールド復活きぼーんぬ派。
過去ログ読むときに、曜日があった方が、
読んでる実感が湧くから(w
410 :
デフォルトの名無しさん :01/08/27 23:03 ID:S8G1QSpA
web板か迷ったんだけど 50レスを超えるスレで、st=1と同等のことをすると書き込みフォームを 抑止すればブラウザ組の全スレ読み込みが減るのではないかな?
411 :
デフォルトの名無しさん :01/08/27 23:06 ID:eH.k24MU
ついでに、E-mail欄とかにシングルクォーテーションを入れてカキコすると 返ってきた画面がエライことになるのも対応して欲しいかも。
>>409 あと、.dat取得系と互換を取るためには、
・とりあえず各フィールドにはshift jisで「あぼーん」文字列を入れておく
・残ったフィールドはwhitespaceで塗りつぶす
でいいんではないかと。(もちろんこれはbbs.cgi要対応)
…あぼーん判定をどうしよう(w
名前・mailtoともに「あぼーん」だったらあぼーんと見なし、
カキコの際に、双方とも「あぼーん」であるものを
カキコできないようにすればいいかな?
123
414 :
音楽侍 ◆NtVkSITE :01/08/27 23:10 ID:92bYvmYA
>>412 むしろ、書き込み時間があぼーんで判断しないと・・・
名前、mailのあぼーんは、誰でも出来るので。
>412 >・とりあえず各フィールドにはshift jisで「あぼーん」文字列を入れておく それは、名前とかメール欄とか、フィールドの長さが足りない場合にdatの 長さが変わる場合があるから。 >408 今の専用ブラウザを変更するときに、どっちが大変か、によると思う。 なるべく現行のフォーマットを崩さない、を念頭に置いてる。 とりあえず、今はこのスレで別の作業が進行中なので、このくらいで。(仕事しろよ>おれ)
416 :
名無し娘。 ◆vP.bOZFQ :01/08/27 23:20 ID:ihlstQzQ
417 :
- :01/08/27 23:30 ID:q7WWiv5M
>409 投稿日時のフィールドって 01/08/27 23:19 ID:ihlstQzQ みたいに IDも含まれちゃってますけど、これを 998921988 ID:ihlstQzQ って感じにするんでしょうか
今最新版はread14.2.2.cだよね? 簡単に直せそうな変な所と今まで指摘されていた場所を再掲。 BadAccess()のテーブル内(新しい方、214-) オリジナルに従うと、こうなるはず? - "WebFetch?", + #ifdef Katjusha_Beta_kisei + "Katjusha", + #endif + "WebFetch", dat_read()のケツ(567-) - for (i = 0; i < zz_fileSize; i++) { - if (BigBuffer[i] == '\0') - BigBuffer[i] = '*'; - } + i = strlen(BigBuffer); + while (i < zz_fileSize) { + BigBuffer[i] = '*'; + i += strlen(BigBuffer + i); + } atexitfunc()(710-) 全体を #ifdef GZIP #endif で囲んでくれ(コンパイルエラー) main()の中盤(786-) コピペの残りだから要らないはず - #ifdef DEBUG - sprintf(fname, "998695422.dat"); - #endif - zz_fileSize = getFileSize(fname); その他 IsBusy2ch()が、レスを1つparseする度に呼ばれているので、 main()でzz_GetEnv()を呼んだ直後辺りで一度呼んで、 結果はグローバル変数なりに保存して欲しい。 (後述するルーチン内部でもレス毎に呼んでいるので無駄)
419 :
音楽侍 ◆NtVkSITE :01/08/27 23:37 ID:92bYvmYA
とりあえず、レスを全部読むのデバッグ版を夜勤さんに入れてもらわないとダメじゃないの?
420 :
418 :01/08/27 23:37 ID:bJ23bC3M
それから、>>nnのリンクをカットするルーチンを作ってみた。 他にも、<br>後の空白と<br>の前の空白(さらに直前がSJIS1バイト目じゃない場合) をカットしたり、連続した空白をまとめたりした(タブはやってない)。 このスレのレスが304までの時点のdatを使い、全て表示してみると、 約17%の削減になる。チャット状態の>>nn+1行レスが多いスレなら、 20%は軽く超える削減になるはず。 もちろん、非圧縮のUAが3割程度しかないから、 全体で5-6%にしかならないが、試してみる価値はあると思う。 ただ、テストは今Winしか使っていないので、CygwinのGCC(結構古い)で、 ローカルのファイルをいくつか読みこんで試しただけなので、 負荷等は不明。異常系のテストもバッファが小さすぎる場合しかしていない。 TYPE_TERI以外もチェックしてない。 誰か、組みこんで、負荷でも調べてくれる人いる? アップの仕方とか知らないから、このスレにコピペしたいんだけど。 追加は全部で200行弱程度。 インデントを全角にするのが面倒なので、つぶれると思う。 まだこのスレしか読んでないので、うざかったらごめん。
421 :
てすと :01/08/27 23:41 ID:eF1BPT8s
422 :
仕様無しさん ◆NwLv.g/w :01/08/27 23:44 ID:LABmXIYU
423 :
名無し娘。 ◆vP.bOZFQ :01/08/27 23:44 ID:ihlstQzQ
14.2.2 での変更点ってどこかで公開されてますか?
424 :
- :01/08/27 23:46 ID:q7WWiv5M
>418,420
>>228 のftp使わせてもらうのは?
425 :
仕様無しさん ◆NwLv.g/w :01/08/27 23:46 ID:LABmXIYU
>>423 ぱっと見たとこCOOKIE周りとインデント整形みたいだけど...
インデント変えられたので、diffがまともに取れない〜
>>423 私がやったので、一応。
・-DCOOKIEで今までJavaScriptでやっていたことをCGI側でやるように。
・-DPREVENTRELOADで連続リロードできないように。
・コンパイラの警告対策。
こんなところです。
427 :
418 :01/08/27 23:46 ID:bJ23bC3M
428 :
名無し娘。 ◆vP.bOZFQ :01/08/27 23:52 ID:ihlstQzQ
なぜ誰もpserver立てようって言い出さないのか不思議。
sourceforgeとか。
まちがえた。 マージしたのは 403, 418, 421 です
>>414 そこがいちばん頭の痛いところで、
.datのフォーマットを好きにいじっていいなら
あまり考えずに済むところなのです。
ID強制なのであれば、ID欄が必ず8文字
あるので、そこにあぼーん書き込めますな(w
434 :
:01/08/28 00:15 ID:PuOGwR/w
個人個人のパソコンに負荷分散させることできないのかな? 一つの板における各々の表示は一台にして、全部表示などの場合は A君〜J君等のパーソナルPCに負荷をかけさせるようにする。 保存先もそれぞれのPCに規則を決めて、時間、アクセス場所などで振り分ける 有志は、ADSL回線以上で一つの板に100人くらい分散すれば一気に負荷かからないのでは ログは各々PCに貯めて、倉庫いきになったとき昼間、朝方等の人の少ない時間帯に 中央に集めバックアップ。
>>417 改めて考えてみたんだけど、
そこまですることはないかな。
秒のフィールドまで含めてもらうだけで
十分な気がしたーり。
436 :
名無し娘。 ◆vP.bOZFQ :01/08/28 00:16 ID:WWWqIZKM
気になったこと。 "#ifdef FORCE_304_TIME" のときは "#define LASTMOD" してあげた方が 安心かなと思います。
437 :
aki :01/08/28 00:17 ID:LkIGICBw
とりあえずsourceforgeでアカウント作ってみる。
438 :
音楽侍 ◆NtVkSITE :01/08/28 00:18 ID:lGTCN/0o
とにかく、このスレでbbs.cgiの変更が必要なものを語るのは意味がないですね。
>>434 P2Pのスレに行ってみてください。いろいろ意見が出ていますです
439 :
:01/08/28 00:18 ID:PuOGwR/w
中央の板では各々個人のPCスレッドが再生されるごとに 割り振られリンクされ、そこに保存される。つまり表面上は リンクを個人のPCに貼った状態になる。 その回転規則、人数、人の信頼は定かではないと思うけど
440 :
じじい :01/08/28 00:20 ID:LQYjeU9Q
IPアドレスの下1桁が奇数か偶数かで振り分けて10秒ごと にどっちかだけ処理して、対象外の場合次の10秒を 待つようにしたら見かけ上の転送量が半分にならんかな。
441 :
aki :01/08/28 00:20 ID:LkIGICBw
あーなんか大変そう。 これって審査通らないとだめなのかな。
442 :
名無し娘。 ◆vP.bOZFQ :01/08/28 00:22 ID:WWWqIZKM
#ifdef の一覧表 GZIP gzip圧縮で送信(ZLIB出も使う) ZLIB zlib圧縮で送信(自動的に"#define GZIP"される) PREVENTRELOAD "FORCE_304_TIME"で指定された秒、リロードに対して304を返す LASTMOD クライアント側ファイルの最終更新を参照して未更新の時304を返す COOKIE 今までJavaScriptでやっていたことをCGI側でやる NEWBA 最適化された BadAccess() をつかう GSTR2 最適化(1文字で判定)された zz_GetString() をつかう Katjusha_Beta_kisei LOGLOGOUT CM_BBSPINK TYPE_TERI FreeBSD DEBUG
443 :
:01/08/28 00:23 ID:PuOGwR/w
で、各スレッド毎にすべてみるした場合、 そのサーバーを提供している広告がでるようにすると。
>>443 PuOGwR/w スレごとに分担があるから、適当な所へ行って下さい。
あと、過去ログは全部読めとは言わないので、流れは見てください。
445 :
:01/08/28 00:25 ID:PuOGwR/w
今夜夜勤さんが来たら、どのソースを渡せばいいのでしょうか? read.cgi 5.xx化はまだ完了していないようなのですが。
448 :
デフォルトの名無しさん :01/08/28 00:34 ID:gcrx4Fj2
449 :
名無し娘。 ◆vP.bOZFQ :01/08/28 00:35 ID:WWWqIZKM
451 :
音楽侍 ◆NtVkSITE :01/08/28 00:38 ID:lGTCN/0o
23:00-3:00の間は全スレ読めない、の部分の修正版って、もう入っているのでしたっけ?>read.cgi5.02 修正したりデバッグしたらバージョン番号変えませんか? それと、表示バージョンとソースバージョンを統一しませんか?
452 :
デフォルトの名無しさん :01/08/28 00:41 ID:gcrx4Fj2
>>451 23:00-3:00の間は全スレ読めないじゃなくて、
23:00-3:00の間は全スレ読めてしまうバグの
修正版は入っていません。
453 :
名無し娘。 ◆vP.bOZFQ :01/08/28 00:41 ID:WWWqIZKM
>>451 5の段階では入っていないです。
その他の部分、同意です。
454 :
仕様無しさん ◆NwLv.g/w :01/08/28 00:42 ID:pAh9w2Cg
455 :
名無し娘。 ◆vP.bOZFQ :01/08/28 00:44 ID:WWWqIZKM
457 :
名無し娘。 ◆vP.bOZFQ :01/08/28 00:46 ID:WWWqIZKM
458 :
名無し娘。 ◆vP.bOZFQ :01/08/28 00:48 ID:WWWqIZKM
>>442 #ifdef FreeBSD
ですが、これなくてもFreeBSDでもコンパイル通るので、
削っちゃって大丈夫です。
461 :
デフォルトの名無しさん :01/08/28 00:53 ID:gcrx4Fj2
>>457 バージョン番号はread.cgi Build 0001とかでは駄目ですかね?
がいしゅつだったらごめん。 あのさ、テレホタイムだけ、 該当スレへのリンクを全部なくしたらどうだろう? 今は一番上に > ■掲示板に戻る■ レスを全部読む 最新レス100 があって、 テレホタイムには(バグッてるけど)一番下に > 次の 100 レスを見る 最新レス100 ○○PM - ○○AM の間・・・ ってなってると思うけど、 テレホタイムの間だけは、 −−続きがあります−− みたいに表示するだけで、リンクを提供しないようにする。
463 :
デフォルトの名無しさん :01/08/28 00:58 ID:JxO6EqA2
半分要望、半分提案だけど、「前のn件」を付けた方が良くないですか? 例えば全部で100以上の書き込みがあるスレッドで、100件より前のスレッド を読み直すには「全部表示」するか、「1-100」で100件づつ前から順に辿る しかないワケですが、コレって無駄が多すぎません? また「最新レスn件」の同じレスを何度も送信するオーバーヘッドを 軽視すべきでないかと。 つーわけで「前のn件」はどうでせう。
>>460 /* -*-C++-*- */
と1行目に書くといいらしいぞ。
466 :
名無し娘。 ◆vP.bOZFQ :01/08/28 01:13 ID:WWWqIZKM
467 :
デフォルトの名無しさん :01/08/28 01:17 ID:RNkk13S.
>>461 日付+コードネームがいいなぁ read.cgi 2001Aug28(mona)
469 :
名無し娘。 ◆vP.bOZFQ :01/08/28 01:21 ID:WWWqIZKM
-DPREVENTRELOAD や -DRELOADLINK あたり、外部ファイルから値を
とってくるようにしていただけないでしょうか。
板毎・季節毎に状況が違うと思いますので、夜勤★さんとかがリアルタイムで
変更できるメリットが大きいと思います。
外部ファイルは、
http://xxx.2ch.net/板名/SETTING_R.TXT あたりにして、
板名は ?bbs= からとってくるということでよいかと思います。
とりあえずさ、今は緊急なんだから、 IsBusy2ch()が常に1を返すようにして一段落つけて、 localhostででも、動作テストしてみるのはいかが?
read.cgi 5.02.41 とかでいいんじゃない で、 安定版の 5.02系と 大変更版の 5.10系に分かれると(w
漏れが入手したr2chhtml.h 黒地に黒…鬱だ…
read2ch.h あたりにコメントすればいいのかな。。。 #ifdef の一覧表 GZIP gzip圧縮で送信(ZLIB出も使う) ZLIB zlib圧縮で送信(自動的に"#define GZIP"される) PREVENTRELOAD "FORCE_304_TIME"で指定された秒、リロードに対して304を返す LASTMOD クライアント側ファイルの最終更新を参照して未更新の時304を返す COOKIE 今までJavaScriptでやっていたことをCGI側でやる NEWBA 最適化された BadAccess() をつかう GSTR2 最適化(1文字で判定)された zz_GetString() をつかう CUTRESLINK 指定された時間帯は >>nn のリンクをはらない RELOADLINK 更新されたレスだけ見るボタンを設置 Katjusha_Beta_kisei LOGLOGOUT CM_BBSPINK TYPE_TERI FreeBSD 必要ないそうです・・・ DEBUG
あれ、14.2.5で-DCUTRESLINKするとすべて同じ記事が表示されてしまうぞ...。
この辺でいったんデバグ大会になりそうな予感...
477 :
名無し :01/08/28 01:39 ID:eUeqaRLY
インストールしてみましょうよ。
>>477 2ch.net にはインストールできないので、どなたか公開鯖で
たてていただけるとうれしいですね。
それが無理な場合は、
>>471 の通りかと。
479 :
名無し :01/08/28 01:46 ID:eUeqaRLY
WEB板に鯖持っている人いっぱい居たな。
481 :
音楽侍 ◆NtVkSITE :01/08/28 01:49 ID:lGTCN/0o
いちおう、批判要望で夜勤さんを呼んでみました。
483 :
名無しさん :01/08/28 01:57 ID:ChW1s1q.
正直、この発言で方向性ははっきりしたようだ。
------------------------------------------------------------
無断で板を閉鎖するのは無責任
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=998879305 64 名前:切込隊長 ★ 投稿日:01/08/28 00:46 ID:??? sage
>>60 ______
/_ |
/. \ ̄ ̄ ̄ ̄|
/ / ― ― |
| / - - |
||| (6 > |
| | | ┏━┓| / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| | | | ┃─┃| < 正直、近日中にポツダム宣言があると思われ
|| | | | \ ┃ ┃/ \_____________
| || | |  ̄  ̄|
484 :
 ̄ー ̄)ノ :01/08/28 01:58 ID:nki9F5ks
遅ればせながら うちの方にも全て最新版アップし終わりました
485 :
夜勤 ★ :01/08/28 01:59 ID:???
ここですか? 迷子になってます。
486 :
名無しさん ◆0CYhqCZM :01/08/28 02:00 ID:gcrx4Fj2
487 :
音楽侍 ◆NtVkSITE :01/08/28 02:00 ID:lGTCN/0o
ごめんなさい。ちゃんとリンク先かかなくって
488 :
デフォルトの名無しさん :01/08/28 02:00 ID:Y3jPZpTQ
key部をa-zA-Zの52進にして縮めてみたらどうだろう 数字が含まれれば旧形式、英字が含まれれば新形式。 とりあえずread.cgiだけでもすぐに対応できる改良策ということで。
489 :
てすと :01/08/28 02:01 ID:8Eh1e7h6
全然正常に動かないみたいなので訂正お願いしますm(_ _)m 迷惑をかけてすみません・・・。 732 -int lineLast = 0; +int lineLast = lineMax; 758 -if (lineMax >= lineLast) { +if (lineMax == lineLast && lineLast < RES_RED) {
490 :
名無し :01/08/28 02:01 ID:eUeqaRLY
どれをインストールすれば酔いのでしょうか?
491 :
 ̄ー ̄)ノ :01/08/28 02:02 ID:nki9F5ks
492 :
夜勤 ★ :01/08/28 02:03 ID:???
どうすれば いいのかな? ちょっと 過去ログ追う暇ないので、、
遅ればせながら、 スレの最初から100までの時は [次の100レス][最新レス100] 301-400までの時は [全部読む][レス1-100][前の100レス][次の100レス][最新レス100] 最新レス100の時は [全部読む][レス1-100][前の100レス] ついでに総レス数でも表示されると・・ ・・・かなり便利になると思う。 問題は、 「今は絶対に便利になってはいけない時」だということだ。 未だ転送量を1/3にする目処はたっていない。 便利になれば、更に気軽にクリックし、転送量は増大する。 今は、あえて不便になるようにすることはあっても、 あえて便利になるようにしてはいけない。 (実装しておくのは賛成だけど、少なくともテレホタイムには使ってはいけない) 曜日すら削られて苦情が沢山でている事を 忘れないほうがいいと思う。 というか、さっさと「投稿日:」は削っていいと思うし、 「最新レス100」だって一時期「最新レス50」だったんだから、 変えちゃっていいと思うんだが、どんなもんだろう。 ・・・ごめん、今は安定版にするのが優先だね。
494 :
音楽侍 ◆NtVkSITE :01/08/28 02:05 ID:lGTCN/0o
>>482 に、23:00-3:00までに全レス読み込もうとすると全件表示してしまうバグの修正版があります。
これを、piza2で評価していただければと思います。
681 名前:元@削除管理委員長 ★ 投稿日:01/08/28 02:00 ID:??? 明後日に予定されている話し合いがどうなるのかが見えない状況では 前提条件が不明なので、楽観視していいのか悲観視するべきなのかわからないのですが・・・・ 一応現状わかっていることです。 1 すでにcgiレベルで可能な圧縮は一通り完了。 2 mod_gzipに関しては、交渉難航中(対Hurricane Electric) 2 現在ピーク転送量65Mbpsまで減少に成功。しかし依然転送量はオーバー。 4 当面、tako及び2ch.serverに速報及び雑談系を待避させて転送量を抑制する。
497 :
Sherry ◆RKMbxbuc :01/08/28 02:07 ID:zXQ6qHQw
>>488 64進数とかで新形式でやる案が
>>266 -270 とその後あたりにあるので
そちらの方が良いのでは‥‥‥.
PATH_INFOへの変更はかなりサイズ縮小に繋がると思うのですが,
やっぱり実装が大変なのかな(^^;
% Cは出来るのですが時間がなくお手伝いできそうにないです(^^;
498 :
夜勤 ★ :01/08/28 02:09 ID:???
>>466 一番転送量が小さくなると思われるのを教えてください。
500 :
 ̄ー ̄)ノ :01/08/28 02:10 ID:nki9F5ks
>>497 PATH_INFO改造いまやってまーす♪
505 :
 ̄ー ̄)ノ :01/08/28 02:13 ID:nki9F5ks
>> 498 -DZLIB -DPREVENTRELOAD -DLASTMOD -DCOOKIE -DNEWBA -DGSTR -CUTRESLINKかな? ただしCUTRESLINKはテレホ時間帯において>>xxx形式のリンクをすべて剥がすので非難轟々 の可能性があります。 あとソースのFORCE_304_TIMEはそれとなくいじってください。(現在は30秒)
最新スレ100とかはやめて 1-100とか101-200の様に100ずつぶったぎるのが いいと思うけど
510 :
夜勤 ★ :01/08/28 02:22 ID:???
混乱中。。。。。
私が一バイトたりとも変更なしで、単に down load -> up load -> make
できるようになりませんか?
なんせ途中経過見てないので、
すんません。
ftp://210.170.170.131/incoming/ ここに新しく ディレクトリ作って、必要なファイルだけを入れてくれるとありがたいです。
511 :
 ̄ー ̄)ノ :01/08/28 02:22 ID:nki9F5ks
512 :
 ̄ー ̄)ノ :01/08/28 02:24 ID:nki9F5ks
Content-Length吐き出しってこんな感じか......っていうかLinuxで shm_open()とかあるか不安なんだけど......ンラ坊でスマソ ---------------------------------------------------------------------- #include <sys/mman.h> #define SHM_NAME "/read.cgi" int zz_tmpfd = -1; /* グローバル変数...スマソ */ : if ((zz_tmpfd=shm_open(SHM_NAME, O_RDWR|O_CREAT, 0600)) == -1) {...} /* err */ if ((pStdout=gzdopen(dup(zz_tmpfd), "wb")) == NULL) {...} /* err */ : /* pPrintf()実行 */ size_t content_length; void *mmptr; gzclose(pStdout); pStdout = stdout; content_length = lseek(zz_tmpfd, 0, SEEK_END); if ((mmptr=mmap(NULL, content_length, PROT_READ, MAP_SHARED, zz_tmpfd, 0)) == NULL) {...} /* err */ printf("Content-Length: %lu\n\n", (u_long)content_length); write(1, mmptr, content_length); munmap(mmptr, content_length); ---------------------------------------------------------------------- で終了処理は if (pStdout != NULL && pStdout != stdout) gzclose(pStdout); if (zz_tmpfd != -1) close(zz_tmpfd); shm_unlink(SHM_NAME); Solarisだと"LDFLAGS += -lrt"なんだけど......役に立たぬかも...
read2ch.hは空テキスト用意すればいいのかね。 あとファイル名にバージョンがついてるからそのままではmakeできんのが面倒かも。
>>506 の#define内容でread2ch.hを用意しては?
516 :
- :01/08/28 02:30 ID:W9iyzXDo
piza2に入れて、動かなかったら このスレ自体読めなくなったりして・・・ 杞憂ならいいんですが
519 :
 ̄ー ̄)ノ :01/08/28 02:32 ID:nki9F5ks
>>517 ファイルサイズみる限りだとあってますよ
bbs.cgi って公開されてるの? いつのまに・・・
521 :
名無し :01/08/28 02:34 ID:eUeqaRLY
522 :
夜勤 ★ :01/08/28 02:35 ID:???
この板無理だったらUNIX板で連絡とればいいのかな?
お、nattoですか。 お疲れさまです。>夜勤様
525 :
 ̄ー ̄)ノ :01/08/28 02:36 ID:nki9F5ks
いきなりバージョンが9もあがるわけですね?
526 :
デフォルトの名無しさん :01/08/28 02:37 ID:gcrx4Fj2
ver14では、変だと思うので、ver5.1にしておきました。<read.c
528 :
 ̄ー ̄)ノ :01/08/28 02:37 ID:nki9F5ks
あ、でも表示は5.1か・・
529 :
夜勤 ★ :01/08/28 02:38 ID:???
read.c:16: zlib.h: No such file or directory make: *** [read.cgi] Error 1
>>529 う"...。もしかしてzlib.hがない?
ls /usr/include/zlib* とかやるとどうなりますか?
531 :
夜勤 ★ :01/08/28 02:40 ID:???
/usr/include/zlib*: No such file or directory
--- orig/read.c Tue Aug 28 01:00:02 2001 +++ read.c Tue Aug 28 02:23:32 2001 @@ -46,6 +46,9 @@ char *zz_remote_host; char *zz_http_referer; char *zz_http_cookie; +#ifdef USE_PATH +char *zz_path_info; +#endif char *zz_query_string; char *zz_temp; char *zz_http_user_agent; @@ -688,6 +691,9 @@ zz_remote_host = getenv("REMOTE_HOST"); zz_http_referer = getenv("HTTP_REFERER"); zz_http_cookie = getenv("HTTP_COOKIE"); +#ifdef USE_PATH + zz_path_info = getenv("PATH_INFO"); +#endif zz_query_string = getenv("QUERY_STRING"); zz_temp = getenv("REMOTE_USER"); zz_http_user_agent = getenv("HTTP_USER_AGENT"); @@ -705,6 +711,10 @@ zz_remote_host = KARA; if (!zz_http_referer) zz_http_referer = KARA; +#ifdef USE_PATH + if (!zz_path_info) + zz_path_info = KARA; +#endif if (!zz_query_string) zz_query_string = KARA; if (!zz_temp) @@ -730,6 +740,23 @@ zz_GetString(zz_to, "to"); zz_GetString(zz_nf, "nofirst"); zz_GetString(zz_im, "imode"); +#endif +#ifdef USE_PATH + if (zz_path_info[0] == '/') + { + /* PATH_INFOから、トークンを2個抜き出す */ + char buf[48]; + char const *b, *k; + strncpy(buf, zz_path_info + 1, 47); + buf[47] = 0; + b = strtok(buf, "/"); + k = strtok(NULL, "/"); + if (b && k) + { + strncpy(zz_bs, b, 1023); + strncpy(zz_ky, k, 1023); + } + } #endif #ifdef COOKIE SetFormName(); --以上
533 :
 ̄ー ̄)ノ :01/08/28 02:41 ID:nki9F5ks
あ、いきなりこけた
>>502 PATH_INFO対応、とりあえずしてみました。
/test/read.cgi?bbs=tech&key=998845501&ls=100
のようなものが、
/test/read.cgi/tech/998845501/?ls=100
と書けます。('?'の前の'/'は必須)
この改造に関して、CGIへのPATHなどを
出力してる部分を改造しなければなりませんが、
r2chhtml.hへの変更が必要なため、
とりあえず後回し、ちうこって。
(どういじればいいか、動かしてみればわかります)
↑が、めんどっちーのでdiffだ
インデント崩れてるので、がんばって取り込んでください。
535 :
名無し :01/08/28 02:42 ID:eUeqaRLY
zlib.h は誰が持っているんだ?
538 :
音楽侍 ◆NtVkSITE :01/08/28 02:44 ID:lGTCN/0o
>>534 それってbbs.cgiの仕様変更を伴いませんか?
そちらの話はbbs.cgi改良案の方でやった方が混乱が少なくなると思います。
とりあえず -DZLIB を抜いて compile したらどうですか?
ということは、zlib が入っていない? んー、zlib-1.1.3.tar.gz をコンパイルするという手もあるけど どうしましょう... これまでどおり gzip を使うのなら read.cgi: $(SOURCES) $(INCLUDES) $(CC) $(CFLAGS) $(DEFS) $(DEFS_ZLIB) -o $@ $(SOURCES) を read.cgi: $(SOURCES) $(INCLUDES) $(CC) $(CFLAGS) $(DEFS) $(DEFS_GZIP) -o $@ $(SOURCES) # DEFS_ZLIB → DEFS_GZIP に変更してください。これまでどおりプロセスが生成されまくるのでサーバの負荷は下がりませんが...。 # しかし zlib 入っていないってある意味すごすぎるぞ
541 :
名無し :01/08/28 02:47 ID:eUeqaRLY
パート1に
784 名前:デフォルトの名無しさん 投稿日:01/08/27 00:58 ID:pckFEAaY
>>780 zlib なんすけど、FreeBSD-4 なら /usr/include/zlib.h のコメント読んで
>540 何が凄いの?
543 :
aki :01/08/28 02:47 ID:LkIGICBw
Linuxのパッケージで入れてて、 libz.so*はあるけどinclude fileが無い状態の気がする。
>>542 いやぁ、普通Linuxのディストリビューションなら標準で入りそうなものだから...。
runtimeとdevelopで別パッケージだったりするdistributionかな。
546 :
音楽侍 ◆NtVkSITE :01/08/28 02:49 ID:lGTCN/0o
>543 それなら warning 状態で compile してしまって、 link 成功すれば問題無いということかな? 今まで /bin/gzip 使ってたからなぁ。元から libz 無いんは?
>>547 zlib.hなしで無理やりコンパイルするとZ_*の定数が…
FreeBSDでソース入ってたら /usr/src/lib/libz で make できませんか?
>>549 Linuxじゃないの?
echo /usr/lib/libz.so*
の結果が知りたい......
551 :
 ̄ー ̄)ノ :01/08/28 02:52 ID:nki9F5ks
予想外の展開だ・・・
553 :
デフォルトの名無しさん :01/08/28 02:55 ID:gcrx4Fj2
554 :
aki :01/08/28 02:55 ID:LkIGICBw
rootもってるなら、 パッケージでrpm -ivh zlib-devel*.rpm するだけなんだけど……。 rpm -q zlib してもらって同じ奴の-devel探すとか。
>>538 bbs.cgiへの変更は、やらなくても問題なし。
今まで通りのqueryも受け付けるから。
ただ、path付加されたページ中のURLは
書き換えて回らないといけなく、そのためには
r2chhtml.hともに変更が必要。
それらの作業も請け負って構いませんよ。
最終的に、bbs.cgiなどを、path仕様に合わせて
書き直すと…ほっとぞぬがつかえなくなるなきっと(鬱
というわけで、bbs.cgiの変更があってメリットが
生きると思われ。
こまかいが、fread() -> read() のほうが buffer に読まないので。 @@ -768,8 +768,7 @@ /****************************************************************/ int dat_read() { - int i; - FILE *fp; + int i, in; char fname[1024]; sprintf(fname, "../%.256s/dat/%.256s.dat", zz_bs, zz_ky); @@ -806,13 +805,13 @@ if (!BigBuffer) html_error("メモリの確保に失敗しました。"); - fp = fopen(fname, "r"); - if (!fp) { + in = open(fname, O_RDONLY); + if (in < 0) { html_error("そんな板orスレッドないです。"); return 0; } - fread(BigBuffer, zz_fileSize, 1, fp); - fclose(fp); + read(in, BigBuffer, zz_fileSize); + close(in); i = strlen(BigBuffer); while(i < zz_fileSize) { BigBuffer[i] = '*';
>>553 ファイル名はそのまま(Makefile)で、内容を変更。混乱させてゴメソ。
558 :
夜勤 ★ :01/08/28 02:58 ID:???
echo /usr/lib/libz.so* /usr/lib/libz.so*
# 皆さんの案は、レス番号をまとめておりますのでご安心下さい。。。 # nattoでの実験が終わり次第、一覧として提示します。。。
560 :
549 :01/08/28 03:00 ID:HEWceQCw
>>550 あ、そうなんですか、スマソ
>>541 を見てそっちなのかなと
どっちにしても
>>536 にあるソースから
make一発でいけそうですが(甘いか?)
>>558 あれ、シェルのファイル展開が効かない? ls /usr/lib/libz.so*ならどうでしょう。
# バージョンが一致すればインクルードファイルを提供することが出来るけど...
562 :
aki :01/08/28 03:02 ID:LkIGICBw
>夜勤★さん root になれるなら、 rpm -q zlib していただけますか?
563 :
夜勤 ★ :01/08/28 03:04 ID:???
root になれません。ごめんね、
zlibは後回しでとりあえずgzip版で行きましょうよ。
>>552 の通りです。再度incomingディレクトリをGET
してください>夜勤さん
565 :
 ̄ー ̄)ノ :01/08/28 03:05 ID:nki9F5ks
困ったぞぉ
566 :
513 :01/08/28 03:06 ID:6S1uJJBo
>>513 はマズかった......SHM_NAMEが複数プロセス間でバッティングしないように
mktemp()とかでユニークネームを生成させてそれを使うようにせにゃ......
っていうかLinuxでshm_open()とかあるかわかんないんだよね......
一番確実で手っ取り早いのは"zz_tmpfd = tmpfile()"でディスクリプタとって
shm_open()/shm_unlink()をやめるのだろうけど
とりあえず ls /usr/lib/libz* の結果がダメ(No such file or Directory)なら GZIPに戻すしかなさそう(もう一度Makefileをダウンロードしなおしてください)。
568 :
aki :01/08/28 03:06 ID:LkIGICBw
rootになれないんだと、 rpmでzlib-devel入れるというのはだめですね…。 zlib.h直接入れるしかないのかな。
569 :
デフォルトの名無しさん :01/08/28 03:08 ID:/foo1b.s
zlib ごと compile して static link にするのがいいのかな。 zlib 込の archive 作って、それに対応した Makefile 書いて。
570 :
- :01/08/28 03:08 ID:W9iyzXDo
uname -a を参考までに聞いてみたい気がするけど平気なのかな?
571 :
夜勤 ★ :01/08/28 03:09 ID:???
natto に入ったよー
rootになれなくてもコンパイル時のカレントディレクトリにzlib.hやlibz.aを 突っ込むとかいう手もあるんだろうけど
573 :
 ̄ー ̄)ノ :01/08/28 03:10 ID:nki9F5ks
おっ、いけましたか
574 :
デフォルトの名無しさん :01/08/28 03:10 ID:gcrx4Fj2
あれ、背景が真っ黒
nattoで生きている板って・・・どこだろう。
うぉなんだこりゃ!! 真っ黒だ!!
>>566 とりあえず、/usr/include/sys/mman.h にはあるみたい。
/* Open shared memory segment. */
extern int shm_open (__const char *__name, int __oflag, mode_t __mode);
/* Remove shared memory segment. */
extern int shm_unlink (__const char *__name);
578 :
- :01/08/28 03:11 ID:W9iyzXDo
真っ黒! r2chhtml.hの問題か
581 :
デフォルトの名無しさん :01/08/28 03:11 ID:gcrx4Fj2
582 :
夜勤 ★ :01/08/28 03:12 ID:???
真っ黒だー
583 :
デフォルトの名無しさん :01/08/28 03:12 ID:pwDAjv8A
>> 566 glibc-2.2.3のsysdeps/generic/shm_(open|unlink).cにあるよ
584 :
566 :01/08/28 03:12 ID:6S1uJJBo
>>577 サンクス 問題は2chサーバにあるかどうか......zlibの件もあったし
誰? BODY BGCOLOR=#eee にしろなんて書いたWeb製作板の ドキュソは。3桁指定ができるのはcssの場合だけだよ。 BGCOLOR=#efefef に直してください。
uname ほど正確ではないけど netcraft.com で調べれないかな?
r2chhtml.hを修正して上げ直し頼みますー
こんなんでてます <html><head><meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"><title>2ちゃんねる に 書き込める 串をくれ〜 </title></head><body TEXT=#000 BGCOLOR=#eee link=blue alink=red vlink=#609>
591 :
 ̄ー ̄)ノ :01/08/28 03:15 ID:hr9Cyl8U
スカパーは見れるよ 普通に
>>585 ああ、webprogにいじらせたのか。やけに納得(w
593 :
 ̄ー ̄)ノ :01/08/28 03:16 ID:hr9Cyl8U
見れませんでしたね すみません黒いです
>>592 Web製作とWebProgは違う板です。念のため。
>>592 webprogじゃ無くてweb製作でしょ。
>>592 スマソ webprog じゃない hp だった
鬱だ逝くよ…5分間だけ
ちょっと置換しなければいけない場所が多いな... 5分時間ください。
598 :
音楽侍 ◆NtVkSITE :01/08/28 03:19 ID:lGTCN/0o
ああ、みんな怒ってる>真っ黒だー
599 :
デフォルトの名無しさん :01/08/28 03:19 ID:gcrx4Fj2
Web制作板、nattoですね。(藁
>>599 ちなみに漏れは、
BGCOLOR を別の文字列に置換して逃げた(w
当方 gzip に対応していない DOS ブラウザですが index2.html (l付きね) にアクセスしようとすると なんか永遠にまたされる気が・・・
同じ名前で上げなおしました(r2chhtml.h)。 早く直してあげてー
604 :
音楽侍 ◆NtVkSITE :01/08/28 03:21 ID:lGTCN/0o
>600 自業自得か。ワラタ
606 :
デフォルトの名無しさん :01/08/28 03:23 ID:gcrx4Fj2
>>606 Webセーフカラーのほうがいいかも(w
608 :
夜勤 ★ :01/08/28 03:27 ID:???
入りましたよー
609 :
デフォルトの名無しさん :01/08/28 03:28 ID:nSgrb9RE
直った
610 :
 ̄ー ̄)ノ :01/08/28 03:28 ID:hr9Cyl8U
スカパー正常にみれます
結局全レス表示規制が修正されたかどうかの確認は 明日までお預けですね…。
背景戻りました↓ <body TEXT=black BGCOLOR=#eeeeee link=blue alink=red vlink=#660099>
613 :
デフォルトの名無しさん :01/08/28 03:29 ID:gcrx4Fj2
あれ?、直ったけど、#eeeeeeになっている。
614 :
- :01/08/28 03:29 ID:W9iyzXDo
gzip,Last-Modified 正常に動作してるようです。
とりあえず、たいして変わらないし良いんじゃないですか?
夜勤さーん。他で何度か書いてるんですけど、 要望板のトップから「UNIX板」の文字消してもらえませんか? 黒いぞ!とかUNIX板に報告されてもこまるんですが、、、
natto以外(ver.5.02)はこんな感じ↓ <body TEXT=black BGCOLOR=#EFEFEF link=blue alink=red vlink=#660099>
618 :
夜勤 ★ :01/08/28 03:32 ID:???
6時までの規制にしてみました。
620 :
音楽侍 ◆NtVkSITE :01/08/28 03:32 ID:lGTCN/0o
あちゃー
>>611 そうですね。
書き込み、閲覧ともに正常でした。>natto
タグ小文字に統一すれば圧縮率上がりそうな。
622 :
- :01/08/28 03:33 ID:W9iyzXDo
100レス制限も生きてます。
624 :
音楽侍 ◆NtVkSITE :01/08/28 03:36 ID:lGTCN/0o
625 :
 ̄ー ̄)ノ :01/08/28 03:37 ID:hr9Cyl8U
ちゃんと動いてますね
昨日入らなかった鯖も含めて全鯖に入れてみます? もう少し様子見たほうがいい?
627 :
デフォルトの名無しさん :01/08/28 03:38 ID:Cku4HR92
先頭にスペース入るの俺だけかな・・・
>>619 これが扱えていますから、read.cgi自身が生成するリンク(最上部とか
最下部の「100レス」みたいなやつ)は、この省略形にしましょう。
あと、最下部「次の 100 レスを見る」「最新レス 100」はそれぞれ
「次の100レス」「最新レス100」などに圧縮を。
629 :
音楽侍 ◆NtVkSITE :01/08/28 03:39 ID:lGTCN/0o
さっき、3時以降の制限はずれでも確認できたので、大丈夫でしょう〜
630 :
 ̄ー ̄)ノ :01/08/28 03:39 ID:hr9Cyl8U
一晩様子見ますか?
FORCE_304_TIME も機能しているっぽい。
>>627 gzip使う場合はspace 2048個先頭に入るようになってる
あれ、この時間って100レス制限だったっけ? 例のバグは、「明け方になぜか制限がかかって、 テレホに突入せいても全部読めてしまう」だと思ったんだけど。
>>627 ブラウザがgzip対応なら正常です。
念のため環境を。
>>630 teri/piza2以外に入れて様子をみるってのもありかも(^^;
640 :
633 :01/08/28 03:41 ID:kEW.hXBY
失礼。制限と制限はずれを確認できたのね。ごめんなさい。
641 :
633 :01/08/28 03:42 ID:kEW.hXBY
ってゆーか、みんなケコーンして!
642 :
音楽侍 ◆NtVkSITE :01/08/28 03:43 ID:lGTCN/0o
どうでしょう?とりあえずほかのサーバに入れていただいても大丈夫かと思いますけど?
643 :
 ̄ー ̄)ノ :01/08/28 03:43 ID:hr9Cyl8U
>>636 そうですね
それでもいいかもしれませんね
ケコーン(笑 夜勤さんに作業してもらえるときに、read.cgiはどんどん入れ替えちゃって、 不具合出たら随時対応でよいと思います。 致命的なものはなさそうですし。
645 :
夜勤 ★ :01/08/28 03:45 ID:???
yasai , www2.bbspink に入れましたー。 サーバによってテストしていることが違うので、今日はこの3台ですー であしたのピーク時がどうなっているかをありがとう観察しましょう。 本当に 感謝 感激です。 ありがとうございます。
FORCE_304_TIME は速報とかで一度効果を見たいですね
647 :
 ̄ー ̄)ノ :01/08/28 03:45 ID:hr9Cyl8U
全部5.1に変えてもいいかもしれませんけどね 5.1バージョンの方がバグ取りは進んでますし・・
>>645 あ、はーい。お疲れです(^^
んじゃ、そろそろ案の一覧を。。。
そろそろ次のバージョン行きますか?
それとも簡単に出来そうな
>>621 >>628 を片付けてからにしますか?
650 :
 ̄ー ̄)ノ :01/08/28 03:46 ID:hr9Cyl8U
>夜勤さん 様子見ですか? わかりました
651 :
 ̄ー ̄)ノ :01/08/28 03:47 ID:hr9Cyl8U
とりあえず簡単なバグの出そうにないやつから始めましょう
>夜勤さん ちなみに FORCE_304_TIME はいじりましたか?
夜勤★さん、今夜の作業おつかれさまでした 予定は未定かと思いますが、現時点で次にきて 作業していただけるのはいつになりそうですか?
漏れがやるっていっててヘタレ発言だけど
明日朝イチで打ち合わせのため
そろそろ寝るのであります。というわけで、
>>534 >>555 PATH_INFO対応の
落ち穂拾いを、お願いするです。
ブラウザから見たパス深度が変わってしまうため、
具体的に行わなければならない作業は以下の通り。
・各リンクの相対パス
・カキコ中の参照リンク
を、path_infoが有効かどうかに応じて
切り替えねばなりません。
あと、そのために、path_infoから文字を取り出してる
部分(strtokが出現する箇所)で、フラグをセットするなり
パス切り替えを行うなりを入れないといけないでしょう。
ちうわけで、寝る
656 :
 ̄ー ̄)ノ :01/08/28 03:51 ID:hr9Cyl8U
658 :
音楽侍 ◆NtVkSITE :01/08/28 03:51 ID:lGTCN/0o
>>655 お休みなさい〜
夜勤さん、お疲れさまでした。
659 :
 ̄ー ̄)ノ :01/08/28 03:53 ID:hr9Cyl8U
>>566 shm_openもSHMMNIの影響受けるんじゃないの?
標準は100だか128のようだけど足りるのか?
mallocとreallocで処理した方がいいと思うが。
663 :
デフォルトの名無しさん :01/08/28 03:56 ID:gcrx4Fj2
"<BODY TEXT=black BGCOLOR=#efefef link=\"#00F\" alink=\"#F00\" vlink=\"#609\">" ↑こういうのがあるので、修正したやつをver14ディレクトリにアップしておきました。
664 :
 ̄ー ̄)ノ :01/08/28 03:57 ID:hr9Cyl8U
ってか、みんなではじめたらまたmergeで泣くのか。。。
666 :
 ̄ー ̄)ノ :01/08/28 03:59 ID:hr9Cyl8U
667 :
デフォルトの名無しさん :01/08/28 03:59 ID:/foo1b.s
>>665 やっぱり、cvs pserver 立ちあげたほうがいいかな。
>>661 まだ起きてた…
shmは排他に使ってるんですよね?
それ使うのやめて、mmap()でスコアボード
つくって、その上で排他・共有処理作ったら
いかが? スピンロックはCで書けないような
気もしないでもない(CPU2発だったよね)ので、
具体的な手法は、また明日昼以降に書くです。
669 :
デフォルトの名無しさん :01/08/28 04:02 ID:gcrx4Fj2
>>664 r2chhtml.14.2.4.hをダウンロードして、エディタの置換機能で#eeeを#efefefに、
#EEEを#EFEFEFにしました。
>>667 今後の2ちゃんねるに希望を抱きつつ、、、
立ち上げていただけると助かるです。
671 :
 ̄ー ̄)ノ :01/08/28 04:05 ID:hr9Cyl8U
>>669 でもなんかファイルサイズが大きくなりすぎてるような・・・
672 :
 ̄ー ̄)ノ :01/08/28 04:06 ID:hr9Cyl8U
それにしても夜勤さん頑張ってくれてますねぇ <ぼそっ>ひろゆきはどうした?</ぼそっ>
673 :
デフォルトの名無しさん :01/08/28 04:06 ID:gcrx4Fj2
>>671 もしかしたら、改行コードが変わっているかも…
674 :
661 :01/08/28 04:08 ID:2O23P606
>>668 別人だけど
>>513 は、tmpfile代わりにshm_openを使おうとしているようだけど。
675 :
デフォルトの名無しさん :01/08/28 04:10 ID:TagcTmmE
>>621 テキトーですが、小文字にするスクリプト
#!/usr/local/bin/perl
require "./jcode.pl";
open(FF, "<r2chhtml.h");
while(<FF>){
if($_ =~ /\t"/){
# 小文字変換は euc じゃないと化ける
&jcode::convert(\$_, euc);
$_ = "\L$_\E";
&jcode::convert(\$_, sjis);
}
print "$_";
}
define の中で定義済み define も小文字になっちゃうので、
そこは手作業で直す必要があります。
ディレクトリ内のファイルが新旧入り混じって 数が多くなってきているので、ここらで一度 古いものを整理していただけるとありがたいです
677 :
 ̄ー ̄)ノ :01/08/28 04:12 ID:hr9Cyl8U
>>673 fix.3でも問題なさげ
なんでそのまま採用
678 :
デフォルトの名無しさん :01/08/28 04:13 ID:gcrx4Fj2
>>677 あれ?、CR+LFになっているようです。。。
679 :
デフォルトの名無しさん :01/08/28 04:14 ID:YMgWxGD6
>>675 それでは関係ないところも小文字になっちゃいますよ、INPUTのnameとか。
今誰もやってないなら俺やりますけど、現時点での最新版は・・・?
680 :
音楽侍 ◆NtVkSITE :01/08/28 04:14 ID:lGTCN/0o
read.cgiv5.1、だいぶ快適ですね。 リンクはずれるのも軽くなっていいですし。
681 :
 ̄ー ̄)ノ :01/08/28 04:15 ID:hr9Cyl8U
682 :
デフォルトの名無しさん :01/08/28 04:16 ID:gcrx4Fj2
683 :
 ̄ー ̄)ノ :01/08/28 04:17 ID:hr9Cyl8U
684 :
 ̄ー ̄)ノ :01/08/28 04:18 ID:hr9Cyl8U
685 :
デフォルトの名無しさん :01/08/28 04:20 ID:b2NPkk0A
686 :
 ̄ー ̄)ノ :01/08/28 04:20 ID:hr9Cyl8U
あれ? ver14フォルダが無い・・・
つぅか、pserver立てられる人いないの? 俺も参加したいけど、何がなにやらさっぱりわからん。
688 :
デフォルトの名無しさん :01/08/28 04:22 ID:gcrx4Fj2
修正版作ったけど、ver14ディレクトリが無い・・・
689 :
デフォルトの名無しさん :01/08/28 04:23 ID:b2NPkk0A
690 :
 ̄ー ̄)ノ :01/08/28 04:24 ID:hr9Cyl8U
692 :
デフォルトの名無しさん :01/08/28 04:26 ID:/foo1b.s
>>687 立ち上げようと思ったんだけど、ヲレが今つかっている host、会社のだってこ
とに気づいた…。
あと、commmiter をどうするかっていう問題もあるかな。
693 :
デフォルトの名無しさん :01/08/28 04:26 ID:gcrx4Fj2
>>691 お願いします。ファイルがごちゃごちゃしているので…
694 :
デフォルトの名無しさん :01/08/28 04:26 ID:gcrx4Fj2
695 :
デフォルトの名無しさん :01/08/28 04:28 ID:.YqAYtDQ
>>683 古いファイルはいついつ以前とわかる名前の
ディレクトリに退避させておく、でいかがでしょ
>>687 管理してるマシンでcvsupd動かしてるけど、
大学なんでちょっと...協力できずスマソ
697 :
デフォルトの名無しさん :01/08/28 04:30 ID:gcrx4Fj2
>>691 thanks。それから、ver14→ver5にした。
698 :
 ̄ー ̄)ノ :01/08/28 04:30 ID:hr9Cyl8U
>>696 いや、
やるべきだ、とか、
やらねばならない、とか、
やらないのはタコ、とか言いたいわけではなく、
誰も立てる環境をもってないのが不思議なんだよね。
かくいう俺も持ってないんだけど。
>>695 最近のバージョンが全部ある ftp.sendmail.org を見ているようで爽快(w
>>693 ageなおしました。前と同じ、ver14ディレクトリ以下。
>>695 ver14 の下にあるのが 公式バージョンver5.10相当。
それに
>>689 を加えたのが現在の最新、かな。
>>699 私もcvs over SSHの環境を持っているのですけど、同様に大学なので...
702 :
デフォルトの名無しさん :01/08/28 04:34 ID:yCOO7A16
緊急事態だったからしゃーないでしょう・・・
703 :
 ̄ー ̄)ノ :01/08/28 04:34 ID:hr9Cyl8U
704 :
音楽侍 ◆NtVkSITE :01/08/28 04:34 ID:lGTCN/0o
pserverてなんですか? URLとか教えてもらえると助かります
706 :
デフォルトの名無しさん :01/08/28 04:36 ID:gcrx4Fj2
簡単に言うと、pserverとは、バージョン管理システムのCVSをインターネット環境で 使うサーバアプリです。
統計解析コードは入れてあるの? read.cgiの大まかな利用傾向を出力するような。 「『全部見る』を廃止しよう」とか言ったようなポリシーの変更を cut&tryだけでやろうとしてるように見える。 利用方法に関する統計データが提示されているのを見た覚えがない。 そういったデータを出力して、使った方がいいと思う。 チューニングの前にはプロファイル、これは鉄則。 CPUパワーの方はまだ余裕あるんでしょ?
709 :
 ̄ー ̄)ノ :01/08/28 04:38 ID:hr9Cyl8U
710 :
デフォルトの名無しさん :01/08/28 04:41 ID:gcrx4Fj2
>>709 わかりました。
r2chhtml.14.2.5.hをver5ディレクトリに入れておきました。
>>708 それならread.cgiをいじらなくてもhttpdのログを見ればすむ話と思われ。
# 正確には access.log から統計情報を作る何かが必要なのだけど
712 :
710 :01/08/28 04:44 ID:gcrx4Fj2
そろそろ寝ますね。
>>711 もしそれが必要なら、手元にありますので提供します(笑
ぬー、みんな楽しそうだな・・・。 このスレじっくり読んで、状況を把握していたら、永遠にみんなに 追いつかないだろうな。 つぅわけで、みんながむばってくれ。
716 :
 ̄ー ̄)ノ :01/08/28 04:52 ID:hr9Cyl8U
>>716 ああ・・・最新版がわかってないかもです。鬱氏で寝ておきます。
起きてここ来たら、ちゃんと整理しますが、どなたか整理してくだされば
越したことはないです。
皆さん、本当にお疲れさまです。。。
やっぱ sourceforge …
719 :
aki :01/08/28 04:57 ID:LkIGICBw
repository作るのはいっこうに構わないんだけど、 pserverはちょっと嫌かも……。
720 :
513 :01/08/28 04:57 ID:6S1uJJBo
>>674 ご名答
>>674 ↑ということですので......
>>661 確かにそうなんだけど......でもmalloc()/realloc()使うとなると
gzprintf()とかも使えなくなっちゃうから 何とかfile descriptorに吐き出す
形でメモリに書き出せればなぁ とか思ったんだけど
sem_open(),etc.でshmの使用数100ぐらいに制限かけるとかじゃダメかにゃ
721 :
 ̄ー ̄)ノ :01/08/28 04:58 ID:hr9Cyl8U
>719 commmiter として登録された人からメールが来たら自動でリポジトリに入るようにするとか。
723 :
 ̄ー ̄)ノ :01/08/28 05:00 ID:hr9Cyl8U
眠いんで寝ます また、バージョンアップがあったら お昼頃にまとめます おやすみなさい
724 :
音楽侍 ◆NtVkSITE :01/08/28 05:00 ID:lGTCN/0o
725 :
720 :01/08/28 05:04 ID:6S1uJJBo
720のsem_open()云々のくだりはもちろんshm_open()呼び出す前にsem_wait()呼ぶ ちゅう意味ですんで......でもmalloc()/realloc()の方がそんなことしない分 パフォーマンスいいのかなぁ......実装はかなり大変そうだけど
最新のものの管理はもちろんですが、 少なくとも「稼動実績のあるread.cgi」については その表示されるバージョン番号とともに すぐわかるようにしておくのがよいのではないかと。
727 :
デフォルトの名無しさん :01/08/28 05:08 ID:2A//3mDc
内部リンクの一文字化案が出ていましたが、 下手するとせっかくのLast-Modifiedが有効に活用されなくて 逆効果になるおそれがあるので慎重にやったほうが いいのではないかと…。
私も寝ます...
最後に
・
>>532 -534で提示されたパッチを適用(
>>655 で指摘された問題はまだ)
・インストールオプションを read2ch.h の中に入れた
(これで-DHAVE_READ2CH_Hだけですむようになった)
・"true" かどうかを最初の t 一文字だけで判定する
の変更を加えたものを ver5/{read15.c,read2ch.15.h,Makefile.15}
において置きます。
それでは、おやすみなさい。
ううむ。あまりに面倒なので、誰でも自由に commit できる cvs pserver を会社で内緒に立ち上げちゃおうかな…。 sourceforge が一番いいのはわかっているんだけど、手続きが面倒そうだし、 commiter をどうこうするのもこれまた面倒だし。
731 :
aki :01/08/28 05:21 ID:LkIGICBw
ssh経由でcvsだけできるアカウント作ってみた。
とりあえず cvsup,cvsupd を pkg_add して mkdir -p /home/cvsup/readcgi && cvsupd -b /home/cvsup したけど他に何設定すればいいのかわからん(w
733 :
aki :01/08/28 05:22 ID:LkIGICBw
あ、書き込んじゃった。 ただ、上流はあまり太くない(OCN128)ので、 どうしようか悩み中。 考え過ぎかなぁ。
734 :
デフォルトの名無しさん :01/08/28 05:23 ID:/foo1b.s
>>731 ありゃ。ちょうど anon cvs server を立ち上げたところだったんですが、
そのほうがよさそうですね。ってことで、inetd.conf を元に戻すか…。
>>733 web 公開とかしなければ cvsup なんて普通の人は知らないから
問題ないのでは?
>>727 ソースの推移はわかるんですが、例えば今だと
まだ多くの鯖で動いている5.02ってどれだっけ?
なんてのがわかりにくいなと(必要ないのかな?)
release, stable, current とかって分かれてると
わかりやすいんだけど(w
>>736 cvs 使って tag と brach を駆使すると一挙に問題解決かな?
>>737 あんまり branch 駆使すると収集が付かなくなる恐れが(藁
739 :
aki :01/08/28 05:38 ID:LkIGICBw
過去ログに残したくないので、 とりあえずftp鯖にcvsの情報をおいときました。 くれぐれも余所に転載しないでください。。
740 :
720 :01/08/28 05:48 ID:6S1uJJBo
>>720 事故レス
しかしよくよく考えてみると ApacheのMaxClientsもデフォルトでは150になってる
はずだし しかも呼び出されるコンテンツ/CGIはread.cgiだけじゃないから
それ考えれば semaphoreで100ぐらいに絞ったとしても実際にsem_wait()で
待ちぼうけ食らわされるケースはほとんどないんじゃないかな......
741 :
aki :01/08/28 05:49 ID:LkIGICBw
cvs用意したとこなんですが、ちょっと寝ます。 10時には復帰予定。
742 :
98er :01/08/28 05:59 ID:BxO2wZdU
>>741 お疲れさまです。
# ID 違いますが QuisIe3w も自分です。
743 :
aki :01/08/28 06:03 ID:LkIGICBw
懺悔。 hosts.allowで縛ってました。 逝ってきます。
>>741 どもおつかれさまです。ひとまずssh経由での接続だけ
確認しました。では、わたしも寝ますんで
>>744 (w
おはようございます。 寝てる間にまっくろくろすけになってしまったようで... Web板半端にcheckしてた私のミスです。ごめんなさいごめんなさいごめんなさい... 激鬱、逝ってきます...
うーむ、cvs 初めて使うんですが、 init してもファイルが CVS/* 以外とれない… cvs 立ち上げただけでファイル無いんでしょうか? # んなわけねぇーよ とか言われそう(^^;
良くわからなくなってきたので自分も寝ます。では。
749 :
デフォルトの名無しさん :01/08/28 08:11 ID:dJ9UWh8E
ちょっと別の角度からのアプローチとして、こんなのはどう?
http://www.geocities.co.jp/SiliconValley-Sunnyvale/1648/ の「サンプル」
大筋こんな感じのダイジェストを作って、なるべくこちらを使うようにする。
sampleの元のファイルは260kbくらいで、ダイジェスト版は75kbくらい。
sampleのリンクは無効だけど、もちろんこれは本物にリンクするようにして。
もともと昔から長いスレッド読むの面倒だなーと思ってたし。
(ちなみにsampleはperlスクリプトで生成したファイル)
下手すると転送量増やしちゃうかな……
予想としては、結構減るんじゃないかなあという気がするんだけど、
やっぱし
>>708 >>711 >>713 の解析をしたいな。
俺がやってもいいけど、access.logってプライバシーが記録されてない?
読んでもいいのかな?
relese版は-g外して-O2つけた方がいいような 最終的にはつけるんだろうから今のうちからやっといた方がいいと思われ
751 :
:~名前() :01/08/28 08:31 ID:EocciE/o
>749 そこまでやると、既に2chじゃないような。
752 :
Sherry ◆RKMbxbuc :01/08/28 08:50 ID:zXQ6qHQw
>>747 わたしも空っぽに見えますが‥‥‥.
まだファイルがあがってないのでは(^^;
>>751 うん、それはわかるよ。フールプルーフ的でないよね。
でも最初に2chきたときはフロート式の意味も
名無しさんの意味もよくわからなかったし。
現状そういうこと言ってる場合でもないような気がするんだよね。
どうしても戦略レベルの取捨が必要というか。
まあ、思いつきの部類だから、別に却下なら却下でいいんだけどさ。
最新版をプロファイリングしてみたけど、実行時間の約90%は ressplitter_split() だね。CPUパワーを使ってトラフィック量を減らすという 方向にはなってるみたいだ。(ちなみに出力先はstdoutを/dev/nullにリダイレクト) 逆になんとか軽くしてやろうという場合はressplitterの部分に注目しれ
case '&': if (memcmp(p, "&", 4) == 0) { → if (memcmp(p+1, "amp", 3) == 0) { とかいった感じ? # 誤差程度にしか効かなさそうだけど...
case '&': if (memcmp(p, "&", 4) == 0) { → if (memcmp(p+1, "amp", 3) == 0) { とかいった感じ? # 誤差程度にしか効かなさそうだけど...
757 :
Sherry ◆RKMbxbuc :01/08/28 09:19 ID:zXQ6qHQw
>>713 >>749 とりあえずこんなのでIPをハッシュしてしまうとか.
read.cgi だからあまり気にしなくて良いのかもしれないけど...
perl accesslog.pl access_log > access_log.hashed
ログ解析ならお手伝いできるかも.
その手のは比較的よくやるので.(^^;
----
$time = time;
srand;
$salt = join '', ('.', '/', 0..9, 'A'..'Z', 'a'..'z')[rand 64, rand 64];
while(<>)
{
s/^([\d\.]+)/substr(crypt(&packip($1), $salt), -10)/e;
print;
}
sub packip {
my $ip = shift;
$ip = pack("CCCC", split(/\./, $ip));
$ip .= pack("n", $$);
$ip .= pack("n", $time);
# print STDERR unpack('H*', $ip), " ";
$ip;
}
758 :
Sherry ◆RKMbxbuc :01/08/28 09:21 ID:zXQ6qHQw
>>757 ログって,bbs.cgi とかも混じってますよね.
ハッシュして更に bbs.cgi 除くのがよいかも‥‥‥
grep -v 'bbs.cgi' access_log | perl accesslog.pl > access_log.hashed
とかで...(^^;
759 :
Sherry ◆RKMbxbuc :01/08/28 09:26 ID:zXQ6qHQw
>>757 補足.全部IPでDNS引きやってないこと前提です.
もしやってるならこのスクリプトだとまずいですね.
% もしやってるなら外した方が良いと思いますが‥‥‥
% DNSでも無駄なパケット消費しますし.
760 :
ねえねえ :01/08/28 09:29 ID:M17CLrb2
なんで下のは「最新レス 100 」なのに、 上のは「最新レス100」なのですか?
761 :
デフォルトの名無しさん :01/08/28 09:50 ID:9tJDBxxA
gzip圧縮が、httpdを改良したとしてもdatファイルの差分読みには適用されない というような書き込みを読んだのですが、それは本当でしょうか。 もしそうなら、レス番号指定で未加工のdatファイルを(圧縮して)吐き出す専用CGI を作ってブラウザ側にそれに対応してもらえば、タグ関係の分転送量が減らせると 思うし、余計な作業をしない分サーバーの負荷も軽くなると思うのですが。
762 :
デフォルトの名無しさん :01/08/28 09:52 ID:cHA/ePVk
R2CH_HTML_NEW_BANNERの、|おすすめ|……の表示効果(浮き上がり?)、 削っていいのではないですか。 ほとんど気付かれないし、テーブルの入れ子が1つ減る。 #web板のスレが氏に体みたいなので、こっちに書きます。失礼。
763 :
仕様無しさん ◆NwLv.g/w :01/08/28 09:59 ID:l/b15QGQ
765 :
fwisp5-ext-y.docomo.ne.jp :01/08/28 10:31 ID:lTJm8NZ2
imode=true のときは、>>数字 のリンクけずっていいのでは。 リンク先は iモード対応じゃないんだし。
766 :
513 :01/08/28 11:17 ID:6S1uJJBo
513を書き換えてみた(Content-Length対応/sem,shm使用) もしmalloc()/realloc()で実装してみようという人がいたらやってみて...... ---------------------------------------------------------------------- #include <semaphore.h> #include <sys/mman.h> #define SEM_NAME "/shm-lock" #define _SHM_MAX 100 int zz_tmpfd = -1; /* グローバル変数...スマソ */ sem_t *zz_sem = SEM_FAILED; : char shm_name[15]; if ((zz_sem=sem_open(SEM_NAME, O_CREAT, 0600, _SHM_MAX)) == SEM_FAILED) {/* err */} sem_wait(zz_sem); sprintf(shm_name, "/read.%.6u", (unsigned)getpid()); if ((zz_tmpfd=shm_open(shm_name, O_RDWR|O_CREAT, 0600)) == -1) {/* err */} shm_unlink(shm_name); if ((pStdout=gzdopen(dup(zz_tmpfd), "wb")) == NULL) {/* err */} : /* pPrintf()実行 */ size_t content_length; void *mmptr; gzclose(pStdout); pStdout = stdout; content_length = lseek(zz_tmpfd, 0, SEEK_END); if ((mmptr=mmap(NULL, content_length, PROT_READ, MAP_SHARED, zz_tmpfd, 0)) == NULL) {/* err */} printf("Content-Length: %lu\n\n", (u_long)content_length); write(1, mmptr, content_length); munmap(mmptr, content_length); ---------------------------------------------------------------------- で終了処理は if (pStdout != NULL && pStdout != stdout) gzclose(pStdout); if (zz_tmpfd != -1) close(zz_tmpfd); if (zz_sem != SEM_FAILED) {sem_post(zz_sem); sem_close(zz_sem);} ひょっとするとLDFLAGSに"-lrt"か"-lpthread"がいるかも
767 :
名も無き :01/08/28 11:31 ID:7XRvfoXo
時間がらみのとこ...... void zz_GetEnv(void) { currentTime = (long) time(&t_now); - time(&t_now); - t_now += 9 * 60 * 60; - tm_now = *gmtime(&t_now); + putenv("TZ=JST-9"); tzset(); + localtime_r(&t_now, &tm_now); /* 最後に変更してから FORCE_304_TIME 秒間は強制 304 * (zz_http_if_modified_since基準にすると永久に記事が取れ * ないかも) */ if(modtime != BAD_DATE - && (modtime + FORCE_304_TIME >= time(NULL) + && (modtime + FORCE_304_TIME >= t_now || modtime >= zz_fileLastmod))
769 :
名も無き :01/08/28 12:28 ID:7XRvfoXo
結局のところ、
>>493 ってやるべき? やめとく?
>>770 cvs情報が置いてあるというftpはgedoh.orgでいいの?
774 :
デフォルトの名無しさん :01/08/28 13:11 ID:cHA/ePVk
>>739 とりあえずチェックアウトして
みまスた。61.*.*.60 からアクセスしてるハズ。
おはようございます。なんか CVS があるようなのでとりあえずco。 公開鍵置けないかなぁ(ぼそ # diffとかlogとかやるのにいちいちパスワード聞かれて面倒...
- indexを *作らない* ための指針 - (決して、indexを実装するなと言ってるわけでは ないので念のため) * 思考実験 -- いちばん要求が多そうなパターンは? --0) ls=50 --1) 先頭から --2) 任意番号から -- indexがなくても、0, 1のパターンは ある程度最適化可能。 * 前提 -- mmap()実装が好ましい -- .datを排他取得できれば、今日にでも実装可能 (つづく)
cvswebなんかもあるといいなあ、なんちて
>>777 ls=*** (最新***レス)を取得するためのアルゴリズム
/* おそらくLinuxのmmap()実装は、ページ(4kb)単位で
I/Oしてるハズだと仮定。
.dat中、<>, \nは変なところに出てこないと仮定。 */
[ファイルサイズを求める]
[検索ポインタをページバンダリに合わせる]
*1
[\nを探す]
[見つかった場所を記憶]
[\nを検索し、カウント]
[発見できた行数がls以上だったら]→*2へ
[さらに1つ前のページにポインタをセット、*1へ]
*2
[発見した行数とlsを比較、lsに合致する位置を探し出す]
[ウマー]
※エラー処理は省いてあります悪しからず
>>776 公開鍵を公開して後悔してみるテスト 改行は削ってねん
1024 35 125510506106168728484344559028606260743434268237854452780444042976244657
81739454014124651657231825977749070773767108497499251365412015927978388425371088
95852928101769306347480074405076367979601172615284032825301031733990311664442050
92574215801196046615239358582359132960970497307563652775474320133870669877061
781 :
aki :01/08/28 13:53 ID:e.GbBjlw
>>776 メールに添付して頂ければ鍵入れますよ。
782 :
aki :01/08/28 13:55 ID:e.GbBjlw
783 :
aki :01/08/28 13:56 ID:e.GbBjlw
ageちゃったよ。鬱氏。
私もお願いしまーす 1024 35 141420444182800897154560295614680846245673825265858296442411357414038911 15240884613924487988651379196491244199030124002182978924398093541301493596634178 10358111123831813671661820711619671241767922665495043391115828629228218324543087 39167515099277620696331284274869374935143845999123662470866714954408738766491
commitのコメントをeuc-jpで叩き込んでもよかですか? >aki そのた
>>785 別にいいのではないかと。
$Log$ キーワードは使えなくなるけど :-)
788 :
aki :01/08/28 14:26 ID:e.GbBjlw
問題が出ないようなら良いんじゃないかと。 $Log$は使わないと思うし。 個人的にはソースごとEUC-JPにしたいところですが:)
789 :
aki :01/08/28 14:26 ID:e.GbBjlw
これでいいのかな。私もお願いしまーす 1024 35 1209973216028234556155437171620554425256431533556875617768332362300844549164334727791311043 439692141062247278251542890338068893268572195862223945467749181727505043692843970516667398695895755 058983468168543381589907943645791802851177950373716881571364655263365277841572646626466266846404372 46205703474514434657
>>788 禿堂
いま、Makefile書き換えてしまいました。
文句は漏れに言えゴルァ!
792 :
デフォルトの名無しさん :01/08/28 14:36 ID:KQOYNv6U
>>757 -759
やるべきだ、はっきりいって今このスレでやってること、
ミクロすぎて現状の応急措置にもなってない。
それだったらP2P掲示板スレの議論に参加する方がまだましだ。
いっそのこと、identity.pub晒した人だけ commit可能にするってのはどーよ(w (たぶんsshdの設定だな…)
795 :
Sherry ◆RKMbxbuc :01/08/28 15:07 ID:zXQ6qHQw
>>792 ログもらえればやりますよん.
欲しい情報というのは,
・各リクエスト(1記事指定,最新n記事,n-m番目の記事等)の比率と,
それぞれの場合の取得記事数の分布.
・DAT直とread.cgi経由の比率.
DAT直が多いなら対策すべきだし...(mod_gzip?)
mod_gzipが無理なら,dat ディレクトリをリネーム,
dat という名前のCGIをおいてそれがgzip圧縮付きで
ApacheのDirectoryIndexをエミュレートとか.
・ユーザー毎の行動パターンの発見?
最新n記事の後は全記事表示が多いとか.
他にもこういう視点からチェックしたいというのがあれば
チェックできると思います.
% とりあえずログもらわないと作業不可能(^^;
797 :
デフォルトの名無しさん :01/08/28 15:25 ID:KQOYNv6U
2ch生き残りのシナリオ(技術サイドからできること) UNIX板でPerler氏が負荷分散の試みについて触れているが、 受け入れ先に難儀しそうな雰囲気。なのでread.cgiの出力を 少なくとも当初の目標にまで持っていくことはどうしても必要。 (人口の増加分を考えるとそれでもまだ足りない) 切込隊長氏の言う「ポツダム宣言」がいつだかわからないので日程は明言はできないが、 ・統計データの提示 ・統計データから考えられる仕様変更の提案(みんなでよってたかって) ・仕様変更の理論的検証(テストしてる時間は多分ない) ・管理サイドに提示、承認を受ける ↑ここまでおそらく2〜3日、大事なのは正しいかどうかではなくて、 「P2Pシステムがなんとかなるまでの時間を稼げるかどうか」を管理サイドが 判断できるだけの情報を用意しておくこと。でないと、資金面での見通しが 立たない限りあきらめられてしまう可能性大。 ・実装 ↑仕様変更を導入したときの人口の流れは予測できないので、これはもうバクチ。 どのみち「さよなら2ch」だから、ダメもとで。 もうこの状況じゃ失敗しても技術者に責任はないから、 (だってほっとけばどうせ死ぬんだから)思い切ってやろうよ。
>>795 access.log 公開はいろいろ難ありでしょうから、夜勤★さんに
access.log の形式だけ教えてもらって(1〜数行だけ公開してもらって)、
こちらでコードを書き、夜勤★さんに実行してもらって結果を公開してもらう、
というのはいかがでしょう。
ところで、現在の各最新バージョンはどこかに公開のところにありますか?
それともcvsの中かな。前者ならURL教えてください。
>>799 こないだの実験のようにdatの直読み不可にして対応していないツール
を切り捨てるのもアリかと
>>799 生dat吐きに合わせて、さらに /kako/xxx/....dat も read.cgi で読み出して、
ついでにhtml化も出来るようにしたらどうでしょう。
>>800 最新バージョンはCVSの中です。場所は件のftpの/incoming/の直下にある
それっぽいファイルの中に書いてあります。
804 :
aki :01/08/28 15:45 ID:e.GbBjlw
いまgedoh.org上にミラー作成中です。 もうちょっと待って。
/kako/読みはたしか4.xxのどこかで故意に無効にされたんだよね。 if (*zz_ky == '.') html_error("そんな板orスレッドないです。"); をコメントアウトするだけで復活すると思われ 問題はこの機能を復活させると転送量が増えるかどうかだけど。
>>802 ん、そういえば、kako/xxx/.....html って動的に生成してるんでしょうか?
>>806 静的だけど、SSIで広告を挿入してるのでLast-Modifiedが
吐かれていません。
これを改善すると劇的に転送量を節約できるかも。
>>805 mod_zip 入らないと、kako 読みが圧縮されないままになっちゃいますよね。
それを圧縮して送りたいな、と。
ついでに ls とか st とか使えるので、転送料は減るはず。
「これは過去ログだよ」ってのがわかりやすいHTMLをはく必要はあると思います。
今 kako/ に入ってる.htmlにプラスアルファ、かな。
# read.cgiから読めてしまう分、過去ログであることを強調しないと。
・先頭と末尾に現在の過去ログhtmlと同等の広告を挿入 ・投稿フォームを出力しない かな?
ん、5.10がpiza2にもはいったな。 ...って、MAIL=がうまく読み込めない? やば。 # どーせ次のバージョンで-DCOOKIEやめるからいいか...
>>728 Last-Modifiedは.datの更新時刻を参照してるから問題ないのでは?
>>811 いや、そういう意味じゃなくて、bbs.cgiからのリンクとread.cgi
からのリンクでURLが異なると同じリソースとはみなされないから…
って言いたかったんですが。
気にしすぎでしょうか。
>>811 多分 実質同じURLなのに"...&ls=20"が"...&l=20"になると
別のURLになるからコンテンツを要求してしまうという意味と思われ
まぁ その変更をする時だけの問題だけどね
814 :
aki :01/08/28 16:23 ID:e.GbBjlw
815 :
:01/08/28 16:25 ID:qtXNeTyw
ひろゆき、聞いているか? 理系、技術系の広告で雑談板が養えるぞ。 専門性が高ければ高いほど金になるぞ。
絶対に理系板と技術板は手放してはいけない。
どっかの巨大企業が安値でコンビニ子会社を手放したら
そのコンビニ企業が大成長してしまったでしょう。
バイオ企業広告で飯を食っているメディアはこんなになるぞ。
http://cheese.2ch.net/test/read.cgi?bbs=life&key=994669460 )
コアな人材を求めるコアな東証一部上場企業はたくさんいるぞ。
試薬メーカー、検査機器メーカーも涎をたらすぞ。 専門性が高ければ高いほど金になるぞ。
化学板なら化学メーカーが広告につくぞ。理科系技術系は金になるぞ。
>>812 -813
勘違いしてました。。。納得です。
IEやネスケをbzip2対応にさせるのはとりあえずムリとしても オープンソースのブラウザならhackしてbzip2対応化も何とかできるだろうから bzip2エンコードにも対応できる形にしてみるってのはどお? これやるとなるとブラウザ側のhackも並行してやることになるかな
>>819 ちなみにbzip2エンコードはかなり時間喰います。
デコードもそれなりに時間喰います。
ファイルサイズが大きくないんだったら
まー、何とかなるかな、ってところかな。
将来的に、特定のUAが
Accept-Encoding: x-bzip2
を吐くのが、いいんじゃないかな。
dat吐き機能実装です。 1行目をステータスラインとして使うようにし、送られた最終レス && サイズと内容が 違う場合は全体を送信するようにしました(簡易あぼーん対策)。 # いや、本当は全体を送信するなんてムダっつーことは十分分かっているのですけど
判定は1バイト見れば十分だと思いますよ。かちゅ〜しゃやホットゾヌは 1バイトだけ見ていますがそれでほとんど誤判定はしません(すくなくとも 私は一度も遭遇したことはない)。 どうせまったく同じレスが連続していれば誤判定の可能性は残りますし。
>>824 えーと、「最終レス」は「最終レス番号」のことなんです。
で、サイズっていうのはそのレス番までのデータサイズです。
# これだけで判定できるかなぁ
わりと有用だと思われる 新仕様を実装したので イプークしよう。ウマー これで、随所にあるアンカーのサイズが縮め られるんじゃないかなっと。
このスレを見ていると、2ちゃんよりもみなさんの仕事の方が心配に なるんですが・・・仕事は2ちゃんより優先してくださいね、、。
>>825 透明あぼーんされた直後、透明あぼーんされた行と同じデータサイズの行が
書き込まれた場合。
通常あぼーん前と通常あぼーん後で、あぼーんされた行のデータサイズが
変わらなかった場合。
・・・くらいでしょう(笑
問題ないと思います。
>>のURLをテレホでカットするとして、それとは別に ref=を1レス用としてしてはどうでしょう 例えば&st=xxx&to=xxx&nofirst=trueが&ref=xxxとなるように read.cgiで置き換えればテレホ外での転送量が減る
>>830 rはrawで予約されましたから、onlyとかどうでしょう。
>>830 それは
href="xxx"
になるだろう、近い将来。
read.cgiは、ただいま対応した。
>>832 ご苦労様です
むちゃくちゃ早いんで驚いてます
>>で1レスを指しているとき(かつ表示している範囲内)にhref="#xxx"にできれば ましにできるかな? 全レスにNAME/ID属性つけるサイズ増加とどっちが影響大きいかが問題だけど...
>>xxx のときは nofirst つくのに >>xxx-yyy の時はつかないのね。
>>832 >>834 混乱ちう。この2つは違うことをいってるんですよね??
>>831 は単に&st=xxx&to=xxx&nofirst=trueが&ref=xxxを&o=xxxにread.cgiが
置換して送信し、かつ&o=xxxを解釈できるようにするという意味です。
>835 832の方はPATH_INFOでの実装で 834の方は<a name="...">にアンカーで飛ばす ということと思われ
>>835 -836
最初私が提案したのが&o=xxx方式で、
>>832 さんのが、
表示中へのリンクを<a href=#1>と<a name=1>で、
表示外へのリンクを<a href=URL#1>として
read.cgiが解析して1レス表示?と理解してました
で、
>>832 が短いからそれがいいやと思ってました
>>834 俺もそれ思ったんだけど、試してみたらスレによって違ってよくわからんかった。
で、しかも>>のリンクはbbs.cgiでの書き込み時点で既に書かれてるので、name=""にしたら一画面内に収まってないときが問題。
ていうかむしろ>>のリンクは要らない気がする。強調表示さえしてくれればそれで。
1レスのためにそこをクリックすることってかなり少ない気が。
839 :
838 :01/08/28 19:02 ID:l7CNGdzg
なんかよく読んでると凄く既出な発言。 …すまそ。
表示範囲内なら撤廃、範囲外ならテレホ時撤廃、かな...
ていうかよく考えると、タグってgzipの符号化でかなり削られてる気がなきにしもあらず…。
それでもさらに削ることを考えるのが我々。
>>842 …ナルホド。
ていうかやっぱり
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
も削っちゃうべきだと思うんですが…。
>>844 細かいこというなら、ついでに
「板に戻る」「全レス」「次100」「前100」「新100」とかに。。。
「投稿日」は「DATE」
全角":"は半角に。
E-mail(省略化)の「省略化」っていまさら必要か?とか。
846 :
デフォルトの名無しさん :01/08/28 19:23 ID:Cku4HR92
>>819 串作っちゃう方が楽じゃない?
これならブラウザに依存しないし。
index2の "投稿日" が削られてるから、readも削ってしまおう。
848 :
 ̄ー ̄)ノ :01/08/28 19:22 ID:v7eg0GVU
849 :
:01/08/28 19:26 ID:lS4qix3Q
E-mailもMailでよさそう。
それならいっそうのことIDの文字数削れないの?
851 :
音楽侍 ◆NtVkSITE :01/08/28 19:28 ID:9soq5dsg
お疲れさまです。 そろそろ次スレですね。 次からタイトルは、「read.cgi改良」で行った方がよいと思いますが、いかがでしょう? 名無し娘。さん、このスレのテンプレート、ありましたでしょうか?
>>843 -DUSE_PATHは5.10が出来た後に突っ込んだので。
-DRAWOUTの方は一度ツールの作者の方々に見てもらう必要があるなぁ。
ツールの方が対応しないとどうしようもない。
855 :
 ̄ー ̄)ノ :01/08/28 19:54 ID:QCobdrY2
そして、コピペされた誤爆もある (これだけはどうしようもなさそうだ)
857 :
 ̄ー ̄)ノ :01/08/28 20:00 ID:QCobdrY2
858 :
デフォルトの名無しさん :01/08/28 20:02 ID:Os46TJAs
859 :
 ̄ー ̄)ノ :01/08/28 20:05 ID:QCobdrY2
860 :
 ̄ー ̄)ノ :01/08/28 20:06 ID:QCobdrY2
いろいろ編集中なのでちょっと待ってね>新スレ
862 :
デフォルトの名無しさん :01/08/28 20:10 ID:/foo1b.s
現状って zlib が bigserver のほうに入っておらず、相変わらず gzip を使っている状況なんですよね? archive に zlib を含めて Makefile で zlib を compile して libz.a を static link した read.cgi を生成するようにすべきでしょうか?
863 :
 ̄ー ̄)ノ :01/08/28 20:12 ID:QCobdrY2
>>862 zlib使いたいですねぇ
やっぱりこっちでどうにかするしかないんですかねぇ
864 :
音楽侍 ◆NtVkSITE :01/08/28 20:14 ID:9soq5dsg
>>861 了解です。
制限引っかかったら手伝います〜
865 :
819 :01/08/28 20:15 ID:6S1uJJBo
>>846 串でbzip2展開するということ? それもいいかもね
bzip2って重いって指摘されてるけど トラフィック削減が至上命題なら
目をつぶってもらっても......っていう気はするんだけど
>>862 そうするよりないよね
867 :
デフォルトの名無しさん :01/08/28 20:21 ID:Os46TJAs
>>866 zlib.tar.gzがなければdownload、と一段かましてくれれば十分では
>>866 えと、bbs の下に zlib-1.1.3 の archive を展開しちゃったのを commit
してもいいんじゃないかな? 723KB っていう容量が必要になっちゃうけど、
夜勤さんに compile & install を頼むとき、いらない trouble は減ると
思うし。
870 :
デフォルトの名無しさん :01/08/28 20:24 ID:Os46TJAs
Content-Lengthのことですが、pipeでzlibやgzipの出力を拾うのは かなりつらいようです。 具体的に言うと、pipeが詰まっちゃうのをさけるため、一文字送っては 様子を伺うことになります。 shmやtmpfileを使うとカーネルやdiskのお世話になるので、 zlibをちょっと改造して組み込んじゃうのが最も良い方法でしょう。
872 :
名無し娘。 ◆vP.bOZFQ :01/08/28 20:26 ID:vA2A8wXI
873 :
デフォルトの名無しさん :01/08/28 20:28 ID:Cku4HR92
>>865 そです。
串でAccept-Encodingにx-bzip2とかを付加させて
受けたデータがContent-Encoding: x-bzip2だったら
受信データを展開してブラウザに渡す、って感じで。
>>867 >>869 tar, wget がないという最悪の場合を考えて、CVSリポジトリに含める方向でいきましょう。
現在いらないファイルを削除中。
# tarがないなんて考えられないけど
以降新スレで。
876 :
ヒロユキ@ギコナビ :01/08/30 12:03 ID:XHwJLJWU
2ちゃんねる閲覧ツールの話はココで行ってよろしいですか? read.cgi経由のdat読みの仕様が書いてあるスレはありますでしょうか?
877 :
デフォルトの名無しさん :01/08/30 12:14 ID:UyZTu/nQ
あっ。すみません。 read.cgi改良スレに行きます。
パンティーはいたまま排便、好きな人 パンティーはいたまま排便、好きな人 パンティーはいたまま排便、好きな人 パンティーはいたまま排便、好きな人 パンティーはいたまま排便、好きな人 パンティーはいたまま排便、好きな人 パンティーはいたまま排便、好きな人 パンティーはいたまま排便、好きな人 パンティーはいたまま排便、好きな人 パンティーはいたまま排便、好きな人 パンティーはいたまま排便、好きな人 パンティーはいたまま排便、好きな人 パンティーはいたまま排便、好きな人 パンティーはいたまま排便、好きな人 パンティーはいたまま排便、好きな人 パンティーはいたまま排便、好きな人 パンティーはいたまま排便、好きな人 パンティーはいたまま排便、好きな人 パンティーはいたまま排便、好きな人 パンティーはいたまま排便、好きな人 パンティーはいたまま排便、好きな人 パンティーはいたまま排便、好きな人 パンティーはいたまま排便、好きな人 パンティーはいたまま排便、好きな人 パンティーはいたまま排便、好きな人 パンティーはいたまま排便、好きな人 パンティーはいたまま排便、好きな人 パンティーはいたまま排便、好きな人 パンティーはいたまま排便、好きな人
>879 荒らしが「sage」で書き込んでいるの見て笑った・・・
応援することしかできないから dat落ち阻止sage
884 :
scabbers,... :01/09/16 00:33
各スレッドのトップ(www.2ch.com/info.htmlから飛ぶページページ) を開こうとすると、圧縮版、非圧縮版ともに、途中でHTMLの所得が中断 されてしまいます。 どうしてなのでしょうか? OS: Windows2000 ブラウザ: IE 6.00.2462 接続環境: DTI プロクシ無し
886 :
packetmonster :01/09/16 01:41
CGIのパラメータをパス使って渡すってのはどうかね?既出かね? 今見てるURLはブラウザが知ってるから、板とかスレとかの指定が省略できるでは?
887 :
packetmonster :01/09/16 01:45
あと、外部リンクのtargetも気になるな。 ページのリンク数を調べて、外部リンクが多いページはheadに指定しとく手もあるね。