X



トップページ運用情報
498コメント239KB
【雪だるま】bbsd⇔各cgi間のI/F仕様について考え・詰めていくスレッド
■ このスレッドは過去ログ倉庫に格納されています
0001root▲ ★
垢版 |
NGNG
雪だるま作戦において開発をすすめているbbsdでは、

                   +- [ フロントエンドサーバlive22x1 ] -- ユーザは
[ バックエンドサーバlive22 ] -+- [ フロントエンドサーバlive22x2 ] -- live22xという代表名で
 制御プログラムbbsd      +- [ フロントエンドサーバlive22x3 ] -- これらにアクセス
  |     |     |        dat直読みや、
dat subject.txt subback.html   bbs.cgiやread.cgiやofflaw.cgi、
書きこみログ(芋掘り)ファイルなど  (こちらは基本的に書き込み操作なし)
(書き込み操作はこちらで)

# 復帰/削除cgiなどについては、さてどっちかな => 今後の課題

という形で「ユーザの相手」と「各種ファイル処理」を複数のサーバに分業することにより、
さらなるパフォーマンスの向上を目論んでいます。

つまりこの場合、dat/subject.txt/subback.htmlは
バックエンドサーバで動作するbbsdというプログラムがリクエストに応じて生成し、
更新や場合によっては削除する形となります。

ということで、bbs.cgiをはじめとする従来2ちゃんねるで動いているcgiでは、
これらが同じサーバにあるつもりでファイル操作をしていましたが、
上記に示すように、少なくとも元本は同じサーバにはなくなるため、
何らかの形で対策を考慮する必要があります。

また現在、ID生成の種やSamba24や
timcount/timeclose等の規制関係で使用している一時ファイル等、
複数のフロントエンドサーバが同じ情報を、
何らかの形で共有する必要があるものもあります。

このスレッドではこれらの処理方法や実装方法について考えながら、
bbsdに持たせたい・持つべきな機能をあぶり出し、実装仕様を詰めていくことを目標にしています。
0151◆cZfSunOs.U
垢版 |
2005/11/21(月) 20:54:54ID:+sSOM0E80
>>145-150 乙です.では DB 用 API はそういう形で実装していきます.
これが完了すると,とりあえず bbsd 側では動かせる形になるってところですかね.
広告については,確かに大きく固まってる部分は切り出しも容易でしょうけど,
細かくちりばめられてる部分をどうするかってのは考えどころですね......
0152root▲ ★
垢版 |
2005/11/22(火) 01:56:57ID:???0
>>151
了解です。よろしくおねがいしますです。

で、それ(広告)をうまく切り出せるようにすることをめざして、
作業をすすめています。

しかし、

MakeWorkFile
MakeIndex4Keitai
MakeIndex4PC

いずれも、割と神の領域だったりするんだな、これが。
0153root▲ ★
垢版 |
2005/11/24(木) 17:54:43ID:???0
厳密にはスレ違いですが。

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 のオーナーとかパーミッションって、
どうすればよかったんでしたっけか。

なんか、キャッシュされないみたいなんで。
0154 ◆TWARamEjuA
垢版 |
NGNG
LoadModule cache_module modules/mod_cache.so

が抜けているとか?
0155◆cZfSunOs.U
垢版 |
2005/11/24(木) 21:06:02ID:g6I3uHOe0
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");
0156◆cZfSunOs.U
垢版 |
2005/11/24(木) 21:06:47ID:g6I3uHOe0
スレスト:
    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 を吐くようにしてキャッシュを効かせる形の方が良さそうな気もしますけどね.
0157root▲ ★
垢版 |
2005/11/25(金) 00:13:21ID:???0
>>154
ううむ、入っていると思うけど、、、。

>>155
おつです。

これで、bbsdの準備は整った、ということ、、、なのかな。
read.cgi の改良は、第二段階ですね。

で、たぶん将来的には、read.cgi/offlaw.cgiはlive22じゃなくて、
live22xで動かすようにするほうがよさげかなと。
0158root▲ ★
垢版 |
2005/11/25(金) 00:13:41ID:???0
で、live22のbbsdを更新しました。
いっぽ、いっぽ。
0159root▲ ★
垢版 |
2005/11/25(金) 02:52:48ID:???0
bbs.cgi とにらめっこ中、、、。

