■スレッドリストへ戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 最新50
read.cgi改良スレッド
- 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
 問題を理解できました。
 透明あぼーんが挟まると発言を取り漏らすってことですね。
 
 
- 488 :♯6411 :01/08/30 22:48 ID:RSyGf5Ac
-  >>458 のサンプル、見てくれをいじった。 
 さくっとやったので、ところどころおかしい
 (それどころか根本的におかしい)けど、
 いい感じではないかな?
 
 >>486
 rawoutって、運用で動いてなかったんじゃなかったっけ。
 http://www.psychedance.com/test/read.cgi/tech/
 こっちは最新版なので、よかったら検証してもらえます?
 
 
- 489 :|  - -) :01/08/30 22:55 ID:PugAduiM
-  >>484 
 gzipが終了するためには入力ストリームを閉じないといけません。
 gzip_flagで囲むようにはしました。
 
 >>485
 done.
 
 >>450
 ?raw だとだめです。
 ?raw=0.0 ならうまくいきます。
 (仕様です)
 
 
- 490 :|  - -) :01/08/30 22:57 ID:PugAduiM
-  事故レス >>489 
 入力ストリーム → gzipの入力ストリーム
 つまりread.cgi側の出力ストリームです
 
 
- 491 :♯6411 :01/08/30 22:57 ID:RSyGf5Ac
-  >>466 
 >>470
 どうやらエンバグで、
 現行形式でも仕様通りに動かないもよう。
 
 
- 492 :デフォルトの名無しさん :01/08/30 23:03 ID:hlW8zoEo
-  >>490 了解。確かにcloseせないけませんね。 
 
 
- 493 :test :01/08/30 23:19 ID:HEIfwNwk
-  test 
 
 
- 494 :♯6411 :01/08/30 23:35 ID:RSyGf5Ac
-  >>491 修正してみました > |  - -) 
 
 
- 495 :|  - -) :01/08/30 23:42 ID:PugAduiM
-  >>494 
 ls=1のときはnofirst=true強制ですね。
 それでいいと思います。
 
 
- 496 :デフォルトの名無しさん :01/08/30 23:47 ID:N/.0WZiw
-  to>st な場合の表示はどうするんですか? 
 
 こういう場合。
 http://www.psychedance.com/test/read.cgi/tech/998921988/20-10
 
 
- 497 :♯6411 :01/08/30 23:48 ID:RSyGf5Ac
-  >>496 元の仕様でもよろしくなかったような 
 気がするんですが…救済した方がいいかしら?
 
 
- 498 :デフォルトの名無しさん :01/08/31 00:07 ID:pEodOMrQ
-  >497 
 言っておきながらなんですが、
 今の仕様が一番サーバに優しそうなのでそのままで良いかも。
 
 色々試すと面白い…
 http://www.psychedance.com/test/read.cgi/tech/998921988/0-0
 http://www.psychedance.com/test/read.cgi/tech/998921988/0-1
 http://www.psychedance.com/test/read.cgi/tech/998921988/-5-1
 
 
- 499 :デフォルトの名無しさん :01/08/31 00:08 ID:pEodOMrQ
-  日付変わったせいで ID も変わってるけど 496=498。 
 
 
- 500 :♯6411 :01/08/31 00:10 ID:WLvR5P8o
-  >>498 いろいろ試されると、 
 解析アルゴリズムがバレちゃうね。
 
 とはいってもソース公開されてるし(w
 
 
- 501 :デフォルトの名無しさん :01/08/31 00:15 ID:PS9zdCQg
-  今の状況じゃ、転送量にやさしければ、なんでもいいでしょ。 
 
 
- 502 :♯6411 :01/08/31 00:46 ID:WLvR5P8o
-  新仕様 
 >>数字 のレスリンクの、リンクさせ方を変更。
 chunk単位で取りにいくようになります。
 キャッシュ効率の向上が期待…できるといいな。
 
 
- 503 :名無しさん :01/08/31 01:44 ID:1YfH/xHU
-  >>489 
 >  >>450
 >  ?raw だとだめです。
 >  ?raw=0.0 ならうまくいきます。
 
 試してみたんですがうまくいきませんです…
 
 
- 504 :デフォルトの名無しさん :01/08/31 01:47 ID:MkV83E8o
-  URLの自動リンクを無効にするというのは既出ですか? 
 
 
- 505 :デフォルトの名無しさん :01/08/31 01:54 ID:HfubHdvY
-  read.cgiが吐き出すデータの先頭2kbがスペースというのは既出ですか? 
 
 
- 506 :デフォルトの名無しさん :01/08/31 01:56 ID:6a8y9j3k
-  >>505 
 gzip転送の定説です。
 つーかIE4が悪いのか IE5以上でも起きるの?
 
 
- 507 :|  - -) :01/08/31 01:58 ID:W1MB8EFM
-  >>503 
 えーっと、現在のバージョン(5.10)には入っていません。
 http://www.psychedance.com/test/read.cgi/tech/998921988/?raw=0.0
 で試してみてください。
 
 
- 508 :♯6411 :01/08/31 01:59 ID:DT2vnGqI
-  >>504 がいしゅつなんだけど、結論は 
 どうなったか忘れた。条件に応じて
 削る(というよりはリンクしない)ことは、
 やろうとおもえばすぐできるけど。
 
 >>505 稼働中のバージョンではやむを得ず
 そうなってる。実際のところ、転送量は
 10数バイトしか増えてない。
 最新バージョンではすでにスペースを吐かなく
 なっている。
 
 
- 509 :名無し娘。 ◆vP.bOZFQ  :01/08/31 02:00 ID:s8ksSf.2
-  >>489 
 ぺこぺこ
 >>506
 うちのIE5だとだいじょうぶ
 >>507
 うまくいったです
 
 
- 510 :♯6411 :01/08/31 02:03 ID:DT2vnGqI
-  >>506 IE5.5でも起きる。 
 バグなのか正しい仕様なのかつかみ切れていないけど、
 Transfer-Encoding: chunked
 Content-Encoding: gzip
 Content-Length: ナシ
 のときに、展開したストリームの頭2048バイトを
 きっかり無視する…
 
 
- 511 :♯6411 :01/08/31 02:04 ID:DT2vnGqI
-  >>509 う、漏れの手元で見たヘッダ欠けは 
 幻だったのか…鬱だ
 
 
- 512 :デフォルトの名無しさん :01/08/31 02:15 ID:PS9zdCQg
-  index2.cgiがあったら、掲示板に戻るをindex2.cgiを呼ぶようにする。 
 
 html_head()で、
 
 char fname[1024];
 
 sprintf(fname, "../%.256s/index2.cgi", zz_bs);
 if ( access(fname,S_IXUSR) == -1 )
 pPrintf(pStdout,
 R2CH_HTML_HEADER_1("%s", "/%s/index2.htm%s"),
 title, zz_bs, gzip_flag ? "" : "l");
 else
 pPrintf(pStdout,
 R2CH_HTML_HEADER_1("%s", "/%s/index2.cgi"),
 title, zz_bs);
 
 あと、1758行目 dat_out(); だけど dat_out(0); じゃない?
 
 
- 513 :506 :01/08/31 02:16 ID:6a8y9j3k
-  >>510 
 mod_gzipはどうやってるのかのう。
 ちょっと調べてみよう。
 
 
- 514 :♯6411 :01/08/31 02:20 ID:DT2vnGqI
-  >>513 T-E: chunkedを吐かない、のが大きな違いのようだ 
 
 
333KB
新着レスの表示
スレッドリストへ戻る 全部 前100 次100 最新50
0ch BBS 2004-10-30