thumbnail

PHPerKaigi2025参加レポート!

Date: 2025/03/26 14:58

Category: プログラミング

はじめに

今回は、PHPerKaigi2025にLTのスピーカーとして参加してきた。

2025.03.21 前夜祭

コードバトルを眺めるのなかなか楽しかった。
対戦者の画面を見るのも面白かったし、コードがどんどん短くなっていくのを一緒にみるのが面白かった!
解説者がとにかくハイレベルだった。ハイレベルすぎて何もわからなかったんだけど、めちゃくちゃおもしろかった。

2025.03.22 1日目

安全に倒し切るリリースをするために:15年来レガシーシステムのフルリプレイス挑戦記

同じ会社の後輩の発表。ペンギンがウケてよかった!発表もわかりやすかったし、ドキュメントが残ってないレガシープロダクトに安全にメスを入れる手段の一つになりそうだな、と思った。

BCMathを高速化した一部始終をC言語でガチ目に解説する

BCMathの話を聞けたの面白かった。
アルゴリズム用語などがなかなか懐かしかった。

移行できそうでやりきれなかった 10年超えのシステムを葬るための戦略

「葬り」という言葉が共通言語として浸透しているのは強いなーと思った。
一人でも利用者がいるとかでなかなかサービスをクローズできないとか、念の為残しておいてほしいと言われることも少なくない中でこのようなコミュニケーションが日頃から取れているのはすごいなと思った。

PHPから考える クレジットカードにおける3Dセキュア決済

3Dセキュア決済、3Dってなんなんだろう?とかどういう仕組みなんだろう?って日頃から疑問に思っていたところだったので面白かったし、ライブラリを使えば意外と簡単に実装できるかも?という印象になれた。

20分1発勝負! 社内Webツールをライブコーディングするぞ!

OpenID Connectを利用した社内Webツールのライブコーディング!めちゃくちゃおもしろかった。リアルタイムで何かが生成されていくのを見るのがどうやら私は好きらしい。20分という時間で本当に認証されるところまで完了したのはすごかった。
OpenID Connectへのハードルが爆下がりした気がする。

非エンジニアにも伝えるメールセキュリティ

GMailの厳格化対応に関わった自分も正直、他人に説明できるか?非エンジニアにわかりやすく対応の必要性を説明できるかは自信がなかったのでこの機会にもう一度おさらいしようと見た。SPFとDKIMだけではダメでDMARCになぜ対応しないといけないのかがわかりやすかった。社内でGmail厳格化を改めて説明しないといけなくなったときにぜひとも引用させていただこうと思う。

これ好き。

再演: The PHPer’s Guide to Daemon Crafting, Taming and Summoning

前夜祭でコードゴルフに夢中で完全に見逃してた発表が再演されるとのことでこの機会に見に行くことにした。そもそもPHPでデーモンを実装する理由が少し納得いかなかった部分はあったけど、私達の手でできることが広がったのは明らかに進化だなと思った。あと、そもそもデーモン自体の理解が深まったのは良かった。
RaspberryPiをいじってた頃によくみたJournalctlというものをどう使うものなのかを知れたのも意外な収穫だったかも。

2025.03.23 2日目

PHPで作るPHP~セルフホストできる言語処理系を作ろう~

Rustで作るプログラミング言語を読んで以来、プログラミング言語を作るとか言語処理系に興味が高まっている。PHPで動かすPHPっていうのがまた面白い視点だなと思った。もちろん、どこでつかうんや?という気持ちもあるにはあるんだけど、こういうのを面白いと思ってしまうんだよな。でも狙い通り、作ることを通してPHPそのものの理解は実際深まった気がする。あと、めっちゃ根気がいるのも納得だった。

複数ドメインに散らばってしまった画像…!運用中のPHPアプリに後からCDNを導入する…!

うむ、タイトルから相当やっかいな状況だったのは想像ついたけど、その数倍は厄介な状況だった印象がある。実際にCDNを導入する際の過程が共有されていたのとCDNに対する理解も深まった。特に共有されちゃまずい個人情報系が共有されたら一発アウトというリスクもたしかにあるよなーとかも気づきだった。

パスキーでのログインを実装してみよう!

パスキーが一般化してきたけど実装したことなかったので、どうやるんだろうという気持ちから見た。パスキーのエッセンスを実際にデモ環境触ることで学べたのは大きかった。また、パスキーがフィッシング対策にも有効なことを知れてよかった。
ちょっと実装してみたい気持ちがある。
パスキーだけにしないという実際に運用してみないと気付けない部分も解説されてて学びの多い発表だった。

php-fpm がリクエスト処理する仕組みを追う

php-fpmが何をやっているのか正直わかってなかったので、fast-cgiとNginxとphp-fpmの関係性への理解度が高まって良かった。gdbでのデバッグを通してどんな処理をしているのかを明らかにするという趣旨も私にはだいぶ刺さった。(やってくれなかったら、ChatGPTと一緒にやろうとさえ思ってたw)
php-src読んだり、言語処理系にもやはり興味あるんだろうな、と自分の趣向を改めて理解できた発表でもあった。

前回のPHPカンファレンスでvar_dumpの話をしたのでめっちゃ共感した。

LT大会

前半は自分の発表でそれどころじゃなかったのもあり、ひとことコメントで許してください、、、

5系になったPHP Parserをのぞいてみよう!

ありがとうnikic-san!

時間の許す限りyieldの挙動を説明する

