■スレッドリストへ戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 最新50

read.cgi改良スレッド

388 :名無し娘。 ◆vP.bOZFQ :01/08/30 00:00 ID:HrH04.b6
index2.cgi 系の新スレです。
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=999097075&ls=20

批判要望いってきます。

389 :名無し娘。 ◆vP.bOZFQ :01/08/30 00:05 ID:HrH04.b6
いってきました。
>>385
read.cgi のスレに復活です(^^;

390 :音楽侍 ◆NtVkSITE :01/08/30 00:07 ID:Sij0XJg6
>>369
さんくす〜〜

次からは(次があればだけど(笑))、思いついたらなるべくはやくスレ分けないと、混乱してモチベーション下がるです。

391 :♯6411 :01/08/30 00:08 ID:B5j.xDlI
>>385 実際のところ、たいていのSquidは
.cgi ? が出てくるURLをキャッシュしない
設定になってることがない、ようだ…うーむ。

392 :デフォルトの名無しさん :01/08/30 00:15 ID:xfLG9NB.
キャッシュを無効にするため、わざわざ index.html? なんてアクセスする奴も
居るんだから、Content-Length吐いたぐらいじゃだめでしょうね。

393 :音楽侍 ◆NtVkSITE :01/08/30 00:25 ID:Sij0XJg6
>>392
リフレッシュで飛ぶURL一緒なので、効くんじゃないんですか?

394 :♯6411 :01/08/30 00:29 ID:B5j.xDlI
ついにやりました(藁

トップページのダイジェストと同じ機能のものを
表示するモジュール


…の土台、つくりました。
あとは表示系をごてごていじり回れば、
index2.htmlに変わるものになる、はず。

すでにcommitしてあるので、
怖いもの見たさに覗いてみてくだちい。

395 :392 :01/08/30 00:31 ID:xfLG9NB.
ブラウザは効くでしょうけど、proxyに効くのかしら?

うーむ、squidのソースを展開してみたが、squid.confのサンプルが見つからないぞ。

396 :♯6411 :01/08/30 00:33 ID:B5j.xDlI
>>394 動かすのに必要なもの

/tech/subject.txt
/tech/dat/[最新10記事].dat

す。あとは、
http://localhost/test/read.cgi/tech
じゃ。

397 :名無し娘。 ◆vP.bOZFQ :01/08/30 00:34 ID:HrH04.b6
read.cgi なこと。


前スレ分:http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998845501&st=875&to=875&nofirst=true

Content-Length >>35-36 >>306 >>332 >>385-386 >>391-393 >>395
expire >>336
PATH_INFO >>264
ressplitter_split()
zz_GetEnv()
CUTRESLINK(imode)
COOKIE
dat,kako >>230
subback >>295
>>のリンク
zlib.h問題(解決?)
bzip >>271
deflate >>326
isbusy isimode nofirst >>41 >>101 >>167
LastMod(ls,st,to) >>127 >>134
mmap(lock) >>139
FORCE_304_TIMEの動的変動 >>297
NAME,MAIL欄の" " >>192
スレスト時FORM >>11
TopPage作成 >>394 >>396
r2chhtml.h >>78 >>93 >>114-115
r2chhtml.hいろいろ http://natto.2ch.net/test/read.cgi?bbs=hp&key=998774537
設定の外部化 FORCE_304_TIME LIMIT_PM LIMIT_AM CUTRESLINK(LIMIT_xMと別にする) >>49 >>53 >>55 >>85 >>90
その他 http://www.gedoh.org/aki/2ch/tiki/ にいろいろ

398 :♯6411 :01/08/30 00:34 ID:B5j.xDlI
>>395 逆に言えば、
.cgi という名前を隠して(どうやって?)
?を使わずにパラメータを渡せば(どうやって?)
Squidごとき騙せる…はず。

399 :デフォルトの名無しさん :01/08/30 00:36 ID:3dKaZzhQ
r2chhtml.hいろいろは、最近はこの辺でしょうか。
http://natto.2ch.net/test/read.cgi?bbs=hp&key=998774537&st=923

400 :- :01/08/30 00:36 ID:Ck0sz4AU
板トップで使われてる pageview.cgi のソースを
夜勤さんか誰かが公開してくれたらな・・・
きっと無理だろうが

401 :名無し娘。 ◆vP.bOZFQ :01/08/30 00:38 ID:HrH04.b6
>>400
やはりむかしむかーしのなら、もっていたりします。
あっぷしますか?

402 :395 :01/08/30 00:38 ID:xfLG9NB.
>>398
PATHINFO使えば、?は隠せます。
.cgiはhttp.conf触って、.x とかにしちゃえばOK。

403 :♯6411 :01/08/30 00:43 ID:B5j.xDlI
>>402
PATH_INFO...使ってます。
?を使わずにパラメータを渡すのは、どうにかなります(w

httpd.conf...いじれないんじゃないかなあ。
.htaccessまでいじれるんだったらいいんだけど。

404 :- :01/08/30 00:43 ID:Ck0sz4AU
>401
page=1 のときって、つまり index2.html と同じですよね?
何か違うのかな・・・機能停止されてるから確認できないや

405 :名無し娘。 ◆vP.bOZFQ :01/08/30 00:46 ID:HrH04.b6
>>404
こんなんでましたけどー

#==================================================
# もしページが1ならトップに戻す
#==================================================
if($FORM{'PAGE'}==1){
$PATH .= "index2.html";
print "Location: $PATH \n\n";
}

406 :395 :01/08/30 00:47 ID:xfLG9NB.
.htaccessはいじれるはず。
でも、AUTHのみ許可かも。

407 :- :01/08/30 00:51 ID:Ck0sz4AU
ニガワラ

408 :395 :01/08/30 00:56 ID:xfLG9NB.
squidちょっと調べてみた。
>hierarchy_stoplist cgi-bin ?
>acl QUERY urlpath_regex cgi-bin \?
cgi関係はこれしかないから、?さえはずせば、普通のsquidはキャッシュしそう。

409 :♯6411 :01/08/30 01:03 ID:VrJJ/gNY
>>408 いろんなサイトで
使用されているやつの
設定が(おそらく)
そんなふうになってるのが
問題なのですね…

410 :名無し :01/08/30 01:08 ID:qReivzgw
こんなの見つけた。

ftp://210.170.170.118/incoming/old_bbscgi/

411 :おや? :01/08/30 01:12 ID:FI3EZUgU
>>410
公開されていたんですねぇ…

412 :名無し娘。 ◆vP.bOZFQ :01/08/30 01:18 ID:HrH04.b6
>>410
あとremake.txtなんてのもありましたね。現行システムにあるかは知りませんが。

413 :名無し娘。 ◆vP.bOZFQ :01/08/30 01:19 ID:HrH04.b6
http://cocoa.2ch.net/test/read.cgi?bbs=unix&key=998908154&st=235&to=236&nofirst=true
仕様でしたっけ?

414 :395 :01/08/30 01:31 ID:xfLG9NB.
>>409
設定ファイル中で強く推奨されてるので普通は変えないでしょう。

で、squid入れて試してみました。
Content-Lengthなくてもちゃんとキャッシュします。
?だけの問題ですね。
gzipしない時にContent-Length出すのは意味なさそう。

415 :♯6411 :01/08/30 01:38 ID:WaZdXN2I
>>414 いま自宅に帰ってきた。
Expireを見てくれない(?)のは、
IE5.5も。
どこかのカキコで、「IE5からは、Expireしてない
オブジェクトは要求すら出さない」って
書いてあったんだけど…read.cgiには
すぐ要求が出されてしまう。
もちろんread.cgiがそくざに304を返すけどね。

416 :Sherry ◆RKMbxbuc :01/08/30 01:38 ID:RowGKKaA
>>414
わたしは,

>hierarchy_stoplist cgi-bin ? cgi
>acl QUERY urlpath_regex cgi-bin \? cgi

に書き換えてます.いつも...
最近だと,/cgi-bin/ 以外にCGIを置く人が多いので‥‥‥(^^;

417 :395 :01/08/30 01:47 ID:xfLG9NB.
>>416
変えないってのは、削らないって意味で、追加する人がいても不思議じゃありません。

>>415
squid.confの最後にそれ関係のものが書いてあるみたい。
5.5SP1より前のはどうこうで、ie_refreshなんてのが追加されてる。

418 :名無し娘。 ◆vP.bOZFQ :01/08/30 02:22 ID:HrH04.b6
なんどもあれですが、CUTRESLINK は逆効果のように思います。
dat読み込み時 st=xxx&to=xxx&nofirst=true -> o=xxx 強制変換を実装して、
o=xxx を解釈できるように実装した方がよいかと。。。
PATH_INFO ならもっとスマートに実現できそうなので、可能でしたら
PATH_INFO ででも、お願いします。

419 :Sherry ◆RKMbxbuc :01/08/30 02:31 ID:RowGKKaA
PATH_INFOの記事番号指定の最適化の方も出来ませんか?

ttp://piza2.2ch.net/test/read.cgi?bbs=tech&key=998845501&st=266&nofirst=true

ここらへんで話題になったものです.

href=/?st=xxx&to=xxx&nofirst=true を href=xxx に置き換えられれば
かなり違うと思うので‥‥‥.

% 他力本願で申し訳ないですが(^^;

420 :名無し娘。 ◆vP.bOZFQ :01/08/30 02:34 ID:HrH04.b6
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998997848&st=264&to=264&nofirst=true
かな。ここでの最新情報は。考慮なさっていると思います。

ひろゆきたん御降臨
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=998823114&ls=20

421 :名無し娘。 ◆vP.bOZFQ :01/08/30 02:50 ID:HrH04.b6
一方で。。。
http://yasai.2ch.net/test/read.cgi?bbs=venture&key=998735207&st=491&to=491&nofirst=true

ヽ(´ー`)ノ モ(豚)でも見てくるよ(笑

422 :名無し娘。 ◆vP.bOZFQ :01/08/30 02:51 ID:HrH04.b6
とおもったら。

http://yasai.2ch.net/test/read.cgi?bbs=venture&key=998735207&st=506&to=506&nofirst=true

423 :名無し娘。 ◆vP.bOZFQ :01/08/30 02:59 ID:HrH04.b6
こんな所にも。

http://teri.2ch.net/test/read.cgi?bbs=accuse&key=999107451&st=46&to=46&nofirst=true

424 :♯6411 :01/08/30 03:06 ID:WaZdXN2I
>>419 もう終わってます

425 :♯6411 :01/08/30 03:22 ID:WaZdXN2I
>>397
>read.cgi なこと。

> Content-Length
本質的には関係ないという結論が出たナリ

> expire
サーバ側でcgiの設定変更ができた時点で
あらためて考え直すとするよ

> PATH_INFO
> subback
> TopPage作成(index2)
板ダイジェスト(index2相当)以外は
落ち着いた

> >>のリンク
path仕様ではカナーリ最適化される
ものと思われ。

> bzip
たぶん後回しになるでしょう…

> deflate
gzipのみ受け付けるNetscape系を考えると、
キャッシュ効率も鑑みて、当面サポート
しないことになるでしょう…

> LastMod(ls,st,to)
板ダイジェストをやっつけたら、
本格的にサポートします。
dat indexも一緒にね♪

> mmap(lock)
現在のmmap実装では、
PRIVATE(CoW)にしてあるので、
致命的な問題にはならないんでは
ないかなと楽観視したい、ところなんだけど、
これだけ大規模なサイトのこと、
どんな問題が起こるか、わかったもんじゃない。

> NAME,MAIL欄の" " >>192
手元の実装では、問題なくなってるように見える

> スレスト時FORM
未実装のようだ(だよね?)

> r2chhtml.h
chunk化は実装済み。
最終発言リロード猿対策も実装済み。

426 :名無し娘。 ◆vP.bOZFQ :01/08/30 03:26 ID:HrH04.b6
>>424
お疲れさまです。

あとはまとめて。。。
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=999107451&st=178&to=178&nofirst=true
http://yasai.2ch.net/test/read.cgi?bbs=venture&key=998735207&st=560&to=560&nofirst=true

427 :仕様無しさん ◆NwLv.g/w :01/08/30 11:16 ID:tC2y3XA2
スレスト時FORM非表示と、ressplitter_split()の最適化(前スレ754/756)
実装しました。
が、防火壁のせいでCVS等使えないので、差分つけときます。

begin 664 read.diff.gz
M'XL("%2CC3L``W)E860N9&EF9@#=5FUOXD80_DQ^Q<!)P39+8QOGB*%4NEQ(
M#QV<3X9(;;G((F:!5<"V;%,E.>5#E!]Q?_=FUS8OB9-62>FIM1*\.SO,VS//
ML(JB0$A'XY\N1I>%P6P)[Y93J*F@UANZUC`,T%55VZM6JXF6NZFCJ0W#;&AF
MHJ-L/WP/FG9(-/TM"`%`H6W;ENUTK5^MLP%!P6T3/_[TV1AF\6+NT##T0XEZ
MR\7&WHE!O%U_3.7F7G%#?^+[L<,6$O-B>=O2#(.5W-DH!"5F\9P20!V8,X\*
M1;X):>1$P9S%J9X2$4A6P=I8Y"^H38/YR*6)FNM[40Q*%+J9]IAF7\S.XE!]
M)-$V`L0P+K>,<G,YJ4F/8I[2N(O[WNA*XJHK>2<Z7D;7NCO;%J/Z*9O3/KO9
MCGZ"0E3BJ&8(X;JZ6X3(_QVE58+_/%)YW*J9;XFAJ2MNX7.;OB^0JY?-9...
M(@KE_7(#`^=G;`+2@B[<12`%!$K[HT50(F#(T&J!*L/7U(304Z0`*ORLV()R
MLRQG9P44M\``;)_F4Z[?L(DWIA,8_/ZY[0S:=B?Q+\)1KXZT!APH`$KI[EL)
ME(/TVRCB?HN#&8NJO[!H0$.&,7&%W.COOMWU<J-W9X`ADW(67F[$O/^S*F;]
M_X(J5C2,)"EC[4>643K2S+K\PF**)+Y<F751T,=Y_*V"YK6IJ=>(J1\E;<HK
M+@0U+:LX)LCSL]M=Z]U)M_/I([>64:H[0A*TQ!*9).I!O3&;[%42G7C&?Y7Z
ML1\$=-Q2FUR><G6HJ^?K?3#L=_YH.\=GI^<B7/X_\4.0N>H#:%$_AYY4LL
M*I6L!'SWR4]C032U?%*:AQHQ#^MK4HHQ$=*YCY,NRTAN<FS@>!G'OM<`6YRF
MN-VN<T20UD,F#4L,#*X7TG@9>A@WG]%)70\-8M;U=2>_RG76=^_/!G:[+W#!
M>'!$>FYPS;EWS*9\P`W3P*K:.<$+@6Z("5D(AGS-N^.<]\T7M2S$HA]Q<HL&
M3%/0Q,EZSN.<#H21-W0>4>&5RV/F31W71^=<(=]_A./3GTB!C(YU57[&)0C[
M69G91`)LF/-B2X7]?<`L\2\1(2ON?[N?WE_<!W?#$LCR@YY+HG^$$]E6>P*V
MW"N363>)9AZ960\=**]\#H21PH=!KPNGEH5#))D^Z<&KK3]];4'[@CT<`Q;A
M/0`O")*\!<76+2']Y4]12PC9PM'0=^SV2<+$55]:UL=.NR"(7`@^A^@3@>_'
M8W\9$[#U]Q\<GK!S:MD]`C<WSD4D7I?7))WHRS"D7CQ@B]55R#0-@E=9(Z/0
M?[?RR44J2IH/7H0#B5:MFX\'9THQ4]HE-@_2YGN.E<FQJN^0)1*K]JR3MKQ3
MR-++\09?GNO^ORRGT^$A/R@J;-<S'?7/F^(%2(RE[-!5C;-#UW?(CG^]XEL\
2>:[\F\T./Q2+[T!Y=)6Q#P``
`
end

428 :デフォルトの名無しさん :01/08/30 11:21 ID:avybgQxQ
>>427
decodeできないYO(;´д`)

429 :仕様無しさん ◆NwLv.g/w :01/08/30 11:33 ID:zI.sv/Fk
1. textファイルにコピペ
2. 行頭に余分なスペースがあれば除去
3. ファイルを保存(ここではread.diff.uuとしておく)
4. uudecode read.diff.uu
5. gzip -d read.diff.gz
6. patch < read.diff

430 :デフォルトの名無しさん :01/08/30 11:35 ID:avybgQxQ
>>429
行末の空白全部消しても途中から化けたものが出てくる…

431 :428 :01/08/30 11:37 ID:avybgQxQ
>>429
ML1で始まる行が2文字少ないみたい

432 :仕様無しさん ◆NwLv.g/w :01/08/30 11:38 ID:zI.sv/Fk
gzip -dまではうまく行きました?
# これがうまくいってたらファイルは壊れていない可能性が高いです。

433 :428 :01/08/30 11:39 ID:avybgQxQ
>>432
gzip: read.diff.gz: invalid compressed data--crc error

434 :仕様無しさん ◆NwLv.g/w :01/08/30 11:43 ID:zI.sv/Fk
>431 全角にしてその行載せてみますね
ML1¥$=−Q2FUR><G6HJ^?K?3#L=_YH.¥=GI^<B7/X_¥4.0N&GTH#:%$_AYY4LL

#ブラウザとかちゅ〜しゃの違いとかなのかな???

435 :428 :01/08/30 11:46 ID:avybgQxQ
>>434
">"が > になってた! (笑)

436 :428 :01/08/30 11:47 ID:avybgQxQ
>>435
&GTが(;´д`)

437 :428 :01/08/30 11:50 ID:avybgQxQ
>>427
つーこってcommitしました(makeのみ確認、動作は確認してない)

438 :仕様無しさん ◆NwLv.g/w :01/08/30 11:51 ID:zI.sv/Fk
>437 ありがとうございます。
# しかしuuencodeにこんな落とし穴があったとは...

439 :デフォルトの名無しさん :01/08/30 13:39 ID:VaKgQswY
隊長★さんの話のニュアンスは Big-Server以外のところでホスティングできる
ような方向で動いてるということかな? となると mod_* の組み込みなんかの
自由度も高くなる可能性もあるということか......

440 :♯6411 :01/08/30 14:09 ID:B5j.xDlI
スマソ
昨夜分離したモジュール
index.[ch]
は、命名ミスの予感。
晩酌しながらの作業はアプナイアプナイ

誰か、あのモジュールのもっといい
命名してくれないかしら? 思い浮かばん(鬱

441 :仕様無しさん ◆NwLv.g/w :01/08/30 16:48 ID:nL9JLCPA
これってread.cgiのことなのかな...

http://teri.2ch.net/test/read.cgi?bbs=saku&key=996761078&st=408&to=408&nofirst=true

408 名前:復帰マシーン ★ 投稿日:01/08/30 16:18 ID:???
 えーと各削除人氏連絡です
 キャッシュの(2ちゃんねる側)の都合により削除したはず
 のレスやスレッドが見えてしまうという現象がおこることが
 判明しました、依頼人から抗議などありましたらその件を説明
 してあげてください、ひろゆきさんには連絡済です

442 :デフォルトの名無しさん :01/08/30 16:53 ID:.6UDlrR.
>>441 誰かが言っていた"Cache-Control"ヘッダを入れるべきか......

443 :名無し娘。 ◆vP.bOZFQ :01/08/30 16:55 ID:0pm1KlDE
今から現状を追います。。。
>>441
あぼーんでもdatのmtimeは変化するので、304返すってことはないですよね。
とすると、FORCE_304_TIMEかな?

444 :♯6411 :01/08/30 17:50 ID:RSyGf5Ac
path仕様がほぼ完成したことを
関係者各位にお知らせします。
commitしてありますので、ビクビークしながらご賞味ください。
最後にちょっと仕様変更

/test/read.cgi/tech/ 板ダイジェスト(index2.html相当)
/test/read.cgi/tech/- 全スレ一覧(subback.html相当)

今のところ、リンク遷移において、
現仕様と新仕様は互いに干渉しないようになっています。

あと、板ダイジェスト、スレ一覧のhtmlを検証、
打ち直してくださる方、ご協力を。

445 :デフォルトの名無しさん :01/08/30 19:06 ID:4DArGShY
SETTING_R.TXTの読みこみで、ほぼ全てパラメータにできるようにしてみました。
不要なものまでパラメータにしているかもしれません。
read()版は動作確認済み。mmap()版は未確認。
その他、細かいところ2、3の修正。

最新版>>444に変更を加えたものを
ftp://210.170.170.118/incoming/2ch-read-current/read14.2.8.c
ftp://210.170.170.118/incoming/2ch-read-current/read2ch14.2.8.h
におきました。
どなたかmergeをお願いします。

446 :デフォルトの名無しさん :01/08/30 19:33 ID:C3beEwl.
修正もう1つ忘れてた。
splitting_copy()の中の
  || rawmode);
になってるところを、
  || rawmode || is_imode());
にすると、imodeの時にリンクが出なくなります(-DCUTRESLINK時)

447 :名無し娘。 ◆vP.bOZFQ :01/08/30 19:33 ID:QPVBUxP6
実装・検討待ちの案一覧(前スレはほとんど見なくて良くなりました)

PATH_INFO(完成) >>444
USE_SETTING_FILE(完成 merge待ち) >>445
imodeは常にCUTRESLINKする
>>xxx-yyyにnofirstがつかない問題 >>167
ls=1で全スレ表示問題 >>413
1-100,101-200,...のUI >>78 >>93
スレスト時FORM >>11
CUTRESLINK(imode) http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998845501&st=765&to=765&nofirst=true
CUTRESLINK問題 >>418
Cache-Control >>441-442
FORCE_304_TIMEの動的変動 >>297
dat,kako >>230 http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998845501&st=805&to=809 ツール作者さんに対応お願い
index2作成 >>394 >>396
LastMod(ls,st,to) >>127 >>134
mmap(lock) >>139 >>425
expire >>336 >>425
deflate >>326 >>425
bzip >>271 >>425 (前スレ 819 821-822 846 865 873)
r2chhtml.hいろいろ http://natto.2ch.net/test/read.cgi?bbs=hp&key=998774537&ls=20
その他 http://www.gedoh.org/aki/2ch/tiki/ にいろいろ

448 :ヒロユキ@ギコナビ :01/08/30 19:37 ID:AEjMWcrI
ギコナビという2ちゃんねる閲覧ソフトを作成しているものです。
read.cgiがdatを吐く仕様(パラメタなど)は、どこのスレにあるのでしょうか。

449 :名無し娘。 ◆vP.bOZFQ :01/08/30 19:37 ID:QPVBUxP6
>>446
お疲れさまです。
-DCUTRESLINK と連動せずに、imode 時は CUTRESLINK するようにしていただけると
ありがたいです。

450 :名無し娘。 ◆vP.bOZFQ :01/08/30 19:42 ID:QPVBUxP6
>>448
どうも、ありがとうございます。

/* raw=xxx.yyyを有効にする。 xxx=最終レス番号, yyy=そのときのサイズ。
* 一行目はステータス:
* [+OK] の場合は差分のみを送信する。
* [-INCR] (Incorrect)の場合はすべてのデータを送信する。
* [-ERR (テキスト)]の場合はなんかエラーが起きた。
*/
というふうになっています。

http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998997848&raw
で、dat全体を吐きます。

http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998997848&raw=230.45584
だと、レス番号230番目までのdatのサイズが45584だったときに、231番目から
送信し、サイズが異なるときはあぼーんがどこかにあるとみなして、レス番号1
からすべて送信します。

451 :名無し娘。 ◆vP.bOZFQ :01/08/30 19:44 ID:QPVBUxP6
>>449
あれ、今のread.cgiでは、まだ有効になっていないかもしれません。。。

452 :♯6411 :01/08/30 19:49 ID:RSyGf5Ac
>>445 マージしてるんだけど、
なんか手元で一部機能が動かなく
なってしまったので、格闘ちう。

453 :名無し娘。 ◆vP.bOZFQ :01/08/30 20:06 ID:QPVBUxP6
http://star.endless.ne.jp/users/forcount/4countbbs/scriptmaker/index.html
への投稿からコピペ。

BadAccess()ってなんでif文で切っているの?
コンパイルしたときにダイナミックステップ数が多くなるので
case文にしたほうが高速化が図れますよ。
転送数削減には関係なくてスマソ

454 :♯6411 :01/08/30 20:12 ID:RSyGf5Ac
>>445
>>452
えーと。dat_read()中の
getFileSize()を外すと、
ダイジェスト作成の2周目以降が氏ぬので
復活させときました。

ただいまマージ完了

455 :デフォルトの名無しさん :01/08/30 20:14 ID:.6UDlrR.
>>453 NEWBAの方はforループになってるからcase文にできるのかどうか......
っていうか そもそも文字列に対してswitch-caseって使えたっけ?

あえて言えば User-Agentの一番最初に来る文字列だったら
strstr()よりstrncmp()の方が早くできるかな ってぐらいか

456 :445 :01/08/30 20:46 ID:IyBl8mjA
>454
ありがとうございます。&ご迷惑をおかけしました<エンバグ

>449
-DCUTRESLINKしないと通らない部分で、カットしてるので・・・。
でも、read2ch.h内の
#define CUTRESLINK
の下にdefineしてあるLINKTAGCUTを0にするか、
SETTING_R.TXTに
LINKTAGCUT=0
の行があれば、カットしないはずです。

あと、結構繰り返されるループなので、
4文字のmemcmpやmemcpyはlong値にすると速いと思います。それも、
if (*(long *)p == *(long *)"<br>") ではなく、
if (*(long *)p == '>rb<')
が一番速いような。
可読性と移植性を一気に失いますが。

457 :デフォルトの名無しさん :01/08/30 21:10 ID:N/.0WZiw
ドルバッキーさん来てるよ?

458 :♯6411 :01/08/30 21:13 ID:RSyGf5Ac
とりあえず、最新のバージョンが
動作確認できる場所を確保した。
http://www.psychedance.com/test/read.cgi/tech/

459 :デフォルトの名無しさん :01/08/30 21:19 ID:Np0La3X.
>>450
>http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998997848&raw=230.45584
>だと、レス番号230番目までのdatのサイズが45584だったときに、231番目から
>送信し、サイズが異なるときはあぼーんがどこかにあるとみなして、レス番号1
>からすべて送信します。
何処かに「あぼーん」がある場合、レス番号とdatのサイズが不一致であるという
事実(エラーコード?)と、「あぼーん」されたレス番号を返してもらえればクライア
ント側でログを操作できるんじゃないかな?
これならレス番号1から全て送信し直す必要がなくなると思うんだけど、どうかな?

460 :デフォルトの名無しさん :01/08/30 21:20 ID:N/.0WZiw
>459
ログ形式に関してはこちらで話が進んでいます。

bbs.cgi 改良案スレッド
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998921988

461 :デフォルトの名無しさん :01/08/30 21:21 ID:.6UDlrR.
>>458 ネスケ4.72で
----------------------------------------------------------------------
JavaScript Error: http://www.psychedance.com/test/read.cgi/tech/, line 34:

N is not defined.
JavaScript Error: http://www.psychedance.com/test/read.cgi/tech/, line 36:

N is not defined.
   :
JavaScript Error: http://www.psychedance.com/test/read.cgi/tech/, line 52:

N is not defined.

Too many errors. No further JavaScript errors will be displayed for this page.
----------------------------------------------------------------------
って出てきましたけど......

あとTODO読みました munmap()入れてしまったのオレです スマソ......

462 :音楽侍 ◆NtVkSITE :01/08/30 21:22 ID:KsueBNwE
DolBackyさん、来てますよー>index.cgiスレッド
プロセス起動数が半端じゃなくなりそうだっておっしゃってます。

463 :デフォルトの名無しさん :01/08/30 21:23 ID:N/.0WZiw
また勘違いした。
謝罪しる>自分

>459
専用プロトコルがほしいね。

ABORN 99899784 2CH/0.1
12
23
45

464 :デフォルトの名無しさん :01/08/30 21:25 ID:N/.0WZiw
>458
IE6 でも同様。ヘッダ内で宣言していたJavaScriptを消したせいかと。
HEAD が閉じタグだけあるのは何故?

465 :デフォルトの名無しさん :01/08/30 21:26 ID:4UkPDjVY
IEだと、特に問題なく動いている感じ。

466 :デフォルトの名無しさん :01/08/30 21:29 ID:N/.0WZiw
read.cgi は 1- が 1-50 じゃなくて 1 だけになってます。

467 :♯6411 :01/08/30 21:30 ID:RSyGf5Ac
>>464
JavaScriptは、「あ、えら〜出てるなあ」と。
そのうち治るかな?
HEAD漏れは、漏れの掻き漏れ。スマソ

468 :デフォルトの名無しさん :01/08/30 21:31 ID:hlW8zoEo
gzdopenで、dup(1)は要りません。gzio.c内で1を特別扱いしてます。
atexitfunc() から呼ばれるhtml_errorでexit()呼ばれるのはまずいっす。
あっ、どなたか直してくれてますね。

-/* dup()しないとgzclose()でstdoutを閉じてしまうので */
-pStdout = gzdopen(dup(1), "wb9");
+/* 引数1はzlib/gzio.cで特別扱い 仮にstdoutを設定し、closeしない */
+pStdout = gzdopen(1,"wb9");

gzipped_fwriteをこんな風にすると汎用性と混乱度があがっていいかも。

/****************************************************************/
/* receive gzipped data from zlib/gzio.c */
/****************************************************************/
int gzipped_fwrite(char *buf, int n, int m, FILE *fp)
{
  int l = n*m;

  if ( fp != stdout ) return fwrite(buf,n,m,fp);
  if ( outlen+l > outalloc ) {

469 :デフォルトの名無しさん :01/08/30 21:35 ID:hlW8zoEo
atexitfunc()に
/* あちこちに散らばってたのでまとめてみた */
とかあるんですが、gzip_flag!=0のときしかatexitfunc()は設定されてません。

470 :♯6411 :01/08/30 21:36 ID:RSyGf5Ac
>>466 夕方行われた nofirst 対策の
副作用と思われ。

471 :音楽侍 ◆NtVkSITE :01/08/30 21:42 ID:KsueBNwE
index2.cgi開発者各位は、

index2.html など転送量削減案
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=999097075


までお越しくださいませ。
DolBackyさんが導入検討中です〜

472 :名無し娘。 ◆vP.bOZFQ :01/08/30 21:47 ID:QPVBUxP6
すんません。
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=999097075&st=21&to=21&nofirst=true
の通り、read.cgiが最上行に出力する「掲示板に戻る」が、現状では .html に
なっていますが、これを、gzip 対応のブラウザに対しては .htm にするよう、
お願いいたします。
gzip_flag が 1 か 2 のときに、R2CH_HTML_HEADER の引数を変えてやれば
いいのだと思います。

473 :|  - -) :01/08/30 21:57 ID:PugAduiM
>>472
done(多分)

474 :デフォルトの名無しさん :01/08/30 21:57 ID:Np0La3X.
>463
うん、HTTP自体を捨てられれば色々と楽なんだけど・・・・・
ってのは置いといて、>460見てきました、俺が考えてるのより遥かに高度だった。
ただログ形式から弄るとbbs.cgiを大幅に書き直す必要があるんで、時間が掛かりそう。

今すぐ実装しようと思うとread.cgiの対応だけでなんとかしたいんだけど、「あぼーん」
されるとdat上はどうなるんでしょう?
もし「あぼーん」をdat上で判別可能なら、read.cgiが単独で「あぼーん」されたレス番号
を検索してクライアントに送り返す事ができるんですが・・・・・
どっちみちレス番号1から全部クライアントに送信するのなら、CPU不可自体はそれほ
ど変化しないような気がするんですけど、どうでしょう?

475 :♯6411 :01/08/30 21:59 ID:RSyGf5Ac
>>474 read.cgi単体での
あぼーん検出は
ただいま実装検討中す。

476 :|  - -) :01/08/30 22:09 ID:PugAduiM
>>474
あぼーんはread.cgiで検出できるとして、透明あぼーんはどうするの...?

477 :デフォルトの名無しさん :01/08/30 22:14 ID:QRQ7bTkg
>>476
 今は全部のデータを読んで頭から改行の数を数えているから
 透明あぽーんの方がどっちかいうと処理し易いんじゃない

478 :デフォルトの名無しさん :01/08/30 22:17 ID:hlW8zoEo
>>468 マージしてちょ。

479 :デフォルトの名無しさん :01/08/30 22:20 ID:Np0La3X.
>475
了解です、既に検討中だったんですね、ちと恥ずかしい(´д`;)
read.cの1027行にあぼーん検索関数を割り込ませて、あぼーんレス
番号を表示させればいいのかな?

>476
透明あぼーんってクライアント側で実装してるんだと思ってたんだけど
read.cgiと関係あるの?
何か基本的なところで、俺は間違ってるのかも?(´д`;)

ふと気付いたんですが、cgi経由でdatを読むのなら、サイズとレス番号
が不一致でも問題ないような・・・・・

480 :♯6411 :01/08/30 22:21 ID:RSyGf5Ac
>>479 透明あぼーんは、
.datからエントリがごっそり消え失せるものと
認識してます。

481 :名無し娘。 ◆vP.bOZFQ :01/08/30 22:25 ID:QPVBUxP6
>>479-480
ええ、そのはずです>透明

専用ブラウザはdatの差分を採ります。
しかし、すでに専用ブラウザが取得済の部分であぼーんがおこった場合は、
差分だけ採ってもあぼーんがわからずじまいになりますし、透明あぼーん
だともっと悲しいことになるかも。
それを回避するために、サイズとレス番号。

482 :|  - -) :01/08/30 22:25 ID:PugAduiM
>>468
done.

>>469
とりあえずどんな場合でもatexit(atexitfunc());されるようにしてみました。

>>479
多分透明あぼーんはそのデータ1行が丸ごと削除されるものと思われ。

483 :デフォルトの名無しさん :01/08/30 22:29 ID:hlW8zoEo
>>482
さんくす

484 :デフォルトの名無しさん :01/08/30 22:35 ID:hlW8zoEo
>>482
1537行目のとこ、
fflush(stdout); close(1); っているのかしら?
waitpid()は if (gzip_flag) で括るべき。

if (gzip_flag) waitpid(pid, NULL, 0);

485 :デフォルトの名無しさん :01/08/30 22:38 ID:7PExlRw6
後始末無視さんせー。

readSettingFile()の最初を
  ・・・
  char *endp;
  struct stat st;
#ifdefUSE_MMAP
  void *mmptr;
  fstat(fd, &st);
  mmptr = mmap(NULL, st.st_size, PROT_READ, MAP_SHARED, fd, 0);
#else
  char mmptr[8192];
  st.st_size = read(fd, mmptr, sizeof(mmptr));
#endif
にして、
最後の #ifdef-#endif は、ばっさりカットしましょ。

それと、
zz_GetEnv()の
  localtime_r(&t_now, &tm_now);
を勝手にlocaltime()にしちゃってました。ごめんなさい(家で動かないんで)。

486 :さくーしゃ@マカー用。 :01/08/30 22:39 ID:i89NKQig
現在,RAWOUT って有効になってますか?

>>450 のURLでためしてみたんですけど,text/html でかえってきてるみたいなんです。。。?

487 :デフォルトの名無しさん :01/08/30 22:44 ID:Np0La3X.
>480-483
かちゅーしゃの透明あぼーんとゴッチャになってました。ご教授感謝です。
エントリごと消え去るんですね、ってことはスレ番号もズレるのか・・・・
read.cgi単独での検出は難しそう(汗

>481
問題を理解できました。
透明あぼーんが挟まると発言を取り漏らすってことですね。

335KB
新着レスの表示

スレッドリストへ戻る 全部 前100 次100 最新50

0ch BBS 2004-10-30