ふぁぼったーが表示されないときに無理矢理表示させるチョイ技について

追追記。2008/08/06
ふぁぼったーの大幅な仕様変更によってこの技は(記事を書いてすぐに)使えなくなりましたのでご注意下さい。
さいきんふぁぼったーが良く落ちているのはおそらく、データ更新時の出力を出来なくしているのだと思います。しばらく待てば戻るのでご安心を。

追記。

ono_matope
ヒャー、先週対応したので、もうキャッシュ破損は出ないっす><!ちなみに自分はuser.phpをuserrss.phpに書き換えて見てました。(rssはキャッシュしてないので)

はてなブックマーク - ふぁぼったーが表示されないときに無理矢理表示させるチョイ技について - 自称すーじー。

というわけで、書いた時点でキャッシュ破損問題は既に解決されておりました!>< ヒャー


「新着」の更新が起こっておらず「注目」とのふぁぼられ数の不一致があるときにでも使ってください><


本家のコメントのほうで紹介されていたので、あわてて記事にしました><


ふぁぼったーは楽しいですが、よくバグりますね。

suu_g の ふぁぼられ (65535)

(画像はイメージです。間違いない)

など*1とタイトルバーとふぁぼられ数だけ出て、肝心の発言が出ないことがたびたびあります。これはとても悲しい!


解決法は、こんな感じ。

ふぁぼったーがバグったときでも見られるチョイ技。 /user.php?user=yourname&mode=new&page=0 このpage=0がポイントで、普通はpage=0にアクセスされないので改めて計算してくれる模様。ただし元のページは直らない。

12:15 PM April 19, 2008 from web

http://twitter.com/suu_g/statuses/792295085

つまり、普段のページが
http://favotter.matope.com/user.php?user=suu_g
であれば、末尾に mode=new&page=0 と追加して
http://favotter.matope.com/user.php?user=suu_g&mode=new&page=0
と書くと表示されます。
@alohakunはじめ、全国から続々と喜びの声が届いております。*2


これの意味について説明する際には、ふぁぼったーのシステムについて考える必要があります。*3
ふぁぼったーは、一時間に一回程度クロールしてふぁぼられている発言を集め、それを(何らかの)DBに追加しています。で、表示時にはそのDBからデータを取り出して表示します。
でも、ふぁぼったーというシステムでは大概の人は一ページ目しか見ません。とすると、表示のたびにDBからデータを取得するというのはとっても無駄。
だから、最新ページはキャッシュされます。つまり新しいふぁぼが入るたびにページを生成するわけです。


ふぁぼったーが見られなくなるバグは、この「新しいふぁぼが入る」ときのページ生成が、(衝突か処理過多か分かりませんが)何らかの理由によって失敗するために起きます。
ひとたび新ページ生成が失敗すると、トップのページには何度アクセスしてもバグったまんまです。


じゃあ、DBから直接ページを生成させることが出来れば最新ふぁぼられが見られるはずですね。
ふぁぼったートップの次のページは、urlが http://favotter.matope.com/user.php?user=suu_g&mode=new&page=2 のようになっています。閑散時にふぁぼったーを見てみると分かるのですが、この表示はトップのページと比較してとても遅いので、トップはhtmlで次のページはDB経由だと予想できます。
とすれば、ここの page=2 を page=1 に変えてしまえばトップページが表示されるはずですね。
これは予想通り表示されます。が、表示されるページはキャッシュされているトップページと一緒です。つまりDBから生成されませんから、トップがバグっているならこのページもバグったままです。


そこで http://favotter.matope.com/user.php?user=suu_g&mode=new&page=0 です。このように、pageの指定を1よりもさらに前にすることで、最新のふぁぼられを無理矢理表示させることが、現在のところ可能になっています。
これは裏技です。と言うのも、(別に裏技が偉いとかそういう話ではなくて)仕様として page=0 は存在していないはずだからです。したがって仕様変更によってこの更新方法が使えなくなることは十分考えられますし、なんつーかシステム的にはそっちの方がスマートです、よね。


というわけで。
ふぁぼったーが見られなくなるのはふぁぼったーのバグではありますが、<<致命的な>>バグではありません。おかしくなってるのは表面だけです。誰かにまたふぁぼられればページはすぐに更新されますので、それまで気長に待ってください。どうしても待てない方は、自らふぁぼるか、事情を伝えて「これふぁぼってくれ!」とお願いするか、Nふぁぼ行ったら女装するなどと発言すればよいと思います。
それでも時間がかかりますので*4、ふぁぼられ内容が気になるときは本記事で紹介した方法を使ってみるのもアリだと思います。ただ、ふぁぼったー全体にかかる負荷が増えてしまうかも知れないので、適度に自重しませう。


抜け道ですので、本家(まとぺさん)にはご迷惑のかかりませんようお願いします。

*1:ごめんなさいふぁぼられ数サバ読みました!

*2:ごめんなさい嘘です!

*3:バグの様子から予想される挙動です

*4:最近は情報量が増えたのか、反映がまた少し遅くなってる気がします