単純な質問で申し訳ないのですが、
$logfilename:$logline は、その「行為」ごとにとられる、ということかしら。
つまり、ログとらなくてもいい場合は、どうすればいいのかなと。
0160root▲ ★
垢版 |
2005/11/25(金) 02:56:25ID:???0
こんなふうでいいのかな。

my $md5line = &bbsd($GB->{FORM}->{'bbs'}, 'getmd5seed', "/dev/null:");
0161root▲ ★
垢版 |
2005/11/25(金) 03:08:20ID:???0
$md5line = &bbsd($bbs, 'getmd5seed', "/dev/null:");

しこんだ。
0162root▲ ★
垢版 |
2005/11/25(金) 03:44:33ID:???0
とれるみたい。

%./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
0163root▲ ★
垢版 |
2005/11/25(金) 03:57:34ID:???0
%./bbs.pl livejupiter chkid kuromarusuretate AAAAAAAA 3600 6 6 /dev/null:test
0164root▲ ★
垢版 |
2005/11/25(金) 04:04:16ID:???0
./bbs.pl livejupiter getndats /dev/null:test
0
0166root▲ ★
垢版 |
NGNG
…ということで、仮組み込みまで終わったです。

今のところの問題は、>>162 の後半のやつですね。
なんでだろう。

でもまずは、順調と思います。
本日は、ここまでで。
0167◆cZfSunOs.U
垢版 |
2005/11/25(金) 06:49:32ID:M1pAccsZ0
>>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 は整数値です.
0168root▲ ★
垢版 |
NGNG
>>167
上: ありがとうです。うまくいきました。

下: おはずかしいです。修正して、ちゃんと動きました。
0169root▲ ★
垢版 |
NGNG
というわけで、ひとつ、仕様追加のお願いがあります。

>>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側に返していただきたいなと。
0170root▲ ★
垢版 |
NGNG
あと、もう一つI/Fがほしいです。

・板名とスレッドキーで指定してbbsdを呼ぶと、該当するdatの1行目をそのまま返す

これができると、トラックバックに対応できます。

さみだれ式ですみませんが、よろしくおながいしますです。
0171root▲ ★
垢版 |
NGNG
それから、、、広告か。

ここに晒していいかどうかわからないから、メールしておくです。
0175root▲ ★
垢版 |
NGNG
おしりの

アニメ | CM | ゲーム | 映画 | 音楽 | テレビ | 日記

は、bbs.cgi から教えることにしたです(対応済み)。
0176root▲ ★
垢版 |
NGNG
purge...

とか、なってしまうのですね。< footnote

ちと、微妙かも。
0177root▲ ★
垢版 |
NGNG
…あと、Over1000やらスレストやら何やらで、書き込みリクエストがしくった場合の
エラー処理ハンドリングって、どうやればいいのかしら、、、。
0179◆cZfSunOs.U
垢版 |
2005/11/25(金) 22:08:00ID:M1pAccsZ0
>>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) を
返しますので,それに沿って処理すればいいかと.
0180◆cZfSunOs.U
垢版 |
2005/11/25(金) 22:24:56ID:M1pAccsZ0
get1 (>>1取得)ですが,sub bbsd {} 中の
        recv(SOCK, $str, 2048, 0)
となってる部分の 2048 をもっと大きい数値にしないと,
>>1文が長い場合に尻切れになってしまうかも知れません.
0182◆cZfSunOs.U
垢版 |
2005/11/25(金) 23:11:38ID:M1pAccsZ0
bbsd 側の SO_SNDBUF も大きくした方がよさそうなので,その点も変更.
0183root▲ ★
垢版 |
NGNG
洋ぽん問題の対応を先にするです。

まずは、メールフォワードしておくです。
0184◆cZfSunOs.U
垢版 |
2005/11/26(土) 00:52:45ID:NBQj9pON0
>>183 メール受け取りました.で,広告の件ですが......
インクルードファイルの情報は非公開とのことなんですが,bbsd.c 自体が
今のところソース公開状態なんで,それを直接 bbsd.c に埋め込むと
結果的には公開してしまうことになってしまうんですよね......

