Continuous Code Coverage

Continuous Code Coverage

最近、今更ながらCodecovというサービスを知った。

僕はこれまで3年以上オンラインのカバレッジレポーターツールとして Coverallsを使ってきたが、CodecovはCoverallsのイライラを全部そぎ落としたような物で、見た目もなかなか美しい。

Travis CIとの連携が念頭に置かれているのはもはや当然なのだが、.travis.ymlにどんな設定を書くべきか、というドキュメントがメチャクチャわかりやすい。対応言語ごとのリンクをクリックするだけで、それぞれのexampleにたどり着ける、というわけだ。大変便利。

そしてカバレッジそのものも大変見やすい。Coverallsのあの見辛いカバレッジを、デベロッパーとしてはあまり見たいと思わなかったが、Codecovのそれはgithubにも近いような、エレガントな見た目に整えられている。

ひとまずしばらくはCoverallsの代わりにCodecovを使うことにしようと思う。

Kichijojipm #9 でVSCodeの回し者をしてきた

すっかりブログを書くのが遅くなってしまいましたが、Kichijojipm #9でVSCode for Perlというタイトルで発表してきました。

スライドの元になったMarkdownはこちら

基本的にはVSCodeの素晴らしさを説く内容なのですが、Perlの集まりということもあるので、VSCodeを使うとどんな風に生産性を向上させることが可能か、という観点での発表となりました。

個人的には VSCodeVim/Vim とか vscode-reveal は本当便利だから入れといて損はないよ!と思います。

割といいなぁと思ったセッション、Exporter周りの話とCarton-Mirrorの話なんかは参考になる感じしました。

Net::Azure::CognitiveServices::Face - A wrapper class for Face API of Azure Cognitive Services - metacpan.org

Net::Azure::CognitiveServices::Face - A wrapper class for Face API of Azure Cognitive Services - metacpan.org

以前 Net::Microsoft::CognitiveServices::Face というモジュールを作ったのですが、GitHub止まりにしていたところ、ひょんなことからShipitすることになりました。ただし名前は若干変えていて、Net::Azure::CognitiveServices::Face としてあります。

何をするものなのか

Azureには Cognitive Services というものがありまして、主に画像や音声、自然言語などの認知をサポートしてくれるAPI群となっております。

AzureのMarketplaceを「Cognitive」などのワードで検索するとすぐに出てくるのでわかりやすいかと思います。

今回書いたモジュールはその中でも特にFace APIに特化したものです。例えば顔を認識したり、表情の検出や人物の特定をしたりできるものになります。

なるべく公式のAPIドキュメントと齟齬のないインターフェースを目指しました。

Net::Azure::NotificationHubs - A Client Class for Azure Notification Hubs - metacpan.org

Net::Azure::NotificationHubs - A Client Class for Azure Notification Hubs - metacpan.org

Net::Azure::NotificationHubs というCPANモジュールをリリースしました。

Net::Azure::NotificationHubs は、Azure Notification Hubs を使って、PerlからiOS及びAndroid向けにプッシュ通知を送信可能とするクライアントライブラリです。

使い方はSYNOPSISをご確認ください。

なお、現状ではiOSとAndroidのみに対応しています。まだWindows及びWindows Phoneへのプッシュ通知には対応しておりません。

Net::Azure::EventHubs - A Client Class for Azure Event Hubs - metacpan.org

Net::Azure::EventHubs - A Client Class for Azure Event Hubs - metacpan.org

Azure Event Hubs にリクエストを投げ込むPerlモジュールを書きました。

これを使えば Perl -> Event Hubs -> Function App のようなデータフローで、サーバレスかつスケーラビリティの高い、安価なジョブキューイングシステムをAzureとPerlで構築することができます。