サービス概要
システム構成
- tweet中「必読」という文字列とURLがあれば抽出します。
- 短縮URLの場合展開し、URLをカウントします。
- 過去1日、1週間、1ヶ月のURLカウント数のtop20がリスト表示されます。
- URL先の内容については関知しません。ご了承ください。
システム構成
- 言語:Perl
使い慣れているので。Perlでのobject指向の書き方を勉強し、他のスクリプト言語への移行も計画中 - DB
MySQLを使用 - WAF(Web Application Framework):Amon2
CatalystやMojolicious::liteも勉強してみたが、結局、YAPC::AsiaでAmon2の作者の方の発表を聴いて身近に感じたから。後、簡単そうだったので。 - PaaS:dotcloud
PerlやMySQLが使えるPaaS。fluxflexもperl対応しているようだが、今はdotcloudの方がCPANモジュールinstallなど使いやすそうなので。 - バージョン管理
dotcloudで、バージョン管理していないようなので、githubを利用
進め方
- サイト企画
- Twitter APIの学習
- 言語の選択
- WAFの選択
- サーバ(IaaS,PaaS)の選択
- バージョン管理方法の選択
今回はgithubを使用 - コード作成
- 動作確認、デザイン修正
- デバッグ
- google analytics設定
- 免責などの記載
- favicon作成
favicon generatorを使用 - 連絡先のtwitterを準備
- DNS切り替え
myDNSを使用 - URL監視設定
cmanを利用 - リリース、周知
ハマりポイント
- dotcloudがいまいち安定しない
- 正しくコンテンツをpushをしてもサイトが正しく表示されない事、ssh接続ができない事が何回かあった。その時には別アカウントを作成して、切り分けを実施した。結局、別アカウントだと正常に動いた。Forumでも同様の質問があり、supportに連絡してほしいという結論になっていた。
- で、やっと動作したかと思ったら、翌日には動かなくなっていた。この時はrestartを実施して、復旧した。
- (今回は不要だったが)apacheでamon2を動かす方法がよくわからなかった
- dotcloudの運用を諦めて自分のサーバ上で構築を検討していた際、既存の環境のapacheでamon2を動かす方法を調べてたがまだ情報少ない。結局はapacheでPSGIを動かす方法となるのだが、正常動作確認には至らなかった。
todo
- logの確認、デバッグ
- サイトの安全性チェック
googleでできそう。 - 公式RT対応
今後
- 本サービスのチューニングやってみたい。ボトルネックでてくるぐらいまでになってくれれば。。。
- 今回のdotcloud+amon2の組み合わせを使って、他サービスも作ってみたい。作成時間は短縮できるハズ。
- WAFを使っていない作成済のサービスをAamon2を使って再構築。
- 他PaaSを利用してみたい。
Rubyでnode.js勉強して、Herokuやnode ninjaなど。 - NoSQLも
Cassandra、mongoDBあたり試せるようなサービス考え中。
変更履歴
- 2012/8/26 githubを追記