« 眠いのを我慢しないと | メイン | 渋谷に出て行った »
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