採択
2024/12/22 13:15〜
トラック6 - 3F 特別会議室
レギュラートーク(25分)

AWSのLambdaでPHPを動かす選択肢

stupid_owl Rinchoku

現在プロダクトのインフラの選択肢は格段に広がっています。
AWSだけでも、EC2、ECS on EC2、AWS Fargate、AWS EKSがあります。
ただし、LambdaはPythonやnode.jsなどをサポートしていますが、PHPをサポートしてないということで選択肢に上がりません。
近年LambdaにWeb Adapterが登場したことで、様々な言語・フレームワークを動かすことができます。

本セッションはLambda Web Adapterで実際に動かした経験談をベースに、Lambda Web Adapterの良さや苦労話を共有できればと思います。

本セッションの対象者
・Lambda Web Adapterを聞いたことがない人
・Lambda Web Adapter or Bref + Laravelで開発話を聞きたい人
・Serverlessに興味がある人

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

技術を楽しむ:PHPで実装するTLS/SSLプロトコル

cakephper cakephper市川

TLS/SSLについて暗号化と証明書のチェックをする程度という理解でも困ることは少ないですが、もう一歩踏み込んでどのようなプロトコルになっているか、公開鍵の署名や共通鍵の暗号はどう選ばれ使われているのか、これらのレイヤーを詳しく見ていくと非常に興味深い世界が広がっています。
このセッションでは、そんなTLS/SSLの内部構造に迫り、技術の楽しさを共に味わいたいと思います。

数ヶ月前の私も、TLSについては漠然とした理解しか持っていませんでした。しかし、PHPでTLS1.2を実装する中でその複雑さが実に面白く、やがて「完全に理解した!」と言える境地にたどり着きました。

本セッションでは次の内容を発表する予定です

  • TLSの基礎
  • PHPでの実装ポイント
  • 車輪の再発明の面白さ
17
採択
2024/12/22 13:50〜
トラック5 - 1F 会議室AB
レギュラートーク(25分)

PHPでは気にならないCookie管理の境界線 SSRで直面するサーバーとクライアントの違い

ma_me ma@me

PHPでCookieを管理する際、セキュリティ面やライフサイクルについては意識するものの、
サーバーサイドとクライアントサイドの境界を意識することはほとんどありません。
しかし、近年ではSSR(サーバーサイドレンダリング)の普及により、
サーバーとクライアントの役割が明確に分かれ、Cookieの扱いにも違いが生じています。

このトークでは、PHPとSSRにおけるCookie管理の違いに注目し、
両者の処理の境界がどのように影響を与えるかを解説します。

PHP開発者がSSRで直面しやすい問題点や、それに対するよりベターなプラクティスを紹介し、
Cookie並びにフロントエンド技術への理解をより深めていただくことを目指します。
実践的な知識を持ち帰り、PHPからSSRへの移行に役立ててもらうことを期待しています。

1
採択
2024/12/22 13:50〜
トラック6 - 3F 特別会議室
レギュラートーク(25分)

PHPで作るWebSocketサーバー ~リアクティブなアプリケーションを知るために~

seike460 清家史郎

昨今リアクティブなウェブアプリケーションが当たり前な世界となっています

そのリアクティブなウェブアプリケーションを支える通信技術に踏み込みたいと考えました

今回はPHPを使ってWebSocketサーバーを構築することで、具体的な手順からWebSocketの基本的な理解を深めます

実際に作ったリアクティブなアプリケーションのデモを通じてWebSocketのが生み出す強力なユーザー体験を、
PHPを通じて学びながら、PHPerとフロントエンドエンジニアを繋ぐ理論について共有が行えると幸いです

  • お話すること

    • WebSocketサーバーをPHPで構築する手順
    • 構築したWebSocketとブラウザが通信を行うデモ
  • 想定聴講者

    • WebSocketを知りたいPHPerとフロントエンドエンジニア
    • WebSocketを作りたいPHPer
7
採択
2024/12/22 14:20〜
トラック2 - 2F 小展示
レギュラートーク(25分)

怖くない!ゼロから始めるPHPソースコードコンパイル入門

zeriyoshi 工藤 剛

みなさんが普段から利用している PHP はどこから入手したものでしょうか。パッケージマネージャや DockerHub のイメージからという人が多いのではないかと思います。
でもちょっとまってください。 PHP はオープンソースプロジェクトであり、コードは誰でも入手することができます。つまり自分でビルドできるのです!

