bbs.cgi再開発プロジェクト Part8

このエントリーをはてなブックマークに追加
795動け動けウゴウゴ2ちゃんねる
http://qb5.2ch.net/test/read.cgi/operate/1171217094/828,830-832,834,836-837
からのお話です。

板飛びの復旧のための復帰というケースもあるので、
出来ましたら板復帰の呪文を唱えた時にはsaborinの影響無しでindex.htmlを生成するようにしてはいただけませんでしょうか。
ご検討をお願いします。
796root▲▲ ★:2007/02/14(水) 15:06:12 ID:???0 BE:7387799-PLT(23461)
>>795
さて、、、。

復帰の呪文の話なのでここも微妙に違う予感もしますが、
復帰の呪文って、subject.txt だけしか作成しないんでしたっけ。

# 通常復帰すればよかったような気もしますが(呪文系はよくわかっていなかったり)。
797動け動けウゴウゴ2ちゃんねる:2007/02/14(水) 15:17:44 ID:BSdNJjoR0
旧式の呪文(おいちゃんが使ってるやつ)はindexを生成するけど
現行の呪文はindexは生成しないんだそうで
798stream ◆PNstream2s :2007/02/14(水) 15:19:57 ID:JhJg4TPM0
前も同じことがなんでも実況のどこかで問題になったことありますよ
799動け動けウゴウゴ2ちゃんねる:2007/02/14(水) 15:22:17 ID:5TZZgMAw0
すみません、過去ログでsaborinの事を調べていたらここの過去ログに行き当たったもので。

もしかして自分の知らない復帰の呪文があるのかもしれませんが、
私の知っている呪文ではこれまでだとindex.html、subback.htmlも更新してくれてました。

今日の復帰で使用したのも通常復帰の方ですが、それでも30分以上生成されてませんでした。
書き込んでも復旧せず、最初の20分ほどはどちらの板も人大杉に飛ばされました。
その後index.htmlが元に戻るまではディレクトリ丸見え状態でした。
800stream ◆PNstream2s :2007/02/14(水) 15:23:24 ID:JhJg4TPM0
ex21のSaborinって新スレが立つ時しかsubbackとindexを生成していない ように見える
801動け動けウゴウゴ2ちゃんねる:2007/02/14(水) 15:24:26 ID:M18jBj2D0
>>797
>旧式の呪文(おいちゃんが使ってるやつ)はindexを生成するけど
そのindexはpageview.cgiのリンク付きの旧型
802 株価【1000】 △ ◆cZfSunOs.U :2007/02/14(水) 20:19:53 ID:VJPVdIvT0
まぁ,saborin は偶然の要素に左右される面がありますからね.
これも,いずれ bbsd を一般鯖でも利用する段階になれば,
秒数で生成のインターバル指定できますし.
803動け動けウゴウゴ2ちゃんねる:2007/02/14(水) 20:34:58 ID:pn4ItZR40
偶然の要素は求めていないんですけど?

求めているのなら相談なんてないorz
804動け動けウゴウゴ2ちゃんねる:2007/02/14(水) 20:38:38 ID:UOYsD1RZ0
>>779
floatの描画はfirefoxでも縦や横と比べると重い感じ
805 株価【1000】 △ ◆cZfSunOs.U :2007/02/14(水) 20:55:42 ID:VJPVdIvT0
>>803 いや,saborin では index.html 等が生成されるかどうかは
偶然の要素で決定されるから,なかなか生成されないってこともありうると.
で,bbs.cgi 側では復帰直後かどうかってのはわからないですし,
また単一プロセスの bbsd と違って一定インターバルで生成ってのもできないですし.
806 株価【1000】 △ ◆cZfSunOs.U :2007/02/14(水) 21:14:53 ID:VJPVdIvT0
でまぁ,bbsd 以外で考えられる方法としては

1. bbs.cgi 内部で index.html の存在をチェックするようにする.
2. 復帰呪文側で index.html 生成処理を追加する.

ってあたりですが,1. は毎回 stat() するのもどうかってところで,
2. は無難そうですが index.html 生成処理って結構面倒ですよね
(っていうか,呪文スクリプトを統括してるのはどなたなのかな,ってのも).
807動け動けウゴウゴ2ちゃんねる:2007/02/14(水) 21:28:37 ID:19kvJVqR0
bbs.cgiはサブルーチン化が進んでいると思うけど、
bbs.cgiをrequireして当該部分を呼ぶんじゃだめっすかね。
HTMLに変更がある時も安心。
808stream ◆PNstream2s :2007/02/14(水) 21:29:29 ID:IUQlVW7b0
復帰呪文側でスレを立てる
809 株価【1000】 △ ◆cZfSunOs.U :2007/02/14(水) 21:36:34 ID:VJPVdIvT0
>>807 変数の初期化とかいろいろあるので,今のままでは別スクリプトから
呼ぶってのはちょっと難しいかもですね.

>>808 ゴミスレが立ってもいいなら,それもありかも?
810動け動けウゴウゴ2ちゃんねる:2007/02/14(水) 22:22:29 ID:Uc7IlgTe0
■移転ですー
に対抗して
■復帰ですー
で立てる。
811動け動けウゴウゴ2ちゃんねる:2007/02/14(水) 22:30:44 ID:Qtmb/rzV0
復帰するたんびにスレ立ててたらスレ立て荒らしになっちゃうよ
812動け動けウゴウゴ2ちゃんねる:2007/02/14(水) 22:35:08 ID:BdEREMKO0
既に立ってたらもう立てなくていいじゃん?
既存のスレにレスするだけとか
813動け動けウゴウゴ2ちゃんねる:2007/02/14(水) 23:37:21 ID:+vqZDfnm0
例の特殊datか
814 株価【1000】 △ ◆cZfSunOs.U :2007/02/14(水) 23:43:57 ID:VJPVdIvT0
あ......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)
…ただ、同時に起動した時におもたくなるリスクは、あるのかもかも?
そのへんは、大福食ってみないと、なのかしら。
817 株価【1000】 △ ◆cZfSunOs.U :2007/02/14(水) 23:48:54 ID:VJPVdIvT0
>>815 回数のカウントでなくても,単に初回かどうかのフラグでもいいかと.
818 ◆MUMUMUhnYI :2007/02/14(水) 23:50:00 ID:jsn575PK0 BE:912252-PLT(23461)
>>817
なるほど、そですね。
819 株価【1000】 △ ◆cZfSunOs.U :2007/02/14(水) 23:52:25 ID:VJPVdIvT0
>>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
今度は何?
822 株価【1000】 △ ◆cZfSunOs.U :2007/02/15(木) 01:41:19 ID:gXwQFdVg0
>>814-820 やりますた.単に bbs.cgi が初回かどうかじゃなく,板別に判定ってことで.
823 ◆Choco52.ko :2007/02/15(木) 09:04:09 ID:JSo1tbfI0
次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)
>>824
△ いろいろ
○ きっといろいろ
826 ◆Choco52.ko :2007/02/15(木) 20:11:33 ID:JSo1tbfI0
私が営業してるときの定型句
「ネットワークやシステムで面倒な作業、困ってること、手間になってることありませんか?」

