レギュラートーク(30分)
U25(登壇時に25歳以下) 初登壇(これまでカンファレンスで登壇経験なし)

PHPStanを味方にする術・敵にするアンチパターン

malsuke096 まるすけ

今では多くのPHPerが利用している静的解析ツールのPHPStan
このPHPStanについて踏み込み、上手く活用する方法とアンチパターンについて以下を参考にお話します。

  • PHPStanの基礎について
  • 静的解析の強さについて
  • 既存プロジェクトへの導入するコツ
  • レベルに囚われずルールを追加する方法
  • PHPStanにとって嬉しいコードの書き方について
  • 導入におけるアンチパターン
  • PHPStanが悪魔に変わる瞬間
4
採択
レギュラートーク(30分)
U25(登壇時に25歳以下) 初登壇(これまでカンファレンスで登壇経験なし)

「PHPは脆弱」←これの原因と抜け出す方法について

malsuke096 まるすけ

「PHPは脆弱」

PHPerの方ならこの言葉一度は聞いたことがあるでしょう。

これなんでなんでしょうね〜〜!?!?!?わかるひとーーーー!!!!????

ということで、本トークでは「PHPは脆弱」と言われるようになった原因について以下のようなワードに触れつつ、歴史から振り返ってお話をします。
そして、その内容を踏まえ、我々は「どのようにプログラミングをしていけば、より安全なソフトウェアを開発していくことが出来るか」について自分なりに述べさせていただきます。

  • PHPの実行形態・言語の特徴
  • 静的解析
  • IPA
  • ラスマス・ラードフ
  • PHP財団
  • 標準化
  • CVE
  • セキュリティ
  • エンジニアバブル

普段PHPを利用している方も、これから書いてみたいという方も楽しめるトークを目指します。

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

抽象化をするということ - 具体と抽象の往復を身につける

soudai1025 曽根 壮大

ソフトウェアエンジニアには抽象化の能力が重要と言われます。
では実際に抽象化とはどのような能力なのでしょうか?

実際の事例を交えながら、抽象化を理解し、実務に活かせるようにします。#

話すこと

  • 抽象化と具体化とは
  • 抽象化のメリット
  • 現実で身につける抽象化の階層
  • 抽象と具象の往復とは
  • ソフトウェアと抽象化

話さないこと

具体的なソフトウェアの実装における抽象レイヤーの話

9
レギュラートーク(30分)
初登壇(これまでカンファレンスで登壇経験なし) 東海勢(出身or在住)

レガシーPHPアプリを改善する手立て~AWS Lambdaを活用した改善の実践方法~

darupu_tech だるぷ

概要

モノリシックかつレガシーな肥大化したPHPアプリにお悩みではありませんか?10年近く長年運用されてきたアプリケーションでは、技術負債による開発・運用上の問題に苦しむことが多いのではないでしょうか。これらの問題は短期で簡単に解決できないケースがほとんどです。
そこで、本発表では、「改善」の手立ての一つとして、主にAWS Lambdaを活用したアーキテクチャの変更や機能分割を行うことで得られる開発運用効率化について実体験をもとにご紹介させていただきます。

対象者

  • レガシーなモノリシックPHPアプリを運用しているエンジニア
  • クラウドサービスの導入・活用を検討されている方

得られること

  • モノリシックなレガシーアプリの課題を理解できる
  • 効率的な運用のための具体的なアプローチを知ることができる
レギュラートーク(30分)
東海勢(出身or在住)

ファーストクラスコレクションで、配列からの脱却へ一歩前進!

saku_rye さくらい

連想配列に全てを詰め込んで旅をさせるのは良くないとは分かりつつ、
今まで巨大な連想配列をゴリゴリ実装していたチームが、配列からの脱却への一歩に挑戦しました。
完全な配列脱却は難しかったものの、バランスをとったリアルな挑戦ができたのでお話しします。

話すこと

  • 配列で書いていた時代の実例、課題、デメリット
  • ファーストクラスコレクションとは
  • 配列からの脱却に⁠ファーストクラスコレクションを採用した理由
  • ファーストクラスコレクションに感じたメリット/デメリット
  • デメリットをカバーするために生み出した、ファーストクラスコレクション亜種
2
レギュラートーク(30分)

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

o0h_ きんじょうひでき

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

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

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

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

あまり話さない

  • ライブラリ自体の詳細、活用法
1
レギュラートーク(30分)
初登壇(これまでカンファレンスで登壇経験なし)

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

DPontaro DPon

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

聞いてほしい方

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

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

お話すること

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

得られること

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

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

DPontaro DPon

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

ターゲット

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

お話すること

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

何が得られるか

  • OpenSearchの強みと効果
  • レガシーな環境での落とし穴
1
レギュラートーク(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
採択
レギュラートーク(30分)
東海勢(出身or在住)

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

katzchum katzumi

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

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

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

2
採択
レギュラートーク(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 の基本的なメモリ管理機構やメモリ消費量の計測方法、参照関係のたどり方、メモリを食いがちな部分といった話もあわせて解説します。

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

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

effy_staffs wakaba

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

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

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

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

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

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

このトークで話さない事

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

3
レギュラートーク(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