🔓 オープンソースの魔法、解き放とう
🛠️ 自分だけの PHP 、手作りの喜び

今回は以下の内容についてお話します。

  • PHP をソースコードからビルドするメリットについて
  • PHP のソースコードを取得方法
  • ビルド環境の構築方法
  • 代表的なビルドオプション
  • ビルド〜動作確認まで
6
採択
2024/12/22 14:20〜
トラック5 - 1F 会議室AB
レギュラートーク(25分)

20年もののレガシープロダクトに0からPHPStanを入れるまで

tomoki2135 廣部 知生

皆さんは、PHPStanを使って開発していますか?
PHPStanは静的解析ツールであり、PHPの開発をサポートしてくれます。
例えば、未定義の変数のチェック、PHPDocの間違いの確認、型の確認などの機能があります。
これは、動的型付け言語であるPHPで開発していく中で、必ず役に立つ機能です。

さて、私が開発しているプロダクトは、20年前から存在します。
当然、古いコードには型宣言がなく、付け足しの結果、気づかずに未到達コードが生まれてしまったことがあります。
さらには、クラスを利用しておらず、グローバル領域で書かれたコードも多くあります。
そんな古いプロダクトに、いかにしてPHPStanを導入したか、どこに苦労したのか、どう解決していったのかをお話ししたいと思います!

12
採択
2024/12/22 14:20〜
トラック6 - 3F 特別会議室
レギュラートーク(25分)

Laravel 11 へアップグレード、15分 で終わるのか!?

kitkattsun0531 勝佐拓也

Laravel 11 待望のリリース!
公式のアップグレードガイドを見るとこのような記載が。

『アップグレード見積もり時間:15分』

・・・本当に?

公式が言うのであればそうなのでしょう。
幸い、えんさがそっ♪は PHP 8.3 / Laravel 10 と好条件が揃っている。
では 15分 でアップグレード完遂という高みに挑戦しようではないか。

10
採択
2024/12/22 14:35〜
ワークショップトラック - C会議室 or D会議室
ワークショップセッション(100分)

PHP Internals わいわい PHPカンファレンス2024スペシャル! #phpinternals_waiwai

youkidearitai てきめん

PHP Internals Book https://www.phpinternalsbook.com/ というものをご存知でしょうか
これはphp-srcを知りたい人のための資料になっています
普段はこれをもとにしたPHP Internals わいわいというもくもくハンズオンを行っています。
これをPHPカンファレンスのワークショップで行うというものです。

今回はPHPカンファレンスのワークショップとのことで、mbstring拡張がどうなっているのか、mb_*関数を作ってみましょう!

Hi! I'm tekimen, PHP mbstring commiter.
Would you like know what works mbstring?
If this proposal accepted, Feel free to join to our workshop!

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

ある日突然あなたが管理しているサーバーにDDoSが来たらどうなるでしょう?知ってるようで何も知らなかったDDoS攻撃と対策

akase244 akase244

みなさんはDDoS攻撃代行サービスというものが存在することをご存知でしょうか?
DDoS業界は価格破壊が起きており、お手頃に攻撃できる時代となっています。
そんな簡単に攻撃可能な時代に突入しているのであれば、ある日突然あなたが管理しているサーバーが攻撃の標的になってもおかしくはありません。
私は最近までDDoS攻撃は「大量にリクエストが来るヤバイやつ」くらいの認識で正直ナニモワカラナイといった状態だったので、本セッションでは以下のような疑問について発表いたします。

  • DDoSとはどんな攻撃で防ぐことは可能なのか?
  • F5アタックや金ロー見ながら日本中で唱える滅びの言葉はDDoSなのか?
  • Nginx、Lambda、LaravelのRate Limiting設定は意味があるのか?
  • CDN、WAFの効果は?
  • iptables、セキュリティグループなどのパケットフィルタの効果は?
20
採択
2024/12/22 14:55〜
トラック3 - 4F コンベンションホール 梅
レギュラートーク(25分)

普通のエンジニアがLaravelコアチームメンバーになるまで

avosalmon 濱崎竜太

私はコンピュータサイエンスの学位も海外留学の経験もない普通のエンジニアです。
そんな私が今年6月にLaravelのコアチームに加わり、グローバルなチームのなかで尊敬するメンバーたちと共に日々開発に携わっています。
このセッションでは、私が2014年にLaravelに出会ってからコアチームに加わるまでの経緯や、グローバルなLaravelコミュニティでどのような活動をしてきたか、そしてコアチームに加わってからの活動についてお話しします。
特別な経歴がなくても、行動することで可能性が大きく広がるということを、私の経験を通じてお伝えできればと思います。

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

