採択
2025/06/28 14:55〜
トラック2 - 2F 小展示
レギュラートーク(25分)

AIプログラマーDevinはPHPerの夢を見るか?

saita_shinya 斉田真也

概要

時は2025年、AIエージェント元年と言われるこの世の中では「人よりもAIが仕事ができる」という噂が囁かれる事態となりました。
ですが、果たして本当にそうなのか。AIは人並みに仕事してくれるのか?我々のような老練のPHPerが立場を危うくするほど驚異的なものなのか?

本セッションでは、自律型AIエージェントプログラマー「Devin」について実際に使ってみた感触と、PJメンバーとしての有用性についてお話します。
今みなさんが気になってるホットなAIエージェントの話題をPHPer的な視点から掘り下げます。

トピックとしては以下です

  • コードのクオリティーについて
  • 仕様をどこまで理解してくれるのか
  • Unit Testとかも書いてくれるの?
  • リーダブルコードを考慮して書いてくれるのか
  • PHPのVersionは考慮してくれるのか
  • 結論、有用なのか否か

対象者

  • PHPer
  • AIに興味がある人
  • AIに焦燥感を抱いてる人、大丈夫でしょうと高をくくってる人
  • Devinについて情報収集してる人

得られるもの

  • AIエージェントはどんな仕事をしてくれるのか
  • AIエージェントへの指示(プロンプト)の効果的な与え方はどうすれば良いのか
  • 自社で導入する時に評価できる・できないポイントがどこにあるか
6
採択
2025/06/28 14:55〜
トラック3 - 4F コンベンションホール 梅
レギュラートーク(25分)

スパゲッティコードが散在するプロダクトにE2Eテストを導入してプログラムの品質を担保した話

osamu_insect 藤掛治

私が担当しているメール共有サービスのメールディーラーではE2Eテストを導入することで、一定以上の品質を担保することに成功しました。

E2Eテストを導入したことの効果やテストコードの実装やテストケースの作成で工夫しているポイントなど、
メールディーラーのテクニカルリーダである私が可能な限り具体的に事例をもって説明いたします。

メールディーラーは2001年にローンチしましたが、フレームワークを導入しておらず、
DBアクセスとHTMLの生成をひとつのプログラムで行っています。

内部構造のアーキテクチャもさることながら、プログラム構造の陳腐化がリリースを行うごとに進みました。
いわゆる「スパゲッティコード」が散在し、それらがサービスの品質にまで影響するようになりました。

具体的には、ある共通関数が別の共通関数を呼び出し、
それが繰り返されることでプログラムが複雑にネスト化しています。

その結果、コード全体の把握が難しくなり、修正前に十分な影響調査ができない状況が生まれました。
このような状況下で、思ってもみない機能に不具合が混入し、
新機能のリリース直後に改修していないはずの機能で「画面が表示できなくなる」といった致命的な障害が発生しました。

そこで対策としてE2Eテストの導入と自動化を行いました。

通常の開発と並行して約3ヶ月という期間で273画面に対してテストコードを実装し、
導入後は「画面が表示できなくなる」といった致命的な不具合の発生を防止することができました。

限られた期間とリソースでどのようにして、当初の目標通りの成果を出すことができたか?をご説明いたします。
本セッションを通じてE2Eテストの導入や品質担保の参考になれば幸いです。

採択
2025/06/28 14:55〜
トラック4 - 4F コンベンションホール 鶯
レギュラートーク(25分)

LaravelとInertia.jsで始めるモダンフルスタック開発

avosalmon 濱崎竜太

このセッションでは、LaravelとInertia.jsを組み合わせたモダンなフルスタック開発について紹介します。
Inertia.jsは、ReactやVueなどのモダンなフロントエンド技術のメリットを活かしながら、サーバーサイドアプリケーションのシンプルさを維持するためのツールです。これにより、複雑なAPIやクライアント側の状態管理なしで、モダンでインタラクティブなウェブアプリケーションを構築できます。
ReactやVue、TypeScriptと組み合わせて使用する方法や、Inertia 2.0で導入された新機能(Prefetch, Deferred Props, Infinite Scrollingなど)、UIコンポーネントライブラリのshadcn/uiの活用法、ライブバリデーションを実現するPrecognitionについても説明します。
また、Laravel Wayfinderを用いて、Laravel側のRouteをフロントエンドからTypeScriptの型としてシームレスに呼び出す方法についても紹介します。

7
採択
2025/06/28 15:25〜
トラック1 - 1F 大展示
レギュラートーク(25分)

Composerが「依存解決」のためにどんな工夫をしているか

o0h_ きんじょうひでき

Composerで「パッケージを入れる」とは何なのか?について考えてみてください。

  • 多くのパッケージにおいて、その他の様々なパッケージへの依存を持っています。
  • 単純なパッケージ名だけでなく、各々が要求し許容するバージョン指定の範囲も、実に様々です。
  • そして、その「その他の様々なパッケージ」もまた、その他の様々なパッケージへの依存を持っています。

・・・一体どうやって、こんなに複雑な仕事を達成しているのでしょう?
このトークでは、2つの観点から「どんな工夫をしているか」を解剖していきます。

提供する主な話題

  1. Composerが複雑な「パッケージの組み合わせ」を解くための手続きとは?
    1. 「Pool」の最適化とは?
    2. SAT Solver、 2-Watched Literal Schemaといった概念についてざっくりと
  2. メモリ節約のためのPHP的な工夫
    1. 各所で活躍するSPLデータ構造や実装に見られる構造面での工夫、おもむろに現れるgc_disable()

