🥕

PHPカンファレンス福岡2025で登壇してきました

に公開

PHPカンファレンス福岡2025で登壇してきました

3 年連続参加していた PHP カンファレンス福岡が今年 10 周年&Final を迎えるということで、参加してきました。

https://phpcon.fukuoka.jp/2025/

https://x.com/katzchum/status/1961077923730833664

登壇内容だけを見たいよ!という方は こちら からお願いします。

聞いたセッション

  • 開発者が知っておきたい複雑さの正体
    複雑だと思われたらもうそれは、十分に認知負荷が高い状況なのだと改めて感じました。
    色々なフェーズによって複雑になるという点がありましたが、偶発的な複雑さの側面が特に大きいという印象を持ちました。
    昔個社対応を行っていたので、辛いというのはすごくわかりました。
    無根拠の設計判断で戦術 DDD 風にすると辛いというもの、懇親会でも話題になり、刺さりました。

  • コミュニティと共に変化する 私とFusicの8年間
    自分も 2023 年の PHP カンファレンス福岡に参加してから、コミュニティの楽しさを知り、また色々な人々と繋がることが出来たので、すごく共感する内容が多かったです。
    特に、個人の学びと挑戦の流れはフォードバックサイクルがうまく回って良いと感じました。

  • 予防に勝る防御なし(2025年版) - 堅牢なコードを導く様々な設計のヒント
    一般公募で参加された t_wada 先生の令和 7 年最新版ということで、貴重な内容をリアルタイムで聞くことができました。
    PHPDoc の @var で(一時的に問題を覆い隠す)消臭剤的な使い方で、型のチェックを無効化してしまっていたので、assert を使おうと感じました。
    複数定数があり、組み合わせが限定だった場合に、存在しない組み合わせを Enum で定義した方が、「誤った使い方を困難にする」良いケースと言えるのか?疑問に思いました。
    独自 Attribute の定義と PHP8.5 からの NoDiscard は新しい学びでした。
    クリーンアーキテクチャで、ユースケースは型で不正な値を取り得ない様にするのは、個人的に結構やっていました。
    それを改めて言語化されたので他のメンバーに説明するのに使わせて頂きたいと思いました。

  • 詳細の決定を遅らせつつ実装を早くする
    リーン開発での『決定を遅らせる』的な話かと考えていましたが、もっと現実で有効なテクニックだと感じました。
    ゼロイチフェーズでイテレーションが 2 サイクル早く進めることができる!というのは結構インパクトが大きいと感じました。

  • Design and implementation of "Markdown to Google Slides"
    OSS の開発の追体験を行うという面白い取り組みだと感じました。
    特に Songmu さんとのやり取りが見れたのは、貴重な内容だと感じました。
    runn の開発を一緒にさせて頂いた内容も、もしかしたら OSS 開発の事例として発表すると面白いのかも。。と思いました w
    PoC を作るタイミングでツール名を決めるというお話を聞いて、思ったよりも早いと感じました。

  • AI時代におけるドメイン駆動設計入門
    複雑な業務ドメインを整理するという難しいテーマを丁寧にまとめられていました。
    ただこれを新人に理解してもらえるように伝えるのはやはり難しいなーとも思ったので、もっと具体的な事例がほしいと感じました。
    今回登壇した内容が、その一例になれば良いなーと感じたので、すごくありがたいテーマでした。
    AI 活用も複雑なドメイン領域では常に考えている内容だったりするので、興味深く聞かせていただきました。

  • 組織もソフトウェアも難しく考えない、もっとシンプルな考え方で設計する
    組織における良いフィードバックとは、受け手の一歩先のネクストアクションを具体的に促すものであると感じました。
    しかし、コミュニケーションにおいて目的(Why)を明確に伝えず、手段(How)だけを指定するやり方は、適切なフィードバックとしては機能しないケースが結構多いように思います。 
    この課題は、結局のところ、しっかりコミュニケーションをしていきましょう!という感じになるかと思いました。
    ただ業務分析という視点で捉えると、そのコミュニケーションとそれに紐づいているプロセスをちゃんとビジネス価値とセットで見るべきと思いました。
    その分析のあとに、プロセスを「どのようなインターフェース(間口)で提供するか」という設計判断になってくると感じました。
    そのプロセスをシステムのモジュールとして考えると、以下のことが言えると思います。

    • シンプルなインターフェース(間口は狭い)で、多くの機能を実現する(深い)モジュール(プロセス)にできる。(ただインターフェースを切るのは難しい)
    • 逆に、浅いモジュール(単機能なプロセス)だと複雑性がインターフェースにも現れる(コミュニケーションが煩雑になる)。

前夜祭の LT と内容と繋がっていて、もっと深堀りすると面白そうと感じました。
https://x.com/Panda_Program/status/1987193090290110508

登壇

"アーキテクチャレベルで依存性を逆転させたら最高だった話"というタイトルでトークしてきました。

集大成的な話ができたと感じています。
今回のスライド作成を行って、改めて言語化することは大事だと感じました。
わかりやすいと評価も頂けて良かったです。
コアドメインの選定(戦略)にまで踏み込んだ内容が公表されることはあまりないと感じています。
良いケーススタディとしてお伝えできていれば幸いです。

runn 開発者会議

カンファレンスの廊下にて k1low さんと共同作業で、ver1.0.0 をリリースしました。

https://x.com/k1LoW/status/1987084192904323475

最後に

PHP カンファレンス福岡は、現体制での開催が今回で最後となる旨、事前告知の通りに改めてご案内がありました。

そのような中、懇親会の場において、新たなコミュニティとして「fukuoka.php」が発足されたとの発表があり、大変喜ばしく感じました。
これは、福岡のコミュニティ層の厚さを改めて実感しました。

私個人としては、今回で 3 年連続参加させていただき、大変お世話になりました。
福岡のコミュニティからは、常に良い刺激と学びを頂きました!心より感謝です。

まずは、これまでのご尽力くださった方々に、心より「お疲れ様でした」とお伝えしたいと思います。
10 年間の活動、ありがとうございました!

Discussion