レギュラートーク(30分)

自作JSONパーサーで学ぶ構文解析器生成入門

o0h_ きんじょうひでき

与えられたテキストを文法に則って解析し、別の構造へと変換するのが、構文解析器(パーサー)です
独自のPHP製パーサーを生成する、PHP-Yaccをご存知ですか?
文法を定義するための記法(BNF)を使い、本格的なパーサーを生み出すものです
有名どころでは、nikic/php-parserにも利用されています

本トークは、「JSONをPHPのデータに変換する」をお題に
自作パーサー開発の入門レベルの解説を行います
どんな風に作るの?どんなコードができるの?を味わいましょう

これを聞いたら、次はあなたが自作パーサーに入門する番です!

話すこと

  • パーサージェネレーターを使ってみる
  • 文法の定義(.yファイルを書く)

話さないこと

  • レキサー、パーサーの詳細なアルゴリズム、実装パターン
3
レギュラートーク(30分)

ステークホルダーと共に事業を前に進めるためのプロジェクトマネジメント

konchanSS konchan

プロジェクトやプロダクトのマネジメントにおいて特に難しいのはステークホルダーやチーム外でのコミュニケーションだと思います。
マネジメントにおいてこういう課題に出会ったことはないですか?

  • ビジネスから後から差し込まれ続ける要件
  • プロジェクト/プロダクトを進めたい方向に進めようとしてもビジネスや外部のステークホルダーが納得しない
  • 外部パートナーにお願いしたのに動いてくれない

これらの課題に対して1つ1つ向き合って解決していくための考え方と進め方について話します。

話すこと

  • プロジェクトを進めたい方向に向かわせるためにステークホルダーとどう対話していくか
  • プロジェクト/プロダクトの中で自分たちのコントローラビリティをどう高めていくか

話さないこと

  • プロジェクト/プロダクトの具体的なチケット管理の仕方
  • プロジェクトチーム内のピープルマネジメント
4
レギュラートーク(30分)

FrankenPHPから見る、Laravel Octaneの内部実装と高速化の仕組み

ma_me ma@me

概要

LaravelにはOctaneというLaravelアプリケーションを高速化するための拡張ライブラリが存在しており、
従来のPHP-FPMより大幅な性能向上を実現します。
本セッションではFrankenPHPのZTS(Zend Thread Safety)環境でのワーカープロセス管理、
octane:startコマンドの内部動作、Octane Tables/Cacheの実装制約などを紹介していきます。
またOctane導入前後でどれくらいのパフォーマンスの差が出てくるのかを検証します。

話すこと

ZTS環境でのワーカー管理とOctaneの連携実装
octane:frankenphpコマンドの内部動作
Octane Tables/CacheのFrankenPHP環境での実装と制約
Octaneの有無でのパフォーマンス差異

2
レギュラートーク(30分)

Symfonyの特性を活かす特性

effy_staffs wakaba

フレームワークを作るためのフレームワークと言われ、実際にLaravelでもコアとして利用されているSymfony。
そのため、初心者向けの導入説明や上級者向けの抽象概念獲得のための解説などの知見を聞く機会が多くあります。

一方で、実用としてのSymfonyの知見を聞く機会があまりありません。
同様にPHP5.4で導入されたtrait(特性)の実用としての知見を聞く機会もあまりありません。

そこで、この登壇ではSymfony6.3および7.2において本番実証済みのtrait(特性)活用例をお話します。

このトークで得られる知見

  • Symfonyの特性に沿った特性(trait)の活用事例
  • traitの使いどころ
  • 省力かつ安定し安全な機能改編の実例

このトークで扱わない内容

  • Symfonyの使い方

注意事項

  • サンプルコードの公開は間に合いません。悪しからず。
2
レギュラートーク(30分)

プログラマーが知っておきたい経営課題とプロダクト開発のリアル 〜スタートアップから上場企業まで〜

m3m0r7 めもり〜

AI 全盛の時代、開発を楽しみながらも、より広い視野を持ちたいと考えている方も多いのではないでしょうか。ディープな技術に没頭するのが好きな方がいる一方で、最近ではプロダクト開発や経営的な課題に関心を持つエンジニアも増えてきたように感じます。

とはいえ、経営層ではない一介のプログラマーが、経営課題やプロダクト戦略の本質に触れる機会はそう多くありません。実際、エンジニアリングマネージャーやテックリードといった役職に昇進して初めて、その重要性に気づくという人も少なくないでしょう。私自身も、まさにそうでした。

そこで本セッションでは、スタートアップから上場企業まで CTO を務めた経験をもとに、なぜプロダクト開発を行うのか、プログラマーは経営とどう向き合うべきかといったテーマについて、エンジニアの視点に立ってわかりやすくお話しします。

1
レギュラートーク(30分)

PHP で実践する OpenAI Function Calling 入門

m3m0r7 めもり〜

OpenAI の API は、関数呼び出し機能である「Function Calling」をサポートしており、LLM に外部関数を呼び出させることで、より柔軟で実用的なインターフェースを構築できます。近年では、単なる Q&A を超えて、ユーザーと対話しながら外部サービスの操作やデータ取得を行う AI エージェント(いわゆる Copilot 型)の実装が活発になっています。

本セッションでは、PHP を使って OpenAI の Function Calling を活用し、AI から関数を安全かつ動的に呼び出すことで、どのようにインタラクティブなアプリケーションを構築できるのかを掘り下げていきます。

2
レギュラートーク(30分)

30分で用意するComposer 〜LIVE CODING〜

o0h_ きんじょうひでき

車輪の再発明は楽しいもので、それが普段よく使っているツールなら尚のこと輝きます
ライブコーディング━━それもまた、楽しいですよね

という訳で、 30分一本勝負、Composerをその場で作るぞ とチャレンジします
「内側はどんな仕組みになっているの?」「あの機能はどう動いているの?」を一緒に体験しましょう

やること

Composerの仕組みについての簡単な解説(実況)を交えつつ、ゼロから書いてきます
ただし、時間枠に収めるために、対応する機能やシチュエーションは限定するものとし、複雑なアルゴリズムの実装は割愛(他の簡素な実装で代替)します

  • ゴール
    • require コマンドによる、新規パッケージの複数追加とその依存解決。ソースの展開・配置
  • やらないこと
    • 依存解決の計算量最適化の実装
    • 正規のモノと互換性があるlockファイルの生成
5