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

「Promiseって何だ!分からん!!」覗いて作って遊んでみよう

o0h_ きんじょうひでき

Promiseについて、「分からん!」から「そんなものもあるんだ」を経て、「そういう風になっていて、そう動くのか」に至るためのトークです
PHPによる実装を試みます

  1. Promises/A+の世界観や、概念レベルの「何を課題とし、どう解決を試みるパターンなのか」の共有から入り
  2. guzzlehttp/promisesreact/promiseといったPHP実装を参考にしながら
  3. 低機能で愚直なPromiseオブジェクトを生み出していきます

このトークで得られるもの

  • Promiseについて知る
  • 「PHPでできること」「PHPっぽい実装」について知る

あまり話さない

  • ライブラリ自体の詳細、活用法
1
採択
2025/02/22 15:40〜
ルーム シンフォニー
レギュラートーク(15分)

PHPUnitを低速化する技術

takeokunn たけてぃ

概要

PHPUnitはPHPテストフレームワークのデファクトスタンダードとして長年使われており、普段PHPを書いてる方であれば目にしたことがあるツールの1つです。
プロジェクト規模が大きくなればなるほどテスト数が増加し、PHPUnitの実行時間が増え、CI待ちがボトルネックになるといったことが多々あります。
今回はPHPUnitをあの手この手で低速化する方法をお伝えすることによって、逆説的にPHPUnitの実行速度劣化を防ぐ考え方が身につきます。

このトークでお話すること

  • PHPUnit実行速度とボトルネックの計測の仕方
  • 並列化やDB I/Oが実行速度にどれくらい寄与するか
  • etc...

ターゲット

  • PHPUnitが遅いプロジェクトを担当している方
  • 現状のPHPUnitの実行速度を速めたい方
  • PHPUnit自体の仕組みを理解したい方
4
LT(5分)

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

takeokunn たけてぃ

概要

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

本トークではtblsを用いたDBスキーマ可視化の実例を上げつつ、具体的なツール導入とCI設定の方法を紹介していきます。

このトークでお話すること

  • tbls紹介
  • 運用例紹介
  • tbls新規導入と基本的な設定
  • GitHub Actions活用方法
2
レギュラートーク(15分)

Phpactorから学ぶLanguage Server Protocolの仕組み

takeokunn たけてぃ

概要

Language Server Protocol (LSP)は、2016年にMicrosoftが発表したJSON-RPCベースのプロトコルです。
LSPはモダンなテキストエディタなら必ずある機能(e.g. 定義ジャンプ)を提供していますが、一番の魅力は特定のテキストエディタに依存しない形での実装になっていることです。
これにより各テキストエディタでの実装の必要がなくなり、エディタ選択の自由度が飛躍的に高まりました。

PHPの言語サーバ実装はintelephenceとPhpactorがメジャーです。
本登壇ではPhpactorの実装に触れつつ活用テクニックを紹介していきます。

このトークでお話すること

  • LSPの台頭とLSP前後のテキストエディタの変化
  • プロトコル解説とLSPがサポートしている機能の紹介
  • PhpactorとPHPStan拡張などの便利機能紹介
3
レギュラートーク(30分)
初登壇(これまでカンファレンスで登壇経験なし)

セルフケアとレジリエンスで強くなる:継続的に働くためのメンタルケア

DPontaro DPon

メンタルは崩れると業務のパフォーマンスに大きな影響を及ぼします。
比較的メンタルが弱い私が継続して業務に携わるため実践してきたセルフケアやレジリエンスと言われる回復力の鍛え方をお話します。

聞いてほしい方

基本的にどなたでもではありますが。

  • 若い方(早めに身に着けておいて損はない)
  • メンタル弱い自覚のある方

お話すること

  • メンタルが不調になる要因
  • 実践してきたセルフケア
  • レジリエンスの鍛え方
  • 実践したことにより得られた業務での成果

得られること

  • メンタルが不調になりがちなときの対処法を学べる
  • 業務でのパフォーマンスを安定させるためのセルフケアのコツ
  • 落ち込んだときからの回復力(レジリエンス)の向上方法
  • 長期にわたりモチベーションを保つための具体的な戦略
4
レギュラートーク(30分)
初登壇(これまでカンファレンスで登壇経験なし)

レガシーアプリケーションの検索処理をOpenSearchで改善

DPontaro DPon

年月を経たレガシーなアプリケーションの検索処理は、肥大化したロジックによりパフォーマンスが劣化しがちです。本セッションでは、実際に直面した検索遅延を、OpenSearchを活用して改善した実例をもとに、選定理由から実装の課題、実際の効果までをお話します。

