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

プログラマが2chを救う!?2

1 :デフォルトの名無しさん :01/08/27 02:05 ID:X39t/WHk
2chの読み出し[read.cgi]の最適化、効率化を中心に検討・開発しています。
このスレッドへのご感想・不具合報告の投稿はお控えください。

読み出しがうまくいかない・エラーなどの不具合報告はこちら
・2chの動作報告はここで。
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=998808733

現状へのご意見ご感想はこちら
・転送量(料)の増加で2ch閉鎖の危機!5
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=998806470

緊急対策コーディングはこちら
・UNIX板で2chのプログラムを開発中 パート 3
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=998765190

・開発用wiki(ソースなどの掲載があります)
http://www.gedoh.org/aki/2ch/wiki/yukiwiki.cgi?TopPage

185 :名無し :01/08/27 07:32 ID:qLoKy9Cw
>>183
おつかれ〜。またね〜。

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のせいで、爆発的にリロード増えているわけですから。
あれやめないと、正確な帯域使用量測れませんよね?

188 :デフォルトの名無しさん :01/08/27 07:50 ID:0cm50H8s
ってか *.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
出来そうな方、いっぱいらっしゃいますね。
深刻な状況なので、一刻も早く「実行」お願いします。

190 :デフォルトの名無しさん :01/08/27 08:02 ID:u5bJd0N.
とりあえず、プログラム技術板の住人がやることは無くなった
って事っすね。

191 :名無し :01/08/27 08:03 ID:qLoKy9Cw
弐ch編者のところでスクリプト配布してますよ。

Mega BBSですけど
http://www.megabbs.com/

192 :デフォルトの名無しさん :01/08/27 08:04 ID:plW.7Hb6
>>191
そこは参考にならないよ。perlだし、内容も、その……だし。

193 :音楽侍 ◆NtVkSITE :01/08/27 08:07 ID:cn52pBwI
別板建ててbbs.cgiの要求仕様だしでもやりますか?
それとも、このあたりでいったん、一件落着しますか?

194 :デフォルトの名無しさん :01/08/27 08:11 ID:0cm50H8s
オレ 数年前に掲示板のCGI自作したことがあって その時当初
投稿者名・日付・本文等を全部JavaScriptの文字列で定義しちゃって
document.write()で書き出す(URLの自動リンクもJavaScriptでやる)
ってな感じで作ったことがあるんだけど......でも 自分のとこの環境だと
ちゃんと動くのに 実際に公開して動かしてみるとちゃんと見られないという人が
出てきてしまって......どうも古いブラウザだとJavaScriptの実装がクソだったり
するみたいで それは結局やめて普通にプログラム側でHTML出力するように
したということがあったけど

まぁ当時に比べれば古いブラウザの利用者はかなり少なくなってるだろうから
今ならその手でそこそこ行けるかも知れないけど でもブラウザの種類/
バージョン/プラットフォーム等によって微妙にJavaScriptの実装が
違ってたりして それをちゃんとfixさせるのも結構大変なんだけどね

もし仮にこれでやればタグなんかはJavaScriptで生成させればいいから
その分テキスト量が減るだろうけど でもJavaScriptを扱えないブラウザの
ユーザには結構つらくなってしまうかも......

195 :デフォルトの名無しさん :01/08/27 08:24 ID:rjIkZc/I
ヘッダとフッタとバナーがハードコーティングってのはかっこわるい
から別ファイルにするってのはどう?

196 :デフォルトの名無しさん :01/08/27 08:33 ID:plW.7Hb6
>>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アドレスをハッシュか?

205 :デフォルトの名無しさん :01/08/27 09:43 ID:Xn1S81fE
>>160
AgentのAccect-Encodingによる送出ファイル振り分けなら
わざわざCGIでやらなくてもmod_negotiationで簡単に出来ますよね。
Baseモジュールですし。

206 :192=196 :01/08/27 09:45 ID:plW.7Hb6
>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側の窓口ってのもちょっとね

208 :デフォルトの名無しさん :01/08/27 09:49 ID:pleuTSSw
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
>手間をとるか、負荷をとるか、は運営側の判断。で手間を
>取ったのでしょう。
ん?負荷を取ったのか?
「手間をかけても負荷を軽減する方を取ったのでしょう。」に訂正。

211 :デフォルトの名無しさん :01/08/27 09:51 ID:pleuTSSw
Cで焼き直すなら 叩き台にはなると思います
所謂流失版を改良したものです

212 :デフォルトの名無しさん :01/08/27 09:53 ID:Xn1S81fE
>>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
流出版ってキャップのパスもハードコーディングみたいだね。
さすがに試してみたら駄目みたいだったけど。

215 :デフォルトの名無しさん :01/08/27 09:57 ID:95LP96f6
>>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
打ち切りじゃ何も解決しないよ。
前向きな前者希望。

222 :デフォルトの名無しさん :01/08/27 10:04 ID:pleuTSSw
もう書いちゃえ
http://corn.2ch.net/test/read.cgi?bbs=php&key=998794497

トリップとID生成ルーチンは2日前の時点では追従していた(同じだった)
と思います。
後、人の事は言えませんがこっちも 穴埋めのダメ出しはなるべくperl見れる人
でやった方が良いと思います

223 :デフォルトの名無しさん :01/08/27 10:06 ID:pleuTSSw
17さん見てないかなあぁ、、他力本願
僕も時間は有るのでバク取りには、協力させてもらいます

224 :デフォルトの名無しさん :01/08/27 10:08 ID:19Gxyyi6
>>203
配付された人には動いてほしいっす。

225 :17 :01/08/27 10:09 ID:sC1iFaC6
はいよ


http://mankomankomanko.virtualave.net/bbs.txt
http://mankomankomanko.virtualave.net/config.txt
http://mankomankomanko.virtualave.net/make.txt
http://mankomankomanko.virtualave.net/pageview.txt
http://mankomankomanko.virtualave.net/pass.txt
http://mankomankomanko.virtualave.net/read.txt
http://mankomankomanko.virtualave.net/remake.txt
http://mankomankomanko.virtualave.net/setting.txt


17スクリプト
http://www.apc.7777.net/file/bbs2ch/16a.zip

226 :デフォルトの名無しさん :01/08/27 10:10 ID:pleuTSSw
わぁ。。。17さん有難う御座います
勝手に紹介しちゃってすみません (_ _)

227 :デフォルトの名無しさん :01/08/27 10:18 ID:59Wm4exU
そういや、chunkedエンコーディングって手つかずか?
あれも微妙に転送料増やすはず。
Content-Length吐かせる必要があると思うが。

228 :369 ◆3XTuRnAc :01/08/27 10:33 ID:xXHglqmc
仮眠から帰ってきました。

もし作業場所が必要でしたら、例によってftp用意してますので
ご自由にお使いください。

ftp://210.170.170.131/incoming/

229 :♯6411 :01/08/27 10:51 ID:gosrhFCs
書き直しをたくらんでる方々にアドバイスしとくけど、
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をいれたい・・・

231 :Perler ◆GSi39OA6 :01/08/27 10:58 ID:95LP96f6
>>215も私です。おっちょこちょいですみません。

Content-Length吐かせる必要があるなら、メモリにgzipの結果を溜め込むか/tmp/
あたりに一旦ファイルをスプールさせる必要がありそうですね。。。
負荷が全く問題にならないのであれば、gzipを、1回目はサイズのカウント専用に起動
して、Content-Lengthヘッダ出してから、もう一回gzipを起動するというアクロバットも考えられますが。

232 :VC++まだ箱のなか厨房(w :01/08/27 11:01 ID:xxtDczmQ
>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と圧縮結果を吐くように改造するとか。

237 :デフォルトの名無しさん :01/08/27 11:18 ID:59Wm4exU
>>233
gzio.cみれば分かると思うけど、。
zlibに特殊な初期化を施して、gzipのヘッダをつければいい。

238 :デフォルトの名無しさん :01/08/27 11:24 ID:kQSWx7uc
IEはヘッダにはAccept-Encoding: gzip, deflateと含めているにも
関わらず、実際にdeflateでエンコードしたデータを喰わせても
解釈できないです。

239 :Perler ◆GSi39OA6 :01/08/27 11:24 ID:95LP96f6
index2ををアップしました。

ftp://210.170.170.131/incoming/perler/index2.c.1

index2.c.1は何度か上書きしてるので、ダウンロードした人も
ファイルサイズ比較して確認してください。

私の環境では動いていますが検証をお願いします。

240 :デフォルトの名無しさん :01/08/27 11:26 ID:59Wm4exU
あれ?それって、mod_negotiation(標準モジュール)つかえば、
負荷も少なくていいね、って話になってなかった?

241 :デフォルトの名無しさん :01/08/27 11:28 ID:yk7J4mpk
不具合報告ココでいいよね?(汗)
>208 名前:名無しさんの声 投稿日:01/08/27 11:11 ID:yk7J4mpk
>なんか掲示板おかしくない?
>11〜3時まで読み込めませんってのが今出てきた
>!=と==を間違えてないでしょうか?(苦笑)
>板はココ
http://ton.2ch.net/test/read.cgi?bbs=sec&key=998320408

242 :デフォルトの名無しさん :01/08/27 11:30 ID:ESi5jL8g
サーバー側負荷軽減はこっちでもやってるみたいです。
http://www.gedoh.org/aki/2ch/wiki/yukiwiki.cgi?mycmd=read&mypage=TopPage

現状では回線負荷軽減の方が優先かもしれないですが…。

243 :デフォルトの名無しさん :01/08/27 11:31 ID:95LP96f6
>>240
AllowOverrideされてるかどうか確かじゃない。
それと、index2.cはIf-Modified-Sinceに対応してる。
というか、そっちの方が肝心。

244 :デフォルトの名無しさん :01/08/27 11:32 ID:kQSWx7uc
>>241
がいしゅつです。read.cgiが入れ替われば直ります。
ついでに不具合報告は板違い。

245 :デフォルトの名無しさん :01/08/27 11:34 ID:pckFEAaY
feof()でエラーチェックは無しですか >index.c.1

246 :Perler ◆GSi39OA6 :01/08/27 11:35 ID:95LP96f6
>>242
サーバー側負荷は余裕があるそうですし、gzip対応しても負荷はほとんど変わらなかった
みたいですからね。。。
サーバー負荷は負荷軽くしても、2chの危機にはあまり貢献出来ないのかもしれない。

247 :デフォルトの名無しさん :01/08/27 11:44 ID:Xn1S81fE
>>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を改造しないと・・・

249 :デフォルトの名無しさん :01/08/27 11:54 ID:79V5c8UI
bbs.cgiはセキュリティ上の問題から、多分公開されないと思います

250 :Perler ◆GSi39OA6 :01/08/27 11:56 ID:95LP96f6
>>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
>>249
>>178
管理側の見解
>>225
流出スクリプト・17さんによる改造(書き直し)

253 :♯6411 :01/08/27 12:19 ID:Gdy5fRSM
>>238 そうダったのか、なんてこったい、ファック!

254 :Perler ◆GSi39OA6 :01/08/27 12:21 ID:95LP96f6
>>251
了解です。
動作検証してみた人はまだいませんか?
>>250
read.cへのContent-Encoding: gzipの実装だな。書き間違いです。

255 :♯6411 :01/08/27 12:26 ID:Gdy5fRSM
>>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 してもらえると。
(本来は逆だ…)

256 :デフォルトの名無しさん :01/08/27 12:37 ID:kQSWx7uc
>>255
一時期はindex.html.gzだったけどダメだったよ
index.htmlがあるとindex.html.*は見に行かない仕様みたい>mod_negotiation

257 :仕様無しさん ◆NwLv.g/w :01/08/27 12:43 ID:ilyBDhYw
read14.2からHTML部分をヘッダに追い出したものを作って
 ftp://210.170.170.131/incoming/2ch-read-current/read14.2.1.c
 ftp://210.170.170.131/incoming/2ch-read-current/r2chhtml.h
置いときました。

258 :デフォルトの名無しさん :01/08/27 12:45 ID:Xn1S81fE
>>256
当然、そう設定しなきゃ見に行きませんよ。
.htaccessなり、httpd.confなりで

259 :デフォルトの名無しさん :01/08/27 12:53 ID:kQSWx7uc
>>258
デフォルトでそうなってるはずだけど
汎用サーバなんでしょ?

260 :♯6411 :01/08/27 12:54 ID:Gdy5fRSM
>>258 あーそうだった。
漏れも設定ちょっといじった記憶があった。
フォローさんくすー。

261 :デフォルトの名無しさん :01/08/27 12:57 ID:kQSWx7uc
それから「たとえ設定してあっても」index.htmlがあると
index.html.*は見に行かない。見に行くのはindex.html
がない場合のみ。

262 :  :01/08/27 13:20 ID:xheJAhZs
ガイシュツだったらすまんが、クッキーの処理を
CGIの方でやればJAVAScriptの分だけ削れると思うがどうだろ?

263 :デフォルトの名無しさん :01/08/27 13:24 ID:kQSWx7uc
せっかく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
新しいリンク方法を提案します.
これなら,かなりリンクの消費バイト数を減らせると思うのですが,いかがでしょ?

基本的に,数字は62進数になおします.
これで,3843 記事目までは2桁で表記できます.

スレ全体の指定は
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998845501
http://piza2.2ch.net/read.cgi/tech/998845501/

のように,PATH_INFO を使用するようにします.
こうすると,BASE指定などしなくても,記事番号だけでリンクが張れます.
記事番号の指定は以下のような感じで・・・

記事番号を指定する場合
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998845501&st=4&to=4&nofirst=true
http://piza2.2ch.net/read.cgi/tech/998845501/4
記事番号だけを書く.
リンクは,a href=4 で張れる.

記事番号を範囲で指定する場合
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998845501&st=4&to=6&nofirst=true
http://piza2.2ch.net/read.cgi/tech/998845501/4.6
開始と終了を . で区切る.

最新n記事は,
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998845501&ls=50
http://piza2.2ch.net/read.cgi/tech/998845501/-o
-50 のように指定.

index2.htmlなどから,一定範囲を表示し,nofirst=false にあたる場合は,
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998845501&to=100
http://piza2.2ch.net/read.cgi/tech/998845501/,1c

http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998845501&st=101&to=200
http://piza2.2ch.net/read.cgi/tech/998845501/1d,3e

このように , で区切る.
0 の場合は省略可能.

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
無限ちゃんねるへようこそ
http://pesuo.hypermart.net/kkk/index2.html

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);
}

271 :デフォルトの名無しさん :01/08/27 14:00 ID:kQSWx7uc
>>267
LocationよりBASE hrefで新方式のパスを指定してそのまま出力したほうが
よくありませんか? リダイレクトするとリクエストの回数が2倍になるので。
しかしよく思いつくなあ。

272 :Perler ◆GSi39OA6 :01/08/27 14:01 ID:95LP96f6
>>266
PATH_INFOはいい案ですね。
62進法は、ドットとアンダースコア辺りを足して、64進数の方が6ビットずつ取り出す
だけなんで、計算が簡単な気がする。