ということで,いくつか方策を考えたんですが

1. bbsd.c も非公開化する.
2. 広告テキストだけでなく,インクルードファイル名も bbsd 呼び出し時の
  引数として渡すようにする.
3. index.html のテンプレートは bbsd.c にハードコーディングではなく,
  外部ファイル化してそれを利用する形にする.
4. その他何かいい方法.

さて,どういう形がいいでしょうか......
0185root▲ ★
垢版 |
NGNG
>>184
私は、広告の場所も公開して問題ないとは思うのですが、、、。

1. は、いやですね。
2. がいい気がします。

基本的に、広告は3ブロックなので、
'ad1'
'ad2'
'ad3'
みたいな引数で、DOCROOTからの相対パスで
広告のファイル名指定できるようにしておくというのはどうでしょう。

で、それをそのまま読んでいただければと。
0186root▲ ★
垢版 |
NGNG
>>185 は、

'ad1' は hoge.txt
'ad2' は test/munya.txt
'ad3' は munya.txt

みたいなかんじで、bbsdに教えておくということです。
0187◆cZfSunOs.U
垢版 |
2005/11/26(土) 01:15:14ID:NBQj9pON0
>>185-186 では,インクルードファイル名も引数化ってことですね.
ただ,bbsd に渡すパス名は,$logfilename も touch コマンドの引数も
$DOCUMENT_ROOT/test/ からの相対パスという形になってますので,
それに統一した方がいいと思います.これは,bbs.cgi 自体の場所からの
相対パスってことですね.
0188root▲ ★
垢版 |
NGNG
>>187
了解です。
それ(testから)に合わせていただいて、問題ないです。
0189root▲ ★
垢版 |
NGNG
Samba は、無事動いたです。

>>182
そっか、「UDPいっぱつもの」なんですよね。
大きくする(8192)ことは簡単ですが、何か副作用ありますかね。
0190root▲ ★
垢版 |
NGNG
あと、datを chmod 444 すると、
書けたように見えて書けないというのが、発生するみたいです。
0191◆cZfSunOs.U
垢版 |
2005/11/26(土) 02:31:37ID:NBQj9pON0
>>189 まぁ,バッファ用にその分メモリ食うぐらいかなと思います......

>>190 そのスレに手動で
bbs.pl livejupiter (key) 'a<>a<>a<>a<>' foot log
とか実行するとどうなりますか?
0192root▲ ★
垢版 |
NGNG
>>191
そのぐらいなら、たいしたことはなさそうですね。
8192にしておくか。

>>191
chmod 444 してから、ってことですかね。
0193◆cZfSunOs.U
垢版 |
2005/11/26(土) 02:41:05ID:NBQj9pON0
>>192
>8192にしておくか。

dat の1行そのまま返すので,本文の制限容量より多めの方がいいかも知れません.

>chmod 444 してから、ってことですかね。

そうです.
0194root▲ ★
垢版 |
NGNG
%./bbs.pl livejupiter 1132860497 'a<>a<>a<>a<>' foot log
Permission denied

ふうむ。ってことはbbs.cgi側すね。
すんませーん。でなおしてきます。
0195root▲ ★
垢版 |
NGNG
bbs.cgiの虫でした。
さっきのは、虫していただければと。カサコソ

--------------------
書込み中・・・
--------------------
ERROR!
ERROR:このスレッドには書き込めません。

ホストbanana637.maido3.com

名前: ◆MUMUMUhnYI
E-mail: sage
内容:
ほい。

こちらでリロードしてください。 GO!
分からないことがあったら2ちゃんねるガイドへ。。。

アクセス規制・プロキシー制限等規制は、2ちゃんねるビューアを使うと回避できることがあります。自分で解決してみよう! 書き込めない時の早見表
0196◆cZfSunOs.U
垢版 |
2005/11/26(土) 09:58:37ID:NBQj9pON0
広告対応しますた.書き込み API の引数追加になります.
# ずいぶん引数が多くなってきました(w

    my $errmsg = bbsd($bbs, $key, $datline, $footnote, $adfile1, $adfile2, $adfile3, $adline, "$logfilename:$logline");