削除人の仕事を楽にするためのベイズフィルタ用いたスパム(板違い、駄スレ、LR違反)判定する
スクリプトとか需要あったりするのかな?
827どくどくさぼてん:2007/02/15(木) 20:27:50 ID:w2Gva9Ua0
うーん、、削除が遅れ気味なのって、
実際に判定する人自体が足りてない?からなんじゃないですかねぇ。
人手である程度絞り込んで報告されるようなシステムである
削除整理板のやつですらもてあまし気味だから、、

削除整理板とかに報告されたのが実際にスパムであるかどうか
判定するスクリプトなら有用な可能性もあるかもしれないけど、
やっぱそういうのもトラブル起きそうな、、
自動的に削除しちゃうようなのはちょっとやばいですよね

管理人はちょっとは面白がりそうな気はしないでもないけど、、
主力で使えるかどうかは、、
828動け動けウゴウゴ2ちゃんねる:2007/02/15(木) 20:29:23 ID:CV42PsqZ0
★070214 医者・病院板 必殺連投沈め人報告
http://qb5.2ch.net/test/read.cgi/sec2chd/1171450708/33
より

必殺連投沈め人<>sage<>2007/02/13(火) 13:24:22 RDYXJnwt0<>まあ、こんな糞スレが200まで続・><>ntkyto051210.kyto.nt.adsl.ppp.infoweb.ne.jp<>220.147.189.210<><>Monazilla/1.00 MAKA/1.0b

なぜ<>が・>になっているのだろう?
829どくどくさぼてん:2007/02/15(木) 20:35:45 ID:w2Gva9Ua0
>>828
<>で区切られている領域で、本文の最初30バイトを表示しているみたいだけど、
ちょうど区切りのところが2バイト文字の上位1バイトの
ところで区切られちゃって、0x82になってる、と。
それで直後の < とくっついて0x823c になる。
でも、そのような文字はないのでそこの部分が・で表示されてるのかと。
(当てはまるのがないのは・ってなってるから)

こういうのがまずく当てはまると変な漢字が表示されたりするかも。
830 ◆Choco52.ko :2007/02/15(木) 20:42:24 ID:JSo1tbfI0
>>827
最終的な判断は人間がしないといけないわけですが、
新しく立ったスレを取得、スレタイと>>1の内容を解析して
危険度なりの数値化を行い(メールのスパムフィルタはこの
段階でしきい値を超えたものを削除している)、一覧に色付け
などするして、削除人が判断しやすいようにするサポートする
という形が現実的な解かと思います。
831動け動けウゴウゴ2ちゃんねる:2007/02/15(木) 20:46:22 ID:5rlZMeA00
スレッド削除に限って言えば、スレ立て規制値をあげればある程度の効果は期待できます。
現実的じゃないけど。
832動け動けウゴウゴ2ちゃんねる:2007/02/15(木) 20:48:03 ID:HJL8rp+v0
>>830
試してみたいならν側でどうぞ
どうせ阿鼻叫喚地獄絵図だし実験場だし
833動け動けウゴウゴ2ちゃんねる:2007/02/15(木) 20:51:03 ID:x+ebRFvV0
>>827
こんなの持ってくるなよーっつうのが多いです。個人的には。
834 ◆MUMUMUhnYI :2007/02/15(木) 20:53:39 ID:m3Btua9c0 BE:1095326-PLT(23500)
削除系はどきがむねむねするです。
財宝はきっとたくさんあるはずなので、
じっくりゆっくりあせらずにってかんじが、いいのかもかも。
835どくどくさぼてん:2007/02/15(木) 20:54:30 ID:w2Gva9Ua0
まぁ、削除依頼されたスレやらなにやらの
スパム度を判断するとか、どのような内容かなどの
自動推定とかだったらちょっとは面白いかもとは思いますねぇ、
ぼくはほとんどSVMばっかでやってたけど

まぁ、現状削除の処理が滞っていることへの
解決になるとはちょっと考えにくいけど、
836動け動けウゴウゴ2ちゃんねる:2007/02/15(木) 20:57:28 ID:5rlZMeA00
削除されても同じスレを繰り返し立てる人もいるから、その辺からなんかアプローチできる部分がなくもないかもしれないとは思う。
837動け動けウゴウゴ2ちゃんねる:2007/02/15(木) 21:00:30 ID:HJL8rp+v0
そして規制報告へ〜って流れならワクテカ
838 ◆Choco52.ko :2007/02/15(木) 21:06:34 ID:JSo1tbfI0
削除人の作業コストが高いのが問題なのか、削除したことによるさらなる苦情なり板が荒れるのが問題なのか、
削除人がそもそも人手不足なのが問題なのか、といったような状況がそれぞれ板によって違うのが現状と思います。
処理が滞ってる原因の全ては無理だと思いますが、少しでも有効に機能するシステムを提案できるだけでも、
メリットはあると思います。失敗しても、それはそれでノウハウにはなりますし。

こんな感じで削除サポートでなくても、今問題となってそうなものがあれば、何か提案できそうな気はしてます。
839動け動けウゴウゴ2ちゃんねる:2007/02/15(木) 22:08:05 ID:Gs6bbfnP0
レスに自動的に嵐or広告フラグを付けるっていいね。
削除人がやりやすくなりそう。