273 :Sherry ◆RKMbxbuc :01/08/27 14:02 ID:P7yLS.2Q
>>271
確かにそうですね.(^^;
そちらの方向の方が良さそうです.

274 :デフォルトの名無しさん :01/08/27 14:03 ID:yw5i/z86
■掲示板に戻る■ がindex2.htmlなんだけど、gzip受け付ける奴には
index2.htmを渡したほうがいいじゃない。
圧縮されてるのは、htmの方だよね。

275 :デフォルトの名無しさん :01/08/27 14:20 ID:pckFEAaY
>>272
dotは範囲指定と被るから別の記号で

276 :デフォルトの名無しさん :01/08/27 14:34 ID:kQSWx7uc
62進数は手動指定がほとんど不可能になるんでちょっとやりすぎな
気がします。
冗長性が少なくなる分圧縮が効きにくくなるので圧縮を掛ければ
ほとんど変わらないのでは。
あと、「.」と「-」の意味を入れ替えることを提案します。
>>4-6のリンクは「4-6」であるほうが直感的に分かりやすいでしょう。

277 :デフォルトの名無しさん :01/08/27 14:37 ID:iuwjXswY
範囲指定はハイフンを使った方がわかりやすくていいですね。
そうなると最新記事の記号を変えなくちゃいけませんが、 "+" でどうでしょう?

278 :デフォルトの名無しさん :01/08/27 14:42 ID:CbLq.TAQ
+だとエンコーディングでスペースになっちまわねえかい?

279 :デフォルトの名無しさん :01/08/27 14:45 ID:kQSWx7uc
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進なり
しちゃって良いと思います.こちらはコピペで使うと思うので(^^;

282 :デフォルトの名無しさん :01/08/27 14:54 ID:kQSWx7uc
現在の「>>番号」によるリンクを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日+半日の作業の反動で、めちゃめちゃ具合悪いです。
さっきまで寝込んでて、まだ具合が回復しないんで、さらに寝込みモードに入ります。
サーバーは立ち上げっぱなしにしておくので、どうぞお使いください。

285 :デフォルトの名無しさん :01/08/27 15:12 ID:kQSWx7uc
拡張子が.cgiじゃなくなると、ロボットのクロールの対象に
なって、ロボットからのアクセス量が半端じゃなく増加する
可能性もありますが…。

286 :デフォルトの名無しさん :01/08/27 15:20 ID:U3BzOc.o
>>285
それはrobots.txtで制限。

287 :名無しさん@揚げ足 :01/08/27 15:22 ID:2Ibh3ubo
かちゅーしゃが、アボーン時.dat全部読み直すケースですが、
アボーンされた番号を別ファイルで持つってのはだめですか?
別ファイルを読み込んで、かちゅーしゃ側でアボーン処理する

288 :デフォルトの名無しさん :01/08/27 15:28 ID:plW.7Hb6
>>287
それをするぐらいなら、前の方にも話が出ているけど、
各レスの位置を記録したインデックスファイルを作る方が、
いいと思う。というか、bbs.cgiに絡む話だよ。bbs.cgiは公開
されないから、手の出しようが無い。

289 :デフォルトの名無しさん :01/08/27 15:28 ID:0cm50H8s
>>287
ってか datファイル中の指定された記事番号の行だけ返すCGI作るってのも
いいかも

290 :デフォルトの名無しさん :01/08/27 15:30 ID:kQSWx7uc
>>289
その案に賛成。その方法なら途中からでもgzip圧縮したものが取得できる。
欠点は透明あぼーんがあっても検出できないこと

291 :デフォルトの名無しさん :01/08/27 15:34 ID:7DytoZz2
2chサーバ上のCGIは、HTMLを返さず、
XML-RPC でリクエストを受け付けるというのはどうでしょう。

データ転送量、処理ともに軽くなるのでは。

292 :名無しさん@揚げ足 :01/08/27 15:34 ID:2Ibh3ubo
>>288
インデックスファイルだと新規レスでも更新されちゃいませんか?
アボーン時に更新されるファイルだと、その時だけの読み込みができると思う

293 :デフォルトの名無しさん :01/08/27 15:36 ID:kQSWx7uc
そういうブラウザで見ることをまったく考えない話題ならこっちでは
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=990334284

294 :デフォルトの名無しさん :01/08/27 15:36 ID:kQSWx7uc
293は>>291です。

295 :291 :01/08/27 15:42 ID:7DytoZz2
>>293
失敬、似スレがすでにありましたか。
そっち行きます。

296 :デフォルトの名無しさん :01/08/27 15:49 ID:plW.7Hb6
>>292
インデックスファイルってのは、現行のread.cgiではls=1でも全てのdatを読み込んでから
処理をする、という無駄な処理を回避したい、というのがある。インデックスファイルは
基本的にかちゅ〜しゃ等の専用UAからはアクセスさせずに、read.cgiからのみ使用する
様にして、専用UAは>>289氏が提案したcgiを介して新規レスを取得するようにすれば
良いのではないか。
>>290
透明あぼ〜んは、問題だあ。datの各行の先頭(末尾でもいいや)に連番でも埋め込めな
いかなあ。dat取得時に検出できるように。

297 :デフォルトの名無しさん :01/08/27 15:54 ID:QCZ/pGb.
今は突貫工事が一段落着いたから
夜勤さん待ちって事ですか?

298 :名無しさん@揚げ足 :01/08/27 15:58 ID:2Ibh3ubo
>>296
インデックスの件了解しましたマシン負荷の話だったのですね
ただ>>289氏のcgi案でもアボーンしたレスをUAが取り込めないのではないでしょうか?

299 :デフォルトの名無しさん :01/08/27 16:05 ID:plW.7Hb6
>>298
UA内部に既に取り込んでしまったあぼ〜んを検出できないってのは
その通りだなあ。そこはユーザに自主的にツール内であぼ〜んして
もらうとか……ダメか。

300 :デフォルトの名無しさん :01/08/27 16:11 ID:CSUZ8fsE
>>299
ad hoc な対策としては、どの記事があぼ〜んされたのかを知らせる cgi を
作るっていうのはあるかな?

301 :デフォルトの名無しさん :01/08/27 16:15 ID:plW.7Hb6
個人的には、いったん自分の掌中に入った情報を、
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);

303 :デフォルトの名無しさん :01/08/27 16:18 ID:kQSWx7uc
現在ツール側がやっているあぼーん検出をCGIにやらせるという案を
考えてみました。
・ツールはCGIから受け取ったログの長さを合算して、現在の取得サイ
 ズを覚えておく。
・差分取得のときは、開始レス番号と終了レス番号に加えて現在の
 取得サイズを一緒に渡す。
・CGI側で現在の取得サイズを調べ、現在の取得サイズの1バイト前が
 改行でなかったらあぼーんが発生したとみなし、全レスを返す。
・現在の取得サイズはあぼーんの検出にのみ使い、あぼーんされてい
 なかったら指定された範囲のレスを返す。

304 :デフォルトの名無しさん :01/08/27 16:37 ID:U3BzOc.o
>>303
・CGI側で現在の取得サイズを調べ、現在の取得サイズの1バイト前が
 改行でなかったらあぼーんが発生したとみなし、全レスを返す。

それだと偶然改行があるとミスするから、渡されたサイズと
一つ前の番号のレスが終了している場所が一致しているかど
うか、ぐらいはやってもいいんじゃないかな。

それでも偶然の一致の可能性は残るが。

305 :♯6411 :01/08/27 16:53 ID:Gdy5fRSM
あぼーん問題。
あぼーん処理は、マーキングするだけにすれば、
.datは増えていくことはあっても縮んだりすることは
ないので、mmap()とかで処理がやりやすいんだけどねー。
もちろんあぼーんマーキングには、時刻(time_t)を
入れとくのです。
段階的にあぼーん処理を変更してくことって、
できないかしら?

306 :デフォルトの名無しさん :01/08/27 17:01 ID:qeolEtH2
個人情報なんかの理由であぼーんされるときには、
ログ上から完全に消す必要があるから、他で消す
ようにするのは不可能では?

むしろあぼーん情報を取得させて、専用ソフト側で
ローカルなログとのあぼーん同期処理をするとか。

307 :デフォルトの名無しさん :01/08/27 17:03 ID:plW.7Hb6
>>305
あぼ〜ん処理を、「あぼ〜ん」と置き換えるのではなく、特定の文字、
それもキーボードから入力できない文字(たとえば0xffとか)で上書き
するってのはどうだろう?
そうすればdatは単調増加を保証する事が出来る。

308 :デフォルトの名無しさん :01/08/27 17:06 ID:plW.7Hb6
あ、過去ログのあぼ〜ん検出は、考えてません。(藁

309 :デフォルトの名無しさん :01/08/27 17:08 ID:plW.7Hb6
もういっちょ。自己レス
>上書きするってのはどうだろう?
同じ長さだけ、上書きって事ね。

310 :♯6411 :01/08/27 17:12 ID:Gdy5fRSM
>>307 それでいいとおもう。
実際の改造手順としては。
0) あぼーん新仕様の提示、決定
1) read.cgiに新仕様を実装
2) あぼーんツール(?)を新仕様に従って改変
3) この時点で.datの半固定レコード化が決定される
4) ウマー

仕様に要求されるもの
・ログの保全。証拠隠滅のため、レコードを塗りつぶす必要蟻。
・消去した時刻を保管。L-Mを吐くために必要。time_tに準ずる情報で構わない。

311 :デフォルトの名無しさん :01/08/27 17:13 ID:CSUZ8fsE
>>306
外からの access 不能な dat file を用意しておいて、
access 可能な dat file はその file それから生成するようにする
っていう手もあるかな。

312 :仕様無しさん ◆NwLv.g/w :01/08/27 17:12 ID:ilyBDhYw
キーボードから入れられない文字列である必要はないのではないかな。
マーク付けを利用して、
"+本文でーす。" −あぼーん→ "-〓〓〓〓〓〓"
みたいな感じで。

313 :デフォルトの名無しさん :01/08/27 17:17 ID:U3BzOc.o
ついでにあぼーん時に発言同様に末尾にレコード追加できれば
差分取得ツールでもあぼーんに気づけるね。

314 :♯6411 :01/08/27 17:21 ID:Gdy5fRSM
>>313 それいいね。

315 :♯6411 :01/08/27 17:26 ID:Gdy5fRSM
ところで、各鯖のストレージ容量は
問題ないんでしょか? ファイルをいくつか
書き出してもいいのであれば、
問題解決に対するいい案がある。
(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
>>307
単に半角スペースが良いのでは?

318 :♯6411 :01/08/27 17:34 ID:Gdy5fRSM
>>316 日時のところ、削除日時にすると、
いろんな処理が融通利くと思われ。

319 :デフォルトの名無しさん :01/08/27 17:39 ID:plW.7Hb6
>>318
だね。

あと、マークだけど、行頭の+とか-でせずとも、現在使用している
セパレータ<>は最初の<しか見てないみたいだから、最初のセパレータ
を<-とか<*とかする事で判別できるかもしれない。

>>317
それだと、名前欄とかに半角スペースを入れられたときに誤作動しないかなあ
と思ったの。もちろんマークにするなら、何でもいいよ。

320 :デフォルトの名無しさん :01/08/27 17:43 ID:guHZp8d.
転送量の増加って、いま急に始まったことじゃないんでしょ?
どうしてここにきて取りざたされてるの?

321 :デフォルトの名無しさん :01/08/27 17:43 ID:plW.7Hb6
名無しさん<>sage <>01/06/13 21:26<>暴露しろや、ゴルァ <>
##########<-#####<>998845501#####<>########### <>
名無しさん<>sage <>01/06/13 21:36<>↑削除依頼出しときました。 <>
2<*<><><>
名無しさん<>sage <>01/06/13 21:46<>お、早速あぼーんされてる <>

こんな感じかな。

322 :デフォルトの名無しさん :01/08/27 17:44 ID:U3BzOc.o
>>321
4行目のほうにも同じ削除日時があると、ツールでいちいち取りに行かなくてもよさげ。

323 :デフォルトの名無しさん :01/08/27 17:53 ID:kQSWx7uc
あぼーんの新仕様を提示して受け入れられるとは限らないから
従来フォーマットでなんとかする方法も検討しておいたほうが
よくない?

324 :デフォルトの名無しさん :01/08/27 17:53 ID:3qcMJ/2M
>>320
サーバー管理者が増加ペースを見誤るほどだったらしい

325 :デフォルトの名無しさん :01/08/27 17:54 ID:plW.7Hb6
>>319
自己レス、セパレータはちゃんと二文字目の'>'も見てた。失礼。
でも、これはread.cのちょっとした変更で対応可能だ。

326 :音楽侍 ◆NtVkSITE :01/08/27 17:56 ID:cn52pBwI
>>320
なんと回線の帯域使用料金が従量制だから。

327 :デフォルトの名無しさん :01/08/27 17:58 ID:plW.7Hb6
>>326
それは、非常に普通の事だと思うんだけど、BigServer側から
ひろゆきの方へ、ちゃんと伝わってなかったの?

328 :デフォルトの名無しさん :01/08/27 18:02 ID:cn52pBwI
>>327
まさか。
もうずっと話し合ってたけど、事が露呈したのは、26日に夜勤さんがスレで暴露、というか音を上げて、read.c公開したからだよ。
それまでずっと、「雑談系板つぶす」って言ってたんだけど。

329 :名無しさん@揚げ足 :01/08/27 18:02 ID:2Ibh3ubo
>>321
透明アボーンも対応するなら、別な文字も割り振っとこうよ'%'とか

330 :音楽侍 ◆NtVkSITE :01/08/27 18:02 ID:cn52pBwI
>328
ちょっと日にち間違ったけど、まぁそんな理由。
 

331 :デフォルトの名無しさん :01/08/27 18:03 ID:tM5s0/C.
>325
現時点ではHTMLのタグがdatに埋め込まれているので
'<'のみでは判別不可能です。

332 :デフォルトの名無しさん :01/08/27 18:05 ID:plW.7Hb6
>>331
そだね。すっかり忘れてたよ。バカだなあ>おれ
<* とか <% とかだったら大丈夫?かな?

333 :♯6411 :01/08/27 18:12 ID:Gdy5fRSM
>>329 透明あぼーんのことすっかり忘れてたYO

334 ::~名前() :01/08/27 18:15 ID:plW.7Hb6
>329
漏れも忘れてた。
でも、この方法で行くなら、透明あぼーんは別のマークを使うなどして、
read.cgiで処理しなきゃ仕方がないよね。
(コテハンにします。)

335 :♯6411 :01/08/27 18:20 ID:Gdy5fRSM
>>331 .datの中に埋め込まれる'<' '>' (< >ニ非ズ)は、
bbs.cgiのみが生成していて、
'<>'というシーケンスが他に現れないなら…
「最新レスnn」の処理はbinary search+αに
最適化できそうだなー。
番号指定はlinear searchじゃないとダメか…

実際Linuxの場合、mmapされたファイルはたいてい
ページキャッシュに残留してる…ことが期待されるんで、
無理にlinear searchを避けることもないかな。

336 :♯6411 :01/08/27 18:22 ID:Gdy5fRSM
>>335 (< >ニ非ズ)
&gt; &lt; って書いたつもりだったのに、
そのまま取り込まれちゃったよ…鬱だ

337 :デフォルトの名無しさん :01/08/27 18:27 ID:ZIaMkoUw
ほんとに夜勤さん待ちなの?

338 :Perler ◆GSi39OA6 :01/08/27 18:31 ID:95LP96f6
http://203.174.72.113/p2pcache/P2Pcache/frame.htm

における、P2P-chacheと似たもののベータ版が完成しつつあります。

これだけ分離して、

http://cocoa.2ch.net/test/read.cgi?bbs=unix&key=998764722

か、新しいスレで議論したいと思うのですが如何でしょうか?

ソースについては、幾つかのバグを潰した後公開します。

339 :音楽侍 ◆NtVkSITE :01/08/27 18:33 ID:cn52pBwI
>>338
新しいスレに賛成です

340 :うんこ12号 :01/08/27 18:33 ID:XsLanPR.
http://piza2.2ch.net/test/read.cgi?bbs=musicx&key=998676619&ls=100

IEのキャッシュが問題になっていますがもう織りこみ済ですか?

341 :デフォルトの名無しさん :01/08/27 18:34 ID:Oeqm.zBM
スレに書き込んだ人を特定する方法が、

ハンドルネーム
ID
キャップ
トリップ
fusianasan

e-mail

こんなに必要だとは思えません。
どれかを削るなり、この部分のシステムをシェイプアップすることはできませんか。

342 :デフォルトの名無しさん :01/08/27 18:35 ID:cn52pBwI
>>341
それはひろゆきに聞くべきでしょう

343 :名無しさん@揚げ足 :01/08/27 18:46 ID:2Ibh3ubo
read.cgiは塗りつぶしでいいとして、UA用に>>300が必要じゃないかな
UA側は1回/日とかで>>300を読んでアボーン処理を行うとか

344 ::~名前() :01/08/27 18:52 ID:plW.7Hb6
>343
一応、>316の方法で、新規レス取得時にあぼーんを検出出来るように
考えているつもりなのだが。

345 :名無しさん@揚げ足 :01/08/27 18:55 ID:2Ibh3ubo
頭ががdiff出力として解釈してた(恥
スマソ>>344

346 :♯6411 :01/08/27 19:01 ID:Gdy5fRSM
>>344 漏れは使ってない(ほっとぞぬ)ので
わからんのだが、新しいフォーマット導入したとき
かちゅーしゃ互換にできるだろーか?
それがちょっと心配。
まー切り捨てるってのは考えられるけど(w
あぼーんを塗りつぶす、まではかちゅーしゃとかでも
見ることができるんではないかと。

347 :名無し娘。 ◆vP.bOZFQ :01/08/27 19:03 ID:asPJm1Ug
みなさんお疲れさまです。
>>338
かなり規模の大きい話になってきましたから、「当然のこと」をきちんとまとめて、
各部を各スレに明示的に分散させると良いと思います。
・read.cgi最適化(従来との互換性を保ちつつ、新仕様の実装&バグとり)
・bbs.cgiの改善案
・bbs.cgiの作成?
・P2P-cacheの作成
大まかにわけるとこんなところですが、P2P-cacheの内部ではさらに分化もある
でしょう。
で、とにかく、各セクションが絶対に守るべき仕様を、まとめて掲げておくべき
だというのが、最もいいたいことです。
もしくは、最重点セクション以外は議論を凍結してしまった方が、むしろ
よいかもしれません(混乱を防ぐため)。
どうでしょうか。まとめてみますので、みなさんがよろしければ提示しますです。

348 :Perler ◆GSi39OA6 :01/08/27 19:03 ID:95LP96f6
>>339
タイトルとかどうしましょうか?
「キャッシュ型負荷分散システム開発スレッド」とかでいいかな?

作成もどなたかにお願いしたいのですが。。。

349 ::~名前() :01/08/27 19:05 ID:plW.7Hb6
>346
それはもう、ツール制作者さんに対応して貰うしかない。
ある程度早めに仕様を公開して、その間に対応をして貰う。
そのためには、なるべく現行の仕様から逸脱しない様に、
しなきゃならない。
まあ、それもこれも、運営側がなんと言うかにかかってるけど。

350 :Perler ◆GSi39OA6 :01/08/27 19:05 ID:95LP96f6
>>620
現在でも、キャッシュとサーバー上のデータが同じなら、リロードされても
何も送らないような仕様になっています。
10秒ごとに新規書き込みされない限り、同じことですので大丈夫だと思います。

もっと値を大きく、1度読み込まれたら5分はリロードできない、という風にすると
劇的に回線負荷は減るかもしれません。

その前に、index2.htmの負荷(キャッシュに対応していない)をなんとかする
必要がありますが。。。

351 :Perler ◆GSi39OA6 :01/08/27 19:07 ID:95LP96f6
>>350
http://cocoa.2ch.net/test/read.cgi?bbs=unix&key=998764722
と、スレを間違えて書き込んでしまいました。。。
無視してくださいませ。

352 :名無し娘。 ◆vP.bOZFQ :01/08/27 19:08 ID:asPJm1Ug
>>348
tech板でいいですか?よければこちらで建ててしまいますが。。。

353 : ̄ー ̄)ノ :01/08/27 19:17 ID:KeujS.U6
二日連続夜更かしで昼夜逆天誅
寝てる間にバージョンアップしてますね
夜は娘さん、昼間はPerlerさん
おつかれさまです
例のごとくミラーリンク
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/read14.2.1.c
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/index2.c
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/index2.c.1

古いバージョンは
http://star.endless.ne.jp/users/forcount/4countbbs/scriptmaker/index.html
(↑必要ないですけどね)

354 :名無し娘。 ◆vP.bOZFQ :01/08/27 19:18 ID:asPJm1Ug
>>348 >>352
どうやら
http://cocoa.2ch.net/test/read.cgi?bbs=unix&key=998764722&ls=50
こちらで話が進展しているようですので、新スレではなく↑でつづけて
よろしいのでは。。。
誘導はスレ立てておこないますから。

355 :Perler ◆GSi39OA6 :01/08/27 19:19 ID:95LP96f6
>>352
板の選定はお任せします。
立ててしまってください。宜しくお願いします。

356 :名無し娘。 ◆vP.bOZFQ :01/08/27 19:29 ID:asPJm1Ug
>>355
たてました。
あとの各話題の誘導などはおまかせください。。。

357 :名無し娘。 ◆vP.bOZFQ :01/08/27 19:30 ID:asPJm1Ug
>>356

http://cocoa.2ch.net/test/read.cgi?bbs=unix&key=998908154
「キャッシュ型負荷分散システム開発スレッド」

です。

358 :仕様無しさん ◆NwLv.g/w :01/08/27 19:32 ID:LABmXIYU
>353
r2chhtml.hもお願い〜

359 : ̄ー ̄)ノ :01/08/27 19:34 ID:KeujS.U6
わかりました

360 : ̄ー ̄)ノ :01/08/27 19:37 ID:KeujS.U6
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/r2chhtml.h

