【CSS】Mozilla広告ブ ..
605:名無しさん@お腹いっぱい。
07/04/06 01:51:14 oSJzOrtt0
>>603-604
( ´_ゝ`)フーン
606:597
07/04/06 13:19:34 RgvsHE0v0
何か妙な方向に話が飛んでるなあ。
まあ、とりあえず上げておくんで欲しい人だけ持って行って下さい。
URLリンク(kasamatu.o0o0.jp)
受信パスはhage。
607:名無しさん@お腹いっぱい。
07/04/06 13:24:15 Md9XOTKa0
>>606
乙、ありがとう。 ガキの戯言はスルーでぃぃょ^^
608:名無しさん@お腹いっぱい。
07/04/06 14:46:26 awd5KFG10
>>606
,'从从)〉
rヤ^ー゚ノi| 乙であります。
あんた最高。まとめサイトに貼って欲しいくらいだよ♥
609:名無しさん@お腹いっぱい。
07/04/06 15:10:04 oyzgzHm50
テキストタイプの広告でさiframeでも無くて直でhtmlに埋め込まれてて
更にdivとかでidとかclass指定してない様なやつってどうやって消せばいいのかな?
地道に
html > body > table[width="100%"](略
のようなそのサイトでしか使えなくて他の物まで消してしまいそうな
スマートじゃないフィルタ作るしかない?
610:名無しさん@お腹いっぱい。
07/04/06 15:29:35 7hUapQDH0
そんな糞サイト見ない
611:名無しさん@お腹いっぱい。
07/04/06 15:31:52 PN/CHpul0
>>609
## の前に情報いれることでドメイン指定はできるから、ほかのサイトに影響することはないけど、
その場所にコンテンツが入るリスクもあるから、ブロックしないようにしてる。
フィルタするならそう汚いフィルタにするしかない。
612:名無しさん@お腹いっぱい。
07/04/06 16:27:20 TybvPJO10
>>606 前から読みたかったが、「ちっ、外国語かよ」だった。だから心底感謝する。
そして、
|// / /___, -一ァ| /! |ト、|│ | | く」
|,-‐¬  ̄---┘'7 |! ハ! |,、-┼十|! | | |
, -‐ ''" し' '´_ /,ィ二l |ト、/!ヽト、\_ヽ!|!l | ハ |
,r/ __ ,イ|リ ヾハ! ヽ! ,ィ⌒ヾミリノ!/リ |
/ ||ヽ -' / ̄ )` __ |ヒノ:} '` ,イ/ | | < 乙であります!
,r ' ヾ、 ,-、____ , イ ̄,r==- ==-' レ' /| |
/ ヽ `ーソ ' | |ト、,ヘ ′"" "" / / || |
. / \_ / | ハ ヽ`゙'ヘ ' '__. ィ / / | | |
/ / / | ヽ 川\ ヾ三ニ‐'′//! | | | |
/ / / 八 \川| |`ト- .. __ , イ‐ァヘ | | ||
>>608 ↑その2行AAこれの縮小版か さっきやっとわかった orz
613:名無しさん@お腹いっぱい。
07/04/07 00:59:34 mXI1UpKc0
おう
614:名無しさん@お腹いっぱい。
07/04/07 02:33:26 lvdy4hE80
だれか>>584-585を使った正規表現じゃない良さげなフィルタ貼ってよ
615:名無しさん@お腹いっぱい。
07/04/07 03:19:48 UQ70fyG30
正規表現を使わないフィルタでも、プロファイルにある adblockplus/patterans*.ini を
見ると結局は正規表現にされているような気がしない…?
> text=|URLリンク(ad.)
> type=filterlist
> regexp=^http\:\/\/ad\.
616:名無しさん@お腹いっぱい。
07/04/07 14:07:30 61kY1ana0
今のところ一番ヒット多いやつ
URLリンク(*.jp.ap.valuecommerce.com)
正規表現使わないなら自分の巡回するページのだけ作るほうがいいよね
617:597
07/04/07 14:25:26 THaO/tdK0
>>615
FAQによると内部的には正規表現に変換されている。
だから『ad』と『/ad/』は実は同義。
しかし>>584-585のようなフィルタオプションを使ったフィルタは
正規表現で同様の適用範囲の絞り込みをするよりも高速に動作する。
618:名無しさん@お腹いっぱい。
07/04/07 14:25:59 THaO/tdK0
いけね、名前消し忘れてた。
619:名無しさん@お腹いっぱい。
07/04/07 17:22:40 UQ70fyG30
>>617
> 正規表現で同様の適用範囲の絞り込み
URLリンク(adblockplus.org)
これによると、フィルタオプションは対象とする要素を決められるという事みたいだ
けど、これと同様の事がadblockの正規表現でも出来たの?
どうも、"正規表現を使わない方が速い"という意味がサイトの文書などを見ても
釈然としないんだよね…。
620:名無しさん@お腹いっぱい。
07/04/07 17:54:18 tQCrgZA10
そろそろ使っているフィルターうpの時期だな
頼む
621:名無しさん@お腹いっぱい。
07/04/07 18:35:54 0+a4x/xu0
ちょっと見た感じだと
まず正規表現を使わないフィルタのshortcuts=****にある短い文字列を使って検索
→ヒットしたらそのフィルタのregexp=****で正規表現検索
→ヒットしなかったら正規表現のフィルタで正規表現検索
って感じみたい
あと>>584-585の絞込みオプションは正規表現フィルタでも使える
/ad|banner(click|net)/$image,match-caseとか
622:名無しさん@お腹いっぱい。
07/04/07 19:39:49 THaO/tdK0
>>619
俺も実はあんまり良く分かってないんだけど、多分
*/ads/*.js
よりは
*/ads/*$script
の方が速いという事かと。
623:名無しさん@お腹いっぱい。
07/04/07 20:18:37 UQ70fyG30
>>621
> →ヒットしたらそのフィルタのregexp=****で正規表現検索
> →ヒットしなかったら正規表現のフィルタで正規表現検索
なんか、人間から見るとすごく非効率な気がするけど、この方がPC的に速いの
かな?って、上の2つの違いは…?
>>622
URLの文字列がどうなっていようがその要素には何の関係もないから、"*.js"が
$script と同じ意味にはならないよ。
ads/*
ads/*$script
<img src="/ads/example.js">
<scipt src="/ads/example.js">
この場合、上のフィルタだと両方検索してしまうけど、下のフィルタだと script 要素
だけに絞れるからその分速いという事で、正規表現の有無とは関係ないと思うよ。
624:名無しさん@お腹いっぱい。
07/04/07 20:43:19 0+a4x/xu0
まあ要するに
正規表現検索は基本的に通常の文字列検索より遅いので
できるだけ正規表現検索が行われないように工夫されてるってことかな
フィルタリストの中に正規表現フィルタが一つでもあると必ず一回は正規表現検索が行われる
フィルタリストの中に正規表現フィルタが無ければ
通常の文字列検索でヒットしない限りは正規表現検索は行われない
625:名無しさん@お腹いっぱい。
07/04/08 13:45:10 zdRKnNuL0
体感できるほどの速度の差はないと思う。
626:名無しさん@お腹いっぱい。
07/04/08 15:36:11 TANvoK6I0
>>625
絶対的な計測値とかを何も提示せずに
「こっちが速いと思う」「遅く感じる」なんていう曖昧な
個人個人の思い込みだけで延々と言い合いするのは、
このスレで定期的に行われる季節の風物詩みたいなもんだから。
それ以外に大した話題もないんだし好きにさせてやれ。
627:名無しさん@お腹いっぱい。
07/04/08 15:42:57 zdRKnNuL0
うん、そうだね。
628:名無しさん@お腹いっぱい。
07/04/08 17:12:41 i1es3+/N0
おう
629:名無しさん@お腹いっぱい。
07/04/08 18:10:00 inWpqDuM0
オプションにある"ブロック要素を隠す"って、ブロックした要素を隠すって事だった
のかよ!!
今まで、広告などが含まれるブロック要素(<div>など)が隠せるのかと思ってた…orz
630:名無しさん@お腹いっぱい。
07/04/08 18:37:45 Ocyd8N5n0
>>629がまだ何か誤解してそうで怖い
631:名無しさん@お腹いっぱい。
07/04/08 21:12:53 /xibPfYk0
>>616
律儀にhttpから登録するんだな。
漏れの場合これで登録してる↓。
valuecommerce.com$image,subdocument
632:名無しさん@お腹いっぱい。
07/04/08 21:46:52 UXqougbF0
>>626
Plus作者自身が正規表現のフィルタより>>584-585の方が速いって書いてるんだよ
まぁ体感できるほどの差はない気がするが
633:名無しさん@お腹いっぱい。
07/04/08 22:02:51 VD4RAMvd0
>>584-585のフィルタオプションが速いなんて書いてないぞ
正規表現のフィルタより普通のフィルタを使った方が速い『かもしれない』とは言ってるけど
634:名無しさん@お腹いっぱい。
07/04/08 22:27:55 qNB2q//Y0
適当なこと書く奴が多くて何が真実なのかさっぱり分からん。
635:名無しさん@お腹いっぱい。
07/04/08 23:06:16 2C2xbbgFP
原文ドゾー
> Note: You should notuse regular expressions to speed up processing of your filter list.
> You might hear this advice often but it is outdated
> starting with Adblock Plus 0.7 basic filters are actually processed
> faster than regular expressions.
636:名無しさん@お腹いっぱい。
07/04/08 23:17:43 zdRKnNuL0
嘘を嘘と見抜けない人には難しい。
637:名無しさん@お腹いっぱい。
07/04/09 13:40:28 NSqDFLQA0
良いフィルターの条件
1 誤爆がない
2 広い範囲で使える
3 字数が1バイトでも少ない
良いものならどんな書き方しててもいいぞ
要は機能重視
638:名無しさん@お腹いっぱい。
07/04/09 13:56:11 LtJgY54v0
>>637
> 3 字数が1バイトでも少ない
何考えてるんだか。
人間が見て分かりやすいのが良いに決まってるだろ。
お前はプログラマーにはなれないな。
639:名無しさん@お腹いっぱい。
07/04/09 14:23:57 eYsQuTt8P
っ【コメント】
いきなりプログラマーとか言い出したのは
そこに何か嫌な思い出でもあるからなのか何なのかと思ったが
荒れそうなのでやっぱり何も言わないでおこうと思った。
640:名無しさん@お腹いっぱい。
07/04/09 14:43:25 LtJgY54v0
ABPは項目を隠すルールにはコメント使えないじゃん。
それにサイト側で修正がある場合もあるし、公開するルールなら他の人が内容を確認したいことだってある。
そして、後で自分が見て分かりやすいことが望ましい。
以上の理由から、1バイトでも少ないことより、「人間が見て分かりやすい」ことの方が重要だ。
641:名無しさん@お腹いっぱい。
07/04/09 14:47:38 pRTlAw6F0
ところで>>633の言う『かもしれない』ってどこに書いてあった?
642:名無しさん@お腹いっぱい。
07/04/09 14:55:13 EAs9PvfY0
具体的にID:LtJgY54v0がいいと思うフィルタを晒してくれよ。
あと公開するルールなら〜って言ってるけど、このスレやまとめサイトに載るものなら
別にコメントとしてフィルタの説明がついてても平気だろ。
643:名無しさん@お腹いっぱい。
07/04/09 15:04:18 ED65lMNe0
>>641
might を脊椎反射で推量に訳しちゃったんだろう。
中学英語だよな。
644:名無しさん@お腹いっぱい。
07/04/09 15:10:54 pRTlAw6F0
>>643
>>635のmightが推量なのは正しくね?
ただ『速い』にはかからないというだけでw
645:名無しさん@お腹いっぱい。
07/04/09 20:06:38 rUF0jbOB0
>>635はこっちの訳
Complicated regular expressions require much time to be evaluated, it might be faster to use several simple ones.
646:名無しさん@お腹いっぱい。
07/04/09 20:07:39 rUF0jbOB0
× >>635
○ >>633
647:名無しさん@お腹いっぱい。
07/04/09 21:36:04 pRTlAw6F0
> Are regular expressions faster than “normal” filters?
> Usually this is not the case. Adblock Plus will transform any "normal" filter
> into a regular expression, and internally it will work only with regular expressions
> ― there is no difference between the filters banner and /banner/.
> Regular expressions are often used to "compress" the filters list and replace several filters
> by one regular expression. The rule of thumb says "fewer filters means faster"
> but it isn’t always correct in this case. Complicated regular expressions require
> much time to be evaluated, it might be faster to use several simple ones.
> Regular expression give you more flexibility however, that’s where their use is always justified.
> For example the regular expression /adv(?!ice)/ will block adv and advert and advertisement
> but not advice ― something you couldn’t have done with simple wildcards.
正規表現は『普通の』フィルタよりも速いのか?
普通はそのようなことはない。Adblock Plusは『普通の』フィルタを正規表現に変換し、
内部的には正規表現として処理する……bannerと/banner/には差は無いのである。
正規表現はしばしばフィルタリストを『圧縮』して、いくつかのフィルタをひとつの正規表現で
置き換えるのに使用される。経験則としては『フィルタが少ない=処理が速い』であるが、
このような場合は必ずしもこれは正確ではない。
複 雑 な 正 規 表 現 は 評 価 す る の に 多 大 な 時 間 が か か り 、
い く つ か の シ ン プ ル な も の を 使 う よ り も 速 い か も 知 れ な い 。
けれども正規表現はより柔軟性に優れており……以下省略。
>>645のonesは"Complicated regular expressions"に対する"simple regular expressions"のことだから
>>633のようなことは言ってない。
648:名無しさん@お腹いっぱい。
07/04/09 21:40:22 pRTlAw6F0
ごめん偉そうな事を言いながら肝心なところで間違えた。
> 複雑な正規表現は評価するのに多大な時間を必要とし、
> いくつかのシンプルなものを使う方が速いかも知れない。
649:名無しさん@お腹いっぱい。
07/04/09 23:32:47 rHZd71z80
>>648
いくら正確に訳したところで結局は
「速いかも知れない。(そうでないかも知れない)」っていう
なんとも中途半端な訳だから、また騒ぎがふりだしに戻るだけ。
650:名無しさん@お腹いっぱい。
07/04/09 23:37:36 f4aajwxY0
ある程度正規表現を書き慣れている人ならすんなり受け入れられる文章ですが
正規表現のタイム比較をしたことが無い人には分からないかも知れませんね。
体感出来るくらいの差が出ない場合は同タイムだと思ってしまいがちですし。
651:名無しさん@お腹いっぱい。
07/04/10 12:52:55 bAqxtW+r0
>>640
己で書いた物が後でわからんようになる、わかりにくい、って
ようするにお前がアフォということだなw
当然、軽い方がいいにきまってる
652:名無しさん@お腹いっぱい。
07/04/10 13:17:34 uWpJW6oY0
>>649
おまいは何を言ってるんだ?
「複数の正規表現をひとつにまとめるとむしろ速度が落ちるかも知れない」
って記述を正規表現と普通のフィルタの話と誤読しているアホが居る。
最初から結論は変わってないのにそいつのせいで一部の住人が混乱している。
それだけの話だ。
653:名無しさん@お腹いっぱい。
07/04/10 15:57:52 Gcq3Bagq0
>>651
> 当然、軽い方がいいにきまってる
> 当然、軽い方がいいにきまってる
> 当然、軽い方がいいにきまってる
バカか。
1バイトでも少ない = 軽い のかよw
654:名無しさん@お腹いっぱい。
07/04/10 19:17:02 Aqk1lV2B0
>>653
>1バイトでも少ない = 軽い のかよ
>1バイトでも少ない = 軽い のかよ
>1バイトでも少ない = 軽い のかよ
バカめ。
1バイトでも少ない = 軽い んだよw
655:名無しさん@お腹いっぱい。
07/04/10 19:28:14 zAyWvgGn0
>653
お前の脳ミソは一般人より軽いなwwwwwwwww
656:名無しさん@お腹いっぱい。
07/04/10 20:08:07 b9lE0leW0
オマエら653の体重は一般人より重いぞw
657:653
07/04/10 20:32:41 Gcq3Bagq0
軽いってのは動作が軽いって意味でいったんだけど・・・。
まさか1バイト容量が少なくなることに意味あるって理論だったの?
HDDが GB、多い人ならTBつまれる時代に、1バイト節約して何になるんだか。
658:名無しさん@お腹いっぱい。
07/04/10 20:41:18 zXxQi0gh0
動作も軽いだろ。何言ってんだ?
659:名無しさん@お腹いっぱい。
07/04/10 20:59:05 Gcq3Bagq0
>>658
容量が小さい正規表現の方が動作が軽いって?
ご冗談を。
長さが長い正規表現でも動作軽い場合もあるし、長さ短い正規表現でも動作が重い場合もある。
660:名無しさん@お腹いっぱい。
07/04/10 22:31:57 uWpJW6oY0
>>659
誤爆が無いという前提条件があることを忘れてないか?
過不足なく同じ広告を検出するのに文字数が違うフィルタが2個あると考えてみ?
まだ変な事を言うようならもう「日本語お上手ですね^^」で流すぞ。
661:名無しさん@お腹いっぱい。
07/04/10 22:50:09 Gcq3Bagq0
>>660
極端な例でいけば、"adwords" にマッチさせたいとき、
1: "^ad.*$"
2: "^adwords$"
で、前者のがバイト数は少ないけど、後者のが処理は早い。
バイト数が大きいと、処理速度が遅いとかありえない。
662:名無しさん@お腹いっぱい。
07/04/10 22:50:55 ZUxm9XoF0
1バイトでも軽い方がいいに決まってる。
663:名無しさん@お腹いっぱい。
07/04/10 22:52:27 Gcq3Bagq0
あ、これだと誤爆がどうだのといわれそうだからかえると、
AdNo01 と AdNo02 と AdNo03 にマッチさせたいとき、
1: "^AdNo0[1-3]$"
2: "^AdNo0(1|2|3)$"
だと、後者のが早いが、後者のがバイト数が大きい。
664:名無しさん@お腹いっぱい。
07/04/10 23:24:33 iV8Yg5la0
良いフィルターの条件
1 誤爆がない
2 広い範囲で使える
3 字数が1バイトでも少ない
665:名無しさん@お腹いっぱい。
07/04/11 00:38:43 1X5GzRe80
>>663=己のものさしでしかもの言えない馬鹿
666:名無しさん@お腹いっぱい。
07/04/11 00:59:20 r5xxXnCe0
なんだかわけがわからないよヽ(`Д´)ノウワァアン!
…要は好きなほうを使えってことでおk?
667:名無しさん@お腹いっぱい。
07/04/11 01:04:40 GGq4MXguP
速度を論じながらもフィルタは全て正規表現という前提なのは一体何故なんだぜ?
ここ数日のログをちゃんと読んでるならその思考はありえんだろ
668:名無しさん@お腹いっぱい。
07/04/11 07:30:07 YXUpXo3Q0
>>667
「1バイトでも少ないほうが処理速度が速い」 なんて言い出している勘違い厨への反論だろ。
669:名無しさん@お腹いっぱい。
07/04/11 11:34:16 R8bUgAO40
とりあえずID:Gcq3Bagq0は使ってるフィルタを晒せ。話はそれからだ。
670:名無しさん@お腹いっぱい。
07/04/11 11:37:03 VtFYwKQs0
>>663
それは前者のほうが早いです(プ
671:名無しさん@お腹いっぱい。
07/04/11 11:52:05 GGq4MXguP
>>668
速度の話をするなら正規表現じゃないフィルタを例にすべきじゃないの?
正規表現という時点で遅いんだから。
672:名無しさん@お腹いっぱい。
07/04/11 12:25:04 sLzZfGkV0
正規表現じゃない書き方をしても内部処理は正規表現。
673:名無しさん@お腹いっぱい。
07/04/11 12:27:59 Rq1SuNqI0
その前に速度をどういう計り方しているか?だろ
条件が異なると当然(ry
674:名無しさん@お腹いっぱい。
07/04/11 12:44:57 GGq4MXguP
>>672
日本語がお上手なのはもう分かったから、
次は本当の日本人として通用するレベルの読解力を身に付けられるように頑張ろうね^^
675:名無しさん@お腹いっぱい。
07/04/11 13:48:41 mZN9E+zg0
>>663の例で言えば
"AdNo0*"と"AdNo0"と"AdNo"でどれが速いかという話ではないの?
676:名無しさん@お腹いっぱい。
07/04/11 13:50:43 VtFYwKQs0
>>674
分かってないのはおまえだよ。 今までの流れを全然読まずに書いてるだろ。
>>675
はぁ?? 全然違う。
677:名無しさん@お腹いっぱい。
07/04/11 14:04:26 mZN9E+zg0
さあ盛り上がってまいりますた。
>>675
何がどう違うのか具体的にkwsk書いてくれないと平行線を辿るよ。
678:名無しさん@お腹いっぱい。
07/04/11 14:08:50 VtFYwKQs0
>>677
自演?
679:名無しさん@お腹いっぱい。
07/04/11 14:11:51 VtFYwKQs0
つか、分かってない奴が首突っ込むからややこしくなるんだよな。
俺とか>>672とか>>668あたりの奴だけで十分だから雑魚どもは消えろ。
680:名無しさん@お腹いっぱい。
07/04/11 14:17:19 BDpXK2TJ0
>>674
全然関係ないけど、H"接続?
681:名無しさん@お腹いっぱい。
07/04/11 14:35:27 R8bUgAO40
いろいろ理屈言ってるやつのフィルタなんで参考にさせて貰いたいんだが、
いつになったらフィルタ晒してくれるんだ?それとも口先だけなのか?
682:名無しさん@お腹いっぱい。
07/04/11 15:32:07 VXWZXCSR0
口先だけなんだろ(藁
683:名無しさん@お腹いっぱい。
07/04/11 15:54:48 GGq4MXguP
>>680
いや普通のドコモっす。
684:名無しさん@お腹いっぱい。
07/04/11 16:45:14 3FWdLppe0
>>683 IDの末尾Pだから「これが噂の?」てオモタ
とりあえず
ヘ⌒ヽフ
( ・ω・) dd
/ ~つと)
685:名無しさん@お腹いっぱい。
07/04/11 16:55:03 GGq4MXguP
携帯(O)→フルブラウザアプリ(Q)→公式p2(P)と皮を被ってるので
最終的なID末尾がPになってます。
686:名無しさん@お腹いっぱい。
07/04/11 18:43:14 mZN9E+zg0
URLリンク(adblockplus.org)
AmirG の質問:
Q1.URLリンク(www.adserver.com)から広告が来るとして、
以下のフィルタの中ではどれが効率が良い(CPUパワーを食わない)ですか?
ここから↓
.adserver.com/
www.adserver.com/
URLリンク(www.adserver.com)
|URLリンク(www.adserver.com)
↑ここまで。
Q2.8文字のシンプルなフィルタは正規表現のものよりも効率が良いとのことですが、
複数のシンプルなフィルタはひとつの正規表現にまとめることができます。
例えば↓
abcd1111
abcd2222
abcd3333
abcd4444
↑これを『/abcd[1-4]{4}/』にするとか。
この場合に正規表現で書かれたものは上の4つよりも効率的でしょうか?
(『abcd*』は abcdefg とかに誤爆するので良くないし8文字より短い)
効率的でないという場合、シンプルなフィルタの束よりも正規表現のフィルタがより効率的になる区切りはどこになりますか?
687:名無しさん@お腹いっぱい。
07/04/11 18:44:07 mZN9E+zg0
Wladimir Palant(現行の Adblock Plus の開発者)の答え:
A1.どれでも良し。
8文字以上のフィルタはほとんど速度差が出ません。
ただし誤爆が起きないという点においては一番最後のものがお勧めです。
A2.例えシンプルなフィルタが100個あっても1個の正規表現よりはまだ速いです。
勿論"banner34(34は任意の2桁の数字)"をブロックするのに100個ものシンプルなフィルタを登録するのは労力が割に合わないが、
この例においては正規表現の使用にはそれくらいのメリットしかありません。
rick752 の補足:
効率が良いのは直列した8文字(ワイルドカードで分割されていない)。
『banner1234』は良い。
『banner*1234』は悪い。
上の条件を満たすならワイルドカードはどこに使っても良い(※1)。
AmirG のお礼:
正規表現は8文字未満のフィルタにのみ使えってことですね。
rick752 の補足:
そう、でも普通に書いたら8文字は超える。
大量のシンプルなフィルタは1つの正規表現に勝ります。
またそれらは読みやすく管理も楽でオン・オフの切り替えも簡単です。
それに『$~image』を正規表現の塊にセットしたりとかしたくないでしょう?(※2)
※1は多分『bannnnnner*12345678』はおkという意味だと思うんだ。
※2は多分複雑な正規表現にオプションを適用するために起こりうる全てのケースをチェックするのは
激しく手間だから素直に普通のフィルタにオプション付けて使っとけと言いたいんだと思うんだ。
688:名無しさん@お腹いっぱい。
07/04/11 19:38:29 JhuwSaWL0
>A2.例えシンプルなフィルタが100個あっても1個の正規表現よりはまだ速いです。
う〜む・・・これほどとは
689:名無しさん@お腹いっぱい。
07/04/11 21:17:41 mZN9E+zg0
[チラシの裏]
普通のフィルタ>>>正規表現なことは>>621-624でも触れられていたんで
本当に分かっている人はその前提で話をしているはずなんだが、
正規表現のフィルタをちゃんと「正規表現でしか書けないようなフィルタ」と言ってあげないと
理解できない人が話をややこしくしてる。>>672とか。
>>637の条件は必ずしも「速い」フィルタの条件とは言えないわけだが、
それが「良い」フィルタでもないとは必ずしも限らない。
それを勝手に速度の話だけに限定した人達が居て、
それにわざわざ速度で劣る正規表現しか見えてない奇特な人が応戦したもんで
妙な方向に議論を持って行かれて話がしっちゃかめっちゃかに。
[/チラシの裏]
木を見て森を見ないような議論はもう止めないか?
690:名無しさん@お腹いっぱい。
07/04/11 21:29:08 VtFYwKQs0
>>637が言ってることは論外なんだが釣られる奴が多すぎるな。
691:名無しさん@お腹いっぱい。
07/04/11 22:36:31 GGq4MXguP
正直俺には君が一番……いや何でもない。
692:名無しさん@お腹いっぱい。
07/04/12 01:43:14 iyOL1m3l0
誤爆がないフィルターが論外とはけもじなことを
693:名無しさん@お腹いっぱい。
07/04/12 04:16:07 3oGjE6PR0
正規表現オワタ\(^o^)/
694:名無しさん@お腹いっぱい。
07/04/12 04:57:36 KgYtY/3O0
>>690が言ってることは論外なんだが釣られる奴が多すぎるな。
695:名無しさん@お腹いっぱい。
07/04/12 08:46:36 L0tEZM2p0
>>637は正規表現が書けないから「字数が1バイトでも少ない」なんて書けるんだろうな。
正規表現も書けない奴の書いたことにあーだこーだ言ってもしょうがねぇと思うが。
696:名無しさん@お腹いっぱい。
07/04/12 12:32:33 sZrj1Vxm0
自分の使ってるフィルターうpすれば問題は全て解決
試しにうp頼む
697:名無しさん@お腹いっぱい。
07/04/12 12:45:07 XA9zI8Dp0
8文字は、shortcutsの文字数が最大8文字から来てるのね。
なら621の感じ方で間違えなさそうかも。
698:名無しさん@お腹いっぱい。
07/04/12 15:02:46 L0tEZM2p0
>>606
FAQのほうに
> フィルタは内部的には全て正規表現に変換される。例えば『ad*banner.gif|』は内部では
> 『/ad.*banner\.gif$/』になる。
と書いてあるが、これは /ad.*?banner\.gif$/ とするべきだな。
正規表現に疎い人のほとんどは最短一致でいいところを最長一致で書くから困る。
複雑な正規表現の場合、最長一致にしてしまうと速度に大きく影響してしまう。
作者がこれを知らないようなら教えてあげてくれ。
699:名無しさん@お腹いっぱい。
07/04/12 15:11:35 CrnX8U750
*108 URLリンク(*.bannerbridge.net)
*295 URLリンク(*.a8.net)
1474 URLリンク(*.jp.ap.valuecommerce.com)
*144 affiliate$link,subdocument,background,object
*189 URLリンク(*.dtiserv*.com)
**14 URLリンク(*.jpassport.jp)
***7 affid=$subdocument,link
**69 URLリンク(*.99bb.com)
*218 affili$image
*155 /(\/|www\.|page)ad(\/|click\/|server\.|justnetwork\.|\.watch\.)/$image,link,subdocument
***0 URLリンク(rcm-images.amazon.com)
**14 URLリンク(rcm-jp.amazon.co.jp)
*114 URLリンク(www.accesstrade.net)
**42 URLリンク(*.afl.rakuten.co.jp)
**12 URLリンク(*.valueclick.ne.jp)
***0 URLリンク(*.trafficgate.net)
***8 URLリンク(*.linksynergy.com)
***0 URLリンク(s*.j-a-net.jp)
**62 URLリンク(w1.ax.xrea.com)
**50 /(ct|x)[0-9]\..*\.(com|jp)\/(gg|ll|bin)\//$image,link
**54 URLリンク(grp01.ias.rakuten.co.jp)
***0 URLリンク(www.af-board.com)
**28 URLリンク(sbs.nsk-sys.com)
stylishと併用。自分の巡回してるところはほぼ消えるけど>>687見る限りadもばらして作り直そうかな
頭の数字はhit数です
700:名無しさん@お腹いっぱい。
07/04/12 15:45:34 7YpaQITx0
どっちにしても
example.ad.jp/banner.gifに誤爆するけどw
701:名無しさん@お腹いっぱい。
07/04/12 16:46:00 VqhhjR7h0
良いフィルターの条件
1 誤爆がない
2 広い範囲で使える
3 字数が1バイトでも少ない(正規表現含む)
702:名無しさん@お腹いっぱい。
07/04/12 17:03:02 mDMr6nJH0
以下のような感じの計測方法が適当か分からないけど、それで5回ずつ測定してみた
ところ「|URLリンク(ad.)<)」は同等、「ad0〜ad9999の1万行」と「ad[0-9]{1,4}」
は後者の方が2秒ほど速かった。
<script type="text/javascript">
const start = new Date().getTime();
function get_diff()
{
const finish = new Date().getTime();
const diff = finish - start;
document.getElementById( "time" ).textContent = "経過時間:" + diff + " ms";
}
</script>
<body onload="javascript:get_diff();">
<p id="time">計測中</p>
<img src="URLリンク(ad.localhost) 〜省略〜 <img src="URLリンク(ad.localhost)
703:名無しさん@お腹いっぱい。
07/04/12 17:07:16 3oGjE6PR0
>>699
http//*.とか後の/とかいらんと思うんだけど・・・
valuecommerce.com$image,subdocument
こんな感じで十分じゃないの?
一発目の8文字(以内)検索で完結するように
valuecom$image,subdocument
みたいにひたすら短縮するのもアリかもしれん
誤爆することもないだろうし
704:名無しさん@お腹いっぱい。
07/04/12 17:26:20 NrgQlk+w0
>>699
Adblock Plus の内部機構においても『/ad.*banner\.gif$/』より
『/ad.*?banner\.gif$/』の方が速いと俺に分かるように説明してくれたら伝えるけど、
個人的にそこは今の Adblock Plus にはあまり重要ではないことのような気がする。
それはそうと、実はそこの部分は思いっきり誤訳しててさw
正しくはこう↓
705:名無しさん@お腹いっぱい。
07/04/12 17:27:12 NrgQlk+w0
Adblock Plus はどのようにフィルタを処理し、また如何なるフィルタがより高速なのか?
フィルタは内部的には全て正規表現に変換される(正規表現で書かれていないものであっても)。
例えば『ad*banner.gif|』は内部では『/ad.*banner\.gif$/』となる。
しかしながら Adblock Plus はチェックすべきフィルタがある時に
それらを全てひとつひとつチェックしたりはしない……そんなことをしても無駄に重くなるだけだ。
フィルタの正規表現への変換に際し、Adblock Plus はそれらからテキスト情報を抜き出そうとする。
必要なのは8文字のユニークな文字列("shortcut")である。
これはそれぞれのフィルタ内のアドレスから抜き出されたもので、
例えば『|URLリンク(ad.*)<)” か “URLリンク(ad)<)” のどれかを選ぶ
(これらはどれも本来のフィルタがマッチすべきアドレスにマッチする)。
不幸にもワイルドカード等で区切られて8文字も無いとか、正規表現で書かれているとかならこの shortcut は作れない。
全ての shortcut は検索テーブルに放り込まれ、それによって Adblock Plus は必要なフィルタを極めて効率的に呼び出せるようになる。
とあるアドレスをチェックする時には Adblock Plus はまずそれらの shortcut を検索する
(これは非常に速く終わり、また登録された shortcut の数にもほとんど影響を受けない)。
shortcut にヒットした場合にのみ本来のフィルタから変換された正規表現でチェックする。
また、shortcut を作れなかったフィルタに関してはひとつひとつチェックされる。
まとめ:どんなフィルタが速いのか?
・可能な限り正規表現は使わない(正規表現は問答無用に遅い)。
・8文字の直列した文字列(中にワイルドカード『*』のような特殊な文字が含まれない)を内包する
シンプルなフィルタを使うように心掛ける。そうでないフィルタは正規表現と同様に遅い。
・上記の『速い』フィルタはいくつあっても良い。数に関係なく処理時間は一定である。
つまり1個の正規表現よりも20個のシンプルなフィルタを使う方がマシである。
・というわけで、Deregifier(URLリンク(adblockplus.org))マジお勧め。
706:名無しさん@お腹いっぱい。
07/04/12 17:29:06 NrgQlk+w0
ちなみに Deregifier とは正規表現を単発フィルタに分解してくれるツール。
URLリンク(adblockplus.org)
例えば>>699の中にある『/(\/|www\.|page)ad(\/|click\/|server\.|justnetwork\.|\.watch\.)/』なら↓
/ad.watch.
*/ad/
*/adclick/
/adjustnetwork.
/adserver.
pagead.watch.
pagead/
pageadclick/
pageadjustnetwork.
pageadserver.
www.ad.watch.
www.ad/
www.adclick/
www.adjustnetwork.
www.adserver.
↑といった感じに分解してくれる。
707:名無しさん@お腹いっぱい。
07/04/12 17:32:08 NrgQlk+w0
>>704は>>699じゃなくて>>698宛てだった。スマソ
708:名無しさん@お腹いっぱい。
07/04/12 17:36:28 1TsEBTx50
>>695
いろいろな書き方がある訳で、同速同条件のフィルターが2つある場合
字数は1バイトでも少ない方が良い。
>>698はこの場合では1バイト増やした方がより良い事を証明したにすぎない。
お前の文章には人間的欠陥がある。
ID:L0tEZM2p0=己のものさしでしかもの言えない馬鹿
709:名無しさん@お腹いっぱい。
07/04/12 17:41:19 V85EMG0Q0
ID:L0tEZM2p0=チンカス
710:名無しさん@お腹いっぱい。
07/04/12 17:44:09 ibYXc5q40
>作者がこれを知らないようなら教えてあげてくれ。
>作者がこれを知らないようなら教えてあげてくれ。
>作者がこれを知らないようなら教えてあげてくれ。
>作者がこれを知らないようなら教えてあげてくれ。
>作者がこれを知らないようなら教えてあげてくれ。
( ´,_ゝ`)プッ
711:名無しさん@お腹いっぱい。
07/04/12 17:54:51 SixmzFVx0
>>704-706
,'从从)〉
rヤ^ー゚ノi| 乙であります。
あんたネ申だよ♥
漏れはあんたを師事する!蛆蟲なんか踏みつぶせ!!
712:名無しさん@お腹いっぱい。
07/04/12 17:58:33 SixmzFVx0
>>703
胴衣
713:名無しさん@お腹いっぱい。
07/04/12 18:04:25 SixmzFVx0
>>699氏は、>>686-687にあるアンサーに従ったのか…
714:名無しさん@お腹いっぱい。
07/04/12 18:25:41 ozNw2ZSs0
8文字未満だとshortcut作られないから、可能なら8文字以上に増やした方がいいってこと?
715:名無しさん@お腹いっぱい。
07/04/12 18:58:16 CrnX8U750
>>703
>>712
なるほど。ありがとう
作り直してみる
716:名無しさん@お腹いっぱい。
07/04/12 19:02:50 DgqfLt7S0
住人に有益な情報を提供しているネ申と住人に吠えるだけの糞蟲ぢゃ(ry
>>704
乙。
717:名無しさん@お腹いっぱい。
07/04/12 19:18:22 NrgQlk+w0
FAQによると『banner』と『/banner/』は同義なんだが、
これが『bannnner』と『/bannnner/』だったとしても同義になるのかな?
どれだけ単純でも明示的に正規表現で書かれたフィルタはそういうものとして扱うだろうから
この場合は shortcut の有無で如実な差が出ることになるのだろうか。
>>711
別に俺は誰とも対立してないぞ。煽るな。
>>714
俺が読んだ限りではそのように見える。
『banner』はNG。
『bannnner』はおk。
『bannnner*hage』はおk。
『banner*hagehoge』も多分おk。
『URLリンク(*hagehoge)』も多分おkだが『http://』部分に意味があるかどうかは微妙、
それなら最初から『hagehoge』だけでも良いかも知れない。つまり>>703。
そして正規表現は柔軟だか鈍重というまるで脂肪の塊のようなもの。
>>716
実はこの手の情報は過去スレでは散々既出な希ガス。
日本語で読めるまとめが無いせいで定期的に話題がループしてるっぽ。
718:名無しさん@お腹いっぱい。
07/04/12 19:44:59 b4CFXTZA0
正規表現から単発が主流になりそう(なった?)みたいだけど昔あった速いとは別の
フィルターが多い=重い(くなる) っていう事は、もうなくなったの?
719:名無しさん@お腹いっぱい。
07/04/12 19:55:32 XhsaMfFB0
\dはまだしも\Wはさすがに分解する気にならんなあw
720:698
07/04/12 20:16:34 L0tEZM2p0
>>704
Adblock Plus の内部機構でもそれ以外のもの(perl等)でも同様に早くなるよ。
URL処理するためだけの正規表現が複雑になることはまずないから恩恵は期待出来ないが。
それで何故早くなるかというと、 .* は可能な限り長くマッチしようとし、 .*? は可能な限り短くマッチしようとする特性がある。
1、/a.*b/
2、/a.*?b/
という2つの表現を使って説明すると、
a 0000000000000 b 111111111111111 b 2222222222222 b 33333333333333 c
という文字列に対してこの2つの正規表現を使うと
1は "a 0000000000000 b 111111111111111 b 2222222222222 b" にマッチするのに対し(最長一致)、
2は "a 0000000000000 b" にマッチする(最短一致)。
つまり1の場合、000.. の後ろの b を見つけた後もその後ろに b が無いか探し続けてしまう。
それに対し2は 000.. の後ろの b を見つけたらそこで検索を止める。 その分早くなる。
>誤訳
了解。 8文字の固定文字列を取り出して検索するとはいい方法だ。 正規表現を書くときも同じでまず固定文字列を
探すような表現にすると格段に早くなる。
>>708
>同速同条件のフィルターが2つある場合
つまり条件付きってことだな。 ある条件のもとでしか正しくならないわけだ。
「月は満月だ。」 (満月のときの月は確かに満月だが三日月などもある)
みたいな無茶苦茶な理論だな。 自分では気付いてないようだが。
721:名無しさん@お腹いっぱい。
07/04/12 22:23:46 es/RVV9+0
>>699
>**69 URLリンク(*.99bb.com)
エロサイトw
722:名無しさん@お腹いっぱい。
07/04/12 22:56:41 ozNw2ZSs0
>>721
アフィのリンクとか張ってるやついるからそのフィルタなんだろ。
本人がそのサイト使ってたら誤爆しまくりの意味ないフィルタだし。
723:名無しさん@お腹いっぱい。
07/04/12 23:21:29 1Wy44Dv40
>>717
乙。漢だねw
>>720
お前さ、698って名乗ってるけど>>695ですから。残念!
始めに煽るような毒づいてるレスさえしなきゃID:NrgQlk+w0みたいくもっと住人に愛されたのになw
724:名無しさん@お腹いっぱい。
07/04/12 23:58:49 mlRMOeBa0
669氏のフィルターを例題に借りると
>703もありだが、逆にa8とかはhttp://をつけて無理矢理でも増やせってか
717氏 乙
720氏 ね
725:名無しさん@お腹いっぱい。
07/04/13 00:20:45 ubQ11F7W0
平行線の話題はそろそろやめないか?
ここにゴチャゴチャ書かずに、それぞれ自分の中でそう思っておけばいいことだろ。
有益な情報が妙な叩き合いで見にくくなる。
726:名無しさん@お腹いっぱい。
07/04/13 00:58:58 1DrFi/l80
おう
727:名無しさん@お腹いっぱい。
07/04/13 01:19:43 6niKKmEx0
>>725
禿同
しかしまぁ、以前からネチケットの悪い糞蟲が消えなきゃ無理なんぢゃねぇーの、とも思ったり・・・・
728:名無しさん@お腹いっぱい。
07/04/13 01:35:30 MdxtMwnV0
確かに1匹いるね。前から…
CSS派には申し訳ないがこの機会に
テンプレのABP部分をまとめても良いか、とも思ったり…
729:名無しさん@お腹いっぱい。
07/04/13 02:04:40 oTLqjw2d0
賛成の賛成なのだ
せっかくだからまとめサイトのAdblockページの更新もしたいね
ページにはファイルのうpも出来る訳だし
597氏が翻訳してくれた>>606とかは
是非まとめサイトのファイルうpを使って欲しいよ
でなきゃもったいないよ
せっかくの597氏の苦労が
それと質問なんだけどまとめサイトの
「フィルターを増やすと動作が重くなるので」の部分は今後どうなるの
正規表現をばらして増すと速いけどやっぱり重くなるの?
730:名無しさん@お腹いっぱい。
07/04/13 03:52:50 QovjZ3Lw0
>>728
胴衣
>>729
胴衣
ではスタート↓
731:名無しさん@お腹いっぱい。
07/04/13 05:35:54 zOu8WnQA0
↑無視ですまんが・・・
たとえば ias.rakuten.co.jp$script と登録すると shortcut=rakuten. になるんだが
これは楽天開いたときなんかはショートカット検索の段階でヒットしまくることになる。
そこで ias.raku$script と登録すると shortcut=ias.raku になるわけで
これだとショートカット検索の段階でもヒットするのは僅か。
最終的にはregexpの方でチェックするから結果は一緒なんだが
最初から数を絞り込んでる後者の方が気持ち速いのかね?
ただ後者だと何を登録してるかわからなくなりそうでアレだが。
732:名無しさん@お腹いっぱい。
07/04/13 08:58:48 3lmLf/0m0
>>708
意味分かんなくてワロタw リアル厨房?
733:名無しさん@お腹いっぱい。
07/04/13 11:40:38 HGX/pVAJ0
>>729
アップされてる同期フィルタ群を見る限り、正規表現は推奨されてないっぽいけど。
フランスのみたく正規表現のみなんてのもあるけど、使ってもリスト内の1,2割程度なのが多い。
URLリンク(adblockplus.org)
734:名無しさん@お腹いっぱい。
07/04/13 12:00:07 wDybXcFE0
>>732
>>725-727
735:名無しさん@お腹いっぱい。
07/04/13 12:58:32 9ue/Z7Zv0
今日は風が強いなあ。
>>702
shortcut の利点は無意味なフィルタのチェックをしないことにあるから、
全てのフィルタが100%ヒットする条件下ではむしろ無駄な処理になる。
そのテスト用のページにヒットしないフィルタを大量に加えると
通常のフィルタなら shortcut のお陰でほとんど悪影響を出さないが、
shortcut が作れないフィルタや正規表現のものはその数に比例して
Adblock Plus のパフォーマンスを下げると思われ。
>>720
それじゃあまあ、そのうち他の疑問もひっくるめてまとめて聞いてみる。
流れ的に「今更正規表現っすかwwww」で流されそうな気もするがw
何か考えがあっての事かも知れんしな。
>>724
ワイルドカードで区切られていない8文字というのが shortcut 成立の条件で、
>>699の『URLリンク(*.a8.net)』の場合は『.a8.net/』の部分が8文字なのでおk。
これが『.a8.net』だったら7文字しかないことになるから、
前か後ろに http:// でも / でもとにかく何か付けて8文字以上にしないといけない。
で、『URLリンク(*)』のところは誤爆回避の役にも立たんと思われるので
それなら『.a8.net/$image,link』だけでよくね?と。
『http://』って7文字だから shortcut にも使えんしね。
736:名無しさん@お腹いっぱい。
07/04/13 12:59:25 9ue/Z7Zv0
>>729
あの和訳は自分が理解するために作ったもので他人のためのものじゃないから、
このまま埋もれてしまっても別に俺は勿体なくないw
それに和訳のクオリティが不十分だから、表に出すなら
何人かの英語に堪能で Adblock Plus の挙動に詳しい人達による添削が必要。
あと、あのまとめサイトは Adblock と Adblock Plus を一緒くたにしていて
Plus のみに向けた記述は書きにくい。
まあこの辺をクリアできるならどこに転載されても俺は構わんよ。
で、質問の答えだけど、
普通のフィルタがいくつあっても shortcut が作れるものであれば速度上はほとんど問題ない。
shortcut が作れないフィルタや正規表現のものはその数に応じて重くなる。
複雑な正規表現をいくつかのシンプルな正規表現にすることは速度を向上させる『かも知れない』。
ただし基本的には100個の普通のフィルタ>>>1個の正規表現なので、
いくつかの普通のフィルタをひとつの正規表現にまとめるようなことはしない方が良い。
737:名無しさん@お腹いっぱい。
07/04/13 13:11:44 9ue/Z7Zv0
>>731
多分その通りだと思う。可読性と誤爆回避と速度のトレードオフだね。
ただ、懸念として例えばフィルタがこの3つ↓
.a8.net/*/hage/
.a8.net/*/hoge/
.a8.net/*/huge/
↑の場合は shortcut は最初の1つだけに作成される。
つまり1つの shortcut に複数のフィルタが対応することはできないっぽいので、
あまり余裕のないフィルタリストを作ると
どこかで意図せずに shortcut からはみ出るフィルタが出てしまうかも知れない。
これが『ias.rakuten.co.jp$script』なら Adblock Plus は
"ias.raku" から "en.co.jp" までの合計10パターンから選ぶことができるから
似たようなフィルタを他に作っても上手く住み分けができるだろうが。
>>733
Fanboy’s List と adblock.free.fr には注意書きとして
『このリストは Plus には最適化されてないので重いです』と書いてあるね。
738:名無しさん@お腹いっぱい。
07/04/13 13:38:53 3lmLf/0m0
内部的には普通のフィルタも正規表現に直してるのだから
今更もなにもないと思う。>>704の正規表現だって元は普通のフィルタだし。
739:名無しさん@お腹いっぱい。
07/04/13 13:42:45 3lmLf/0m0
つまり>>704の変更をすれば普通のフィルタが早くなるってことじゃない?
740:名無しさん@お腹いっぱい。
07/04/13 14:08:21 N5nZ1Xv/P
一瞬コイツは何の話をしているのかとオモタ。
741:名無しさん@お腹いっぱい。
07/04/13 18:27:27 9ue/Z7Zv0
今のところ Element Hiding に関しては Stylish もしくは userContent.css の方が速いっぽい。
まあ俺は Adblock Plus だけでも特に困ってないけど。
同期フィルタとして EasyList と EasyElement と dutchblock を購読している人が
「他に Filterset.G か何かも入れた方が良いか?」と相談した時の開発者達の返事。
URLリンク(adblockplus.org)
rick752(EasyList と EasyElement の作者):
「フィルタリストは小さいに越した事はないから、ぞれぞれ試して良さそうなのを選ぼう。
後は引っ越ししないように頑張れ。
(環境の変化に伴ってネット上の行動範囲が変わると広告の傾向が変わるから?)」
Wladimir Palant(Adblock Plus 開発者):
「EasyList と dutchblock はどちらも全世界的に通用するリストで内容が被りまくりんぐ。
併用しても大した効果は見込めないが誤爆その他のトラブルは2倍になる。
なので購読はどれか1個だけにしとくのがマジお勧め。
あと Adblock Plus で Filterset.G はとにかくヤメトメ」
dutchmega(dutchblock の作者):
「YOUもう Filterset.G は自動拒否にしちゃいなYO!」
ちなみに dutchblock は今は配信終了してる。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4429日前に更新/308 KB
担当:undef