このトークで得られる体験

  • 普段使っているツールが内部で「どんなエレガントな問題解決をしているか」に触れる
  • PHPアプリケーションのいて大量・複雑なデータを扱う上での生きた例を垣間見る

対象者・扱うこと

  • Composerの基本的な使い方を理解している方の方が望ましいです
  • Composer全体の仕組みやパッケージ取得方法についての詳しい解説は行いません
    • ピンポイントで「パッケージとバージョンをどうやって決定しているのか」の話になります
    • ツールとしてのComopserの便利さ・使い方を紹介するトークではありません
  • 数学・計算機科学的な踏み込んだ解説は範疇外です
1
採択
2025/06/28 15:25〜
トラック2 - 2F 小展示
レギュラートーク(25分)

PHPでWebブラウザのレンダリングエンジンを実装する

yasuaki640 yasuaki640

昨今のWebアプリ開発において、Webブラウザは切っても切れない存在です。
このWebブラウザには、HTMLとCSSからテキストや画像を描画する「レンダリングエンジン」が含まれています。

これがどのような仕組みで動いているのか、その裏側についてはご存知でしょうか?

このトークでは、超ミニマムな簡易レンダリングエンジンをPHPで実装することで、レンダリングエンジンの大まかな仕組みの理解を目指します。
また今回のトークで用いた、サンプルコードを他言語で再実装する勉強法も合わせてご紹介します。

このトークを聞き、レンダリングエンジンの裏側を垣間見ることで、Webアプリ開発におけるブラウザからの新たな視点を獲得できるでしょう。

対象の方

Webブラウザの仕組みに興味がある方
PHPでなにか書きたいけど作りたいものがない方

3
採択
2025/06/28 15:25〜
トラック3 - 4F コンベンションホール 梅
レギュラートーク(25分)

Self-Validating Code のススメ - テストでも静的解析でもない、もうひとつの「正しさ」

msng 増永 玲

PHP コードの正当性は、テストや静的解析によって保証するのが一般的です。

しかし実際には「このメソッド呼び出しが正しいことは、どのテストで保証されていたっけ?」と確認を要する場面や、静的解析ではカバーしきれないコード構造も現実には多く、必ずしも安心とは限りません。

このセッションでは、コード自身が自分のやろうとしていることの正当性をその場で保証する "Self-Validating Code" というアプローチを紹介します。

テストや静的解析を補完し「この処理は確かに正しい」とコードの内側で完結して確認できる仕組みが、開発体験をどう変えるかに注目してみましょう。

Laravel アプリケーションに導入した具体例をもとに「正当性の保証がコードの外部に散らばっている」煩雑さをどう減らせるか、それが Fail Fast や防御的プログラミングとどう違うのかも整理してお話しします。

書いたその場で、正しさを信じられる。そんなコードを書くためのヒントをお届けするセッションです。

3
採択
2025/06/28 15:25〜
トラック4 - 4F コンベンションホール 鶯
レギュラートーク(25分)

設計やレビューに悩んでいるPHPerに贈る、クリーンなオブジェクト設計の指針たち

Panda_Program プログラミングをするパンダ

「オブジェクト設計スタイルガイド」は、オブジェクト指向のパワーを引き出し、クリーンなコードを書きたいPHPerにとって必読の書籍です。本セッションでは本書の内容を紹介しつつ、チーム全員の目線が揃うアプリケーション設計やクラス設計に役立つ考え方を紹介します。

本セッションで紹介すること
・Service、EntityとValue Object、DTOの使い分け
・クエリメソッド・コマンドメソッド・モディファイアメソッドの違い
・インターフェースの作成基準

本セッションを通して理解できること
・MVCフレームワークから疎結合なアプリケーションとは何か
・サービス層とドメイン層という言葉が意味すること

本セッションに参加された方が現場に持ち帰って実践できること
・クリーンなコードを書くこと
・レビュー時にコードの良し悪しを言語化できること
・AIが出力するコードを採用するか判断できること

5
採択
2025/06/28 16:00〜
トラック2 - 2F 小展示
レギュラートーク(25分)

PostgreSQLのRow Level SecurityをPHPのORMで扱う Eloquent vs Doctrine

77web 菱田裕美

PostgreSQLにはRow Level Securityがありますが、PHPを使った開発プロジェクトではほぼ使われていないのではないでしょうか。
Row Level Securityを使ってLaravelでアプリケーションを開発するにあたって、私はEloquent ORMとDoctrine ORM両方でコードを書いてみて、開発者体験を比較検討してDoctrineを選択しました。どういう判断でDoctrineを選んだか、2年半に渡って実際に開発に使ってみてどうなったかを共有します。

  • Row Level Securityとはどんなものか
  • EloquentでRow Level Securityを扱う方法の解説
  • DoctrineでRow Level Securityを扱う方法の解説
  • Eloquent vs Doctrine そして結論
8
採択
2025/06/28 16:00〜
トラック5 - 3F 特別会議室
レギュラートーク(25分)

Introducing Hypervel: A Coroutine Framework for Laravel Artisans

albert_cht Albert Chen

Hypervel is a Laravel-style PHP framework with native coroutine support for ultra-high performance. It ports many core packages from Laravel while maintaining familiar usage patterns, making it instantly accessible to Laravel developers.

This framework combines the elegant and expressive development experience of Laravel with the powerful performance benefits of coroutine-based programming. If you're a Laravel developer, you'll feel right at home with this framework, requiring minimal learning curve.

In this talk, I will introduce the key features of Hypervel, demonstrate its practical applications, and explain how it significantly outperforms Laravel Octane in high-concurrency scenarios.

Note: I will provide AI-powered realtime translation in this talk.
注: この講演ではAIを活用したリアルタイム翻訳を提供します。

2