こんにちは MasaKu です。
先日、ブログでもご紹介しましたが、弊社もスポンサーとして協賛している PHPerKaigi 2019 に参加してきました。
発表が大変素晴らしかったことはもちろん、イベントの様々な趣向が面白く、充実したイベントでしたので是非とも参加レポートを書かせていただきたいと思いました。
各発表のスライドは以下の記事で大変丁寧にまとめられております。
全体を通して感じたこと
普段、業務ではPHPで開発を行っておりますが、社外のエンジニアの方でPHPを利用されている方にあまりお会いすることがなかったので、会場のいたるところでPHPの話で盛り上がっている光景がすごく新鮮でした。
技術系イベントでは twitter のハッシュタグが用意されていることが多いイメージですが、このイベントでは発表会場ごとにハッシュタグが用意されていました。
メインのハッシュタグ ・・・ #phperkaigi
A会場のハッシュタグ ・・・ #phperkaigi #a
B会場のハッシュタグ ・・・ #phperkaigi #b
そのため、発表を聞きながらつぶやいた内容をほかの参加者の方が拾って下さったり、何気なく疑問に思ったことをつぶやいたところ、発表後に発表者の方からご回答いただいたりすることもありました。
「PHPerKaigi2019のサイトができるまで」という発表では、PHPerKaigi 2019 のサイトを制作された企業様のアートディレクターの方が発表されていたのですが、サイトのコンセプトを「参加者、スポーカーはもちろん、スタッフ、スポンサーも大いに楽しむ場」とされていました。
イベント会場内に用意されたフリースペースでは、アンカンファレンスが開催されたり、参加者の方々が発表者の方と交流されていたりして和気あいあいとした雰囲気があり、まさにコンセプト通りのイベントだったと思います。
印象に残った発表
様々な発表を聴講させていただいた中で、特に印象的だったものをいくつかご紹介させていただきます。
設計力を上げるバリエーションの見極め術
サービスを運用していると、当初は想定していなかったような新しい機能の追加などが発生します。
そのため、「変化」に強いプログラムを作ることが重要です。
いま開発している機能が「今後の機能追加を考慮すると、こう作るべきだろうか?」という想像力を働かせながらプログラミングする能力が必要だと思いました。
発表の中でもおっしゃられていましたが、上記のような想像力は、業務知識をつけなければ身につかないものなので、コーディング力だけでなく、サービスに対する理解も重要だと改めて思った発表でした。
マニュアルにない引数を与えるとどうなる?php-srcへのバグ報告をした時の話
PHPのバグを報告されたという発表でしたが、バグの報告のために必要な要点をまとめられていた内容が大変参考になりました。
PHPの公式から出ているバグ報告時のルールとして以下のようにまとめられていました。
- 英語で報告してください
- 1つのバグは1つの報告にしてください
- どういう目的のため何をしてどうなったのか報告してください
- 必要十分な情報量で報告してください
- 過去のバージョンのバグは報告しないでください
- 既に報告済みのバグがないか調査してください
- エラーメッセージの内容をちゃんと読んだ上で報告してください
OSSにコントリビュートするということに対して、途方もなく高いハードルを感じていましたが、バグ報告については、開発時のトラブルの報告と似ていると思いました。
それと同時に、普段のトラブル報告の内容でも上記の観点に気をつけながら報告しなければならないと思いました。
バグが見つかった際は「何をすればバグが再現するのか」ということと「関係の無い情報は混同させない」ということを意識していきたいです。
【アンカンファレンス】 STEPUP プログラミング高速化!~「君、プログラミング早いね」といわれるために
プログラミングを早くするための施策を4つのステップでご説明されていました。
- STEP1: 書いて覚える
- STEP2: 綺麗に書く
- STEP3: 書き方を覚える
- STEP4: プログラミングをするプログラムを書く
特に重要だと思ったのはSTEP2の「綺麗に書く」だと思いました。
綺麗な書き方というのはプロジェクトによって様々です。
例えば、使用しているフレームワークが違ったりコーティングルールがあったりと、そのプロジェクトにおける最適な書き方がそれぞれ存在するため、ケースバイケースで書き方を調整していかなければいけません。
書き方に慣れていない時に急いで雑に書いたプログラムは簡単なミスが紛れ込んだり、バグが発生した際に修正コストが大きくなるプログラムになってしまいます。
しかし、プログラムを書き上げるまでに時間がかかったとしても、綺麗に書く事を気をつけておけば、もしバグが見つかったとしても修正箇所が見つけやすく素早く修正できます。
また、綺麗に書くことに慣れてくると、その書き方で素早く書き上げることができるようになってくるので、結果的にバグが少なく、読みやすいコードが短い時間で書けるようになります。
この観点は新しい書き方が増えるたびに更新していかなければならない内容なので、「できるようになった」と思っても気を抜かず、継続的に意識しておかなればならない内容だと思いました。
まとめ
何となく知っているキーワードを頼りに発表を聞くだけでも、「そういうことだったんだ!」といった気づきを得られ、そこから新しい興味も湧いてくるため、こうしたイベントへ参加することは本当にいい経験になると改めて思いました。
イベント自体も発表者と参加者が一緒に楽しめる趣向が盛りだくさんだったので、オーディエンスとしての参加ではありましたが、決して取り残されている感覚にはならないイベントだと思いました。
今後のPHP関係のカンファレンスは以下のとおりです。
- PHPカンファレンス福岡 2019
- PHPカンファレンス北海道2019
- PHPカンファレンス沖縄
- CakeFest - THE CAKEPHP CONFERENCE JAPAN 2019 -
- PHPカンファレンス 2019
残念ながら関西での開催は今のところありませんが、機会があればどこかにまた参加してみたいと思いました。
参考サイト
PHPerKaigi 2019 に協賛します - RAKUS Developers Blog | ラクス エンジニアブログ
PHPerKaigi2019 スライドまとめ - Qiita
PHPerKaigi2019のサイトができるまで - Speaker Deck
設計力を上げる!バリエーションの見極め術 - Speaker Deck
PHPのマニュアルにないことをしてphp-srcへバグ報告をした - Speaker Deck
STEP UP プログラミング高速化 「君、プログラミング早いね」 / Step up! fast programming - Speaker Deck