クイズ難しかったなーというのと、10秒じゃ問題を理解できるわけないw
みんなでペンライト振るの楽しかった〜!

PHPのガベージコレクションを深掘りしよう

Zvalとかxdebug_debug_zval知ってる!!ってなってちょっと嬉しかった。

PHPで巨大データ検索の高速化:strposと計算量の重要性

自分の発表でした。ちょっと内容が薄かったかなーと個人的には思っているのだが、まぁ、伝えたかったのは、ボトルネックが必ずしもボトルネックの顔をしているわけじゃないんだよ、むしろチリツモで見えづらいものなんだぜ、アルゴリズムを工夫したり、そもそもの回数を減らしたりするのが大事だよ、なのでまぁいいかな。
対応時のことを思い出して、メモリの話もどこかでするかー、、、

List とは何か?

array_is_list()ってのがあるのか、やばそうだな、と思いながら聞いていたw
高速でメモリ効率もいいとのことなので、リストを使っていきたい!

PHP 8.4がリリース!あなたはもうアップデートしましたか?

PHPのバージョンアップ、次来るの早くない?と思いながら聞いてた。

リアルISUCONの戦い方

FAILしてはいけない方のISUCONの話。仕様変更や交渉という手が使えるのがリアルISUCONならではだなと思った。

小さく段階的リリースすることで深夜メンテを回避する

同じ会社の後輩の発表だった。多少手間がかかってもサービスを止めずに済むならその方がいいよね、というもの。どの段階でも途中で戻すことができるようにするということを意識するのは大事だなと改めて思った。
「いつまでも できると思うな 夜メンテ」ということで、メンテしなくてもいい方法を考えさせてくれた先輩にも感謝したい。

本当にありがたい問いかけだった。

AUTO_INCREMENTのIDカラムがオーバーフローしたらどうなるの?実例から学ぶDB設計の注意点

こちらも同じ会社の先輩の発表。AUTO_INCREMENTのIDカラムがオーバーフローしたら、duplicate エラーになるよ、というお話。単純にオーバーフローしないとこんなことに気付けないし、そもそもオーバーフローするまでデータが貯まるのもすごい話だなと思った。BIG INTを使い切る猛者はさすがにいなかったw

PHPStan をできる限り高速化してみる

PHPStanを高速化する話。PHPStan2.x系に移行するのはすぐにでも試してみたいかもと思った。

ISUCONにPHPで挑み続けてできるようになっ(てき)たこと

FAILしても良い方のISUCONとここまでのコンテキストを活かした導入をしてくるところに慣れを感じる、さすがである。

同じメンバーで毎年8年連続で出場しているだけでもすごいのに、成長できているのかという問いかけまでしている。自分が登れた小さいステップを認識するのは本当に大事だと思う。

個人的な反省

  • メールはちゃんと読みます
    • プロポーザルタイトルの読み方のメールも来てたのに結局当日まで気づかなかった。申し訳ない、、、
    • ノベルティBOXの再配送の連絡も来てたのに気づくのが遅れた。
  • 横浜からもなかなか遠い。
    • 朝8時半に起きるとなかなかギリギリだった。
    • 早起きを2日連続するのはきつい、やはり泊まるべきだったかなー
  • 接続確認および画面投影苦手だなー
    • スピーカーノートを見るためにミラーリングできないのが問題ではあるんだよな。
    • スピーカーノート見るのやめるかー
    • 接続確認の練習自体を家でやっておくべきなのかもしれない、、、
  • 発表時に動きがうるさい
    • ニコ生のタイムシフトで自分の発表を見たら、もう必要以上に動きまくっていて途中で自分の発表を見るのを諦めた。
    • 日頃からあんなに落ち着きないのか?発表の場に慣れてなさすぎてあーなっているのか、とにかく芯が入ってないような姿勢がカッコ悪すぎてこれは早急に改善したいと思った。

個人的な感想

今回はスタッフもやってない、会社としてのスポンサーブースもないので、完全に個人の登壇者兼参加者として参加できてこれはこれで楽しかった。
また、前回スタッフをやった経験から、スタッフは本当にすべての来場者に気持ちよく楽しんでもらうために全力を投じていることを知っているのもあり、ちょっとスタッフメンバーを応援する気持ちも強かった。見たセッションに対してはXでコメントをこまめに残して盛り上げに少しは貢献できたんじゃなかろうか。

ランチ企画もありがたかった。会社の人や知り合いとランチに行くか、一人で散策しちゃうかどれかになるところを、全く初見の人とも接点ができたのは良かったと思う。

懇親会でもフィードバックもらえたり、コメントもらえたりして嬉しかった。
また、2次会では「居酒屋で学ぶシリーズ」とかマネージメントの話とかを聞けてこれはこれでいい会だった。
チームリーダーやマネージャーというロールを持った人たちと並んで登壇できたのも、自分の成長を感じられたかもしれないというのと、まだまだ自分は資料作成や抽象化の力も発展途上だなとは思った。個人的にはプロダクトオーナーといったマネージメント寄りのロールに就いたのもあり、ここらへんの力は強化していきたい。

銀テ、今後もやってくれると嬉しいなーw

会場に入るなり、スピードテストしてWiFiを試したのは私です。

今年のPHPerKaigi2025、私は最高にたのしかったぜ!また来年会いましょ!

Hero

まさき。です。PHPエンジニアをやってます。

自分の課題を技術で乗り越えるの好きかもしれないです。

フロントエンドは苦手ですが、少しでもできるようになれたらな、ということでNextJSでこのブログサイトを作りました。