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

理屈で理解する「なぜ技術的な関心を分離するのか」

strtyuu 吉田あひる

レイヤードアーキテクチャをはじめとした多くのレイヤ化アーキテクチャでは、依存の逆転を用いてレイヤレベルで技術的な関心を分離しています。
なぜこれがアーキテクチャとして好ましい構造につながるのでしょうか?

このセッションでは、技術的関心を分離することが実利に結びつく理屈を変更コストや優先順位、認知負荷などの観点から全力で考察し、いわゆるインフラ層についての理解を深めることを目指します。

1
レギュラートーク(45分)
関西勢(在住or出身) 初心者向け

抽象化という思考のツール -理解と実践-

shin1x1 新原雅司

「抽象化していますか?」ーー抽象化と聞くと、設計やモデリングをイメージするかもしれません。他にも、interface のような言語機能を利用することを思い浮かべる方もいるかもしれません。たしかにこれらも抽象化の一つですが、それだけではありません。また、抽象化には難しそうなイメージを持たれがちですが、実はソフトウェア開発を行なっている私たちにとっては日々利用している身近なものです。

本セッションでは、抽象化(と具体化)という考え方を整理し、設計や言語機能だけでなく、物事の理解や共有、課題解決、トラブルシューティングといった開発現場の広い場面でも活用できる「思考の技術」として具体的な例とともに紹介します。

「使える思考のツール」として抽象化を一緒に見ていきましょう。

2
LT(5分)
関西勢(在住or出身) 初心者向け

初登壇までのハードルをテストケースのごとく可視化しよう

DPontaro DPon

概要

カンファレンス登壇してみたいけど、難しそう。。。
そんな印象をお持ちな方(もしくは持っていた方)結構いらっしゃるんじゃないでしょうか?

しかしその印象はもしかしたら誇張して見えてる高いハードルかもしれません。
テストを書くかの如く、テストケースを洗い出してステップを明確に可視化し、登壇に挑戦してみてはいかがでしょうか?

ターゲット

  • 登壇に興味はあるけど、一歩踏み出せない方
1
レギュラートーク(20分)
関西勢(在住or出身)

Devin縛りプレイ体験談

DPontaro DPon

概要

DevinはCognition AI社が開発した自律型AIエージェントです。
使いこなせれば便利なのは想像がつくけれども、ついつい自分で書いてしまう癖が抜けない。
このままでは全く習得できず、変化に適応できない焦りから、とあるAPI実装をDevinでやりきる意思を持って挑んでみました。
果たしてその結末やいかに。

ターゲット

  • Devinに興味はあるけど、手を出せていない方
  • Devinの実際の使用事例を知りたい方

お話すること

  • Devinに依頼したタスクの概要
  • Devinがうまくやってくれたこと
  • Devinが苦手なこと
  • Devinが生み出した成果
  • 今後のDevinとの付き合い方
3
レギュラートーク(20分)

tblsから始めるDBスキーマ可視化入門

takeokunn たけてぃ

概要

PHPでWebアプリケーションを作る際、ほぼ全てのケースでデータ永続化の為にデータベースを利用するでしょう。
長年運用していくにつれ、テーブル数やカラム数の増加によって、認知コストやコミュニケーションコストが増加する一方です。
これらの負荷を下げる為に「DBスキーマを可視化する」ということは非常に有用であり、tblsは継続的な運用に耐えうるだけの機能を持ち合わせています。

本トークではtblsの便利な機能の紹介や、実際に運用している時に得られた知見、AIによるSQL生成などのTipsを紹介します。

ターゲット

  • ドキュメントの自動生成やCIによる運用改善に興味のある方
  • チーム内でのスキーマ共有・認知コストを下げたいと考えている方
1
レギュラートーク(20分)

PHPerの為の「AIけもの道」

takeokunn たけてぃ

概要

2025年現在、生成AI関連のソフトウェアは次々と登場しており、PHPerとしてもこの波に乗り遅れるわけにはいきません。
業務効率化や開発生産性の向上を目指すうえで、AIの活用はもはや無視できない選択肢となっています。

とはいえ、AIまわりのトレンドは変化が激しく、2週間もあれば新しい技術やサービスが登場するような状況です。
何から手を付けていいのかわからず、情報収集に疲れてしまっている方も多いのではないでしょうか。

