採択
2024/12/22 15:25〜
トラック2 - 2F 小展示
レギュラートーク(25分)

情報漏洩させないための設計

kubotak_public 久保田賢二朗

弊社M&Aクラウドでは会社や事業を売却したいユーザーと、その会社や事業を買いたいというユーザーがマッチングするプラットフォームを提供しています。
そのシステムでは、マッチングした場合のみに特定の情報が閲覧開示されます。
しかし既存の実装ではほとんどUIに近い層で情報をコントロールしていたためヒヤリとする実装となっていました。
このトークでは情報の開示レベルを制御する設計方法を紹介します。
PHPStanも活用し、コーディングの時点で開発者が迷うことなくオブジェクトを利用できる設計を紹介します。

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

PHPerのための計算量入門

hanhan1978 富所 亮

計算量とは、アルゴリズムが問題を解くために必要とするリソース、特に時間やメモリの量を指します。プログラムはただ動けばいいだけではありません。膨大なデータを扱う現代において、計算量はアルゴリズムのパフォーマンスを左右する重要な要素です。皆さんのコードはどれだけ効率的ですか?計算量の基本から、時間計算量や空間計算量の理解を深めることで、あなたのプログラミングスキルを次のレベルに引き上げましょう!

本トークで話す内容

  • 計算量とはなにか?
  • 時間計算量、空間計算量
  • 実装時に意識すること
採択
2024/12/22 15:25〜
トラック5 - 1F 会議室AB
レギュラートーク(50分)

Asynchronous PHP with ReactPHP

realFlowControl Florian Engelhardt

No one likes to wait. Yet, PHP scripts are often waiting on databases, email servers, HTTP servers, file systems, and even RAM. The result? Your customers are left waiting too. In this talk, we'll dive into the power of RabbitMQ and ReactPHP to significantly reduce waiting times and optimise performance. Get ready for live coding!

採択
2024/12/22 16:00〜
トラック2 - 2F 小展示
レギュラートーク(25分)

責務を分離するための例外設計

kajitack 梶川 琢馬

例外処理って「エラーをキャッチするもの」と思いがちですよね?
でも、実はもっと重要な役割があります。例外を使うことで「自分のコードがどこまで責任を持つべきか」を明確にし、処理を他に委任することができるんです。

このセッションでは、例外を活用してエラーハンドリングを整理し、過度なキャッチによるコードの複雑化を防ぐ方法をお伝えします。
さらに、フレームワークが担うべき役割や、ビジネスロジックを表現するカスタム例外の作り方も紹介します。

ぜひチームでのディスカッションに活用してみてください!

話すこと

  • 例外の型の使い分け
  • ビジネスロジックを表現するカスタム例外
  • 例外をハンドリングする方法
採択
2024/12/22 16:35〜
トラック1 - 1F 大展示
LT(5分)

var_dumpとvar_exportの理解から始めるPHPのソースコードリーディング

myblackcat7112 まさき。

PHP開発者ならおなじみのvar_dumpとvar_exportですが、これらの関数がどのように動いているのかを考えたことはありますか?

本発表では、var_dumpとvar_exportの違いを簡単に紹介し、それを切り口にPHPのソースコードを読み始める方法とそのメリットをお話したいと思います。PHPの内部動作を知ることで、デバッグや開発スキルをさらに向上させるきっかけを提供します!

採択
2024/12/22 16:40〜
トラック1 - 1F 大展示
LT(5分)

【ISUCONでも使える!?】お手軽にパフォーマンス改善入門 〜MySQL Performance Schema編〜

for__3 zoe

パフォーマンス改善してますか?スロークエリ改善してますか?

Amazon RDSには便利な機能としてPerformance Insightsというスロークエリなどを分析して可視化してくれる機能があります。
しかし、この機能はt2およびt3, t4gのmicro, smallインスタンスでは利用することができませんし、RDSを利用していない場合には使用することができません。
この場合、スロークエリのログ出力設定を行いファイルに吐き出して、手動で解析すれば改善することはできますが、とても手間がかかってしまいます。
そこで便利なのが、MySQLの機能であるPerformance Schemaを使って簡単に可視化し改善していく方法を紹介したいと思います。
想定聴講者は、スロークエリ改善をしたいができていない方、なにから手をつければわからない方、お手軽にスロークエリ分析をしたい方におすすめです。

採択
2024/12/22 16:45〜
トラック1 - 1F 大展示
LT(5分)

サーバーなしでWordPress運用、できますよ。

sogaoh sogaoh

WordPress運用、苦労してませんか?

  • 本体やプラグインのアップグレードに追従できない
  • アップデートしたら重大なエラーで突然サイトが止まってしまった
  • ファイルアップロードでのサイト更新にミスがあって想定通りの表示にならない

こういった、WordPress運用をサーバーで行うことの辛いところを解消する運用を編み出したチームがあります。ぼくたちです。

このLTでは、以下について実現できて運用している事例を紹介します。

  • composer でプラグインを管理する手法
  • docker compose を利用してローカルで本番同等の表示を再現する機構
  • 既存のWordPressサイトを、EFSとS3だけの、RDSなしでECS移行
  • AWS DataSync を利用した本番環境とは別の場所での環境再現
採択
2024/12/22 16:50〜
トラック1 - 1F 大展示
LT(5分)

Xdebug ProfileによるCIパフォーマンス改善のためのボトルネック解析

task2021 山下 祐

