796 :
root▲▲ ★:2007/02/14(水) 15:06:12 ID:???0 BE:7387799-PLT(23461)
>>795 さて、、、。
復帰の呪文の話なのでここも微妙に違う予感もしますが、
復帰の呪文って、subject.txt だけしか作成しないんでしたっけ。
# 通常復帰すればよかったような気もしますが(呪文系はよくわかっていなかったり)。
旧式の呪文(おいちゃんが使ってるやつ)はindexを生成するけど
現行の呪文はindexは生成しないんだそうで
前も同じことがなんでも実況のどこかで問題になったことありますよ
すみません、過去ログでsaborinの事を調べていたらここの過去ログに行き当たったもので。
もしかして自分の知らない復帰の呪文があるのかもしれませんが、
私の知っている呪文ではこれまでだとindex.html、subback.htmlも更新してくれてました。
今日の復帰で使用したのも通常復帰の方ですが、それでも30分以上生成されてませんでした。
書き込んでも復旧せず、最初の20分ほどはどちらの板も人大杉に飛ばされました。
その後index.htmlが元に戻るまではディレクトリ丸見え状態でした。
ex21のSaborinって新スレが立つ時しかsubbackとindexを生成していない ように見える
>>797 >旧式の呪文(おいちゃんが使ってるやつ)はindexを生成するけど
そのindexはpageview.cgiのリンク付きの旧型
まぁ,saborin は偶然の要素に左右される面がありますからね.
これも,いずれ bbsd を一般鯖でも利用する段階になれば,
秒数で生成のインターバル指定できますし.
803 :
動け動けウゴウゴ2ちゃんねる:2007/02/14(水) 20:34:58 ID:pn4ItZR40
偶然の要素は求めていないんですけど?
求めているのなら相談なんてないorz
>>779 floatの描画はfirefoxでも縦や横と比べると重い感じ
>>803 いや,saborin では index.html 等が生成されるかどうかは
偶然の要素で決定されるから,なかなか生成されないってこともありうると.
で,bbs.cgi 側では復帰直後かどうかってのはわからないですし,
また単一プロセスの bbsd と違って一定インターバルで生成ってのもできないですし.
でまぁ,bbsd 以外で考えられる方法としては
1. bbs.cgi 内部で index.html の存在をチェックするようにする.
2. 復帰呪文側で index.html 生成処理を追加する.
ってあたりですが,1. は毎回 stat() するのもどうかってところで,
2. は無難そうですが index.html 生成処理って結構面倒ですよね
(っていうか,呪文スクリプトを統括してるのはどなたなのかな,ってのも).
bbs.cgiはサブルーチン化が進んでいると思うけど、
bbs.cgiをrequireして当該部分を呼ぶんじゃだめっすかね。
HTMLに変更がある時も安心。
復帰呪文側でスレを立てる
>>807 変数の初期化とかいろいろあるので,今のままでは別スクリプトから
呼ぶってのはちょっと難しいかもですね.
>>808 ゴミスレが立ってもいいなら,それもありかも?
■移転ですー
に対抗して
■復帰ですー
で立てる。
811 :
動け動けウゴウゴ2ちゃんねる:2007/02/14(水) 22:30:44 ID:Qtmb/rzV0
復帰するたんびにスレ立ててたらスレ立て荒らしになっちゃうよ
既に立ってたらもう立てなくていいじゃん?
既存のスレにレスするだけとか
813 :
動け動けウゴウゴ2ちゃんねる:2007/02/14(水) 23:37:21 ID:+vqZDfnm0
例の特殊datか
あ......SpeedyCGI だから,船の出港時だけは生成するっていうのもありかな?
815 :
◆MUMUMUhnYI :2007/02/14(水) 23:46:33 ID:jsn575PK0 BE:2918584-PLT(23461)
>>814 なるほど。
出航時を判別すればいいのか。
起動回数でも $FOX の中に持たせてみるとか。
816 :
◆MUMUMUhnYI :2007/02/14(水) 23:47:58 ID:jsn575PK0 BE:2554447-PLT(23461)
…ただ、同時に起動した時におもたくなるリスクは、あるのかもかも?
そのへんは、大福食ってみないと、なのかしら。
>>815 回数のカウントでなくても,単に初回かどうかのフラグでもいいかと.
818 :
◆MUMUMUhnYI :2007/02/14(水) 23:50:00 ID:jsn575PK0 BE:912252-PLT(23461)
>>816 起動時に必ず生成ではなく,まず存在確認してから生成ならいいかも?
820 :
◆MUMUMUhnYI :2007/02/14(水) 23:54:53 ID:jsn575PK0 BE:912252-PLT(23461)
なるほど。
そうすれば、stat() するのは初回だけで済むと。
821 :
動け動けウゴウゴ2ちゃんねる:2007/02/15(木) 00:12:49 ID:yY6LrhsA0
今度は何?
>>814-820 やりますた.単に bbs.cgi が初回かどうかじゃなく,板別に判定ってことで.
次bananaの件が一段落して、次なる興味深い内容を見つけたわけですが、
bbs.cgi の現状も saborin もわかならいのでしばらくROMってみます。
断片でも状況がわかるならにちゃんねるWikiにまとめてもいいんですけど
824 :
◆MUMUMUhnYI :2007/02/15(木) 18:02:34 ID:m3Btua9c0 BE:4377986-PLT(23500)
>>823 ようこそです。
ネタはいろいろありますんで、まずはじっくりと。
825 :
◆MUMUMUhnYI :2007/02/15(木) 18:03:02 ID:m3Btua9c0 BE:1824454-PLT(23500)
私が営業してるときの定型句
「ネットワークやシステムで面倒な作業、困ってること、手間になってることありませんか?」
削除人の仕事を楽にするためのベイズフィルタ用いたスパム(板違い、駄スレ、LR違反)判定する
スクリプトとか需要あったりするのかな?
うーん、、削除が遅れ気味なのって、
実際に判定する人自体が足りてない?からなんじゃないですかねぇ。
人手である程度絞り込んで報告されるようなシステムである
削除整理板のやつですらもてあまし気味だから、、
削除整理板とかに報告されたのが実際にスパムであるかどうか
判定するスクリプトなら有用な可能性もあるかもしれないけど、
やっぱそういうのもトラブル起きそうな、、
自動的に削除しちゃうようなのはちょっとやばいですよね
管理人はちょっとは面白がりそうな気はしないでもないけど、、
主力で使えるかどうかは、、
>>828 <>で区切られている領域で、本文の最初30バイトを表示しているみたいだけど、
ちょうど区切りのところが2バイト文字の上位1バイトの
ところで区切られちゃって、0x82になってる、と。
それで直後の < とくっついて0x823c になる。
でも、そのような文字はないのでそこの部分が・で表示されてるのかと。
(当てはまるのがないのは・ってなってるから)
こういうのがまずく当てはまると変な漢字が表示されたりするかも。
>>827 最終的な判断は人間がしないといけないわけですが、
新しく立ったスレを取得、スレタイと
>>1の内容を解析して
危険度なりの数値化を行い(メールのスパムフィルタはこの
段階でしきい値を超えたものを削除している)、一覧に色付け
などするして、削除人が判断しやすいようにするサポートする
という形が現実的な解かと思います。
スレッド削除に限って言えば、スレ立て規制値をあげればある程度の効果は期待できます。
現実的じゃないけど。
>>830 試してみたいならν側でどうぞ
どうせ阿鼻叫喚地獄絵図だし実験場だし
>>827 こんなの持ってくるなよーっつうのが多いです。個人的には。
834 :
◆MUMUMUhnYI :2007/02/15(木) 20:53:39 ID:m3Btua9c0 BE:1095326-PLT(23500)
削除系はどきがむねむねするです。
財宝はきっとたくさんあるはずなので、
じっくりゆっくりあせらずにってかんじが、いいのかもかも。
まぁ、削除依頼されたスレやらなにやらの
スパム度を判断するとか、どのような内容かなどの
自動推定とかだったらちょっとは面白いかもとは思いますねぇ、
ぼくはほとんどSVMばっかでやってたけど
まぁ、現状削除の処理が滞っていることへの
解決になるとはちょっと考えにくいけど、
削除されても同じスレを繰り返し立てる人もいるから、その辺からなんかアプローチできる部分がなくもないかもしれないとは思う。
そして規制報告へ〜って流れならワクテカ
削除人の作業コストが高いのが問題なのか、削除したことによるさらなる苦情なり板が荒れるのが問題なのか、
削除人がそもそも人手不足なのが問題なのか、といったような状況がそれぞれ板によって違うのが現状と思います。
処理が滞ってる原因の全ては無理だと思いますが、少しでも有効に機能するシステムを提案できるだけでも、
メリットはあると思います。失敗しても、それはそれでノウハウにはなりますし。
こんな感じで削除サポートでなくても、今問題となってそうなものがあれば、何か提案できそうな気はしてます。
レスに自動的に嵐or広告フラグを付けるっていいね。
削除人がやりやすくなりそう。
2chのレスにベイジリアンフィルタがどれだけ効果があるか興味がある。
学習効果を外部に公開して、2chブラウザでも使えるようになればかなり便利になるかも。
取り敢えず、電番が書き込まれたら、削除。
>>828-829 芋掘りログに記録する際に,単純にバイト数で切ってるからですね.
技術的にはそういうのが起こらないようにすることは可能なんですが,
先日 <br> タグの空白パディングを一律にやらず文字コード見てから
やるようにしたら芋掘りに影響出ちゃって結局元に戻したぐらいなんで,
いじるのはちょっとコワいような......
842 :
◆TWARamEjuA :2007/02/15(木) 22:17:04 ID:0bcM0s4Y0 BE:6861097-2BP(6811)
Rockに引っかかったら印が付く。
って云うのはすぐに出来そうですね♪
むむむさんの危惧はわかります。下手な実装はパンドラの箱を開けかねませんし。
そこで、実際に影響はしない実験の提案。
特定の板における「削除したもの」と「削除しなかったもの」の
適切に変換したテキストデータファイル1万件程度の山を2つつくって、
それをもとにbogofilterのデータベースを作ってみて、削除人たちに実験してもらうのはどうでしょうか。
なお、もっといい方法があればそれでもかまいません。
実際に実験に加わるのは運営ボランティアの方々ですし。
専用ブラウザを考慮したら、bbs.cgi でできる事って限定されてしまうことに気付く。
スレ立て時に何か追加で処理を追加するのは、また別の案を考えて、関連キーワードスレに
遊びにいってみます。
現状の ex17,ex21 の投稿数をみると、軽量化は不要で高機能化に充分余裕がありますね。
規制関連や鯖落ちから復帰した時の処理に何かネタがありそうな気はしますね。
表示スタイルの切り替えは一番上に「表示」させたほうがいいよ
(または、もうちょっと多少なりとも目立たせる)
じゃないと
知らない人は永久に気が付かないかも
ここに来る前は、てっきり白紙撤回されたと思ってたよ
つけたし
基本的に一番下のほうのスレはたいていの人は
無視して捨ててると思うから
反応してくれて、ありがとう
でも
色のセンス最悪ですw
かんべんしてください、この色合いは
でも、まあ
目立つっちゃ、目立つかな
他の人の反応がないとなんとも
ペパーミントグリーンはあんまり好きではないな。
2chにデザイン的センスが無いのは
デフォを超えて今や伝統だと思う。
>838
実際に作って公開すれば、いろいろ反響がでるのではないかなと。
852 :
動け動けウゴウゴ2ちゃんねる:2007/02/16(金) 22:29:35 ID:oYif/tQ70
>>847-850 まぁ,あくまでコードを書く人間であってデザイナーじゃないんで.
いい色見本とかあれば示してもらえれば.
イチバン上に持ってくるというのは無しなのかな
告知っぽい期間だけでも
見付けた人だけが使える機能がひっそりとたたずんでるってのも悪くないかなぁ,と......
(あと,上に置くとそれはそれでウザいって人も出てきそうな気も)
それはともかく,亀ですが
>>357-362 bbsd では BBS_BG_PICTURE が空なら url("") を出力しないようにしますた.
# bbs.cgi はとりあえず従来通り.
856 :
root▲▲ ★:2007/02/21(水) 14:16:42 ID:???0 BE:729942-PLT(23500)
SSL_X_ っていうのは、どういうあれなんでしたっけか。 > SunOSさん
>>856 suExec 有効だと arbitrary な環境変数を渡せないゆえの苦肉の策ですね.
SSL_* という環境変数は suExec 有効でも渡されますが,これは元々
mod_ssl によって SSL を使ってる場合だけにしか設定されませんし,
また SSL を使ってても SSL_X_* という名前にしておけばぶつからないってことで.
http://httpd.apache.org/docs/2.2/mod/mod_ssl.html あと,SSL_X_BBSCGI_FUNCTIONS ってのは,CentiSec や Saborin 等を一時的に有効にしたい場合に
SetEnv SSL_X_BBSCGI_FUNCTIONS CentiSec,Saborin
とか .htaccess に入れればいいようにってことで.
858 :
root▲▲ ★:2007/02/21(水) 16:16:54 ID:???0 BE:1094562-PLT(23500)
859 :
root▲▲ ★:2007/02/23(金) 11:26:05 ID:???0 BE:1276872-PLT(23532)
そんなわけで。
subback.html とかを作っているところとかは、こんなことしているです。
@{$GB->{NEWSUB} に、subject.txt が行単位で配列に入っていると。
# subbackの中身部分
my $i = 0;
foreach(@{$GB->{NEWSUB}})
{
chomp($_);
++$i;
/^(\w+)\.dat<>(.*)/;
my ($key, $value) = ($1, $2);
&Put1Line(*HED, "<a href=\"$key/l50\">$i: $value</a>\n");
}
subject.txt の処理だけなら単一文字列のまま扱うのもいいかなと思うんですが,
他の場所での再利用を考えると,結局配列やハッシュで扱った方がいいのかなとも思ったり.
# まぁ,Perl CGI の枠内でやってる限り限界はあるかな,とも思いますが.
861 :
root▲▲ ★:2007/02/23(金) 11:56:05 ID:???0 BE:2462393-PLT(23532)
ふむむ。
>>860 ただ、今のsubject.txtの処理がグロテスク((c)SunOSさん)というのも
事実だとは思うので、これを機に以下略したいところではあるかも。
>>860 再利用となる index.html や subback.html 作成用の subject.txt データに関しては、
bbs.cgi で subject.txt を更新(func.pl の UpdateSubjectDat())した後に
open(SUBJECT, $subjectTxtPath)
binmode(SUBJECT);
flock(SUBJECT, 1);
@subjectTxt = <SUBJECT>;
close(SUBJECT);
chomp(@subjectTxt);
で改めて読み込んで処理すればいいかと。
@subjectTxt = <SUBJECT>; な読み込みは Perl 内部で特に最適化されてる部分なので
二重の読み込み処理に見えますが、そんなにコストは高くないです。
>>864 >>863の内容と同じですけど、書き込み時刻が3秒ズレているんでなぜ発生してるのか少々不可解ではあります。
>>859 いろいろと制約事項(subject.txtの内容が破損してないなど)はありますが
# subback.html
$tmpl = qq[<a href="%s/l50">%d: %s</a>\n];
$cnt = 0;
for (@subjectTxt) {
printf($tmpl, substr($_, 0, 10), ++$cnt, substr($_, 15));
}
でよいかと
ついでに index.html 書き出し部分も
# index.html
$boradName = 'news4vip';
# 1..10
$tmpl = qq[<a href="../test/read.cgi/${boardName}/%s/l50" target="body">%d:</a> <a href="#%d">%s</a> ];
$cntLast = (@subjectTxt > 10) ? 10 : scalar(@subjectTxt) ;
for $cnt (1 .. $cntLast)
{
$_ = $subjectTxt[$cnt-1];
printf($tmpl, substr($_, 0, 10), $cnt, $cnt, substr($_, 15));
}
# 11..100
$tmpl = qq[<a href="../test/read.cgi/${boardName}/%s/l50" target="body">%d: %s</a> ];
$cntLast = (@subjectTxt > 100) ? 100 : scalar(@subjectTxt) ;
for $cnt (11 .. $cntLast)
{
$_ = $subjectTxt[$cnt-1];
printf($tmpl, substr($_, 0, 10), $cnt, substr($_, 15));
}
# 上位10スレの l10 のhtml化
$cntLast = (@subjectTxt > 10) ? 10 : scalar(@subjectTxt) ;
for $cnt (1 .. $cntLast)
{
# threadId 取得
$threadId = ($subjectTxt[$cnt-1], 0, 10)
# dat を読む (ここでもIOを減らす方法はいくつかある)
open(DAT, "${boardPath}/${threadId}.dat");
# 書く ( 1 と l10 部分)
}
>>863 >(ryにあるアトミックとは、ファイル更新時のデータの一時的な乱れや
>(ryで雑談で出たファイルの不整合のことだと思いますが、
まぁそうですね.
>私の認識では、(ry掲示板全体のアトミックを考えてました。
一般論としてはそれも重要なことだとは思いますが,
2ch の特性を踏まえると普通のファイルロックの使い方では
先に述べたような不都合も出てくる,と.
# まぁ,そのあたりも乗り越えようと考えたのが bbsd なんですけどね.
>>864 デカいカキコのため,write() が複数になってその間に割り込んだ可能性もありますね.
>>865 なるほど......
>>868 少数とはいえ,まだ9桁スレキーも残ってるところあるかも?
>>869 html 部分は,別途こんなのを作ってます ->
http://qb5.2ch.net/operate/html/ これを読み込んでつなげてる,と.
871 :
root▲▲ ★:2007/02/23(金) 13:16:50 ID:???0 BE:1095326-PLT(23532)
872 :
root▲▲ ★:2007/02/23(金) 13:17:45 ID:???0 BE:2918584-PLT(23532)
確かに、9桁のキーはまだ結構ありますね。
10桁決め打ちでやってますが、9桁対応させるなら10桁目が数字かそうでないかで
条件分岐を追加すればいいだけですね。正規表現でやれば \d{9,10} ですみますけど
Perlの正規表現は他の実装に比べて早いですが、index や substr などの文字列処理に
比べたら馬鹿にならないほどコスト大(数十倍)だったりします。
874 :
root▲▲ ★:2007/02/23(金) 13:31:53 ID:???0 BE:4104195-PLT(23532)
>>873 せっかくやるなら、あんまり正規表現は使いたくないかも。
んで、どうするのがいんだべか。
http://qb5.2ch.net/operate/html/ のアイデアはあるかなと思ってましたが、
ディスクをどの程度使用するかにも寄りますが、l10 だけでなく全てのレスを
HTML化しておけば、read.cgi でも使えますし、より効果的な負荷低減になると
思います。
バイナリの埋め込みになりますが、各レスのオフセット(seek の引数)も一緒に
インデクス化していれておけば、現実的可能な最速処理もできるかと
>>874 9桁対応版
{
substr($_, 9, 1) eq '.'
? printf($tmpl, substr($_, 0, 10), $cnt, substr($_, 15));
: printf($tmpl, substr($_, 0, 9), $cnt, substr($_, 14));
}
>>875 >全てのレスをHTML化しておけば、read.cgi でも使えますし
これは昔 dat2html 使ってやろうとしてたことあったような記憶もおぼろげながら......
まぁ,read.cgi 出力に mod_cache かますとかやった方が手っ取り早いと思いますけど.
>>876 修正
substr($_, 9, 1) eq '.' # 10文字目がピリオドなら9桁
: printf($tmpl, substr($_, 0, 9), $cnt, substr($_, 14))
? printf($tmpl, substr($_, 0, 10), $cnt, substr($_, 15));
>>877 今の read.cgi って対象の .dat を読み込んで、1,300 や 1-20 や l50 なんかの指定に従って
対象の行を取り出して整形して出力する処理ではないかと思ってるのですが、この dat の行を
html に変換するコストが無駄になってるのでは?と思ってます。
あと、mod_cache をかませても l50 や指定なしのものだけをキャッシュさせて、それ以外の
特殊な条件指定したもの(300-400)はキャッシュの意味は少ないと思いますし、そちらのコストも
考えると、全レスhtml化の恩恵は大きいと思います。こちらも時間があれば仕様案まとめてみます
880 :
root▲▲ ★:2007/02/23(金) 14:09:03 ID:???0 BE:1095034-PLT(23532)
そんなわけで、プロファイリングしてみた。
1行目を
#!/usr/local/bin/perl -d:DProf
に変えて、できたtmon.outを処理。
レスはこれ。
http://dso.2ch.net/test/read.cgi/myanmar/1153850369/530 html/ の下がないと作り直すので、2つ目のレスで計測。
トリップあり、sage、●なし、BEなし。
%Time ExclSec CumulS #Calls sec/call Csec/c Name
14.4 0.077 0.095 1 0.0775 0.0948 main::MakeIndex4PC
13.1 0.070 0.070 1 0.0703 0.0703 main::IsKoukoku
8.82 0.047 0.266 1 0.0468 0.2661 main::bbs_entryXXX
5.63 0.030 0.233 30 0.0010 0.0078 main::BEGIN
5.63 0.030 0.026 1 0.0304 0.0262 main::initFOX
4.32 0.023 0.045 10 0.0023 0.0045 Net::DNS::Resolver::Base::BEGIN
4.32 0.023 0.052 22 0.0010 0.0024 Jcode::BEGIN
3.00 0.016 0.016 1 0.0156 0.0156 main::mumumuGetNowTime
3.00 0.016 0.016 11 0.0014 0.0014 DynaLoader::dl_load_file
2.82 0.015 0.030 10 0.0015 0.0030 LWP::UserAgent::BEGIN
2.82 0.015 0.023 73 0.0002 0.0003 Exporter::import
1.50 0.008 0.008 1 0.0078 0.0078 jcode::init
1.50 0.008 0.008 1 0.0078 0.0078 main::checkDenyList
1.50 0.008 0.008 1 0.0078 0.0078 main::foxReadSettings
1.50 0.008 0.008 1 0.0078 0.0078 Net::DNS::RR::_get_subclass
881 :
root▲▲ ★:2007/02/23(金) 14:11:31 ID:???0 BE:3830876-PLT(23532)
最初のは、index.html を作る処理ですね。
次のが広告かどうかのチェック。
3番目は各種初期化。
>>879 基本的に,mod_cache に任せておけば大局的には読み出しの多いレス番指定が
ヒット率が高くなるでしょうし,読み出しの多いものが重点的にキャッシュされ,
一方少ないものは on the fly に生成するという形に収斂していくかと.
全レスを HTML 化したものもスタティックファイルとして保持させると,
あぼーん用スクリプトとか dat 落ちスクリプトとかにも対応する処理を
入れることになって,手間と効果のバランスからどうかなぁ,とも.
>>880,881
speedy でのキャッシュされた実行ではなさそうなので、BEGIN や Exporter::Import などのコストも入ってますね。
となると上ふたつのコストが、ファイル読み込み処理と、正規表現の文字列処理なので、この部分が一番わかりやすい
大きなコストになってるような感じですね。
他の部分は、上二つに比べたらまだ気を使うほどのところでもなさそうです。
884 :
root▲▲ ★:2007/02/23(金) 14:30:15 ID:???0 BE:2919348-PLT(23532)
で、われわれがSaborinと呼んでいるのは、
MakeIndex4PC(とUpdateSubback)を呼ぶのをまばらにする、
というものですね。
私が今後どのような形で(&飽きずにいつまでw)お手伝いすることになるかわかりませんが、
FreeBSD の -stable と -current みたいに、現状の改善と安定を目指すものと、年末くらいに
完全にいちから再設計して作り直した(現状では雪だるまがそっち系なのかな?)システムという
形で現状ですべきこと、長期的に考えることを分けて考えてもいいような気がします。
現状では、
>>880 のようなものとにらめっこして、LAを減らすことかな?
あるいは現状の利用者数、投稿数で年末まで持つと仮定して、新バージョンの開発かな?w
なんてことを考えるのははたから茶々いれるだけの技術者的の私個人としては楽しいのですが、
運営側としてはどうなんでしょ?
886 :
root▲▲ ★:2007/02/23(金) 14:43:27 ID:???0 BE:2918584-PLT(23532)
きっと、、、「運営側」っていう言葉について、
「それって何だろう」って素で思うようになると、
なんとなくいいかんじになる、んじゃないのかなと。
ここって「あっち側」とか「こっち側」とかじゃなくて、
管理人を除いてみんな同じところにいる、
っていうあたりから、はじまっているような気がするんで。
なんというか、このへんにいる人たちは
みんなたんなる「お手伝い」に過ぎなくて、
単にそれぞれ、出来ることが違うだけというか。なんとゆうか。
>>885 一から再設計ということでは,しばらく前に VIP の有志の人たちが
レスデータをファイルでなく MySQL に入れるとかいうのを作ってたような.
雪だるまというか bbsd は,すでに稼働してる鯖もある (live23, live24)
ので長期的というほど先の話でもないと個人的に考えてはいますが,
呪文対応等の未実装部分をこれからぼちぼちやっていこう,ということで.
# むしろ,削除人や復帰人の人たちのことを考えれば,未実装部分は
# 早くなくした方がいいのかも,とも.
## 「運営側」に関しては
>>886 に同意で.
888 :
root▲▲ ★:2007/02/23(金) 14:48:55 ID:???0 BE:1095034-PLT(23532)
で、
>>886 みたいなものって、昔のインターネットには割とたくさんあったんですが、
今のインターネットには、もうなんか少なくなったというか、
ほとんど見当たらないようになりましたね。
「それいいっすね。いっちょやりますかぁ」「ごにょごにょ…」
「おい変だぞ、どうしたんだゴルァ」
「あちゃー、ごめんなさいー、戻しますー」みたいな、
アドホックというか、とりあえず試してみるというか。
そんなわけで私は2ちゃんねるに「昔からある、もともとのインターネットの姿」を、
ほんのちょっぴり、垣間見ていたりなんかして。
すれ違いすんませんです。
>>888 まぁそうですね,これだけデカいサイトで挑戦的なことをできるところって
他にないでしょうしね.「普通の」大手サイトでは,▲が増えるどころじゃ済まないでしょうしw
>>888,889
そういう土壌はこの一週間で充分堪能していますw
私も仕事で仕様ガチガチ安定して当然の世界でも生きてますし、
趣味のソフトウェア開発では、自由きままにやっています。
論文やレポート書いてどっかにポストするのも好きですし、
ちょうど今の新ばななは良い縁になったと思います。
顔色伺ってというのはあまり楽しくないので、自由気ままに
勝手にプロジェクト立ち上げて勝手に進めて、方針や意見が
合わなければ自然に影が薄くなっていくのかもしれないですね
891 :
root▲▲ ★:2007/02/23(金) 15:01:40 ID:???0 BE:2189838-PLT(23532)
>>890 まぁ,何を隠そう私自身,勝手にコード書いて「これどうよ?」って
勝手に提示するってのをこれまで繰り返しながら,2ch にずぶずぶはまってきてますからw
チョコさんも,そんな感じではまっていくことになるのかなぁ,とw
894 :
root▲▲ ★:2007/02/23(金) 15:14:50 ID:???0 BE:912825-PLT(23532)
>>893 それ、おもしろいですね。
mumumu.mu が復活したら、改変してみるかも。
とりあえず、今私にクリティカルにできそうなこととしては‥‥‥
sub MakeIndex4PC
sub IsKoukoku
の部分の現状のコードをいただけるのであれば、リファクタリングさせてもらいますよ。
MakeIndex4PC に関しては,いろいろ挿入するファイルがあったり
出力内容自体が複雑故って感じもしますね.
IsKoukoku の方は,チョコさんから見ていじりがいがあるかも?
確か,IsKoukoku の中核部分は以前から公開されていて,
クローズドではないと思うので貼ってみます.
foreach my $NG_word_ref (@FOX_Ro54)
{
my $NG_word = $NG_word_ref->[0]; # リファレンスから取り出し。
if (my $matched = eval{ return $In_Strings =~ m<$NG_word> ? $& : undef }) {
$NG_word_ref->[0] = $matched; return $NG_word_ref;
} # 合致したらNGワード部分の摘出とリファレンスを返す。
# 不正 NG ワードがあったり引っかからなければスキップ
}
return '';
ちなみに,@FOX_Ro54 は初期化段階でこんな感じで読み込まれます.
open(ADFILE,"....../Rock54data");
@FOX_Ro54 = map { [ (split /<>/)[5,6,7] ] } <ADFILE>;
close(ADFILE) ;
>>897 Rock54のファイルの場所は秘密なのでは?
つうか
そのフォルダが超機密だったのであった。
うひゃひゃひゃひや
/(^o^)\
川 ;´・`;)イイハナシヤナー
認証ぐらいかけとけよ
どうもアレかなと思ったらやっぱり。。
なんてこった・・・。
GJ!
△
あまりにひどいミスで......すいませんm(_ _)m
あっはっは。
これはもうキャップ支給ものだな
( ゚∀゚)o彡°キャップ!キャップ!
>>907 Don't mind ♪
職を失うわけではないですし(私は仕事で契約破棄されたことありますけどw)
誰の命にかかわるわけではないので(総務省から警告うける内容でもないですし)
気にせず生きましょう
はっはっは
まぁたぶんなんともないと思うけど
何かあったら何かするといういつもの作戦で
>>909 だな
祝★強制支給!
914 :
root▲▲ ★:2007/02/23(金) 16:36:05 ID:???0 BE:2189164-PLT(23532)
SunOSさんが、本件を管理人に丁寧なメールで報告&ごめんなさいしました。
(私に Cc: されていました)
管理人からは、
> うひゃひゃ、たまにあることで。
というメールがすぐに返ってきました。
そんなわけで、私はどうしたらよかろうでしょうか。
やはり何か、★でも出しますかね。
でもそれもなんかびみょうかも。
▲ ★
白三角 標準装備で
つサン▲▲ ★
わろとけわろとけ
( ゚∀゚)アハハ八八ノヽノヽノヽノ \ / \ / \
このスレで最速1.000やろか?(素
今からこのスレはSunOSさんのキャップを考えるスレにします。
サンサンサン★は どう?
920 :
◆boot//5v0I :2007/02/23(金) 16:48:03 ID:dF8tflFE0 BE:303813465-2BP(1000)
ゥケケケケ
/ノ\∧_∧Ψ
/ノ\( ゚∀゚)|
⌒⌒ (∪ヌルポ⊃
←し―J|。+゚
祭りだと聞いて歩いてきました
いつもならファイルパスとか事前に気付いて伏せるんですが......
今回は注意力不足だったようで......
# ★ を頂くのは恐れ多いので,\u263C あたりで......
925 :
root▲▲ ★:2007/02/23(金) 17:14:55 ID:???0 BE:1368353-PLT(23532)
ん、なんかマソコとか呼ばれそうなアレだな
こりゃアナルだな
閉鎖騒動になるぞ。
930 :
動け動けウゴウゴ2ちゃんねる:2007/02/23(金) 17:53:56 ID:83NNOvB00
rootたんって▲一つ増えた?
気づかなかったな
sage忘れorz
932 :
外野ァァン:2007/02/23(金) 20:36:55 ID:ow2tiSXi0
恐れ多いもなにも 罰ですから ニヤニヤ
ここはチョコバナナに★でどうよ?
934 :
◆TWARamEjuA :2007/02/23(金) 22:07:27 ID:wgjW3BT40 BE:653832-2BP(6811)
printf $tmpl, '.', $cnt, index $_, '.', 0 == 8
? substr $_, 14
: substr $_, 15
;
で良さそうな。。。
でもってIsKoukokuみたいに冗長なループの中でないのなら、/oしてあげればそんなに負荷とかは変わらないような。。。@RegExp.
>>880をみると、subback.htmlの作成はそんなにコスト高くはない?
まぁ,subject.txt, subback.html, index.html あたりは bbsd 使えば,
いずれ bbs.cgi では処理しなくて済むようになる部分ではありますからね.
IsKoukoku みたいなのはどっちにしろ bbs.cgi でやらなきゃならない部分ですが.
そういえば
>>864の4096byte毎dat破損はどうするの?
#つかここ(bbs.cgi)じゃなかったり?
レスを書き込んでるところをprintからsyswriteに変えればいいんでない
あ、一応対策できそうなら〜ということで
でも考えれば4096byte行くような事はそうないだろーし…無視で良いのかな
なんとなくsubback.html、スレ立ての順にソートできないかな
と言ってみるテスト
942 :
動け動けウゴウゴ2ちゃんねる:2007/02/25(日) 01:36:38 ID:ha5BeV2q0
だいぶ前にも書いた気がする
ヘッドラインの代用になるから便利だと思うけどまだ実現してない
5行くらいで実現可能なんだけど、運営が導入してもいいと腰を上げない限りは無理なんだろうな
ファイル壊れそう。
http://qb5.2ch.net/test/read.cgi/sec2chd/1172332070/6 名無しさん必死だな<>sage<>2007/02/24(土) 21:50:02 GxILijLRP<>ハーモニクス金玉<>ハーモニクス金玉<>p2.2ch.net(151880)222.7.56.145<>210.135.99.5<>
( )<>Monazilla/1.00 (P2/p2.2ch.net; p2-client-ip: 222.7.56.145; p2-user: 151880)
222.7.56.145 → wbcc6s08.ezweb.ne.jp
p2+携帯の時に芋掘りログに携帯のシリアル番号が記録されていない模様。
そして"( )"ってなぁに
それ、p2でレスするときに、p2自身がアクセスされたときのデータつけてるだけだから。
2ch側がどうこう言う問題じゃない。
PCでIP出してるんだから
携帯も識別番号出すべきかと
荒らしに寛容すぎ
949 :
947:2007/02/27(火) 00:06:21 ID:s3h4QOBN0
ごめん、p2スレかと勘違いして書いた
なんかpc11鯖移転前後でスレタイに空白がついてる。
移転前からあったスレで移転後に書き込みが無いスレ。
以前から移転後はそんなんだよ
レスのない古いスレはず〜〜〜っと空白付いたまんま
仕様でしたか。了解しますた。
復帰スクリプトの不具合?
仕様
index.htmlは壊れてるけど、subject.txtは壊れてないように見える
957 :
動け動けウゴウゴ2ちゃんねる:2007/03/01(木) 12:09:35 ID:WXt1L5+H0
1169114098.dat<>もうね阿保か馬鹿かと11
(913)
1171239491.dat<>記号<>&"' (4)
1171239344.dat<>記号<>&"'
(42)
1155409133.dat<>JavaScript版read.cgiの動作試験はここで (116)
>>955-958 subject.txt 処理の改造とかやってますた.今は直ってるかと.
はいはーい。
全部のサーバーでbbsdを使う方向になるんですかね?
bbsdまでのつなぎとしてsubback.htmlとindex.htmlを生成するデーモンとか考えてみたんですが
(subback部分は少し作った)
IsKoukoku() でこれは効くかも...... 最初のデータロードの部分は今
@FOX_Ro54 = map { [ (split /<>/)[5,6,7] ] } <ADFILE>;
ってなってますが,これを
@FOX_Ro54 = map {
my @a = (split /<>/)[5 .. 7];
eval { no warnings; [qr/$a[0]/, @a[1 .. $#a]]; };
} <ADFILE>;
のようにすると,ロード時に regex がプリコンパイルされて,その後の処理が軽くなりそう.
さらに,regex のエラートラップもロード時に行って,IsKoukoku() 内では
eval が不要になる,と(ダメポなのだけ除外され,他の正常なのは使われます).
# eval 内でも警告は発生するので no warnings 入れてますが,-w や use warnings してなければ不要です.
安直にテストしてみると,
% perl -we'use strict; use Benchmark; open F, $ARGV[0]; our @thr = <F>; close F; \
open F, $ARGV[1]; @_ = <F>; close F; \
our @rocka = map [(split /<>/)[5 .. 7]], @_; \
our @rockb = map { my @a = (split /<>/)[5 .. 7]; eval { no warnings; [qr/$a[0]/, @a[1 .. $#a]]; }; } @_; \
timethese(1, { a => sub { foreach my $res (@thr) { no warnings; eval { $res =~ /@$_[0]/; } foreach (@rocka); } }, \
b => sub { foreach my $res (@thr) { no warnings; $res =~ /@$_[0]/ foreach (@rockb); } } });' \
alaska/dat/1147437176.dat Rock54Data
Benchmark: timing 1 iterations of a, b...
a: 42 wallclock secs (41.94 usr + 0.00 sys = 41.94 CPU) @ 0.02/s (n=1)
(warning: too few iterations for a reliable count)
b: 42 wallclock secs (41.91 usr + 0.01 sys = 41.92 CPU) @ 0.02/s (n=1)
(warning: too few iterations for a reliable count)
% perl -we'use strict; use Benchmark; open F, $ARGV[0]; our @thr = <F>; close F; \
open F, $ARGV[1]; @_ = <F>; close F; \
our @rocka = map [(split /<>/)[5 .. 7]], @_; \
our @rockb = map { my @a = (split /<>/)[5 .. 7]; eval { no warnings; [qr/$a[0]/, @a[1 .. $#a]]; }; } @_; \
timethese(1, { a => sub { foreach my $res (@thr) { no warnings; eval { $res =~ @$_[0]; } foreach (@rocka); } }, \
b => sub { foreach my $res (@thr) { no warnings; $res =~ @$_[0] foreach (@rockb); } } });' \
alaska/dat/1147437176.dat Rock54Data
Benchmark: timing 1 iterations of a, b...
a: 42 wallclock secs (41.42 usr + 0.02 sys = 41.44 CPU) @ 0.02/s (n=1)
(warning: too few iterations for a reliable count)
b: 20 wallclock secs (20.25 usr + 0.00 sys = 20.25 CPU) @ 0.05/s (n=1)
(warning: too few iterations for a reliable count)
プリコンパイルしたのを m// 内に入れるとあまり意味ないっぽいですが,
単独で使えば二倍速ぐらいになるらしいと.
ところで,
$NG_word_ref->[0] = $matched; return $NG_word_ref;
の部分は
return [$matched, @$NG_word_ref[1 .. $#$NG_word_ref]];
のようにしないと,@FOX_Ro54 の中身を改変してしまう悪寒......
削除系呪文の bbsd 対応も行われ雪だるま以外での bbsd 利用への道も開けてきたし,
T-Banana の実験が一段落したら,このあたりもぼちぼちやりましょうってことで.
>>961 んと,それは bbsd とどういう部分で違うんでしょうか?
例えば subject.txt のデータを内部的に保持して {subback,index}.html を
生成するとなると,ほとんど bbsd と同じことやるってことになりそうな......
>>963 subject.txtを読み出して、{subback,index}.htmlを生成します。
既存のbbs.cgiを完全にサボリン状態にしてこれを動かせば負荷が減るかな、と。
別にデーモンでなくてcronで呼ぶ形にしてもいいと思います。
cronは秒単位指定できないのでいろいろ面倒ですが
snowmanシステムに置き換わるならそれのほうがいいです
>>964 なるほど......つまり bbsd のようにレスデータ等を一元管理するのではなく,
bbs.cgi とは独立して動いて,subject データはファイルから読み込むと.
アイデアとしてはおもしろいですね.まぁ,bbsd 利用を広げる上での障害は
主に削除系呪文が未対応ゆえということだったんですが,その点は今まさに解決しそうだと.
あとはいろいろ状況を見ながらぼちぼちって感じで.
966 :
root▲▲ ★:2007/03/10(土) 00:44:22 ID:???0 BE:4104959-PLT(23632)
>>962 なるほど、正規表現のコンパイルも
出航時の一度だけにしようというアイディアですか。
もしアレな正規表現を間違って入れてしまうと、
> (ダメポなのだけ除外され,他の正常なのは使われます)
になるというside effectもあるのかな。
967 :
root▲▲ ★:2007/03/10(土) 00:44:54 ID:???0 BE:1641863-PLT(23632)
>>966 △ 正規表現のコンパイルも
○ Rock54データ中の正規表現のコンパイルも
968 :
◆TWARamEjuA :2007/03/10(土) 07:56:06 ID:YkaOYARa0 BE:4900695-2BP(6811)
(´-`).。oO(bbs.cgiを眺められるのはいぃよなぁ。。。)
→ところで,
→$NG_word_ref->[0] = $matched; return $NG_word_ref;
手元の資料では、、、
my $NG_word = $NG_word_ref->[0]; # リファレンスから取り出し。
if (my $matched = eval{$In_Strings =~ m<$NG_word>}) { return $NG_word_ref } # 合致したらリファレンスを返す。
# 不正 NG ワードがあったり引っかからなければスキップ
・・・となっています。その後に手を入れたのかなぁ。。@IsKoukoku.20050605.txt
・ トラックバックは POST のみ受け入れ.
・ @FOX_Ro54 を改変しないように(
>>962 の下のやつ).
をとりあえず実施(
>>962 の上のやつはまた改めて).
970 :
◆TWARamEjuA :2007/03/18(日) 21:58:22 ID:n80E4TCD0 BE:2178454-2BP(6811)
つ△
972 :
◆TWARamEjuA :2007/03/18(日) 22:34:09 ID:n80E4TCD0 BE:3049474-2BP(6811)
あ、いやあのその、、、(照)
出ないことを祈りつつみたいなおまじないってことで(なにそれ)
むしろこの件によって三角をひとつとりましょう
そうか、いいこと思いついたぞ。
未承諾サンがチョンボしたら★を付けさせよう。
それを本人の承諾なしに行う,と......
>>974
976 :
◆TWARamEjuA :2007/03/19(月) 23:28:05 ID:RrEDh58T0 BE:6861097-2BP(6811)
二萬
二萬
二萬
二索
三索
四索
七索
八索
九索
五筒
六筒
七筒
東
上家から東キタ━━━(゚∀゚)━━━ッ!!ロン♪
うはwww本当に送ったんだw