本登壇では、ChatGPTのような有名サービスから、話題にならないツールまで、幅広く紹介します。
実際の事例を交えながら、「PHPerが今、AIとどう向き合うべきか」を具体的にお伝えします。

ターゲット

  • AIに興味はあるけれど、何から始めればいいか迷っている方
  • 最新ツールを業務に取り入れて、開発を効率化したいと考えている方
1
レギュラートーク(20分)

yieldが変えるLaravelの世界:LazyCollection徹底入門

takeokunn たけてぃ

概要

Laravel開発でおなじみのコレクション操作、その裏側に潜む「yield」の力を最大限に引き出すのがLazyCollectionです。

本トークでは、PHPのyield構文の動作原理を紐解きつつ、なぜLazyCollectionが高速でメモリ効率が良いのか、Collectionとの違いについて内部の仕組みを追いながら丁寧に解説します。
また、実際に現場で使われているユースケースやテクニックについても紹介します。

ターゲット

  • 大規模なデータを扱っている人
  • ライブラリや処理系の実装から理解をしたい人
レギュラートーク(20分)
関西勢(在住or出身) 初登壇

AWS Secrets Manager で実現する安全なパスワードローテーション ― PHP アプリケーション実装パターン

55x95 おかもす

近年、データベースのパスワードを定期的に更新することをセキュリティ要件として課す組織が増えています。
しかし、対象となるデータベースが多くなるほど手動での更新作業は難しくなります。

AWS Secrets Manager の自動ローテーション機能を使えば運用を自動化できますが、シークレットをキャッシュする仕組みを組み込む際、PHP アプリケーション側の実装が煩雑になりやすいという課題があります。
本セッションでは、この問題を解決するために、PHP から Secrets Manager の交代ユーザー方式を利用して安全かつ効率的にパスワードローテーションを行う実装パターンを紹介します。

レギュラートーク(45分)
関西勢(在住or出身)

FrankenPHP入門じゃ終わらせない 実運用に向けて、移行手順を徹底調査

ma_me ma_me

概要

PHPの実行環境として長らく主流だったApacheやNginx+PHP-FPMに対し、近年登場したFrankenPHP。
本セッションでは、Laravelによる実アプリ検証を通じて、移行時に検討すべきポイントや設定値の相違点などの観点から紹介します。

紹介ポイント

  • 従来のApache/Nginx + PHP-FPMとの設定値や挙動の互換性
  • Laravelでの動作確認と制限事項
  • セッション・ファイルアップロード処理の注意点
  • Docker・CI/CD環境との連携や調整ポイント
  • そもそもどんなプロジェクトでFrankenPHPは向いているのか?
    etc

従来環境との違いを踏まえ、FrankenPHP導入の難易度やメリット・デメリットをお伝えします。

2
レギュラートーク(20分)
初心者向け

副作用と戦う PHP リファクタリング ─ ドメインイベントでビジネスロジックを解きほぐす

kajitack 梶川 琢馬

副作用が絡み合うロジックを触るたび「どこで何が起きるか分からない」――そんな不安をドメインイベントで断ち切ります!

ドメインイベントは「〇〇が起きた」という事実をクラス化し、処理の流れを“出来事”をベースに組み立て直すことで、依存を一方向に整えることができます。

本トークでは実務でのリファクタリングを題材に、

  1. 従来のメソッド分割との違いや限界を体感
  2. 同期イベント導入
  3. 非同期化

の3ステップでリファクタリング前と後のコードで比較しながら順に解説します。

チームでドメインイベントをわいわい議論できるようになるきっかけを提供します!

1
LT(5分)
初心者向け

登壇未経験だった私が「初めてプロポーザルを出してみよう」と思ったときにやったこと

000sak000 おさない

「登壇してみたいけど、プロポーザルの書き方が分からない・・・。」
そのように感じている方はいらっしゃいますか。

私は「PHPカンファレンス新潟2025」で初めてプロポーザルを出しました。
その結果、採択いただいたばかりでなく、「あのプロポーザルよかったね」とお褒めの言葉をいただきました。

このLTでは登壇未経験だった私が、初めて出すプロポーザルをより良いものにするためにやったことをお話しします。

⚪︎やったこと
・「募集要項」「実行委員長の思い」を確認する
・「プロポーザルの書き方」の資料を参考にする
・採択されているプロポーザルの構成を真似る
・ペルソナを決める

PHPカンファレンスでの登壇経験のない方が「プロポーザルを出してみよう」と一歩を踏み出すきっかけになれば嬉しいです!

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

