■スレッドリストへ戻る■ 全部 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

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