姫ヒャクを支える技術
yokohamapm #10
Feb 21st, 2014
Profile
![songmu](images/songmu100.jpg)
姫騎士と最後の百竜戦争
![姫騎士と最後の百竜戦争](images/princess.png)
- スマホで遊ぶアクションRPG
- Android版 2/7リリース
- 40万ダウンロード突破
- iPhone版近日配信予定
- 姫ヒャクと略すらしい
- ArkでTengでTime::Piece::Plusな感じ
WEB+DB PRESS に寄稿しました
![webdb vol79](images/webdb79.jpg)
- Perl Hackers Hubなのにcronの話で9ページ
- App::RunCronの細かい使い方を本邦初公開
- 2/22(明日!)発売
特にネタがないので最近書いたCPANモジュールの紹介
App::RunCron
% runcron -- /path/to/command
- cronのお供に欠かせない存在になった
- cronlogを拡張して、指定したコマンドの終了コードに応じて処理を切り分けられる
- 詳しくはWEB+DB Press Vol.79を(ry
UnazuSan
![fujiwara](images/fujiwara.png)
UnazuSan
use UnazuSan;
my $unazu_san = UnazuSan->new(
host => 'example.com',
password => 'xxxxxxxx',
join_channels => [qw/test/],
);
$unazu_san->on_message(
qr/^unazu_san:/ => sub {
my $receive = shift;
$receive->reply('うんうん');
},
);
$unazu_san->on_command(
help => sub {
my ($receive, @args) = @_;
$receive->reply('help '. ($args[0] || ''));
}
);
$unazu_san->run;
Gearman::Starter
% gearman-starter.pl --server=127.0.0.1:7003 MyApp::Worker::Hoge MyApp::Worker::Fuga
- tokuhiromの
gearman-starter.pl
をモジュール化してCPANize。forkが分散してたので、まとめて整えた感じ
- gearmanのワーカーを上げてくれる君
- Parallel::ScoreBoardによる監視機能
- 監視用のポートを開ける機能
APNS::Agent
% apns-agent --certificate=path/to/cert.cer --private-key=path/to/cer.key
Twiggy: Accepting connections at http://0.0.0.0:4905/
% curl http://127.0.0.1:4905 -d 'token=1111111111111111111111111111111111111111111111111111111111111111&alert=test%20message'
- Twiggyとかで立てる、iPhoneのpush通知プロキシサーバー
- curlでお手軽push通知
- アプリケーションから直接投げるときとかにブロックしなくて良い
- コンセプト実装
- コントリビュートを期待しております
Teng::Plugin::ResultSet
- ResultSet in Teng!!!
- 個人的には便利だと思っている
- MyApp::DB::ResultSet::TableName 的なところにテーブル毎の絞り込み設定とかを定義して使ってる
Cache::Scalar::WithExpiry
use Cache::Scalar::WithExpiry;
use feature qw/state/;
state $cache = Cache::Scalar::WithExpiry->new();
my ($value, $expiry_epoch) = $cache->get_or_set(sub {
my $val = Storage->get;
my $expiry_epoch = time + 20;
return ($val, $expiry_epoch); # cache in 20 seconds
});
- ほとんどCache::Memry::Simple::Scalarのパクり
- expireを秒数決め打ちじゃなくて可変にしたかった
Time::Piece::Plus (急遽追加)
- takujiさんが作ったのを引き継いで使ってる
- Time::Pieceのラッパ
- 速い(しかしTime::Momentが速すぎる)
- DateTimeに似たようなインターフェースが揃っている(破壊的操作はしない)
- add/subtract
- truncate
- today
以上
- We Are Hiring!!!
- Any Questions?