Raspberry PiでCPUを作る

tomzoh 長谷川智希

ここ数年、私はRaspberry PiでCPUを作っています。
これは、Z80というCPUをコンピュータから取り外して代わりにRaspberry Piで作った自作CPUを取り付けて動かすというものです。

このトークでは私が作成した2つのバージョンのCPUを題材に、以下の様なことをお話します。

  • 少ないGPIOで多くの信号線をコントロールする工夫
  • CPUを作るというのは具体的に何をするのか
  • 手配線で作るCPUと基板発注して作るCPU
  • 自作CPUのデバッグ方法
  • Linux上でプログラムを動かすことのメリットとデメリット
  • 全てを手放して速度を得る - ベアメタル開発

このトークを聞いた方が「CPUを作るというのはどういうことか」をちょっぴり理解し、CPUやハードウェア自作が好きになることを願っています。そしてあわよくば一緒に自作CPUを楽しみましょう!

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

Raspberry PiでCPUを作ってMSXを動かす

tomzoh 長谷川智希

ここ数年、Raspberry PiでCPUを作っています。
これは、CPUをコンピュータから取り外して代わりに自作CPUを取り付けて動かすというもので、オリジナルのCPUの名前のZ80にちなんでPiZ80と呼んでいます。

PiZ80はZ80採用のパソコン・MSXをあわよくば高速に動かすことを目標にしています。
現在のPiZ80はMSXと同じZ80採用のシングルボードコンピュータ・SBCZ80でZ80よりも高速に動作する様になっていますが、ここに至るまでにはさまざまな改善がありました。

このトークではCPUを作るというのはどういうことか、CPUを作る時にどこに速度的な課題があるのか、そしてMSXでPiZ80を動かすまでの道のりをお話します。

このトークを聞いた方がCPUやハードウェア自作が好きになり、そしてあわよくばPiZ80のソフトウェアをいっしょに改善していけることを願っています!

1
レギュラートーク(45分)
初心者向け

低レイヤを知りたいPHPerのためのCコンパイラ作成入門

tomzoh 長谷川智希

CPUやプログラムの実行といったコンピュータの"低レイヤ"を知るためにCコンパイラを作成するのはとても良いアイデアです。
Rui Ueyamaさんの「低レイヤを知りたい人のためのCコンパイラ作成入門」はまさにそんな目的で書かれていて、手順どおりに進めていくだけで演算、変数、関数やポインタなど十分にそれっぽいCコンパイラを作れます。
ですが、このドキュメント、C(言語)でCコンパイラを作っていて、それ自体はごく普通のことですがPHPerにとっては若干ハードルが高いんですよね…。
OK。それならPHPでやってみましょう。
このトークではRui Ueyamaさんのドキュメントに従いながらPHPでCコンパイラを作る方法を解説します。
このトークを聞いた方がご自身でもPHPでCコンパイラを作成し、コンピュータの低レイヤを楽しめる様になることを願っています。

レギュラートーク(20分)
初心者向け

PHPからはじめるコンピュータアーキテクチャ

tomzoh 長谷川智希

現代のコンピュータはハードウェアから私たちプログラマが書くプログラムの動作までの間が多くのレイヤーに分けられて動作しています。
レイヤーは自分より下を抽象化し、下のレイヤーを詳しく理解しなくても多くの場合プログラマはプログラムを書けます。
一方、プログラムが期待した様に動作しない時には下のレイヤーの動作の理解が問題の解決の助けになることもあります。

このトークでは私たちが愛するPHPをスタート地点にして、「VMって何?」「 PHPやJavaとC言語の根本的な違い」など、コンピュータプログラムがどの様に動作するのかを解説します。

コンピュータのレイヤー構造を理解すると、いままでは見えていなかった角度からプログラミングを楽しめるようになります。
このトークを通じて、低レイヤーが好きになったり、いろいろなレイヤーで面白いことをしたりする方が増えることを期待しています!

2
レギュラートーク(20分)
初心者向け

「なぜキャッシュメモリは速いのか」とキャッシュが引き起こすCPU脆弱性

tomzoh 長谷川智希

2024年1月、「なぜキャッシュメモリは速いのか」が話題になりました。
この質問に答えるのはなかなか難しいのですが近年のコンピュータの高速化はすべてキャッシュによるものと言っても過言ではないぐらいキャッシュは重要な技術です。