ターゲット

  • OpenSearch導入を検討している方
  • レガシー環境でのパフォーマンス改善に悩む方

お話すること

  • OpenSearchの概要
  • 社内で抱えていた課題
  • 選定理由
  • 実装時の躓き
  • 実装後の効果
  • 今後の課題

何が得られるか

  • OpenSearchの強みと効果
  • レガシーな環境での落とし穴
2
レギュラートーク(30分)

PHPでアクターモデル Phluxorを利用した分散システム入門

seike460 清家史郎

PHPカンファレンス沖縄2024にて @ex_takezawa さんのアクターモデルの話を聞いて衝撃を受けました
https://speakerdeck.com/ytake/understand-and-experience-the-actor-model-in-php

今回はPHPでアクターモデルを実現できる @ex_takezawa 作のPhluxorに入門し使用感と分散システムの優位性を探ります
https://phluxor.github.io

利用者の目線からPhluxorを使用する上での必要な前提知識や実際のハマりポイント、感じたメリットなど含めて分散システム入門します

より皆様に近い立場からの分散システムの実際の体験を共有し、少しでも分散システムが身近になることを目指します

  • 想定聴講者
    • 分散システム初心者
    • 分散システムの事を知らない人
4
レギュラートーク(30分)
初登壇(これまでカンファレンスで登壇経験なし)

変更に強いユニットテストの考え方

suzuki_mar 鈴木まー

変更に強いユニットテストの設計と実装について、実践的なアプローチについてはなします。
多くの開発現場で課題となっているテストコードのメンテナンス性やどのようなテストを書いたほうがいいかを具体的に解説します。

主なトピック:
ユニットテストの本質的な目的の再考
メンテナンス性を重視したテスト設計の考え方
プログラムの振る舞いに基づくテスト戦
効果的なテスト階層の構築方法
具体的なテストコード作成の指針
新しい仕様変更に対してどのようにテストを書いていくか

2
採択
2025/02/22 13:50〜
ルーム シンフォニー
レギュラートーク(30分)
東海勢(出身or在住)

設計原則、アーキテクチャパターン、アーキテクチャスタイルの違いって何?いつどう向き合ったらいいの?を考えてみる

katzchum katzumi

ソフトウェア開発を行っていると以下のような用語を見かけると思います

  • 〇〇の原則
  • 〇〇パターン
  • 〇〇アーキテクチャ

これらの用語に触れると、興味と好奇心を掻き立てられると思います。
いざ調べてみるとこれらの用語が具体的に何を意味するのか、どのように適用されるのかが分からなくて圧倒されます。
これらの用語の具体的な例や実践を通じて理解するのもいいですが、かなり数も多く時間がいくらあっても足りません。
特に〇〇アーキテクチャというものが色々な人々が語っていますが、具体的なイメージがつかず、気軽に試す事もままなりません。
そこで、一つ一つの用語を覚えるよりも体系的な理解を行っていくことが必要なのではないか?と考えています。
本トークではこれらの用語がどのように関連し合っているのか?どのように向き合っていけばいいのか?をお話いたします。

4
LT(5分)
東海勢(出身or在住)

Given-When-Then構文でテストコードを見やすくする

katzchum katzumi

テストコードの意図をより明確にするテクニックとしてGiven-When-Then構文というものがあります。
Given-When-Then構文はどのテストフレームワークでも適用できる万能な書き方になります。
直ぐに始められて一歩先をいくテストコードを書いてみませんか?

2
LT(5分)

しょうもないアイスブレイク最高

et222et1 おくつ

毎日チームの朝会でアイスブレイクから始めています。
アイスブレイクってホントになんでもいいんですけど
しょうもないネタでその人の人となりが分かる瞬間、とても嬉しくなります。

しょうもないネタ集と人となりを知るポイントなどを話したいと思います

1
採択
2025/02/22 11:50〜
ルーム カルテット
レギュラートーク ルーキー枠(10分)
初登壇(これまでカンファレンスで登壇経験なし)

楽しく向き合う例外対応

et222et1 おくつ

本番でエラーが発生!
焦りますよね。
まずは、ユーザが困っていないかの判断をしましょう。
さてその次は?
ログやデータベースなどの事実を元に例外が発生している原因の調べ方と向き合い方について話したいと思います。