2chのレスにベイジリアンフィルタがどれだけ効果があるか興味がある。
学習効果を外部に公開して、2chブラウザでも使えるようになればかなり便利になるかも。
840動け動けウゴウゴ2ちゃんねる:2007/02/15(木) 22:14:23 ID:MEvd0Lu50
取り敢えず、電番が書き込まれたら、削除。
841 株価【1005】 △ ◆cZfSunOs.U :2007/02/15(木) 22:17:01 ID:gXwQFdVg0
>>828-829 芋掘りログに記録する際に,単純にバイト数で切ってるからですね.
技術的にはそういうのが起こらないようにすることは可能なんですが,
先日 <br> タグの空白パディングを一律にやらず文字コード見てから
やるようにしたら芋掘りに影響出ちゃって結局元に戻したぐらいなんで,
いじるのはちょっとコワいような......
842 ◆TWARamEjuA :2007/02/15(木) 22:17:04 ID:0bcM0s4Y0 BE:6861097-2BP(6811)
Rockに引っかかったら印が付く。
って云うのはすぐに出来そうですね♪
843動け動けウゴウゴ2ちゃんねる:2007/02/15(木) 22:18:51 ID:jUwHitHq0
むむむさんの危惧はわかります。下手な実装はパンドラの箱を開けかねませんし。

そこで、実際に影響はしない実験の提案。

特定の板における「削除したもの」と「削除しなかったもの」の
適切に変換したテキストデータファイル1万件程度の山を2つつくって、
それをもとにbogofilterのデータベースを作ってみて、削除人たちに実験してもらうのはどうでしょうか。
なお、もっといい方法があればそれでもかまいません。
実際に実験に加わるのは運営ボランティアの方々ですし。
844 ◆Choco52.ko :2007/02/15(木) 22:23:20 ID:JSo1tbfI0
専用ブラウザを考慮したら、bbs.cgi でできる事って限定されてしまうことに気付く。
スレ立て時に何か追加で処理を追加するのは、また別の案を考えて、関連キーワードスレに
遊びにいってみます。


現状の ex17,ex21 の投稿数をみると、軽量化は不要で高機能化に充分余裕がありますね。
規制関連や鯖落ちから復帰した時の処理に何かネタがありそうな気はしますね。
845動け動けウゴウゴ2ちゃんねる:2007/02/16(金) 02:49:33 ID:5gMuPpJn0
表示スタイルの切り替えは一番上に「表示」させたほうがいいよ
(または、もうちょっと多少なりとも目立たせる)
じゃないと
知らない人は永久に気が付かないかも

ここに来る前は、てっきり白紙撤回されたと思ってたよ
846動け動けウゴウゴ2ちゃんねる:2007/02/16(金) 02:51:22 ID:5gMuPpJn0
つけたし
基本的に一番下のほうのスレはたいていの人は
無視して捨ててると思うから
847動け動けウゴウゴ2ちゃんねる:2007/02/16(金) 16:38:22 ID:5gMuPpJn0
反応してくれて、ありがとう
でも
色のセンス最悪ですw

かんべんしてください、この色合いは
848動け動けウゴウゴ2ちゃんねる:2007/02/16(金) 16:56:26 ID:5gMuPpJn0
でも、まあ
目立つっちゃ、目立つかな

他の人の反応がないとなんとも
849動け動けウゴウゴ2ちゃんねる:2007/02/16(金) 17:37:32 ID:hgReDhGI0
ペパーミントグリーンはあんまり好きではないな。
850動け動けウゴウゴ2ちゃんねる:2007/02/16(金) 20:29:19 ID:s3BXWkgp0
2chにデザイン的センスが無いのは
デフォを超えて今や伝統だと思う。
851 ◆garnetGnNk :2007/02/16(金) 21:08:27 ID:5uZ2dIcq0
>838
実際に作って公開すれば、いろいろ反響がでるのではないかなと。
852動け動けウゴウゴ2ちゃんねる:2007/02/16(金) 22:29:35 ID:oYif/tQ70
853 株価【1199】 △ ◆cZfSunOs.U :2007/02/17(土) 00:02:46 ID:tFdnFmdq0
>>847-850 まぁ,あくまでコードを書く人間であってデザイナーじゃないんで.
いい色見本とかあれば示してもらえれば.
854動け動けウゴウゴ2ちゃんねる:2007/02/18(日) 01:53:52 ID:W3NlNiwz0
イチバン上に持ってくるというのは無しなのかな
告知っぽい期間だけでも
855 株価【1150】 △ ◆cZfSunOs.U :2007/02/21(水) 08:33:02 ID:z6zY2ZIR0
見付けた人だけが使える機能がひっそりとたたずんでるってのも悪くないかなぁ,と......
(あと,上に置くとそれはそれでウザいって人も出てきそうな気も)


それはともかく,亀ですが
>>357-362 bbsd では BBS_BG_PICTURE が空なら url("") を出力しないようにしますた.
# bbs.cgi はとりあえず従来通り.
856root▲▲ ★:2007/02/21(水) 14:16:42 ID:???0 BE:729942-PLT(23500)
SSL_X_ っていうのは、どういうあれなんでしたっけか。 > SunOSさん
857 株価【1150】 △ ◆cZfSunOs.U :2007/02/21(水) 15:38:56 ID:z6zY2ZIR0
>>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 に入れればいいようにってことで.
858root▲▲ ★:2007/02/21(水) 16:16:54 ID:???0 BE:1094562-PLT(23500)
なるほど、とても納得できました。>>857
859root▲▲ ★: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");
}
860 株価【1000】 △ ◆cZfSunOs.U :2007/02/23(金) 11:53:51 ID:2Oxo44Dd0
subject.txt の処理だけなら単一文字列のまま扱うのもいいかなと思うんですが,
他の場所での再利用を考えると,結局配列やハッシュで扱った方がいいのかなとも思ったり.

# まぁ,Perl CGI の枠内でやってる限り限界はあるかな,とも思いますが.
861root▲▲ ★:2007/02/23(金) 11:56:05 ID:???0 BE:2462393-PLT(23532)
ふむむ。>>860

ただ、今のsubject.txtの処理がグロテスク((c)SunOSさん)というのも
事実だとは思うので、これを機に以下略したいところではあるかも。
862 ◆Choco52.ko :2007/02/23(金) 12:17:27 ID:AbpaAoA10
指摘もらった内容で flock 使わないダミーファイル&rename方式で作り直してみました。
http://choco.tank.jp/trac/wiki/subjectTxtFunc (説明)
http://choco.tank.jp/trac/browser/trunk/perlre/SUBJECT_TXT/func2.pl (ソース)

今回は subject.txt の更新だけなので、index.html subback.html の話は別に
863 ◆Choco52.ko :2007/02/23(金) 12:34:07 ID:AbpaAoA10
http://qb5.2ch.net/test/read.cgi/operate/1171963749/906
にあるアトミックとは、ファイル更新時のデータの一時的な乱れや
http://ex20.2ch.net/test/read.cgi/nanmin/1170905254/732-740
で雑談で出たファイルの不整合のことだと思いますが、

