こんにちは、エンジニアの丹賀です。
3月9日(金)の前夜祭、3月10日(土)の本編と二日間に渡って開催されたPHPerKaigi 2018に一般参加してきました。
会場は東京都練馬区にあるCoconeriホール。東京で開催されるPHPのイベントといえばPHPカンファレンスが有名ですが、PHPerKaigi(ペチパーカイギ)は今回新たに立ち上げられたカンファレンスです。公式サイトのデザインもとてもオシャレ。デザインの一部に見える絵文字にも隠された意味があったりと、遊び心に溢れたイベントでした。
前夜祭で3つ、本編で6つの発表+ランチセッション+LTという構成で、それらと並行して別トラックで飛び入り参加可能な企画が行われていました。どこも大盛況でキャパシティいっぱいまで人が来ていたのではないでしょうか(伝わりづらい写真ですみません)。カンファレンスではあるけれど堅苦しい雰囲気はなく、前夜祭とLTの時間にはお酒が配られるなど、お祭り感の強いイベントでした。PHP初心者からベテランまで幅広く楽しめると思います。
以下、聞いてきた発表の感想になります。
PHPでテスティングフレームワークを実装する前に知っておきたい勘所
スライド:https://niconare.nicovideo.jp/watch/kn2945
PHPUnitのようなテスティングフレームワークをフルスクラッチで作っていく過程を追った@tadsanさんの発表。power-assert風の読みやすいエラーメッセージにはかなり惹かれるものがあったのですが、PHPではどうしてもテストの記述が煩雑になってしまうとのこと。Hamcrestのマッチャーについては、以前「実践テスト駆動開発」という書籍で紹介されているのを見て気になっていたので、機会を見つけて試してみたいと思います。
php と SAPI と ZendEngine3 と
スライド:https://www.slideshare.net/do_aki/php-sapi-zendengine3
WebサーバやCLIとPHPのコア(Zend Engine)の間の通信を抽象化するSAPI、オペコードのコンパイルの流れなど、普段はあまり意識しないPHPコードの裏側のお話。登壇者は PHPは何年も使ってきたのですが、まだまだ知らないことがあると分かってわくわくしました。筆者は最近趣味でphp-srcを読み始めたので、解読の手がかりとさせていただきます。図解が豊富でとてもわかりやすいスライドでした。
大統一PHP
スライド:https://speakerdeck.com/uzulla/da-tong-php
タイトルからすごく気になっていた @uzullaさんの発表。PHPの「普通じゃない」ところをひたすら「普通」に近づけるための涙ぐましい努力をまとめたお話でした。PHPプログラマにとって当たり前に存在しているものが「普通」のプログラミング言語の世界にはないという、PHPのいい所が逆に浮き彫りになる内容でもあったと思います。イベント・ドリブンのPHPサーバ、ReactPHPも気になるところです。なによりトークの勢いに圧倒されました。
今からでも出来る!Webサービスモニタリング!!
スライド:https://speakerdeck.com/soudai/phper-monitoring
サービスに焦点を当てたモニタリングの話。
さんによるPHPerのためのモニタリングのお話です。CPUやメモリ等のシステムメトリクスだけでなく、サービスそのものに起きている変化を可視化し、定期的かつ継続的に観測する重要性が語られました。具体的な観測対象や観測方法についても幅広く述べられているので、将来モニタリングで困ったときにはこの発表に立ち返りたいと思います。「計測より観測」という言葉は胸に刻んでおきたいですね。
BEAR.Sunday
スライド:https://speakerdeck.com/koriym/bear-dot-sunday-2018
登壇者の@koriymさんが開発されているリソース指向のアプリケーションフレームワーク、BEAR.Sundayのプレゼンテーションです。AOP(アスペクト指向プログラミング)についてのわかりやすい説明やRESTful APIにおけるリソースをそのまま表現するモデルクラス、アプリケーションを一つの巨大なオブジェクトとして捉えるオブジェクトグラフの考え方など、新しい視点をいくつも与えていただきました。
PHPStanで始める継続的型検査
スライド:https://speakerdeck.com/hirak/php-static-analysis
PHPの静的解析ツールPHPStanをCIに組み込むお話。筆者のチームでも以前からPHPStanを利用しているのですが、登壇者の@Hirakuさんの技術記事には大いに助けていただきました。弱い検査レベルと強い検査レベルの2段階でチェックして、前者を通過出来なかったらCI失敗、後者を通過出来なかったら自動的にプルリクエストにコメントをつける(reviewdog)という運用には納得。静的な型チェックが難しいところは無理せずmixedを使って自動テストで守るという柔軟なスタンスも見習いたいです。
どの発表もディーブな技術的知見と登壇者の個性を感じられる内容で、自分も次はあの場に立ちたいという思いを強く心に抱きました。
一部発表を聞き逃しているのはTrack Bに行っていたためです。
Track Bで印象的だったのがInteractive Round Tableという企画。これはあらかじめ決められたテーマについて、20分を1セッションとして自由に討論をするというものです。議長以外は即席で集まったメンバーです。自分は「PhpStorm相談会」というお題のテーブルに参加させていただきました。先日弊社でもPhpStormを全社的に導入したのですが、同じようにPhpStorm化を推進している方々のお話を伺うことができました。チームでPhpStormを使う上での知見を得られたので、さっそく会社に戻ったら取り入れたいと思います。しかし議論に熱中するあまり、お弁当を受け取り損ねるという事態に……。
この他にも発表が終わったばかりの登壇者の周りに集まって直接質問ができるAsk the speakerのコーナーなど、全ての参加者が活発にコミュニケーションを取れるような仕掛けが多く取り入れられていました。
ポッドキャスト「PHPの現場」の公開収録も行われました。毎回欠かさず聞いている番組なので、個人的にとても楽しみにしていました。今回の収録分は既に公開されているので、是非聞いてみてください! 会場の雰囲気が伝わってきますよ。
懇親会では何種類ものクラフトビールが振る舞われていました。ビールにこだわりのある運営スタッフの方々が厳選したそうです。前夜祭のあとのPHPrePartyと懇親会のあとのPHPostPartyにも顔を出させていただきました。こちらは懇親会と比べて少人数の打ち上げという趣で、その分濃いお話をたくさん聞くことが出来ました。
北海道から来たと言うとみなさん驚かれるのですが、弊社にはカンファレンス参加制度というものがあり、遠方のカンファレンスに参加する際の交通費と宿泊費が支給されます。来年またPHPerKaigi 2019が開催されることを心待ちにしたいと思います。
インフィニットループでは北海道に移住したいPHPerの方、これからPHPerになりたい方、北海道から日本中のカンファレンスに参加したい方を募集しています! 詳しくは弊社HPの採用情報をご覧ください。