
こんにちは!バックエンドエンジニアの藤本です。
2024年の年末に「PHPカンファレンス 2024」に参加してきました。
国内の業界トップランナーによるPHP最新動向や、コアテクノロジーからPHP初心者向けセッションまで、40以上のセッションが開催されていました。
この記事では、カンファレンスで学んだことや印象に残ったセッション、会場の雰囲気などを振り返りながらレポートしていきます!
Twilog・Togetter統合の舞台裏についてのセッション
まず初めに私が聴講したのはトゥギャッターさんの「Twilog・Togetter統合」のお話でした。
終了の危機にあった15年続くWebサービスを全力で存続させる - phpcon2024 - Speaker Deck
この発表では、2009年に個人開発されたTwitter関連サービス「Twilog」と「Togetter」の統合プロセスと、その背景にある課題や解決策について詳しく解説されていました。
特に印象に残ったのは「データベース移行のコスト計算で月6万円から月数十万に跳ね上がる」という話でした。
これは、15年に渡り溜め込まれたツイートのログが6TBを超え、さくら専用サーバーからAWS Auroraにそのまま単純に乗り換えると、このようなコスト計算になったそうです。
その後、AuroraとSQLiteを使い分けた時期を経て、最終的にはEC2のD3/D3en高密度ストレージインスタンスに統合する形に落ち着いたということでした。EC2にこのような大容量ストレージをセットで持ち合わせているタイプのインスタンスがある事を今回初めて知ることができたので、勉強になりました。
コードレビューは自身のタスクよりも最優先である
また、他に印象に残った発表は、一般枠登壇で「コードレビューは自身のタスクよりも最優先である」というお話でした。

ここでは、自身の作業タスクを進行中にコードレビュー依頼が来た時にありがちな「レビューを後回しにする事」がなぜ問題なのかについて分かりやすく解説されていました。
「開発者は機能をリリースしてはじめて価値が生まれる可能性がある」という話もその通りだなと思いました。オープンワークでは『Act for All』*1という行動指針を掲げているため、全体最適を改めて意識するきっかけにもなり、チーム全体の生産性を上げるために自身がどう振る舞えばよいかを改めて考えさせられる良いセッションでした。
PHPerあるある
PHPカンファレンス2024では、LT登壇に加え、PHPでの開発に携わる多くの企業がブースを出展しておりました。
例えばBASEさんのブースでは、「PHPerあるある募集」のボードにPHP開発者が思い思いの「PHPあるある」を並べていました。

(個人的には『Laravelの自由度』と『CakePHPのマニアックさ』が対比するように隣に並んでいるのが面白かったです)

即興でコードレビュー
また、カオナビさんのブースではコードレビューを行い、その点数に応じて景品が当たるという企画をされていました。
私も挑戦してみました。点数は3点/4点中をいただきました。
(その場で即興レビューをするのは意外と難しかったです。)

PHPの好きなところ
また、エブリーさん(デリッシュキッチン)のブースでは、「PHPの好きなところ」というボードで、同じように開発者がそれぞれ、PHPへの”愛”を綴っていました。

参照渡しが絡むプログラムの出力結果問題
弁護士ドットコムさんのブースでは、「PHPコードを実行した場合の出力結果」を2択で問う問題が展示されておりました
みなさんはこの問題パッと解けますでしょうか?

正解は「B」でした!

ちなみに解答した後、弁護士ドットコムの方とお話したのですが、実際に上記のような配列の参照渡しは、まずプロダクトコードで実装されるケースは回避すべきで、レビューでは必ず指摘したいですよね。という話で解釈一致しました。
最後に
最後に、今回PHPカンファレンス2024に参加し、改めてPHPのコミュニティの規模を改めて実感しました。また、膨大なデータを抱えるDBにおける移行課題や、バージョンアップ関連の葛藤、リファクタリングへの取り組みやアプローチについてもたくさん学ぶことができたので、とても有意義な一日になりました。
また定期的にこういったカンファレンスやイベントに参加し、外部からの刺激をもらい、オープンワークでの日々の業務や、エンジニアメンバーへのフィードバックを積極的に行いたいと感じました!
オープンワークでは、エンジニアとして挑戦し続けたい方や、新たな技術に興味を持ち、成長したいと考えている方を歓迎しています。もし興味を持たれた方がいれば、ぜひ採用サイトをチェックしてみてください。
*1:オープンワークの行動指針であるAction Styleのうちの1つ。