PHPerKaigi 2018 に参加しました
3 月 9 日から 3 月 10 日に開催された PHPerKaigi 2018 に参加しました。会場は練馬区立 区民・産業プラザ Coconeri ホールでした。
phperkaigi.jp
全体的にとてもくだけた雰囲気で、お祭り感覚で楽しめるカンファレンスでした。発表はどれも内容の濃いもので、前夜祭も本編も、熱中して聴いているうちにあっという間に時間が過ぎてしまいました。今回、参加種別にサポーター枠というものが用意されていて、電源コンセントを使える座席で発表を聴けました。バッテリー残量を気にすることなく、疑問点をウェブで調べたり実際にコードを書いたりしながら発表を聴けるというのは、よい環境でした。
3 月 9 日に開催された「前夜祭」では、3 件の発表がありました*1。それぞれ勉強になる内容でした。私の興味に近い分野では、do_aki さんの「PHP と SAPI と ZendEngine3 と」は PHP の内部実装を学ぶ取り掛かりとして丁寧な分かりやすい発表でした。前半の SAPI の説明が特に良かったと思います。プログラミング言語処理系の実装のうち、コンパイラ、インタプリタ、ガベージコレクションあたりのメイントピックについては教科書や解説資料も豊富なのですが、SAPI のような各処理系に特有の泥臭い部分を分かりやすく説明する資料というのは決して多くなく、今回の発表はとても貴重なものだったと思います。
3 月 10 日は、一般的な講演スタイルの Track A と、アンカンファレンスやディスカッションといった参加者同士の交流を中心とした Track B の 2 トラックの構成でした。私は、興味のある講演内容が多かったこともあって Track A を聴いていたのですが、Twitter のハッシュタグを見ていると Track B も盛況だったようです。
ベストトークに選出された、後藤秀宣さんの「SOLIDの原則って、どんなふうに使うの?」は、新人エンジニアのコードを先輩がリファクタリングしていくというストーリーで、オープン・クローズドの原則に従う設計に成長していく流れを説明するものでした。話者の後藤さんが演じる新人のキャラクターが何とも可愛らしく、とても楽しく分かりやすい発表でした。発表後の質疑応答にもあったのですが、Presentation, Resolver という要素が登場するあたりは、やはり経験なのかなと思います。
speakerdeck.com
その他の各発表も、LT も含めて大変面白かったです。ちょうど年明けに『テスト駆動開発』の写経をしたタイミングだったので、うさみけんたさんの「PHPでテスティングフレームワークを実装する前に知っておきたい勘所」は、アプローチの違いを考えながら聴くことができて新鮮でした。また、私は最近 PHP-ML に興味を持っていて、ときどき PR を送ったりと僅かながら開発にも参加しているのですが、東口和暉さんによる LT の「レビューをもらいやすい細かいプルリクの切り分け方」は自分の経験と照らしたり、また業務と OSS での違いを考えるきっかけにもなりました。その PHP-ML では PHPStan を利用していて、hiraku さんの「PHPStan で始める継続的静的解析」も参考になりました。 竹澤有貴さんの「Hack で作るマイクロフレームワーク」では、最近の Hack の方向性を知ることができました。Hack は初期の頃に少しだけ試してみたことがあったのですが、PHP 7 で性能が向上したこともあって、その後まったく追っていませんでした。今は PHP とは方向性の異なる言語として開発が進められているのですね。と、こんな調子で書いていくときりがないのですが、本当にどれも素晴らしい発表でした。
懇親会では美味しいビールをいただきながら*2、参加者の方々との技術的な話題で楽しく盛り上がりました。懇親会でも LT がありましたが、私はロゴの話が特に印象に残りました。「PHP って動的?静的?」というところで私は、それがロゴに何の関係があるのだろう?と思ってしまったのですが、「ロゴにも動きを持たせたい」ということだそうで、ほぉ・・・と感心してしまいました。そういうことを一つ一つ考えながら作っていくものなのですね。
終始楽しいカンファレンスで、貴重な時間を過ごさせていただきました。次回は Interactive Round Table といった企画の方にも参加してみたいですね。スタッフをはじめとする皆様、ありがとうございました。