$adline が一番下の小さいやつです.

ただ,現状では $adfile1 には外枠が含まれておらず(つまり bbsd 側で枠を作成),
一方 $adfile2, $adfile3 には外枠が含まれ(つまり bbsd 側では枠を作成せず),
そのため今のままでは枠の外観が不統一になってしまいますね.
0197 ◆TWARamEjuA
垢版 |
NGNG
>>196
> # ずいぶん引数が多くなってきました(w
リファレンスで渡すといぃかも?
my $errmsg = bbsd(
 [
  BBS => $bbs,
  KEY => $key,
  DATLINE => $datline,
  :
  :
 ]
);
みたいな。。。
0198◆cZfSunOs.U
垢版 |
2005/11/26(土) 11:03:31ID:NBQj9pON0
>>197 単純に引数を羅列するよりリファレンスで渡す方が
無駄なコピーとかは発生しないようになるんですかね.
ただ,sub bbsd {} 自体はあまりインテリジェントではなく,
単純に引数を連結して bbsd にパケット投げてるだけなんで,
ハッシュリスト形式にするメリットはあまりないかも......
0199iv66.opt2.point.ne.jp(222.225.56.66) stream ◆PNstream2s
垢版 |
2005/11/26(土) 12:35:38ID: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)
0201stream ◆PNstream2s
垢版 |
2005/11/26(土) 12:37:52ID:z1nSq/XO0
うーん、IFをつめてくスレだったからやっぱbbs.cgiスレのほうが良かったですね
0202root▲ ★
垢版 |
NGNG
調整途中でした。>>199-201

不具合報告は、別のところがよかったすね。
スレはないので、、、。bbs.cgi スレにお願いです。
0203root▲ ★
垢版 |
NGNG
で、ちょっと対応します。

そうか、新スレの時はスレッドキーが返るのを忘れてた。
0204 ◆TWARamEjuA
垢版 |
NGNG
>>198
おそらく効率的では「ない」かと(苦笑)@リファレンス私→デリファレンスして連結して
でも、可読性や引数の抜けによる思わぬ鰓を減らすのには十分威力があるんじゃないかなぁと♪
0205◆cZfSunOs.U
垢版 |
2005/11/26(土) 13:50:47ID:NBQj9pON0
>204 ふむふむ......確かに可読性はよくなりそうですね.特に >>196 ぐらいになると
単純な引数羅列では混乱しそうで(w ただ,bbsd 側でも単純な引数羅列ならデリミタで
ちょん切るだけなのに対し,key-value ペアだともうちょっと働かないといけなくなりそう
というのもあるんで......引数の過不足には現状でも "Invalid argument" を返すんで(ex.>>162),
とりあえず例えばコメントで引数について注釈付けておくとかしておいてもらえば

  my $errmsg = bbsd(
    $bbs, # 板名
    $key, # スレッドキー
    $datline, # dat への追記内容
    :
    :
  );

何とかなるかなぁという気もしたりしなかったり......
0206root▲ ★
垢版 |
NGNG
>>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}"
);
0207root▲ ★
垢版 |
NGNG
>>196
ということで、広告対応しました。

真ん中の広告はbbs.cg内にハードコーディングで
単独ファイルとして切り出されてないので、まだ出ないです。
(ちょっと、切り出してみるか)

あとはご指摘の通り、外観が不統一問題ですか。
どうすればいいんだろう。
0208◆cZfSunOs.U
垢版 |
2005/11/26(土) 14:35:47ID:NBQj9pON0
>>207
>あとはご指摘の通り、外観が不統一問題ですか。
>どうすればいいんだろう。

広告ファイルを手直しできるなら,ファイル側で枠ありか枠なしのどちらかで
統一すればいいんでしょうけど......
0209root▲ ★
垢版 |
NGNG
ファイル側に、原因があるですか。

