peko鯖の稼動によりボトルネックの一つである事がより明らかになった
bbs.cgi作り直しプロジェクトです。
開発環境の工事現場
また挑戦。@2ch掲示板http://dso.2ch.net/myanmar/
関連は>>2-
bbs.cgi再開発プロジェクト4
レス数が900を超えています。1000を超えると表示できなくなるよ。
1桃太郎 ★
04/12/02 19:52:43ID:???04/12/08 12:38:55ID:PFZjuYTD
今朝の時点でtatesugiは効いてたよ
04/12/08 13:27:36ID:4QK9QQ+X
つまりex7はtatesugiが効いていようが効いてまいがどちらか分からないぐらい糞スレばっかり立ってるって事だ。
805FOX ★
04/12/08 13:43:46ID:??? つうことだ
気にスンナ、すんな
気にスンナ、すんな
04/12/08 13:48:47ID:r91lOVFY
04/12/08 13:53:10ID:PFZjuYTD
tatesugiきいてない
↓
VIPER狂喜乱舞してスレ立て祭り
↓
ex7のほかの板にも立て始める
↓
FOX ★が気付くけど何もしない
↓
その板の住人がtatesugi効いてないことに気付く
↓
その板の住人がスレ立て爆撃を始める
↓
tatesugi直る
↓
糞スレだらけの惨状(VIP以外)
↓
VIPER狂喜乱舞してスレ立て祭り
↓
ex7のほかの板にも立て始める
↓
FOX ★が気付くけど何もしない
↓
その板の住人がtatesugi効いてないことに気付く
↓
その板の住人がスレ立て爆撃を始める
↓
tatesugi直る
↓
糞スレだらけの惨状(VIP以外)
04/12/08 13:53:40ID:rdEQXxJD
>>806みたいな人を見ると、
日本人は世界的に見ても、読解力が劣っているという事実を実感する。
日本人は世界的に見ても、読解力が劣っているという事実を実感する。
04/12/08 13:55:35ID:r91lOVFY
関連エントリー
日本学生の読解力低下が問題ではなく文化差異が問題だ
http://finalvent.cocolog-nifty.com/fareastblog/2004/12/post_4.html
日本学生の読解力低下が問題ではなく文化差異が問題だ
http://finalvent.cocolog-nifty.com/fareastblog/2004/12/post_4.html
04/12/08 13:56:42ID:3XgMUeiY
雑談スレではありませんよっと
04/12/08 16:50:39ID:HujUSjWp
>>810
>>810
>>810
813FOX ★
04/12/13 03:33:25ID:??? if(open(AAA,"aaa.txt"))
{
my @ppp = <AAA>;
close(AAA);
$FOX->{XXX} = @ppp;
}
なんてことをやりたいのに、、、
$FOX->{XXX}を、あとで見てみると要素数(行数)が入っている
配列を代入するにはどうしたらいいの?
{
my @ppp = <AAA>;
close(AAA);
$FOX->{XXX} = @ppp;
}
なんてことをやりたいのに、、、
$FOX->{XXX}を、あとで見てみると要素数(行数)が入っている
配列を代入するにはどうしたらいいの?
814▲ 某ソレ511
04/12/13 04:05:20ID:32ZR8wok こんな感じでうまくいたーよ
if(open(AAA,"aaa.txt"))
{
my @ppp = <AAA>;
close(AAA);
$FOX->{XXX} = \@ppp;
}
で、あとで
@{$FOX->{XXX}}
って感じで読み出す感じで。
if(open(AAA,"aaa.txt"))
{
my @ppp = <AAA>;
close(AAA);
$FOX->{XXX} = \@ppp;
}
で、あとで
@{$FOX->{XXX}}
って感じで読み出す感じで。
815動け動けウゴウゴ2ちゃんねる
04/12/13 04:09:34ID:LPQQCynf >>748
ホットゾヌは1も2も飼い主が非公式板で悲鳴を上げております。
ホットゾヌは1も2も飼い主が非公式板で悲鳴を上げております。
817root▲ ★
04/12/13 12:20:48ID:??? BBQ/BBX/BBY/BBS/BBM系をちょっとしたことで軽くできそう。
qb6で試してうまくいったみたいなので、飯の後にでもここに。
qb6で試してうまくいったみたいなので、飯の後にでもここに。
818root▲ ★
04/12/13 13:28:15ID:??? 全サーバに配布した。bananaのは変わったはず。>>817
○変更の内容
my $query_addr = "$4.$3.$2.$1.niku.2ch.net.";
のように、BBx系を使用する場合最後に"."をつけるようにした。
これで、DNS queryの時のドメイン名補完がなくなり、DNS検索のコスト(かかる時間)が下がります。
通常の場合、特にBBSのような「その名前はない」という応答の場合、
1) gethostbyname("a.b.c.d.bbs.2ch.net"); を実行、
2) a.b.c.d.bbs.2ch.net に対してDNS問い合わせ => 該当なし
3) a.b.c.d.bbs.2ch.net.maido3.com に対してDNS問い合わせ => 該当なし
4) 呼び出し元に「該当なし」を返す
のような検索をしています。
この変更で 3) がなくなるので、
特にBBSの場合、呼び出しコストが半分になるはず。
○変更の内容
my $query_addr = "$4.$3.$2.$1.niku.2ch.net.";
のように、BBx系を使用する場合最後に"."をつけるようにした。
これで、DNS queryの時のドメイン名補完がなくなり、DNS検索のコスト(かかる時間)が下がります。
通常の場合、特にBBSのような「その名前はない」という応答の場合、
1) gethostbyname("a.b.c.d.bbs.2ch.net"); を実行、
2) a.b.c.d.bbs.2ch.net に対してDNS問い合わせ => 該当なし
3) a.b.c.d.bbs.2ch.net.maido3.com に対してDNS問い合わせ => 該当なし
4) 呼び出し元に「該当なし」を返す
のような検索をしています。
この変更で 3) がなくなるので、
特にBBSの場合、呼び出しコストが半分になるはず。
819root▲ ★
04/12/13 13:30:11ID:??? >>818
これが使えるのは、
・BBQ (niku.2ch.net)
・BBS (bbs.2ch.net)
・BBY (bby.2ch.net)
・BBM (bbm.2ch.net)
・BBX (bbx.2ch.net)
の各問い合わせになります。
ということで、SpeedyCGI版bbs.cgiの更新作業を、
よろしくおねがいいたしますです。>FOXさん
これが使えるのは、
・BBQ (niku.2ch.net)
・BBS (bbs.2ch.net)
・BBY (bby.2ch.net)
・BBM (bbm.2ch.net)
・BBX (bbx.2ch.net)
の各問い合わせになります。
ということで、SpeedyCGI版bbs.cgiの更新作業を、
よろしくおねがいいたしますです。>FOXさん
820FOX ★
04/12/13 14:12:14ID:??? おっ
やるやる
やるやる
822FOX ★
04/12/13 14:15:47ID:??? live16 でやってみた、
823root▲ ★
04/12/13 14:18:18ID:???825root▲ ★
04/12/13 14:27:19ID:??? 大丈夫の模様です。
(使用前、2回問い合わせ)
@4000000041bd256e17e11344 query 376306 7f000001:e90e:a283 1 1102914915.5078.ないしょ.0.52.1102912571.livenhk.live16.2ch.net.bbs.bbs.2ch.net.
@4000000041bd256e17e1da7c cached ns bbs.2ch.net. a.ns.bbs.2ch.net.
@4000000041bd256e17e224b4 cached 1 a.ns.bbs.2ch.net.
@4000000041bd256e17e276bc tx 0 1 1102914915.5078.ないしょ.0.52.1102912571.livenhk.live16.2ch.net.bbs.bbs.2ch.net. bbs.2ch.net. cedf9323
@4000000041bd256e181fd1c4 nxdomain cedf9323 2560 1102914915.5078.ないしょ.0.52.1102912571.livenhk.live16.2ch.net.bbs.bbs.2ch.net.
@4000000041bd256e18215864 sent 376306 103
@4000000041bd256e1824139c query 376307 7f000001:306f:a284 1 1102914915.5078.ないしょ.0.52.1102912571.livenhk.live16.2ch.net.bbs.bbs.2ch.net.maido3.com.
@4000000041bd256e1824e68c cached ns maido3.com. ns1.maido3.com.
@4000000041bd256e18251d3c cached ns maido3.com. ns2.maido3.com.
@4000000041bd256e182528f4 cached 1 ns1.maido3.com.
@4000000041bd256e182530c4 cached 1 ns2.maido3.com.
@4000000041bd256e1825638c tx 0 1 1102914915.5078.218.ないしょ.1102912571.livenhk.live16.2ch.net.bbs.bbs.2ch.net.maido3.com. maido3.com. cedf94fe cedf93fe
@4000000041bd256e183e5644 nxdomain cedf94fe 2560 1102914915.5078.ないしょ.0.52.1102912571.livenhk.live16.2ch.net.bbs.bbs.2ch.net.maido3.com.
@4000000041bd256e183f9a7c sent 376307 114
(使用後、1回のみ)
@4000000041bd257225883914 query 376313 7f000001:fc9b:a71c 1 1102914920.6534.ないしょ.0.10.1102912571.livenhk.live16.2ch.net.bbs.bbs.2ch.net.
@4000000041bd25722588c5b4 cached ns bbs.2ch.net. a.ns.bbs.2ch.net.
@4000000041bd25722588f87c cached 1 a.ns.bbs.2ch.net.
@4000000041bd25722589275c tx 0 1 1102914920.6534.ないしょ.0.10.1102912571.livenhk.live16.2ch.net.bbs.bbs.2ch.net. bbs.2ch.net. cedf9323
@4000000041bd257225e97f6c nxdomain cedf9323 2560 1102914920.6534.ないしょ.0.10.1102912571.livenhk.live16.2ch.net.bbs.bbs.2ch.net.
@4000000041bd257225ead344 sent 376313 100
(使用前、2回問い合わせ)
@4000000041bd256e17e11344 query 376306 7f000001:e90e:a283 1 1102914915.5078.ないしょ.0.52.1102912571.livenhk.live16.2ch.net.bbs.bbs.2ch.net.
@4000000041bd256e17e1da7c cached ns bbs.2ch.net. a.ns.bbs.2ch.net.
@4000000041bd256e17e224b4 cached 1 a.ns.bbs.2ch.net.
@4000000041bd256e17e276bc tx 0 1 1102914915.5078.ないしょ.0.52.1102912571.livenhk.live16.2ch.net.bbs.bbs.2ch.net. bbs.2ch.net. cedf9323
@4000000041bd256e181fd1c4 nxdomain cedf9323 2560 1102914915.5078.ないしょ.0.52.1102912571.livenhk.live16.2ch.net.bbs.bbs.2ch.net.
@4000000041bd256e18215864 sent 376306 103
@4000000041bd256e1824139c query 376307 7f000001:306f:a284 1 1102914915.5078.ないしょ.0.52.1102912571.livenhk.live16.2ch.net.bbs.bbs.2ch.net.maido3.com.
@4000000041bd256e1824e68c cached ns maido3.com. ns1.maido3.com.
@4000000041bd256e18251d3c cached ns maido3.com. ns2.maido3.com.
@4000000041bd256e182528f4 cached 1 ns1.maido3.com.
@4000000041bd256e182530c4 cached 1 ns2.maido3.com.
@4000000041bd256e1825638c tx 0 1 1102914915.5078.218.ないしょ.1102912571.livenhk.live16.2ch.net.bbs.bbs.2ch.net.maido3.com. maido3.com. cedf94fe cedf93fe
@4000000041bd256e183e5644 nxdomain cedf94fe 2560 1102914915.5078.ないしょ.0.52.1102912571.livenhk.live16.2ch.net.bbs.bbs.2ch.net.maido3.com.
@4000000041bd256e183f9a7c sent 376307 114
(使用後、1回のみ)
@4000000041bd257225883914 query 376313 7f000001:fc9b:a71c 1 1102914920.6534.ないしょ.0.10.1102912571.livenhk.live16.2ch.net.bbs.bbs.2ch.net.
@4000000041bd25722588c5b4 cached ns bbs.2ch.net. a.ns.bbs.2ch.net.
@4000000041bd25722588f87c cached 1 a.ns.bbs.2ch.net.
@4000000041bd25722589275c tx 0 1 1102914920.6534.ないしょ.0.10.1102912571.livenhk.live16.2ch.net.bbs.bbs.2ch.net. bbs.2ch.net. cedf9323
@4000000041bd257225e97f6c nxdomain cedf9323 2560 1102914920.6534.ないしょ.0.10.1102912571.livenhk.live16.2ch.net.bbs.bbs.2ch.net.
@4000000041bd257225ead344 sent 376313 100
826FOX ★
04/12/13 14:29:35ID:??? んじゃ 順次、順二、淳二
827南アルプス ◆98YENoslbU
04/12/13 14:35:22ID:YQ7EKe0/ 稲川淳二
04/12/13 17:30:20ID:DB7UVgUV
これでどうかしらん。
if (open(AAA, "aaa.txt")) {
@{$FOX->{XXX}} = <AAA>;
close(AAA);
}
でもグローバルなら安直に
@FOX_XXX = <AAA>
でいいような気がする。
if (open(AAA, "aaa.txt")) {
@{$FOX->{XXX}} = <AAA>;
close(AAA);
}
でもグローバルなら安直に
@FOX_XXX = <AAA>
でいいような気がする。
832FOX ★
04/12/14 14:34:57ID:??? file i/o を減らすのだ 第八弾(ID生成ルーチン)
1) 毎回 HDD にアクセスしているのを何とかしたい、
2) 毎月同じIDになるのを何とかする?
3) あとなんかあったっけ?
今 コード出します。
1) 毎回 HDD にアクセスしているのを何とかしたい、
2) 毎月同じIDになるのを何とかする?
3) あとなんかあったっけ?
今 コード出します。
833FOX ★
04/12/14 14:36:21ID:??? {
#IDを生成する
use Digest::MD5;
my $md5 = Digest::MD5->new;
use Digest::MD5 qw(md5_hex);
#my $idnum = md5_hex($ENV{'REMOTE_ADDR'});
my $idnum = md5_hex($GB->{IDNOTANE});
$idnum = substr($idnum,-4);
$md5->add($idnum);
$md5->add($GB->{FORM}->{"bbs"});
#$md5->add(substr($GB->{DATE},6,2));
my $md5datefile = "$GB->{PATH}/md5.cgi";
if(-e $md5datefile){
open(MD5FILE,"<$md5datefile");
my $md5line = <MD5FILE>;
close(MD5FILE);
my ($md5date,$md5number) = split /<>/,$md5line;
if($md5date eq $GB->{MD5DATE}){
$md5->add($md5number);
}else{
open(MD5FILE,">$md5datefile");
my $data = "";
sysopen(RANDOM, "/dev/random", O_READ) || die "cannot open /dev/random $!\n";
sysread(RANDOM, $data, 16);
close(RANDOM);
print MD5FILE "$GB->{MD5DATE}<>$data";
close(MD5FILE);
$md5->add($data);
}
}else{
open(MD5FILE,">$md5datefile");
my $data = "";
sysopen(RANDOM, "/dev/random", O_READ) || die "cannot open /dev/random $!\n";
sysread(RANDOM, $data, 16);
close(RANDOM);
print MD5FILE "$GB->{MD5DATE}<>$data";
close(MD5FILE);
$md5->add($data);
}
chmod(0777,"$md5datefile");
my $idcrypt = $md5->b64digest;
$idcrypt = substr($idcrypt,0,8);
#IDを生成する
use Digest::MD5;
my $md5 = Digest::MD5->new;
use Digest::MD5 qw(md5_hex);
#my $idnum = md5_hex($ENV{'REMOTE_ADDR'});
my $idnum = md5_hex($GB->{IDNOTANE});
$idnum = substr($idnum,-4);
$md5->add($idnum);
$md5->add($GB->{FORM}->{"bbs"});
#$md5->add(substr($GB->{DATE},6,2));
my $md5datefile = "$GB->{PATH}/md5.cgi";
if(-e $md5datefile){
open(MD5FILE,"<$md5datefile");
my $md5line = <MD5FILE>;
close(MD5FILE);
my ($md5date,$md5number) = split /<>/,$md5line;
if($md5date eq $GB->{MD5DATE}){
$md5->add($md5number);
}else{
open(MD5FILE,">$md5datefile");
my $data = "";
sysopen(RANDOM, "/dev/random", O_READ) || die "cannot open /dev/random $!\n";
sysread(RANDOM, $data, 16);
close(RANDOM);
print MD5FILE "$GB->{MD5DATE}<>$data";
close(MD5FILE);
$md5->add($data);
}
}else{
open(MD5FILE,">$md5datefile");
my $data = "";
sysopen(RANDOM, "/dev/random", O_READ) || die "cannot open /dev/random $!\n";
sysread(RANDOM, $data, 16);
close(RANDOM);
print MD5FILE "$GB->{MD5DATE}<>$data";
close(MD5FILE);
$md5->add($data);
}
chmod(0777,"$md5datefile");
my $idcrypt = $md5->b64digest;
$idcrypt = substr($idcrypt,0,8);
04/12/14 16:37:18ID:dKRMgTcD
こんな感じ?
use Digest::MD5;
use Digest::MD5 qw(md5_hex);
my $md5datefile = "$GB->{PATH}/md5.cgi";
if (!defined $FOX->{MD5NUMBER}) {
# まだ読み込まれていない
open(MD5FILE, "<$md5datefile");
my $md5line = <MD5FILE>;
close(MD5FILE);
($FOX->{MD5DATE}, $FOX->{MD5NUMBER}) = split(/<>/, $md5line, 2);
}
if ($FOX->{MD5DATE} ne $GB->{MD5DATE}) {
# 日付が変わったので作り直し
my $data = '';
sysopen(RANDOM, '/dev/random', O_READ) || die "cannot open /dev/random $!\n";
sysread(RANDOM, $data, 16);
close(RANDOM);
open(MD5FILE, ">$md5datefile");
print MD5FILE "$GB->{MD5DATE}<>$data";
close(MD5FILE);
chmod(0777, $md5datefile);
$FOX->{MD5DATE} = $GB->{MD5DATE};
$FOX->{MD5NUMBER} = $data;
}
#my $idnum = md5_hex($ENV{'REMOTE_ADDR'});
my $idnum = md5_hex($GB->{IDNOTANE});
my $md5 = Digest::MD5->new;
$md5->add(substr($idnum,-4));
$md5->add($GB->{FORM}->{"bbs"});
#$md5->add(substr($GB->{DATE},6,2));
$md5->add($FOX->{MD5NUMBER});
my $idcrypt = substr($md5->b64digest, 0, 8);
use Digest::MD5;
use Digest::MD5 qw(md5_hex);
my $md5datefile = "$GB->{PATH}/md5.cgi";
if (!defined $FOX->{MD5NUMBER}) {
# まだ読み込まれていない
open(MD5FILE, "<$md5datefile");
my $md5line = <MD5FILE>;
close(MD5FILE);
($FOX->{MD5DATE}, $FOX->{MD5NUMBER}) = split(/<>/, $md5line, 2);
}
if ($FOX->{MD5DATE} ne $GB->{MD5DATE}) {
# 日付が変わったので作り直し
my $data = '';
sysopen(RANDOM, '/dev/random', O_READ) || die "cannot open /dev/random $!\n";
sysread(RANDOM, $data, 16);
close(RANDOM);
open(MD5FILE, ">$md5datefile");
print MD5FILE "$GB->{MD5DATE}<>$data";
close(MD5FILE);
chmod(0777, $md5datefile);
$FOX->{MD5DATE} = $GB->{MD5DATE};
$FOX->{MD5NUMBER} = $data;
}
#my $idnum = md5_hex($ENV{'REMOTE_ADDR'});
my $idnum = md5_hex($GB->{IDNOTANE});
my $md5 = Digest::MD5->new;
$md5->add(substr($idnum,-4));
$md5->add($GB->{FORM}->{"bbs"});
#$md5->add(substr($GB->{DATE},6,2));
$md5->add($FOX->{MD5NUMBER});
my $idcrypt = substr($md5->b64digest, 0, 8);
835▲:/usr/local/bin/ch2 -o i686 ◆P8fXJj6wwo
04/12/14 17:08:51ID:krSF+CYt mod_md5fileなんてつくったらどうだろうかと言ってみるテスト
836▲ 某ソレ511
04/12/14 17:22:01ID:VWWSBm/+04/12/14 17:22:56ID:yW1G096m
言い出しっぺの法則
838マァヴ ★
04/12/14 17:27:14ID:??? ああ、なつかしのID生成ルーチン(^_^;)
ID生成ルーチンのセオリーとしては
「ルーチンを公開しても、リモホやIPが推測できない」
です。
ID生成ルーチンのセオリーとしては
「ルーチンを公開しても、リモホやIPが推測できない」
です。
04/12/14 17:43:03ID:HEqRaqNj
マァヴ ★(^_^;)
キタキタキタキタ━━━(゚∀゚≡(゚∀゚≡゚∀゚)≡゚∀゚)━━━━!!!!!!!!!!
キタキタキタキタ━━━(゚∀゚≡(゚∀゚≡゚∀゚)≡゚∀゚)━━━━!!!!!!!!!!
840FOX ★
04/12/14 17:48:04ID:???841鏝
04/12/14 17:55:02ID:kwpC6qYO1)どこぞのexで実験する
2)じっけん じっけん
3)おやつは300円までですよ
04/12/14 17:58:21ID:dKRMgTcD
>>840
投稿のたびに日付チェックするので大丈夫、なはず……。
投稿のたびに日付チェックするので大丈夫、なはず……。
843FOX ★
04/12/14 17:59:13ID:??? んじゃ dsoで、そしてex9へ
844未承諾広告※ ◆TWARamEjuA
04/12/14 18:27:42ID:mhtbHAbI うぅむ、、、/dev/randomからの採取は、crondで毎日00:00に採取して、ファイルにして保存。
bbs.cgiで、1回取得しておけばSpeedyに引っかかって、ごっつぅえぇ感じになるかと♪
bbs.cgiで、1回取得しておけばSpeedyに引っかかって、ごっつぅえぇ感じになるかと♪
845FOX ★
04/12/14 18:53:07ID:??? ccqccc
846FOX ★
04/12/14 19:12:17ID:??? dso に入れてみたぞ
てすと てすとー
あんま自信ないので一日放置してみる < dso
てすと てすとー
あんま自信ないので一日放置してみる < dso
847FOX ★
04/12/14 19:15:35ID:??? コードをさらしておこう
848FOX ★
04/12/14 19:18:22ID:??? $FOX 初期化時
$FOX->{$GB->{FORM}->{'bbs'}}->{MD5NUMBER} = &foxInitMD5id($GB->{FORM}->{'bbs'},$GB->{MD5DATE});
$FOX->{MD5DATE} = $GB->{MD5DATE};
bbs.cgi が呼ばれるたびに、
$FOX->{$GBX->{FORM}->{'bbs'}}->{MD5NUMBER} = &foxCheckMD5id(
$GBX->{FORM}->{'bbs'},
$GBX->{MD5DATE},
$FOX->{$GBX->{FORM}->{'bbs'}}->{MD5NUMBER},
$FOX->{MD5DATE});
ID 生成時
my $idcrypt = &foxGetMD5id(
$GB->{FORM}->{'bbs'},#bbs
$GB->{MD5DATE},#日付
$FOX->{$GB->{FORM}->{'bbs'}}->{MD5NUMBER},#
$GB->{IDNOTANE}#
);
$FOX->{$GB->{FORM}->{'bbs'}}->{MD5NUMBER} = &foxInitMD5id($GB->{FORM}->{'bbs'},$GB->{MD5DATE});
$FOX->{MD5DATE} = $GB->{MD5DATE};
bbs.cgi が呼ばれるたびに、
$FOX->{$GBX->{FORM}->{'bbs'}}->{MD5NUMBER} = &foxCheckMD5id(
$GBX->{FORM}->{'bbs'},
$GBX->{MD5DATE},
$FOX->{$GBX->{FORM}->{'bbs'}}->{MD5NUMBER},
$FOX->{MD5DATE});
ID 生成時
my $idcrypt = &foxGetMD5id(
$GB->{FORM}->{'bbs'},#bbs
$GB->{MD5DATE},#日付
$FOX->{$GB->{FORM}->{'bbs'}}->{MD5NUMBER},#
$GB->{IDNOTANE}#
);
849FOX ★
04/12/14 19:19:05ID:??? sub foxCheckMD5id
{
my ($bbs,$md5date,$num,$dateFox) = @_;
if($dateFox eq $md5date)
{
return $num;
}
return &foxCreateMD5id($bbs,$md5date);
}
{
my ($bbs,$md5date,$num,$dateFox) = @_;
if($dateFox eq $md5date)
{
return $num;
}
return &foxCreateMD5id($bbs,$md5date);
}
850FOX ★
04/12/14 19:19:15ID:??? sub foxGetMD5id
{
my ($bbs,$md5date,$num,$tane) = @_;
my $id = "FOX";
use Digest::MD5;
use Digest::MD5 qw(md5_hex);
my $idnum = md5_hex($tane);
my $md5 = Digest::MD5->new;
$md5->add(substr($idnum,-4));
$md5->add($bbs);
$md5->add($num);
$id = substr($md5->b64digest, 0, 8);
return $id;
}
{
my ($bbs,$md5date,$num,$tane) = @_;
my $id = "FOX";
use Digest::MD5;
use Digest::MD5 qw(md5_hex);
my $idnum = md5_hex($tane);
my $md5 = Digest::MD5->new;
$md5->add(substr($idnum,-4));
$md5->add($bbs);
$md5->add($num);
$id = substr($md5->b64digest, 0, 8);
return $id;
}
851FOX ★
04/12/14 19:19:24ID:??? sub foxInitMD5id
{
my ($bbs,$md5date) = @_;
my $md5datefile = "../$bbs/md5.cgi";
if(open(MD5FILE, "<$md5datefile"))
{
my $md5line = <MD5FILE>;
close(MD5FILE);
my ($a, $b) = split(/<>/, $md5line, 2);
return $b;
}
return &foxCreateMD5id($bbs,$md5date);
}
{
my ($bbs,$md5date) = @_;
my $md5datefile = "../$bbs/md5.cgi";
if(open(MD5FILE, "<$md5datefile"))
{
my $md5line = <MD5FILE>;
close(MD5FILE);
my ($a, $b) = split(/<>/, $md5line, 2);
return $b;
}
return &foxCreateMD5id($bbs,$md5date);
}
852FOX ★
04/12/14 19:19:36ID:??? sub foxCreateMD5id
{
my ($bbs,$md5date) = @_;
my $md5datefile = "../$bbs/md5.cgi";
my $data = "ABCD";
sysopen(RANDOM, '/dev/random', O_READ) || die "cannot open /dev/random $!\n";
sysread(RANDOM, $data, 16);
close(RANDOM);
open(MD5FILE, ">$md5datefile");
print MD5FILE "$md5date<>$data";
close(MD5FILE);
chmod(0777, $md5datefile);
return$data;
}
{
my ($bbs,$md5date) = @_;
my $md5datefile = "../$bbs/md5.cgi";
my $data = "ABCD";
sysopen(RANDOM, '/dev/random', O_READ) || die "cannot open /dev/random $!\n";
sysread(RANDOM, $data, 16);
close(RANDOM);
open(MD5FILE, ">$md5datefile");
print MD5FILE "$md5date<>$data";
close(MD5FILE);
chmod(0777, $md5datefile);
return$data;
}
04/12/14 19:29:10ID:dKRMgTcD
日付が変わったときに$FOX->{MD5DATE}を更新してないような気がする。
854FOX ★
04/12/14 19:32:22ID:??? おおっ
855FOX ★
04/12/14 19:34:04ID:??? >>848のbbs.cgi が呼ばれるたびにの部分を変更
$FOX->{$GBX->{FORM}->{'bbs'}}->{MD5NUMBER} = &foxCheckMD5id(
$GBX->{FORM}->{'bbs'},
$GBX->{MD5DATE},
$FOX->{$GBX->{FORM}->{'bbs'}}->{MD5NUMBER},
$FOX->{MD5DATE});
$FOX->{MD5DATE} = $GBX->{MD5DATE};
$FOX->{$GBX->{FORM}->{'bbs'}}->{MD5NUMBER} = &foxCheckMD5id(
$GBX->{FORM}->{'bbs'},
$GBX->{MD5DATE},
$FOX->{$GBX->{FORM}->{'bbs'}}->{MD5NUMBER},
$FOX->{MD5DATE});
$FOX->{MD5DATE} = $GBX->{MD5DATE};
856FOX ★
04/12/14 19:34:27ID:??? あつっ
これじゃまずいか。。。
これじゃまずいか。。。
857FOX ★
04/12/14 19:37:04ID:???858FOX ★
04/12/14 19:55:01ID:??? ex9 にいれてみるー
今晩、観察しててね
今晩、観察しててね
04/12/14 19:57:18ID:rV+STh14
04/12/14 22:27:28ID:oYltBmUn
日付が変わったら無条件でmd5.cgiを作り直すのは
マズいような気がしてきた。
マズいような気がしてきた。
04/12/14 22:32:17ID:oYltBmUn
sub foxCheckMD5id
{
my ($bbs,$md5date,$num,$dateFox) = @_;
if($dateFox eq $md5date)
{
return $num;
}
my $md5datefile = "../$bbs/md5.cgi";
if(open(MD5FILE, "<$md5datefile"))
{
my $md5line = <MD5FILE>;
close(MD5FILE);
my ($a, $b) = split(/<>/, $md5line, 2);
if ($a eq $md5date) {
return $b;
}
}
return &foxCreateMD5id($bbs,$md5date);
}
{
my ($bbs,$md5date,$num,$dateFox) = @_;
if($dateFox eq $md5date)
{
return $num;
}
my $md5datefile = "../$bbs/md5.cgi";
if(open(MD5FILE, "<$md5datefile"))
{
my $md5line = <MD5FILE>;
close(MD5FILE);
my ($a, $b) = split(/<>/, $md5line, 2);
if ($a eq $md5date) {
return $b;
}
}
return &foxCreateMD5id($bbs,$md5date);
}
04/12/15 00:05:56ID:MQM0IwBG
04/12/15 00:11:05ID:aNf3D1eM
日付が変わってもIDが変わらないんですが仕様でしょうか
04/12/15 00:15:25ID:+e2zWYHe
ex7も日付の変わり目にIDが2回変わりました
865動け動けウゴウゴ2ちゃんねる
04/12/15 00:38:51ID:gwIGlcO3 ex9の格闘技板ですが、日付変わってもID変わってません。
866FOX ★
04/12/15 05:37:18ID:??? さて
どこに隙があるんだ?
ex7は旧来のままなんで「気のせい」ということで
よろしく
どこに隙があるんだ?
ex7は旧来のままなんで「気のせい」ということで
よろしく
867動け動けウゴウゴ2ちゃんねる
04/12/15 10:29:18ID:2HN9RP7L04/12/15 10:48:46ID:nPZRecg/
かつどん、食うか?
869鏝
04/12/15 14:18:29ID:JexvqC49 1)0時付近で変わっても気にしない
2)自作自演昨日として宣伝
3)Bananaはmaido3まで
2)自作自演昨日として宣伝
3)Bananaはmaido3まで
04/12/15 16:10:11ID:lA5kU79o
旧式のID機能でも
23:59:59以前 -> 0:00:00ジャスト -> 0:00:01以降
で変化したことなら目撃したことあるよ
23:59:59以前 -> 0:00:00ジャスト -> 0:00:01以降
で変化したことなら目撃したことあるよ
04/12/15 17:15:52ID:W8RTaBgB
>>871
それは/dev/urandom から取ってきたのを保存するファイルにロックをかけてないからでしょ?
それは/dev/urandom から取ってきたのを保存するファイルにロックをかけてないからでしょ?
873某ソレ47 ◆ap/yuix/tw
04/12/15 17:33:45ID:9MQ67KRG 「IDは日付が変わるぐらいに変わります」でいいと思うけどな。
04/12/15 17:44:55ID:w6sVvVK6
・FreeBSD 5.xなら/dev/urandomよりも/dev/randomのほうが良いかも
・種ファイルをhogehoge_date "+%Y%M%d"という感じであらかじめ23:55ぐらいに自動生成してもいいのかも
日付が変わる時のロックがいらない。
・ロックファイルを作るときに、openした直後にunlinkするというTipsがある。
プロセスが異常終了したらOSによりunlinkされるし、動作中はunlinkされないので便利。
ttp://ns1.php.gr.jp/pipermail/php-users/2004-November/024120.html
・種ファイルをhogehoge_date "+%Y%M%d"という感じであらかじめ23:55ぐらいに自動生成してもいいのかも
日付が変わる時のロックがいらない。
・ロックファイルを作るときに、openした直後にunlinkするというTipsがある。
プロセスが異常終了したらOSによりunlinkされるし、動作中はunlinkされないので便利。
ttp://ns1.php.gr.jp/pipermail/php-users/2004-November/024120.html
04/12/15 17:47:23ID:w6sVvVK6
>874
あー間違えた。
date -v+1d "+%Y%M%d"のフォーマットで。という意味ね。
Perlで書き直す必要はあるけど。
あー間違えた。
date -v+1d "+%Y%M%d"のフォーマットで。という意味ね。
Perlで書き直す必要はあるけど。
04/12/15 20:23:42ID:Q4upOPsT
自動生成するんなら、シェルスクリプトにしてcronすればいい
877ひろゆき@どうやら管理人 ★
04/12/16 01:29:06ID:??? headad.txtを読み込んでいない気がします。
http://life7.2ch.net/mental/index.html
http://life7.2ch.net/mental/index.html
04/12/16 01:46:13ID:QShzd4gV
そりゃあてぇheada
879FOX ★
04/12/16 05:59:16ID:??? >>887
更新してからのタイムラグがあるという事ではなくて
実際に全然反映されていないですか?
もしタイムラグ(最大10分の設定)だったら
我慢できませんかねぇ?
全く反映されていない場合はなおすですー
でも今みると反映されているような、
更新してからのタイムラグがあるという事ではなくて
実際に全然反映されていないですか?
もしタイムラグ(最大10分の設定)だったら
我慢できませんかねぇ?
全く反映されていない場合はなおすですー
でも今みると反映されているような、
04/12/16 06:00:52ID:WspjtZWV
未来レスハケーン!!
881FOX ★
04/12/16 06:01:57ID:??? あっちゃ
04/12/16 08:05:42ID:B1hghx5+
ドンマイ
04/12/16 11:43:24ID:/xbD7FnK
>850
my $idnum = md5_hex($tane);
$md5->add(substr($idnum,-4));
substrの-4って何だろう
IDの種類を制限するためのものだろうか
my $idnum = md5_hex($tane);
$md5->add(substr($idnum,-4));
substrの-4って何だろう
IDの種類を制限するためのものだろうか
885未承諾広告※ ◆TWARamEjuA
04/12/16 12:35:25ID:YtBnLjWr >>884
65536種類に限定しているので、ごく希に違うホストなのに同じIDが出てアタフターな事が起こっているようなのです。
65536種類に限定しているので、ごく希に違うホストなのに同じIDが出てアタフターな事が起こっているようなのです。
>885
もしIDが(1日,1板で)65536種類に限定されているとするならば、
2つの別々のホストから同じIDが出る確率は(1日あたり)次の通りとなる
住人数 確率
2: 0.0015%
50: 1.8523%
100: 7.2784%
150: 15.6881%
200: 26.2109%
250: 37.8447%
300: 49.6112%
400: 70.4809%
500: 85.1681%
1000: 99.9529%
…………到底 'ごくまれ' とはいえないな
単に '気づかないことが多い' だけだったのか
もしIDが(1日,1板で)65536種類に限定されているとするならば、
2つの別々のホストから同じIDが出る確率は(1日あたり)次の通りとなる
住人数 確率
2: 0.0015%
50: 1.8523%
100: 7.2784%
150: 15.6881%
200: 26.2109%
250: 37.8447%
300: 49.6112%
400: 70.4809%
500: 85.1681%
1000: 99.9529%
…………到底 'ごくまれ' とはいえないな
単に '気づかないことが多い' だけだったのか
04/12/16 14:17:41ID:/1N3Xz1b
888FOX ★
04/12/16 14:20:53ID:??? ID 生成部変更するなら今がチャンス !!
この機械を逃がすと・・・ 二度と変更されないかもだ
この機械を逃がすと・・・ 二度と変更されないかもだ
04/12/16 14:24:02ID:tP8FWzwJ
マッシーン
890某ソレ47 ◆ap/yuix/tw
04/12/16 14:25:05ID:WAdG0w73 perl分からないよう。
この際IDの桁数を増やすとかどうでしょ。
この際IDの桁数を増やすとかどうでしょ。
891▲ 某ソレ511
04/12/16 14:56:50ID:wMv6nQa3 s/a/あ/g;
ごめんなさい冗談ですすいませんで
ごめんなさい冗談ですすいませんで
892▲:/usr/local/bin/ch2 -o i686 ◆P8fXJj6wwo
04/12/16 15:02:14ID:RQPFC9I6 890=891?
04/12/16 16:35:56ID:Ld17EnIJ
IDをIPの上位から生成するのはどうだろう。
繋ぎ換えでは変え難くなるし、ご近所さんが判って楽しい。
繋ぎ換えでは変え難くなるし、ご近所さんが判って楽しい。
04/12/16 17:46:11ID:LwK82nGE
>>ヤクザ
いや、同じになったら意味ないでしょ。凄いことになっちゃうぞ。
IDは12桁ぐらいがいいかなぁ。長すぎてもあれだし。
あとついでだから日付だけじゃなくて年月も入れようぜ。
いや、同じになったら意味ないでしょ。凄いことになっちゃうぞ。
IDは12桁ぐらいがいいかなぁ。長すぎてもあれだし。
あとついでだから日付だけじゃなくて年月も入れようぜ。
895FOX ★
04/12/16 17:52:30ID:??? ちなみに
毎月同じ日にちの日は同じIDになるという噂があるど、
本当なの?
そして、なぜそうなるの?
毎月同じ日にちの日は同じIDになるという噂があるど、
本当なの?
そして、なぜそうなるの?
04/12/16 18:03:13ID:YM1r77H0
中の人がわからんでどうする(^^;
04/12/16 18:04:27ID:1oNy+G3M
そういやなぜだろう……。
日替わり乱数が入ってるはずなのに。
日替わり乱数が入ってるはずなのに。
04/12/16 18:06:41ID:Nkl1nYMn
固定IPだと毎月同日同板は同じIDになることあります。なんどか体験しました。
899FOX ★
04/12/16 18:08:36ID:??? 自分で書いたコードでさえ・・・なのに
いわんや・・・おや
いわんや・・・おや
>>895
規制議論でYahooの人のIDが一ヶ月前と一緒だった記憶がある。
規制議論でYahooの人のIDが一ヶ月前と一緒だった記憶がある。
04/12/16 19:29:40ID:LwK82nGE
乱数の初期化が怪しいと思われ。
ちゃんとseed渡してるの?
(渡してないと毎回同じ乱数しか出ないかも)
と思ったら/dev/randomか・・・
ちゃんとseed渡してるの?
(渡してないと毎回同じ乱数しか出ないかも)
と思ったら/dev/randomか・・・
04/12/16 19:35:49ID:B1hghx5+
IDとトリップについて馬鹿の俺が天才な君達に質問
http://science3.2ch.net/test/read.cgi/math/1091321525/
http://science3.2ch.net/test/read.cgi/math/1091321525/
レス数が900を超えています。1000を超えると表示できなくなるよ。
ニュース
- 【クルマ】「軽自動車しか買えない」年収400万円時代の高すぎる自動車価格★3 [七波羅探題★]
- 【テレビ】「再放送してほしい」フジテレビの名作ドラマランキング! 3位『Dr.コトー診療所」、2位『ランチの女王』抑えた1位は? [冬月記者★]
- 『頂き女子りりちゃん』1億5000万円で懲役8年6月、水原一平被告は25億円で禁錮4年9月… その差にSNSがく然 弁護士「軽く感じますね」 [冬月記者★]
- 日銀総裁、食料品値上がりを懸念 衆院委員会で「一時的でない」 ★2 [蚤の市★]
- 【米価】“消えた21万トン”流通目詰まりか…備蓄米放出へ 価格高騰に歯止めか ★4 [Ikhtiandr★]
- 【芸能】田中みな実、“1日1~3kgのチョコレートを食べる”と告白 体重の増減にも言及 [冬月記者★]
- 【画像】小さくて可愛い幸子
- 【実況】博衣こよりのえちえちホロ鯖Minecraft🧪 ★8
- 【報告】道端に捨てられてるタバコ箱のほぼ全てが中国人のやつらしい [308389511]
- 【悲報】日本保守党とネトウヨ雑誌、絶縁 [126042664]
- 妹可愛いけど
- 風呂キャンセルってやっぱり信じられないわ