bbs.cgiの開発作業をすすめていくためのスレッドです。
FOXさんの努力によりSpeedyCGIへの対応が行われ、
パフォーマンスの向上が図られたbbs.cgi。
・雪だるま作戦への対応
・さらなるカスタマイズ
・パフォーマンスの向上
・微妙な虫取り
・長いメインルーチンをより短くコンパクトに
あたりがターゲットか。
前スレ:
bbs.cgi再開発プロジェクト6
http://qb5.2ch.net/test/read.cgi/operate/1113117347/
探検
bbs.cgi再開発プロジェクト7
■ このスレッドは過去ログ倉庫に格納されています
1root▲ ★
NGNG2005/11/08(火) 19:34:21ID:NjmJiyb00
subject.txtから読む場合は、スレのタイトルに「<>」「(」「)」とか半角スペースが
入ってるとsplitで面倒になるかもね。出来るだけsubstr使うべきなんだろうな。
datファイルの行数調べるには・・・unixのwcコマンド使うとかw
入ってるとsplitで面倒になるかもね。出来るだけsubstr使うべきなんだろうな。
datファイルの行数調べるには・・・unixのwcコマンド使うとかw
77root▲ ★
2005/11/08(火) 19:34:42ID:???0 出先に移動。10分ぐらい時間が。
>>75
ひとつ、書き忘れていたです。
どうせ必要になるので、
datを読んだ時には、つまりGetResNumFromDatが呼ばれた時には、
そのdat内の>>1と、以下の条件(*1)で抽出した行のdatは、
内容を保存しておきたいですね。
つまり、datを複数回読み込みモードでopenしたくないわけです。
(*1)if BBS_CONTENTS_NUMBERよりもレス数が多い
お尻のBBS_CONTENTS_NUMBER行ぶんのdatの内容を保存
else
頭の >>2 〜 最後の行までのdatの内容を保存
これは、html/ の下のファイルを作るのに使っているですよ。
保存は、、、そうすね、
$GB->{DAT1} 文字列変数
$GB->{DATLAST} 文字列配列変数
っていうことにするか。
で、たぶんほんとは、subject.txt 的に上位のやつだけ作れるともっといいわけですが、
(つまり実際に index.html を合成する時に使うものだけ)
今は pageview.cgi があった時のコードのままになっているです。
つまり、1000個datがあれば、html/ の下のファイルも1000個あるです。
これは、別に考えることにしよう。
>>75
ひとつ、書き忘れていたです。
どうせ必要になるので、
datを読んだ時には、つまりGetResNumFromDatが呼ばれた時には、
そのdat内の>>1と、以下の条件(*1)で抽出した行のdatは、
内容を保存しておきたいですね。
つまり、datを複数回読み込みモードでopenしたくないわけです。
(*1)if BBS_CONTENTS_NUMBERよりもレス数が多い
お尻のBBS_CONTENTS_NUMBER行ぶんのdatの内容を保存
else
頭の >>2 〜 最後の行までのdatの内容を保存
これは、html/ の下のファイルを作るのに使っているですよ。
保存は、、、そうすね、
$GB->{DAT1} 文字列変数
$GB->{DATLAST} 文字列配列変数
っていうことにするか。
で、たぶんほんとは、subject.txt 的に上位のやつだけ作れるともっといいわけですが、
(つまり実際に index.html を合成する時に使うものだけ)
今は pageview.cgi があった時のコードのままになっているです。
つまり、1000個datがあれば、html/ の下のファイルも1000個あるです。
これは、別に考えることにしよう。
78root▲ ★
2005/11/08(火) 19:38:36ID:???0 index.html 合成するところで、判定すりゃいいのか。
1000000000.dat に対する html/1000000000.html の最新版が必要になったら、
html/1000000000.html と 1000000000.dat の mtime を調べて、
(この時点では dat への追記は終わっているものとする)
もし html のほうの mtime のほうが古かったら、dat から html を合成するサブルーチンを呼べばいいと。
1000000000.dat に対する html/1000000000.html の最新版が必要になったら、
html/1000000000.html と 1000000000.dat の mtime を調べて、
(この時点では dat への追記は終わっているものとする)
もし html のほうの mtime のほうが古かったら、dat から html を合成するサブルーチンを呼べばいいと。
79root▲ ★
2005/11/08(火) 19:38:50ID:???0 さて、いったん時間切れ。
またのちほど。
またのちほど。
81root▲ ★
2005/11/08(火) 19:39:43ID:???0 で、$GB->{SABORIN} がtrueだったら、このへんの処理はキャンセルできると。
>内容を保存しておきたいですね。
それがうまくいけば楽なんですけどね、
bbs.cgi が非同期で同時に 30本とか走っているんですよ。
FIFOとかじゃなくてさ、
「どれが最後に終わるかわからない」という話だったり、
平気で後から来たのが追い越していきます。
それとの戦いの痕跡かと、
それがうまくいけば楽なんですけどね、
bbs.cgi が非同期で同時に 30本とか走っているんですよ。
FIFOとかじゃなくてさ、
「どれが最後に終わるかわからない」という話だったり、
平気で後から来たのが追い越していきます。
それとの戦いの痕跡かと、
2005/11/08(火) 20:14:25ID:2de4x2Mv0
$GB->{DAT1} = <DAT>;
@{$GB->{DATLAST}} = <DAT>;
$resnum = $.;
if ( @{$GB->{DATLAST}} > BBS_CONTENTS_NUMBER ) {
@{$GB->{DATLAST}} = splice(@{$GB->{DATLAST}}, -BBS_CONTENTS_NUMBER);
}
こんな感じになるんかな
でも>>83なのね
@{$GB->{DATLAST}} = <DAT>;
$resnum = $.;
if ( @{$GB->{DATLAST}} > BBS_CONTENTS_NUMBER ) {
@{$GB->{DATLAST}} = splice(@{$GB->{DATLAST}}, -BBS_CONTENTS_NUMBER);
}
こんな感じになるんかな
でも>>83なのね
85root▲ ★
2005/11/08(火) 21:04:50ID:???0 >>83
ですね。
今のやつは、なんでもかんでもdat読んで配列に突っ込んで、
配列の要素数数えて、
BBS_CONTENTS_NUMBERより大ならおしりから、
より小ならあたまからhtmlにして、html/html に入れ込む
みたいなことをやっているです。
で、1000行以上あったら、1000超え判定していたりするです。
つまり、datの読み込みモードでのオープンは1回で済んでいるものの、
毎回datを全行絶対なめなめしているわけです。
このへんをなんとかしたいかなぁと。
ですね。
今のやつは、なんでもかんでもdat読んで配列に突っ込んで、
配列の要素数数えて、
BBS_CONTENTS_NUMBERより大ならおしりから、
より小ならあたまからhtmlにして、html/html に入れ込む
みたいなことをやっているです。
で、1000行以上あったら、1000超え判定していたりするです。
つまり、datの読み込みモードでのオープンは1回で済んでいるものの、
毎回datを全行絶対なめなめしているわけです。
このへんをなんとかしたいかなぁと。
86root▲ ★
2005/11/08(火) 21:11:57ID:???0 で、>>83 のこころは、
「subject.txt からとろうというのは誰もが思いつくわけだけど、
それって所詮非同期なんじゃないのかしら」
ってゆうことですよね。
ううむ。
> if ($resnum <= 0 || $resnum > 990)
ここを 900 とかかなぁ。
「subject.txt からとろうというのは誰もが思いつくわけだけど、
それって所詮非同期なんじゃないのかしら」
ってゆうことですよね。
ううむ。
> if ($resnum <= 0 || $resnum > 990)
ここを 900 とかかなぁ。
2005/11/08(火) 21:23:18ID:xTFEnbVV0
subject.txt更新前に別のbbs.cgiが参照するとずれるような希ガス
っていうかずれたからdat読みになったんじゃ?(違うかも)
っていうかずれたからdat読みになったんじゃ?(違うかも)
88root▲ ★
2005/11/08(火) 21:28:11ID:???089▲ ◆cZfSunOs.U
2005/11/08(火) 21:35:48ID:+RowFQSH0 まぁ,bbs.cgi やその他各種呪文用 CGI と bbsd との I/F が完成したら,
雪だるま系鯖以外でも bbsd を使うという選択肢もあるのでしょうけど.
雪だるま系鯖以外でも bbsd を使うという選択肢もあるのでしょうけど.
2005/11/08(火) 22:05:38ID:xTFEnbVV0
92root▲ ★
2005/11/09(水) 00:55:26ID:???0 subject.txtから取ったレス数よりも実際のdatの行数がいくつか増えてしまっていてもいい、
ぐらいの感覚で書きました。
ただ、900超えたあたりからはクリティカルか。
いずれにせよ、毎回全読みするコストを何とか下げられないかな、というのが、
subject.txtからとる趣旨なわけで、それが期待できないなら、
単にサブルーチン化して、整理整頓するだけかなぁと。
# おじさん、インテンショナルな徹夜で時差調整中?
ぐらいの感覚で書きました。
ただ、900超えたあたりからはクリティカルか。
いずれにせよ、毎回全読みするコストを何とか下げられないかな、というのが、
subject.txtからとる趣旨なわけで、それが期待できないなら、
単にサブルーチン化して、整理整頓するだけかなぁと。
# おじさん、インテンショナルな徹夜で時差調整中?
>subject.txtから取ったレス数よりも実際のdatの行数がいくつか増えてしまっていてもいい、
>ぐらいの感覚で書きました。
わたしもその意見には賛成で、実は以前それを実験しました。
で、結果はというと、
惨憺たるものだったかと、たしか専用ブラウザが困ってしまうんじゃなかったかと、
もう何年も前の話で忘れちまったが、
眠くなったら寝るというみだらな作戦です。
>ぐらいの感覚で書きました。
わたしもその意見には賛成で、実は以前それを実験しました。
で、結果はというと、
惨憺たるものだったかと、たしか専用ブラウザが困ってしまうんじゃなかったかと、
もう何年も前の話で忘れちまったが、
眠くなったら寝るというみだらな作戦です。
94root▲ ★
2005/11/09(水) 01:00:45ID:???0 >>93
で、900超えたらsubject.txtを信用するのやめて、
今までの方法でdatを読んじゃおうという、日和見風見鶏作戦かなぁと。
で、900をできるだけ1000に近づける方向でがんがってみると。
で、900超えたらsubject.txtを信用するのやめて、
今までの方法でdatを読んじゃおうという、日和見風見鶏作戦かなぁと。
で、900をできるだけ1000に近づける方向でがんがってみると。
「dat と subject.txt のずれを許容してくれない」
とっても厳密に扱われているというのが問題だと思います。
900 とか 980 のことじゃなく
とっても厳密に扱われているというのが問題だと思います。
900 とか 980 のことじゃなく
96root▲ ★
2005/11/09(水) 01:02:54ID:???02005/11/09(水) 01:18:58ID:svPRiUsW0
現状でも、スレスト時にsubject.txtが変更されないため
subject.txtと実際の行数が一致しなくなり
毎回のように取得に行ってしまうクライアントもありますよ。
subject.txtと実際の行数が一致しなくなり
毎回のように取得に行ってしまうクライアントもありますよ。
98動け動けウゴウゴ2ちゃんねる
2005/11/09(水) 01:19:33ID:rY6bA6aZ0 それはそのブラウザの作りが悪い
100root▲ ★
2005/11/09(水) 01:36:13ID:???0 >>99
Saborin は確かに、結構効果ありますね。
Saborin = index.html / subback.html の更新をまばらにする
ただし subject.txt は更新する
ex系とlive系で絶賛動作中
SaborinはLAが閾値を超えると自動的に発動
cobra=30 / tiger=20 / banana=4
Saborin は確かに、結構効果ありますね。
Saborin = index.html / subback.html の更新をまばらにする
ただし subject.txt は更新する
ex系とlive系で絶賛動作中
SaborinはLAが閾値を超えると自動的に発動
cobra=30 / tiger=20 / banana=4
103root▲ ★
2005/11/09(水) 01:43:13ID:???0 で、狼やらVIPやらanimeサーバやらで 500 エラーが起こりやすい理由の一端は、
>>80 が原因の予感のもより。
>>80 が原因の予感のもより。
>>103
まだまだあちこちにありますからねぇ
まだまだあちこちにありますからねぇ
105root▲ ★
2005/11/09(水) 01:53:07ID:???0106root▲ ★
2005/11/09(水) 04:04:11ID:???0 結局、
・まずは従来通りdatから全部とることにして、クリーンナップをすすめる
ことにしました。
コストは、かわんないですもんね。
で、GetDatInfoを書きました。
>>84 さんに感謝です。
#############################################################################
# 処理中のdatの情報を$GBにセットする
# $GB->{DATNUM}, $GB->{DAT1}, $GB->{DATLAST}
#############################################################################
sub GetDatInfo
{
my ($GB, $outdat) = @_;
my $datfile = $GB->{DATPATH} . $GB->{FORM}->{'key'} . ".dat";
my $datlastnum = $FOX->{$GB->{FORM}->{bbs}}->{"BBS_CONTENTS_NUMBER"};
if($GB->{NEWTHREAD})
{
# 新スレの場合
$GB->{DAT1} = $outdat;
$GB->{DATNUM} = 1;
@{$GB->{DATLAST}} = ();
}
else
{
# レスの場合
open(DAT,"<$datfile");
$GB->{DAT1} = <DAT>;
@{$GB->{DATLAST}} = <DAT>;
$GB->{DATNUM} = $.;
close(DAT);
if (@{$GB->{DATLAST}} > $datlastnum)
{
@{$GB->{DATLAST}} = splice(@{$GB->{DATLAST}}, -$datlastnum);
}
}
return 0;
}
・まずは従来通りdatから全部とることにして、クリーンナップをすすめる
ことにしました。
コストは、かわんないですもんね。
で、GetDatInfoを書きました。
>>84 さんに感謝です。
#############################################################################
# 処理中のdatの情報を$GBにセットする
# $GB->{DATNUM}, $GB->{DAT1}, $GB->{DATLAST}
#############################################################################
sub GetDatInfo
{
my ($GB, $outdat) = @_;
my $datfile = $GB->{DATPATH} . $GB->{FORM}->{'key'} . ".dat";
my $datlastnum = $FOX->{$GB->{FORM}->{bbs}}->{"BBS_CONTENTS_NUMBER"};
if($GB->{NEWTHREAD})
{
# 新スレの場合
$GB->{DAT1} = $outdat;
$GB->{DATNUM} = 1;
@{$GB->{DATLAST}} = ();
}
else
{
# レスの場合
open(DAT,"<$datfile");
$GB->{DAT1} = <DAT>;
@{$GB->{DATLAST}} = <DAT>;
$GB->{DATNUM} = $.;
close(DAT);
if (@{$GB->{DATLAST}} > $datlastnum)
{
@{$GB->{DATLAST}} = splice(@{$GB->{DATLAST}}, -$datlastnum);
}
}
return 0;
}
107root▲ ★
NGNG BBS.CGI - 2005/11/09
雪だるまに向けたクリーンナップ大作戦 その3
・GetDatInfo (>>106) を作り、datへの追記(新スレでは作成)直後に呼ぶようにしました。
・datの情報はもっぱらここでとることにし、$GB に蓄えて使いまわすようにしました。
・html/ の下を作るところ(MakeWorkFile)では、datはオープンしなくしました。
・Over1000 をサブルーチン化して、GetDatInfo の直後に呼ぶようにしました。
・これでMakeWorkFile内から、1000超えチェックが分離できました。
雪だるまに向けたクリーンナップ大作戦 その3
・GetDatInfo (>>106) を作り、datへの追記(新スレでは作成)直後に呼ぶようにしました。
・datの情報はもっぱらここでとることにし、$GB に蓄えて使いまわすようにしました。
・html/ の下を作るところ(MakeWorkFile)では、datはオープンしなくしました。
・Over1000 をサブルーチン化して、GetDatInfo の直後に呼ぶようにしました。
・これでMakeWorkFile内から、1000超えチェックが分離できました。
108root▲ ★
NGNG subject.txt を作るところ
sage のほうが、処理工数が多いのね。
ちょっと目からうろこ。
sage のほうが、処理工数が多いのね。
ちょっと目からうろこ。
109root▲ ★
NGNG BBS.CGI - 2005/11/09a
# 051109a 雪だるまに向けたクリーンナップ大作戦 その4
# UpdateSubject (subject.txt作成) サブルーチン化
# いよいよ、神の領域の入り口に突入か by む
# 051109a 雪だるまに向けたクリーンナップ大作戦 その4
# UpdateSubject (subject.txt作成) サブルーチン化
# いよいよ、神の領域の入り口に突入か by む
110root▲ ★
NGNG # 051109b @newsub を @{$GB->{NEWSUB}} にして追放(UpdateSubjectに封じ込め) by む
本日はここまでの予定。
本日はここまでの予定。
111root▲ ★
NGNG で、わかってきたことは、
subject.txt って軽々しく作っている割に、
suback.html も index.html も /i/index.html (qb系 dso系 bbspinkのみ)も、
ぜーんぶ、これをベースにこしらえているらしいということだなぁ。
こりゃ、非同期にsubject.txtをなんてのは、とんでもない話だなぁ。
何が起きるか、予想もできないや。
というかたぶんもともと、宣撫らでの参照のために作ったんじゃなくて、
そうゆう内部処理のために、作ってるんだろうなぁ。
なぁ。
subject.txt って軽々しく作っている割に、
suback.html も index.html も /i/index.html (qb系 dso系 bbspinkのみ)も、
ぜーんぶ、これをベースにこしらえているらしいということだなぁ。
こりゃ、非同期にsubject.txtをなんてのは、とんでもない話だなぁ。
何が起きるか、予想もできないや。
というかたぶんもともと、宣撫らでの参照のために作ったんじゃなくて、
そうゆう内部処理のために、作ってるんだろうなぁ。
なぁ。
2005/11/09(水) 20:44:50ID:bCrNV8fy0
なぁ。
なぁ
その部分は歴代誰もさわっていない気がする
なぜなら太古のままの姿で残っているから、
しいていえば dat と subject のずれをなくすため
およびdjをなくすため、神か or トオルさんが2001年ころ手を加えたかと、
その部分は歴代誰もさわっていない気がする
なぜなら太古のままの姿で残っているから、
しいていえば dat と subject のずれをなくすため
およびdjをなくすため、神か or トオルさんが2001年ころ手を加えたかと、
2005/11/10(木) 00:14:57ID:QrzYKomJ0
|∀・)<そこに凶悪なすらいむが現れたっ!
2005/11/10(木) 16:46:58ID:ewPRrhz60
root探検隊2005秋
「驚愕! 未開の地bbs.cgiの奥地に謎の古代神殿subject.txt生成部を発見!?」
「驚愕! 未開の地bbs.cgiの奥地に謎の古代神殿subject.txt生成部を発見!?」
2005/11/10(木) 22:15:46ID:ww1y0hkN0
今日あたりから妙な動作をしてる気がするんだが、何かいじってる?
具体的には
・某板で、かなり時間を置いて違う内容を書き込もうとしても二重書き込みが出る
・しょうがないのでIP変えたら書き込めた
・IP変えた後、他の板に書き込んだら何故かcookie確認が出ない
出た現象としてはそれだけ。
どこの板とかは出さないので、回答には特に期待していないけど。
具体的には
・某板で、かなり時間を置いて違う内容を書き込もうとしても二重書き込みが出る
・しょうがないのでIP変えたら書き込めた
・IP変えた後、他の板に書き込んだら何故かcookie確認が出ない
出た現象としてはそれだけ。
どこの板とかは出さないので、回答には特に期待していないけど。
118root▲ ★
2005/11/10(木) 23:22:03ID:???02005/11/10(木) 23:50:38ID:r6yN1X4Qo
確認画面の話が出てるから、自分もちょっと
先日の京ぽんのID末尾o→0の関係でごちゃごちゃやってた以降
自分の味ぽんはどの板で書いても、回線切ろうが、電源切ろうが
確認画面が1度も出ないんですが、良いのでしょうか?
ごちゃごちゃの当日に指摘した時は流された気がしますが…
先日の京ぽんのID末尾o→0の関係でごちゃごちゃやってた以降
自分の味ぽんはどの板で書いても、回線切ろうが、電源切ろうが
確認画面が1度も出ないんですが、良いのでしょうか?
ごちゃごちゃの当日に指摘した時は流された気がしますが…
120root▲ ★
2005/11/10(木) 23:56:11ID:???02005/11/11(金) 00:11:52ID:NuFqu9WRo
2005/11/11(金) 00:30:50ID:NuFqu9WRo
2005/11/11(金) 01:22:19ID:NuFqu9WRo
128root▲ ★
2005/11/11(金) 02:50:50ID:???0 BBS.CGI - 2005/11/11
109 名前: ◆MUMUMUhnYI [sage] 投稿日:2005/11/11(金) 02:42:33 ID:d6RFRwJS0
・味ぽんでも投稿確認画面が出るように(虫取り)
・MakeWorkFile から緊急ストッパーを切り出し(Emerg1020 Emerg1050)
・UpdateSubback サブルーチン化
・MakeIndex4PC サブルーチン化
今日までで、bbs_main中から、だらだらと長くて保守性の悪い部分はなくなったはず
109 名前: ◆MUMUMUhnYI [sage] 投稿日:2005/11/11(金) 02:42:33 ID:d6RFRwJS0
・味ぽんでも投稿確認画面が出るように(虫取り)
・MakeWorkFile から緊急ストッパーを切り出し(Emerg1020 Emerg1050)
・UpdateSubback サブルーチン化
・MakeIndex4PC サブルーチン化
今日までで、bbs_main中から、だらだらと長くて保守性の悪い部分はなくなったはず
2005/11/11(金) 10:36:36ID:bijjdSzJ0
質問。味ぽん=京ぽん?
2005/11/11(金) 11:16:25ID:ujB+FScJ0
一般的な意味を聞いてるなら味ぽん!=京ぽん。JRCの出した初代AirH" Phoneの事と考えるのが普通。
MUMUMU氏の意図ならAirH" PHONE全部という可能性もあるな。
# もうAirH" PHONEというブランドは無いんだけども。
MUMUMU氏の意図ならAirH" PHONE全部という可能性もあるな。
# もうAirH" PHONEというブランドは無いんだけども。
2005/11/11(金) 11:44:53ID:bijjdSzJ0
>>130
やはりAirH"=京ぽんをもじって味ぽんに(りゃな解釈?
やはりAirH"=京ぽんをもじって味ぽんに(りゃな解釈?
132root▲ ★
2005/11/11(金) 11:53:17ID:???0 私の定義:
・味ぽん: AH-J3001V AH-J3002V AH-J3003S
これらはbbs.cgi内で特別扱いしています( o 表示のゆえん )。
京ぽんのbbs.cgiでの特別扱いは全廃されました。
PCと全く同じ扱いです。
今後出るWillcom端末は、特別扱いしたくないですね。
ちゃんとリファラ吐いて、クッキー食べてほしい。
・味ぽん: AH-J3001V AH-J3002V AH-J3003S
これらはbbs.cgi内で特別扱いしています( o 表示のゆえん )。
京ぽんのbbs.cgiでの特別扱いは全廃されました。
PCと全く同じ扱いです。
今後出るWillcom端末は、特別扱いしたくないですね。
ちゃんとリファラ吐いて、クッキー食べてほしい。
133root▲ ★
2005/11/11(金) 15:53:35ID:???0 bbs.cgi のぐろーばるーについてのチラシの裏
$FOX <= 船単位で設定 (基本的に出航時に1回設定される)
$GB <= 1トランザクション単位で設定 (1投稿ごとに設定される)
例えば、SETTING.TXT の値はこうやって得られるです。
・SETTING.TXTは出航時に読めばよい固定値だから$FOX
・でも板名はトランザクションごとに変わるから$GB
・その下に要素がぶらさがる
$FOX->{$GB->{FORM}->{'bbs'}}->{"BBS_CONTENTS_NUMBER"}
SpeedyCGIの特性を利用した、すごくよい使い分けと思います。
もしこれがなかったら、どうやってもカオスからは脱出できなかった。
他の処理系をまたぐ必要のあるぐろーばるーは、全部追放か$GBに押し込める方向で。
でないと、どれがどれなんだかちっとも。
で、概ねそれはできたような気がしているです。
といっても、ほとんどはおじさんがやったわけですが。
$FOX <= 船単位で設定 (基本的に出航時に1回設定される)
$GB <= 1トランザクション単位で設定 (1投稿ごとに設定される)
例えば、SETTING.TXT の値はこうやって得られるです。
・SETTING.TXTは出航時に読めばよい固定値だから$FOX
・でも板名はトランザクションごとに変わるから$GB
・その下に要素がぶらさがる
$FOX->{$GB->{FORM}->{'bbs'}}->{"BBS_CONTENTS_NUMBER"}
SpeedyCGIの特性を利用した、すごくよい使い分けと思います。
もしこれがなかったら、どうやってもカオスからは脱出できなかった。
他の処理系をまたぐ必要のあるぐろーばるーは、全部追放か$GBに押し込める方向で。
でないと、どれがどれなんだかちっとも。
で、概ねそれはできたような気がしているです。
といっても、ほとんどはおじさんがやったわけですが。
134root▲ ★
2005/11/11(金) 15:56:31ID:???0 で、該当部分。
# ちょっと感動した。
#設定ファイルを読む
sub foxReadSettings
{
my ($GB) = @_ ;
my $ita = $GB->{FORM}->{'bbs'} ;
$GB->{DEBUG} .= "SETTING.TXT よみこむ? $ita<br>";
if(defined($FOX->{$ita}))
{
$GB->{DEBUG} .= "SETTING.TXT 既に読み込み済みー(1)$ita<br>";
return 0;
}
$GB->{DEBUG} .= "SETTING.TXT よみこみー$ita<br>";
(以下略)
# ちょっと感動した。
#設定ファイルを読む
sub foxReadSettings
{
my ($GB) = @_ ;
my $ita = $GB->{FORM}->{'bbs'} ;
$GB->{DEBUG} .= "SETTING.TXT よみこむ? $ita<br>";
if(defined($FOX->{$ita}))
{
$GB->{DEBUG} .= "SETTING.TXT 既に読み込み済みー(1)$ita<br>";
return 0;
}
$GB->{DEBUG} .= "SETTING.TXT よみこみー$ita<br>";
(以下略)
2005/11/11(金) 16:22:24ID:JzwJQ4w9O
デバッグの部分はリリース時に外さないの?
144ヾ(゚パ)ノ ◆f0.zuburi6
2005/11/11(金) 18:58:25ID:10GttyzX0 めっ
2005/11/11(金) 23:03:06ID:HIL5rI6a0
通風こわいよ通風
147root▲ ★
NGNG 167 名前: ◆MUMUMUhnYI [sage] 投稿日:2005/11/12(土) 05:19:07 ID:axdTew+g0 ?###
BBS.CGI - 2005/11/12a
# 051112a 雪だるまに向けたクリーンナップ大作戦 その6
# $GB->{OUTDAT}, $GB->{LOGDAT}, $GB->{xID}, $GB->{xBE} 新設
# ResAnchor, MakeBEString, MakeIdStringAndLogdat, MakeLogdat,
# MakeOutdat, Update924, WriteDatFile 以上サブルーチン化 by む
これで、bbs_main の真ん中当たりにあったアドホックなワーク用変数を
ほとんど整理した。
明日あたりから、Check_HardPosting (連続投稿ですか?のところ)を見始めるか。
BBS.CGI - 2005/11/12a
# 051112a 雪だるまに向けたクリーンナップ大作戦 その6
# $GB->{OUTDAT}, $GB->{LOGDAT}, $GB->{xID}, $GB->{xBE} 新設
# ResAnchor, MakeBEString, MakeIdStringAndLogdat, MakeLogdat,
# MakeOutdat, Update924, WriteDatFile 以上サブルーチン化 by む
これで、bbs_main の真ん中当たりにあったアドホックなワーク用変数を
ほとんど整理した。
明日あたりから、Check_HardPosting (連続投稿ですか?のところ)を見始めるか。
148▲ ◆SANUKI/VII @焼きうどん ★
2005/11/12(土) 08:55:55ID:???P
149▲ ◆SANUKI/VII
NGNG ↑あら、ならなかったです
キャップ付けるとoutdatってなるだす
キャップ付けるとoutdatってなるだす
150root▲ ★
NGNG >>148-149
MakeOutdat をサブルーチン化する時に、
saku sakud saku2ch だけ特殊処理をしているところ
(これらは HOST: を表示しているが、キャップだとさらにそれらは出ない)
に、虫を入れてしまいました。
すみません。
2chの動作報告はここで。 パート18
http://qb5.2ch.net/test/read.cgi/operate/1131005961/173-192
MakeOutdat をサブルーチン化する時に、
saku sakud saku2ch だけ特殊処理をしているところ
(これらは HOST: を表示しているが、キャップだとさらにそれらは出ない)
に、虫を入れてしまいました。
すみません。
2chの動作報告はここで。 パート18
http://qb5.2ch.net/test/read.cgi/operate/1131005961/173-192
151root▲ ★
NGNG サブルーチンにして移動する時に、
色気心を起こして、処理の順番を変えてしまったです。
・虫がいた時
if (saku sakud saku2ch) {
if (capじゃない) {
datにHOST: が入ったのを作る
}
}
else
{
普通のdatを作る
}
・今(前と同じ)
普通のdatを作る
if (saku sakud saku2ch) {
if (catじゃない) {
datにHOST: が入ったのを作る
}
}
色気心を起こして、処理の順番を変えてしまったです。
・虫がいた時
if (saku sakud saku2ch) {
if (capじゃない) {
datにHOST: が入ったのを作る
}
}
else
{
普通のdatを作る
}
・今(前と同じ)
普通のdatを作る
if (saku sakud saku2ch) {
if (catじゃない) {
datにHOST: が入ったのを作る
}
}
152root▲ ★
NGNG153(^-^)犬 ◆VET4349ZB.
NGNG 猫? いや、何となくです。分かりますから、、、ゴメンチャイ
154動け動けウゴウゴ2ちゃんねる
2005/11/13(日) 02:31:52ID:eVSZ3HVd0 qb5用のbbs.cgiの存在は、なかなか微妙だと思います。
削除系全般のHOST処理とか、BBQで串マークとか、規制でもfusianaで書き込めるとか。
バグの温床。 if(板名)ってのはなんとかやめること出来ないのかなあ
と、中身を何も知らないのに言ってみるテスト
削除系全般のHOST処理とか、BBQで串マークとか、規制でもfusianaで書き込めるとか。
バグの温床。 if(板名)ってのはなんとかやめること出来ないのかなあ
と、中身を何も知らないのに言ってみるテスト
2005/11/13(日) 02:50:38ID:YDwKttrcP
qb5だけ別CGIにすれば?
2005/11/13(日) 03:02:06ID:YDwKttrcP
そこを何とかがんばれ!
158root▲ ★
NGNG timecount/timecloseの処理をしているところって、
ずいぶん、贅肉があるみたいな。
歴史的経緯ですか。
simplify したいけど、今はとりあえずこのままにしておくか。
ずいぶん、贅肉があるみたいな。
歴史的経緯ですか。
simplify したいけど、今はとりあえずこのままにしておくか。
あるファイルをbbs.cgiだけがさわっているのであればラッキー
その確証が得られないor得るのがめんどくさい → 放置
誰かが作った装置をさっさと取り外すのはやはり嫉妬の渦の中 → さわらぬなんとか
なんてのが bbs.cgi の歴史です
その確証が得られないor得るのがめんどくさい → 放置
誰かが作った装置をさっさと取り外すのはやはり嫉妬の渦の中 → さわらぬなんとか
なんてのが bbs.cgi の歴史です
160root▲ ★
NGNG >>159
> 誰かが作った装置をさっさと取り外すのはやはり嫉妬の渦の中 → さわらぬなんとか
そうゆうものですか、、、。
私なんか、あんまりそうゆうこと考えずについさわってしまうし、そのことをどんどん公開してしまうし。
だから、いかんのかしら。
> 誰かが作った装置をさっさと取り外すのはやはり嫉妬の渦の中 → さわらぬなんとか
そうゆうものですか、、、。
私なんか、あんまりそうゆうこと考えずについさわってしまうし、そのことをどんどん公開してしまうし。
だから、いかんのかしら。
161root▲ ★
NGNG もちろん理由がなければそういうことはやらないし、
基本的には全部表でやるわけですけど。
て裕香、表でやれないようなことは、やっぱ体にも心にもいくないっす。
せめて2ちゃんねるぐらいでは、そうゆうことはできるだけしたくないなと。
基本的には全部表でやるわけですけど。
て裕香、表でやれないようなことは、やっぱ体にも心にもいくないっす。
せめて2ちゃんねるぐらいでは、そうゆうことはできるだけしたくないなと。
162root▲ ★
NGNG 2ちゃんねるぐらい = 趣味の世界
ってことですね。
仕事の世界だと、なかなかそうもいかないわけで。
あとはMakeWorkFileをちょっと読んで、今日は中身はいじらずにもうねるか。
ってことですね。
仕事の世界だと、なかなかそうもいかないわけで。
あとはMakeWorkFileをちょっと読んで、今日は中身はいじらずにもうねるか。
2005/11/13(日) 08:17:00ID:ANRcdU0J0
(雑談スマソ)
>>161そこで裕香と誤変換しますか。彼女とか娘とか、はたまた平田裕香のファンなのか・・・チョイキニナル
>>161そこで裕香と誤変換しますか。彼女とか娘とか、はたまた平田裕香のファンなのか・・・チョイキニナル
>>163
saku / sakud 等でよく見かける方のいち隠れファンです。
saku / sakud 等でよく見かける方のいち隠れファンです。
165桶屋
2005/11/13(日) 11:38:03ID:MUh++HtM0 >>158
今の時代、本当にtimecount/timecloseが必要なのか、一度考え直すのもいいのかも。
連続投稿に関してはsamba24 やバーボンができました。
投稿に関する対応は、ボランティアさんも含めた新しい仕組みが動くようになりました。
timecount/timecloseは、これらがない時代からあるものですね。
timecount/timecloseの必要性と、実装や運用のコストの比較になるのかなと。
今の時代、本当にtimecount/timecloseが必要なのか、一度考え直すのもいいのかも。
連続投稿に関してはsamba24 やバーボンができました。
投稿に関する対応は、ボランティアさんも含めた新しい仕組みが動くようになりました。
timecount/timecloseは、これらがない時代からあるものですね。
timecount/timecloseの必要性と、実装や運用のコストの比較になるのかなと。
166どくどくさぼてん
2005/11/13(日) 11:57:08ID:S6x+4xF20 samba24は鯖ごと、バーボンに至っては全板一律だからなぁ。
確かsamba24はSETTING.TXTで設定できるようにする、って話もあったけど、
ただ、最近もちょくちょく全板でいっせいに設定値変えとかしてるから、
ちとそうもしづらいのかなぁ。とか。
確かsamba24はSETTING.TXTで設定できるようにする、って話もあったけど、
ただ、最近もちょくちょく全板でいっせいに設定値変えとかしてるから、
ちとそうもしづらいのかなぁ。とか。
2005/11/13(日) 14:35:57ID:hLwbWE8U0
>>165
板によって、結構絶妙なバランスで設定されてる
値だと思いますけどね。普通の使い方をしてる人では、
まず引っかからないし見ないから、「空気みたいなもの」
としか感じないかもしれませんが。
けど見てると、設定を微妙に変更することで、荒らしさんは
やっぱり速度が落ちたりとかするのを見たりします。
だから効果はあるんだと思います。
逆に言えば、普通の人がやたら引っかかるようなものは、
それなりに問題なんじゃないですかね。
板によって、結構絶妙なバランスで設定されてる
値だと思いますけどね。普通の使い方をしてる人では、
まず引っかからないし見ないから、「空気みたいなもの」
としか感じないかもしれませんが。
けど見てると、設定を微妙に変更することで、荒らしさんは
やっぱり速度が落ちたりとかするのを見たりします。
だから効果はあるんだと思います。
逆に言えば、普通の人がやたら引っかかるようなものは、
それなりに問題なんじゃないですかね。
2005/11/13(日) 16:49:45ID:ZszaVLMv0
>>166
もしできればでいいですけどsambaは全板と各板(setting.txt)の共存ができればええんでないかと
もしできればでいいですけどsambaは全板と各板(setting.txt)の共存ができればええんでないかと
>>165-167
それなりに効果は出ていると思います。
たぶん2ちゃんねるが今よりもっともっと小さかった頃は、
画期的な仕組みだったんだと思うです。
でも今となっては、ファイルI/Oのコストが毎回(少ないとはいえ)
発生するのが、ちと気になるですね。
ということで投稿数が多い板だと、
この方式を現在の実装でやるのは、ちょっと苦しいところがあるです。
基本的に、効果を大きくしようとしてFIFOの段数を大きくすると
コストも大きくなってしまいますし、
段数が少ないと、効果が薄いです。
ということで、雪だるまにしてbbsd側でオンメモリでやるなら、
それほどでもないという読みで、今の方式を踏襲する形での実装は、
してもらおうかなと思っているです。
オンメモリならコストは低いし、実装もそれほどでもなさそうなので。
<チラシの裏>
あと、メッセージ本文の最初の何文字かとか本文の長さとか、
投稿したスレッドのキーとか時間とか、いろいろとっているけど、
今は全く使っていないので、このへんの贅肉をとって、
いずれはすっきりしたいなと思っているです。
<チラシの裏の隅>
たぶんこのへんも規制に使おうとした、あるいは昔規制に使ったことがあるんだろうなと。
</チラシの裏の隅>
</チラシの裏>
それなりに効果は出ていると思います。
たぶん2ちゃんねるが今よりもっともっと小さかった頃は、
画期的な仕組みだったんだと思うです。
でも今となっては、ファイルI/Oのコストが毎回(少ないとはいえ)
発生するのが、ちと気になるですね。
ということで投稿数が多い板だと、
この方式を現在の実装でやるのは、ちょっと苦しいところがあるです。
基本的に、効果を大きくしようとしてFIFOの段数を大きくすると
コストも大きくなってしまいますし、
段数が少ないと、効果が薄いです。
ということで、雪だるまにしてbbsd側でオンメモリでやるなら、
それほどでもないという読みで、今の方式を踏襲する形での実装は、
してもらおうかなと思っているです。
オンメモリならコストは低いし、実装もそれほどでもなさそうなので。
<チラシの裏>
あと、メッセージ本文の最初の何文字かとか本文の長さとか、
投稿したスレッドのキーとか時間とか、いろいろとっているけど、
今は全く使っていないので、このへんの贅肉をとって、
いずれはすっきりしたいなと思っているです。
<チラシの裏の隅>
たぶんこのへんも規制に使おうとした、あるいは昔規制に使ったことがあるんだろうなと。
</チラシの裏の隅>
</チラシの裏>
で、先回りして言ってしまうと、Samba24って、
そういうところが、よくできているです。
ようは、ひとことでいうと、
「大きい板でもコストを上げることなく、同じしくみで動かすことができる」ってことですかね。
スケーラビリティがあるとゆうか、成長に耐えるとゆうか。
実現している部分は正直、短いコードですけど、
かなり感心したところだったり。
そういうところが、よくできているです。
ようは、ひとことでいうと、
「大きい板でもコストを上げることなく、同じしくみで動かすことができる」ってことですかね。
スケーラビリティがあるとゆうか、成長に耐えるとゆうか。
実現している部分は正直、短いコードですけど、
かなり感心したところだったり。
>>171
なんか、早起きすね。
なんか、早起きすね。
173▲ ◆SANUKI/VII
NGNG そうか、時差があるのか
2005/11/13(日) 22:21:29ID:HwS9/loZ0
さてはまたゴルフだな・・・
175ヾ(゚パ)ノ ◆f0.zuburi6
2005/11/13(日) 22:21:47ID:H5U92I510 またドアをドンドンやられたの?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- トヨタ、フジテレビへのCM差し替え [ひかり★]
- 明治安田生命、フジテレビCMを差し止め [ひかり★]
- 「新宿駅から出られず半泣き」…トラブルも 大学受験、親も同行すべき? ★2 [おっさん友の会★]
- 【経済】新NISAブームから一転、「投資から貯蓄へ」の逆回転が発生?「高金利定期」の大逆襲が始まった [シャチ★]
- 【フジテレビ】渦中の佐々木恭子アナ「社長とのディナー賞」受賞していた 現在は出社停止★2 [ネギうどん★]
- 【福岡】スナック女性従業員を平手打ち 国家公務員の男を逮捕 4万2000円に「料金高い」 [煮卵★]
- 【速報】トヨタ(TOYOTA)、フジテレビから撤退 [667832326]
- __トヨタ、フジのCM差し替え [827565401]
- アメリカ「このままだと日本への関税引き上げするけど、防衛費増額 or 対米投資増額、どっちにするジャップ?」 [356028239]
- 【提言】男磨きのプロ「下半身の筋トレはスタイル悪化につながるからするな。上半身だけやれ」 [308389511]
- ワイとお前らの愛の巣🏡💕
- 【悲報】いいとも最終回のタモリ「中居調子にのんじゃねえぞ!!足元すくわれんぞ!」 [963243619]