$shibayu36->blog;

株式会社はてなでエンジニアをしています。プログラミングや読書のことなどについて書いています。

QA Hackathon at Tokyoに参加してPrePANとCinnamonの開発をしました

QA Hackathonが東京であったので、PrePANとCinnamonの開発をしてきました。

PrePAN

id:antipopさんと相談して、とにかくレビューをちゃんとしてもらわないと話にならないから、コメントがついたりしたらアプリケーションの通知と一緒に、メールでも通知しようという話になり、それを実装しました。

PrePAN New Feature: Email Notification | kentaro [blogs.perl.org]

上のような感じで、自分の投稿したモジュールや自分のコメントしたモジュールに新しくコメントがつくと、メールで通知が来るようになりました。通知をやめたい場合はプロフィール画面から設定が可能です。

あとついでにユーザページのURLを変えたりしました。これまではuserのidをbase58 encodeしたURLになっていたのですが(http://prepan.org/user/3Yz7PYrBvy)、それをuserのnameを使ったURLに変更しました(http://prepan.org/user/kentaro@github)。

Cinnamon

その後Cinnamonの開発をしてコマンドの並列処理をやっていました。やり方がいまいち分かっていない感じだったのですが、id:antipopさんに教えてもらったらすぐ出来ました。あんちぽさん++

現在はdeveloper releaseにしているので以下のコマンドでインストールが出来ます。

$ cpanm --dev Cinnamon

実行すると以下のように全サーバ並列で処理が進みます。installdepsだったら現状2台のサーバを立ててたとしたら、実行速度が大体2倍になります。

$ cinnamon production installdeps
[cinnamon-deploy-sample-web1 :: executing] cd /home/vagrant/cinnamon-deploy-sample && cpanm --quiet -n -L local --mirror '/home/vagrant/cinnamon-deploy-sample/cpan' --mirror-only --installdeps . < /dev/null; true
[cinnamon-deploy-sample-web2 :: executing] cd /home/vagrant/cinnamon-deploy-sample && cpanm --quiet -n -L local --mirror '/home/vagrant/cinnamon-deploy-sample/cpan' --mirror-only --installdeps . < /dev/null; true
[cinnamon-deploy-sample-web1 :: stderr] Successfully installed File-ShareDir-Install-0.04
[cinnamon-deploy-sample-web2 :: stderr] Successfully installed File-ShareDir-Install-0.04
[cinnamon-deploy-sample-web1 :: stderr] Successfully installed Try-Tiny-0.12
[cinnamon-deploy-sample-web2 :: stderr] Successfully installed Try-Tiny-0.12
[cinnamon-deploy-sample-web1 :: stderr] Successfully installed ExtUtils-MakeMaker-6.64 (upgraded from 6.57_05)
[cinnamon-deploy-sample-web2 :: stderr] Successfully installed ExtUtils-MakeMaker-6.64 (upgraded from 6.57_05)
[cinnamon-deploy-sample-web1 :: stderr] Successfully installed Hash-MultiValue-0.13
[cinnamon-deploy-sample-web2 :: stderr] Successfully installed Parallel-Prefork-0.13
....

[cinnamon-deploy-sample-web1 :: stderr] Successfully installed Starlet-0.18
[cinnamon-deploy-sample-web1 :: stderr] 40 distributions installed
[cinnamon-deploy-sample-web2 :: stderr] Successfully installed Starlet-0.18
[cinnamon-deploy-sample-web2 :: stderr] 40 distributions installed

========================
[success]: cinnamon-deploy-sample-web2, cinnamon-deploy-sample-web1
[error]:

設定などをちゃんと出来るようにしたら正式にリリースしようと思います。どうぞご利用ください。

まとめ

京都から東京まで来てハッカソンしたけど、それなりに時間を区切って作業すると進むのでよかったです。あとやっぱりたまに外部の人となにかやらないと緊張感がなくなっていって良くないなと感じたので、もうちょっといろいろな勉強会等に参加したいです。