_ another blog@hatena/Wiki/BBS
perlスクリプトと静的HTMLの複合で構成されるこのblogでもTrackback spamがうざいと思えてきたので前段階としての仕込みを開始。あれこれルールを仕込んで適合度とかを観察して、そのうち適当にスコアで弾くようにする予定。
薬を貰いに病院へ行ったのは良かったが、帰りに雨に降られた。
まあ小雨だったので一気に帰れば大丈夫だろうと思ったら、途中で土砂降りになった。実はみぞれなんじゃないかと思うほど大粒のやつ。濡れた濡れた。着衣泳でもしたんじゃないかというぐらいに濡れた。帰りつくなり着てたものを全部洗濯機に放り込む。下着に至るまで見事に濡れていた。
服を着ようという段になって、洗ってない下着がないことに気付いた。仕方ないので通常下着を穿かずに穿くレーサーパンツを代用にした。
TrackBack spam対策の話の続き。週末にあれこれ調整してみた。
今のところのフィルタリングルールは以下のような感じ:
こいつらで適当にスコアを付けて合計値が一定値以上ならspam認定とかそんなルール。#このほかに検討してみてもいいかもしれない項目をつらつらと書いてみる。
_buzz word(NGワード)リストによるチェック。だがリストの管理をするのがめどい。ベイジアンならアリかもだけどそれなりに負荷かかるのでびみょー。弾いたspamを蓄積しておいて定期的になんらかのアルゴリズムでbuzz wordsを生成するような仕組みならまだアリか? しかしリストを一々読みこませるとやっぱり負荷になるのでspamdみたいな仕組みを作らないとやってられないけどそんなのやってられないのでおおむね却下。
_UserAgentによるチェックはそれなりに有効だろうと思うけどそんな使いかたありえないとの個人的強迫観念で却下。
_トラックバック元文書にトラックバック先への参照が含まれているかのチェックは有効かつまっとうな実装だと思うけどやっぱり負荷を考慮して回避。他のスコアが微妙だったときの最終判定基準にするのはいいかもしれない。
_IP範囲で可否判定。範囲リストのメンテナンスがめどい。
_同一IPからの連続リクエストチェック。CGIがstateを持ってしまうのが微妙に嫌なので回避。筋自体はそんなに悪くないとは思うけど。
UEFAチャンピオンズリーグ決勝があるので早々に寝ようと思ったのに発作っぽいものがきて眠れない罠とかに見舞われる。
職場に変化がありそうでそれがストレスになってるんだろうなあ、というところまではわかるんだけど。しばらく続くようなら医者含めあれこれ相談しないといけないかもなあ。今回のはいままでのより長引きそうな感じだし。
今の仕事自体は楽しいんだけど、周辺状況がいまいちなあ。
つことで生中継で観戦。
前半はとにかくリパプールの試合だった。メンバー的にはカイトのワントップ、実際にはトップ下のジェラードが左サイドに流れる形での0トップ2ウィングにも思える形で、比較的弱いミランの両サイドを突く。その一方でミランの攻撃の軸となるカカ、ピルロはしっかりと抑え込んで、見事にミランから良さを消した。ミランもおそらくそこまでは予測済みで、流れにあまり関係なくワンチャンスで点が取れるインザーギが先発FWなのはそこらを意識してなのだろう。
こういうコアがしっかり消されてしまう試合で代役として活躍すべきセードルフの出来はイマイチ、対するリバプールは抑え込みが成功していることでペースを掴み、守備のバランスは維持したまま、徐々に攻撃にシフトを傾けていった。ミランの両サイドの不安定さもあって、サイドを起点とした攻撃が繰りかえされる。予想以上にミランがなにもできない展開、流れは確実にリバプール。
しかし先制点はミランだった。前半終了間際、ペナルティエリア目前の場所でカカが倒される。抜かれたら間違いなくヤバい場所での、絶妙のファールというやつだ。しかしFK。蹴るのはピルロ。蹴った球にGKレイナは確実に反応した。しかしその球筋に――おそらくはGKの処理ミスのこぼれ球狙いで――突っこんできたインザーギ。その体にボールがあたり、軌道が変わる。ミラン先制。
_その1点が効いたのか。後半、リバプールは流れを失い始めた。先制されたことで焦り始めたか、前半には機能していたサイド攻撃の形を続けられず、中へと攻撃が絞られはじめてしまう。そうなるとミランの中の守備はあまりにも固い。リバプールは59分にゼンデンOUT キューウェルINで再び攻撃をサイドに戻そうとする。悪くない狙いで、実際それなりに攻撃の形を取りもどしたが、ミランの老獪なDF陣は決定的な形を作らせない。ますます攻撃に傾いて、過度に前がかりになっていくリバプール。
リバプールは78分 マスケラーノOUT、クラウチIN。温存していた最終兵器の投入。対してミランは80分にヤンクロフスキOUT、カラーゼIN。攻撃に色気を出すサイドバックを下げてセンターバック的な選手を増やし1点を守る。そんな意図が明白な交替。
先に活性が失われたのは、意外にもリバプールだった。75分を過ぎたあたりからだったろうか、陣形が間延びしたまま選手が攻守に切替えることができなくなる。ミランも疲労の色は濃いが、こちらは攻撃をインザーギ、カカ(加えておまけのセードルフ)あたりに任せて覚悟を決めて守っている――それを支えるのに十分な老獪さ。
82分。カカからの一発のパスが、試合を通じて愚直に裏を狙う彼に通る。インザーギがこの上ない飛び出し。1タッチ目でGKをかわし、2タッチ目でボールをゴールに向けて転がす。とても簡単な、だが鮮やかな、インザーギらしい、ならではの一撃。
_折れてもいいほどのトドメだろう。だがリバプールは折れなかった。むしろ失われつつあった活性を取りもどし、残り時間を耐えようとするミランを攻め立てる。CKからアッガー、カイトの頭を経由して1点を奪い返す。なおも攻めるが――ミランはとても落ち着いて守る。各々の流儀できっちり時間を使い、それでもリバプールに生まれる数回のチャンスは着実に潰し、ロスタイムは流れ去った。試合終了。ミラン 2 - 1 リバプール。
現行ではバージョンアップ機構を動かすとユーザーデータが吹き飛ぶというちょっと笑えない問題を抱えているあたりを将来に備えて修正してみる。
2〜3時間もあればさっくり終わるだろー、と思っていたらこれがさっぱり。保存領域の初期化をかけてる前後で書き戻しをしたはずなのにさっくりデータが消えやがると思ったら、別のところでも初期化がかかってた。結局想定の倍ぐらい時間がかかった。「見積り時にはとりあえず所要時間を倍にしておけ」という個人的教訓は今日も正しかった。