広告部分は管理人の管轄で、私がどうがんがっても「神の領域」だからなぁ。
ううむ。
0210◆cZfSunOs.U
垢版 |
2005/11/26(土) 15:27:47ID:NBQj9pON0
広告ですが,CSS を使った力業ってのをちょっとやってみますた.
bbsd を更新後,いったん index.css を消してから復帰をかけてみて下さい.
0212◆cZfSunOs.U
垢版 |
2005/11/26(土) 15:46:52ID:NBQj9pON0
2番目のはまぁまぁの感じですが,3番目のがちょっとってとこですか......
0215root▲ ★
垢版 |
NGNG
板トップから read.cgi をクリックで起動すると(例えば「全部読む」を押す)、
名前欄のクッキーが文字化けするようです。

文字コードの問題かしら。
0216◆cZfSunOs.U
垢版 |
2005/11/26(土) 16:31:34ID:NBQj9pON0
再び力業......再度 bbsd 更新,index.css 消去の上復帰かけてみて下さい.

>>215 read.cgi の JavaScript 部分も
http://www2.2ch.net/snow/index.js
を利用するようにすれば解消するのではないかと......
0218◆cZfSunOs.U
垢版 |
2005/11/26(土) 16:43:10ID:NBQj9pON0
>>217 現状のままでは不整合があるかも知れませんが,雪だるまサーバ以外の index.html も
>>216 の index.js を利用するようにすれば不整合はなくなると思います.
0219root▲ ★
垢版 |
NGNG
>>218
なるほど、同期とってやる必要があると。

前に見たような機がするのですが、
これにすると、どのへんがよくなるんでしたっけ。
0220◆cZfSunOs.U
垢版 |
2005/11/26(土) 16:47:00ID:NBQj9pON0
>>219 現状のエンコードしていない Cookie 設定では Firefox や Mozilla などで
文字化けが発生しますが,その index.js のようにエンコードするとその問題が解消します.
0221◆cZfSunOs.U
垢版 |
2005/11/26(土) 16:48:44ID:NBQj9pON0
ただ,NAME と MAIL の Cookie 設定はクライアント側 JavaScript にお任せになるので,
bbs.cgi 側ではそれらの Cookie 設定はしないようにしてもらった方がいいです.
0222root▲ ★
垢版 |
NGNG
>>220-221
なるほどです。

bbs.cgi と read.cgi で同時対応することになると。
雪だるまと裕香、bbs.cgiスレで別途、すすめるかんじですね。
0223root▲ ★
垢版 |
NGNG
ひとつ、質問です。

今Samba24で「永久」になっちゃった場合って、
そのレコードはどのタイミングでexpireがなされるんでしたっけか。
0224root▲ ★
垢版 |
NGNG
自己解決しました。
上に、ちゃんと書いてあるですね。

ちと休憩しながら、ロードバランシングのことでも調べるか。
0228動け動けウゴウゴ2ちゃんねる
垢版 |
2005/11/26(土) 19:37:36ID:X1zHFGGX0
実装の箇条書きだけあげておきました。
実装の詳細ははしょるつもり。

# 220レスのチェックはかなりつらいですわw

あと僭越ながら概要図を描いてみました。
wiki添付でupできんのでispへあげときました。

ttp://v.isp.2ch.net/up/9827b66877cf.jpg
0229root▲ ★
垢版 |
NGNG
>>227-228
まずはおつです。

図とか微妙な部分がありますが、
そのへんは、おいおいと。
0230root▲ ★
垢版 |
NGNG
1001 名前:1001[] 投稿日:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

これ、今までと同じにしてくださいです。
全角で1000とか、そういうの。
0231 ◆TWARamEjuA
垢版 |
NGNG
Visioかぁ。。。
林檎機版もあるといぃよなぁ。。。
0235root▲ ★
垢版 |
NGNG
大丈夫みたいです。

1001 名前:1001[] 投稿日:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
0236root▲ ★
垢版 |
NGNG
このへんが、出たみたいです。

