はじめに
配配メール開発チームの id:takaram です。
2024年12月22日に、東京・蒲田でPHP Conference Japan 2024が開催されました。
ラクスはブロンズスポンサーとして協賛させていただいたのに加え、エンジニア3名のトークを公募で採択いただき、登壇してきました。
今回はラクスからの参加者によるレポートを紹介させていただきます!
参加レポート
PHPの今とこれから2024
report by id:hirobex
PHP8.4は新機能も多く、非常に盛り沢山な内容になっていました!
プロパティフックや非対称プロパティ可視性などは、使ってみたいと思っているPHPerの人も多いのではないでしょうか?
PHP RMは何をする?コア開発者と兼任するメリット/裏話
report by id:hirobex
PHPコア開発者であり、かつリリースマネージャーでもあるSaki Takamachiさんのトークです。
リリースマネージャーが集まったSlackがあるという話や、リリースマネージャーがPHPリリースのためにどんな作業をするのかと行った、非常に貴重な話を聞くことができました!
世界的なOSSがどのように開発されているのか、その一部を見ることができます!
終了の危機にあった15年続くWebサービスを全力で存続させる〜Twilog・Togetter統合の舞台裏〜
report by id:hirobex
イーロン・マスクに買収されたXのAPI廃止に伴う、TwilogとTogetter統合についてのトークです。
大規模なDBを、どのようにしてAWSに移行したのか、そのお話を聞くことができました!
SQLiteとMySQLが構成図に出てきたときは、どうなることかと思いました。
見えないメモリを観測する: PHP 8.4 `pg_result_memory_size()` とSQL結果のメモリ管理
report by id:takaram
武田憲太郎 (@KentarouTakeda) さんによるセッションです。武田さんは、PHP 8.4で導入された pg_result_memory_size()
の提案・実装を行った方で、その関数にも関連する「SQL実行時のメモリ使用量」についてお話しされました。
普段何気なく使っているPDOの prepare、execute、fetchAll の裏で何が起きているのか、SQLの結果データがどこでどのように保持、管理されているのかを知ることができました。それと同時に、自分のコードの実装は大丈夫……?と不安になったので、改めて見直してみようと思いました!
20年続くレガシープロダクトに10年携わったエンジニアが思う、システム長期運用のカギ
report by id:uemura_rks
20年続くプロダクトをモダンな環境に移行してきた取り組みについてのトークでした。
私が担当するサービスは同じような境遇でいまだにレガシーから抜け出せていない状況にあるため、
非常にためになる内容でした。
システムだけでなく開発体制の改善(開発体制に再現性を持たせる)について述べられていたことも印象的でした。
モダンへの移行はタイミングが遅くなれば遅くなるほどやることが増えるので、出来るだけ早めに実施したいものです。
PHPerのための計算量入門
report by id:hirobex
アルゴリズムにおいて非常に大事な要素になる計算量について、非常にわかりやすく解説していただいたトークです!
データ数が大きくなればなるほど計算量の考えは大事になってくるので、とても参考になりました。
また、最後にチューニングにも限界があるから、仕様変更も視野に入れようねという話も入っていたのが、非常に実務的だと思いました。
情報漏洩させないための設計
report by id:uemura_rks
ビジネスロジックの実装ミスなどによる情報漏洩を防ぐための設計手法についてのトークでした。
- コンテキストごとにEntityを用意することで必要最小限の情報を扱えるようにするといった工夫
- 分けたEntityを取り違えないための工夫
が参考になりました。
情報漏洩を題材にしたトークでしたが、紹介されていた手法は情報漏洩に限らず普段の開発に活かせる考え方でした。
deptrac という依存関係をチェックできるツールが面白そうなので使ってみたいです。
PHPConferenceへの参加を後押しするためにしていること
report by id:takaram
下岡葉子 (@yoko_94b) さんによる、PHPカンファレンスのような技術イベントに参加したことがない人の背中を押すにはどうするか、というお話でした。
行かない理由として「難しそう」「すごい人が行くところでは?」のような気後れや「休みの日の朝から……?」のような声に対し、「若い人もたくさん来てるよ」「知らない単語を知るいい機会だよ」「午後からでも大丈夫」といった声掛けを社内で行って後押しされているそうです。
トーク中「今回初参加の方いますか?🙋」と質問されたところ、結構たくさんいらっしゃったのが印象的でした。
弊社開発部は東京と大阪に分かれていて、大阪からだと距離のハードルという問題もあったのですが、2024年は全国各地でPHP系カンファレンスが開催されたおかげでハードルがぐっと下がりました。
2025年も続くようなので、私も参加を後押ししていきたいです!
月刊PHPカンファレンス2025!#phpcon #track1 pic.twitter.com/xJYvrkZzs5
— takaram (@takaram71) 2024年12月22日
どうして手を動かすよりもチーム内のコードレビューを優先するべきなのか
report by id:takaram
おかしょい (@okashoi) さんによるLTです。
コードレビューをついつい後回しにしてしまう人(私含め)には耳が痛い話ではありました。私は「レビューを優先すべき」という話は聞いていても、理由まで具体的に理解できていなかったのですが、今回そこを知ることができました。
自分のタスクを横に置いてでもレビューを優先していきましょう!💪
ラクスからの登壇セッションのご紹介
PHP開発者が挑むDKIM導入:Googleガイドライン対応の実例と学び
report by id:uemura_rks
トラック4の一発目として、楽楽販売でGoogleガイドラインに対応した実録をお話させていただきました。
カンファレンス初登壇でしたが落ち着いて話せたので良かったです。
自分が設計寄りの人間なこともあり技術の話があまり出来なかったため、次回はもう少し技術ネタを持って参加してみたいです。
Rustで作るPHP拡張モジュール:PSR-7ライブラリ編
report by id:takaram
通常C言語で作るPHP拡張モジュールを、ext-php-rsというライブラリを使ってRustで実装してみる、という話をさせていただきました。
Rust自体本格的に触ったことがない状態から始めたため、かなり苦労したのですが、初心者だからこそできる話もあったかなと思います。今回の登壇を通じて、RustにもPHPにも詳しくなれたのではと思います!
20年もののレガシープロダクトに0からPHPStanを入れるまで
report by id:hirobex
登壇しました!
タイトル通り、レガシープロダクトにPHPStanを入れた話です!
PHPStanのオプションや、bootstrapFilesを駆使して、PHPStanを導入した話をしました!
ありがたいことに、多くの人が来てくださりました。
発表した会場が、大学の講義室みたいで、人気教授になった気分でした。
まとめ
2024年は全国各地でPHPカンファレンスが行われましたが、歴史の長い PHP Conference Japan(世界最古だそうです!)は今年の締めくくりにふさわしい盛り上がりだったように思います。
2025年は6月28日開催と、実はもう半年後に迫ってきています。来年も楽しみですね!