【雪だるま】bbsd⇔各cgi間のI/F仕様について考え・詰めていくスレッド
>>113 もうすこしかな。
Check_HardPosting (連続投稿ですか?) のところの
しくみの洗い出しと理解を、先にやりたいです。
それができると、雪だるまのためのbbs.cgi洗い出しは、
概ねできたことになるはず。
116 :
root▲ ★ :2005/11/13(日) 03:04:16 ID:???0 BE:3648285-###
timecount/timeclose の処理も、FIFOですね。 ここに書こうと。
117 :
root▲ ★ :2005/11/13(日) 03:14:46 ID:???0 BE:1641863-###
簡単にいうと、こんなかんじ。 1) timecount分のFIFOを準備しておく 2) 投稿に固有のID(*1)をキーに、FIFOを探す 3) FIFO内にそのIDがtimeclose個以上あったら「連続投稿ですか? (見つかった回数)回」エラー 4) IDをFIFOに積む、古いものからところてん式に押し出されていく (*1)IPアドレスまたは携帯固有番号またはp2の番号 これなら、先だって用意していただいたものと同じようなのを もひとつ準備していただければ、できそうですね。
118 :
root▲ ★ :2005/11/13(日) 03:27:11 ID:???0 BE:5837388-###
[1-10] 1-A-d timecount/timecloseのための記録用ファイル 一 についてです。 ということで、bbsdでは、 ・SETTING.TXTを読んで、板ごとにtimecount段数分のFIFOを準備する ・FIFOには、何か文字列(とりあえず256バイト以内ぐらい)が積まれる ・bbs.cgiは「板」「ID」を引数とし、bbsdに「これについて調べてちょ」と聞く ・bbsdは指定された板のFIFOを検索して、指定されたIDがtimeclose個以上見つかったら、 その旨をbbs.cgiに返す。ただし、このときはbbsdはIDをFIFOに積まない => bbs.cgi はエラー処理(連続投稿ですか)をする ・timeclose個未満だったら、そのIDをFIFOに積み、bbs.cgiには正常を返す => bbs.cgi は正常系の処理をする という形のAPIをbbsd側で作っていただけると助かります。 で、これは「記録用ファイル」と書きましたが、bbsd的にはメモリ上のみでよいと考えます。
119 :
root▲ ★ :2005/11/13(日) 03:33:10 ID:???0 BE:912252-###
あとは、
>>92 ですか。
これらは基本的には、データベースですね。
ID、時間の要素、回数の要素
というDBをbbsd側で作っていただき、フロントからはそれに登録したり、
参照したりするかんじになるかなと。
詳細は、読みきったところで。
>>115-119 乙です.そちらもぼちぼち実装していきます.
ところでふと思ったんですが,timecount / timeclose データの FIFO の段数は
SETTING.TXT の timecount 値ということですが,となるとスレッド立てすぎデータ (
>>93 )
の FIFO 段数 $n も,ひょっとするとやはり SETTING.TXT の BBS_THREAD_TATESUGI 値
だったりするのでしょうか? もしそうだとすると......当初仕様通り bbsd 呼び出し時の
引数として $n を渡すのがいいのか,それとも bbsd 側で SETTING.TXT から取得するのがいいのか,
どうなんでしょうね.微妙なところかも知れませんが......
121 :
root▲ ★ :2005/11/13(日) 22:19:15 ID:???0 BE:547632-###
>>120 おぉ、鋭い指摘。
ちょっと、該当部分見てみるです。
122 :
root▲ ★ :2005/11/13(日) 23:01:29 ID:???0 BE:3648285-###
読み直しました。 ご指摘のとおり、段数はbbs.cgi側からは要らないですね。 > - 「板名」「FIFOファイル」「FIFO段数」「登録キー」「登録データ」を引数として、bbs.cgiから呼び出し を、 > - 「板名」「FIFOファイル」「登録キー」「登録データ」を引数として、bbs.cgiから呼び出し つまり、 > my $value = bbsd($bbs, 'chkthr', $file, $n, $key, $value, "$logfilename:$logline"); の、$n は bbs.cgi 側から指定しないことにして、 bbsd が SETTING.TXT から TATESUGI を読んで、それを使う ことにしていただければと思います。
[1-10] 1-A-d timecount/timecloseのための記録用ファイル 一 (
>>118 )
my $n = bbsd($bbs, 'chktimecount', $id, "$logfilename:$logline");
・ 段数 timecount の FIFO をオンメモリで作成.
・ $id のデータ数が timeclose 以上ならば戻り値としてそのデータ数を返す.
FIFO データは変更せず.
・ $id のデータ数が timeclose 未満ならば戻り値として 0 を返す.
FIFO に $id のデータを追加.
[1-9] 1-A-c スレッド立てすぎです、のための記録用ファイル 一 (
>>93 ,
>>122 )
my $value = bbsd($bbs, 'chkthr', $file, $key, $value, "$logfilename:$logline");
・ 引数 $n を廃止し,FIFO 段数として BBS_THREAD_TATESUGI 値を使用するよう変更.
----------------------------------------------------------------------
ここまで実装しますた.
126 :
root▲ ★ :2005/11/20(日) 05:58:03 ID:???0 BE:2554447-###
Samba24の処理 a) Samba24用DB初期化用API bbsdはbbs.cgi船が起動する時に指令を受ける (bbs.cgiは最初にこの指令を出すように組まれる) 入力: 板名bname、秒数s bbsdが起動して最初に指令を受けたら板別にDBを作り、 秒数sや回数nが異なった指令を受けたら、DBをconfigしなおす。 ただし、DBに蓄えているものは保持する。 指令が既にあるものと同じ秒数や回数だったら、何もしない。 万一a)の前にb)を受けたら、常に正常終了でよい。 # 最大10分、Samba24のDBが作られなくなりますが、、、。 # HDD上にDBをダンプするなり作るなりして、そこに前にあったbnameやsを入れるのもありです。 # というか、そのほうがよさげか。そうすればa)が来なくてもサービスできるですね。 # 将来秒数sはSETTING.TXTになるとのこと。
127 :
root▲ ★ :2005/11/20(日) 05:59:18 ID:???0 BE:1824645-###
(続き) b) Samba24用DB登録&チェック用API 1) 書き込みリクエストがあると、bbs.cgi は投稿に固有のID(*1)をキーに、 Samba24用DBに問い合わせを出す 入力: bname、ID (*1)IPアドレスまたは携帯固有番号またはp2の番号 2) bbsdは投稿に固有のIDをキーに、Samba24用DBを検索する DBでは、 「そのIDで問い合わせを受けた通産回数」と「そのIDで問い合わせを受けた最後の時間」 を保持している 今まで1回もそのIDで問い合わせを受けたことがなければ、 DBに「ID、1回、その時間」を登録して、正常終了を呼び出し元に返す
128 :
root▲ ★ :2005/11/20(日) 06:13:25 ID:???0 BE:7387799-###
(続き) 3) そのIDで問い合わせを受けたことがある場合は、 3.1) もし、前に問い合わせを受けてからs秒以上経過していた場合には、 DBのそのIDのエントリをリセット(*2)して、正常終了を呼び出し元に返す (*2)「ID、1回、その時間」にする 3.2) もし、前に問い合わせを受けてからs秒未満だった場合には、 DB側のそのIDのエントリの回数により、下記のように動作が分かれる 3.2.1) もし、そのIDでの通産問い合わせ回数が注意回数 (デフォルト3回、何かで変更可能になっているとうれしい)以下だったら、 DBの「ID、通産回数、最終時間」を更新し、 「異常ステータス1」を呼び出し元に返す 3.2.2) もし、そのIDでの通産問い合わせ回数が注意回数を超えているが、 規制回数(デフォルト5回、何かで変更可能になっているとうれしい)以下だったら、 DBの「ID、通産回数、最終時間」を更新し、 「異常ステータス2」を呼び出し元に返す 3.2.3) もし、そのIDでの通産問い合わせ回数が規制回数を超えたら、 DBを「ID、永久」にし、 「異常ステータス3」を呼び出し元に返す 3.2.4) 「ID、永久」の状態になった以降は、s秒以上の時間を空けた問い合わせが あったとしても、すべて「異常ステータス3」を呼び出し元に返す
129 :
root▲ ★ :2005/11/20(日) 06:16:35 ID:???0 BE:912252-###
c) Samba24用DBリセット用API F22から呼ばれる。 これを呼ぶと、そのbbsdで管理しているSamba24用DBの中身は全部ゼロクリアされる ただし、a) で初期化した値はそのまま残る d) Samba24用DB状況調査用API F22から呼ばれる。 これを呼ぶと、いくつのIDがSamba24用DBに登録されているかを返す
130 :
root▲ ★ :2005/11/20(日) 06:20:38 ID:???0 BE:912825-###
…というかんじです。日本語が、微妙かもしれないですね。 変なところがあったら、書いてくださいです。> SunOSさん 日本語で説明を書き下すと、以外に複雑な形になってしまいましたが、 実際の中身は、それほどのものでもないです。 ようは、同じIDで短い時間の間に何度も何度もやると、だんだんと出世していって、 そのうち永久になっちゃいますよ、っていうかんじです。 それを、コスト低く実現していると。 今日は、こんなところで。
131 :
root▲ ★ :2005/11/20(日) 06:25:56 ID:???0 BE:1094843-###
…と、ここまで書いて、 s秒をbbsdで管理するか、bbs.cgiで管理するか、 微妙なかんじもしてきました。 つまり、bbsdでは「回数」「前の問い合わせからの経過秒数」を戻りにして、 Sambaの判定は、bbs.cgiでやらせたほうがいいんじゃないかなと。 その路線だと、、、。ちょっと、再度考えてみるですかね。
132 :
root▲ ★ :2005/11/20(日) 06:29:20 ID:???0 BE:7387799-###
>>131 は別途、明日以降考えてみるです。
そんでは、今日はおやすみなさい。
>>126-132 乙です.処理内容のイメージはだいたいつかめました.
問題は設定値(規定秒数・注意回数・規制回数)の扱いというところですか.
># 将来秒数sはSETTING.TXTになるとのこと。
というのを雪だるまを機に実施して,そうした設定値をすべて
SETTING.TXT から取得できるようにするのも一案かも知れませんが,
それができなければどうするかというところで......
「a) Samba24用DB初期化用API」と「b) Samba24用DB登録&チェック用API」
を別々にした場合,
>>126 でも言及されているように a) より b) が
先に来るという可能性もあるのですが,それなら両者を統合して
「b) Samba24用DB登録&チェック用API」の引数でそれらの設定値も
一緒に渡すというのも一案かも知れませんね.いずれにせよ
秒数や回数の判定は登録&チェックの段階で行うことになりますし.
あるいは
>>131 のように設定値に基づく判定は bbs.cgi 側が行って
bbsd は登録のみ行うということも考えられますが,その場合
規定秒数以上だった場合のリセットが行えないのが問題ですかね.
あと,規定秒数以上経過していたエントリは消していかないと,DB がどんどん肥大化 していきそうな気もしますね(その対策として c) があるのだと思いますが, その呼び出しが来る前の段階で肥大化を防げればその方が良さそうな気もします). ということで,やはり規定秒数は何らかの形で bbsd が知っておいた方がいいかも知れません.
>>133 どもです。
> 問題は設定値(規定秒数・注意回数・規制回数)の扱いというところですか.
そういうことですね。
なんか「ステートレス」「ステートフル」っていう話か。
> 「a) Samba24用DB初期化用API」と「b) Samba24用DB登録&チェック用API」
> を別々にした場合,
>>126 でも言及されているように a) より b) が
> 先に来るという可能性もあるのですが,それなら両者を統合して
> 「b) Samba24用DB登録&チェック用API」の引数でそれらの設定値も
> 一緒に渡すというのも一案かも知れませんね.いずれにせよ
> 秒数や回数の判定は登録&チェックの段階で行うことになりますし.
これ、いいかもですね。
毎回bbsdに引数を全部渡せばいいのか。
>>134 そですね。DBのレコード毎にexpireできる仕組みを実装していただけると、
いいようなかんじで。
ちょっと、これらの路線で改めて仕様考えてみるです。
a+b) Samba24用汎用API、●でスレッド立て過ぎにも使用 書き込みリクエストがあると呼ばれる。 引数: bname, ID, s, w, k bname: 板名 ID: IPアドレスまたは携帯固有番号またはp2の番号または●セッションID (任意の文字列として取り扱えればOK) s: 秒数 (s > 0) w: 注意回数 (w >= 0) k: 規制回数 (k >= w >= 0) 処理内容: 今まで1回もそのIDで問い合わせを受けたことがなければ、 DBに「ID、1回、その時間」を登録して、正常終了を呼び出し元に返す。 そのIDで問い合わせを受けたことがある場合は、 もし、前に問い合わせを受けてからs秒以上経過していた場合には、 DBのそのIDのエントリをリセット(*2)して、正常終了を呼び出し元に返す (*2)「ID、1回、その時間」にする。 (続く)
(続き) もし、前に問い合わせを受けてからs秒未満だった場合には、 DB側のそのIDのエントリの回数により、下記のように動作が分かれる。 1) もし、そのIDでの通産問い合わせ回数が注意回数w以下だったら、 DBの「ID、通産回数、最終時間」を更新し、 「異常ステータス1」を呼び出し元に返す。 2) もし、そのIDでの通産問い合わせ回数が注意回数wを超えているが、 規制回数k以下だったら、 DBの「ID、通産回数、最終時間」を更新し、 「異常ステータス2」を呼び出し元に返す。 3) もし、そのIDでの通産問い合わせ回数が規制回数kを超えたら、 DBを「ID、規制発動」にし、 「異常ステータス3」を呼び出し元に返す。 4) 「ID、永久」の状態になった以降は、s秒以上の時間を空けた問い合わせで あったとしても、すべて「異常ステータス3」を呼び出し元に返す。
(続き) あ、「ID、規制発動」になおしてください。< 4) 「ID、規制発動」の状態になってから3600秒(1時間)経過したら、 あるいは最後の問い合わせから3600秒経過したら、 そのIDのエントリをDBからexpireする。
これで、bbs.cgi側から普段使うAPIはひとつにできそうです。 で、●でスレッド立てすぎです、にも、応用できるですね。 bname: 板名 ID: ●のID s: 3600 w: 6 k: 6 とかやれば、1時間で6つまでしか同じ●でスレッド、立てられないはず。 <チラシの裏> うまくやれば、●を使ったスレつぶしにも対応できそうな気がしますが、 それは同じIDでDBを複数持たせる必要があるのかな。 あと、このI/Fを利用して、他サーバのbbs.cgiからex14のbbsdに通信して、 news4vipに関するデータを参照するとか(以下略。 </チラシの裏> で、これをすればF22での定期クリアは必要なさそうな気もしますが、 メンテナンス用に、以下のI/Fは準備いただけると。
以下というのは、あと
>>129 のやつですね。
とりあえず、こんなところでどうでしょうか。
で、あと、 これまで出た中で、詰めなければいけない仕様って、あったっけか。
…で、私のほうでも、 bbs.cgi 見直してみるです。 この目的のために、かなり整理整頓したわけで。
>>135-142 乙です.で,確認しておきたい点としては,この API 用の DB は
オンメモリで完結ということでもいいのでしょうか,ということと,
Samba24 と ● のデータを1つの DB に混在させる形でもいいのでしょうか,
というところです.
あと,確認事項で残っているものはこれでしょうかね.
[1-3] 1-B-a index.htmlの広告ファイル1 四
[1-4] 1-B-a index.htmlの広告ファイル2 四
[1-8] 1-C-a bbspinkのみの広告ファイル 四
考えてみると,性質の異なるデータを1つの DB に混在させてしまうより,
別々の DB に分けた方が検索効率もアップしますし,
>>139 のチラシの裏のような
用途への応用も考えると,複数の DB を作成できるようにした方が汎用性は高そうですね.
ということで「板名」以外に「DB名」という引数も設け,1つの板で複数の DB を
持てるようにするのもいいかも知れませんね.
145 :
root▲ ★ :2005/11/21(月) 07:19:56 ID:???0 BE:2918584-###
>>143-144 > この API 用の DB はオンメモリで完結ということでもいいのでしょうか
こういう仕様だといいかもです。
1) bbsdが終了する時に、HDDに吐き出して終了する
場所・場所は public_html/test/bbsdのDBとわかるもの.cgi あたりで
2) bbsdは起動時にそのDBがあるか調べて、あれば読み込んでスタート
あとはオンメモリで動作
> Samba24 と ● のデータを1つの DB に混在させる形でもいいのでしょうか,
これは
>>144 のご指摘のとおり、DB名を指定できるとすばらしいです。
今後何か装置を開発した時に、DB名を変えていろいろとDBを増やせそうなので。
ということで、
>>136 はこんな汎用APIになりますか。
(続く)
146 :
root▲ ★ :2005/11/21(月) 07:21:34 ID:???0 BE:1276872-###
(続き) a+b) Samba24用汎用API、●でスレッド立て過ぎにも使用 書き込みリクエストがあると呼ばれる。 引数: DB, bname, ID, s, w, k DB: 文字列(例: samba24) bname: 板名 ID: IPアドレスまたは携帯固有番号またはp2の番号または●セッションID (任意の文字列として取り扱えればOK) s: 秒数 (s > 0) w: 注意回数 (w >= 0) k: 規制回数 (k >= w >= 0) 処理内容: 今まで1回もそのIDで問い合わせを受けたことがなければ、 DBで指定されたDBに「ID、1回、その時間」を登録して、正常終了を呼び出し元に返す。 そのIDで問い合わせを受けたことがある場合は、 もし、前に問い合わせを受けてからs秒以上経過していた場合には、 指定されたDBのそのIDのエントリをリセット(*2)して、正常終了を呼び出し元に返す (*2)「ID、1回、その時間」にする。
147 :
root▲ ★ :2005/11/21(月) 07:25:47 ID:???0 BE:1095034-###
>>143 あとは広告関係ですか。
ぼちぼち仕様出していきますが、このへんは実際に動かしながらでもいいかなと。
148 :
root▲ ★ :2005/11/21(月) 07:28:15 ID:???0 BE:912825-###
で、先回りして言っておくと、広告には「取り扱い的に」種類が大きく二つあるです。 a) 所定のファイルを読み込んでいる広告 b) bbs.cgiにハードコーディングで埋め込まれている報告 a) は、bbsdで無理なく対応可能ですが、 b) を、さてどうするかと。 というわけでこのへんは、動かしながら調整かなぁと。
149 :
root▲ ★ :2005/11/21(月) 07:30:01 ID:???0 BE:6567089-###
ということで、今日はこのへんで二度寝するです。 なんか寝床からムニャーとしながら京ぽんでアクセスしたら、 何か漏れてたみたいで、PC出してごそごそと。
で、bbs.cgiに埋め込まれている広告問題ですが、 a) このさいだから、bbs.cgiから切り出す b) bbs.cgi から bbsd に何らかの方法で渡す の2つが考えられるですね。 でかいのは a) にするとして、b) もある程度残りそうな予感も少し。
>>145-150 乙です.では DB 用 API はそういう形で実装していきます.
これが完了すると,とりあえず bbsd 側では動かせる形になるってところですかね.
広告については,確かに大きく固まってる部分は切り出しも容易でしょうけど,
細かくちりばめられてる部分をどうするかってのは考えどころですね......
>>151 了解です。よろしくおねがいしますです。
で、それ(広告)をうまく切り出せるようにすることをめざして、
作業をすすめています。
しかし、
MakeWorkFile
MakeIndex4Keitai
MakeIndex4PC
いずれも、割と神の領域だったりするんだな、これが。
厳密にはスレ違いですが。 read.cgi と offlaw.cgi は、とりあえずmor_proxy経由でバックエンドで動かして、 mod_cache を通さないようにする、という、アドホックな路線でいってみようかと。 で、ひとつSunOSさんにというか、Apacheをわかっている方に質問なのですが、 <IfModule mod_cache.c> CacheDisable /livejupiter/SETTING.TXT CacheEnable disk /livejupiter/ CacheRoot /md/cache CacheSize 65536 </IfModule> なんて書いた場合、/md/cache のオーナーとかパーミッションって、 どうすればよかったんでしたっけか。 なんか、キャッシュされないみたいなんで。
LoadModule cache_module modules/mod_cache.so が抜けているとか?
Samba24 用汎用 DB チェック&登録: my $statnum = bbsd($bbs, 'chkid', $dbname, $id, $seconds, $nwarn, $nkick, "$logfilename:$logline"); ・ このような流れ: if ($id エントリ存在) { if ($id_entry->n == 規制発動) $statnum = 3; else if (現在時刻 - $id_entry->time >= $seconds) { $id_entry->n = 1; $statnum = 0; } else if (++$id_entry->n <= $nwarn) $statnum = 1; else if ($id_entry->n <= $nkick) $statnum = 2; else { $id_entry->n = 規制発動; $statnum = 3; } } else { $id エントリ作成; $id_entry->n = 1; $statnum = 0; } $id_entry->time = 現在時刻; return $statnum; ・ (現在時刻 - $id_entry->time >= 3600 秒) のエントリは削除. ・ データは $DOCUMENT_ROOT/$bbs/bbsd_dbs/$dbname にストア. 次回起動時にそのファイルがあれば読み込んで利用. bbsd_dbs ディレクトリが存在しなければ自動的に作成し, その際 "Deny from all" という内容の .htaccess も自動作成. # これでファイル名を *.cgi にしたりダミーの index.html を作成したりも不要かと. Samba24 用汎用 DB チェック: my $statnum = bbsd($bbs, 'peekid', $dbname, $id, $seconds, $nwarn, $nkick, "$logfilename:$logline"); ・ エントリ登録・更新を行わないが,それ以外は chkid と同じ. Samba24 用汎用 DB クリア: my $errmsg = bbsd($bbs, 'clearids', $dbname, "$logfilename:$logline"); Samba24 用汎用 DB エントリ数カウント: my $n = bbsd($bbs, 'countids', $dbname, "$logfilename:$logline");
スレスト:
my $errmsg = bbsd($bbs, "stop:$key", $datline, "$logfilename:$logline");
スレ再開:
my $errmsg = bbsd($bbs, "restart:$key", $datline, "$logfilename:$logline");
$datline は dat に追記する内容(通常書き込み時と同フォーマット).
スレ移動:
my $errmsg = bbsd($bbs, "move:$key", $newbbs, "$logfilename:$logline");
----------------------------------------------------------------------
以上実装しますた.別鯖へのスレ移動を除いて一通り実装できたかと思います.
>>153 乙です.
>/md/cache のオーナーとかパーミッション
httpd プロセスが読み書き可能なオーナ・パーミッションであれば Ok かと.
>なんか、キャッシュされないみたいなんで。
とりあえず "LogLevel debug" にしてみると手がかりが得られるかも知れません.
>read.cgi と offlaw.cgi は、とりあえずmor_proxy経由でバックエンドで動かして、
>mod_cache を通さないようにする、という、アドホックな路線でいってみようかと。
これやるなら,Last-Modified を吐くようにしてキャッシュを効かせる形の方が良さそうな気もしますけどね.
>>154 ううむ、入っていると思うけど、、、。
>>155 おつです。
これで、bbsdの準備は整った、ということ、、、なのかな。
read.cgi の改良は、第二段階ですね。
で、たぶん将来的には、read.cgi/offlaw.cgiはlive22じゃなくて、
live22xで動かすようにするほうがよさげかなと。
で、live22のbbsdを更新しました。 いっぽ、いっぽ。
bbs.cgi とにらめっこ中、、、。 単純な質問で申し訳ないのですが、 $logfilename:$logline は、その「行為」ごとにとられる、ということかしら。 つまり、ログとらなくてもいい場合は、どうすればいいのかなと。
こんなふうでいいのかな。 my $md5line = &bbsd($GB->{FORM}->{'bbs'}, 'getmd5seed', "/dev/null:");
$md5line = &bbsd($bbs, 'getmd5seed', "/dev/null:"); しこんだ。
とれるみたい。 %./bbs.pl livejupiter getmd5seed /dev/null:test | cat -v 2005_11_25<>M-XM-{Y=M-^E^@.M-^_TcM-QM-/<M-^EM--0 で、どうしてこれはとれないのかな。 %./bbs.pl livejupiter chkthr (むぎゅー) 256 AAAAAAAA This_is_test /dev/null:test Invalid argument
%./bbs.pl livejupiter chkid kuromarusuretate AAAAAAAA 3600 6 6 /dev/null:test
./bbs.pl livejupiter getndats /dev/null:test 0
166 :
root▲ ★ :2005/11/25(金) 04:59:54 ID:???0 BE:1824454-###
…ということで、仮組み込みまで終わったです。
今のところの問題は、
>>162 の後半のやつですね。
なんでだろう。
でもまずは、順調と思います。
本日は、ここまでで。
>>159-166 乙です.
>$logfilename:$logline は、その「行為」ごとにとられる、ということかしら。
>つまり、ログとらなくてもいい場合は、どうすればいいのかなと。
"$logfilename:$logline" のところに ':' を含まない文字列を適当に指定すれば Ok です.
/dev/null でもログ出力はしませんが,ファイルオープンは試みてしまうので
':' を含まない文字列指定の方がわずかですがムダは少ないかと思います.
>で、どうしてこれはとれないのかな。
>
>%./bbs.pl livejupiter chkthr (むぎゅー) 256 AAAAAAAA This_is_test /dev/null:test
>Invalid argument
>>124 > my $value = bbsd($bbs, 'chkthr', $file, $key, $value, "$logfilename:$logline");
>
> ・ 引数 $n を廃止し,FIFO 段数として BBS_THREAD_TATESUGI 値を使用するよう変更.
引数が1個余分ですね.$n は廃止で,$key は整数値です.
168 :
root▲ ★ :2005/11/25(金) 13:03:00 ID:???0 BE:1642829-###
>>167 上: ありがとうです。うまくいきました。
下: おはずかしいです。修正して、ちゃんと動きました。
169 :
root▲ ★ :2005/11/25(金) 14:47:52 ID:???0 BE:1641863-###
というわけで、ひとつ、仕様追加のお願いがあります。
>>155 ですが、
> Samba24 用汎用 DB チェック&登録:
> my $statnum = bbsd($bbs, 'chkid', $dbname, $id, $seconds, $nwarn, $nkick, "$logfilename:$logline");
を、
Samba24 用汎用 DB チェック&登録:
my ($statnum, $count, $second) = bbsd($bbs, 'chkid', $dbname, $id, $seconds, $nwarn, $nkick, "$logfilename:$logline");
にしていただくことは可能でしょうか。
$count, $second はSamba24でそれぞれ、
($count回目、$second sec しかたってない)
に、使っているです。
つまり、問い合わせ回数が何回目か($count)と、
前回の問い合わせからのインターバルが$second秒だったよ、という情報を、bbs.cgi側に返していただきたいなと。
170 :
root▲ ★ :2005/11/25(金) 14:58:52 ID:???0 BE:3192757-###
あと、もう一つI/Fがほしいです。 ・板名とスレッドキーで指定してbbsdを呼ぶと、該当するdatの1行目をそのまま返す これができると、トラックバックに対応できます。 さみだれ式ですみませんが、よろしくおながいしますです。
171 :
root▲ ★ :2005/11/25(金) 15:05:44 ID:???0 BE:3648858-###
それから、、、広告か。 ここに晒していいかどうかわからないから、メールしておくです。
172 :
root▲ ★ :2005/11/25(金) 15:52:37 ID:???0 BE:2554447-###
173 :
root▲ ★ :2005/11/25(金) 16:04:56 ID:???0 BE:730324-###
174 :
root▲ ★ :2005/11/25(金) 16:05:26 ID:???0 BE:2553874-###
つまり、./test/flash.txt にあると思ってよいです。
>>173
175 :
root▲ ★ :2005/11/25(金) 16:12:12 ID:???0 BE:2462393-###
おしりの アニメ | CM | ゲーム | 映画 | 音楽 | テレビ | 日記 は、bbs.cgi から教えることにしたです(対応済み)。
176 :
root▲ ★ :2005/11/25(金) 17:00:57 ID:???0 BE:1460328-###
purge... とか、なってしまうのですね。< footnote ちと、微妙かも。
177 :
root▲ ★ :2005/11/25(金) 17:20:15 ID:???0 BE:1915373-###
…あと、Over1000やらスレストやら何やらで、書き込みリクエストがしくった場合の エラー処理ハンドリングって、どうやればいいのかしら、、、。
★★ 頑張って!rootさん! ★★
>>169 実装完
Samba24 用汎用 DB チェック&登録:
my ($statnum, $count, $second) = split(/,/, bbsd($bbs, 'chkid', $dbname, $id, $seconds, $nwarn, $nkick, "$logfilename:$logline"));
Samba24 用汎用 DB チェック:
my ($statnum, $count, $second) = split(/,/, bbsd($bbs, 'peekid', $dbname, $id, $seconds, $nwarn, $nkick, "$logfilename:$logline"));
bbsd は直接 Perl 配列を返せないため CSV 文字列で返しますので,split() をかまして下さい.
>>170 実装完
>>1 取得:
my $datline = bbsd($bbs, 'get1', $key, "$logfilename:$logline");
>>171-172 えーと,届いてません......というか,もし旧 E-mail (〜(at)super.win.ne.jp) 宛に
お送り頂いていたとすると,ISP が事実上破綻状態となっているため利用できなくなってます.
お手数ですがとりあえず sunos(at)saita.ma 宛に再度お送り下さい.折り返し新 E-mail もお知らせします.
>>177 $errmsg が空文字列以外ならエラーで,例えば 1000 レス越えや 512kB 越えなら
"Disc quota exceeded" (EDQUOT) を返し,スレストなら "Permission denied" (EACCES) を
返しますので,それに沿って処理すればいいかと.
get1 (
>>1 取得)ですが,sub bbsd {} 中の
recv(SOCK, $str, 2048, 0)
となってる部分の 2048 をもっと大きい数値にしないと,
>>1 文が長い場合に尻切れになってしまうかも知れません.
おー、帰ったら早速組み込むです。 で、すぐメール出しなおします。
bbsd 側の SO_SNDBUF も大きくした方がよさそうなので,その点も変更.
183 :
root▲ ★ :2005/11/25(金) 23:58:20 ID:???0 BE:3648858-###
洋ぽん問題の対応を先にするです。 まずは、メールフォワードしておくです。
>>183 メール受け取りました.で,広告の件ですが......
インクルードファイルの情報は非公開とのことなんですが,bbsd.c 自体が
今のところソース公開状態なんで,それを直接 bbsd.c に埋め込むと
結果的には公開してしまうことになってしまうんですよね......
ということで,いくつか方策を考えたんですが
1. bbsd.c も非公開化する.
2. 広告テキストだけでなく,インクルードファイル名も bbsd 呼び出し時の
引数として渡すようにする.
3. index.html のテンプレートは bbsd.c にハードコーディングではなく,
外部ファイル化してそれを利用する形にする.
4. その他何かいい方法.
さて,どういう形がいいでしょうか......
185 :
root▲ ★ :2005/11/26(土) 01:04:30 ID:???0 BE:3830876-###
>>184 私は、広告の場所も公開して問題ないとは思うのですが、、、。
1. は、いやですね。
2. がいい気がします。
基本的に、広告は3ブロックなので、
'ad1'
'ad2'
'ad3'
みたいな引数で、DOCROOTからの相対パスで
広告のファイル名指定できるようにしておくというのはどうでしょう。
で、それをそのまま読んでいただければと。
186 :
root▲ ★ :2005/11/26(土) 01:06:48 ID:???0 BE:1094843-###
>>185 は、
'ad1' は hoge.txt
'ad2' は test/munya.txt
'ad3' は munya.txt
みたいなかんじで、bbsdに教えておくということです。
>>185-186 では,インクルードファイル名も引数化ってことですね.
ただ,bbsd に渡すパス名は,$logfilename も touch コマンドの引数も
$DOCUMENT_ROOT/test/ からの相対パスという形になってますので,
それに統一した方がいいと思います.これは,bbs.cgi 自体の場所からの
相対パスってことですね.
188 :
root▲ ★ :2005/11/26(土) 01:16:39 ID:???0 BE:4469377-###
>>187 了解です。
それ(testから)に合わせていただいて、問題ないです。
189 :
root▲ ★ :2005/11/26(土) 02:10:53 ID:???0 BE:5107687-###
Samba は、無事動いたです。
>>182 そっか、「UDPいっぱつもの」なんですよね。
大きくする(8192)ことは簡単ですが、何か副作用ありますかね。
190 :
root▲ ★ :2005/11/26(土) 02:27:53 ID:???0 BE:1277827-###
あと、datを chmod 444 すると、 書けたように見えて書けないというのが、発生するみたいです。
>>189 まぁ,バッファ用にその分メモリ食うぐらいかなと思います......
>>190 そのスレに手動で
bbs.pl livejupiter (key) 'a<>a<>a<>a<>' foot log
とか実行するとどうなりますか?
192 :
root▲ ★ :2005/11/26(土) 02:35:24 ID:???0 BE:4469377-###
>>191 そのぐらいなら、たいしたことはなさそうですね。
8192にしておくか。
>>191 chmod 444 してから、ってことですかね。
>>192 >8192にしておくか。
dat の1行そのまま返すので,本文の制限容量より多めの方がいいかも知れません.
>chmod 444 してから、ってことですかね。
そうです.
194 :
root▲ ★ :2005/11/26(土) 02:45:30 ID:???0 BE:5745997-###
%./bbs.pl livejupiter 1132860497 'a<>a<>a<>a<>' foot log Permission denied ふうむ。ってことはbbs.cgi側すね。 すんませーん。でなおしてきます。
195 :
root▲ ★ :2005/11/26(土) 02:48:34 ID:???0 BE:1459182-###
bbs.cgiの虫でした。 さっきのは、虫していただければと。カサコソ -------------------- 書込み中・・・ -------------------- ERROR! ERROR:このスレッドには書き込めません。 ホストbanana637.maido3.com 名前: ◆MUMUMUhnYI E-mail: sage 内容: ほい。 こちらでリロードしてください。 GO! 分からないことがあったら2ちゃんねるガイドへ。。。 アクセス規制・プロキシー制限等規制は、2ちゃんねるビューアを使うと回避できることがあります。自分で解決してみよう! 書き込めない時の早見表
広告対応しますた.書き込み API の引数追加になります. # ずいぶん引数が多くなってきました(w my $errmsg = bbsd($bbs, $key, $datline, $footnote, $adfile1, $adfile2, $adfile3, $adline, "$logfilename:$logline"); $adline が一番下の小さいやつです. ただ,現状では $adfile1 には外枠が含まれておらず(つまり bbsd 側で枠を作成), 一方 $adfile2, $adfile3 には外枠が含まれ(つまり bbsd 側では枠を作成せず), そのため今のままでは枠の外観が不統一になってしまいますね.
>>196 > # ずいぶん引数が多くなってきました(w
リファレンスで渡すといぃかも?
my $errmsg = bbsd(
[
BBS => $bbs,
KEY => $key,
DATLINE => $datline,
:
:
]
);
みたいな。。。
>>197 単純に引数を羅列するよりリファレンスで渡す方が
無駄なコピーとかは発生しないようになるんですかね.
ただ,sub bbsd {} 自体はあまりインテリジェントではなく,
単純に引数を連結して bbsd にパケット投げてるだけなんで,
ハッシュリスト形式にするメリットはあまりないかも......
199 :
● iv66.opt2.point.ne.jp(222.225.56.66) stream ◆PNstream2s :2005/11/26(土) 12:35:38 ID:z1nSq/XO0
live22xでスレ立てしようとしたらこうなりました。 ●ログインしてました ERROR! ERROR:不明なエラーが発生しました。 (board:livejupiter key:1132976035 errmsg:1132976035) このメッセージをコピペして、運用情報板で報告していただけるとありがたいです。 ホストiv66.opt2.point.ne.jp sss 名前: 名無しさん@お腹いっぱい。 E-mail: 内容: test これはこっちでいいのかな それともbbs.cgiスレかな?
Monazilla/1.00 (JaneLovely/0.1.6)
200 :
stream ◆PNstream2s :2005/11/26(土) 12:36:52 ID:z1nSq/XO0
うーん、IFをつめてくスレだったからやっぱbbs.cgiスレのほうが良かったですね
202 :
root▲ ★ :2005/11/26(土) 12:47:48 ID:???0 BE:1915373-###
調整途中でした。
>>199-201 不具合報告は、別のところがよかったすね。
スレはないので、、、。bbs.cgi スレにお願いです。
203 :
root▲ ★ :2005/11/26(土) 12:51:51 ID:???0 BE:1824454-###
で、ちょっと対応します。 そうか、新スレの時はスレッドキーが返るのを忘れてた。
>>198 おそらく効率的では「ない」かと(苦笑)@リファレンス私→デリファレンスして連結して
でも、可読性や引数の抜けによる思わぬ鰓を減らすのには十分威力があるんじゃないかなぁと♪
>204 ふむふむ......確かに可読性はよくなりそうですね.特に
>>196 ぐらいになると
単純な引数羅列では混乱しそうで(w ただ,bbsd 側でも単純な引数羅列ならデリミタで
ちょん切るだけなのに対し,key-value ペアだともうちょっと働かないといけなくなりそう
というのもあるんで......引数の過不足には現状でも "Invalid argument" を返すんで(ex.
>>162 ),
とりあえず例えばコメントで引数について注釈付けておくとかしておいてもらえば
my $errmsg = bbsd(
$bbs, # 板名
$key, # スレッドキー
$datline, # dat への追記内容
:
:
);
何とかなるかなぁという気もしたりしなかったり......
206 :
root▲ ★ :2005/11/26(土) 13:52:31 ID:???0 BE:5745997-###
>>205 ソ、ソースをごらんになったのですか(w。
# bbsdに書き込みコマンドを送る
my $errmsg = &bbsd(
$GB->{FORM}->{'bbs'},
$GB->{FORM}->{'key'},
$GB->{OUTDAT},
$GB->{version},
$FOX->{headadfile},
$FOX->{putadfile},
$FOX->{maido3adfile},
$FOX->{lastad},
"$DATALOG:$GB->{LOGDAT}"
);
207 :
root▲ ★ :2005/11/26(土) 14:25:09 ID:???0 BE:912252-###
>>196 ということで、広告対応しました。
真ん中の広告はbbs.cg内にハードコーディングで
単独ファイルとして切り出されてないので、まだ出ないです。
(ちょっと、切り出してみるか)
あとはご指摘の通り、外観が不統一問題ですか。
どうすればいいんだろう。
>>207 >あとはご指摘の通り、外観が不統一問題ですか。
>どうすればいいんだろう。
広告ファイルを手直しできるなら,ファイル側で枠ありか枠なしのどちらかで
統一すればいいんでしょうけど......
209 :
root▲ ★ :2005/11/26(土) 14:41:00 ID:???0 BE:2553874-###
ファイル側に、原因があるですか。 広告部分は管理人の管轄で、私がどうがんがっても「神の領域」だからなぁ。 ううむ。
広告ですが,CSS を使った力業ってのをちょっとやってみますた. bbsd を更新後,いったん index.css を消してから復帰をかけてみて下さい.
211 :
root▲ ★ :2005/11/26(土) 15:44:52 ID:???0 BE:1368735-###
2番目のはまぁまぁの感じですが,3番目のがちょっとってとこですか......
213 :
root▲ ★ :2005/11/26(土) 15:47:59 ID:???0 BE:1459744-###
214 :
root▲ ★ :2005/11/26(土) 15:48:36 ID:???0 BE:2736656-###
215 :
root▲ ★ :2005/11/26(土) 15:58:17 ID:???0 BE:2189164-###
板トップから read.cgi をクリックで起動すると(例えば「全部読む」を押す)、 名前欄のクッキーが文字化けするようです。 文字コードの問題かしら。
217 :
root▲ ★ :2005/11/26(土) 16:37:26 ID:???0 BE:2188883-###
>>217 現状のままでは不整合があるかも知れませんが,雪だるまサーバ以外の index.html も
>>216 の index.js を利用するようにすれば不整合はなくなると思います.
219 :
root▲ ★ :2005/11/26(土) 16:45:02 ID:???0 BE:3192375-###
>>218 なるほど、同期とってやる必要があると。
前に見たような機がするのですが、
これにすると、どのへんがよくなるんでしたっけ。
>>219 現状のエンコードしていない Cookie 設定では Firefox や Mozilla などで
文字化けが発生しますが,その index.js のようにエンコードするとその問題が解消します.
ただ,NAME と MAIL の Cookie 設定はクライアント側 JavaScript にお任せになるので, bbs.cgi 側ではそれらの Cookie 設定はしないようにしてもらった方がいいです.
222 :
root▲ ★ :2005/11/26(土) 16:51:22 ID:???0 BE:4378368-###
>>220-221 なるほどです。
bbs.cgi と read.cgi で同時対応することになると。
雪だるまと裕香、bbs.cgiスレで別途、すすめるかんじですね。
223 :
root▲ ★ :2005/11/26(土) 17:50:22 ID:???0 BE:2919348-###
ひとつ、質問です。 今Samba24で「永久」になっちゃった場合って、 そのレコードはどのタイミングでexpireがなされるんでしたっけか。
224 :
root▲ ★ :2005/11/26(土) 18:00:25 ID:???0 BE:5746379-###
自己解決しました。 上に、ちゃんと書いてあるですね。 ちと休憩しながら、ロードバランシングのことでも調べるか。
ここいらで2ch wiki雪だるま作戦ページに現状を書いていきたいのですが、よろしいでしょうかね?
226 :
root▲ ★ :2005/11/26(土) 18:33:29 ID:???0 BE:2188883-###
>>226 了解です。
では当該ページに更新作業中宣言をいれておきましたのでしばしお待ちを。
229 :
root▲ ★ :2005/11/26(土) 19:44:05 ID:???0 BE:1824454-###
>>227-228 まずはおつです。
図とか微妙な部分がありますが、
そのへんは、おいおいと。
230 :
root▲ ★ :2005/11/26(土) 19:45:42 ID:???0 BE:3830876-###
1001 名前:1001[] 投稿日:Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。 これ、今までと同じにしてくださいです。 全角で1000とか、そういうの。
Visioかぁ。。。 林檎機版もあるといぃよなぁ。。。
234 :
root▲ ★ :2005/11/26(土) 21:05:48 ID:???0 BE:1915373-###
235 :
root▲ ★ :2005/11/26(土) 21:14:57 ID:???0 BE:3284249-###
大丈夫みたいです。 1001 名前:1001[] 投稿日:Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。
236 :
root▲ ★ :2005/11/27(日) 00:52:17 ID:???0 BE:3192757-###
このへんが、出たみたいです。
質問・雑談スレ208@運用情報板
http://qb5.2ch.net/test/read.cgi/operate/1132976990/46 46 名前:動け動けウゴウゴ2ちゃんねる[] 投稿日:2005/11/26(土) 20:01:04 ID:zBsPZFmx0
こんなん出たから貼るけど、ここでいいのかなぁ?
ERROR:不明なエラーが発生しました。
(board:livejupiter key:1133001202 errmsg:No such file or directory)
このメッセージをコピペして、運用情報板で報告していただけるとありがたいです。
【しゃけ】雪だるま作戦に思いを馳せながら雑談するスレッド Part27
http://aa5.2ch.net/test/read.cgi/nanmin/1132754646/458 458 名前:名無し草[] 投稿日:2005/11/26(土) 23:53:29
ERROR:不明なエラーが発生しました。
(board:livejupiter key:1133016767 errmsg:File exists)
このメッセージをコピペして、運用情報板で報告していただけるとありがたいです。
237 :
root▲ ★ :2005/11/27(日) 01:13:51 ID:???0 BE:2462393-###
>>236-237 ENOENT は存在しないはずのスレに書き込みしようとした時に出ますね.
EEXIST はスレ立て時にリトライ回数上限(16)に達してしまった場合に起こりますね.
>>238 了解です。
ENOENTは「スレッドがありません。」
EEXISTは「別の人が同時刻にスレッドを立てようとしています。ごめんなさい。」
にするです。
240 :
root▲ ★ :2005/11/27(日) 22:39:06 ID:???0 BE:365322-###
>>240 乙です.わかるかと思いますが一応......タイムアウト時間は
use constant BBSD_TIMEOUT => second;
のところで調整できます.あと
use constant BBSD_HOST => inet_aton('host');
use constant BBSD_PORT => port;
というのが現在は定数になってますが,これは今後 live22 以外にも雪だるまを
使うようになったら,各ホストに対応する接続先に切り替えられるように
した方がいいですね.
>>241 ですね。< タイムアウト
で、host, port は、引数で与えるとか、あるいはどこかに config を書いておいて
bbs.cgi の船出航時に読むとかの応用もあるかなと。
で、先日ちょっと書いたトラックバックへの対応ですが、 http でバックエンドにdatをとりにいくように bbs.cgi で対応したので、 bbsd での対応は、不要になったです。
>>242 鯖ごとに config ファイルを置いてそれを読み込むってのがいいかもですね.
>>243 なるほど.まぁ get1 コマンドはとりあえず残しておきますが.
ただ,HTTP を使うなら,バックエンドではなく localhost から取ってくれば
キャッシュを有効活用できてその分バックエンドの負担を減らせるかも知れません.
245 :
root▲ ★ :2005/11/29(火) 03:32:56 ID:???0 BE:4104959-###
>>244 なるほど。
キャッシュを活用させるためには、どうやってとりにいけばいいのかしら。
read.cgiの特性上、今はlive22x.2ch.netという名前は、live22x[123]の中では、
live22.2ch.netの裏口につけてあったりして。
>>245 ん〜と,普通に localhost 宛に HTTP リクエストを発すればいいかと.
もし VirtualHost を使っているのなら,"ServerAlias localhost" を設定して
localhost 宛のリクエストがその VirtualHost 宛として扱われるようにすればいいですね.
>>246 なるほどです。
本日午後以降多忙のため、別途ぼちぼち。
249 :
root▲ ★ :2005/11/29(火) 21:29:53 ID:???0 BE:1094562-###
>>249 LWP::Simple ではヘッダ指定とか出来なさそうなので,LWP::UserAgent
などを使ってもうちょっと手をかけなければならないかも知れません......
251 :
root▲ ★ :2005/11/30(水) 10:59:25 ID:???0 BE:1824454-###
>>250 みたいですね。
つまり「へんなところで手抜きしちゃ だめですよ」ってことすか。
トラックバックは所詮トラックバックなので(= とりあえず動いているのと、
今は量で効いてこないんで、優先度高くない)、おいおい、マターリってかんじで。
まぁ手をかけるといっても数行程度ですが......
use LWP::UserAgent;
my $ua = LWP::UserAgent->new(agent => '', timeout => 5);
my $res = $ua->get("
http://localhost/$GB- >{'FORM'}->{'bbs'}/dat/$GB->{'FORM'}->{'key'}.dat", Host => $ENV{'SERVER_NAME'});
if ($res->is_error) {
DispError2($GB, 'ERROR!', 'ERROR:
>>1 取得失敗');
}
my $firstlog = (split(/\n/, $res->content, 2))[0];
254 :
root▲ ★ :2005/12/05(月) 18:13:59 ID:???0 BE:2553874-###
>>252 を組み込みました。
# 051205 雪だるまでのトラックバック送信部分を改良(キャッシュが効くように) by む
大失敗でつねこれは
実況鯖スレでは擁護に回っているけれど、 live22b[12]のテストが足りなかったんじゃ、という気は正直あります。 heartbeat体制で最速1000テストやったわけでもないし。
>>256 たしかに。
でも、書き込み系のテストは割とすぐできるけど、
読み出し系のテストは、実戦以外でやるの、むずかしいす。
まぁ、言い訳ですが。
alteonかおーぜ
復帰の呪文ですがー 今実際に使ってるのは通常復帰とsage復帰の2種類じゃないでしょうかー (というか、それで足りているはずというかー) 復帰補さんが登場した時に、古い呪文なんたら、ってことがあったようなー 厳密にはメールで呪文のやりとりして確認するしかないんじゃないでしょうかー
復帰呪文 漏れてる気配があるから、いっそ新規に作り直しちゃうとか。
そろそろ呪文系 CGI も bbsd 対応が必要のようで......
呪文関連の API は
>>45 >>156 あたりです.
で,sage 復帰っていうのはどのような処理になってるんでしょうか?
場合によっては API 追加になるのかな......
むむむさんにQしました。
liveanb の復帰依頼が来ていますのでお願いしますわ。ごきげんよう
>>261 >sage復帰
現在subject.txtに存在するスレッドのうち、datが存在しないものを省く処理です。
スレッドの順位は復帰前と復帰後では変わりません。
>>264 なるほど.既存の purge コマンドを使ってやるか,それとも別の API を作るか,
どちらがいいかってとこですね.呪文 CGI のわかる方と相談ということで......
>>259 なるほどです。
通常復帰とsage復帰って、同じ呪文(CGI)で引数が違うのかしら。
それとも、CGI自身が違うのかな。
>>261 どもです。
どうせ必要になると思うので、それらのAPIを使った
もうひとつ上のレイヤのサブルーチンを、ぼちぼち書き始めようかなと。
で、bbsd-common.pl とか、そういう名前で置いておいて、
各呪文からはrequireすると。
>>262 メッセージを見ようと思って点滅しているところをクリックした瞬間に、
ICQが異常終了しました(AA略)、、、。
すみませんが、再度お送りいただけますとありがたいです、、、。
>通常復帰とsage復帰って、同じ呪文(CGI)で引数が違うのかしら。 同じCGIで、うしろにオプション付けるって感じですー。
>>266 乙です.
で,とりあえず sage 復帰に相当する機能の API 実装しますた.
dat の存在しないスレを subject から消す:
my $errmsg = bbsd($bbs, 'autopurge', "$logfilename:$logline");
bbsd 更新完了 @ live22。
>>269-270 乙です.が......ちょっとマズい点があって修正したので,
再度更新お願いします......
273 :
root▲ ★ :2005/12/14(水) 20:11:51 ID:???0 BE:4377986-###
SunOSさんに作ってもらったAPIを使って、 呪文に組み込むための、 $errmsg = &ResSakujo($ita, $key, $resnum); $errmsg = &ResToumeiSakujo($ita, $key, $resnum); $errmsg = &SureStop($ita, $key); $errmsg = &SureAgain($ita, $key); $errmsg = &SureMove($ita, $key, $newita); のサブルーチンを作ってみました。 で、気づいたところを。 1) レス削除をすると、BBS_DELETE_NAME を読むようです。 私は問題ないと思いますが、今の動作と違うみたいです。 2) スレ移動をすると、移動先の一番下に入るようです。 これは今の呪文も、そうなんでしたっけ。
274 :
root▲ ★ :2005/12/14(水) 20:16:23 ID:???0 BE:5837388-###
で、削除系では、 $errmsg = &SureSakujo($ita, $key); $errmsg = &SureGomibako($ita, $key); は、今日中にできると思います。 で、スレ削除に使うAPI、 # スレッドのファイル自体削除: # my $errmsg = &bbsd($bbs, "tdelete:$key", '*', "$logfilename:$logline"); は、本当にスレがrmされてしまうのでしょうか。 つまり、二度と復活できない。
275 :
root▲ ★ :2005/12/14(水) 20:18:28 ID:???0 BE:1459744-###
復帰系では、 $errmsg = &Fukki($ita); $errmsg = &SageFukki($ita); を、作る予定。 で、質問なのですが、html/html の下って、 今の復帰の呪文でも、作られなおすんでしたっけか。
276 :
root▲ ★ :2005/12/14(水) 20:19:48 ID:???0 BE:1642829-###
で、ここまではここ数日のうちにはできると思うので、 あとは、呪文への組み込みができれば、それでよいはず。 このへんのパーツができたら、次の段階(組み込み)へと。
>>277 了解です。ということは、現在の動作で問題ないですね。
で、$range というぐらいで、ひょっとするとインテリジェントな指定が
できたりするのかしら。< レス削除と透明削除
>>273 1) BBS_DELETE_NAME は読まずに無条件に「あぼーん」になったんだったと…
>>266 > すみませんが、再度お送りいただけますとありがたいです、、、。
再度送っていただきました。どもです。
で、ちと、重要なおながいをば、、、。
Qをお送りいただいた方には大変申し訳ないのですが、
管理人または管理人に許可を受けた方以外の方が、
呪文の名前と機能を使い方をQで私にダイレクトに送るのは、
今後はできれば、ご遠慮いただけますと幸いでございますです。
見ちゃうと、目がつぶれますです。えぇえぇ。
で、お送りいただいた復帰の呪文については、
練習を兼ねて私のほうで組み込んでみますです、、、。むぎゅー。
281 :
root▲ ★ :2005/12/14(水) 22:41:48 ID:???0 BE:1368353-###
282 :
root▲ ★ :2005/12/14(水) 22:43:29 ID:???0 BE:2189838-###
>>273 のスレスト再開を、
> $errmsg = &SureAgain($ita, $key);
から、
$errmsg = &SureRestart($ita, $key);
に、変えた。
283 :
root▲ ★ :2005/12/14(水) 22:49:40 ID:???0 BE:4925096-###
田吾作 ★ さんへ 芋掘りの芋は既に live22xN の所定の位置に配置されるようになっていますので、 芋掘り機を live22xN に入れていただければ、芋堀りは可能なはずです。 芋掘り機を入れる場合、live22xN (N=1,2,3) の全てに同じものを入れてくださいです。 なお、ファイルはゆっくり同期していますので、書き込みから最大5分程度、 芋ができるのに遅延がありますです。
284 :
root▲ ★ :2005/12/14(水) 23:02:54 ID:???0 BE:1916137-###
ゴミ箱送りが、うまく動かないようです。 %./bbsd-test.pl No such file or directory たぶん、live22xtr じゃなくて live22tr だからか。
285 :
root▲ ★ :2005/12/14(水) 23:20:07 ID:???0 BE:1368353-###
>>283 芋はバックエンドで掘るようにしてもらえるようです。
(コピーが減って、少し楽になる)
286 :
root▲ ★ :2005/12/14(水) 23:21:04 ID:???0 BE:2463539-###
さて、ひととおり共通APIを書いたんで、 ・スレスト ・復帰 の呪文を、とりあえずごにょってみるです。
287 :
root▲ ★ :2005/12/15(木) 00:13:23 ID:???0 BE:547823-###
>>273 - 乙です.動き出したようですね<呪文対応
BBS_DELETE_NAME ですが,「あぼーん」と違う設定の板があるとか,
この項目を将来的に SETTING.TXT から廃止する予定があるとか,
そういうことがあればその部分の処理を変えた方がいいのかも知れませんが,
どうなんでしょうか.
レス削除の $range は,例えば
-4,8-13,18,20-24,26,29-
のように柔軟な指定が可能になってます."-4" は "1-4" と等価で,
"29-" は例えば最終レス番が 40 なら "29-40" と等価です.
26,29-,20-24,8-13,18,-4 (順不同な指定)
-4,8-13,11,18,20-24,22-23,26,29- (重複するレス番がある)
というような指定であっても問題ありません.
ただ,"24-20" のように - の後ろの数値が小さい指定や,
最終レス番が 40 のスレで "38-41" のように範囲外の数値を
指定するとエラーになります.
スレのファイル自体削除は,dat そのものを削除しますので,復活はできません.
ゴミ箱送りが機能しないのは,やはりホスト名の問題ですね.フロントも live22 という
名前ならゴミ箱の名前が live22tr になりますが,現状だと live22xtr にしてしまうので.
とりあえずスレ移動で代用するのがいいのかな......
289 :
root▲ ★ :2005/12/15(木) 00:35:16 ID:???0 BE:1095034-###
>>288 > BBS_DELETE_NAME ですが,「あぼーん」と違う設定の板があるとか,
> この項目を将来的に SETTING.TXT から廃止する予定があるとか,
> そういうことがあればその部分の処理を変えた方がいいのかも知れませんが,
> どうなんでしょうか.
私は、今の仕様でいいかなと思っているです。
削除人の方々は、どうなのかしら。
> レス削除の $range は,例えば
> -4,8-13,18,20-24,26,29-
> のように柔軟な指定が可能になってます."-4" は "1-4" と等価で,
> "29-" は例えば最終レス番が 40 なら "29-40" と等価です.
> 26,29-,20-24,8-13,18,-4 (順不同な指定)
> -4,8-13,11,18,20-24,22-23,26,29- (重複するレス番がある)
> というような指定であっても問題ありません.
> ただ,"24-20" のように - の後ろの数値が小さい指定や,
> 最終レス番が 40 のスレで "38-41" のように範囲外の数値を
> 指定するとエラーになります.
おー、すごいですね。
であれば、API仕様(ここに書く予定)の変数を、rangeにしてこよう。
> スレのファイル自体削除は,dat そのものを削除しますので,復活はできません.
やはりそうですか。
呪文のほうでは、実はファイルを移動しているのかな。
> ゴミ箱送りが機能しないのは,やはりホスト名の問題ですね.フロントも live22 という
> 名前ならゴミ箱の名前が live22tr になりますが,現状だと live22xtr にしてしまうので.
> とりあえずスレ移動で代用するのがいいのかな......
そうなるですね。
で、そもそもlive22はメモリディスク仕様だったりして、
live22trはメモリディスク上になかったりするので、
そのままではEXDEVか何かになるかもしれんです。
>>289 >> スレのファイル自体削除は,dat そのものを削除しますので,復活はできません.
>やはりそうですか。
>呪文のほうでは、実はファイルを移動しているのかな。
従来のスレ削除ではどうなってるのか知りたいですね>ご存じの方
>で、そもそもlive22はメモリディスク仕様だったりして、
>live22trはメモリディスク上になかったりするので、
>そのままではEXDEVか何かになるかもしれんです。
*.dat は別ファイルを作成した上で内容転送,*.html は単純な rename() になってます.
移動先では一番下に追加ということで,index.html に表示されないぐらい下なら *.html が
なくてもとりあえず平気でしょうけど,そうじゃない場合にどうかってところですか......
291 :
root▲ ★ :2005/12/15(木) 00:51:09 ID:???0 BE:1642436-###
>>290 なるほどです。
パラノイアにやるならhtml/htmlを作り直すんでしょうけど、
たぶんそこまでやらなくても、いいような気がするです。
292 :
root▲ ★ :2005/12/15(木) 01:35:05 ID:???0 BE:3192757-###
復帰・sage復帰の呪文も、対応できたと思います。 今後、対応ができた呪文は、live22xに対して唱えてくださいです。
293 :
root▲ ★ :2005/12/15(木) 01:54:30 ID:???0 BE:1095034-###
で、今後の方針ですが、、、。 各パーツを完成させて、実行するためのAPIの仕様をここに公開しようと思うです。 で、対応のさせ方を全部書いたうえで、 あとは、呪文のおもりをされている方に、個別に対応していただこうかなと。 たぶん、それが一番問題が少ないと思うです。 で、もし対応される方が既にいない呪文、というのがあった場合は、、、。 その時は、みんなで困りましょうと。
>>289 > BBS_DELETE_NAME ですが,「あぼーん」と違う設定の板があるとか,
> この項目を将来的に SETTING.TXT から廃止する予定があるとか,
> そういうことがあればその部分の処理を変えた方がいいのかも知れませんが,
> どうなんでしょうか.
これって、SETTING.TXTで多い設定は「あぼーん」と「あぼーん!」の2種類っすね。
たまにこれとちがって空文字列やら「おぼーん」やら「半漁人さん」という
設定になっている板があります。もちろん実際にはそうはなりませんが。。
で、最近、レス削除の時に、「あぼーん」のかわりに「うふーん」やら、
スレストのときに「スレは止めても愛は止まらない!」とか書いてあるときがあるけど、
あれってどうなっとるんやろなぁ。。
295 :
root▲ ★ :2005/12/15(木) 02:59:44 ID:???0 BE:1915373-###
>>294 最終段落
何か、新しい呪文だと思うです。
このへんのメッセージを変えるAPIは、、、別途考えようっと。
296 :
root▲ ★ :2005/12/15(木) 03:00:53 ID:???0 BE:5107878-###
てゆうか、「あぼーん」を変えるのは、ちょっと今の仕様だと難しいかもですね。 「愛は止まらない」にするとかはSunOSさん提供のAPIで、できるですが。
>>294-296 なるほど.となると......レス通常削除用 API に引数追加して
「あぼーん」に相当する文字列を CGI 側から指定してもらうとかするのがいいんですかね.
299 :
root▲ ★ :2005/12/15(木) 11:32:36 ID:???0 BE:4469377-###
どの呪文もこの2つを相当使っているようなので、 以下の共通APIを準備することにした。 @dat = &GetDatFromBackend($ita, $key); @sub = &GetSubjectFromBackend($ita); で、共通判定部分を準備した。 if (&IsSnowmanServer) { 雪だるま; } else { 通常; } のように使用可能。 昨日仮対応した呪文も、追ってこれに書き換えよう。
300 :
root▲ ★ :2005/12/15(木) 12:00:33 ID:???0 BE:1916137-###
> 昨日仮対応した呪文も、追ってこれに書き換えよう。 完了。 対応例: # 雪だるまサーバ対応 -- 12/15/2005 by む if (&IsSnowmanServer) { @dat = &GetDatFromBackend($FORM{'bbs'}, $FORM{'key'}); } else { open(DAT,"<$ondat"); @dat = <DAT>; close(DAT); }
で、追加でひとつお願いです。 スレッド削除は、ファイルの実体を移動することで実装している、 という情報がありました(ごくたまに、誤削除されたものを戻している人がいます)。 ということで、bbsdに以下のAPIの追加をお願いできますでしょうか。 処理名: datの移動処理(スレッド削除に相当) 動作: 板$bbsのキー$keyのdatを、指定したパス名で移動(保管)する - 入力: $bbs, $key, パス名 - パス名はpublic_html/testからの相対パス - datがある場所と移動先は同じパーティションにあるとは限らない よろしくおながいいたしますです。
あぼーん<>あぼーん<>あぼーん<>あぼーん<>あぼーん ぬるぽ<>ぬるぽ<>ぬるぽ<>ぬるぽ<>ぬるぽ 停止しました。。。<>停止<>停止<>真・スレッドストッパー。。。( ̄ー ̄)ニヤリッ<>停止したよ。 停止しました。<>停止<>停止<> 停止いたしますわ。ごきげんよう。 <>停止したよ? こういうのを見るとfrontから一行分指定できたほうがよさそう。
>>302 既に、そうなっているですね。< bbsd
304 :
root▲ ★ :2005/12/15(木) 19:10:17 ID:???0 BE:2188883-###
どうでもいいんだけど /_service/IPnum-xxxx-xx-xx.txt って書き込みIP数なの それとも読み込みも含めたIP数なの?
>>305 > 読み込みも含めたIP数
それはPV********.txtじゃないの?
レスの通常あぼーん: my $errmsg = bbsd($bbs, "delete:$key", $range, $deletename, "$logfilename:$logline"); # 引数追加で $deletename に「あぼーん」などの文字列を指定. スレッド削除($path へ移動; EXDEV 対策済み): my $errmsg = bbsd($bbs, "delete:$key", '*', $path, "$logfilename:$logline"); # ゴミ箱逝きには move を使ってもらって,お役ご免になりそうなスレ用 delete をこの仕様に変更. 以上実装しますた.
>>307 はや。おつです。
落ち着いたら、bbsdの入れ替え & APIへの組み込みをば。
309 :
root▲ ★ :2005/12/16(金) 00:35:34 ID:???0 BE:3283294-###
入れ替え完了。
310 :
root▲ ★ :2005/12/16(金) 02:41:00 ID:???0 BE:3192757-###
311 :
root▲ ★ :2005/12/16(金) 04:30:04 ID:???0 BE:2918584-###
そういえば、スレストの処理が微妙に従来と違うような。
いままでは、24レスのスレがスレストされたら、subject.txtには(24)って表示だったはずなのに、
>>310 のスレは(25)って表示になってるですね。
あと、移転された場合も、従来は、レス数表示は移転された時点のレス数のまま、
スレタイも「移転しました。。。」ではなく移転される前のままだったけど、
移転しました。。。 (1)ってなってるように見えるです。
(通常復帰があった場合は確かにそうなるし、これは完全には確認はできてないですが、、)
>>311 乙です.ただ......細かい bugfix をしましたので,お手数ですが再度更新お願いします<bbsd
>##############################################################################
># スレをsubject.txt/subback.htmlから消去(dat落ち処理とかで)
># 入力: 板名、キー
>##############################################################################
>$errmsg = &PurgeSubject($ita, $key);
こういう形になってるとわかりやすそうですね.で,bbsd の purge コマンドの引数は
$keys となってるのがミソでして,もちろん単一のスレキーでもいいんですが,
複数のスレキーを ',' で区切って列挙しても Ok になってます.
>>312 それはですね......bbsd では,内部で保持している subject データが
dat の状態を正しく反映しているという前提で各種処理を行っているので,
dat の実際の状態と乖離したままにしておくと弊害が出かねないため
そのようにしています.また,dat の状態を正しく反映するためのオーバヘッドも
bbs.cgi に比べるとずっと小さくなっているということもあります.
しつもん 誤爆レス削除の復旧も、お願いすれば出来たんですけど。 スレ削除と同じで。 レス削除・透明削除でも どこかに削除前のdatは持っててくれてるのかしら。
>>313 更新したです。
で、purgeは複数指定できるですか。さすが。
>>314 なるほどです。
たぶん、呪文内で保存しているんだと思います。
保存の仕方により、bbsdやその上の部分(私が今組んでいる)のAPIで
フォローする必要があるかどうかが決まるのかな。
そのへん、どうなんですかね。> 知っている方
# 削除系は、技術情報がちと。
>>315 で、そういうことであればスレ削除と同じで、残す機構を用意すればよさげですね。
対象はレス削除と透明削除ですか。
で、
>>307 にも言えるのですが、既に移動先に同じ名前のファイルがあったら、
どのようなことになるのかしら(EEXISTとかかな)。
318 :
root▲ ★ :2005/12/16(金) 16:39:35 ID:???0 BE:730324-###
live22xではなく、live22に対して実行することになる呪文: 相当する呪文があるかどうかではなく、そういう機能を持った呪文ということで。 ・SETTING.TXTをいじる呪文 ・1000.txtをいじる呪文 ・過去ログ削除の呪文 ・強制dat落ちの呪文(手動むぎゅ) ・強制倉庫送りの呪文(★漏れとかの時に使用しているもの) → 動作確認済み by 私 ・キャップを操作する呪文 → 動作確認済み by anglerさん ・削除(退避)したものを復活させる呪文 ・dat落ちしたものを復活させる呪文 ・芋掘り機 → おじさんから既に宣言あり
319 :
root▲ ★ :2005/12/16(金) 16:41:03 ID:???0 BE:2280555-###
で、たぶんですが、 ・SETTING.TXTをいじる呪文 は、私の知っているものについてはlive22xで起動かけたら、 「この呪文はバックエンドサーバで実行してください」 っていうのを表示するCGIを、仕込んでおくかんじで。
>>316 >で、
>>307 にも言えるのですが、既に移動先に同じ名前のファイルがあったら、
>どのようなことになるのかしら(EEXISTとかかな)。
現状では単なる rename() のエミュレーション,つまり上書きになります.
EEXIST になるようにした方がいいですかね.
で,レスあぼーんでもデータ退避ですか......あぼーんの度に dat 全体を
保存していると HDD を食い潰していきそうなんで差分で保存した方が
合理的だと思いますが,そうなるとどのようなフォーマットで保存すべきかとか,
あと退避したデータからロールバックする際に,直近のデータから復元するのは
問題ないでしょうけど,何世代も前のデータから復元する際に途中に透明あぼーんが
あるとそのままではずれてしまうでしょうし......そのあたり従来のあぼーん呪文では
どうしてるんでしょうね.
また,bbsd 以外のプロセスが dat を操作することに関してですが,例えば dat 落ちの
ようにファイル自体を rename() や unlink() するのは比較的安全だと思いますが,
dat の中身を書き換えるような操作には脆い面もあります.どのような操作かにも
依存しますが,レス追記とバッティングすると追記されたレスが消失するかもとか,
*.html 生成時には対応する dat を mmap() しますので,生成される HTML が崩れるとか
最悪の場合地雷 (SIGSEGV / SIGBUS) を踏むとかいった可能性もあるので......
となると,レスあぼーんのロールバックは bbsd 側で I/F を用意した方が
良さそうにも思いますが,従来の呪文でどのような処理をしているかがわからないと
なかなか具体的に作りづらいという面もあります......
321 :
root▲ ★ :2005/12/16(金) 22:28:20 ID:???0 BE:547823-###
>>320 > 現状では単なる rename() のエミュレーション,つまり上書きになります.
> EEXIST になるようにした方がいいですかね.
そうしていただけると助かります。
> そのあたり従来のあぼーん呪文では
> どうしてるんでしょうね.
いつだったかに管理人とおじさんに聞いた話を思い出しつつあるのですが、
確か「レス削除系でも、毎回全部dat全体を保存している」ということらしいです。
で、ファイルがあるかどうか調べて、
あったら何らかの規則で(見てませんが、例えば.0とか.1とか)、
保存しているんではないでしょうか。
「削除」という行為の、2ちゃんねるにおける「重み」を考えると、
そのぐらいはしているような、気がしますです。
で、管理人がそういった形でのデータの「あふれ」を気にするはずもなく、
おじさんが静脈系のプログラム(F22ともいう)を作って、
定期的に後始末をしていると、ぼやいていたのを聞いたことがあります。
322 :
root▲ ★ :2005/12/16(金) 22:37:49 ID:???0 BE:1094843-###
>>320 >また,bbsd 以外のプロセスが dat を操作することに関してですが,例えば dat 落ちの
>ようにファイル自体を rename() や unlink() するのは比較的安全だと思いますが,
>dat の中身を書き換えるような操作には脆い面もあります.
私も、そう思っているです。
なので、特にレス削除系は、基本的にフロントからbbsd経由で
統一的に操作するようにしたいところです。
>となると,レスあぼーんのロールバックは bbsd 側で I/F を用意した方が
>良さそうにも思いますが,従来の呪文でどのような処理をしているかがわからないと
>なかなか具体的に作りづらいという面もあります......
確かに、そのとおりですね。
ロールバックも基本的に呪文でやっているはずなので(違うかもですが)、
これもフロントでやるようにしたほうが、いいかもです。
あるいはもし呪文でやってなかったなら、
そのための「復活の呪文」を新たに作って、それをぢぇんぬさんに配布してもらうかんじか。
# やっぱり、もう1段階覚悟を決めて、
# 標準セットの呪文を教えてもらって、読んでみるしかないのかなぁ、、、。
323 :
ヒント :2005/12/16(金) 22:47:04 ID:uVe7rRDa0
$key = スレキー; $nowtime = UNIXたいむ; ログ保存($key$nowtime); 一度削除系CGIの仕様を詳しく聞いた方が・・・。 俺の口からはいえない。
324 :
root▲ ★ :2005/12/16(金) 22:53:00 ID:???0 BE:3648858-###
>>323 なるほど。
どこのどなたかは存じませんが、ありがとうございます。
同一秒の間に同じスレへの削除が起こらなければ、いけるようになっていると。
で、そうやっているってことは、
昔のbbs.cgiのスレ立て重複防止装置のところを書いた人と
仮に同じ人が書いているとすれば、
$newtimeを+1して、、、ってのを、大丈夫になるまで繰り返しているんでしょうね。
ぢぇんぬさんに、相談してみるです。
呪文だけ教わっても、アカウントがなければ作業は出来ないから 作業を押し付けられることはないと思うんですが(ぼそ) 削除ログのcgiをいじられる上で気になるのは、 書き込みログとの整合性をどこかで取ってる筈なので、 そちら(IP・リモホ)の消しすぎや漏れが出ないかどうか、です。。
326 :
root▲ ★ :2005/12/17(土) 00:20:50 ID:???0 BE:2189164-###
ご相談のメールを、ぢぇんぬさんと管理人に発射したです。
327 :
root▲ ★ :2005/12/17(土) 00:24:02 ID:???0 BE:912825-###
>>325 第一段落:
某ホテルで「(アカウントは)いつでも作るですよ」って管理人に言われて、
ものすごい勢いで、首を横に振った私がいるです。
第二段落:
そうですね。
書き込みログはバックエンドにしかないので、そのへんも問題になる可能性ありか。
まずは「ご相談」のお返事を見てから、次の行動をってかんじで。
うはw 予想通り>「いつでも」&「ものい勢いで」 あとは「削除の呪文を唱えた人のログ」もあるはずなので そちらの方の記録もできるかってことですかね。 いろいろお疲れ様です。宜しくお願いします。
削除でIPアドレスのログは弄らないよー。
>>329 削除でログが消える期間が短くなる、と聞いてますよ。
329さんがcgi制作の中の人ならごめんなさいですが。
331 :
root▲ ★ :2005/12/17(土) 01:05:17 ID:???0 BE:1824645-###
>>328 >あとは「削除の呪文を唱えた人のログ」もあるはずなので
>そちらの方の記録もできるかってことですかね。
そっちは、bbsdのほうで対応するためのI/Fが用意されているです。
スレ削除(退避)時に同一パス名が存在した場合に EEXIST にするのは対応完了です. あぼーん/ロールバック関連については,もうちょっと様子見で......
333 :
root▲ ★ :2005/12/17(土) 02:01:29 ID:???0 BE:3830876-###
>>332 おつです。入れ替えてきます。
> あぼーん/ロールバック関連については,もうちょっと様子見で......
こちらも了解。
334 :
root▲ ★ :2005/12/17(土) 02:19:36 ID:???0 BE:1094843-###
>>333 完了です。
- || (fd_new = open(new, O_WRONLY|O_CREAT|O_TRUNC, 0644)) == -1
+ || (fd_new = open(new, O_WRONLY|O_CREAT|O_EXCL, 0644)) == -1
なるほど。
# bbsd.cをちびちびと読み始めようかと思っていたりするんですが、
# なにぶん、中身がすごくて(いい意味です)。
# 何というか、コメントではなく、中身をもって語らしめよ、みたいな。
>>334 確かにコメントがほとんどないのは不親切かも......w
とにかくがーっと書いててコメントまで気が回らなかったんですが,
bbsd.c のおもりをどなたかに委ねるとかいうことになったら,
わかりやすいようにしなきゃですね.
336 :
root▲ ★ :2005/12/17(土) 02:34:07 ID:???0 BE:3284249-###
>>335 > bbsd.c のおもりをどなたかに委ねるとかいうことになったら,
> わかりやすいようにしなきゃですね.
どきどき。
面白いと感じていただける間は、ぜひお願いしますです。
私も、面白いと感じていられる間は、やりますです。
で、bbs.cgi は「おじさんや私じゃなくても大丈夫な状態にする」ことが目的だったので、
もうしつこいぐらい、コメントにつぐコメントだらけになっているです。
%wc -l bbs-main.cgi
4569 bbs-main.cgi
%grep # bbs-main.cgi | wc -l
1193
>>336 まぁ,よほどのことがなければ自分の側から投げ出すってことはないと思うんで.
もっとも,天変地異はいつ起こるかわからないとか,そういうレベルの話だと神のみぞ知る,ってところですが.
338 :
root▲ ★ :2005/12/17(土) 02:47:26 ID:???0 BE:2188883-###
>>337 それは、お互い様すね。
今日はたぶんここはこのぐらいで、たぶん、また明日以降に。
# さっきのメールの返事、管理人からはいつもどおりの「おつです。おつです。」、、、。
>>338 乙でした.ではまた明日以降にでも.
># さっきのメールの返事、管理人からは(ry
(w
自動返信だったりしてw
4500 行かぁ・・・ 大分類して、requireとかuseにするという手もあるのかな。
342 :
root▲ ★ :2005/12/18(日) 02:13:17 ID:???0 BE:730324-
>>341 これはこないだの某ホテルでも、話題になったすね。
そろそろ、やる時期かも。
343 :
root▲ ★ :2005/12/18(日) 02:37:19 ID:???0 BE:5107687-
ぢぇんぬさんから、
>>324 のお返事をいただきました。
ということで、ぼちぼち、すすめていこうかなと。
344 :
サザン ★ :2005/12/20(火) 21:06:50 ID:???0
呼ばれて飛び出て(ry こら、そこ。 冬休みとか言わないように。
あー夏休みー♪
冬厨夏草
冬厨夏繰 →冬の厨房は夏も繰り返す
春虫秋蝗?
でもbbsdは食らい尽くされない(はず
年中無休
>>343 乙です、超乙です。鬼乙です。
なんかあったら電波飛ばしてくださいですー。
私のほうでも出来るだけここ覗くようにしますです。
352 :
root▲ ★ :2005/12/21(水) 13:24:04 ID:???0 BE:3648285-
>>344 でたなー。
>>347 どもです。ハードな作業いつもおつです。
で、メールでのお返事をここでしてしまったりしますが、
このスレはoperateの中でもハードコアなほうらしいので、
スレの技術的な内容が仮にアレだったとしても、
あんまり気にすることはないと思うです。
ようは、できるだけこれまで通りに、
場合によってはこれまでより効率よく安全に使えるといいなという、
単にそれだけのことです。
今後、作業を徐々にすすめていくことになると思いますので、
呪文を使う上で何か不具合があったとか、妙なことが起きたとか、
これまではこうやってたけどこういうことができるといいなとか、
そういうことがあれば、忌憚なくここに書いていただけると。
# それらに対応できるかどうかは、別の問題とゆうことでひとつ。
> このスレはoperateの中でもハードコアなほうらしいので、 一番ハードコアですよ、ここ perlの追っかけなど、技術動向に強い人じゃないとついてけない
誰かアンカーミスを訂正してやれ
いんどった!m9(・∀・)
356 :
動け動けウゴウゴ2ちゃんねる :2005/12/21(水) 18:32:56 ID:gXevBIKt0
いや、あのアンカーはあっている(ということにしよう)
いんどメーターを起動。結果95いんど。どうみても(ry
|ω・`)ソォー...
呪文の中の人登場で,対応も進むのかな......
360 :
root▲ ★ :2005/12/25(日) 01:30:52 ID:???0 BE:6567089-
さて、ここもぼちぼち動かそうかなと思います。 本格対応は、お雑煮食べながらという感じになりそうな予感ですが。 で、やはりどうも必要になりそうなので、 とりあえず汎用のファイルコピー用APIを、bbsd側で作っていただけるとありがたいです。 パス1 を パス2 に単純にコピー、 パス2が既に存在したら EEXIST エラー、といった感じで。
>>360 そうですね.ロールバック対応が完了すれば,呪文も一通り対応完了でしょうし.
>とりあえず汎用のファイルコピー用APIを、bbsd側で作っていただけるとありがたいです。
>パス1 を パス2 に単純にコピー、
>パス2が既に存在したら EEXIST エラー、といった感じで。
了解です.
ファイルコピー: my $errmsg = bbsd($srcpath, 'cp', $dstpath, "$logfilename:$logline"); 実装しますた.
363 :
root▲ ★ :2005/12/25(日) 02:36:39 ID:???0 BE:3648858-
>>362 おつです、おつです。
今何か超速い番組やってるんで、
入れ替えは、のちほど。
# 元気に動いて、実況を支え続けているです。はい。
364 :
root▲ ★ :2005/12/25(日) 03:50:40 ID:???0 BE:2189838-
bbsd 更新したです。 これでひととおりのAPIがそろった気がするので、 こちらも、ぼちぼちと。
365 :
root▲ ★ :2005/12/25(日) 04:25:23 ID:???0 BE:547632-
367 :
root▲ ★ :2005/12/26(月) 04:37:06 ID:???0 BE:1277827-
おふろ入っている間に思いついたので。 Samba24とか、timecount/timecloseとかの DB管理系だけを、別のbbsdでお守りすることにして、 そのbbsdは、フロントエンドのどれかに持たせるというのはどうかなと。 で、つまり、bbsdのDB管理系部分だけの機能を有効にするような 起動オプションがあると、うれしいのかもなぁと。 ということで、本日はここまでで。
368 :
root▲ ★ :2005/12/26(月) 04:37:45 ID:???0 BE:1916137-
>>367 の心は、
こういうふうにすれば、バックエンドのbbsdを
少しでも軽くできるんじゃないかなぁと、そうゆうことで。
369 :
root▲ ★ :2005/12/26(月) 05:12:26 ID:???0 BE:3648285-
いずれにせよ面白そうなので、ちと考えてみるです。 というかたぶんここで、例によって。 ・野球系・サッカー系を一かたまりにして、効率よく ・www/www2/menuをグレードアップ あたりが命題で、すぐ使えるのは、 ・live16 live18 live20 あたりですか。
370 :
root▲ ★ :2005/12/26(月) 05:12:52 ID:???0 BE:2462393-
>>367-368 そういうことであれば,起動オプションを新設するまでもなく
現状の bbsd を普通に立ち上げればいいと思います.
板ディレクトリと SETTING.TXT があって subject.txt がない状態なら,
そのままで DB 管理専用 bbsd として使えるかと.
DB 管理系 API を呼び出すだけなら,subject や dat の操作は一切行いませんし.
372 :
root▲ ★ :2005/12/26(月) 14:31:40 ID:???0 BE:3283766-
>>371 おぉ、すばらしいです。
あとで、やってみるです。
これで、規制系DBをフロント(というか別サーバ)にもっていけると。
373 :
root▲ ★ :2005/12/27(火) 04:27:47 ID:???0 BE:1460328-
対応したです。 これで、live22のbbsdからこれらの仕事を分離できたと。 560 名前: ◆MUMUMUhnYI [sage] 投稿日:2005/12/27(火) 04:23:13 ID:hh69QxeR0 ? # 051227 bbsd複数体制(書き込み・IDの種用とDB保持用)に対応 # Samba24、●スレ立て、timecount/timecloseのDBのおもりを別サーバで # これらに関してはbbsdがダウンしていてもとりあえず書き込みは可能に by む
374 :
root▲ ★ :2005/12/27(火) 04:32:43 ID:???0 BE:3192757-
>>373 により、Samba24のデータをlive22x1のbbsdで面倒見るようになったので、
例の数値が出るサーバが、live22x1に変更になったです。>どくどくさぼてんさん
375 :
root▲ ★ :2005/12/28(水) 00:46:30 ID:???0 BE:5107878-
>>375 削除の呪文を唱えるのに、かなり手間取るようなのですが
せめて板名を変えてもらえませんか?
現状の板名では
荒らし依頼や電番・サイト攻撃などの書き込みが集まる悪寒がします。
運営の人には面白い駄洒落なのかもしれませんが
荒らし公認ととられかねない板名は、やめて欲しいです。
>>376 > 削除の呪文を唱えるのに、かなり手間取るようなのですが
そうなんですか。
snowは「ローカル雪だるま」(= datそのものはsnowサーバに普通に存在)なので、
スレ削除とかスレ移動等の後に復帰の呪文が追加で必要になりますが、
呪文自体が「かなり手間取る(例えばlive22x => live22にしないと効かない)」ことは、
ないと思うです。
板名ですが、おじさん流の洒落すね。
私は正直あんまり気にしてないですが、ちょっとびっくりしたです。
(フォルダ名alaskaをお願いしたのは私ですが、その洒落は私は全く思いつかなかった)
378 :
root▲ ★ :2005/12/28(水) 12:32:24 ID:???0 BE:7387799-
>>377 に自己突っ込み
で、もし仮に「かなり手間取る」が「別途復帰の呪文が必要」のことだとしたら、
それは「このとおりです鋭意なんとかします今は許してください」しかないです。
ごめんなさい。
ドウモスミマセン、コノトオリデスのAA↓
要するに
>>376 さんは
削除が大変なんだからせめて削除対象になるレスを増やすような板名はやめちくれ
ってことかな
381 :
root▲ ★ :2005/12/28(水) 13:09:29 ID:???0 BE:2189164-
そういう話ですか。
>>379-380 SETTING.TXTを変えるのは私でもさっくりやれますが(板名にこだわりないし)、
kakolog.html とか kako/ とかは、どうすればいいのかな。
382 :
root▲ ★ :2005/12/28(水) 13:11:17 ID:???0 BE:2736656-
とりあえず、SETTING.TXTだけ変えてみた。
隠し板扱いだし、そもそも書き込み自体があんまりないような気がする。 そんなに気にしなくてもいいんじゃないの?
対外的(要請板取り扱いみたいなの)があるとやっぱり問題かとも思うけどねぇ まあないか。
386 :
削除車 ★ :2006/01/01(日) 01:57:49 ID:???0
>◆cZfSunOs.さん&rootさん、関係各位
本年もよろしくお願いします。
live22xのsage復帰ですが、一度で上手くいかずに何度か呪文を唱える事になりました。
呪文を唱えるたびに、42→36→34→33のようにsubjectのスレッド数が変化しました。
(上手くいっていれば一度で42→33になるはずです)
何らかの問題が潜んでいるのか、今回だけなのかわかりませんが、とりあえずご報告します。
またlive22x復帰する機会があったら、挙動をよく見ておきます。
http://qb5.2ch.net/test/read.cgi/operate/1127134565/686-688 よろしくお願いします。
>>386 こちらこそよろしくお願いします.
で,ご報告ありがとうございました.う〜む......sage 復帰でスレが subject から消される条件は
if (stat(*worker->paths, &st) && errno == ENOENT)
つまり dat ファイルへの stat() が失敗しかつ errno が ENOENT な場合ということなので,
何らかの原因で ENOENT 以外だったんでしょうか.いずれにせよこのあたり要観察ですかね.
# 番外編として,本来マルチスレッド環境で MT-Safe であるべき errno に虫がいるかも
# ってのもあり得なくはないのかも......
>>386-387 について......「要観察」といっても,現状だと ENOENT 以外が発生しても
何が起きたか見当もつかないんですよね.ということで,ENOENT 以外が発生したら
エラーリターンになる($errmsg にメッセージを返す)ようにしますた.
389 :
root▲ ★ :2006/01/03(火) 14:19:38 ID:???0 BE:5746379-
>>388 お、年始早々bbsdの更新ですか。
やっておくです。
APIのほうでも、ちゃんとエラーチェックしないといかんということですね。
390 :
root▲ ★ :2006/01/03(火) 14:24:18 ID:???0 BE:5746379-
391 :
root▲ ★ :2006/01/03(火) 14:24:52 ID:???0 BE:1276872-
APIのほうは、帰京後にぼちぼちとってかんじで。
>>389-391 乙です.まぁ $errmsg をそのまま表示でいいんじゃないかと思います.
どちらにせよ現状では何が起きたのかもわからないので,それ以外やりようがないでしょうし.
datのレス数とsubject.txtのレス数が違っていた場合に、スレに
書き込んだ時の、subject.txtのレス数の処理はどうなっていますか。
通常のbbs.cgiでは、subject.txtのレス数に関わり無く、書き込む度に
datからレス数を数え、その数をsubject.txtに書き込んでいた為、
subject.txtのレス数が異常でも、そのスレに書き込めば直ったのですが。
というか、これ。
http://live22x.2ch.net/test/read.cgi/eq/1136722083/ subject.txtのレス数がdatより1多い状態になっているのですが、
スレに書き込んでも、subject.txtのレス数がそのまま+1されるだけの
ようで、はて、どうしたものかと。
通常の板復帰では、subject.txtに載っているスレは、レス数を数えて
直してはくれないはずですし。
古い完全復帰なら直してくれた気はするけど、どうだったかな。
>>393 う〜む......datがおかしくなった原因は不明ですが......
# 透明あぼーんがあったとか? bbsd を経由しない形で dat の内容が
# 変更されるようなことがあれば bbsd 的には想定外の事態ではあるんですが......
復帰(bbsd の repair コマンド)を実行すればカウントし直します.
どもー。 こちらさんの復帰はレス数も直してくれるのですね。 では、復帰を依頼する方向で。
復帰してもらって、直りました。 おつかー。
管理人の方々お疲れ様でつ。 今から工房の携帯から妄想がたれ込みますが脳内阿保ーんお願いします。(じゃあ書くのやめれとか言わんでくれ ) どっかにスレ情報書き込んであるデータ生成すれば板設定変更出来るlocal.info作って見たり。 なかったらデフォルト呼び出し。 アクセス権に色々背負わせてみるのも面白いかもグループとかは使わない?から[0-7]でそれぞれにスレスト・1000越え・512K制限・普通・隠し・ゴミ箱行き・移動とか? そうするとゴミ行きが分かり安いかな? 呪文唱えるときはbashでまとめたいなぁ。 #タイムアウトを # ##タイム ##アウト ##ヨヨイノ ## ## ##ブーン(AAry # #にして欲しい。みたことないけどw
ここか
401 :
root▲ ★ :2006/04/13(木) 11:47:38 ID:???0 BE:1642829-#
>>399 汎用 touch ルーチン(スレッド924用)を流用することで、対応できました。
これで、plus 系もやろうと思えば雪だるまにできるはず。
rootさん、奥さんとはうまくいってますか?
403 :
ベースボール :2006/06/27(火) 21:31:46 ID:8rvCdbfh0
>>401 お前は死刑だ 不倫関係があったのでこれより死刑に処する
407 :
動け動けウゴウゴ2ちゃんねる :2006/08/07(月) 23:33:59 ID:bU6gYJaH0
アリの巣コロリってあるじゃん 蟻の行列にポンと置くと一瞬ビックリして列が乱れる 邪魔だなと言わんばかりに迂回する列が出来る そのうち好奇心旺盛な一匹がアリの巣コロリに入る そいつをマネして何匹も入る 毒とも知らずにツブツブを運び出す 一匹が一粒づつ いつのまにか行列はアリの巣コロリが折り返し地点になる 黄色い粒と黒い蟻が作り出す模様は綺麗で見てて楽しい 一匹が一粒づつ丁寧にせっせと毒の粒を運ぶ せっせとせっせとせっせとせっせと 蟻さんって働き者だなと思う 俺も頑張らなきゃなと思う 次の日あれほど沢山いて俺を困らせた蟻が一匹もいない ほんとにいない 探してもいない 泣きたくなった このレスを見た人は4日後にあなたの大切な人がいなくなるでしょう それが嫌ならこのレスを5つの板にコピペしてください 信じるか信じないかはあなた次第です
そんな劇的な効果無いぞアレ。
つか、アレを置くほど蟻が発生してる家ってあるの?
ごっ ごめんなさいっ 雪だるまスレってここじゃなかったのか。。。
413 :
root▲ ★ :2006/08/24(木) 16:44:01 ID:???0 BE:3648858-PLT(15700)
>>412 ごめんなさいです。
nanmin のいつもだらだらと過ごしている例のスレのつもりでした。
# 落ち着いたら、このスレも動かしましょうってかんじで。
%
415 :
ひろゆき@どうやら管理人 ★ :2007/01/04(木) 19:38:09 ID:???0 BE:397679-S★(102333)
mod_cacheとmod_proxyを併用してる場合のキャッシュのヒット率って どこを見るとわかるんでしょうか、、、
>>415 mod_cache にはヒット率を記録する仕組みはなさそうですね.
調べるとすれば,アクセスログで %{Age}o つまり Age レスポンスヘッダを記録して,
Age ヘッダの有無の比率から算出するとかかなぁ......
417 :
ひろゆき@どうやら管理人 ★ :2007/01/05(金) 01:50:15 ID:???0 BE:454289-S★(102334)
おぉ、、ログにそんな設定ができるんですか、 どもです。どもです。
LogLevel debug にしてみるとか。実運用中は無理ですけどね。
あぼーん
とりあえず,いくつか API 追加・引数変更で......
さるさん:
my $n = bbsd($bbs, 'chkthrtimecount', $key, $age, $timecount, $timeclose, $id, "$logfilename:$logline");
#
http://qb5.2ch.net/test/read.cgi/operate/1157125151/1 # の説明でいうところの
# $age = H (秒), $timecount = N, $timeclose = M
# 戻り値: 引っかからなかったら 0,引っかかったら非 0
ファイルサイズ取得:
my $size = bbsd($path, 'getfilesize', "$logfilename:$logline");
板のアンロード:
my $errmsg = bbsd($bbs, 'unload', "$logfilename:$logline");
# subject データをフラッシュし,板のデータをメモリ上から解放
# (板移動時に bbsd を止めなくてもいいように)
指定されたファイルを新たな dat として板に加える:
my $errmsg = bbsd($bbs, "inject:$key", $path, "$logfilename:$logline");
# 削除されたデータの復活用
レスの通常あぼーん:
my $errmsg = bbsd($bbs, "delete:$key", $range, $deletename, $savepath, "$logfilename:$logline");
# 引数追加; $savepath にあぼーん前の dat を退避
レスの透明あぼーん:
my $errmsg = bbsd($bbs, "tdelete:$key", $range, $savepath, "$logfilename:$logline");
# 同上
421 :
root▲▲ ★ :2007/02/21(水) 21:56:32 ID:???0 BE:3831067-PLT(23500)
>>420 おー。
# 今日はかなーり体調不良につき、bbsd の更新などは後で、、、。
んなわけで,呪文対応もぼちぼちやってこうかなぁ,と思っている今日この頃だったり......
>>421 手の空いてる時にでもおながいします<bbsd 更新
423 :
root▲▲ ★ :2007/03/05(月) 15:51:55 ID:???0 BE:5745997-PLT(23632)
424 :
株価【905】 △△ ◆cZfSunOs.U :2007/03/08(木) 23:00:40 ID:UC2ma8PH0
一通り対応したつもり......ってことで,とりあえず snow と dso に入れてみますた. ただ,snow で動いてる bbsd は古いままのようなので,更新してもらうまでは ちゃんと動かない呪文もあると思います.一方,dso では今は bbsd を使ってませんが, その状態でもちゃんと動くかどうかの確認のために入れてます.
425 :
root▲▲ ★ :2007/03/08(木) 23:07:28 ID:???0 BE:1460328-PLT(23632)
出張から戻りました。 これから更新作業するです。 対象は、 - live23b - live24b - snow - (news20b) かな。
>>425 乙です.今 bbsd が動いてるのはそのあたりですね.
427 :
root▲▲ ★ :2007/03/08(木) 23:20:53 ID:???0 BE:5746379-PLT(23632)
>>427 乙です.
ってことで,削除人などの方々に適宜テストしてもらえれば,と......
429 :
root▲▲ ★ :2007/03/08(木) 23:36:39 ID:???0 BE:730324-PLT(23632)
430 :
root▲▲ ★ :2007/03/08(木) 23:37:48 ID:???0 BE:3283766-PLT(23632)
おっと、
>>428 ですね。 < アンカー
今日は出張帰りでへろへろなんで、ちと早寝コースで。
# ホテルの部屋の乾燥がひどくて、すっかり喉をやられた、、、。
431 :
root▲▲ ★ :2007/03/08(木) 23:40:59 ID:???0 BE:1276872-PLT(23632)
で、この作業が終わって、標準呪文に組み込まれれば、 雪だるまサーバ(live23/24)で削除系作業をした場合でも、 復帰作業等が不要になるはずと。
>>431 ですね.積み残しだった懸案が片付くことになる,と.
>>434 どもども,ご協力ありがとうございます.
>通常どおり起動しますよ。
ということは,その範囲では特に問題はないということかな.ただ,
>削除処理はしてませんけど。
っていうのは,ひょっとして呪文を唱えてもあぼーんされなかったとか......?
乙ですー 実際に削除までした方がいいのかな? 動作テスト用、削除用スレとかないとやりにくいのが まじめな(以下自粛
>>435 削除スクリプト通常どおり動いていましたよ。
ただ実際に削除はしなかったです。
テストスレッドとかあれば実際に削除してみますけど。
>>436 >>437 なるほど,そういう意味ですか.
snow, dso はテスト鯖なんで,適当にスレ立てたりレス付けたりして
自作自演あぼーんでもいいのではないかとw ただ,こちらでも
実験用スレ立ててみますかね......
乱立したらバーボン送りになった件について
じゃあ俺が糞スレ建立してくるからお前ら遠慮なく呪文唱えてくれ
>>438 と思ったら,どなたかがちょうどいい具合にスレ乱立してくれてましたw
まぁ,私自身 dso では最速 1000 みたいな,
他の場でやれば荒らしになるようなこともやってましたけど.
>>441 よろしくw
>>440 レス削除 透明削除 完了です。
スレッド移転、スレッド停止、スレッド削除ともアラスカはできました。
みなさまおつです。 被りそうなのと、寝坊がこわいので撤収。 お役にたてなくてスマソ。 過去ログスレ呪文のテストが必要だったら、移転跡が落ちてからそれを、がいいかも。
>>443-445 >>447 乙です.一通り無難に動いてるって感じですかね.
1日ぐらい様子見て,特に問題なさそうなら live23, live24 に投入の方向で.
# 乱立してくれた方も乙です.
と思ったら......
>>446 う〜む,そのスレはどういう経緯をたどったんだろう......?
ごめんなさい、全レス透明削除したら打つ手無し、
最後になんとかなったっぽい
>>449-450 あぁ,そういうことですか(bbsd の誤作動かとヒヤヒヤしてました).
これは,今までの元の呪文でも全レス透明あぼーんは可能なようだったので,
仕様ってことでいいのかな......?
全レス削除って・・・鷺が賑わうだけってことで 試すにはもってこいだったわけですかw そんなこと実際にはやらない筈だから放置でいいんじゃないかとw
良いと思いますー。
subbackも変わった?
>>454 bbs.cgi が作る subback.html に最近加えた変更
(表示スタイル切り替えなど)も反映させてますね.
で,live23, live24 では今まで bbsd 未対応の呪文はバックエンドで動かして
フロントからは mod_proxy で渡すという ad hoc な対応をしていましたが,
今回対応した呪文の多くはフロント側で動かしてもらっておkってことになります.
ただ,一部の呪文はローカルマシン上での処理が必要なためバック側で動かしてもらうと
(それでも,subject.txt やライブな dat の操作は bbsd 経由で行います).
このあたりの振り分けについては,live23, live24 への投入時に別途メールででも.
さて......特に問題なさげなので,live23, live24 に bbsd 対応呪文入れますた.
で,
>>455 の振り分けの件についてはむむむさんにメールをお送りしますので,
mod_proxy の再設定おながいします.
あと,今回対応した呪文は bbsd 使用/未使用どちらの鯖にも対応してる
ということで,原本にマージしていいのかな(bbs.cgi の原本と同じ鯖かな)?
あの、、この件?でむむむさんに、メール送りました。
今回対応した呪文に何らかの動作上の不具合があって,それがここに書くのが はばかられる内容のことであれば,私の方にもメールを頂けると幸いです. sunos (at) saita.ma
送らせていただきました。よろしくです。
>>459 メール拝見しました&お返事お送りしましたので,よろしくです.
いただきました。ありがとうございました。よろしくお願いします。
462 :
root▲▲ ★ :2007/03/10(土) 23:13:58 ID:???0 BE:2553874-PLT(23632)
>>456 > むむむさんにメールをお送りしますので,
> mod_proxy の再設定おながいします.
を、したつもりです。(お返事もしました)
乙です。乙です。 確認です。ありがとうございました。
bbs.cgi 原本があるのと同じ鯖にも入れますた<bbsd 対応呪文 (今までのやつはホームディレクトリ配下の某所にバックアップしてます).
>>466 ここ数日のはあぼーんによるものじゃないっぽいので,F15 / F22 なんですかねぇ......
とりあえず,F15 / F22 で purge しても差分がまだ残ってるなら,
autopurge してログにも記録するようにしてみましたが,さて......
>>466-467 について,なぜそんなことが起こるのだろう?と思いつつ,
F15 / F22 のスクリプトのロジックを検証しても
それが起こる原因が思い当たらないし,Perl のエラーを
ログに記録するようにしてもエラーが起きたという形跡は残ってないし,
ということで不思議でしょうがなかったのだけど,
デフォルトアクションがプログラム終了となるシグナルを
捕捉するようにしたら,やっとしっぽをつかんだ.
2007/05/09 22:39:03 Got signals: TERM, PIPE
どうやら,subject.txt 更新処理に入る前にそういうシグナルを
受け取ると差分が発生しちゃってた,ということっぽい.
で,そのシグナルハンドラを設定するようにしてからは
「差分発生 -> autopurge 発動」ってのは起きてないようなので,
要はそれらのシグナルでプログラム終了にならないようにすればおk,
ということらしい.
469 :
動け動けウゴウゴ2ちゃんねる :2007/05/23(水) 03:20:28 ID:aQ/86Eny0
アトポス死ね
470 :
[es] ◆MUMUMUhnYI :2007/06/19(火) 21:32:42 ID:vMj+AKHd0
2chのサービスでもないのに
まぁ、一般的に広告内でその板名を使う、 なんてことは今後もありそうなので、 入れておいてもきっとバチは当たらないのかなと。
でもyakin広告は、普通の広告のようなtxtの貼り付けじゃなくて、 requireしたperlプログラムで書き出してるよね?
474 :
root▲▲ ★ :2007/06/19(火) 23:43:54 ID:???0 BE:3648285-PLT(74072)
>>473 雪だるまシステムでは、あの部分もtxt貼り付けですね。
なんと
476 :
root▲▲ ★ :2007/06/19(火) 23:50:23 ID:???0 BE:1459744-PLT(74072)
そもそも index.html を Perl で生成していないし。< 雪だるまシステム
478 :
root▲▲ ★ :2007/06/20(水) 00:00:57 ID:???0 BE:1094843-PLT(74072)
>>477 第一段落
今bbs.cgiの該当部分読んできました。
なるほど、確かにそういう形なのかもしれないですね。
>>447 第二段落
なるほど、そういうふうになっていると。
>>470-478 >bbs.cgi から「あのファイル.cgi」中の広告用サブルーチンを呼び出す部分を変え
ってのは行われていたようですね.ということで bbsd 使用時にも対応させるようにしますた.
ただ,bbsd で広告ファイルの内容を挿入する際には mmap() したのをそのまま
ダイレクトに出力してるわけですが,中身をパースして板名に置き換えるマークを探して
置換するとかいちいちやることになると mmap() するメリットも失われてくるので,
bbsd 側の処理は変更せず,その代わり F22 であらかじめ広告テキストファイルを各板ごとに作成しておき,
bbsd 呼び出し時に板ごとに異なるファイル名を指定するという形にしますた.
480 :
root▲▲ ★ :2007/06/21(木) 11:34:10 ID:???0 BE:3283294-PLT(74074)
>>479 news22の現状見ました。なるほど。
ということは、live23等の各bbsdも更新ということでいいのかしら。
>>480 bbsd 側は変更してませんので,更新は不要です.
482 :
root▲▲ ★ :2007/06/21(木) 11:40:49 ID:???0 BE:1276872-PLT(74074)
>>481 あ、わかった。
まだ見てないけど、bbs.cgi のあそこの引数をむぎゅしたですか。了解です。
read.js関連のスレってもう見つからないみたいだけど、そのネタここでいいの? read.jsモードにして、Firefoxでいろんなスレ見てると、 時々永久ループに陥るのか、固まってしまってアプリ落とすしかなくなってしまうよ バグなのかな。1日数回、かならずなるよ。 もしスレ違いなら伝えておいて!よろ!
ここでねえ…
490 :
動け動けウゴウゴ2ちゃんねる :2007/10/12(金) 18:24:47 ID:X5TBOJ+10
アトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ね アトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ね アトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ね アトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ね アトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ね アトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ね アトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ね アトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ね アトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ね アトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ね アトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ね アトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ね アトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ね アトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ね アトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ね アトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ね アトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ね アトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ね アトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ねアトポス死ね
491 :
動け動けウゴウゴ2ちゃんねる :2007/10/26(金) 01:44:28 ID:eZfUk6Va0
bbs.cgi制作者は脳に欠陥があるといわざるを得ない
その「脳に欠陥がある」人以下の役立たずの人間がほざいてます。
493 :
i125-201-190-208.s05.a043.ap.plala.or.jp :2007/10/26(金) 15:48:54 ID:WYwtoW0E0
a
494 :
動け動けウゴウゴ2ちゃんねる :2007/10/26(金) 18:36:31 ID:y034cBTi0
XRumer 4.0 is the perfect program for advertisement!?It's have CAPTCHA recognizer, email verificator, and a lot of other functions...??But. I forgot link to it :(??Can you give me URL to the xrumer description? screenshots, etc.??Thanks
498 :
動け動けウゴウゴ2ちゃんねる :
2007/11/23(金) 16:35:24 ID:HO5UpMpm0