このトークでは「なぜキャッシュメモリは速いのか」の説明から、なぜキャッシュが必須の存在なのか、そしてキャッシュが引き起こすCPUの脆弱性について初心者の方にもわかりやすくご説明します。

コンピュータアーキテクチャの勉強、というよりはキャッシュを取り巻くハートウォーミングストーリーを聴きに来るつもりでいらしてください。きっと「CPU脆弱性って言っても思ったより難しくないな」「おもしろいな」と思って頂けると思います。

レギュラートーク(20分)
初心者向け

なぜキャッシュメモリは速いのか

tomzoh 長谷川智希

2024年1月、「なぜキャッシュメモリは速いのか」が話題になりました。
この質問に答えるのはなかなか難しく、X(Twitter)ではいろいろな回答がされていました。この回答はさまざまな立場・理解からされていて、Xのタイムラインをご覧になっていた方はいまいちしっくりこなかったのではないでしょうか。

このトークでは「なぜキャッシュメモリは速いのか」に答えるのに必要な知識を、初心者の方にもわかりやすくご説明します。

  • キャッシュメモリとは何か
  • なぜキャッシュメモリを使用するのか
  • キャッシュメモリとメインメモリは何が違うのか
  • 結局なぜキャッシュメモリは速いのか

キャッシュの使いこなしは現代コンピュータにおいて避けることはできず、キャッシュを制するもののみがコンピュータを高速に動作させられると言っても過言ではない状態です。キャッシュを理解し、キャッシュを楽しみましょう!

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

新規プロダクト開発における開発手法の変遷を、良し悪しとともに振り返る

Dash_Kojima りばすと

私はEM2年生。 2024年4月に新規プロダクトをリリースし、現在はそのプロダクトをなんとか成長させていくべく邁進しています。

新規プロダクトのリリース、そしてその後の成長にあたってはさまざまな進行上の課題がチームに襲い掛かりました。

・ スクラムを解釈した開発イベントがなぜかうまくいかない
・ 社内や社外からのフィードバックが集まらない
・ プロダクトマネージャーとタスクの温度感がすり合わない
・ プロダクトの課題が無限に積まれ、さばいてもさばいてもなくならない
......

これらの課題が発生した背景には、新規プロダクト開発においてはフェーズごとに求められる立ち回りが大きく変化するというものがありました。

本セッションではそのような状況に対応するため、繰り返し見直し、変更・改善してきた開発手法の変遷について、良かった点と反省点の両軸から振り返ります。

2
LT(5分)
関西勢(在住or出身) 初心者向け 初登壇

Pythonを使わずPHPでどこまで機械学習を扱えるのか

daiki

レコメンド機能や新機能の効果予測など、ウェブアプリケーションで使われる機械学習はエコシステムが出来上がっているpythonで実装されることが多く、ウェブアプリケーション自体はPHPでもデータ取得や推論部分はpythonで実装されていることがほとんどだと思います。
課題は

  1. データスキーマをPHPで定義した場合、スキーマを変更したときにデータ取得のpython側でもスキーマを考慮する必要がある
  2. ウェブアプリケーションと違う言語なので、頭の切り替えコストが高い
  3. python側とのリクエスト/レスポンスの設計が難しく、リアルタイムデータを推論エンジンに与えようとすると、POSTのbodyが超巨大になることもある

PHPのデータ整形/機械学習エコシステムは砂漠状態のため、どうしてもPHPで機械学習をしたい私がPHPの機械学習でできたこと/できなかったことを紹介します

1
レギュラートーク(20分)
関西勢(在住or出身)

Guzzleはなぜ非同期リクエストができるのか?

takaram71 荒巻拓哉

PHPは基本的にシングルスレッドで動作します。そのため、並列処理は得意ではありません。
外部APIを複数叩くようなWebアプリケーションを作ろうと思った場合、1つずつ外部APIのレスポンスを待っていたのでは、処理完了に時間がかかりすぎてしまいます。

PHP製のHTTPクライアントライブラリであるGuzzleでは、非同期リクエストがサポートされており、複数のHTTPリクエストを同時に投げることができます。

並列処理が苦手なはずのPHPで、なぜそんなことが可能なのでしょうか?
このセッションではGuzzleのソースコードを紐解きながら、非同期リクエストがどのように実現されているのか、Guzzleに何ができて何ができないのかを見ていきます。