YAPC::Hokkaido 2016 SAPPORO が楽しかったという話

※このエントリはPerl5 Advent Calendar 2016の11日目のエントリを兼ねております。

どーも、わいとんです。

昨日のエントリで少しだけ触れましたが、YAPC::Hokkaido 2016 SAPPOROに参加しました。

なお、最強のYAPCレポーターと名高いhirataraさんによるエントリが大変参考になりますので、是非ご参照されることをお勧めします。

YAPCとは?

若い方の中にはYAPCってなんぞ?という方もいらっしゃることかと思います。

簡単に解説しておきますと、YAPCというのは_Yet Another Perl Conference_の略称です。大変端折った書き方をするならば、「Perlのカンファレンス」です。そのままですね。

_Yet Another_という接頭辞については、元々_Perl Conference_が別にあるらしいから、という事ですが、詳しくはwww.perl.orgに記載がありますので、興味のある方は是非見てみてください。

初の国内地方都市開催

国内では東京以外で開催されたのは初めてのことでして、軽い観光を兼ねたスケジュールで臨むことにしました。

参加人数は265名(実質185名、後述のことが影響か)で、札幌のポテンシャルと試されっぷりに驚愕しております。

試されっぷり?

実は今回のYAPCは冬の札幌での開催ということもあり、まさにエクストリームYAPCと言える幕開けでした。

  • 新千歳空港が大雪で最終的に閉鎖
  • 閉鎖前に到着した便も2時間ほど遅延したり「途中で引き返す可能性」があってスリル満点
  • 当然空の便は結構欠航
  • 「札幌に着いても安心するなぁ、路面凍結で足元を掬ってやるからなぁ」(CV:大○洋)

とまあ、ホテルや会場に到着するまでエクストリームな心構えを忘れさせない北海道さんの本気を見せつけられた次第です。

あるお方は欠航被害に遭遇したので、機転を利かせてわざわざ成田から北海道新幹線と函館本線を乗り継ぐという、エクストリームの極みと言える旅程を体験したようです。冬の北海道の洗礼はそれだけに止まらなかったようですが・・・

全国各地からPerlつながりで人が集まった

北は北海道(というか札幌開催なので地元の方や道内各地の皆さん)から、南は沖縄まで(しかも学生)、全国津々浦々からPerlというトピックのためにたくさんの人が集まりました。

濃度高めのセッション

タイムテーブルhiratara氏のエントリを見てもわかるように、大変内容の濃いセッションが多かったと思います。

ザクッとまとめてもhttp/2やPerlの詳細なリリース情報、クラウド事業者4社によるパネルディスカッションなど、PerlとWebテクノロジーに興味のある方には垂涎ものの内容でした。

個人的には下記の発表がなかなか刺さる内容だったな、と感じています。

モジュールメンテナンスを通して感じる最近のPerl

モジュールの継続的なメンテナンスにかかるコストに着眼して、後継者へ引き継ぎしやすくする、諦める、などの考えがありますよ、という感じの内容でした。

僕個人としてもモジュールをリリースしている立場として、一言で言えば「身につまされる」セッションでした。Net::Azure::EventHubsのco-maintainerも探さないとな・・・w

PHPエンジニアが初めてPerlでwebアプリを作った話

近年Perlに関する書籍が少ない事や、そもそもドキュメンテーションがあまりないという感想を聞いた時、ドキュメンテーションの薄いモジュールなどを見た時の辛さを思い出してしまいました。

あるモジュールなどに関して、個人ブログにおけるいわゆる「使ってみた」エントリなどはそれなりにあるのですが、一箇所に情報が集約されていないのは確かにしんどいかも・・・

あと、発表者が「PerlのWAFはAmon2Mojolicious使ってみましたが、何か皆さんお勧めのWAFありますか?」という質問をしていましたが、個人的な意見としては中規模以上のWebAppを書くならMojoliciousかAmon2、APIなら自作WAF、小規模なら素のPlackを使うと、この場を持って回答したいと思います。

まとめ

このエントリはチェックアウト直前のホテルの中で慌てて書きました。さて、帰りもエクストリームとなりそうな予感ではありますが、YAPCは楽しいですので、まだ未体験のPerl/Web技術大好きな方は是非次回3月のYAPC::Kansaiなどを検討してみてはいかがでしょうか。

最後に

JPAの皆さん、スタッフの皆さん、そして発表者のみなさんのおかげで大変楽しい思い出ができました。ありがとうございました!

あと今度のYAPC::Amsterdamも行きたいと思います!

2016-12-12 追記

クロージングでJPAのnekokak氏はこう仰っておられました。

nekokak氏のありがたいスライド

さて実は、北海道は札幌でこの追記をしております。

言霊の恐ろしさを感じずにはいられないのです。。。。

builderscon を楽しんできた

まず builderscon という楽しいイベントを実行してくださった運営チームの皆様、大変楽しませていただきました。ありがとうございます。

楽しかったセッション達

細かい感想などについて長々書く気はありませんが(とにかく楽しかった、の一言に尽きるため)、以下のセッションは本当に知的好奇心を刺激する良いものでしたので、リンクさせていただきます。

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へのプッシュ通知には対応しておりません。