« 眠いのを我慢しないと | メイン | 渋谷に出て行った »

2006年04月27日

日記に被ブックマーク数を表示

こんな感じ

はてなブックマークには、被ブックマーク数を取得する API があるので、それを使って日記に被ブックマーク数を表示するようにしてみました。トップページと個別ページに表示させています。

毎回 DB にアクセスしているのですが SpeedyCGI を使って常駐化しているので、結構スイスイ表示されるかと思います(DB よりもスクリプトの起動コスト低減かな)。被ブックマーク数も3時間 DB にキャッシュしています(はてなへの再問い合わせは、最短で3時間毎)。

被ブックマーク数を取得するだけでは面白くないので、簡単なカウンター機能をつけました。被ブックマーク数をマウスオーバーすると表示されます。

トップページにも被ブックマーク数を表示しているので、トップに表示されているエントリーが有利になってしまうのも嫌なので、引数で渡した URL と環境変数の HTTP_REFERER が一致した場合のみカウントアップするようにしました。これは img, script などの外部ファイルを呼び出した場合、外部ファイルの環境変数 HTTP_REFERER には、呼び出し元の URL が入るという仕様を利用しています。まー。セキュリティ関連ソフトウェアがインストールされている場合は、この限りではないのだけど。

環境変数 HTTP_REFERER を引数にして、はてなブックマーク API にアクセスするようにしてもいいかな。設置が楽そうだし。

ソースの公開は後ほど。データベースと連動しているプログラムは、テーブル構造を明らかにする必要があるのですが、日記には書きにくいです。スクリプト公開のまとめページみたいなのを作ったほうが良いかなぁ。

って、「ぼくはまちちゃん!」で似たようなのを見つけたよ!画像でエミュレートしていてカッコいいよ!

【関連記事】
はてブニュースにユーザー数を表示 (2005年12月12日)
SpeedyCGI を実験的に採用 (2005年01月25日)

【関連情報】
・きみのはてダに被はてブ数
 http://mxxi.hamachiya.com/2006/03/hiteb.html

2006年04月27日 11:08 | Development

トラックバック

コメント

被ブックマーク表示は、一時中断します。
GW の間に復活の予定です。バックグラウンドでプロセスを動かしすぎだなぁ。

投稿者 ceekz : 2006年04月28日 00:25