CountDown LastFM Rankingというサービスをリリースしました。
CountDown LastFM Rankingというサービスをリリースしま(した|す)。
http://koba04.com/cdlm/track/jp
- 正直α版にもいかないくらいのクオリティなのですが、クオリティが上がるのを待っていたらいつまで経ってもリリース出来ないし、リリースすることでちゃんと改善していこうという意識が高まるかなと思いリリースすることにしました。(君のラジオに触発されたこともあり)
なにそれ?
- Last.FMでは国ごとに再生された上位50位のランキングを毎週APIで公開しているので、その上位50位の曲をYouTubeから取ってきてカウントダウンしながら連続再生するというウェブアプリです。
- 今のところ自分が見たい日本とアメリカのイギリスのランキングだけを取得してて、それぞれ下記で公開しています。
- 日本のランキングはかなりカオスな感じで面白いのですが、洋楽好きな人はukやusのを聴くと楽しいかもしれません。
- 「アーティスト / 曲名」の下はYouTubeのビデオ名です。
- Chartタブではランキングを見ることが出来ます。そのうちリンク化します。
- 別の国のランキングでのリンクをとりあえず「Other」タブに追いやっています。
- どのタブでもビデオが表示されているのは再生を止めないためです。
コンセプト
構成
- フロントのWebサーバーはnginxで、appサーバーはStarlet、DBはKyoto Tycoon(Cabinet)を使用しています。
- 特に意図があって上記の構成にした訳ではないのですが、
- nginx・・・Starletにプロキシさせたいだけだしapacheの必要がない
- Starlet・・・Starmanでもよかったんですがなんとなく使ってみたかっただけです。
- Kyoto Tycoon(Cabinet)・・・永続化出来るKVSが使いたかったので、Tokyo Tyrantを調べたところKyoto Tyconnを使えと書いてあったので使ってみました。
- WAFは使うほどの機能ではなかったので、Plackをそのまま使って書くという非推奨なことをしています。しかもpsgiにそのまま。。
- StarletとKyoto Tycoonはdaemontoolsで動かしています。
課題
githubのIssuesを活用しようと思っているのですがとりあえずここにも書いてみます。
- Chartをリンク化してランキングをそこから再生出来るように。
- 多分連続再生が止まる動画があるのでその対応。
- アクセス元の国を取得して、その国で再生可能な動画を取得する。(現時点では日本で再生可能な動画を取得している)
- push stateなどを使ってランキングの順位にパーマリンクを付ける。
- デザイン。。。
- 動画取得の精度。本人以外の動画がヒットしている。。
- ドキュメント書く。
- I.Eで確認していないので動かないかも。。
ソースはgithubに公開しています。Last.FMとYouTubeのAPIを取得するところはそれぞれ別モジュールとしています。
Twitterとかどこででもリアクション頂けたりすると嬉しいです。脆弱性はこっそりと。。
- https://github.com/koba04/p5-cdlm
- https://github.com/koba04/p5-webservice-lastfm-lite
- https://github.com/koba04/p5-webservice-youtube-lite
Let's Enjoy Music !!!