11月28日に横浜のKayacさんのオフィスで開催された, 「Yokohama.pm #12」に参加してきました.
カヤックさんのオフィスは横浜駅近くのビルの30階ということで, 非常に眺めが良かったです.
トピック
Plackサーバ, 構文解析, Go, 社内ツールなど, 様々なテーマのトークが繰り広げられましたが, その中でも印象に残ったトピックを2つ紹介したいと思います.
Gazelle
Gazelle(ガゼル)は, @kazeburoさんがISUCON 2014のために作った, 新しいPlack向けサーバです. 「Hello, world」を表示するシンプルな例ではStarmanの約3倍, Memcachedで数値をインクリメント/デクリメントする(...という内容と仰っていたハズ)の「counter.psgi」でも, Starmanの約2倍の性能を出せる超高速なサーバだそうです.
- kazeburoさんのYokohama.pmでの発表資料: Gazelle - Plack Handler for performance freaks #yokohamapm
- kazeburoさんによるブログ記事: Gazelle: new Simple and Fast Plack Handler for Performance Freaks - blog.nomadscafe.jp
既にlivedoor Blogでは導入が終わっていて, Starletから比べてメモリ使用量が1〜3%減っているそうです.
また, kazeburoさんの次に発表をされた@myfinderさんも, 既に会社のプロダクトに導入していて(...というか, まさかのライブコーディング&ライブデプロイを披露されていました..!), 結果として同じようにメモリ使用量を1〜3%削減出来た, とのことでした.
StarmanやStarletと互換性があるので, plackup -s Starlet
をplackup -s Gazelle
に書き換えるだけで動く, というのも魅力的です.
次に開発するサービスで, 是非使ってみたいと思いました.
XS
@acidlemonさんの, 「GoからPerlを呼んでみる」という「せっかくなのでYokohama.pmでGoとPerlの話 // Speaker Deck」や, @karupaneruraさんの「高速なParser実装が必要になったのでXSを700行くらい書いてみた感想」ではXSに関する話題がいろいろ出てきました.
実は自分も, 大学院時代に修士論文のために開発したPerCUDAでXSを使ったりしていたので, なんというか懐かしい感じに浸っていました.
XSについては, Perldoc.jpにもperlxsやperlxstut, perlapi, perlgutsなどXSに役立つドキュメントが多数日本語化されていますし, @tokuhiromさんが書かれた「CによるPerl拡張入門(α)」というまとまったドキュメントも用意されています.
更に, XSを使ったモジュールのひな形についても, Minillaで生成することが出来るようになっている(その辺りについては, 前の技術ブログにMinillaでXSモジュールを作るという記事を書いています)ので, かなり敷居は低くなっているように思います.
今回のkarupaneruraさんの事例のように, 諸事情あって高速化しないといけない...! という場合は, XSで頑張ってみるというのも普通に選択肢の1つとして入ってくるのではないでしょうか.
自分のトーク
LTの時間を頂いて, 最近取り組んでいる「社内向けツールの開発」についてお話させて頂きました.
PerlCasual #6で簡単に紹介した「DoX*1」を含め, GaiaXでは業務を支援するための様々なツールをPerlなどの言語を用いて開発しています.
以前, Fukuoka.pmなどでお話したチャット基盤「GaiaChan」や, BitBucketのHookを管理して通知する「BucketMonogatari」なども, この一環として開発されたものです.
今回は, その中でもSSH公開鍵管理ツール「Keeman」, HDDやNICのステータスを監視し, 異常を早期検知するための「RMS」, そして障害に特化したチャットツール「TwinkRing」について紹介させて頂きました.
TwinkRingについては, 非常に有用なツールなので, もっと公開していこう! という流れが社内にあるので, kazeburoさんやkarupaneruraさんから好意的なご意見を頂けたのは非常に嬉しかったです.
ワンクリックで全員に電話で障害を通知するのかっこいい #yokohamapm
— かるぱ@5/6池袋Adm (@karupanerura) 2014年11月28日
gaiax の障害対応ツールいいな #yokohamapm
— masahiro nagano (@kazeburo) 2014年11月28日
TwinkRingについては, また近々別途紹介記事を書きたいなー, と思っています.
また, Yokohama.pmでの発表等で興味を持たれた方は, 是非ご連絡頂けると嬉しいです!
感想
「トピック」の所でも述べたように, 今回は「Perl」という言語を軸に, 本当にいろいろなテーマのトークがあって, 非常に面白かったです.
あと, 発表時間が15分というのも非常に良かったです. 長すぎず, 短すぎずといういい塩梅だったと思います.
主催の@mackee_wさん, 会場提供のKayacさん, そして発表者, 参加者の皆様, お疲れ様でした.
次回のYokohama.pmも非常に楽しみになってくる, そんな感じの夜を過ごせました!
*1:Pockerのアイデア元になった, Dockerを使った社内向けステージング環境.