361 :名無し娘。 ◆vP.bOZFQ :01/08/27 19:42 ID:9PuzuTEs
●2ちゃんねる開発統合スレッド(連絡用)
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998908559&ls=20

●キャッシュ型負荷分散システム開発スレッド
http://cocoa.2ch.net/test/read.cgi?bbs=unix&key=998908154&ls=20
(この話題についての情報)
 http://piza2.2ch.net/test/read.cgi?bbs=tech&key=990334284&ls=20
 http://203.174.72.113/p2pcache/P2Pcache/frame.htm

●read.cgi開発スレッド(当面、bbs.cgiの話題も扱う)
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998845501&ls=20

●動作報告・障害報告スレッド
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=998808733&ls=20

●2ちゃんねるWiki(全体にわたる参照事項です)
http://www.gedoh.org/aki/2ch/wiki/yukiwiki.cgi?TopPage

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
http://cocoa.2ch.net/test/read.cgi?bbs=unix&key=998908154
でも言ったんですけど
read.cgiに差分送信機能をつけれないですかね

365 :名無し娘。 ◆vP.bOZFQ :01/08/27 20:18 ID:9PuzuTEs
>>364
サーバーをProxy型にして、resumeっぽくふるまえばよいのかな。
If-rangeあたりにも対応。。。
あぼーんのときはresumeさせなければよい。
。。。gzip圧縮させたときも問題なく振る舞うかどうかは知りませんが。

366 ::~名前() :01/08/27 20:20 ID:plW.7Hb6
>>364
数時間ほど前、まさにその話をしていたんですが。
過去ログをどうぞ、あぼーん機能を含めて、大体仕様は固まっています。
(と、思う。もちろん、改良の余地はいっぱいあります。)
これに、インデックスの機能が付けられたら、現行のdatファイル(と似た
仕様)を使う場合、結構いいところまで行くと思うのですが

367 :名無し娘。 ◆vP.bOZFQ :01/08/27 20:21 ID:9PuzuTEs
>>365
つづき。
やっぱり、一般のブラウザはファイルサイズを見て差分転送にするかどうかを
決めているはずですから、cgiで動的に圧縮かける場合、できあがったgzip
ファイルに膠着性(?)がないこともあって、難しいような気がします。

368 ::~名前() :01/08/27 20:22 ID:plW.7Hb6
あ、もちろん、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
この辺も参考になるかな?
 http://teri.2ch.net/test/read.cgi?bbs=saku&key=996761078&st=129&to=132&nofirst=true

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ちゃんねる類似の新システム開発
いまは、上記が混然としすぎています。

379 :デフォルトの名無しさん :01/08/27 20:59 ID:CbLq.TAQ
>>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
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/read14.2.2.c
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/Makefile.14.2.2
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/r2chhtml.14.2.2.h
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/util_date.c
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/util_date.14.2.2.h

全て上げておきました
http://star.endless.ne.jp/users/forcount/4countbbs/scriptmaker/index.html

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のスクリプトなんでしょうかね?
まぁ良いか・・・
これ見ながら新しいの考えてみましょうか

386 :デフォルトの名無しさん :01/08/27 21:37 ID:plW.7Hb6
夕方頃に話していたことを、まとめてみました。

次世代?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
というか、あっちって、見られていますか?(笑)
私が言いたいのは、いま、スレがいろいろたち始めていますが
「どのスレで、誰が、どの課題について、なにをしている」
っていう整理をした方がよい、ってことです。
読む人も、作業する人も、管理者さんたちも注意が拡散してしまいますので。

388 ::~名前() :01/08/27 21:46 ID:plW.7Hb6
追加です。

◎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
やろうと思っていたのですが、今日はなかなか時間がとれなくて。
# あっちはそのためにたてたスレッドだったのですが(^^;
申し訳ないです。
深夜帯になったら時間がとれますので、そのころ現状のままでしたらやっておきます。
# 今は私自身もなんのこっちゃ把握していない(汗

391 :デフォルトの名無しさん :01/08/27 21:57 ID:Kz6Nmn.Q
17氏のスクリプトは流出したものではなく
>>385

>>225のスクリプトですが、自力で書かれたものと思います。

以下のスレッドの発言17が17氏です。
2ch型掲示板
http://corn.2ch.net/test/read.cgi?bbs=php&key=988816430

392 :391 :01/08/27 21:58 ID:Kz6Nmn.Q
あぅ。。
元が流出スクリプトって書かれてましたね。
今まで勘違いしていました。

393 :デフォルトの名無しさん :01/08/27 22:00 ID:YfpO6h5c
ボトルネックはCPUでもDiskI/OでもなくてNetworkI/Oなんでしょ。

インデックスで多少DiskI/Oが減ってread.cgiが軽くなっても
トラフィック量が変わらなきゃしょうがないよ。

それに.datの一部やインデックスの一部が壊れただけでそのスレ崩壊しそうだ。
シンプルな実装をこころがけたいね。過度の複雑化は往々にして破綻をもたらすぞ。

とりあえず gzip の圧縮レベル上げるとかしたらどう?CPUまだ余裕あるんでしょ

394 :デフォルトの名無しさん :01/08/27 22:01 ID:2irTHpac
あのー、キャップのパスワードから、初期のスクリプトに間違い無いとの噂を
聞きましたが・・・

395 :名無し娘。 ◆vP.bOZFQ :01/08/27 22:04 ID:ihlstQzQ
夜勤★さん近況
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=998903558&st=94&to=94&nofirst=true

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に
取り込み始めたほうがいいですかね?

398 :37 → |  - -) :01/08/27 22:12 ID:NB7BRIbo
>>393
最新版(ver14.x)ではすでに圧縮レベルを最大にするように設定しています...
# あ、でもzlibを使用した場合だけだ...

399 :音楽侍 ◆NtVkSITE :01/08/27 22:13 ID:92bYvmYA
というか、このスレでは「read.cgi」=夜勤さん、集中でいいと思います。
ほかのbbs.cgi系の話などはスレを分けるべきですし。

400 :デフォルトの名無しさん :01/08/27 22:14 ID:0cm50H8s
>>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
>>398
gzip の場合もそうしましょう。
>>399
bbs.cgi 系のスレ、私はスレ立てすぎで立てられないんです(泣
立てていただけませんか?

>1 に書くべきリンクはおおむね以下の通りです(Web板も書くべきかも)。

●2ちゃんねる開発統合スレッド(連絡用スレッド)
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998908559&ls=20

●キャッシュ型負荷分散システム開発スレッド
http://cocoa.2ch.net/test/read.cgi?bbs=unix&key=998908154&ls=20
 ◆キャッシュ型負荷分散システムの概観
 http://203.174.72.113/p2pcache/P2Pcache/frame.htm
 ◆2chのような掲示板システムってP2Pで
 http://piza2.2ch.net/test/read.cgi?bbs=tech&key=990334284&ls=20

●プログラマが2chを救う!?2(read.cgi開発スレッド)
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998845501&ls=20

●2chの動作報告はここで。(動作報告・障害報告スレッド)
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=998808733&ls=20

●2ちゃんねるWikiとTiki(全体にわたる参照事項です)
http://www.gedoh.org/aki/2ch/wiki/yukiwiki.cgi?TopPage
http://www.gedoh.org/aki/2ch/tiki/

◆各種ソースコード最新版
http://star.endless.ne.jp/users/forcount/4countbbs/scriptmaker/index.html

404 :仕様無しさん ◆NwLv.g/w :01/08/27 22:24 ID:LABmXIYU
>>401
そうですね。
あと、向こうはCになれてない人も多そうなので、
もう少し説明書きを足しといた方がいいと思うけど、
書き足したほうがいい項目って何があるかな?

405 :名無し娘。 ◆vP.bOZFQ :01/08/27 22:25 ID:ihlstQzQ
Web板での開発スレッドは
http://natto.2ch.net/test/read.cgi?bbs=hp&key=998774537&ls=20
ですが、そろそろ新スレ移行しそう。。。

で、ヘッダファイルはあちらに任せていいんですかねぇ。

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
そろそろ解放される・・・

>>400
Content-Length吐き出しについて
>>227 >>231 >>236
っと。。。検討お願いします。

408 :デフォルトの名無しさん :01/08/27 22:47 ID:QsZwFykk
>>386
>>316の方が単純でイイと思う

409 :♯6411 :01/08/27 22:57 ID:Gdy5fRSM
>>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欄とかにシングルクォーテーションを入れてカキコすると
返ってきた画面がエライことになるのも対応して欲しいかも。

412 :♯6411 :01/08/27 23:06 ID:Gdy5fRSM
>>409 あと、.dat取得系と互換を取るためには、
・とりあえず各フィールドにはshift jisで「あぼーん」文字列を入れておく
・残ったフィールドはwhitespaceで塗りつぶす
でいいんではないかと。(もちろんこれはbbs.cgi要対応)

…あぼーん判定をどうしよう(w
名前・mailtoともに「あぼーん」だったらあぼーんと見なし、
カキコの際に、双方とも「あぼーん」であるものを
カキコできないようにすればいいかな?

413 :デフォルトの名無しさん :01/08/27 23:07 ID:eH.k24MU
123

414 :音楽侍 ◆NtVkSITE :01/08/27 23:10 ID:92bYvmYA
>>412
むしろ、書き込み時間があぼーんで判断しないと・・・
名前、mailのあぼーんは、誰でも出来るので。

415 ::~名前() :01/08/27 23:14 ID:plW.7Hb6
>412
>・とりあえず各フィールドにはshift jisで「あぼーん」文字列を入れておく
それは、名前とかメール欄とか、フィールドの長さが足りない場合にdatの
長さが変わる場合があるから。

>408
今の専用ブラウザを変更するときに、どっちが大変か、によると思う。
なるべく現行のフォーマットを崩さない、を念頭に置いてる。

とりあえず、今はこのスレで別の作業が進行中なので、このくらいで。(仕事しろよ>おれ)

416 :名無し娘。 ◆vP.bOZFQ :01/08/27 23:20 ID:ihlstQzQ
bbs.cgi 専用のスレッド、立てることが出来ました。
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998921988&ls=20
こちらです。どうぞ。

417 :- :01/08/27 23:30 ID:q7WWiv5M
>409
投稿日時のフィールドって

01/08/27 23:19 ID:ihlstQzQ

みたいに IDも含まれちゃってますけど、これを

998921988 ID:ihlstQzQ

って感じにするんでしょうか

418 :デフォルトの名無しさん :01/08/27 23:36 ID:bJ23bC3M
今最新版はread14.2.2.cだよね?
簡単に直せそうな変な所と今まで指摘されていた場所を再掲。

BadAccess()のテーブル内(新しい方、214-)
オリジナルに従うと、こうなるはず?
- "WebFetch?",
+ #ifdefKatjusha_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-)
全体を
#ifdefGZIP
#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
更新されたレスだけを見るリンク をつけてみました。
stをいじるという単純な事をしているだけですが。

コンパイルや動作確認ができないため変更箇所を書いておきます。
http://211.124.231.141:81/r2chhtml.14.2.2.h_reload.txt
305〜312行

http://211.124.231.141:81/read14.2.2.c_reload.txt
491,511,515〜517,1188〜1200行

既に実装されていたら逝ってきます。

422 :仕様無しさん ◆NwLv.g/w :01/08/27 23:44 ID:LABmXIYU
r2chhtml.hのほう14.2.2にちょっとコメント足しておきました。
 ftp://210.170.170.131/incoming/2ch-read-current/r2chhtml.14.2.3.h

バージョンがread.cとずれてごめん。

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がまともに取れない〜

426 :|  - -) :01/08/27 23:46 ID:NB7BRIbo
>>423
私がやったので、一応。
・-DCOOKIEで今までJavaScriptでやっていたことをCGI側でやるように。
・-DPREVENTRELOADで連続リロードできないように。
・コンパイラの警告対策。
こんなところです。

427 :418 :01/08/27 23:46 ID:bJ23bC3M
待ってるのやだったし、
どのくらい書きこめるかわかんなかったから、
前スレの最後に加えてみた。
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998736516&st=923
インデントつぶれてるし、関数ぶった切り。

あ、>>nnのカットはテレホタイムのみにしてみた。
その分、テレホタイムにCPU負荷が上がると思う。

428 :名無し娘。 ◆vP.bOZFQ :01/08/27 23:52 ID:ihlstQzQ
皆様、お疲れさまです。。。
ん、んと、とりあえず、

http://211.124.231.141:81/r2chhtml.14.2.2.h_reload.txt
ftp://210.170.170.131/incoming/2ch-read-current/r2chhtml.14.2.3.h

http://211.124.231.141:81/read14.2.2.c_reload.txt
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998736516&st=923

で、mergeが必要、と。
私まだ作業できません。人任せでごめんなさい。

429 :デフォルトの名無しさん :01/08/27 23:53 ID:IXGyZgg6
なぜ誰もpserver立てようって言い出さないのか不思議。

430 :デフォルトの名無しさん :01/08/27 23:54 ID:U3BzOc.o
sourceforgeとか。

431 :|  - -) :01/08/28 00:07 ID:vBFldHfk
>>403 >>418 >>420 マージしました。
ftp://210.170.170.131/incoming/2ch-read-current/read14.2.3.c

http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998736516&st=923
の方はまだっす...
# 参照する記事が同じページ内ならブックマークで代用、とかはどうなのだろう

432 :|  - -) :01/08/28 00:08 ID:vBFldHfk
まちがえた。
マージしたのは 403, 418, 421 です

433 :♯6411 :01/08/28 00:09 ID:8QKJAcfc
>>414 そこがいちばん頭の痛いところで、
.datのフォーマットを好きにいじっていいなら
あまり考えずに済むところなのです。