EC2からECSへ:念願のコンテナ移行と巨大レガシーPHPアプリケーションの再構築

egusumi1219 江口 純矢

保育・教育施設向けICTサービス「CoDMON(コドモン)」は2015年のリリース以来、AWSのEC2上で動作していました。コンテナ化の機運はあったものの、巨大でレガシーなPHPアプリケーションであるため対応を先延ばしていました。
リリースサイクルの高速化や環境間の差分解消などを目的としてコンテナ化とECSへの基盤移行に踏み切り、半年ほどかけて検証などを進めてきました。

本セッションでは、EC2からECSへの移行プロジェクトがどのように進行し、どのような成果を得たのか、以下のような内容に触れてお話しします。

  • EC2からECSへの移行を実施した背景
  • コンテナ化に直面した主な技術的課題
  • EC2環境変更、Dockerfile修正、ローカル環境への影響
  • コンテナ化に伴う技術的課題の解決と具体的な成果
  • 数百万ユーザーへの影響を最小限に抑えるための具体的なリリース手法
15
採択
2024/12/22 14:55〜
トラック5 - 1F 会議室AB
レギュラートーク(25分)

20年続くレガシープロダクトに10年携わったエンジニアが思う、システム長期運用のカギ

AzMen29759244 東 和樹

結婚準備クチコミ情報サイト「Wedding Park」は今年でクチコミサービス開始から20周年を迎えたウェブサイト。
このレガシープロダクトでは、幾度もPHPで動くシステムのバージョンアップやシステムリプレイスのプロジェクトが生まれてきました。

・PHPのバージョンアップ
・Laravelフレームワークへのリプレイス
・オンプレサーバからAWSへの移行
・コンテナ化 など

システム運用者として定期的にアップデートしていきたい想いと、長期にわたる大規模プロジェクトとなり頻度高く実施ができない。そんな悩みとぶつかっていました。

その歴史の中で約10年、アプリケーションエンジニアとSRE、各視点で向き合って運用・開発してきた経験を基に、

・これまでのシステム改善の変遷と知見
・運用と開発視点でのプロダクトとの向き合い方
・新たな価値を継続的に提供し続けるための長期計画
をご紹介します。

8
採択
2024/12/22 14:55〜
トラック6 - 3F 特別会議室
レギュラートーク(25分)

QA環境で誰でも自由自在に現在時刻を操って検証できるようにした話

kalibora 藤田敏之

現在時刻に関するテストの話題、よくありますよね。
ユニットテストでは現在時刻に関するテストも可能な設計にしているかと思いますが、
QA環境で、たとえばプロダクトマネージャーやその他企画職の様なエンジニア以外の方が、
未来の日時に始まるキャンペーンをテストしたい場合、どのようにされていますでしょうか?

DBのキャンペーン開始日時のデータをいじる?
 →DBじゃなくてソースコードにハードコーディングされていたら?
ソースコードに書かれている開始日時を修正しちゃう?
 →それもいいけど、間違えてデプロイしない?それに何度もやるのはめんどくさい。

など簡単な手段はありますが、デメリットもあります。

これらのデメリットを解消し、誰でも簡単に現在日時を変更して検証できるようにした(前半は現在時刻に関する一般的な設計テーマ、後半はSymfonyを使った実装アプローチについて)話をしたいと思います。

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

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

kubotak_public 久保田賢二朗

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

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

PHPerのための計算量入門

hanhan1978 富所 亮

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

本トークで話す内容

  • 計算量とはなにか?
  • 時間計算量、空間計算量
  • 実装時に意識すること
7
採択
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 梶川 琢馬

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

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

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

話すこと

  • 例外の型の使い分け
  • ビジネスロジックを表現するカスタム例外
  • 例外をハンドリングする方法
10
採択
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の内部動作を知ることで、デバッグや開発スキルをさらに向上させるきっかけを提供します!

5
採択
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を使って簡単に可視化し改善していく方法を紹介したいと思います。
想定聴講者は、スロークエリ改善をしたいができていない方、なにから手をつければわからない方、お手軽にスロークエリ分析をしたい方におすすめです。

8
採択
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 を利用した本番環境とは別の場所での環境再現
11