私の認識では、プロセスの排他制御を行い同一リソースに対する
デッドロックさせない、同時に書き換えさせずに不整合を生まない
という意味での掲示板全体のアトミックを考えてました。

>>862の説明ページにも書いてありますが、プロセス間の排他制御を行わない
ダミーファイル方式の場合、bbs.cgi のプロセス切り替えが発生した場合、
実際の dat レス数と subject.txt の不整合が生じます。
(これも書いてありますが、同じスレで発言があれば治ります)
また、age 書き込みしたのにあがらない(saborin ではない)ことも発生します。
この程度は利用上の致命的問題とならないので現状でもOKなんだと思います。

このあたりの考え方は技術者的思考&嗜好ですみません
864stream ◆PNstream2s :2007/02/23(金) 12:39:38 ID:ezCNONMk0
datの破損
http://wwwww.2ch.net/test/read.cgi/news4vip/1172149686/738-739
(●持ってない人用) http://asnxload.dip.jp/files/ppfx00370.txt

738のレスを書き込み中に739の書き込みが割り込んだように見える
865 ◆Choco52.ko :2007/02/23(金) 12:40:37 ID:AbpaAoA10
>>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 内部で特に最適化されてる部分なので
二重の読み込み処理に見えますが、そんなにコストは高くないです。
866 ◆Choco52.ko :2007/02/23(金) 12:43:42 ID:AbpaAoA10
>>864
>>863の内容と同じですけど、書き込み時刻が3秒ズレているんでなぜ発生してるのか少々不可解ではあります。
867 ◆Choco52.ko :2007/02/23(金) 12:44:29 ID:AbpaAoA10
>>865 訂正
flock いらないですね
868 ◆Choco52.ko :2007/02/23(金) 12:46:58 ID:AbpaAoA10
>>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));
}

