🐘

PHPerKaigi 2024が楽しかったというお話

2024/03/13に公開

はじめに

PHPerKaigiに初めて参加し、全力で楽しんだというお話をさせてください!
なお、本記事は筆者の主観による感想が多く含まれておりますのでご留意ください。

PHPerKaigiについて

PHPerKaigi(ペチパーカイギ)は、PHPer、つまり、現在PHPを使用している方、過去にPHPを使用していた方、これからPHPを使いたいと思っている方、そしてPHPが大好きな方たちが、技術的なノウハウとPHP愛を共有するためのイベントです。

PHPerKaigi2024公式サイトより引用
https://phperkaigi.jp/2024/

day0 前夜祭

夕方開始ということもあり、仕事をしながらニコニコ生放送を視聴する形で参加しました!

前夜祭説明 by 長谷川智希(@tomzoh
https://fortee.jp/phperkaigi-2024/proposal/585e66a9-5ab1-4c7c-9b24-bd54c39dbf43
本イベントの実行委員長である長谷川さんによるイベントの説明と注意事項の案内、そしてPHPerKaigiの開幕が宣言されました🎊

イベントの開催宣言というのはいつもワクワクしますね!

Readable 正規表現 by shusock(@shunsock
https://fortee.jp/phperkaigi-2024/proposal/eff9589b-b603-4b23-aa35-42948443a80b
正規表現は複雑で難しく苦手意識のある方もいると思います。
しかし、正規表現はシンプルで汎用性が高い「良い性質(=正規)」のものであるということで、なぜ複雑で難しいと認識されてしまうのかとその解決方法をお話されていました。

私も正規表現に苦手意識がありましたが、責務を分離することで簡単になっていくということを聞いてとても納得しました。
正規表現もソースコードだと思うと少し見る目が変わりそうです。

マイクロサービスがほしいと思ったときに本当に必要だったもの〜なぜ人は共通基盤の夢を見るのか〜 by 菱田裕美(@77web
https://fortee.jp/phperkaigi-2024/proposal/6f9d136a-8963-4f44-b4d2-8b68ecaac063
マイクロサービスが欲しいと思うであろうパターンを複数例紹介し、マイクロサービス以外での解決方法を提示しながら本当にマイクロサービスが必要なのかというお話されていました。

モジュラモノリスや様々プラットフォームがある今、なぜマイクロサービスなのかを考える時代になってきたのかなと感じました。
少なくとも銀の弾丸を期待したり、流行に流されるといったことだけはしないように心がけます。

day1

弊社から2名がルーキーズLTで発表する日だったので、私を含めた3名でオフライン参加しました!

古くなってしまったPHPフレームワークとPHPのバージョンアップ戦略 by bmf-san(@bmf-san
https://fortee.jp/phperkaigi-2024/proposal/6f22f53b-1a3d-43f0-9330-a6046c96df85
メジャーバージョンが変わるようなバージョンアップというのは大変な作業となる印象でしたので、こちらのトークを聞きにいきました。

実装よりも調査等に時間をかけバージョンアップによるリスクをどれだけ察知できるかということがとても重要そうであると感じました。
また、内発的なモチベーションが生産性を左右するとのことで、バージョンアッププロジェクトだけでなく常にモチベーションを管理できると良いのではないかと感じました。

Laravel OpenAPIによる "辛くない" スキーマ駆動開発 by 武田 憲太郎(@KentarouTakeda
https://fortee.jp/phperkaigi-2024/proposal/9e2e6c38-d078-4efa-99b4-83ebf9033b34
OpenAPIドキュメントにソースコードや仕様書が依存することで辛くないスキーマ駆動開発を実現するというお話しで、OpenAPIドキュメントの作成方法やどのようにOpenAPIドキュメント依存させるかを解説されていました。

最近のシステムはバックエンドとフロントエンドが別れることが多いと思いますので、両者の中で生まれる認識の齟齬を無くすためにOpenAPIドキュメントからソースコードを自動生成するライブラリはとても重要なものになりそうです。

余談ですが、こちらのトークではタイトルに「"」が含まれていたため動画作成用のスクリプトでエラーになってしまい、紹介ムービーが流れないというトラブルがありました。
しかし、せっかくナレーションを収録しているのだからということで、Today's Update(この日あったことの紹介をするトーク)にてナレーションを流されていました。
運営の方の対応力がとても素晴らしいと感じました。

帰ってきた「完成度低いの歓迎LT大会」(PHPerKaigi出張版) by すぎやま@MASH弦楽団(@oogFranz
https://fortee.jp/phperkaigi-2024/proposal/89879dc7-5e21-4cf6-b5bf-a629dc61279d
サイボウズさんで不定期に開催している「完成度低いの歓迎LT大会」をPHPerKaigiでやろうということで、3名の方がLTをされていました。

LTなどの発表というのはハードルが高くはじめの一歩が踏み出すのが難しいので、小さな歩幅でいいから一歩前に進もうと背中を押してくれるような取り組みはとても良いなと感じました。
といっても、今回発表されたLTは全て完成度が高く、とても参考になるものだったんですけどね!

PHP8の機能を使って堅牢にコードを書く by Endo Futoshi(@Fendo181
https://fortee.jp/phperkaigi-2024/proposal/ae2ded4d-8e7e-47a0-85d1-26a8c92308ac
私自身最近になってPHP8を使うようになったため気になってこちらのトークを聞きにいきました。

堅牢なコードを書くときは「出来てはならぬことを禁じる」のではなく、はじめから「出来ていいことだけを出来るようにする」と考えるとおっしゃっていたのが私の中でとても印象的でした。
PHP8以降色々な機能が追加され、全ての機能を理解して使いこなすというのは難しいことではあると思いますが、これを機に事例などを調査して少しずつでも理解していきたいです。

「わたしたちのコード」を安定させるためにフレームワークとの距離を保つ by 大橋 佑太(@blue_goheimochi
いわゆるLaravel Wayに則ることでスピード感のある開発ができることに触れながらも、Laravelに依存することによる弊害の例を提示し、その解決方法をお話されていました。
発表ではフレームワークへの依存度を下げていて良かったことの実例を挙げており、メリットの理解がしやすかったです。

フレームワークにどこまで依存するかは、とにかく速く開発してリリースするのか、後々のことを考慮して綺麗なアーキテクチャにすることに時間をかけるのかなど、プロジェクトごとの重点を置く箇所によって変わってくるため、常に何が最適か考えながら開発していく必要があるのかなと感じました。

ルーキーズLT

件数が多いため詳細は省かせていただきますが、勢いのあるLTがあったり、作り込まれたとても参考になるLTがあったりと、とても楽しめました。
ルーキーズとは銘打ってますが、どれも完成度が高く面白かったです。

ちなみに本イベントのLTでは登壇者の推し色にペンライトを光らせて、時間切れ間近になるとみんなで振って登壇者に時間切れが近いことを教えるようになっていました。
会場の一体感がとてもすごかったです!

なお、弊社から登壇した2名の登壇レポートもございますので、ぜひご覧ください!
https://zenn.dev/babyjob/articles/951547a408a202
https://zenn.dev/babyjob/articles/5a1df86289b224

day2

私は一人でオフライン参加してきました!


スタッフさんから声かけていただいて撮ってもらいました!

PHPとFluentdで実現するリアルタイムログ分析 by 当田昇(@picopico_dev
https://fortee.jp/phperkaigi-2024/proposal/c27dee07-1f76-481f-89fa-3d7e7604bdfd
ログ分析とFluentdの概要、Fluentdを使用したPHPのログ分析をどのようにやっていくかというのをお話されていました。
Fluentdを利用することで複数サーバーのログを一元管理でき、ログ形式の統一も図れるようになるとのことです。

設定を調整すればログ分析以外にデータ分析等でも利用できそうで、汎用性は高いのかなと感じました。
何か導入できそうな機会があれば試してみたいです。

RubyVM を PHP で実装する〜Hello World を出力するまで〜 by めもり〜☆(@m3m0r7
https://fortee.jp/phperkaigi-2024/proposal/ac59d0dd-795a-47cb-ba59-c0b1772d00cc
RubyVMの概要からどのようにPHPでバイナリを読むのかというのをお話されていました。

中々マニアックな話ではありましたが、新しい言語を学ぶときに刺激が欲しいというのはよくわかるなぁと思いながら話を聞いていました。
どうせなら楽しく学びたいですからね。
ちなみにVM実装に必要なのはやる気と根気と負けない気だそうです!

ファイル先頭の use の意味、説明できますか? 〜PHP の namespace と autoloading の関係を正しく理解しよう〜 by おかしょい/岡田 正平(@okashoi
useの意味とautoloadingの概要についてお話をされていました。

基本的なことではあるのかもしれないですが、こういったことを理解して使用するか何となく使用するかでは何かトラブルがあったときに対応できるかといった部分で差が出てきそうです。

はじめてのメンバー育成。マネージャーとメンバー視点で振り返る1年間 by さー(@__south__373
https://fortee.jp/phperkaigi-2024/proposal/ced975e3-ba32-4306-8a31-44adde2e775b
私自身はマネジメントや育成をする立場ではないのですが、今後そういった機会もあると思いこちらのトークを聞きにいきました。

育成だけでなくチームとして機能させるという点でも同様ですが、やはり最初に相互理解をする時間をしっかり取るべきだと感じました。
また、育成のために取り組んだ内容は育成する側とされる側でふりかえりや向き直り行うとお互いの視点が合わせやすくなり、より成長速度が上がりそうです。

privateメソッドのテストって書かない方がいいんだっけ? by asumikam(@asumikam
https://fortee.jp/phperkaigi-2024/proposal/f23f927e-2ac8-498e-a047-6376831cbd07
privateメソッドのテストは一般的に書かない方がいいと言われていますが、なぜprivateメソッドのテストを書かない方がいいのかということをお話されていました。

実体験を元にprivateメソッドを書いたことで何が辛くなってしまったのかというのがよくわかり、改めてprivateメソッドのテストは安易に書くべきではないなと感じました。
また、そもそもメソッド作成時に本当にprivateが妥当ですか?というのを問いながら実装していけるとよりprivateメソッドに関するテストの必要性の理解ができそうです。

LT
LTは前半後半合わせて13本ありましたので、詳細は省かせていただきます。

day1から引き続き、みなさんのLTの完成度が高くとても楽しかったです。
中にはスライドが100枚以上あるという方がいまして、すごい熱量のLTとなっておりました。

なお、day2でもペンライトを時間切れ間近になると振っていました。
day2参加者はペンライトいただけたのでしっかりいただいてきました!

クロージング by 長谷川智希(@tomzoh
day2の最後は実行委員長である長谷川さんによる各種企画の結果発表や締めの挨拶でした。

そして長谷川さん挨拶の後、会場のスクリーンにはイベント期間中の映像と共にスポンサー、スピーカー、運営、さらに参加者の名前を記載したエンディングが流されました!
映像を見ながら私はしみじみとイベントの終了を実感しておりました。
とそんな中、映像終了間近で突然大きな音と共に金テープが!🎉

こうしてイベントは終了しました。
ですが!私には懇親会参加の予定があるのです!

懇親会🍷

オフラインに一人で参加ということもあり、人見知りな私は若干戸惑いながらも、お酒の力も借りて様々な方と交流させていただきました。

多種多様なバックグラウンドを持った方と色々お話させて頂き、新しい気付きも得られたかなと思っています。
中には沖縄から来てる高専生もいたりして驚きました!

まとめ

本イベントは最初から最後まで楽しく、色々な方と交流でき、私の人生で一番といっても過言ではないぐらい有意義な時間となりました。
そして、長谷川さんをはじめとする運営の方々やこの日のためにたくさんの準備をされたスピーカーの皆様にはとても感謝しております。ありがとうございました。

本記事は、トークの感想がメインとなってしまいましたが、PHPerKaigiではトーク以外にも色々な企画がありましたので、余談の枠で記載させて頂きます。

次回!カンファレンスにスピーカーとして参加!?
乞うご期待!

余談

PHPerKaigi 2024ではトーク以外にも以下のような企画がありました。

  • PHPerチャレンジ
    • トークンと呼ばれるキーワードを集めて抽選に挑戦できる
  • コードゴルフ
    • お題に対してPHPでどこまで少ないバイト数で実装できるかを競う
  • ネイルアート
    • ジェルネイルでPHPerKaigiのロゴ付きのネイルをしていただける
  • ランチ企画
    • その場に集まった初対面4人でランチに行く
      などなど、盛りだくさんでした!
      ちなみに、私はPHPerチャレンジで抽選限定Tシャツをタオマフをいただき、day2ではネイルもして頂きました!


思っていたよりギャルギャルしい抽選限定Tシャツ


とっても可愛いネイル

こんな感じで、大満喫してました!

参考リンク

BABYJOB テックブログ

Discussion