質問・雑談スレ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)
このメッセージをコピペして、運用情報板で報告していただけるとありがたいです。
0238◆cZfSunOs.U
垢版 |
2005/11/27(日) 10:30:32ID:Q5XEP8aN0
>>236-237 ENOENT は存在しないはずのスレに書き込みしようとした時に出ますね.
EEXIST はスレ立て時にリトライ回数上限(16)に達してしまった場合に起こりますね.
0239root▲ ★
垢版 |
2005/11/27(日) 12:45:08ID:???0
>>238
了解です。
ENOENTは「スレッドがありません。」
EEXISTは「別の人が同時刻にスレッドを立てようとしています。ごめんなさい。」

にするです。
0241◆cZfSunOs.U
垢版 |
2005/11/28(月) 07:12:46ID:Ki+x4bGX0
>>240 乙です.わかるかと思いますが一応......タイムアウト時間は

use constant BBSD_TIMEOUT => second;

のところで調整できます.あと

use constant BBSD_HOST => inet_aton('host');
use constant BBSD_PORT => port;

というのが現在は定数になってますが,これは今後 live22 以外にも雪だるまを
使うようになったら,各ホストに対応する接続先に切り替えられるように
した方がいいですね.
0242root▲ ★
垢版 |
2005/11/28(月) 11:09:03ID:???0
>>241
ですね。< タイムアウト

で、host, port は、引数で与えるとか、あるいはどこかに config を書いておいて
bbs.cgi の船出航時に読むとかの応用もあるかなと。
0243root▲ ★
垢版 |
2005/11/28(月) 11:15:35ID:???0
で、先日ちょっと書いたトラックバックへの対応ですが、
http でバックエンドにdatをとりにいくように bbs.cgi で対応したので、
bbsd での対応は、不要になったです。
0244◆cZfSunOs.U
垢版 |
2005/11/29(火) 00:30:54ID:xl2IcKRm0
>>242 鯖ごとに config ファイルを置いてそれを読み込むってのがいいかもですね.

>>243 なるほど.まぁ get1 コマンドはとりあえず残しておきますが.
ただ,HTTP を使うなら,バックエンドではなく localhost から取ってくれば
キャッシュを有効活用できてその分バックエンドの負担を減らせるかも知れません.
0245root▲ ★
垢版 |
NGNG
>>244
なるほど。
キャッシュを活用させるためには、どうやってとりにいけばいいのかしら。
read.cgiの特性上、今はlive22x.2ch.netという名前は、live22x[123]の中では、
live22.2ch.netの裏口につけてあったりして。
0246◆cZfSunOs.U
垢版 |
2005/11/29(火) 07:35:19ID:xl2IcKRm0
>>245 ん〜と,普通に localhost 宛に HTTP リクエストを発すればいいかと.
もし VirtualHost を使っているのなら,"ServerAlias localhost" を設定して
localhost 宛のリクエストがその VirtualHost 宛として扱われるようにすればいいですね.
0247root▲ ★
垢版 |
2005/11/29(火) 13:33:14ID:???0
>>246
なるほどです。

本日午後以降多忙のため、別途ぼちぼち。
0248◆cZfSunOs.U
垢版 |
2005/11/29(火) 16:28:48ID:GdnIox6j0
>>247 乙です.というか,Apache 側で ServerAlias とか設定しなくても,
localhost に接続しつつ Host ヘッダを live22x.2ch.net にすればいいですね.
例えば LWP 使ってるなら

    my $req = HTTP::Request->new(GET => "http://localhost/livejupiter/dat/1111111111.dat");
    $req->header(Host => "live22x.2ch.net");

とかすればいいかと.
0249root▲ ★
垢版 |
NGNG
>>248
use LWP::Simple;
$firstlog = get("http://$ENV{SERVER_NAME}/$GB->{FORM}->{bbs}/dat/$GB->{FORM}->{'key'}.dat");
$firstlog =~ s/\n.*//g;

なんていう、超手抜きコードですね。

帰ったら、>>248 を試してみるです。
0250◆cZfSunOs.U
垢版 |
2005/11/30(水) 08:24:40ID:0+e07y/o0
>>249 LWP::Simple ではヘッダ指定とか出来なさそうなので,LWP::UserAgent
などを使ってもうちょっと手をかけなければならないかも知れません......
■ このスレッドは過去ログ倉庫に格納されています