採択
2025/07/19 11:20〜
ルームD
レギュラートーク(45分)

階層化自動テストで開発に機動力を

effy_staffs wakaba
  • 自動テストの改修コストが高くリリース速度が落ちてる
  • xUnitでどこまで書けばよいのか判らない
  • E2Eで回してるけど本当に確認したいのは単純なI/Oだけなんだけど

これらのお悩みを纏めて解決する、よくばりテスト技法として「階層化自動テスト」戦略についてお話します。

本トークは過去に登壇した「『"品質"が高いコード』って何?」と「「兵法」から見る"質とスピード"」を前提に進みます。
より理解を深めたい方は次のXのURLからそれぞれの資料を事前にご覧ください。
https://x.com/effy_staffs/status/1942218381840802191

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

  • 品質管理の一環としての統合的なテスト戦略
  • 「テストをどこに書けばよいのか」問題への指針

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

  • ツールの使い方や実装ノウハウ
7
レギュラートーク(20分)

PHPのルールをねじ曲げろ! 禁断の操作とその代償から学ぶメタプログラミング入門

nrslib nrs

本トークはPHPのメタプログラミング技術を活用し、本来の言語設計が提供する制約を超えた操作がどのように可能となるか、またその結果生じるリスクと課題についてをお話します。

PHPにはリフレクションAPIを使用したアクセスやeval()による動的なコード実行など強力な機能が提供されています。
これらの技術はいわゆるメタプログラミング技術に内包されるもので、特定状況下では非常に有用ですが、同時に深刻なリスクが伴うものです。
ちょっとしたいたずら心がどのような災厄を招くのか。
本トークではメタプログラミングの威力をあらためて確認し、その適正な使用範囲とベストプラクティスについてお話いたします。

6
LT(5分)

陰キャでも楽しめるPHPカンファレンス

yuksew 内藤勇介

陰キャの陰キャによる陰キャのためのPHPカンファレンスの楽しみ方を紹介します。

話すこと
・陰キャエンジニアのための、PHPカンファレンスを楽しむための心構え
・カンファレンス会場での効果的なぼっち行動
・疲れないための休憩戦略
・懇親会でぼっち飯にならない方法

6
採択
2025/07/19 11:20〜
ルームB
レギュラートーク(45分)
関西 初心者向け

PHPでお金を扱う時、終わりのない謎の1円調査の旅にでなくて済む方法 ~ドメインコードの具体例を交えて~

konsent_nakka なっかー

話すこと

  • PHPでstring, float, intを相互変換するとどのような問題が起きるのか、どのように実行されているのか
  • センシティブな数値を扱う時、どのように扱うべきなのか
  • UseCase、Domainの各層で具体的にどのように書くのか

説明

会計システムを作る時にPHPの数値仕様をしっかり理解した上で作らないと、後々大変なことになってしまう可能性があります。
小数点以下の誤差によって1円が消えたり増えたりしてしまうことがあり、1円の行方を巡って終わりのない、解決もしない調査の旅に身を投じることになるでしょう。
それが今なのか、いつなのかは分かりませんが、知っていれば防げる問題でもあります。

本セッションでは数値にはどんな問題があり、扱う時に何を気をつける必要があって、さらに扱いやすくするためにおすすめの方法をお話しします。

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

PHPでお金を扱う時、終わりのない謎の1円調査の旅にでなくて済む方法

konsent_nakka なっかー

話すこと

  • PHPでstring, float, intを相互変換するとどのような問題が起きるのか、どのように実行されているのか
  • センシティブな数値を扱う時、どのように扱うべきなのか

説明

会計システムを作る時にPHPの数値仕様をしっかり理解した上で作らないと、後々大変なことになってしまう可能性があります。
小数点以下の誤差によって1円が消えたり増えたりしてしまうことがあり、1円の行方を巡って終わりのない、解決もしない調査の旅に身を投じることになるでしょう。
それが今なのか、いつなのかは分かりませんが、知っていれば防げる問題でもあります。

本セッションでは数値にはどんな問題があり、扱う時に何を気をつける必要があって、さらに扱いやすくするためにおすすめの方法をお話しします。

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

オープニング

aki_artisan あかつか

PHPカンファレンス関西2025のオープニングをします

3