Hokkaido.pm#5 に参加しました!
東京在住なこともあって、PerlといえばYAPC::Asiaには毎年聴講には行ってはいるのですが、その他の小中規模の勉強会やカンファレンスの出席には、恥ずかしがり屋の性格が出たりしてなかなか足が向きませんでした。そんな中、今年(2011年)のゴールデンウィークの谷間に永谷さん(@onagatani)とお会いしたことがきっかけで、Hokkaido.pm初参加の上に人生初スピーカーまでやることになりました。本当にありがたい出会いでした。
自分の発表分「mod_perl温故知新」の振り返りも含め、参加者の皆さんの聴講内容を自分なりに振り返っていきたいと思います。
最も素早くレポートをブログにアップした@hirataraさんの記事「今日はHokkaido.pm #5の日です」や、参加者の皆さんのレポートを集めた@aloelightさんの「Hokkaido.pm#5の参加レポート一覧」は今回のイベントの良い参考になると思います。
以下、レポートというか私の主観が入った感想文寄りになっています。長文ゴメンナサイ。
@charsbarさん「今年の夏休みは」
PerlでSDL、ゲームを作る。Perlではそこそこ知られている?ニコ動で検索するとPerlでSDLやってる動画が出てくる。Ruby SDLは元気とのこと。
ゲームはLTのネタとしていいよという話が出ました。2006年に数独をテーマにして好評だったとのこと。今回のLTでもマ◯オが動いていたので、まさにタイムリー。
倉庫番が軽快に動いていました。6000行程度のこと。
次が自分の発表だったので、メモはそこそこ、聴講しながらも緊張していて内容があまり頭に入ってきていませんでした。申し訳ないです@charsbarさん…
@xtetsuji「mod_perl温故知新」
はい、私自身の発表です。
人生初スピーカーなので「持ち時間20分。20秒1枚で80枚スライド作ればいいかな(算数がそもそも間違っているところもポイント)」と血迷ったことを考えた挙句、緊張と気合を入れすぎて100枚近く作ってしまい、前日の夜に慌てて枚数をreduceしたものの、90枚程度になってしまいました。スピーチ練習の時も20分に収めようと思って早口芸人のようになってしまい、大丈夫かな…でももう時間ないし…といった状態で望んだ次第です。
スライドにも書いた通り、あまり新しめのネタを持っていなかったのと、mod_perlなら私自身いろいろな知見を持っているということもあって、テーマをmod_perlにしました。正直「mod_perlはオワコン」なんて質問が来ないかドキドキでしたが(冒頭でPlackの話を出したのもそんな恐怖心からだったり)、後でTwitterを眺めてみると「PerlTransHandlerをmod_rewriteのリファクタリングに使う」といった前段のネタに関心してくれた方も居らっしゃったようで安心しました。
それこそ辞書のように分厚いApache C APIの書籍やmod_perlの書籍自体が出ているくらい(しかもツライことにほとんどが洋書)で、そんなmod_perlの全容を話すことは20分では到底できませんが、Connectionサイクル・フェーズでSMTPサーバを実装して商用サービスに投入して安定稼働させている、という部分のコンセプト紹介と多少の自慢ができてよかったです。
スライド中でも解説しましたが、qpsmtpd自体にもApache2のConnectionサイクル・フェーズで動作させる Apache::Qpsmtpd なるものがありますので、今回のApache2の意外な利用法に興味を持った方はそちらをご覧いただくと良いと思います。
余った時間をいただいて25分にしていただいたのにも関わらず、IV部のnginxの解説(PerlEmbeddedModuleとmod_perl1の類似性)とまとめ・参考文献までたどりつけなかったのは明らかに盛り込みすぎでした。ここは反省点でしたが、多様なウェブサーバ・WAFの選択肢がすでにある現代でも、むき出しのmod_perlに興味を持っていただける方が少なからずまだいらっしゃることは分かったので、今後は日本語の情報を私の手で出していければなと思った次第です。
以上、反省会終了です。ご意見いただければ私の活力になります!
スライドは近日中にどこかにアップします。アップしたら Twitter @xtetsuji などでお知らせします。
(2011/07/22追記)
SlideShareにアップしました http://slidesha.re/ofTYRS
また、以下のUstream録画から私の発表の様子をご覧になれます。
- http://www.ustream.tv/recorded/16024610 (途中から登場します)
- http://www.ustream.tv/recorded/16024777
- http://www.ustream.tv/recorded/16025103 (途中まで登場します)
@lapis_twさん「libperl++」
C++のコードをPerlで使えるようにするライブラリの話?私、CとかC++分かりません!けど、書ける人できる人尊敬します!
XSはCのバインディングだけど、ExtUtils::XSppというのがあってこれがC++のバインディング、みたいな話。
デモが動かなかった!YAPC::Asia2010では動いたのに!
CやC++を勉強してみようと思ったセッションでした。
@nekokakさんのセッション
様々な有用なプロダクトを世の中に輩出している@nekokakさんですが、今回は特定プロダクトに偏った話ではなく、ご自身の経歴や、エンジニアはどうあるべきか、といった「スピリチュアルな話」をされました。
昨年のYAPC::Asia2010で「省サーバ運用」を発表してベストスピーカー賞を受賞するほど共感を多数もらい、みんなが感じていたことだと思ったとのこと。
「カンファレンスは情熱をもらう場所」という言葉には心打たれました。YAPC::Asiaに聴講しに行ってもそうですが、発表者になるとフィードバックが返ってくることで、もらえる情熱はより多くなることも今回実感しました。
相反する事象「自分で作ったものが使えない」「自分で作ったものを使え」といったお話も。TengやDBIx::Skinnyは自社では使えない…けどそこは折り合い。自プロダクトにこだわりすぎてはいけない。だけど、KamuiもQudoもDBIx::Skinnyも自分が使うために作ったもの。そうでないと良い物は作れない。「ドッグフードを食べよ」はまさに的を射た言葉でした。
尊敬するエンジニアに樋口さんと@tokuhiromさんを挙げられていました。客観的に判断ができ、視野が広い、そしてなにより技術力がある方々であると(私がざっくりと表現してしまいましたが)。
エンジニアはモノを{作る,使う}だけで終わらない事。リーマンプログラマも製品開発に必要な要員ではあるが、自分がどうなるかは全ては自分次第。
nekokakさん自身の歴史。謙遜は入っているとは思いますが、社会人最初の2〜3年は文系出身のリーマンプログラマだったとのこと。そして少しずつステップアップしていって、YAPC::Asiaに応募するまでになった。
DevOpsの話。開発と運用のコラボ。小規模な会社だと開発者==運用者であることが多いですが、開発者とインフラ担当者の分断めいたものを一時体験した私にとっては、結構興味深い話でありました。チーム一丸となって相互理解をして作業していきたい私にとっても、今後DevOpsはウォッチしていくキーワードになると思います。
「この中でYAPCで発表する人」と挙手アンケートがあった気がします。私は前の席に座っていたため会場を全貌できていなかったのですが、挙手する人は(ほとんど or 全く)居なかったようです。確かに私も次がYAPCだとさすがに敷居が高いので、もしYAPCでやるなら数年後、地方.pmや地方OSCでスピーカーとして修行を積んだ後かな!と心の中で思いました。でもいつか立ってみたいYAPC::Asiaの壇上!
WEB+DB PRESS PerlHackersHubへの投稿→JobQueue。Perlコミュニティを盛り上げていこう!ぜひ北海道から、という締めのお言葉でした。
個人的なことですが、YAPC::Asia2010で「省サーバ運用」のセッションを聴講してから、私は@nekokakさんのファンになりました!懇親会等でも相談に乗っていただきましたが、著名な方と近距離で話せるHokkaido.pm、オススメです。
JPA++
@dont_cocoaさん「テスト駆動開発」
TDDのお話。
TDDBCというTDDについての勉強会?が札幌で行われた。@t_wadaさん主導、ペアプロ形式。
例としてwalk,say,stopの3メソッドを実装するPersonクラスを例に説明。実際に実装をしていく簡単な例は、あまりTDDのことを知らない(必要性は以前から感じていたけど)私みたいな人にとっては非常にありがたかったです。最初は必ず自明にFAILするテストコードを書いてそれをPASSするコードを実装していく、の繰り返し。
TDDをやってみて感じたことは、見通しの良いコードを書くようになったとのこと。確かにそうかも。
質問タイムで、異常系のテストへの対応と、VCSとのつながりについて話題に上がりました。注目されています。私の会社でも少しずつTDDを導入していきたいと思いました。
LT
- @akiymさん「Base64を再実装する」
高校生!Amon2にモジュールをコミットしたり、いくつかのプロダクトにpull-reqしている 。アクティブな方。
Base64はイケてない!→アルファベットと数字→じゃぁひらがなで→Acme::Collector64→Japanese64と読んだらいいよ→ 秘密の暗号やふっかつのじゅもんにどうぞ→ひらがなじゃなくても魚へんの漢字でもできるよ(demo)→カッコイイ - @koji**さん「道具の要らないHello World」
スライド無し、ノートパソコン無し。何も「武器」を持たず壇上に立つ姿はある意味かっこ良かった。
perl -e ‘print “Hello world!”‘ と指で書く。ここから色々な要素を解説していく。Googleに頼らないでまずいじってみる。 - @hirataraさん「ウヰスキーとPSGI」
uWSGI=>ウィスキーと読む。面倒なので Plack::App::uWSGIを書いた。 デモでウェブサーバに接続してみる。 - @techno_nekoさん「Perl meets beat」
テクノ好き。 ハンドル名にもtechnoが入っているくらい。なので今回PerlでWAVファイルを生成してPerlでテクノを実践してみた→音がリズムよく鳴った→会場湧く→質問「それどのソフトで作った音ですか?」疑惑(ネタ) - @keroyonn_さん「Perl meets 次世代ゲームコンソール」
iPhone/AndroidにはPerlの開発環境がない(SL4Aはあるけど…) →iPhone/Androidの数よりウェブサーバの数のほうが多い→圧倒的じゃないか!→デモであのマ◯オを動かす→会場湧く→実装は AnyEvent+TermKey+Curses→銭が欲しい→流通はCPANで無料配布して暇なサーバ監視員を堕落させる→堕落したサーバ監視員を監視するサービスを経営者に売る
その後
懇親会まで時間があったので、@techno_neko さんの疑惑を晴らすべく、数名の方が実際にGitHubにアップされているコードで実験。実際に音がなって疑惑解消。
懇親会
北海道ビール園(札幌ビール園ではない)でカニづくし。すごかった。北海道の美味しい食べ物が食べたい人はぜひHokkaido.pmへ来るといいと思います。
二次会
場所を移してまったり飲み。@onagataniさんが@nekokakさんにKamuiラブしていた。今ならAmon2じゃない?といった話の流れ、等々。
まとめ
Hokkaido.pm は初参加でしたが、レベルの高い話を聴講できたり、自分も初スピーカー体験ができたり、懇親会では有名人の方々と近い距離でお話ができたりと、とても楽しい体験ができました。
私自身は、その後五次会まで参加して、特に四次会では@aloelightさんとmod_perlについて熱心に語らせていただきました(一方的に熱が入ってしまいスミマセン…)。ずっとお会いしたかった@usa2jpさんとも二次会の後半から五次会までお話できて、とてもよい経験ができました。
あ、初トゥギャりしてみました「Hokkaido#5 まとめ」http://togetter.com/li/164058
以上、長文になってしまいましたが、Hokkaido.pm#5 参加レポートでした。ここまで読んでいただいた方、ありがとうございます。