ID強制なのであれば、ID欄が必ず8文字
あるので、そこにあぼーん書き込めますな(w

434 :    :01/08/28 00:15 ID:PuOGwR/w
個人個人のパソコンに負荷分散させることできないのかな?
一つの板における各々の表示は一台にして、全部表示などの場合は
A君〜J君等のパーソナルPCに負荷をかけさせるようにする。
保存先もそれぞれのPCに規則を決めて、時間、アクセス場所などで振り分ける
有志は、ADSL回線以上で一つの板に100人くらい分散すれば一気に負荷かからないのでは
ログは各々PCに貯めて、倉庫いきになったとき昼間、朝方等の人の少ない時間帯に
中央に集めバックアップ。

435 :♯6411 :01/08/28 00:16 ID:8QKJAcfc
>>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
で、各スレッド毎にすべてみるした場合、
そのサーバーを提供している広告がでるようにすると。

444 :デフォルトの名無しさん :01/08/28 00:25 ID:EsyMltj.
>>443 PuOGwR/w スレごとに分担があるから、適当な所へ行って下さい。
あと、過去ログは全部読めとは言わないので、流れは見てください。

445 :    :01/08/28 00:25 ID:PuOGwR/w
>>438
らじゃ

446 ::~名前() :01/08/28 00:26 ID:eLo9c1WA
>>417
>>435
こちらに移動しましょう。
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998921988&ls=20
とはいえ、私はそろそろ寝ますけど。

447 :デフォルトの名無しさん :01/08/28 00:32 ID:DJ9Ovvc2
今夜夜勤さんが来たら、どのソースを渡せばいいのでしょうか?
read.cgi 5.xx化はまだ完了していないようなのですが。

448 :デフォルトの名無しさん :01/08/28 00:34 ID:gcrx4Fj2
>>447
ftp://210.170.170.131/incoming/2ch-read-current/read14.2.3.cですかね?

449 :名無し娘。 ◆vP.bOZFQ :01/08/28 00:35 ID:WWWqIZKM
>>447
>>431 かな。。。(わからない)

450 :♯6411 :01/08/28 00:37 ID:8QKJAcfc
>>446 了解
行こう、bbs.cgi仕様に関する話題はあちらへお願いします。
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998921988&ls=20

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
r2chhtml.h >>421>>422をマージしてあげときました。
 ftp://210.170.170.131/incoming/2ch-read-current/r2chhtml14.2.3.h
cとバージョン番号をあわせるため、前(>>422)のはr2chhtml14.2.3.h.oldに
リネームしました。

455 :名無し娘。 ◆vP.bOZFQ :01/08/28 00:44 ID:WWWqIZKM
このスレでの既出事項は、

ftp://210.170.170.131/incoming/2ch-read-current/read14.2.3.c
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998736516&st=923

http://211.124.231.141:81/r2chhtml.14.2.2.h_reload.txt
ftp://210.170.170.131/incoming/2ch-read-current/r2chhtml.14.2.3.h

をそれぞれmergeすればすべて実装完了です。

その後は、かねがね言われていた doReplace() あたりを Tiki を参照して
実装、かな。。。

456 :仕様無しさん ◆NwLv.g/w :01/08/28 00:46 ID:pAh9w2Cg
 ftp://210.170.170.131/incoming/2ch-read-current/r2chhtml.14.2.3.h
だった(htmlと14の間に点)。すいません...

457 :名無し娘。 ◆vP.bOZFQ :01/08/28 00:46 ID:WWWqIZKM
訂正
>>455
ftp://210.170.170.131/incoming/2ch-read-current/read14.2.3.c
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998736516&st=923
をmerge。
ftp://210.170.170.131/incoming/2ch-read-current/r2chhtml14.2.3.h
はcurrent。

バージョン番号は、遠慮せずメジャーバージョンを1ずつあげて構いませんよ。
ソース内のバージョン表示は、read.cgiがHTML最下部に吐きますから、
短い方がよいです。
"read.cgi 15 00/08/27"
とかでもいいとおもいます。

458 :名無し娘。 ◆vP.bOZFQ :01/08/28 00:48 ID:WWWqIZKM
ごめんなさいです。。。
>>457
ftp://210.170.170.131/incoming/2ch-read-current/read14.2.3.c
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998736516&st=923
をmerge。
ftp://210.170.170.131/incoming/2ch-read-current/r2chhtml.14.2.3.h
がcurrent。

459 :Perler ◆GSi39OA6 :01/08/28 00:49 ID:mw/Q/rYE
>>442
#ifdef FreeBSD
ですが、これなくてもFreeBSDでもコンパイル通るので、
削っちゃって大丈夫です。

460 :|  - -) :01/08/28 00:52 ID:vBFldHfk
とりあえず
・r2chhtml.14.2.3.hでコンパイル時警告が出る(printfフォーマットの間違い等)のを修正
・-DRELOADLINK で >>421 のコードを含めるかどうかを変更可能
>>436 で指摘されたことを反映
で、14.2.4 を作りました。
ftp://210.170.170.131/incoming/2ch-read-current/r2chhtml.14.2.4.h
ftp://210.170.170.131/incoming/2ch-read-current/read14.2.4.c
件のコードのマージはまだ。
# だれか c-mode@Emacs で C++コメントをコメントとみなす方法を教えてくれー

461 :デフォルトの名無しさん :01/08/28 00:53 ID:gcrx4Fj2
>>457
バージョン番号はread.cgi Build 0001とかでは駄目ですかね?

462 :デフォルトの名無しさん :01/08/28 00:56 ID:umxobxAo
がいしゅつだったらごめん。
あのさ、テレホタイムだけ、
該当スレへのリンクを全部なくしたらどうだろう?

今は一番上に
> ■掲示板に戻る■ レスを全部読む 最新レス100
があって、
テレホタイムには(バグッてるけど)一番下に
> 次の 100 レスを見る 最新レス100 ○○PM - ○○AM の間・・・
ってなってると思うけど、
テレホタイムの間だけは、
−−続きがあります−−
みたいに表示するだけで、リンクを提供しないようにする。

463 :デフォルトの名無しさん :01/08/28 00:58 ID:JxO6EqA2
半分要望、半分提案だけど、「前のn件」を付けた方が良くないですか?
例えば全部で100以上の書き込みがあるスレッドで、100件より前のスレッド
を読み直すには「全部表示」するか、「1-100」で100件づつ前から順に辿る
しかないワケですが、コレって無駄が多すぎません?
また「最新レスn件」の同じレスを何度も送信するオーバーヘッドを
軽視すべきでないかと。
つーわけで「前のn件」はどうでせう。

464 :デフォルトの名無しさん :01/08/28 00:59 ID:Os46TJAs
>>463
さんせー

465 :♯6411 :01/08/28 01:02 ID:8QKJAcfc
>>460 /* -*-C++-*- */
と1行目に書くといいらしいぞ。

466 :名無し娘。 ◆vP.bOZFQ :01/08/28 01:13 ID:WWWqIZKM
>>461
Buildはいらないけど、日付は欲しいですぅ。
>>462
それだと「読めないよ」って苦情がかなり来そう。
>>463
さんせー

467 :デフォルトの名無しさん :01/08/28 01:17 ID:RNkk13S.
mmapで書いてみた。
read14.2より20%ぐらいは速くなったみたい。
mmapをfreadに置き換えてもたいしてかわらないので、
アルゴリズムが要因だとうは思うけど。
ftp://210.170.170.131/incoming/x/

468 :仕様無しさん ◆NwLv.g/w :01/08/28 01:20 ID:pAh9w2Cg
>>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= からとってくるということでよいかと思います。

470 :|  - -) :01/08/28 01:22 ID:vBFldHfk
マージ完了。でもコンパイルが通ることしかテストしてません。-DCUTRESLINK で指定。
ftp://210.170.170.131/incoming/2ch-read-current/read14.2.5.c で。

>> 465
Thx. でもインデントが GNU スタイルになってしまったので
ブチ切れてsedで全部Cスタイルコメントに変えてしまいました。

471 :デフォルトの名無しさん :01/08/28 01:22 ID:EgnhbxRQ
とりあえずさ、今は緊急なんだから、
IsBusy2ch()が常に1を返すようにして一段落つけて、
localhostででも、動作テストしてみるのはいかが?

472 :デフォルトの名無しさん :01/08/28 01:23 ID:6SOn5dq.
read.cgi 5.02.41 とかでいいんじゃない

で、
安定版の 5.02系と
大変更版の 5.10系に分かれると(w

473 :♯6411 :01/08/28 01:26 ID:8QKJAcfc
漏れが入手したr2chhtml.h
黒地に黒…鬱だ…

474 :名無し娘。 ◆vP.bOZFQ :01/08/28 01:31 ID:WWWqIZKM
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

475 :|  - -) :01/08/28 01:33 ID:vBFldHfk
あれ、14.2.5で-DCUTRESLINKするとすべて同じ記事が表示されてしまうぞ...。

476 :仕様無しさん ◆NwLv.g/w :01/08/28 01:35 ID:pAh9w2Cg
この辺でいったんデバグ大会になりそうな予感...

477 :名無し :01/08/28 01:39 ID:eUeqaRLY
インストールしてみましょうよ。

478 :名無し娘。 ◆vP.bOZFQ :01/08/28 01:40 ID:WWWqIZKM
>>477
2ch.net にはインストールできないので、どなたか公開鯖で
たてていただけるとうれしいですね。
それが無理な場合は、>>471 の通りかと。

479 :名無し :01/08/28 01:46 ID:eUeqaRLY
WEB板に鯖持っている人いっぱい居たな。

480 :|  - -) :01/08/28 01:47 ID:vBFldHfk
コピペミスったっぽい。激しく鬱だ...。
ftp://210.170.170.131/incoming/2ch-read-current/read14.2.6.c に修正版があります。
あと 459 と前スレの 928 も直しました。

>> 478
UNIXな環境ならMakefileをとってきてmake test | w3m -T text/html とかで簡易テストが出来ます。
# http://piza2.2ch.net/tech/998845501.dat を tech/dat/998845501.dat におく必要があるけど

481 :音楽侍 ◆NtVkSITE :01/08/28 01:49 ID:lGTCN/0o
いちおう、批判要望で夜勤さんを呼んでみました。

482 :名無し娘。 ◆vP.bOZFQ :01/08/28 01:53 ID:WWWqIZKM
最新版(と、実装待ちの案)

http://star.endless.ne.jp/users/forcount/contents/scriptmaker/Makefile.14.2.2
ftp://210.170.170.131/incoming/2ch-read-current/r2chhtml.14.2.4.h
ftp://210.170.170.131/incoming/2ch-read-current/read14.2.6.c
 案:>>407 >>>462 >>463 >>469
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/util_date.c
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/util_date.14.2.2.h

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
>>485
お疲れ様です。ここです。

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
http://star.endless.ne.jp/users/forcount/4countbbs/scriptmaker/index.html
最新版まとめました

492 :夜勤 ★ :01/08/28 02:03 ID:???
どうすれば いいのかな?
ちょっと 過去ログ追う暇ないので、、

493 :デフォルトの名無しさん :01/08/28 02:03 ID:MN76LaS2
遅ればせながら、

スレの最初から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で評価していただければと思います。

495 :デフォルトの名無しさん :01/08/28 02:05 ID:DJ9Ovvc2
681 名前:元@削除管理委員長 ★ 投稿日:01/08/28 02:00 ID:???
明後日に予定されている話し合いがどうなるのかが見えない状況では
前提条件が不明なので、楽観視していいのか悲観視するべきなのかわからないのですが・・・・
一応現状わかっていることです。
1 すでにcgiレベルで可能な圧縮は一通り完了。
2 mod_gzipに関しては、交渉難航中(対Hurricane Electric)
2 現在ピーク転送量65Mbpsまで減少に成功。しかし依然転送量はオーバー。
4 当面、tako及び2ch.serverに速報及び雑談系を待避させて転送量を抑制する。

496 :|  - -) :01/08/28 02:07 ID:vBFldHfk
>>489 の修正を反映して read14.2.7.c。ここらで最終チェックして15にしませんか?
ftp://210.170.170.131/incoming/2ch-read-current/read14.2.7.c

夜勤さんにはまず豊富なオプションの内それを選択するか決めてもらわないことには...。
>>474 にコンパイルオプションの一覧があります > 夜勤さん

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
一番転送量が小さくなると思われるのを教えてください。

499 :Web制作板住人 :01/08/28 02:09 ID:W2FZeo7E
>>485
お疲れ様です。

現在、Web制作板でHTML部分の改良をしているのですが、デザインをどこまで変えて
良いのか、悪いのか、その問題に結論が出るのかが分からず、動きようが無い状態
です。

●既存のデザインを変えずにダイエットするスレッドは
http://natto.2ch.net/test/read.cgi?bbs=hp&key=998774537
●既存のデザインを変えて、大きく軽くするスレッド(非CSS)は
http://natto.2ch.net/test/read.cgi?bbs=hp&key=998859829
●既存のデザインを変えて、大きく軽くするスレッド(CSS)は
http://natto.2ch.net/test/read.cgi?bbs=hp&key=998851406

で議論されています。ちなみに、既存のデザインを全く変えない場合、ほとんど小さく
ならないという結論が出ています。また、用語の短縮、メニューの改良なども
http://www.gedoh.org/aki/2ch/tiki/tiki.cgi?c=v&p=html%A4%CE%BB%C5%CD%CD
に案が出ています。

ともかく、デザインをどこまで変えて良いのか、もしくはその問題にいつ結論が出る
のかを教えていただけないでしょうか?

500 : ̄ー ̄)ノ :01/08/28 02:10 ID:nki9F5ks
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/read14.2.7.c
アプ完了

501 :名無し娘。 ◆vP.bOZFQ :01/08/28 02:10 ID:WWWqIZKM
夜勤さんへ。以下をpiza2あたりにいれていただけるとうれしいです。
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/Makefile.14.2.2
ftp://210.170.170.131/incoming/2ch-read-current/r2chhtml.14.2.4.h
ftp://210.170.170.131/incoming/2ch-read-current/read14.2.7.c
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/util_date.c
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/util_date.14.2.2.h

502 :♯6411 :01/08/28 02:11 ID:8QKJAcfc
>>497
PATH_INFO改造いまやってまーす♪

503 :名無し娘。 ◆vP.bOZFQ :01/08/28 02:11 ID:WWWqIZKM
>>498
>>466 はとりあえず無視してくださいませ。

504 :名無し娘。 ◆vP.bOZFQ :01/08/28 02:12 ID:WWWqIZKM
 案:>>407 >>>462 >>463 >>493 >>497(>>502)

あ・・・Makefileがふるい。

505 : ̄ー ̄)ノ :01/08/28 02:13 ID:nki9F5ks
一応全部
http://star.endless.ne.jp/users/forcount/4countbbs/scriptmaker/index.html
にあがってます

506 :|  - -) :01/08/28 02:13 ID:vBFldHfk
>> 498
-DZLIB -DPREVENTRELOAD -DLASTMOD -DCOOKIE -DNEWBA -DGSTR -CUTRESLINKかな?
ただしCUTRESLINKはテレホ時間帯において>>xxx形式のリンクをすべて剥がすので非難轟々
の可能性があります。
あとソースのFORCE_304_TIMEはそれとなくいじってください。(現在は30秒)

507 :デフォルトの名無しさん :01/08/28 02:14 ID:pDe.6vWo
最新スレ100とかはやめて
1-100とか101-200の様に100ずつぶったぎるのが
いいと思うけど

508 :|  - -) :01/08/28 02:17 ID:vBFldHfk
>>504
現在のものをMakefile.14.2.7としてageました。
現在のデフォルトは>>506で私が提示したものです。
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/Makefile.14.2.7

509 :|  - -) :01/08/28 02:18 ID:vBFldHfk
>>508
ぐはっ、コピペ元間違えた...
ftp://210.170.170.131/incoming/2ch-read-current/Makefile.14.2.7

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
>>509
大丈夫
既にアプしてます

512 : ̄ー ̄)ノ :01/08/28 02:24 ID:nki9F5ks
http://star.endless.ne.jp/users/forcount/4countbbs/scriptmaker/index.html
ここに最新版をまとめてますが・・・

513 :デフォルトの名無しさん :01/08/28 02:24 ID:6S1uJJBo
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"なんだけど......役に立たぬかも...

514 :デフォルトの名無しさん :01/08/28 02:25 ID:Os46TJAs
read2ch.hは空テキスト用意すればいいのかね。
あとファイル名にバージョンがついてるからそのままではmakeできんのが面倒かも。

515 :デフォルトの名無しさん :01/08/28 02:29 ID:DJ9Ovvc2
>>506の#define内容でread2ch.hを用意しては?

516 :- :01/08/28 02:30 ID:W9iyzXDo
piza2に入れて、動かなかったら
このスレ自体読めなくなったりして・・・
杞憂ならいいんですが

517 :|  - -) :01/08/28 02:31 ID:vBFldHfk
>>510
ftp://210.170.170.131/incoming/ver14/* に置きました。
私の現在の作業ディレクトリの状態をそのままコピーしたので公開されているのとは違っているかも...。
ちょっと確認してみてください > all

518 :名無し娘。 ◆vP.bOZFQ :01/08/28 02:32 ID:WWWqIZKM
>>516
!!

519 : ̄ー ̄)ノ :01/08/28 02:32 ID:nki9F5ks
>>517
ファイルサイズみる限りだとあってますよ

520 :デフォルトの名無しさん :01/08/28 02:34 ID:KApuWi6.
bbs.cgi って公開されてるの?
いつのまに・・・

521 :名無し :01/08/28 02:34 ID:eUeqaRLY
これでお願いします。

ftp://210.170.170.131/incoming/ver14/

うまくいきますように、皆さんで祈りましょう。

522 :夜勤 ★ :01/08/28 02:35 ID:???
>>517
行きます。 natto に、

523 :デフォルトの名無しさん :01/08/28 02:35 ID:Qxb2St7A
この板無理だったらUNIX板で連絡とればいいのかな?

524 :デフォルトの名無しさん :01/08/28 02:36 ID:Qxb2St7A
お、nattoですか。
お疲れさまです。>夜勤様

525 : ̄ー ̄)ノ :01/08/28 02:36 ID:nki9F5ks
いきなりバージョンが9もあがるわけですね?

526 :デフォルトの名無しさん :01/08/28 02:37 ID:gcrx4Fj2
ver14では、変だと思うので、ver5.1にしておきました。<read.c

527 :デフォルトの名無しさん :01/08/28 02:37 ID:KApuWi6.
>>520
ttp://mankomankomanko.virtualave.net/bbs.txt

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

530 :|  - -) :01/08/28 02:39 ID:vBFldHfk
>>529
う"...。もしかしてzlib.hがない?
ls /usr/include/zlib* とかやるとどうなりますか?

531 :夜勤 ★ :01/08/28 02:40 ID:???
/usr/include/zlib*: No such file or directory

532 :♯6411 :01/08/28 02:40 ID:8QKJAcfc
--- 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
あ、いきなりこけた

534 :♯6411 :01/08/28 02:41 ID:8QKJAcfc
>>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 は誰が持っているんだ?

