インフィニットループ 技術ブログ

2023年10月12日 (木)

著者 : m-yamagishi

PHPカンファレンス2023 に登壇してきました! ~やまゆ編~ #phpcon

こんにちは。やまゆです。

先日行われた、 PHP カンファレンスの中でも最も規模の大きいとされる PHP カンファレンス 2023(東京) に登壇してきたのでレポートします!

実際行くまで知らなかったんですが、どうやらイベントをやっていたらしく、食べ歩きをわいわいして終わりになっていました。また行きたいな~。

私の記憶だと、去年はこの大ホール部分が工事中で使えなかったと思うので、広っ!と思いました。

拝聴したセッションの感想

PHP で PHP のメモリプロファイラを作ろう

弊社 sji 先生のセッションです。 Pure-PHP で PHP スクリプトのランタイムを修正せずにプロファイリングしようぜ、のメモリバージョンでした。そもそもメモリとは、という話から、どう力業したら盗み見れるか、みたいな所でかなり深い話を聞くことが出来ました。

私が作っている heavyrain という OSS も Pure-PHP で「シナリオを書いて負荷をかける」ツールなので、組み合わせたら最強なんじゃないか説が出てきているので頑張って作っていきたいです。

大解剖! amphp を使って非同期 PHP を実現しよう!

私のセッションです。 PHP で非同期って最近までほとんど目にすることがなかったと思いますが、 PHP 8.1 の Fiber の登場により一気に現実的になってきています。

PHP における非同期を紹介しつつ、ユースケースとして WebSocket を使った Chatbot や、 heavyrain のように長時間稼働する、負荷の高いツールの作成などを挙げてみました。皆さんも非同期やってみてはいかがでしょうか?意外と楽しいですよ。

Four Keys に基づくリリースプロセス改善とその成果

現在私はプロジェクトのインフラを担当していて、(まだ開発中案件ですが)リリースプロセスの改善を丁度行っています。そこで、プロセス改善の実例を見たかったので視聴しました。

まず現状の課題を定量的に計測して、そこから課題点をピックアップ、改善してみて計測しなおしてどれだけ改善したかを確認する。当たり前のことですがここが難しかったりしますよね。

「開発チーム内のみならず、リリースに関係するステークホルダーの多くから共感を得てもらって改善する」というのも重要な作業だということに気づかされました。確かにリリースというのは様々なチームに関係する出来事なので、最初にどう改善するのかイメージをすり合わせないと、身勝手な改善になってしまいよくないですよね。

PHP 8.3のmbstringの進化を見てください – コントリビューターとしてのかかわり

mbstring にまつわる話は最近ちょくちょく耳にしていましたが、実際のコントリビュータに話を聞くのが一番わかりやすいですね。日本人だと特に利用機会の多い extension なので、ここに日本人が複数コントリビュートしているのは皆さん凄いなあと思いました。書いているコードより、そのプロセスに着目した内容で、 OSS の開発ってこういう感じなんだということが分かりました。

リーダブル プルリクエスト(分割プルリクエスト編)

PR を小さくするとはよく言いますが、実際のやり方として、1つの PR を分割していくのはよくあるパターンだと思います。うちのプロジェクトでも一部採用していますね。

リリースサイクルを早くしていくのは重要なので、例えば 1 API の実装においても、 Controller の修正は後にして、それ以下のロジック実装を先にマージしてリリースしてしまう、みたいなのは確かに良いかも、と思いました。

わたし、 Composer が気になります

弊社 kerokero さんのセッションです。アプリケーション開発において、最初のリポジトリ作成をする時や、依存パッケージをアップグレードする時しか composer.json を触る機会って中々ないと思います。開発中はほとんどのメンバーは composer install しか使わないことが多く、じゃあ composer ってなんのためにあるんだろう?という話がまとめられていてとても分かりやすかったです。スライド資料もイラストが豊富に含まれていて読みやすいなーという印象でした。

運用中の大規模オンラインゲームで8年ぶりにPHPバージョンアップをした話

半年で PHP 5.5 から 8.1 にアップグレードする戦略と、実際出てきた問題点やその解決法などがまとめられていて、非常に実践的な内容でした。やはり PHPUnit の互換性のないバージョンアップが一番大変ですね。結構主要なメソッドが置き換わったり、今(PHPUnit 10)だとアノテーションからアトリビュートに変わろうとしていたりするので、その差分が一番大きくなるのかなと思います。

ライトニングトーク

各 LT は皆さんパワフルに5分きっかりでまとめられていて面白かったです。一番印象に残ったのは、あすみ(@asumikam) さんの PhpStorm 愛ですねw

スポンサーブース

全部は見てまわれなかったのですが、たくさんのブースがあって、各社個性がとても出ているのが印象的でした。スタンプラリーも開催されていましたが、押すブーススタッフさんが皆さん結構大変そうでした。確かにしんどいかも。

懇親会

3時間ありましたがあっという間に感じました。大人数でわいわい楽しく色々な雑談が出来て良かったです。途中の LT 大会も盛り上がっていましたね。

まとめ

福岡、沖縄、そして東京と、今年はたくさんのカンファレンスに参加させて頂きました。色んな人・技術・知識と出会うことが出来て、どれも素晴らしい体験となりました!

今回の東京は本当に大規模で、いつもカンファレンスでお世話になっている方々や、今回初めて交流させていただいた方々、スタッフの皆さんも含め、本当に貴重な経験をありがとうございました。

——

日常業務の傍らで、カンファレンス等の技術系イベントにも参加してみたいという技術が大好きな方の採用応募お待ちしております。

今回の記事でILに少しでも興味を持たれた方は是非、弊社採用情報ページからご応募よろしくお願いします!

P.S.

つい先日、 heavyrain で利用している amphp/http-client の Fiber 対応が正式リリースされていました!めでたい!

ブログ記事検索

このブログについて

このブログは、札幌市・仙台市の「株式会社インフィニットループ」が運営する技術ブログです。 お仕事で使えるITネタを社員たちが発信します!