多くのテストケースを回すCI環境では、特定のメソッドがボトルネックとなり、テスト実行時間に大きな影響を与えることがあります。本セッションでは、Xdebug Profileを活用して、PHPUnitが呼び出すコード内のパフォーマンスを阻害するメソッドを特定する方法を紹介します。
頻繁に呼ばれるメソッドの実行時間がわずかに増えた場合でも、1000回呼ばれれば無視できない遅延となり、CI全体のパフォーマンスに影響を与えます。Xdebug Profileを使えば、こうしたボトルネックを簡単に見つけ、CIのパフォーマンス改善に繋げることが可能です。

以下についてお話しします:

  1. Xdebug Profileの導入と設定方法
  2. PHPUnitが呼び出すコードの実行時間と呼び出し回数の解析手法
  3. Xdebug ProfileをGitHub Actionsに組み込む方法
採択
2024/12/22 16:55〜
トラック1 - 1F 大展示
LT(5分)

PHPConferenceへの参加を後押しするためにしていること

yoko_94b 下岡 葉子

ぺちこん参加回数2桁になっている私が、「ぺちこんは楽しいから、もっといろんな方に知って欲しい!参加して欲しい!」そんな思いで声をかけ、毎年初参加者を誘うことに成功しています。
ぺちこん自体を知らない方、名前は知っているけれど踏み出せない方、いろいろいらっしゃる中で、私が日頃から行っている声かけやお誘いポイントをお伝えします。

5
採択
2024/12/22 17:00〜
トラック1 - 1F 大展示
LT(5分)

どうして手を動かすよりもチーム内のコードレビューを優先するべきなのか

okashoi おかしょい/岡田 正平

「生産性改善のために、コードレビューを最優先にやる」という言説を耳にしたことがあるでしょうか。

コードレビューをしている間は当然、自分が持っているタスクの進行が止まってしまいます。
それでもコードレビューを優先した方がいいと言われるのはなぜでしょう?

その問いに対し、本トークでは「我々の仕事とは/仕事を終わらせるとは何なのか?」という観点から答えていきます。

ちなみに「すべての職場や環境においてコードレビューを最優先にすべき」という主張ではありません。
これについても「我々の仕事とは/仕事を終わらせるとは何なのか?」という観点で説明します。

採択
2024/12/22 17:05〜
トラック1 - 1F 大展示
LT(5分)

Opcodeを読んでいたら何故かphp-srcを読んでいた話

murashotaro むらおか

このトークでは、OPcodeを読み進めていたはずが、気づけばPHPのソースコードを読み込むことになった体験を共有します。

当初はパフォーマンスや最適化を目的にOPcodeを読んでいましたが、調べるうちに言語の内部構造にまで興味が広がっていきました。
そのプロセスを具体例とともに振り返りながら、技術的な知識に加え、その過程で得た学びや気づきについてお話しします。

採択
2024/12/22 17:10〜
トラック1 - 1F 大展示
LT(5分)

「とりあえず動く」コードはよい、「読みやすい」コードはもっとよい

_mkmk884 まきまき

不確定な部分のコードを何度も修正する際、どこを変更すれば良いか迷ったり、実際に読んでみないと見積もりができない経験はありませんか?

そこで効果的なのがリファクタリングです。
私は以前、「とりあえず動く」コードを重視していましたが、設計感覚やドメイン知識が身についてくることにより、読みやすく変更に強いコードを書くことが楽しく感じるようになりました。変わらない部分と変わる部分を分離し、リファクタリングすることで、自分にも他者にも与えるポジティブな影響と、リファクタリングを楽しむためのポイントを話します。

話すこと

  • リファクタリングが自分や他者に与える影響
  • リファクタリングの手順やアプローチの具体例
  • 意味のあるテストコードの重要性
採択
2024/12/22 17:15〜
トラック1 - 1F 大展示
LT(5分)

毎日13時間もかかるバッチ処理をたった3日で60%短縮するためにやったこと

sho_ssk_ Sasaki Sho

「パフォーマンスチューニングは複雑で手間がかかる」と思っていませんか?
実は、コードの大改修をせずとも、仕様変更と軽微な修正だけでも大幅な改善が可能です!

本LTでは、13時間かかっていたバッチ処理を、たった一部の仕様変更で5時間に短縮した実例を紹介します。パフォーマンスチューニングは難しくない!

対象者

  • 10時間以上のバッチ処理を保守している人
  • パフォーマンスチューニングに苦手意識を持っている人
採択
2024/12/22 17:20〜
トラック1 - 1F 大展示
LT(5分)

PHPUnitしか使ってこなかった一般PHPerがPestに乗り換えた実録

yu_mashirou 柚口ましろう

これまでPHPにおけるテストフレームワークといえばPHPUnitが主流であり(PHPSpecやCodeception等もありますが普及範囲が広いものに言及します)、ほとんどのPHPを使ったシステム開発で、テストフレームワークを導入していれば一択といっても過言ではないと思います。

ですが、近年(といっても2021年の登場ですが)流星のごとく登場した、テストフレームワーク「Pest」を、弊社では取り扱うこと決め、その導入からテストコードとして認められるマージされるまでの実録を爆速紹介いたします。

お話すること

  • LaravelでPestを導入する!(Sailを添えて)
  • 実装する!(make:commandを添えて)
  • テストコードを書こう!(PHPUnitとの違いを添えて)
  • 動かしてみよう!(すごいことになった)
  • まとめ