536 :デフォルトの名無しさん :01/08/28 02:43 ID:Os46TJAs
http://www.gzip.org/zlib/
(´д`;)

537 :デフォルトの名無しさん :01/08/28 02:43 ID:KApuWi6.
>>527
どもっす。

538 :音楽侍 ◆NtVkSITE :01/08/28 02:44 ID:lGTCN/0o
>>534
それってbbs.cgiの仕様変更を伴いませんか?
そちらの話はbbs.cgi改良案の方でやった方が混乱が少なくなると思います。

539 :デフォルトの名無しさん :01/08/28 02:45 ID:BxO2wZdU
とりあえず -DZLIB を抜いて compile したらどうですか?

540 :|  - -) :01/08/28 02:46 ID:vBFldHfk
ということは、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 のコメント読んで

542 :デフォルトの名無しさん :01/08/28 02:47 ID:BxO2wZdU
>540
何が凄いの?

543 :aki :01/08/28 02:47 ID:LkIGICBw
Linuxのパッケージで入れてて、
libz.so*はあるけどinclude fileが無い状態の気がする。

544 :|  - -) :01/08/28 02:48 ID:vBFldHfk
>>542
いやぁ、普通Linuxのディストリビューションなら標準で入りそうなものだから...。

545 :デフォルトの名無しさん :01/08/28 02:49 ID:Os46TJAs
runtimeとdevelopで別パッケージだったりするdistributionかな。

546 :音楽侍 ◆NtVkSITE :01/08/28 02:49 ID:lGTCN/0o
>>540
>>510の通りでおねがい。

547 :デフォルトの名無しさん :01/08/28 02:49 ID:BxO2wZdU
>543
それなら warning 状態で compile してしまって、
link 成功すれば問題無いということかな?

今まで /bin/gzip 使ってたからなぁ。元から libz 無いんは?

548 :デフォルトの名無しさん :01/08/28 02:51 ID:Os46TJAs
>>547
zlib.hなしで無理やりコンパイルするとZ_*の定数が…

549 :デフォルトの名無しさん :01/08/28 02:51 ID:HEWceQCw
FreeBSDでソース入ってたら
/usr/src/lib/libz で make できませんか?

550 :デフォルトの名無しさん :01/08/28 02:52 ID:6S1uJJBo
>>549 Linuxじゃないの?
  echo /usr/lib/libz.so*
の結果が知りたい......

551 : ̄ー ̄)ノ :01/08/28 02:52 ID:nki9F5ks
予想外の展開だ・・・

552 :|  - -) :01/08/28 02:52 ID:vBFldHfk
>>546
了解、ファイルを更新しました。

553 :デフォルトの名無しさん :01/08/28 02:55 ID:gcrx4Fj2
>>552
どこにupしましたか。
ftp://210.170.170.131/incoming/ver14/に無いようですが。

554 :aki :01/08/28 02:55 ID:LkIGICBw
rootもってるなら、
パッケージでrpm -ivh zlib-devel*.rpm するだけなんだけど……。

rpm -q zlib
してもらって同じ奴の-devel探すとか。

555 :♯6411 :01/08/28 02:56 ID:8QKJAcfc
>>538 bbs.cgiへの変更は、やらなくても問題なし。
今まで通りのqueryも受け付けるから。
ただ、path付加されたページ中のURLは
書き換えて回らないといけなく、そのためには
r2chhtml.hともに変更が必要。
それらの作業も請け負って構いませんよ。

最終的に、bbs.cgiなどを、path仕様に合わせて
書き直すと…ほっとぞぬがつかえなくなるなきっと(鬱
というわけで、bbs.cgiの変更があってメリットが
生きると思われ。

556 :名無しさん@お腹いっぱい。 :01/08/28 02:57 ID:8eIEd39.
こまかいが、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] = '*';

557 :|  - -) :01/08/28 02:57 ID:vBFldHfk
>>553
ファイル名はそのまま(Makefile)で、内容を変更。混乱させてゴメソ。

558 :夜勤 ★ :01/08/28 02:58 ID:???
echo /usr/lib/libz.so*
/usr/lib/libz.so*

559 :名無し娘。 ◆vP.bOZFQ :01/08/28 02:59 ID:WWWqIZKM
# 皆さんの案は、レス番号をまとめておりますのでご安心下さい。。。
# nattoでの実験が終わり次第、一覧として提示します。。。

560 :549 :01/08/28 03:00 ID:HEWceQCw
>>550 あ、そうなんですか、スマソ
>>541を見てそっちなのかなと

どっちにしても>>536にあるソースから
make一発でいけそうですが(甘いか?)

561 :|  - -) :01/08/28 03:01 ID:vBFldHfk
>>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 になれません。ごめんね、

564 :デフォルトの名無しさん :01/08/28 03:05 ID:DJ9Ovvc2
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()をやめるのだろうけど

567 :|  - -) :01/08/28 03:06 ID:vBFldHfk
とりあえず 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 に入ったよー

572 :デフォルトの名無しさん :01/08/28 03:09 ID:6S1uJJBo
rootになれなくてもコンパイル時のカレントディレクトリにzlib.hやlibz.aを
突っ込むとかいう手もあるんだろうけど

573 : ̄ー ̄)ノ :01/08/28 03:10 ID:nki9F5ks
おっ、いけましたか

574 :デフォルトの名無しさん :01/08/28 03:10 ID:gcrx4Fj2
あれ、背景が真っ黒

575 :名無し娘。 ◆vP.bOZFQ :01/08/28 03:10 ID:WWWqIZKM
nattoで生きている板って・・・どこだろう。

576 :|  - -) :01/08/28 03:10 ID:vBFldHfk
うぉなんだこりゃ!! 真っ黒だ!!

577 :名無しさん@お腹いっぱい。 :01/08/28 03:10 ID:8eIEd39.
>>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
web制作

CSSを利用した2ちゃんねるのデザイン
http://natto.2ch.net/test/read.cgi?bbs=hp&key=998851406

579 :名無し娘。 ◆vP.bOZFQ :01/08/28 03:11 ID:WWWqIZKM
>>575
たとえば。
http://natto.2ch.net/cs/index2.htm

真っ黒ですねー

580 :デフォルトの名無しさん :01/08/28 03:11 ID:Os46TJAs
真っ黒! r2chhtml.hの問題か

581 :デフォルトの名無しさん :01/08/28 03:11 ID:gcrx4Fj2
>>575
PC初心者板とかですね。

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の件もあったし

585 :デフォルトの名無しさん :01/08/28 03:13 ID:DJ9Ovvc2
誰? BODY BGCOLOR=#eee にしろなんて書いたWeb製作板の
ドキュソは。3桁指定ができるのはcssの場合だけだよ。
BGCOLOR=#efefef に直してください。

586 :名無し娘。 ◆vP.bOZFQ :01/08/28 03:14 ID:WWWqIZKM
>>473
実はガイシュツだった(泣

587 :デフォルトの名無しさん :01/08/28 03:14 ID:BxO2wZdU
uname ほど正確ではないけど netcraft.com で調べれないかな?

588 :♯6411 :01/08/28 03:14 ID:8QKJAcfc
>>580
>>582
漏れのところでも真っ黒に遭遇 >>473 してしまったのだ(w

589 :デフォルトの名無しさん :01/08/28 03:15 ID:DJ9Ovvc2
r2chhtml.hを修正して上げ直し頼みますー

590 :デフォルトの名無しさん :01/08/28 03:15 ID:HEWceQCw
こんなんでてます
<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
スカパーは見れるよ
普通に

592 :♯6411 :01/08/28 03:16 ID:8QKJAcfc
>>585 ああ、webprogにいじらせたのか。やけに納得(w

593 : ̄ー ̄)ノ :01/08/28 03:16 ID:hr9Cyl8U
見れませんでしたね
すみません黒いです

594 :デフォルトの名無しさん :01/08/28 03:17 ID:DJ9Ovvc2
>>592
Web製作とWebProgは違う板です。念のため。

595 :デフォルトの名無しさん :01/08/28 03:17 ID:YMgWxGD6
>>592
webprogじゃ無くてweb製作でしょ。

596 :♯6411 :01/08/28 03:18 ID:8QKJAcfc
>>592 スマソ webprog じゃない hp だった
鬱だ逝くよ…5分間だけ

597 :|  - -) :01/08/28 03:19 ID:vBFldHfk
ちょっと置換しなければいけない場所が多いな...
5分時間ください。

598 :音楽侍 ◆NtVkSITE :01/08/28 03:19 ID:lGTCN/0o
ああ、みんな怒ってる>真っ黒だー

599 :デフォルトの名無しさん :01/08/28 03:19 ID:gcrx4Fj2
>>597
エディタの置換は?

600 :デフォルトの名無しさん :01/08/28 03:20 ID:jhsouG9Q
Web制作板、nattoですね。(藁

601 :♯6411 :01/08/28 03:21 ID:8QKJAcfc
>>599 ちなみに漏れは、
BGCOLOR を別の文字列に置換して逃げた(w

602 :デフォルトの名無しさん :01/08/28 03:21 ID:BxO2wZdU
当方 gzip に対応していない DOS ブラウザですが
index2.html (l付きね) にアクセスしようとすると
なんか永遠にまたされる気が・・・

603 :|  - -) :01/08/28 03:21 ID:vBFldHfk
同じ名前で上げなおしました(r2chhtml.h)。
早く直してあげてー

604 :音楽侍 ◆NtVkSITE :01/08/28 03:21 ID:lGTCN/0o
>>600
不謹慎だけど、笑っちゃった。

605 :デフォルトの名無しさん :01/08/28 03:22 ID:BxO2wZdU
>600
自業自得か。ワラタ

606 :デフォルトの名無しさん :01/08/28 03:23 ID:gcrx4Fj2
>>603
今度は#eeeeeeになっている。

607 :デフォルトの名無しさん :01/08/28 03:25 ID:DJ9Ovvc2
>>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
スカパー正常にみれます

611 :デフォルトの名無しさん :01/08/28 03:28 ID:DJ9Ovvc2
結局全レス表示規制が修正されたかどうかの確認は
明日までお預けですね…。

612 :デフォルトの名無しさん :01/08/28 03:28 ID:HEWceQCw
背景戻りました↓
<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 正常に動作してるようです。

615 :デフォルトの名無しさん :01/08/28 03:29 ID:YMgWxGD6
とりあえず、たいして変わらないし良いんじゃないですか?

616 :デフォルトの名無しさん :01/08/28 03:31 ID:vePMv5wk
夜勤さーん。他で何度か書いてるんですけど、
要望板のトップから「UNIX板」の文字消してもらえませんか?
黒いぞ!とかUNIX板に報告されてもこまるんですが、、、

617 :デフォルトの名無しさん :01/08/28 03:31 ID:HEWceQCw
natto以外(ver.5.02)はこんな感じ↓
<body TEXT=black BGCOLOR=#EFEFEF link=blue alink=red vlink=#660099>

618 :夜勤 ★ :01/08/28 03:32 ID:???
6時までの規制にしてみました。

619 :名無し娘。 ◆vP.bOZFQ :01/08/28 03:32 ID:WWWqIZKM
http://natto.2ch.net/test/read.cgi?bbs=hp&k=998851406&l=20
こんなのもちゃんと扱えています。

620 :音楽侍 ◆NtVkSITE :01/08/28 03:32 ID:lGTCN/0o
あちゃー>>611
そうですね。
書き込み、閲覧ともに正常でした。>natto

621 :デフォルトの名無しさん :01/08/28 03:33 ID:Os46TJAs
タグ小文字に統一すれば圧縮率上がりそうな。

622 :- :01/08/28 03:33 ID:W9iyzXDo
お、タグ消えてる!
http://natto.2ch.net/test/read.cgi?bbs=hp&key=998851406

623 :名無し娘。 ◆vP.bOZFQ :01/08/28 03:36 ID:WWWqIZKM
100レス制限も生きてます。

624 :音楽侍 ◆NtVkSITE :01/08/28 03:36 ID:lGTCN/0o
>>618
ちゃんと100制限かかっています。

625 : ̄ー ̄)ノ :01/08/28 03:37 ID:hr9Cyl8U
ちゃんと動いてますね

626 :デフォルトの名無しさん :01/08/28 03:38 ID:DJ9Ovvc2
昨日入らなかった鯖も含めて全鯖に入れてみます?
もう少し様子見たほうがいい?

627 :デフォルトの名無しさん :01/08/28 03:38 ID:Cku4HR92
先頭にスペース入るの俺だけかな・・・

628 :名無し娘。 ◆vP.bOZFQ :01/08/28 03:39 ID:WWWqIZKM
>>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
一晩様子見ますか?

631 :デフォルトの名無しさん :01/08/28 03:40 ID:BxO2wZdU
FORCE_304_TIME も機能しているっぽい。

632 :デフォルトの名無しさん :01/08/28 03:40 ID:Os46TJAs
>>627
gzip使う場合はspace 2048個先頭に入るようになってる

633 :デフォルトの名無しさん :01/08/28 03:40 ID:kEW.hXBY
あれ、この時間って100レス制限だったっけ?
例のバグは、「明け方になぜか制限がかかって、
テレホに突入せいても全部読めてしまう」だと思ったんだけど。

634 :デフォルトの名無しさん :01/08/28 03:40 ID:HEWceQCw
>>627
ソースの?

635 :デフォルトの名無しさん :01/08/28 03:40 ID:DJ9Ovvc2
>>627
ブラウザがgzip対応なら正常です。
念のため環境を。

636 :名無し娘。 ◆vP.bOZFQ :01/08/28 03:40 ID:WWWqIZKM
>>630
teri/piza2以外に入れて様子をみるってのもありかも(^^;

637 :デフォルトの名無しさん :01/08/28 03:40 ID:DJ9Ovvc2
>>633
>>618

638 :デフォルトの名無しさん :01/08/28 03:41 ID:Cku4HR92
>>632
そうでしたか、申し訳無い。

639 :名無し娘。 ◆vP.bOZFQ :01/08/28 03:41 ID:WWWqIZKM
>>633
>>618です。

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
そうですね
それでもいいかもしれませんね

644 :名無し娘。 ◆vP.bOZFQ :01/08/28 03:44 ID:WWWqIZKM
ケコーン(笑

夜勤さんに作業してもらえるときに、read.cgiはどんどん入れ替えちゃって、
不具合出たら随時対応でよいと思います。
致命的なものはなさそうですし。

645 :夜勤 ★ :01/08/28 03:45 ID:???
yasai , www2.bbspink に入れましたー。
サーバによってテストしていることが違うので、今日はこの3台ですー
であしたのピーク時がどうなっているかをありがとう観察しましょう。

本当に 感謝 感激です。
ありがとうございます。

646 :デフォルトの名無しさん :01/08/28 03:45 ID:ZnAsZYyc
FORCE_304_TIME は速報とかで一度効果を見たいですね

647 : ̄ー ̄)ノ :01/08/28 03:45 ID:hr9Cyl8U
全部5.1に変えてもいいかもしれませんけどね
5.1バージョンの方がバグ取りは進んでますし・・

648 :名無し娘。 ◆vP.bOZFQ :01/08/28 03:45 ID:WWWqIZKM
>>645
あ、はーい。お疲れです(^^
んじゃ、そろそろ案の一覧を。。。

649 :|  - -) :01/08/28 03:46 ID:vBFldHfk
そろそろ次のバージョン行きますか?
それとも簡単に出来そうな >>621 >>628 を片付けてからにしますか?

650 : ̄ー ̄)ノ :01/08/28 03:46 ID:hr9Cyl8U
>夜勤さん
様子見ですか?
わかりました

651 : ̄ー ̄)ノ :01/08/28 03:47 ID:hr9Cyl8U
とりあえず簡単なバグの出そうにないやつから始めましょう

652 :デフォルトの名無しさん :01/08/28 03:47 ID:BxO2wZdU
>夜勤さん
ちなみに FORCE_304_TIME はいじりましたか?

653 :名無し娘。 ◆vP.bOZFQ :01/08/28 03:48 ID:WWWqIZKM
>>649
次に夜勤さんが鯖に入れるまで、1日はあるでしょうから、いろいろやっちゃいましょ。

実装したものはドンドン下のリストから消してきます。
#ifdef 関連は.cか.hに書いていただけると。。。。


 >>407(>>513 >>566 >>583) >>462 >>463 >>493 >>532-534(>>497 >>502 >>555) >>499 >>507 >>556 >>617 >>621 >>628 zlib問題
インストールオプション
 >>506(>>508) >>474

654 :デフォルトの名無しさん :01/08/28 03:48 ID:HEWceQCw
夜勤★さん、今夜の作業おつかれさまでした

予定は未定かと思いますが、現時点で次にきて
作業していただけるのはいつになりそうですか?

655 :♯6411 :01/08/28 03:50 ID:8QKJAcfc
漏れがやるっていっててヘタレ発言だけど
明日朝イチで打ち合わせのため
そろそろ寝るのであります。というわけで、
>>534 >>555 PATH_INFO対応の
落ち穂拾いを、お願いするです。
ブラウザから見たパス深度が変わってしまうため、
具体的に行わなければならない作業は以下の通り。
・各リンクの相対パス
・カキコ中の参照リンク
を、path_infoが有効かどうかに応じて
切り替えねばなりません。
あと、そのために、path_infoから文字を取り出してる
部分(strtokが出現する箇所)で、フラグをセットするなり
パス切り替えを行うなりを入れないといけないでしょう。

ちうわけで、寝る

656 : ̄ー ̄)ノ :01/08/28 03:51 ID:hr9Cyl8U
>>655
おつかれ様です

657 :名無し娘。 ◆vP.bOZFQ :01/08/28 03:51 ID:WWWqIZKM
Content-Length >>407 >>513 >>566 >>583
PATH_INFO >>532-534 >>497 >>502 >>555
fread() >>556
簡単 >>493 >>617 >>621 >>628
zlib
その他 >>462 >>463 >>499 >>507

658 :音楽侍 ◆NtVkSITE :01/08/28 03:51 ID:lGTCN/0o
>>655
お休みなさい〜

夜勤さん、お疲れさまでした。

659 : ̄ー ̄)ノ :01/08/28 03:53 ID:hr9Cyl8U
>娘
>>617は修正しました
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/r2chhtml.fix.2.h
これで良いですか?

660 :名無し娘。 ◆vP.bOZFQ :01/08/28 03:54 ID:WWWqIZKM
今までのは忘れて(泣

Content-Length >>407 >>513 >>566 >>583 >>655
PATH_INFO >>532-534 >>497 >>502 >>555
fread() >>556
簡単 >>493 >>617 >>621 >>628
zlib
その他 >>462 >>463 >>499 >>507
もっとその他 http://www.gedoh.org/aki/2ch/tiki/ にいろいろ
インストールオプション >>506(>>508) >>474

661 :デフォルトの名無しさん :01/08/28 03:54 ID:2O23P606
>>566
shm_openもSHMMNIの影響受けるんじゃないの?
標準は100だか128のようだけど足りるのか?
mallocとreallocで処理した方がいいと思うが。

662 :名無し娘。 ◆vP.bOZFQ :01/08/28 03:55 ID:WWWqIZKM
>>659
はーい。

Content-Length >>407 >>513 >>566 >>583 >>655 >>661
PATH_INFO >>532-534 >>497 >>502 >>555
fread() >>556
簡単 >>493 >>621 >>628
zlib
その他 >>462 >>463 >>499 >>507
もっとその他 http://www.gedoh.org/aki/2ch/tiki/ にいろいろ
インストールオプション >>506(>>508) >>474

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
>>663
同じ箇所を最初に修正し始めましたねぇ

665 :名無し娘。 ◆vP.bOZFQ :01/08/28 03:58 ID:WWWqIZKM
ってか、みんなではじめたらまたmergeで泣くのか。。。

666 : ̄ー ̄)ノ :01/08/28 03:59 ID:hr9Cyl8U
>>663の方を採用
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/r2chhtml.fix.3.h

667 :デフォルトの名無しさん :01/08/28 03:59 ID:/foo1b.s
>>665
やっぱり、cvs pserver 立ちあげたほうがいいかな。

668 :♯6411 :01/08/28 04:02 ID:8QKJAcfc
>>661 まだ起きてた…
shmは排他に使ってるんですよね?
それ使うのやめて、mmap()でスコアボード
つくって、その上で排他・共有処理作ったら
いかが? スピンロックはCで書けないような
気もしないでもない(CPU2発だったよね)ので、
具体的な手法は、また明日昼以降に書くです。

669 :デフォルトの名無しさん :01/08/28 04:02 ID:gcrx4Fj2
>>664
r2chhtml.14.2.4.hをダウンロードして、エディタの置換機能で#eeeを#efefefに、
#EEEを#EFEFEFにしました。

670 :名無し娘。 ◆vP.bOZFQ :01/08/28 04:04 ID:WWWqIZKM
>>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 も小文字になっちゃうので、
そこは手作業で直す必要があります。

676 :デフォルトの名無しさん :01/08/28 04:11 ID:HEWceQCw
ディレクトリ内のファイルが新旧入り混じって
数が多くなってきているので、ここらで一度
古いものを整理していただけるとありがたいです

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
>>678
え、マジ?
じゃあどうしましょう

682 :デフォルトの名無しさん :01/08/28 04:16 ID:gcrx4Fj2
>>681
修正版、作成しますね。

683 : ̄ー ̄)ノ :01/08/28 04:17 ID:hr9Cyl8U
>>676
最新版は
http://star.endless.ne.jp/users/forcount/4countbbs/scriptmaker/index.html
に一応アップしています。

>>all
古いファイル消してしまいましょうか?
わかりやすく

684 : ̄ー ̄)ノ :01/08/28 04:18 ID:hr9Cyl8U
>>682
サンクス
頼みます

685 :デフォルトの名無しさん :01/08/28 04:20 ID:b2NPkk0A
ftp://210.170.170.131/2ch-read-current/r2chhtml.14.2.5.h
にタグの小文字化と無駄なスペースなどを削除したものをアップしました。

686 : ̄ー ̄)ノ :01/08/28 04:20 ID:hr9Cyl8U
あれ?
ver14フォルダが無い・・・

687 :デフォルトの名無しさん :01/08/28 04:21 ID:.YqAYtDQ
つぅか、pserver立てられる人いないの?
俺も参加したいけど、何がなにやらさっぱりわからん。

688 :デフォルトの名無しさん :01/08/28 04:22 ID:gcrx4Fj2
修正版作ったけど、ver14ディレクトリが無い・・・

689 :デフォルトの名無しさん :01/08/28 04:23 ID:b2NPkk0A
>>685
失礼、URLミスった。
ftp://210.170.170.131/incoming/2ch-read-current/r2chhtml.14.2.5.h

690 : ̄ー ̄)ノ :01/08/28 04:24 ID:hr9Cyl8U
>>688
>>685のでいきましょう

691 :|  - -) :01/08/28 04:24 ID:vBFldHfk
>>688
あらほんとだ。またageますか。

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
>>690
わかりました。

695 :デフォルトの名無しさん :01/08/28 04:28 ID:.YqAYtDQ
>>692
ftp://210.170.170.131/incoming/2ch-read-current/
見たらゲロはきそうになったよ(藁
よくこれで作業できると、別の意味で関心した(藁

696 :デフォルトの名無しさん :01/08/28 04:29 ID:HEWceQCw
>>683
古いファイルはいついつ以前とわかる名前の
ディレクトリに退避させておく、でいかがでしょ

>>687
管理してるマシンでcvsupd動かしてるけど、
大学なんでちょっと...協力できずスマソ

697 :デフォルトの名無しさん :01/08/28 04:30 ID:gcrx4Fj2
>>691
thanks。それから、ver14→ver5にした。

698 : ̄ー ̄)ノ :01/08/28 04:30 ID:hr9Cyl8U
古いファイルは全部消しちゃいますか?

一応全部
http://star.endless.ne.jp/users/forcount/4countbbs/scriptmaker/index.html
にアプしてありますし

699 :デフォルトの名無しさん :01/08/28 04:31 ID:.YqAYtDQ
>>696
いや、
やるべきだ、とか、
やらねばならない、とか、
やらないのはタコ、とか言いたいわけではなく、
誰も立てる環境をもってないのが不思議なんだよね。
かくいう俺も持ってないんだけど。

700 :デフォルトの名無しさん :01/08/28 04:33 ID:BxO2wZdU
>>695
最近のバージョンが全部ある ftp.sendmail.org を見ているようで爽快(w

701 :|  - -) :01/08/28 04:33 ID:vBFldHfk
>>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
>>700
そうだねぇ
http://star.endless.ne.jp/users/forcount/4countbbs/scriptmaker/index.html
もわけがわからなくなって来た
一応まとめたけど・・・

704 :音楽侍 ◆NtVkSITE :01/08/28 04:34 ID:lGTCN/0o
pserverてなんですか?
URLとか教えてもらえると助かります

705 :|  - -) :01/08/28 04:35 ID:vBFldHfk
pserverっつーか、CVS。
http://www-vox.dj.kit.ac.jp/nishi/cvs/ が一番詳しいかな。

706 :デフォルトの名無しさん :01/08/28 04:36 ID:gcrx4Fj2
ftp://210.170.170.131/incoming/ver5/read.c
なぜかver14になっているね。ver14ディレクトリからver5に変えたせい?

707 :デフォルトの名無しさん :01/08/28 04:38 ID:.YqAYtDQ
簡単に言うと、pserverとは、バージョン管理システムのCVSをインターネット環境で
使うサーバアプリです。

708 :デフォルトの名無しさん :01/08/28 04:38 ID:dJ9UWh8E
統計解析コードは入れてあるの?
read.cgiの大まかな利用傾向を出力するような。

「『全部見る』を廃止しよう」とか言ったようなポリシーの変更を
cut&tryだけでやろうとしてるように見える。
利用方法に関する統計データが提示されているのを見た覚えがない。
そういったデータを出力して、使った方がいいと思う。

チューニングの前にはプロファイル、これは鉄則。
CPUパワーの方はまだ余裕あるんでしょ?

709 : ̄ー ̄)ノ :01/08/28 04:38 ID:hr9Cyl8U
>>706
開発中はそれでも良いと思われ

710 :デフォルトの名無しさん :01/08/28 04:41 ID:gcrx4Fj2
>>709
わかりました。
r2chhtml.14.2.5.hをver5ディレクトリに入れておきました。

711 :|  - -) :01/08/28 04:41 ID:vBFldHfk
>>708
それならread.cgiをいじらなくてもhttpdのログを見ればすむ話と思われ。
# 正確には access.log から統計情報を作る何かが必要なのだけど

712 :710 :01/08/28 04:44 ID:gcrx4Fj2
そろそろ寝ますね。

713 :名無し娘。 ◆vP.bOZFQ :01/08/28 04:44 ID:WWWqIZKM
>>711
もしそれが必要なら、手元にありますので提供します(笑

714 :デフォルトの名無しさん :01/08/28 04:44 ID:.YqAYtDQ
ぬー、みんな楽しそうだな・・・。
このスレじっくり読んで、状況を把握していたら、永遠にみんなに
追いつかないだろうな。
つぅわけで、みんながむばってくれ。

715 :名無し娘。 ◆vP.bOZFQ :01/08/28 04:50 ID:WWWqIZKM
>>703
最新版情報はとりあえずお任せします。

おわったもの
 >>621 (小文字化)

まだのもの
Content-Length >>407 >>513 >>566 >>583 >>655 >>661 >>668 >>674
PATH_INFO >>532-534 >>497 >>502 >>555
fread() >>556
簡単 >>493 >>628
zlib
その他 >>462 >>463 >>499 >>507
もっとその他 http://www.gedoh.org/aki/2ch/tiki/ にいろいろ
インストールオプション >>506(>>508) >>474

716 : ̄ー ̄)ノ :01/08/28 04:52 ID:hr9Cyl8U
>>715
最新版では>>628も解決してませんでしたっけ?

717 :名無し娘。 ◆vP.bOZFQ :01/08/28 04:54 ID:WWWqIZKM
>>716
ああ・・・最新版がわかってないかもです。鬱氏で寝ておきます。
起きてここ来たら、ちゃんと整理しますが、どなたか整理してくだされば
越したことはないです。
皆さん、本当にお疲れさまです。。。

718 :デフォルトの名無しさん :01/08/28 04:54 ID:ecyoOujw
やっぱ 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
最新ソースコード
http://star.endless.ne.jp/users/forcount/4countbbs/scriptmaker/index.html

おわったもの
 >>621 (小文字化)
 >>628 (無駄なスペース除去)

まだのもの
Content-Length >>407 >>513 >>566 >>583 >>655 >>661 >>668 >>674
PATH_INFO >>532-534 >>497 >>502 >>555
fread() >>556
簡単 >>493
zlib.h問題
その他 >>462 >>463 >>499 >>507
もっとその他 http://www.gedoh.org/aki/2ch/tiki/ にいろいろ
インストールオプション >>506(>>508) >>474

722 :デフォルトの名無しさん :01/08/28 05:00 ID:ecyoOujw
>719
commmiter として登録された人からメールが来たら自動でリポジトリに入るようにするとか。

723 : ̄ー ̄)ノ :01/08/28 05:00 ID:hr9Cyl8U
眠いんで寝ます
また、バージョンアップがあったら
お昼頃にまとめます
おやすみなさい

724 :音楽侍 ◆NtVkSITE :01/08/28 05:00 ID:lGTCN/0o
>>717
お疲れさまです。

725 :720 :01/08/28 05:04 ID:6S1uJJBo
720のsem_open()云々のくだりはもちろんshm_open()呼び出す前にsem_wait()呼ぶ
ちゅう意味ですんで......でもmalloc()/realloc()の方がそんなことしない分
パフォーマンスいいのかなぁ......実装はかなり大変そうだけど

726 :デフォルトの名無しさん :01/08/28 05:04 ID:HEWceQCw
最新のものの管理はもちろんですが、
少なくとも「稼動実績のあるread.cgi」については
その表示されるバージョン番号とともに
すぐわかるようにしておくのがよいのではないかと。

727 :デフォルトの名無しさん :01/08/28 05:08 ID:2A//3mDc
>>726
http://star.endless.ne.jp/users/forcount/4countbbs/scriptmaker/index.html

現在までの状況

夜勤★さんが
natto
yasai
www2.bbspinkのread.cgiをバージョン5.1にアップしてくれました
採用コードは
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/read14.2.7.c
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/r2chhtml.fix.2.h
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/Makefile.zlib.txt
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/util_date.c
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/util_date.14.2.2.h
です

現在
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/r2chhtml.14.2.5.h
が更新されています
って感じでまとまってるけど?

728 :デフォルトの名無しさん :01/08/28 05:11 ID:DJ9Ovvc2
内部リンクの一文字化案が出ていましたが、
下手するとせっかくのLast-Modifiedが有効に活用されなくて
逆効果になるおそれがあるので慎重にやったほうが
いいのではないかと…。

729 :|  - -) :01/08/28 05:13 ID:vBFldHfk
私も寝ます...
最後に
>>532-534で提示されたパッチを適用(>>655で指摘された問題はまだ)
・インストールオプションを read2ch.h の中に入れた
  (これで-DHAVE_READ2CH_Hだけですむようになった)
・"true" かどうかを最初の t 一文字だけで判定する
の変更を加えたものを ver5/{read15.c,read2ch.15.h,Makefile.15}
において置きます。

それでは、おやすみなさい。

730 :デフォルトの名無しさん :01/08/28 05:16 ID:/foo1b.s
ううむ。あまりに面倒なので、誰でも自由に commit できる cvs pserver
を会社で内緒に立ち上げちゃおうかな…。

sourceforge が一番いいのはわかっているんだけど、手続きが面倒そうだし、
commiter をどうこうするのもこれまた面倒だし。

731 :aki :01/08/28 05:21 ID:LkIGICBw
ssh経由でcvsだけできるアカウント作ってみた。

732 :デフォルトの名無しさん :01/08/28 05:22 ID:QuisIe3w
とりあえず 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 を元に戻すか…。

735 :デフォルトの名無しさん :01/08/28 05:24 ID:QuisIe3w
>>733
web 公開とかしなければ cvsup なんて普通の人は知らないから
問題ないのでは?

736 :デフォルトの名無しさん :01/08/28 05:28 ID:HEWceQCw
>>727
ソースの推移はわかるんですが、例えば今だと
まだ多くの鯖で動いている5.02ってどれだっけ?
なんてのがわかりにくいなと(必要ないのかな?)

release, stable, current とかって分かれてると
わかりやすいんだけど(w

737 :デフォルトの名無しさん :01/08/28 05:30 ID:/foo1b.s
>>736
cvs 使って tag と brach を駆使すると一挙に問題解決かな?

738 :デフォルトの名無しさん :01/08/28 05:33 ID:QuisIe3w
>>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で縛ってました。

逝ってきます。

744 :デフォルトの名無しさん :01/08/28 06:11 ID:BxO2wZdU
>>743
おはよう御座います(藁

745 :デフォルトの名無しさん :01/08/28 06:14 ID:HEWceQCw
>>741
どもおつかれさまです。ひとまずssh経由での接続だけ
確認しました。では、わたしも寝ますんで >>744 (w

746 :仕様無しさん ◆NwLv.g/w :01/08/28 06:30 ID:pAh9w2Cg
おはようございます。
寝てる間にまっくろくろすけになってしまったようで...
Web板半端にcheckしてた私のミスです。ごめんなさいごめんなさいごめんなさい...
激鬱、逝ってきます...

747 :98er ◆8OGY65D6 :01/08/28 06:38 ID:QuisIe3w
うーむ、cvs 初めて使うんですが、
init してもファイルが CVS/* 以外とれない…
cvs 立ち上げただけでファイル無いんでしょうか?
# んなわけねぇーよ とか言われそう(^^;

748 :98er ◆8OGY65D6 :01/08/28 06:49 ID:BxO2wZdU
良くわからなくなってきたので自分も寝ます。では。

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ってプライバシーが記録されてない?
読んでもいいのかな?

750 :デフォルトの名無しさん :01/08/28 08:18 ID:/Wf1.1a2
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
わたしも空っぽに見えますが‥‥‥.
まだファイルがあがってないのでは(^^;

753 :デフォルトの名無しさん :01/08/28 09:03 ID:dJ9UWh8E
>>751
うん、それはわかるよ。フールプルーフ的でないよね。
でも最初に2chきたときはフロート式の意味も
名無しさんの意味もよくわからなかったし。
現状そういうこと言ってる場合でもないような気がするんだよね。
どうしても戦略レベルの取捨が必要というか。

まあ、思いつきの部類だから、別に却下なら却下でいいんだけどさ。

754 :デフォルトの名無しさん :01/08/28 09:05 ID:/Wf1.1a2
最新版をプロファイリングしてみたけど、実行時間の約90%は
ressplitter_split() だね。CPUパワーを使ってトラフィック量を減らすという
方向にはなってるみたいだ。(ちなみに出力先はstdoutを/dev/nullにリダイレクト)

逆になんとか軽くしてやろうという場合はressplitterの部分に注目しれ

755 :仕様無しさん ◆NwLv.g/w :01/08/28 09:17 ID:tQvMUhz.
case '&':
 if (memcmp(p, "&", 4) == 0) {

 if (memcmp(p+1, "amp", 3) == 0) {
とかいった感じ?
# 誤差程度にしか効かなさそうだけど...

756 :仕様無しさん ◆NwLv.g/w :01/08/28 09:16 ID:l/b15QGQ
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
>760
ver5.1では上も"100"(半角)ですよ。
 http://natto.2ch.net/test/read.cgi?bbs=hp&key=998774537&st=1&to=1
こんな感じ.

764 :デフォルトの名無しさん :01/08/28 10:29 ID:Os46TJAs
cvs空だったからとりあえずbbs内に
http://star.endless.ne.jp/users/forcount/4countbbs/scriptmaker/index.html
055の内容をcommitしといたYO

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
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/r2chhtml.15.h

消えてる・・・・・

768 :とりあえず :01/08/28 12:07 ID:6S1uJJBo
時間がらみのとこ......

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 :デフォルトの名無しさん :01/08/28 12:44 ID:Os46TJAs
cvs誰も作業しとらんのか?
これらで更新しといたYO
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/read15.c
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/read2ch.15.h
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/Makefile.15

771 :デフォルトの名無しさん :01/08/28 12:57 ID:n0gCtgRw
>>770
cvs情報が置いてあるというftpはgedoh.orgでいいの?

772 :デフォルトの名無しさん :01/08/28 13:00 ID:Os46TJAs
>>771
ftp://210.170.170.131/incoming/
の中参照

773 :デフォルトの名無しさん :01/08/28 13:09 ID:n0gCtgRw
>>772
tnx

774 :デフォルトの名無しさん :01/08/28 13:11 ID:cHA/ePVk
>762のタグ、書きました。
http://natto.2ch.net/test/read.cgi?bbs=hp&key=998774537&st=901&to=902&nofirst=true

Another HTML-lintでチェック済(怒られ済ともいう)です(笑

775 :♯6411 :01/08/28 13:28 ID:ft1AuJx2
>>739 とりあえずチェックアウトして
みまスた。61.*.*.60 からアクセスしてるハズ。

776 :|  - -) :01/08/28 13:35 ID:vBFldHfk
おはようございます。なんか CVS があるようなのでとりあえずco。
公開鍵置けないかなぁ(ぼそ
# diffとかlogとかやるのにいちいちパスワード聞かれて面倒...

777 :♯6411 :01/08/28 13:39 ID:ft1AuJx2
- indexを *作らない* ための指針 -
(決して、indexを実装するなと言ってるわけでは
ないので念のため)

* 思考実験
-- いちばん要求が多そうなパターンは?
--0) ls=50
--1) 先頭から
--2) 任意番号から
-- indexがなくても、0, 1のパターンは
  ある程度最適化可能。

* 前提
-- mmap()実装が好ましい
-- .datを排他取得できれば、今日にでも実装可能

(つづく)

778 :デフォルトの名無しさん :01/08/28 13:50 ID:Os46TJAs
cvswebなんかもあるといいなあ、なんちて

779 :♯6411 :01/08/28 13:51 ID:ft1AuJx2
>>777 ls=*** (最新***レス)を取得するためのアルゴリズム

/* おそらくLinuxのmmap()実装は、ページ(4kb)単位で
 I/Oしてるハズだと仮定。
 .dat中、<>, \nは変なところに出てこないと仮定。 */

[ファイルサイズを求める]
[検索ポインタをページバンダリに合わせる]
*1
[\nを探す]
 [見つかった場所を記憶]
 [\nを検索し、カウント]
 [発見できた行数がls以上だったら]→*2へ
 [さらに1つ前のページにポインタをセット、*1へ]

*2
[発見した行数とlsを比較、lsに合致する位置を探し出す]
[ウマー]

※エラー処理は省いてあります悪しからず

780 :♯6411 :01/08/28 13:53 ID:ft1AuJx2
>>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
>>780 done.

783 :aki :01/08/28 13:56 ID:e.GbBjlw
ageちゃったよ。鬱氏。

784 :|  - -) :01/08/28 14:00 ID:vBFldHfk
私もお願いしまーす
1024 35 141420444182800897154560295614680846245673825265858296442411357414038911
15240884613924487988651379196491244199030124002182978924398093541301493596634178
10358111123831813671661820711619671241767922665495043391115828629228218324543087
39167515099277620696331284274869374935143845999123662470866714954408738766491

785 :♯6411 :01/08/28 14:01 ID:ft1AuJx2
commitのコメントをeuc-jpで叩き込んでもよかですか?
>aki そのた

786 :デフォルトの名無しさん :01/08/28 14:04 ID:Os46TJAs
>>785
ソースがSJISなので迷うね

787 :|  - -) :01/08/28 14:04 ID:vBFldHfk
>>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
>>784 done.

790 :デフォルトの名無しさん :01/08/28 14:34 ID:Os46TJAs
これでいいのかな。私もお願いしまーす
1024 35 1209973216028234556155437171620554425256431533556875617768332362300844549164334727791311043
439692141062247278251542890338068893268572195862223945467749181727505043692843970516667398695895755
058983468168543381589907943645791802851177950373716881571364655263365277841572646626466266846404372
46205703474514434657

791 :♯6411 :01/08/28 14:35 ID:ft1AuJx2
>>788 禿堂

いま、Makefile書き換えてしまいました。
文句は漏れに言えゴルァ!

792 :デフォルトの名無しさん :01/08/28 14:36 ID:KQOYNv6U
>>757-759
やるべきだ、はっきりいって今このスレでやってること、
ミクロすぎて現状の応急措置にもなってない。
それだったらP2P掲示板スレの議論に参加する方がまだましだ。

793 :♯6411 :01/08/28 14:37 ID:ft1AuJx2
いっそのこと、identity.pub晒した人だけ
commit可能にするってのはどーよ(w
(たぶんsshdの設定だな…)

794 :♯6411 :01/08/28 15:00 ID:ft1AuJx2
ひとつ問題提起しときますが…
Cookieに依存するオブジェクトにL-Mを付加すると、
プロバなどのキャッシュ串に溜まってしまい、
NAME, MAILが漏れてしまうのではないだろうか?
もしかすると、やむなくJavaScriptにより
クライアントサイドで処理する方法に戻さざるを
得ないかも…鬱

参考文献
http://cache.jp.apan.net/CacheDoc-jp/work/SquidFAQ/FAQ-12.html#ss12.19

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記事の後は全記事表示が多いとか.

他にもこういう視点からチェックしたいというのがあれば
チェックできると思います.

% とりあえずログもらわないと作業不可能(^^;

796 :デフォルトの名無しさん :01/08/28 15:15 ID:RUhCQUmc
お忙しい中すみません。
どうなっているのかわからなかったので以下のpageを作ってしまいました。
http://www.gedoh.org/aki/2ch/tiki/tiki.cgi?c=v&p=Read.cgiVer5.1
お暇な方は追加していただけると幸いです。

797 :デフォルトの名無しさん :01/08/28 15:25 ID:KQOYNv6U
2ch生き残りのシナリオ(技術サイドからできること)

UNIX板でPerler氏が負荷分散の試みについて触れているが、
受け入れ先に難儀しそうな雰囲気。なのでread.cgiの出力を
少なくとも当初の目標にまで持っていくことはどうしても必要。
(人口の増加分を考えるとそれでもまだ足りない)

切込隊長氏の言う「ポツダム宣言」がいつだかわからないので日程は明言はできないが、

・統計データの提示
・統計データから考えられる仕様変更の提案(みんなでよってたかって)
・仕様変更の理論的検証(テストしてる時間は多分ない)
・管理サイドに提示、承認を受ける

↑ここまでおそらく2〜3日、大事なのは正しいかどうかではなくて、
 「P2Pシステムがなんとかなるまでの時間を稼げるかどうか」を管理サイドが
 判断できるだけの情報を用意しておくこと。でないと、資金面での見通しが
 立たない限りあきらめられてしまう可能性大。

・実装

↑仕様変更を導入したときの人口の流れは予測できないので、これはもうバクチ。
 どのみち「さよなら2ch」だから、ダメもとで。

もうこの状況じゃ失敗しても技術者に責任はないから、
(だってほっとけばどうせ死ぬんだから)思い切ってやろうよ。

798 :デフォルトの名無しさん :01/08/28 15:25 ID:/J/VCZIY
dat周りの変更まで視野に入れるならすでにすでにこのスレの
守備範囲ではないと思われ
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998921988

799 :|  - -) :01/08/28 15:31 ID:vBFldHfk
>>789 Thx.
>>794 キャッシュされることを忘れていました...この機能は取下げかな
>>795 mod_gzipは雲行き怪しいらしい(http://teri.2ch.net/test/read.cgi?bbs=accuse&key=998903558&st=681&to=681&nofirst=true)
    read.cgi側で生datを吐かせるように修正してみますがいかがでしょう
    # でもツール側が対応してくれないとムダ...
>>796 すこし書いておきました

800 :名無し娘。 ◆vP.bOZFQ :01/08/28 15:33 ID:vA2A8wXI
>>795
access.log 公開はいろいろ難ありでしょうから、夜勤★さんに
access.log の形式だけ教えてもらって(1〜数行だけ公開してもらって)、
こちらでコードを書き、夜勤★さんに実行してもらって結果を公開してもらう、
というのはいかがでしょう。

ところで、現在の各最新バージョンはどこかに公開のところにありますか?
それともcvsの中かな。前者ならURL教えてください。

801 :デフォルトの名無しさん :01/08/28 15:35 ID:/J/VCZIY
>>799
こないだの実験のようにdatの直読み不可にして対応していないツール
を切り捨てるのもアリかと

802 :名無し娘。 ◆vP.bOZFQ :01/08/28 15:39 ID:vA2A8wXI
>>799
生dat吐きに合わせて、さらに /kako/xxx/....dat も read.cgi で読み出して、
ついでにhtml化も出来るようにしたらどうでしょう。

803 :|  - -) :01/08/28 15:42 ID:vBFldHfk
>>800
最新バージョンはCVSの中です。場所は件のftpの/incoming/の直下にある
それっぽいファイルの中に書いてあります。

804 :aki :01/08/28 15:45 ID:e.GbBjlw
いまgedoh.org上にミラー作成中です。
もうちょっと待って。

805 :デフォルトの名無しさん :01/08/28 15:46 ID:/J/VCZIY
/kako/読みはたしか4.xxのどこかで故意に無効にされたんだよね。
if (*zz_ky == '.')
html_error("そんな板orスレッドないです。");
をコメントアウトするだけで復活すると思われ
問題はこの機能を復活させると転送量が増えるかどうかだけど。

806 :名無し娘。 ◆vP.bOZFQ :01/08/28 15:49 ID:vA2A8wXI
>>802
ん、そういえば、kako/xxx/.....html って動的に生成してるんでしょうか?

807 :デフォルトの名無しさん :01/08/28 15:51 ID:/J/VCZIY
>>806
静的だけど、SSIで広告を挿入してるのでLast-Modifiedが
吐かれていません。
これを改善すると劇的に転送量を節約できるかも。

808 :名無し娘。 ◆vP.bOZFQ :01/08/28 15:53 ID:vA2A8wXI
>>805
mod_zip 入らないと、kako 読みが圧縮されないままになっちゃいますよね。
それを圧縮して送りたいな、と。
ついでに ls とか st とか使えるので、転送料は減るはず。
「これは過去ログだよ」ってのがわかりやすいHTMLをはく必要はあると思います。
今 kako/ に入ってる.htmlにプラスアルファ、かな。
# read.cgiから読めてしまう分、過去ログであることを強調しないと。

809 :デフォルトの名無しさん :01/08/28 15:55 ID:/J/VCZIY
・先頭と末尾に現在の過去ログhtmlと同等の広告を挿入
・投稿フォームを出力しない
かな?

810 :|  - -) :01/08/28 16:11 ID:vBFldHfk
ん、5.10がpiza2にもはいったな。
...って、MAIL=がうまく読み込めない? やば。
# どーせ次のバージョンで-DCOOKIEやめるからいいか...

811 :名無し娘。 ◆vP.bOZFQ :01/08/28 16:16 ID:vA2A8wXI
>>728
Last-Modifiedは.datの更新時刻を参照してるから問題ないのでは?

812 :デフォルトの名無しさん :01/08/28 16:20 ID:/J/VCZIY
>>811
いや、そういう意味じゃなくて、bbs.cgiからのリンクとread.cgi
からのリンクでURLが異なると同じリソースとはみなされないから…
って言いたかったんですが。
気にしすぎでしょうか。

813 :not 728 :01/08/28 16:23 ID:6S1uJJBo
>>811 多分 実質同じURLなのに"...&ls=20"が"...&l=20"になると
別のURLになるからコンテンツを要求してしまうという意味と思われ
まぁ その変更をする時だけの問題だけどね

814 :aki :01/08/28 16:23 ID:e.GbBjlw
5分おき更新。
http://www.gedoh.org/aki/2ch/current/bbs/

815 :  :01/08/28 16:25 ID:qtXNeTyw
ひろゆき、聞いているか? 理系、技術系の広告で雑談板が養えるぞ。 専門性が高ければ高いほど金になるぞ。
絶対に理系板と技術板は手放してはいけない。
どっかの巨大企業が安値でコンビニ子会社を手放したら
そのコンビニ企業が大成長してしまったでしょう。
バイオ企業広告で飯を食っているメディアはこんなになるぞ。
http://medwave.nikkeibp.co.jp/ndi/index.shtml
http://biztech.nikkeibp.co.jp/biztech/medi/
http://medwave.nikkeibp.co.jp/health/
http://biobiz.nikkeibp.co.jp/biobiz/index.html
http://biotech.nikkeibp.co.jp/NBTOL/
http://medwave.nikkeibp.co.jp/nhc/
http://medwave.nikkeibp.co.jp/nm/index.shtml
http://medwave.nikkeibp.co.jp/MED/
http://biotech.nikkeibp.co.jp/BIO.shtml
2ちゃんの生物板や医者板にバナー広告をつけたがる企業が無尽蔵にいるぞ!
生物板は動物好きが野生動物板に隔離されたので
純粋なバイオ系の研究者しかほとんど残っていない。
チェッチェンの首切り画像を生物板で紹介したら
ほとんどの研究者はその恐怖画像を知らなかったので
不潔な板との接触が少ない人材がそろっているぞ。
教授の悪口を書くと、すぐにその教授が反論することもあるから
大学の予算を決める、機器購入決定権のある教授も見ているぞ。
この実態を知れば、バイオ企業は広告を打つぞ。
ヤクルト、明治製菓、萬有製薬、サントリー、大塚製薬、寶酒造、協和発酵などなど
(他にもある具体的な企業名は生物板の連中に聞け、レスが遅いと思うが
 ■■■■■ 生物版自治スレッド ■■■■■
 http://cheese.2ch.net/test/read.cgi?bbs=life&key=994669460 )
コアな人材を求めるコアな東証一部上場企業はたくさんいるぞ。
試薬メーカー、検査機器メーカーも涎をたらすぞ。 専門性が高ければ高いほど金になるぞ。
化学板なら化学メーカーが広告につくぞ。理科系技術系は金になるぞ。

816 :デフォルトの名無しさん :01/08/28 16:27 ID:GqN4aBjk
ttp://natto.2ch.net/test/read.cgi?bbs=hp&key=998774537&st=916&to=916&nofirst=true
にて質問している者ですが、今後の2ch運営(自鯖含む)
の資金等の見通し(予測)を詳しい方が議論しているスレは
既に立っているでしょうか?
出来ればこれのレスはあちらにつけて頂きたく。

マルチポストスマソ。m(___)m

817 ::~名前() :01/08/28 16:28 ID:EocciE/o
>815
こちらへお帰りください。
転送量(料)の増加で2ch閉鎖の危機! Part7
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=998943001

818 :名無し娘。 ◆vP.bOZFQ :01/08/28 16:28 ID:vA2A8wXI
>>812-813
勘違いしてました。。。納得です。

819 :デフォルトの名無しさん :01/08/28 17:00 ID:6S1uJJBo
IEやネスケをbzip2対応にさせるのはとりあえずムリとしても
オープンソースのブラウザならhackしてbzip2対応化も何とかできるだろうから
bzip2エンコードにも対応できる形にしてみるってのはどお?

これやるとなるとブラウザ側のhackも並行してやることになるかな

820 :名無し娘。 ◆vP.bOZFQ :01/08/28 17:03 ID:vA2A8wXI
これ作る途中でimode版2chみたら、piza2がまだpizaのままだった。。。

最新ソースコード
http://star.endless.ne.jp/users/forcount/4countbbs/scriptmaker/index.html
http://www.gedoh.org/aki/2ch/current/bbs/

参照事項(分析)>>754
access.logについて >>757-759 >>795 >>800

実装・検討待ち
Content-Length >>407 >>513 >>566 >>583 >>655 >>661 >>668 >>674 >>720 >>740 >>766
PATH_INFO >>532-534 >>497 >>502 >>555
fread() >>556
ressplitter_split() >>754 >>756
zz_GetEnv() >>768
CUTRESLINK >>765(imode)
COOKIE >>794 >>810
dat,kako >>799 >>801-802 >>805-809
zlib.h問題
bzip >>819
r2chhtml.h >>462 >>463 >>493 >>499 >>507 >>762
r2chhtml.hいろいろ http://natto.2ch.net/test/read.cgi?bbs=hp&key=998774537
その他 http://www.gedoh.org/aki/2ch/tiki/ にいろいろ

821 :仕様無しさん ◆NwLv.g/w :01/08/28 17:03 ID:tQvMUhz.
>819
 http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998736516&st=666&to=666&nofirst=true

822 :♯6411 :01/08/28 17:04 ID:ft1AuJx2
>>819 ちなみにbzip2エンコードはかなり時間喰います。
デコードもそれなりに時間喰います。

ファイルサイズが大きくないんだったら
まー、何とかなるかな、ってところかな。

将来的に、特定のUAが
Accept-Encoding: x-bzip2
を吐くのが、いいんじゃないかな。

823 :|  - -) :01/08/28 17:11 ID:vBFldHfk
dat吐き機能実装です。
1行目をステータスラインとして使うようにし、送られた最終レス && サイズと内容が
違う場合は全体を送信するようにしました(簡易あぼーん対策)。
# いや、本当は全体を送信するなんてムダっつーことは十分分かっているのですけど

824 :デフォルトの名無しさん :01/08/28 17:36 ID:/J/VCZIY
判定は1バイト見れば十分だと思いますよ。かちゅ〜しゃやホットゾヌは
1バイトだけ見ていますがそれでほとんど誤判定はしません(すくなくとも
私は一度も遭遇したことはない)。
どうせまったく同じレスが連続していれば誤判定の可能性は残りますし。

825 :|  - -) :01/08/28 17:48 ID:vBFldHfk
>>824
えーと、「最終レス」は「最終レス番号」のことなんです。
で、サイズっていうのはそのレス番までのデータサイズです。
# これだけで判定できるかなぁ

826 :♯6411 :01/08/28 17:54 ID:ft1AuJx2
わりと有用だと思われる
新仕様を実装したので
イプークしよう。ウマー

これで、随所にあるアンカーのサイズが縮め
られるんじゃないかなっと。

827 :VC++まだ箱のなか厨房(w :01/08/28 17:56 ID:BD3EkxyY
このスレを見ていると、2ちゃんよりもみなさんの仕事の方が心配に
なるんですが・・・仕事は2ちゃんより優先してくださいね、、。

828 :名無し娘。 ◆vP.bOZFQ :01/08/28 18:01 ID:vA2A8wXI
>>825
透明あぼーんされた直後、透明あぼーんされた行と同じデータサイズの行が
書き込まれた場合。
通常あぼーん前と通常あぼーん後で、あぼーんされた行のデータサイズが
変わらなかった場合。
・・・くらいでしょう(笑
問題ないと思います。

829 :♯6411 :01/08/28 18:03 ID:ft1AuJx2
>>827 それは言わない約束、ちうことで(w

830 :名無しさん@揚げ足 :01/08/28 18:04 ID:/PUWXyoI
>>のURLをテレホでカットするとして、それとは別に
ref=を1レス用としてしてはどうでしょう
例えば&st=xxx&to=xxx&nofirst=trueが&ref=xxxとなるように
read.cgiで置き換えればテレホ外での転送量が減る

831 :名無し娘。 ◆vP.bOZFQ :01/08/28 18:06 ID:vA2A8wXI
>>830
rはrawで予約されましたから、onlyとかどうでしょう。

832 :♯6411 :01/08/28 18:07 ID:ft1AuJx2
>>830 それは
href="xxx"
になるだろう、近い将来。
read.cgiは、ただいま対応した。

833 :名無しさん@揚げ足 :01/08/28 18:09 ID:/PUWXyoI
>>832
ご苦労様です
むちゃくちゃ早いんで驚いてます

834 :仕様無しさん ◆NwLv.g/w :01/08/28 18:26 ID:pAh9w2Cg
>>で1レスを指しているとき(かつ表示している範囲内)にhref="#xxx"にできれば
ましにできるかな?
全レスにNAME/ID属性つけるサイズ増加とどっちが影響大きいかが問題だけど...

835 :名無し娘。 ◆vP.bOZFQ :01/08/28 18:45 ID:vA2A8wXI
>>xxx のときは nofirst つくのに >>xxx-yyy の時はつかないのね。

>>832 >>834
混乱ちう。この2つは違うことをいってるんですよね??
>>831 は単に&st=xxx&to=xxx&nofirst=trueが&ref=xxxを&o=xxxにread.cgiが
置換して送信し、かつ&o=xxxを解釈できるようにするという意味です。

836 :デフォルトの名無しさん :01/08/28 18:47 ID:6S1uJJBo
>835 832の方はPATH_INFOでの実装で 834の方は<a name="...">にアンカーで飛ばす
ということと思われ

837 :名無しさん@揚げ足 :01/08/28 18:55 ID:/PUWXyoI
>>835-836
最初私が提案したのが&o=xxx方式で、>>832さんのが、
表示中へのリンクを<a href=#1>と<a name=1>で、
表示外へのリンクを<a href=URL#1>として
read.cgiが解析して1レス表示?と理解してました
で、>>832が短いからそれがいいやと思ってました

838 :デフォルトの名無しさん :01/08/28 19:00 ID:l7CNGdzg
>>834
俺もそれ思ったんだけど、試してみたらスレによって違ってよくわからんかった。
で、しかも>>のリンクはbbs.cgiでの書き込み時点で既に書かれてるので、name=""にしたら一画面内に収まってないときが問題。

ていうかむしろ>>のリンクは要らない気がする。強調表示さえしてくれればそれで。
1レスのためにそこをクリックすることってかなり少ない気が。

839 :838 :01/08/28 19:02 ID:l7CNGdzg
なんかよく読んでると凄く既出な発言。
…すまそ。

840 :仕様無しさん ◆NwLv.g/w :01/08/28 19:03 ID:pAh9w2Cg
表示範囲内なら撤廃、範囲外ならテレホ時撤廃、かな...

841 :デフォルトの名無しさん :01/08/28 19:05 ID:l7CNGdzg
ていうかよく考えると、タグってgzipの符号化でかなり削られてる気がなきにしもあらず…。

842 :仕様無しさん ◆NwLv.g/w :01/08/28 19:09 ID:pAh9w2Cg
それでもさらに削ることを考えるのが我々。

843 :名無し娘。 ◆vP.bOZFQ :01/08/28 19:11 ID:vA2A8wXI
>>836
理解理解。。。
今ここで動いてるread.cgi ver5.10は、-DUSE_PATHしてないんでしたっけ。
>>837
まったく同じ考えしとりました。
>>838-840
>>xxxがリンクしてくれないことで、http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998845501
なんてリクエストが増える副作用があるような気も。。。

844 :デフォルトの名無しさん :01/08/28 19:11 ID:l7CNGdzg
>>842 …ナルホド。
ていうかやっぱり
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
も削っちゃうべきだと思うんですが…。

845 :名無し娘。 ◆vP.bOZFQ :01/08/28 19:17 ID:vA2A8wXI
>>844
細かいこというなら、ついでに
「板に戻る」「全レス」「次100」「前100」「新100」とかに。。。
「投稿日」は「DATE」
全角":"は半角に。
E-mail(省略化)の「省略化」っていまさら必要か?とか。

846 :デフォルトの名無しさん :01/08/28 19:23 ID:Cku4HR92
>>819
串作っちゃう方が楽じゃない?
これならブラウザに依存しないし。

847 :仕様無しさん ◆NwLv.g/w :01/08/28 19:23 ID:pAh9w2Cg
index2の "投稿日" が削られてるから、readも削ってしまおう。

848 : ̄ー ̄)ノ :01/08/28 19:22 ID:v7eg0GVU
>>767
スマソ
ファイル名間違ってた
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/read2ch.15.h
です
http://star.endless.ne.jp/users/forcount/4countbbs/scriptmaker/index.html
も書き直しておきました

849 :  :01/08/28 19:26 ID:lS4qix3Q
E-mailもMailでよさそう。

850 :デフォルトの名無しさん :01/08/28 19:28 ID:b2fCV.i2
それならいっそうのことIDの文字数削れないの?

851 :音楽侍 ◆NtVkSITE :01/08/28 19:28 ID:9soq5dsg
お疲れさまです。
そろそろ次スレですね。
次からタイトルは、「read.cgi改良」で行った方がよいと思いますが、いかがでしょう?
名無し娘。さん、このスレのテンプレート、ありましたでしょうか?

852 :名無しさん@揚げ足 :01/08/28 19:37 ID:/PUWXyoI
さらに
>>852←自爆はリンクを削るとか

853 :|  - -) :01/08/28 19:38 ID:vBFldHfk
>>843
-DUSE_PATHは5.10が出来た後に突っ込んだので。

-DRAWOUTの方は一度ツールの作者の方々に見てもらう必要があるなぁ。
ツールの方が対応しないとどうしようもない。

854 :デフォルトの名無しさん :01/08/28 19:50 ID:6S1uJJBo
>>852 未来へ誤爆というのもある(w

855 : ̄ー ̄)ノ :01/08/28 19:54 ID:QCobdrY2
そして、コピペされた誤爆もある
(これだけはどうしようもなさそうだ)

856 :名無し娘。 ◆vP.bOZFQ :01/08/28 19:58 ID:vA2A8wXI
>>851
ぼちぼち立てて参ります。

857 : ̄ー ̄)ノ :01/08/28 20:00 ID:QCobdrY2
read.cgi最新版
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/read2ch/read.c
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/read2ch/r2chhtml.h
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/read2ch/read2ch.h
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/read2ch/util_date.h
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/read2ch/util_date.c
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/read2ch/Makefile.txt
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/read2ch/TAGS.txt

キャッシュ型負荷分散システム最新版
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/mirror/index2.pl.2
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/mirror/mirror.pl.2

他に2ch系最新コードってありますか?

858 :デフォルトの名無しさん :01/08/28 20:02 ID:Os46TJAs
>>857
read.cgiはcvsからの自動反映があるよ。
http://www.gedoh.org/aki/2ch/current/bbs/

859 : ̄ー ̄)ノ :01/08/28 20:05 ID:QCobdrY2
>>858
http://star.endless.ne.jp/users/forcount/4countbbs/scriptmaker/index.html
も、
http://www.gedoh.org/aki/2ch/current/bbs/
の同期を一応してます

860 : ̄ー ̄)ノ :01/08/28 20:06 ID:QCobdrY2
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/read2ch/read.c
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/read2ch/r2chhtml.h
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/read2ch/read2ch.h
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/read2ch/util_date.h
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/read2ch/util_date.c
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/read2ch/Makefile.txt
http://star.endless.ne.jp/users/forcount/contents/scriptmaker/read2ch/TAGS.txt

http://www.gedoh.org/aki/2ch/current/bbs/
の同期ファイル達(一応)

861 :名無し娘。 ◆vP.bOZFQ :01/08/28 20:08 ID:vA2A8wXI
いろいろ編集中なのでちょっと待ってね>新スレ

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 そうするよりないよね

866 :|  - -) :01/08/28 20:19 ID:vBFldHfk
>>863
zlibをソースからコンパイルしてライブラリとして組み込む、というMakefileを作ったんだけど...。
具体的には http://www.gzip.org/zlib.tar.gzからアーカイブを取得 → make → libz.a作成 → read.cgiにリンク
を一気に行う。でも一般の環境だとただのムダなのでcommitを見合わせています。

867 :デフォルトの名無しさん :01/08/28 20:21 ID:Os46TJAs
>>866
zlib.tar.gzがなければdownload、と一段かましてくれれば十分では

868 :名無し娘。 ◆vP.bOZFQ :01/08/28 20:23 ID:vA2A8wXI
実装・検討待ちの案一覧

Content-Length >>407 >>513 >>566 >>583 >>655 >>661 >>668 >>674 >>720 >>740 >>766
PATH_INFO >>532-534 >>497 >>502 >>555 >>832
fread() >>556
ressplitter_split() >>754 >>756
zz_GetEnv() >>768
CUTRESLINK >>765(imode)
COOKIE >>794 >>810
dat,kako >>799 >>801-802 >>805-809 >>823-825 >>828 >>853
>>のリンク >>830-835 >>838-843 >>852 >>854
zlib.h問題 >>862-863 >>865-867
bzip >>819 >>821-822 >>846 >>865
r2chhtml.h >>462 >>463 >>493 >>499 >>507 >>762 >>844-845
r2chhtml.hいろいろ http://natto.2ch.net/test/read.cgi?bbs=hp&key=998774537
設定の外部化 FORCE_304_TIME LIMIT_PM LIMIT_AM CUTRESLINK(LIMIT_xMと別にする)
その他 http://www.gedoh.org/aki/2ch/tiki/ にいろいろ

869 :デフォルトの名無しさん :01/08/28 20:23 ID:/foo1b.s
>>866
えと、bbs の下に zlib-1.1.3 の archive を展開しちゃったのを commit
してもいいんじゃないかな? 723KB っていう容量が必要になっちゃうけど、
夜勤さんに compile & install を頼むとき、いらない trouble は減ると
思うし。

870 :デフォルトの名無しさん :01/08/28 20:24 ID:Os46TJAs
>>868
>>556 のfread()はcvsにあてときました

871 :デフォルトの名無しさん :01/08/28 20:26 ID:2O23P606
Content-Lengthのことですが、pipeでzlibやgzipの出力を拾うのは
かなりつらいようです。
具体的に言うと、pipeが詰まっちゃうのをさけるため、一文字送っては
様子を伺うことになります。

shmやtmpfileを使うとカーネルやdiskのお世話になるので、
zlibをちょっと改造して組み込んじゃうのが最も良い方法でしょう。

872 :名無し娘。 ◆vP.bOZFQ :01/08/28 20:26 ID:vA2A8wXI
新スレです。。ちょっと失敗しちゃった。
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998997848&ls=20

873 :デフォルトの名無しさん :01/08/28 20:28 ID:Cku4HR92
>>865
そです。
串でAccept-Encodingにx-bzip2とかを付加させて
受けたデータがContent-Encoding: x-bzip2だったら
受信データを展開してブラウザに渡す、って感じで。

874 :|  - -) :01/08/28 20:34 ID:vBFldHfk
>>867 >>869
tar, wget がないという最悪の場合を考えて、CVSリポジトリに含める方向でいきましょう。
現在いらないファイルを削除中。
# tarがないなんて考えられないけど

以降新スレで。

875 :名無し娘。 ◆vP.bOZFQ :01/08/29 02:17 ID:moOhcWuk
実装・検討待ちの案一覧:@付きは次スレ(^^;

Content-Length >>407 >>513 >>566 >>583 >>655 >>661 >>668 >>674 >>720 >>740 >>766 >>871 >>@35-36
PATH_INFO >>532-534 >>497 >>502 >>555 >>832
ressplitter_split() >>754 >>756
zz_GetEnv() >>768
CUTRESLINK(imode) >>765
COOKIE >>794 >>810
dat,kako >>799 >>801-802 >>805-809 >>823-825 >>828 >>853
>>のリンク >>830-835 >>838-843 >>852 >>854
zlib.h問題(解決?) >>862-863 >>865-867 >>869 >>874 >>@14
bzip >>819 >>821-822 >>846 >>865 >>873
isbusy isimode isnofirst >>@41 >>@101 >>@123
スレスト時FORM >>@11
r2chhtml.h >>462 >>463 >>493 >>499 >>507 >>762 >>844-845 >>@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/ にいろいろ

876 :ヒロユキ@ギコナビ :01/08/30 12:03 ID:XHwJLJWU
2ちゃんねる閲覧ツールの話はココで行ってよろしいですか?
read.cgi経由のdat読みの仕様が書いてあるスレはありますでしょうか?

877 :デフォルトの名無しさん :01/08/30 12:14 ID:UyZTu/nQ
>>876
おお、ツール作者さんだ...

今、下のあたりで開発が進められていて、dat形式についての議論もされているようなので、
そちらに行かれるとよいかもしれません。

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

878 :ヒロユキ@ギコナビ :01/08/30 12:41 ID:XHwJLJWU
あっ。すみません。
read.cgi改良スレに行きます。

879 :パンティーはいたまま排便、好きな人 :01/09/01 01:39 ID:OK9pI4Co

パンティーはいたまま排便、好きな人
パンティーはいたまま排便、好きな人
パンティーはいたまま排便、好きな人
パンティーはいたまま排便、好きな人
パンティーはいたまま排便、好きな人
パンティーはいたまま排便、好きな人
パンティーはいたまま排便、好きな人
パンティーはいたまま排便、好きな人
パンティーはいたまま排便、好きな人
パンティーはいたまま排便、好きな人
パンティーはいたまま排便、好きな人
パンティーはいたまま排便、好きな人
パンティーはいたまま排便、好きな人
パンティーはいたまま排便、好きな人
パンティーはいたまま排便、好きな人
パンティーはいたまま排便、好きな人
パンティーはいたまま排便、好きな人
パンティーはいたまま排便、好きな人
パンティーはいたまま排便、好きな人
パンティーはいたまま排便、好きな人
パンティーはいたまま排便、好きな人
パンティーはいたまま排便、好きな人
パンティーはいたまま排便、好きな人
パンティーはいたまま排便、好きな人
パンティーはいたまま排便、好きな人
パンティーはいたまま排便、好きな人
パンティーはいたまま排便、好きな人
パンティーはいたまま排便、好きな人
パンティーはいたまま排便、好きな人

880 :デフォルトの名無しさん :01/09/01 05:55 ID:vuIzJ4nA
てすと
>>0-999
>>0-9999
>>50-1

881 :デフォルトの名無しさん :01/09/01 10:12 ID:oTjIe9p2
またてすと
>>5-
>>20-20
>>0-0
>>30-40-50
>>893419413964319-431291479143941334

882 :デフォルトの名無しさん :01/09/01 14:34 ID:/IvlKP0E
>879
荒らしが「sage」で書き込んでいるの見て笑った・・・

883 :デフォルトの名無しさん :01/09/07 22:30
応援することしかできないから
dat落ち阻止sage

884 :scabbers,... :01/09/16 00:33
各スレッドのトップ(www.2ch.com/info.htmlから飛ぶページページ)
を開こうとすると、圧縮版、非圧縮版ともに、途中でHTMLの所得が中断
されてしまいます。
どうしてなのでしょうか?

OS: Windows2000
ブラウザ: IE 6.00.2462
接続環境: DTI プロクシ無し

885 :名無したんに接続中・・・ :01/09/16 01:16
>>884
ワラタ、.comじゃないぞ

2chの動作報告はここで。
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=998808733

886 :packetmonster :01/09/16 01:41
CGIのパラメータをパス使って渡すってのはどうかね?既出かね?
今見てるURLはブラウザが知ってるから、板とかスレとかの指定が省略できるでは?

887 :packetmonster :01/09/16 01:45
あと、外部リンクのtargetも気になるな。
ページのリンク数を調べて、外部リンクが多いページはheadに指定しとく手もあるね。

888 :名無したんに接続中・・・ :01/09/16 02:26
read.cgi改良スレッド 2
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=1000035521

次の次のスレにすでに移っているので、そちらで。

272KB
新着レスの表示

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

0ch BBS 2004-10-30