こんにちは、@hisaichi5518 です。
今年のクリスマスこそは、彼女とイチャイチャしながら有意義に過ごしたかったので、こういうのを作ったりしましたが、女の子から告白される気配がありません。クソが。
CS対応 と 行動ログ閲覧ツール「伊右衛門」
CSとは、カスタマーサポートの事で、
CS対応は、ユーザーさんのお問い合わせの調査の事をここでは指します。
例えば、ソーシャルゲームを運営していると「アイテムを使ってないのになくなっている!」なんてお問い合わせはよくあると思います。
そういう時にアイテムを使ったログが残っていなかったり、検索しにくかったら大変な事になります。
なのでカヤックは、fluentdとMongoDBを使ってユーザーさんの行動ログを保存しています。
その行動ログをブラウザで見えるようにしたのが、伊右衛門です。
→ https://github.com/hisaichi5518/iyemon
この伊右衛門を使えば「そのアイテムはこの時間に使ってます」っていうのがすぐ分かったり、使っていなかった場合はバグだ!というのがすぐ分かって、マジ便利!!!!!!!という事です。
セットアップ & 立ち上げる
Perlを使っています。やっぱりPerlは可愛い。
$ git clone git@github.com:hisaichi5518/iyemon.git
$ cd iyemon
$ cpanm --installdeps .
$ cp common.sample.pl common.pl
$ cat common.pl
{
'MongoDB::Connection' => {
host => 'localhost',
port => 27017,
database => 'test',
collection => 'test',
},
boostrap => {
web => ['-p' => 50004],
},
}
$ vi common.pl # MongoDB::Connectionの設定をよしなに設定する
$ cat common.pl
{
'MongoDB::Connection' => {
host => 'localhost',
port => 27018,
database => 'test2',
collection => 'test2',
},
boostrap => {
web => ['-p' => 50004],
},
}
$ ./boostrap
これでhttp://localhost:50004/にアクセスすれば見えるようになります。
作った時の話
MongoDB
ウッ、MongoDB.pm
# これはちゃんとログが取得できる
my @logs = $mongo->find({uid => 1});
# これだとログが取得できない!!!!1
my @logs = $mongo->find({uid => "1"});
というのがあって、ハゲるかと思いました。
なので頑張っています。
DateTime
DateTime使った事がなかったんですが、MongoDB.pmでは必須だったので使ってます。
今では、ぼくもDateTimeにどっぷり!!!!!!1?(^o^)/
Kossy
元々は違うフレームワークで書いていたんですが、
エエイ!使いにくいわ!書き換えてやる!って事で昨日書き換えました。
Kossyは、 GrowthForecastやHRForecastに使われているフレームワークです。
簡単なアプリを作るのにすごい便利なのでオススメです。
そのKossyに書き換えた事で、導入もしやすくなりました。
まとめ
伊右衛門があるとCS対応が非常に捗るのでオススメ!!!!!!!!!!!!!!!!!
そんなわけで伊右衛門の紹介でした〜
https://github.com/hisaichi5518/iyemon
明日は @songmu さんです!楽しみ!!!11