例外を出さないように品質高いものをリリースすることは大前提ですが、
それでも例外は起こるもの。
例外が起こるということは?ユーザがふかく使っているということだ!ハッピー!
例外をローカルで再現できた!ハッピー!
(サービスの特性によってはマジでこんなこと言ってられないと思いますが)
例外対応は、エンジニアの華ですよね。楽しくやっていきましょう。

3
採択
2025/02/22 16:20〜
ルーム カルテット
レギュラートーク(30分)

PHP 製 OSS のメモリ問題を辻斬りしていく

sji_ch sji

スクリプトがサーバ全体のメモリを食いつぶさないようにするための安全装置として、PHP にはプロセスごとのメモリ消費を memory_limit という設定値で制限できる仕組みがあり、制限を超えた時には "Allowed memory size of N bytes exhausted" というメッセージが出ます。

世には PHP 製の OSS が星の数ほどあり、GitHub を "Allowed memory size of" で検索すれば、そういった PHP 製の OSS プロジェクトでメモリ問題に悩まされているものを見つけられます。

それらを適当に拾い食いして辻斬りのように解決していく活動を通じ、PHPのメモリ問題の基本的な解決方法を紹介していきます。PHP の基本的なメモリ管理機構やメモリ消費量の計測方法、参照関係のたどり方、メモリを食いがちな部分といった話もあわせて解説します。

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

「兵法」から見る"質とスピード"

effy_staffs wakaba

近年、急速に"(コードの)質と(質の高さからくる開発)スピード"が注目されるようになってきました。

一方で「何故、"質とスピード"を求めるのか」に対するお話はあまり見かけません。

このトークでは「兵法」から見た「"ソースコードの質"や"開発スピード"は何のために必要なのか?」、「"ソースコードの質"や"開発スピード"は本当に必要なのか?」についてお話します。

日本でも著名な「孫子の兵法」から現代戦で重視される戦術論「リズムとテンポ」などの観点から「市場を支配するために必要な"質とスピード"」に迫ります。

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

1 あらためて考える「なぜ"質やスピード"が必要なのか」
2 "質やスピード"を求める場合の基準
3 組織人として組織を持続可能にするために考える事

このトークで話さない事

1 孫子の兵法をはじめとした戦略論・戦術論の詳解

4
レギュラートーク(30分)
東海勢(出身or在住)

住みながら改築する技術~プロダクトを少しずつ改善しよう~

77web 菱田裕美

こだわりのマイホームが3年経ったら住みづらくて穴だらけのあばら家になるのがWebシステムです。プロダクトとして一応お金を稼げてはいるんだけど、なんか保守開発がやりづらくて速度落ちる…フレームワークのアップデート対応も脆弱性対応も追いついてない…というのはよく聞く話ですね。
そんなとき、「よし!リニューアルだ!」とプロジェクトを立ち上げるものの、結局色々あって頓挫…という経験はありませんか?私はあります!
このトークでは、まず、「なぜ人はシステムのリニューアルに失敗してしまうのか?」を解説した後、リニューアルせずに少しずつ改善する方法をメインにお話しします。おまけとして、どうしてもリニューアルしたい人のためのリニューアルに成功した事例のお話もするかもしれません。

4
レギュラートーク(30分)
東海勢(出身or在住)

PHPer のための Amazon Q Developer スタート術

katzueno Katz Ueno

AWS が提供する、ソフトウェア開発のための生成 AI アシスタントサービス Amazon Q Developer は、 PHP にも対応しています! Amazon Q Developer の概要、セットアップ方法、活用方法をクイックに紹介します。

  • Amazon Q Developer の概要の紹介
  • VS Code を使ってのセットアップ
  • コメントでコード生成
  • 既存コードをリファクタしてみる
    (他)
1
LT(5分)
初登壇(これまでカンファレンスで登壇経験なし)

社内コードゴルフ大会を開催したら最高に楽しかった!!

keita__Max ニヘー

今年の3月に実施されたPHPerkaigi2024でコードゴルフ大会に参加し、とても楽しかったため、「自分の会社でも実施したい!」と思い立ち、実際に開催しました。結果は大成功で、とても楽しい時間を過ごせたので、その時の話をします。

コードゴルフの内容は、「FizzBuzz」問題や、1時間で解ける程度のの難易度のものを採用しました。言語はPHPを使用しました。

具体的には以下のような内容を話す予定です。

•コードゴルフ大会を実施するにあたって、コードゴルフができるWEBアプリをどのように作成したか
•コードゴルフ大会の雰囲気や参加者からの評判
•参加者たちの感想
•コードゴルフ大会を定期的に開催していることでの社内への影響
•コードゴルフ大会を開催した私自身の感想

1