■スレッドリストへ戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 最新50
プログラマが2chを救う!?2
- 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行目に書くといいらしいぞ。
272KB
新着レスの表示
スレッドリストへ戻る 全部 前100 次100 最新50
0ch BBS 2004-10-30