[過去ログ] bbs.cgi 再開発プロジェクト (1001レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
235
(1): 228 03/05/20 02:28 ID:vZDlrKy4(4/6) AAS
>>232 カコイイ!!
DB_File使えばO(1)だな
236: 228 03/05/20 02:30 ID:vZDlrKy4(5/6) AAS
厳密にはO(1)じゃないけど、ほとんどO(1)だね
237: 名無しさん@お腹いっぱい。 03/05/20 02:35 ID:DKK3Skv6(1) AAS
処理時間が短くて済むのがハッシュの特徴だからね。
しかし、その反面メモリを大量に食うというデメリットがある。
呼び出されるたびに毎回メモリ上に大量のデータを展開するのは
呼び出しが集中するとマズい気がするが、
そこらへんはどうなるかやってみないとわからないだろうなぁ。
238
(3): ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 03/05/20 02:55 ID:??? AAS
>>231
プロキシリストは、IPじゃなくて、リモホも入ってたりします。。。
***.com以下のアクセスを全て規制みたいな、、
239: 名無しさん@お腹いっぱい。 03/05/20 02:59 ID:FthSt6oi(4/10) AAS
>>238
ちゃんと判別してるよーにみえるぞ↓

>if (/^([0-9]+\.)*([0-9]+)$/) { # this is IPv4 address
>@list = (@list, $_);
>} else { # this is hostname
>@t = split /\./;
>@t = reverse @t;
>@list = (@list, lc(join ("." , @t)));
>}
240: ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 03/05/20 03:03 ID:??? AAS
うわーい、、、アルゴリズムをよくわかってないおいらです。。
IPをみて、数字がでかいかどうかを判定してるんじゃないんすか?

while ($low <= $high) {
$mid = int(($high + $low) / 2);
seek(DB, $mid * $maxlen, 0);
read(DB, $rec, $maxlen);
$rec =~ s/ //g;
# print "$mid: $rec\n";
if ($host =~ /$rec\./ || $host eq $rec ) {
print "."; # found!!
省2
241
(1): 名無しさん@お腹いっぱい。 03/05/20 03:11 ID:FthSt6oi(5/10) AAS
ほんとだ。よくみたら数値比較してるっぽいな。
IPとホスト名まぜるのはもうちょっと工夫がいるな。
242: 名無しさん@お腹いっぱい。 03/05/20 03:21 ID:CcL135Kb(1) AAS
アルゴリズム的には、2分探索ってのは
データを順番に並べておいて
真ん中と比較してどちら側にあるかを判定し
さらにその真ん中と比較して・・・を繰り返すだけ。

で、今回の場合は、リモホの部分一致じゃなくて末尾一致でいいから
規制リストを末尾の文字から代償を比較して、順番に並べておこうと。

IPアドレスも混じっているなら
逆引きできないアドレスも全部文字列にしてから比較するか
ファイルを分けるのがよろしいかと。
243
(1): 名無しさん@お腹いっぱい。 03/05/20 03:27 ID:siFXTzp9(1/3) AAS
リモホチェックにパスしたら昔テストしてたSPIDみたいなCookieを食わせて
以後ある程度の期間はCookieのチェックだけで済ませちゃいかんの?
244
(1): ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 03/05/20 03:31 ID:??? AAS
いやぁ、、それを実装するはずだったんですが、
時間がたってしまいました、、、>>243
245: 名無しさん@お腹いっぱい。 03/05/20 03:37 ID:siFXTzp9(2/3) AAS
>>244
( ´ー`)y-~~~
246: 名無しさん@お腹いっぱい。 03/05/20 03:37 ID:FthSt6oi(6/10) AAS
で?>>232 >>235 のバークレーDB路線はどうなの?

DB_File使えばO(1)だな
って
247: 名無しさん@お腹いっぱい。 03/05/20 03:37 ID:FthSt6oi(7/10) AAS
手がすべた、、で、どうなの?
248: ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 03/05/20 03:38 ID:??? AAS
DBでの実装も試験してみますかぁ、、
249: あぼーん [あぼーん] あぼーん AAS
あぼーん
250: Albert ◆0oQ5UKYDHU [discovered2000@yahoo.co.jp] 03/05/20 03:47 ID:X6vfP9Cg(1) AAS
>>248職人様方の邪魔をしてしまいました。
本当にすみませんでした。
251: 名無しさん@お腹いっぱい。 03/05/20 03:49 ID:FthSt6oi(8/10) AAS
>でも、友達は後で泣きながら「なんでHPの作り方なんか教えたの?○○(私の名前)のせいじゃん!
>と言ってきて、絶交状態です。
>2ちゃんねらーは、私たちの友情も引き裂きました!

ワラタ
252: 名無しさん@お腹いっぱい。 03/05/20 03:52 ID:siFXTzp9(3/3) AAS
近頃は自動謝罪カキコ機能の付いたスクリプトがあるの?
253
(1): 228 03/05/20 04:33 ID:vZDlrKy4(6/6) AAS
>>230-231の改良版。
mkdb.plがデータベース作成用、bsearch.plが検索用。
外部リンク[tgz]:www.geocities.co.jp

>>238
proxy_listに
example.com
192.168
とあれば、www.example.com とか 192.168.3.5
を引っ掛けるように作ってます。
IPアドレスとホスト名でマッチングの仕方を変えてます。
省3
254: 241 03/05/20 04:43 ID:FthSt6oi(9/10) AAS
>>238
やべ。。てっきり比較してるのIPの一部とかだと思ったら。。
混乱させて正直スマンカッタ
1-
あと 747 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.014s