でよいかと
869 ◆Choco52.ko :2007/02/23(金) 12:52:57 ID:AbpaAoA10
ついでに 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 部分)

}
870 株価【1100】 △ ◆cZfSunOs.U :2007/02/23(金) 13:14:00 ID:2Oxo44Dd0
>>863
>(ryにあるアトミックとは、ファイル更新時のデータの一時的な乱れや
>(ryで雑談で出たファイルの不整合のことだと思いますが、

まぁそうですね.

>私の認識では、(ry掲示板全体のアトミックを考えてました。

一般論としてはそれも重要なことだとは思いますが,
2ch の特性を踏まえると普通のファイルロックの使い方では
先に述べたような不都合も出てくる,と.

# まぁ,そのあたりも乗り越えようと考えたのが bbsd なんですけどね.

>>864 デカいカキコのため,write() が複数になってその間に割り込んだ可能性もありますね.

>>865 なるほど......

>>868 少数とはいえ,まだ9桁スレキーも残ってるところあるかも?

>>869 html 部分は,別途こんなのを作ってます -> http://qb5.2ch.net/operate/html/
これを読み込んでつなげてる,と.
871root▲▲ ★:2007/02/23(金) 13:16:50 ID:???0 BE:1095326-PLT(23532)
>>865 >>867
ふむふむ、改めて読めばよいと。

>>868 >>869
そんなかんじですか。
# Perl はほぼ素人だったり。
872root▲▲ ★:2007/02/23(金) 13:17:45 ID:???0 BE:2918584-PLT(23532)
確かに、9桁のキーはまだ結構ありますね。
873 ◆Choco52.ko :2007/02/23(金) 13:30:42 ID:AbpaAoA10
10桁決め打ちでやってますが、9桁対応させるなら10桁目が数字かそうでないかで
条件分岐を追加すればいいだけですね。正規表現でやれば \d{9,10} ですみますけど
Perlの正規表現は他の実装に比べて早いですが、index や substr などの文字列処理に
比べたら馬鹿にならないほどコスト大(数十倍)だったりします。
874root▲▲ ★:2007/02/23(金) 13:31:53 ID:???0 BE:4104195-PLT(23532)
>>873
せっかくやるなら、あんまり正規表現は使いたくないかも。
んで、どうするのがいんだべか。
875 ◆Choco52.ko :2007/02/23(金) 13:36:17 ID:AbpaAoA10
http://qb5.2ch.net/operate/html/ のアイデアはあるかなと思ってましたが、
ディスクをどの程度使用するかにも寄りますが、l10 だけでなく全てのレスを
HTML化しておけば、read.cgi でも使えますし、より効果的な負荷低減になると
思います。
バイナリの埋め込みになりますが、各レスのオフセット(seek の引数)も一緒に
インデクス化していれておけば、現実的可能な最速処理もできるかと
876 ◆Choco52.ko :2007/02/23(金) 13:38:05 ID:AbpaAoA10
>>874 9桁対応版
{
  substr($_, 9, 1) eq '.'
    ? printf($tmpl, substr($_, 0, 10), $cnt, substr($_, 15));
    : printf($tmpl, substr($_, 0, 9), $cnt, substr($_, 14));
}
877 株価【1100】 △ ◆cZfSunOs.U :2007/02/23(金) 13:42:39 ID:2Oxo44Dd0
>>875
>全てのレスをHTML化しておけば、read.cgi でも使えますし

これは昔 dat2html 使ってやろうとしてたことあったような記憶もおぼろげながら......
まぁ,read.cgi 出力に mod_cache かますとかやった方が手っ取り早いと思いますけど.
878 ◆Choco52.ko :2007/02/23(金) 13:42:57 ID:AbpaAoA10
>>876 修正
  substr($_, 9, 1) eq '.' # 10文字目がピリオドなら9桁
    : printf($tmpl, substr($_, 0, 9), $cnt, substr($_, 14))
    ? printf($tmpl, substr($_, 0, 10), $cnt, substr($_, 15));
879 ◆Choco52.ko :2007/02/23(金) 13:53:53 ID:AbpaAoA10
>>877
今の read.cgi って対象の .dat を読み込んで、1,300 や 1-20 や l50 なんかの指定に従って
対象の行を取り出して整形して出力する処理ではないかと思ってるのですが、この dat の行を
html に変換するコストが無駄になってるのでは?と思ってます。

あと、mod_cache をかませても l50 や指定なしのものだけをキャッシュさせて、それ以外の
特殊な条件指定したもの(300-400)はキャッシュの意味は少ないと思いますし、そちらのコストも
考えると、全レスhtml化の恩恵は大きいと思います。こちらも時間があれば仕様案まとめてみます
880root▲▲ ★: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
881root▲▲ ★:2007/02/23(金) 14:11:31 ID:???0 BE:3830876-PLT(23532)
最初のは、index.html を作る処理ですね。
次のが広告かどうかのチェック。
3番目は各種初期化。
882 株価【1100】 △ ◆cZfSunOs.U :2007/02/23(金) 14:17:21 ID:2Oxo44Dd0
>>879 基本的に,mod_cache に任せておけば大局的には読み出しの多いレス番指定が
ヒット率が高くなるでしょうし,読み出しの多いものが重点的にキャッシュされ,
一方少ないものは on the fly に生成するという形に収斂していくかと.

全レスを HTML 化したものもスタティックファイルとして保持させると,
あぼーん用スクリプトとか dat 落ちスクリプトとかにも対応する処理を
入れることになって,手間と効果のバランスからどうかなぁ,とも.
883 ◆Choco52.ko :2007/02/23(金) 14:25:01 ID:AbpaAoA10
>>880,881
speedy でのキャッシュされた実行ではなさそうなので、BEGIN や Exporter::Import などのコストも入ってますね。
となると上ふたつのコストが、ファイル読み込み処理と、正規表現の文字列処理なので、この部分が一番わかりやすい
大きなコストになってるような感じですね。
他の部分は、上二つに比べたらまだ気を使うほどのところでもなさそうです。
884root▲▲ ★:2007/02/23(金) 14:30:15 ID:???0 BE:2919348-PLT(23532)
で、われわれがSaborinと呼んでいるのは、
MakeIndex4PC(とUpdateSubback)を呼ぶのをまばらにする、
というものですね。
885 ◆Choco52.ko :2007/02/23(金) 14:35:09 ID:AbpaAoA10
私が今後どのような形で(&飽きずにいつまでw)お手伝いすることになるかわかりませんが、
FreeBSD の -stable と -current みたいに、現状の改善と安定を目指すものと、年末くらいに
完全にいちから再設計して作り直した(現状では雪だるまがそっち系なのかな?)システムという
形で現状ですべきこと、長期的に考えることを分けて考えてもいいような気がします。

現状では、>>880 のようなものとにらめっこして、LAを減らすことかな?
あるいは現状の利用者数、投稿数で年末まで持つと仮定して、新バージョンの開発かな?w
なんてことを考えるのははたから茶々いれるだけの技術者的の私個人としては楽しいのですが、
運営側としてはどうなんでしょ?
886root▲▲ ★:2007/02/23(金) 14:43:27 ID:???0 BE:2918584-PLT(23532)
きっと、、、「運営側」っていう言葉について、
「それって何だろう」って素で思うようになると、
なんとなくいいかんじになる、んじゃないのかなと。

ここって「あっち側」とか「こっち側」とかじゃなくて、
管理人を除いてみんな同じところにいる、
っていうあたりから、はじまっているような気がするんで。

なんというか、このへんにいる人たちは
みんなたんなる「お手伝い」に過ぎなくて、
単にそれぞれ、出来ることが違うだけというか。なんとゆうか。
887 株価【1100】 △ ◆cZfSunOs.U :2007/02/23(金) 14:46:09 ID:2Oxo44Dd0
>>885 一から再設計ということでは,しばらく前に VIP の有志の人たちが
レスデータをファイルでなく MySQL に入れるとかいうのを作ってたような.
雪だるまというか bbsd は,すでに稼働してる鯖もある (live23, live24)
ので長期的というほど先の話でもないと個人的に考えてはいますが,
呪文対応等の未実装部分をこれからぼちぼちやっていこう,ということで.

# むしろ,削除人や復帰人の人たちのことを考えれば,未実装部分は
# 早くなくした方がいいのかも,とも.

## 「運営側」に関しては >>886 に同意で.
888root▲▲ ★:2007/02/23(金) 14:48:55 ID:???0 BE:1095034-PLT(23532)
で、>>886 みたいなものって、昔のインターネットには割とたくさんあったんですが、
今のインターネットには、もうなんか少なくなったというか、
ほとんど見当たらないようになりましたね。

「それいいっすね。いっちょやりますかぁ」「ごにょごにょ…」
「おい変だぞ、どうしたんだゴルァ」
「あちゃー、ごめんなさいー、戻しますー」みたいな、
アドホックというか、とりあえず試してみるというか。

そんなわけで私は2ちゃんねるに「昔からある、もともとのインターネットの姿」を、
ほんのちょっぴり、垣間見ていたりなんかして。

すれ違いすんませんです。
889 株価【1100】 △ ◆cZfSunOs.U :2007/02/23(金) 14:52:05 ID:2Oxo44Dd0
>>888 まぁそうですね,これだけデカいサイトで挑戦的なことをできるところって
他にないでしょうしね.「普通の」大手サイトでは,▲が増えるどころじゃ済まないでしょうしw
890 ◆Choco52.ko :2007/02/23(金) 14:57:04 ID:AbpaAoA10
>>888,889
そういう土壌はこの一週間で充分堪能していますw
私も仕事で仕様ガチガチ安定して当然の世界でも生きてますし、
趣味のソフトウェア開発では、自由きままにやっています。
論文やレポート書いてどっかにポストするのも好きですし、
ちょうど今の新ばななは良い縁になったと思います。
顔色伺ってというのはあまり楽しくないので、自由気ままに
勝手にプロジェクト立ち上げて勝手に進めて、方針や意見が
合わなければ自然に影が薄くなっていくのかもしれないですね
891root▲▲ ★:2007/02/23(金) 15:01:40 ID:???0 BE:2189838-PLT(23532)
そっすね。>>890

勝手にという中にもたぶん需要があったり、
動機付けがあったり、空気嫁があったりするのかなと。

私の基本思想はこのへんにでも適当に。
サーバ修理中につき(そろそろ退院予定らしいです)、Googleキャッシュでごめんなさい。

http://72.14.235.104/search?q=cache:9LcMvz3YJbkJ:mumumu.mu/human-2ch.html+mumumu.mu/human-2ch.html&hl=ja&ct=clnk&cd=1
892 株価【1100】 △ ◆cZfSunOs.U :2007/02/23(金) 15:02:11 ID:2Oxo44Dd0
>>890 まぁ,何を隠そう私自身,勝手にコード書いて「これどうよ?」って
勝手に提示するってのをこれまで繰り返しながら,2ch にずぶずぶはまってきてますからw
チョコさんも,そんな感じではまっていくことになるのかなぁ,とw
893 ◆Choco52.ko :2007/02/23(金) 15:07:23 ID:AbpaAoA10
>>891
私の活動ポリシーの元になってるPerlの三大美徳に似てますね
ttp://www.nishiohirokazu.org/archived_coreblog/55

>>892
実験的なコード書くのと、各種検証してレポート書くのと、試作品
(もうちょっとで商品になりそうなのにその手前で止まってる)を
日常的に作ってますから、モチベーションさえあれば色んなことを
していく可能性は大きい環境ではありますw
894root▲▲ ★:2007/02/23(金) 15:14:50 ID:???0 BE:912825-PLT(23532)
>>893
それ、おもしろいですね。
mumumu.mu が復活したら、改変してみるかも。
895 ◆Choco52.ko :2007/02/23(金) 15:15:35 ID:AbpaAoA10
すぐ出来そうなことは実機のモニターになれるならということでこんな感じでw
ttp://yy28.60.kg/test/read.cgi/maido3/1170831265/85
スキルは今までにそれなりに蓄積してきて、必要があれば何でも作れるとは思うんだけど
モチベーションを持てる何かがないので日々興味の赴くままに(ここにいる理由がまさにw)
何かしております。先日までは amd64 や 128bitSSE で deflate 高速化出来ないか試行錯誤してたりw
896 ◆Choco52.ko :2007/02/23(金) 15:29:38 ID:AbpaAoA10
とりあえず、今私にクリティカルにできそうなこととしては‥‥‥
sub MakeIndex4PC
sub IsKoukoku
の部分の現状のコードをいただけるのであれば、リファクタリングさせてもらいますよ。
897 株価【1100】 △ ◆cZfSunOs.U :2007/02/23(金) 15:49:45 ID:2Oxo44Dd0
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)            ;
898動け動けウゴウゴ2ちゃんねる:2007/02/23(金) 16:08:22 ID:ZT6cIEXJ0
>>897
Rock54のファイルの場所は秘密なのでは?
899Kseniya ★:2007/02/23(金) 16:10:49 ID:???0
つうか
そのフォルダが超機密だったのであった。

うひゃひゃひゃひや
900動け動けウゴウゴ2ちゃんねる:2007/02/23(金) 16:13:39 ID:PebZXv460
/(^o^)\
901stream ◆PNstream2s :2007/02/23(金) 16:13:49 ID:osWVCmNQ0
川 ;´・`;)イイハナシヤナー

認証ぐらいかけとけよ
902動け動けウゴウゴ2ちゃんねる:2007/02/23(金) 16:13:57 ID:Nv58QqDI0
どうもアレかなと思ったらやっぱり。。
903動け動けウゴウゴ2ちゃんねる:2007/02/23(金) 16:14:07 ID:z2462BoB0
なんてこった・・・。
904動け動けウゴウゴ2ちゃんねる:2007/02/23(金) 16:15:12 ID:8SBJJSul0
GJ!
905動け動けウゴウゴ2ちゃんねる:2007/02/23(金) 16:15:45 ID:tP51+qgU0
906 ◆Choco52.ko :2007/02/23(金) 16:18:07 ID:AbpaAoA10
>>897
このレスあぼ〜ん しておくか、変更する必要があるかも(汗
私のトリップに @hotmail.com が使えますから、そちらに
可能な部分だけ改めて送ってもらえれれば確認できます。

ここのコードはあまり手を加えられるところはないですね。
一応先日 Rock54 がらみで試作してみたコードはこちら
http://choco.tank.jp/trac/wiki/Rock54re
907 株価【1100】 △△ ◆cZfSunOs.U :2007/02/23(金) 16:22:36 ID:2Oxo44Dd0
あまりにひどいミスで......すいませんm(_ _)m
908動け動けウゴウゴ2ちゃんねる:2007/02/23(金) 16:25:03 ID:4XP+PmOt0
あっはっは。
909動け動けウゴウゴ2ちゃんねる:2007/02/23(金) 16:25:33 ID:Nv58QqDI0
これはもうキャップ支給ものだな
910動け動けウゴウゴ2ちゃんねる:2007/02/23(金) 16:32:37 ID:PebZXv460
( ゚∀゚)o彡°キャップ!キャップ!
911チョコバナナ ◆Choco52.ko :2007/02/23(金) 16:33:01 ID:AbpaAoA10
>>907
Don't mind ♪
職を失うわけではないですし(私は仕事で契約破棄されたことありますけどw)
誰の命にかかわるわけではないので(総務省から警告うける内容でもないですし)
気にせず生きましょう
912Kseniya ★:2007/02/23(金) 16:33:41 ID:???0
はっはっは

まぁたぶんなんともないと思うけど
何かあったら何かするといういつもの作戦で

>>909
だな
913動け動けウゴウゴ2ちゃんねる:2007/02/23(金) 16:34:21 ID:8SBJJSul0
祝★強制支給!
914root▲▲ ★:2007/02/23(金) 16:36:05 ID:???0 BE:2189164-PLT(23532)
SunOSさんが、本件を管理人に丁寧なメールで報告&ごめんなさいしました。
(私に Cc: されていました)

管理人からは、

> うひゃひゃ、たまにあることで。

というメールがすぐに返ってきました。

そんなわけで、私はどうしたらよかろうでしょうか。

やはり何か、★でも出しますかね。
でもそれもなんかびみょうかも。
915動け動けウゴウゴ2ちゃんねる:2007/02/23(金) 16:37:08 ID:8SBJJSul0
▲ ★
916動け動けウゴウゴ2ちゃんねる:2007/02/23(金) 16:37:46 ID:Nv58QqDI0
白三角 標準装備で
917動け動けウゴウゴ2ちゃんねる:2007/02/23(金) 16:39:04 ID:9+ya++bV0
つサン▲▲ ★
918動け動けウゴウゴ2ちゃんねる:2007/02/23(金) 16:45:29 ID:1Luj9ZEH0
わろとけわろとけ
( ゚∀゚)アハハ八八ノヽノヽノヽノ \ / \ /  \

このスレで最速1.000やろか?(素
919動け動けウゴウゴ2ちゃんねる:2007/02/23(金) 16:47:45 ID:1Luj9ZEH0
今からこのスレはSunOSさんのキャップを考えるスレにします。

サンサンサン★は どう?
920 ◆boot//5v0I :2007/02/23(金) 16:48:03 ID:dF8tflFE0 BE:303813465-2BP(1000)
>>918
やるな
921On the Rock ★:2007/02/23(金) 16:53:36 ID:???0
 ゥケケケケ
 /ノ\∧_∧Ψ
/ノ\( ゚∀゚)|
⌒⌒ (∪ヌルポ⊃
   ←し―J|。+゚
922動け動けウゴウゴ2ちゃんねる:2007/02/23(金) 16:54:09 ID:68M5N5it0
>>921
ガッ
923動け動けウゴウゴ2ちゃんねる:2007/02/23(金) 16:59:23 ID:KDWDnaV20
祭りだと聞いて歩いてきました
924 株価【1100】 △△ ◆cZfSunOs.U :2007/02/23(金) 17:13:00 ID:2Oxo44Dd0
いつもならファイルパスとか事前に気付いて伏せるんですが......
今回は注意力不足だったようで......

# ★ を頂くのは恐れ多いので,\u263C あたりで......
925root▲▲ ★:2007/02/23(金) 17:14:55 ID:???0 BE:1368353-PLT(23532)
926動け動けウゴウゴ2ちゃんねる:2007/02/23(金) 17:28:56 ID:PQAQOmsq0
ん、なんかマソコとか呼ばれそうなアレだな
927チョコバナナ ◆Choco52.ko :2007/02/23(金) 17:32:05 ID:AbpaAoA10
>>925
同じグループに他にも SUN があるようです。>>926 のご指摘もありますし、黒塗りにしたこちらはいかが?
http://www.fileformat.info/info/unicode/char/2600/index.htm 'BLACK SUN WITH RAYS'
928動け動けウゴウゴ2ちゃんねる:2007/02/23(金) 17:39:28 ID:wWRGG5C/0
こりゃアナルだな
929動け動けウゴウゴ2ちゃんねる:2007/02/23(金) 17:52:24 ID:tP51+qgU0
閉鎖騒動になるぞ。
930動け動けウゴウゴ2ちゃんねる:2007/02/23(金) 17:53:56 ID:83NNOvB00
rootたんって▲一つ増えた?
気づかなかったな
931動け動けウゴウゴ2ちゃんねる:2007/02/23(金) 17:54:32 ID:83NNOvB00
sage忘れorz
932外野ァァン:2007/02/23(金) 20:36:55 ID:ow2tiSXi0
恐れ多いもなにも 罰ですから ニヤニヤ
933石狩の人 ◆/o....orz. :2007/02/23(金) 20:47:46 ID:jf/iT8Ri0
ここはチョコバナナに★でどうよ?
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.
935stream ◆PNstream2s :2007/02/23(金) 22:18:47 ID:9ppoIupq0
>>880をみると、subback.htmlの作成はそんなにコスト高くはない?
936 株価【1100】 △△ ◆cZfSunOs.U :2007/02/23(金) 22:40:54 ID:2Oxo44Dd0
まぁ,subject.txt, subback.html, index.html あたりは bbsd 使えば,
いずれ bbs.cgi では処理しなくて済むようになる部分ではありますからね.
IsKoukoku みたいなのはどっちにしろ bbs.cgi でやらなきゃならない部分ですが.
937動け動けウゴウゴ2ちゃんねる:2007/02/23(金) 22:56:25 ID:d9hREmkI0
そういえば>>864の4096byte毎dat破損はどうするの?

#つかここ(bbs.cgi)じゃなかったり?
938動け動けウゴウゴ2ちゃんねる:2007/02/23(金) 23:01:00 ID:RfXEO2710
レスを書き込んでるところをprintからsyswriteに変えればいいんでない
939 株価【1100】 △△ ◆cZfSunOs.U :2007/02/23(金) 23:03:28 ID:2Oxo44Dd0
>>937 とりあえず修理してほしいって話なら↓かな?
http://qb5.2ch.net/test/read.cgi/operate/1132072662/l50

今後の対策ならここの範疇の話ですが.
# まぁ,これも bbsd 使えば起きなくなるはずですけど.
940動け動けウゴウゴ2ちゃんねる:2007/02/23(金) 23:10:04 ID:d9hREmkI0
あ、一応対策できそうなら〜ということで

でも考えれば4096byte行くような事はそうないだろーし…無視で良いのかな
941動け動けウゴウゴ2ちゃんねる:2007/02/24(土) 00:12:16 ID:mcFQLVQV0
なんとなくsubback.html、スレ立ての順にソートできないかな

と言ってみるテスト
942動け動けウゴウゴ2ちゃんねる:2007/02/25(日) 01:36:38 ID:ha5BeV2q0
だいぶ前にも書いた気がする
ヘッドラインの代用になるから便利だと思うけどまだ実現してない
943動け動けウゴウゴ2ちゃんねる:2007/02/25(日) 01:48:07 ID:zpE9xv260
5行くらいで実現可能なんだけど、運営が導入してもいいと腰を上げない限りは無理なんだろうな
944動け動けウゴウゴ2ちゃんねる:2007/02/25(日) 18:40:31 ID:R3ctNhHGP
ファイル壊れそう。
945動け動けウゴウゴ2ちゃんねる:2007/02/26(月) 18:32:14 ID:mDzp0W140
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+携帯の時に芋掘りログに携帯のシリアル番号が記録されていない模様。

そして"( )"ってなぁに
946動け動けウゴウゴ2ちゃんねる:2007/02/26(月) 19:12:35 ID:EIJS3kQJ0
それ、p2でレスするときに、p2自身がアクセスされたときのデータつけてるだけだから。
2ch側がどうこう言う問題じゃない。
947動け動けウゴウゴ2ちゃんねる:2007/02/26(月) 23:18:02 ID:bk8nC4qB0
PCでIP出してるんだから
携帯も識別番号出すべきかと
荒らしに寛容すぎ
948動け動けウゴウゴ2ちゃんねる:2007/02/27(火) 00:04:11 ID:ZightBnN0
>>947
P2スレで要望してください
949947:2007/02/27(火) 00:06:21 ID:s3h4QOBN0
ごめん、p2スレかと勘違いして書いた
950動け動けウゴウゴ2ちゃんねる:2007/02/28(水) 22:20:56 ID:JNEZ02ff0
なんかpc11鯖移転前後でスレタイに空白がついてる。

移転前からあったスレで移転後に書き込みが無いスレ。
951動け動けウゴウゴ2ちゃんねる:2007/02/28(水) 22:32:57 ID:I07GzBMe0
以前から移転後はそんなんだよ
レスのない古いスレはず〜〜〜っと空白付いたまんま
952動け動けウゴウゴ2ちゃんねる:2007/02/28(水) 22:39:41 ID:JNEZ02ff0
仕様でしたか。了解しますた。
953動け動けウゴウゴ2ちゃんねる:2007/03/01(木) 07:23:38 ID:PmJ1vJC50
復帰スクリプトの不具合?
954動け動けウゴウゴ2ちゃんねる:2007/03/01(木) 07:43:22 ID:zmNuIKLt0
仕様
955動け動けウゴウゴ2ちゃんねる:2007/03/01(木) 11:46:59 ID:PGooi+n50
ここでいいのかなあ。

http://dso.2ch.net/myanmar/subject.txt
http://dso.2ch.net/myanmar/index.html
壊れまくり。
レス数回りがおかしいのかな。
前後の改行が変とか無いとか。
書き込む度に壊れていく。
956stream ◆PNstream2s :2007/03/01(木) 11:59:39 ID:cYbY7lIy0
index.htmlは壊れてるけど、subject.txtは壊れてないように見える
957動け動けウゴウゴ2ちゃんねる:2007/03/01(木) 12:09:35 ID:WXt1L5+H0
1169114098.dat<>もうね阿保か馬鹿かと11
(913)
1171239491.dat<>記号<>&"' (4)
1171239344.dat<>記号<>&amp;"'
(42)
1155409133.dat<>JavaScript版read.cgiの動作試験はここで (116)
958動け動けウゴウゴ2ちゃんねる:2007/03/01(木) 12:32:04 ID:PGooi+n50
早朝からなんかやってたっぽいな。
http://dso.2ch.net/test/read.cgi/myanmar/1171239344/39-
959 株価【1300】 △△ ◆cZfSunOs.U :2007/03/01(木) 12:43:35 ID:VOsid/540
>>955-958 subject.txt 処理の改造とかやってますた.今は直ってるかと.
960動け動けウゴウゴ2ちゃんねる:2007/03/01(木) 12:46:51 ID:PGooi+n50
はいはーい。
961動け動けウゴウゴ2ちゃんねる:2007/03/09(金) 09:42:32 ID:ijIcKlQN0
全部のサーバーでbbsdを使う方向になるんですかね?
bbsdまでのつなぎとしてsubback.htmlとindex.htmlを生成するデーモンとか考えてみたんですが
(subback部分は少し作った)
962 株価【1100】 △△ ◆cZfSunOs.U :2007/03/09(金) 12:35:00 ID:jn3Jaewt0
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 の実験が一段落したら,このあたりもぼちぼちやりましょうってことで.
963 株価【1100】 △△ ◆cZfSunOs.U :2007/03/09(金) 13:12:32 ID:jn3Jaewt0
>>961 んと,それは bbsd とどういう部分で違うんでしょうか?
例えば subject.txt のデータを内部的に保持して {subback,index}.html を
生成するとなると,ほとんど bbsd と同じことやるってことになりそうな......
964動け動けウゴウゴ2ちゃんねる:2007/03/09(金) 13:23:37 ID:ijIcKlQN0
>>963
subject.txtを読み出して、{subback,index}.htmlを生成します。
既存のbbs.cgiを完全にサボリン状態にしてこれを動かせば負荷が減るかな、と。

別にデーモンでなくてcronで呼ぶ形にしてもいいと思います。
cronは秒単位指定できないのでいろいろ面倒ですが

snowmanシステムに置き換わるならそれのほうがいいです
965 株価【1100】 △△ ◆cZfSunOs.U :2007/03/09(金) 13:33:22 ID:jn3Jaewt0
>>964 なるほど......つまり bbsd のようにレスデータ等を一元管理するのではなく,
bbs.cgi とは独立して動いて,subject データはファイルから読み込むと.
アイデアとしてはおもしろいですね.まぁ,bbsd 利用を広げる上での障害は
主に削除系呪文が未対応ゆえということだったんですが,その点は今まさに解決しそうだと.
あとはいろいろ状況を見ながらぼちぼちって感じで.
966root▲▲ ★:2007/03/10(土) 00:44:22 ID:???0 BE:4104959-PLT(23632)
>>962
なるほど、正規表現のコンパイルも
出航時の一度だけにしようというアイディアですか。

もしアレな正規表現を間違って入れてしまうと、
> (ダメポなのだけ除外され,他の正常なのは使われます)

になるというside effectもあるのかな。
967root▲▲ ★: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
969 株価【920】 △△ ◆cZfSunOs.U :2007/03/18(日) 21:26:54 ID:cS2U8n/I0
・ トラックバックは POST のみ受け入れ.
・ @FOX_Ro54 を改変しないように(>>962 の下のやつ).

をとりあえず実施(>>962 の上のやつはまた改めて).
970 ◆TWARamEjuA :2007/03/18(日) 21:58:22 ID:n80E4TCD0 BE:2178454-2BP(6811)
つ△
971 株価【920】 △△ ◆cZfSunOs.U :2007/03/18(日) 22:06:25 ID:cS2U8n/I0
>>970 ん......どっか悪影響出てます?
972 ◆TWARamEjuA :2007/03/18(日) 22:34:09 ID:n80E4TCD0 BE:3049474-2BP(6811)
あ、いやあのその、、、(照)
出ないことを祈りつつみたいなおまじないってことで(なにそれ)
973 [―{}@{}@{}-] 動け動けウゴウゴ2ちゃんねる:2007/03/18(日) 22:54:36 ID:xG9U0K1y0
むしろこの件によって三角をひとつとりましょう
974動け動けウゴウゴ2ちゃんねる:2007/03/19(月) 08:53:12 ID:7yuBVXtp0
そうか、いいこと思いついたぞ。
未承諾サンがチョンボしたら★を付けさせよう。
975 株価【1000】 △△ ◆cZfSunOs.U :2007/03/19(月) 21:05:42 ID:Ot7SI53P0
それを本人の承諾なしに行う,と...... >>974
976 ◆TWARamEjuA :2007/03/19(月) 23:28:05 ID:RrEDh58T0 BE:6861097-2BP(6811)
二萬
二萬
二萬
二索
三索
四索
七索
八索
九索
五筒
六筒
七筒


上家から東キタ━━━(゚∀゚)━━━ッ!!ロン♪
977動け動けウゴウゴ2ちゃんねる:2007/03/19(月) 23:33:52 ID:IIr6nvQd0
うはwww本当に送ったんだw
978安しようがなく 川美の恵み
私達の恥辱

同胞達、意外にもある人は1首私達の歌に関して歌って、歌詞の要点:
日本のやつは彼が人だと言って、全世界のブタはすべて笑って、
意外にも私達をののしるのが人ではありません。。。。。。。。
みんなに団結してもらうようにしましょう。。。。
どのようにの報復を話し合います:http://www.netgamelivedoor.com/online/