採択
2024/12/22 13:15〜
トラック5 - 1F 会議室AB
レギュラートーク(25分)

テストコード書いてみませんか?

onopon_engineer おのぽん

新入社員がテストコードを書けない場合、どのように教えますか?
日頃書く人は感覚的に書けますが、書いたことのない人はコツを掴むまで時間がかかってしまうものです。
皆様も経験があるのではないでしょうか?

本セッションでは、そんなテストコードのチュートリアルをpublicリポジトリとして公開・そのリポジトリの利用方法やテストコードを書く上でのテクニックをお話します。
Docker環境さえ整っていれば誰でもLaravelフレームワーク内でPHPUnitのテストを書くための問題集にチャレンジできる内容となっております。
全ての操作用のコマンドやREADMEを用意しているので、Dockerの知識がなくてもテストの実行やテスト用DBの中身を確認できます。

これを機にテストコードを書けるようになりましょう!

対象者:
・テストコードを知りたい方
・育成コストに悩んでいる方

採択
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に興味がある人

9
採択
2024/12/22 13:15〜
ワークショップトラック - 6F D会議室
ワークショップセッション(100分)

作って理解するComposer <クイックコース>

o0h_ きんじょうひでき

心を込めて模倣をすれば、Composerと心は通うのか──

composer require hoge/fuga と打ったら、適切にパッケージが配置され、オートロード可能な状態になった」
を100分間で目指す企画です

ねらい

  • Composerがパッケージを取得し、利用可能にする仕組みを理解する
  • CLIやファイル操作、オートロード等のPHPの基本〜中級(?)的な機能を理解する

対象レベル

  • PHPの基本的な理解は必須
  • Composer内部の知識は不問

形式

  • チュートリアル資料を利用した、ハンズオン形式
    • 簡単な講義・解説を含む

扱うテーマ

  • composer require で新規パッケージをインストールする、一連の流れ
  • ただし、本物には含まれる一部要件は無視します(実用には不向き)
    • 時間・レベル調整のため
10
採択
2024/12/22 13:50〜
トラック1 - 1F 大展示
スポンサーセッション(50分)

そーだいさんに聞く!コミュニティとともに在るエンジニアの良いキャリアの歩み方

OkrandJ 大倉 潤也

本セッションは、株式会社リンケージ 取締役CTOである曽根 壮大(そーだい)氏と、エンジニアのキャリアプラットフォームである転職ドラフト事業部長 大倉 潤也の対談形式で行います。

PHPを中心とした技術やコミュニティを軸として進んでこられた、そーだい氏のエンジニアキャリアにおけるターニングポイントを掘り下げながら、キャリア構築におけるポイントをディスカッションしていきます。

そーだい氏のエンジニアキャリアの歩みを通じて、キャリア構築のヒントを提供できれば幸いです。

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

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

cakephper cakephper市川

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

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

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

  • TLSの基礎
  • PHPでの実装ポイント
  • 車輪の再発明の面白さ
採択
2024/12/22 13:50〜
トラック3 - 4F コンベンションホール 梅
スポンサーセッション(25分)

プロダクトの寿命を延ばすためにエンジニアが考えるべきこと 〜バージョンアップってなんのためにやるのか〜

牧 良摩

プロダクト開発において、言語やフレームワークのバージョンアップは避けて通れない重要な課題です。
しかし、日々の開発業務に追われ、後回しにしがちになってしまっていませんか?

本セッションでは、バージョンアップの重要性に焦点を当て、なぜバージョンアップを行う必要があるのか
そして誰のために必要なのかを掘り下げます。
また、カオナビに入社してからの実体験をもとに、バージョンアップと新規機能開発を経験して直面した苦労や
プロダクト開発を行う上でエンジニアが何を意識して開発を進めるべきかというポイントについても発表します。

8
採択
2024/12/22 13:50〜
トラック4 - 4F コンベンションホール 鶯
スポンサーセッション(25分)

リアルオペレーションを支えるPHPアプリ開発

西山 舜

オープンロジでは、物流代行プラットフォーム開発に日夜取り組んでいます。
そんな私たちが向き合うのは、自ら動かず、置き場所や動かし方を全て考えてあげなければならない「物」です。
その為、ユーザに直接機能を届けるサービスとは、一風変わったソフトウェア開発が求められてきます。

「物」を正確かつ効率的に動かすには、現場のオペレーションとソフトウェアとの綿密な連携が欠かせません。
その解決策として、私たちは倉庫業務に特化したハンディ端末(通称HHT)向けのアプリケーションを、PHPとTypeScriptで開発しています。

このセッションでは、HHT開発の舞台裏を紹介しながら、現実のオペレーションとシームレスに連携するソフトウェアをどのように設計・実装しているか、オープンロジならではの開発手法をご紹介します。

3
採択
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への移行に役立ててもらうことを期待しています。

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

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

seike460 清家史郎

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

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

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

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

  • お話すること

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

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

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

zeriyoshi 工藤 剛

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

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

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

  • PHP をソースコードからビルドするメリットについて
  • PHP のソースコードを取得方法
  • ビルド環境の構築方法
  • 代表的なビルドオプション
  • ビルド〜動作確認まで
採択
2024/12/22 14:20〜
トラック3 - 4F コンベンションホール 梅
スポンサーセッション(25分)

共創を加速するための若手の技術挑戦

hibiki_cube ヒビキ

みなさんは「共創」という言葉にどんなイメージを持っていますか?
誰かと共に、手を取り合いより大きな力で新しい価値を創り出すこと。
ウエディングパークではこの共創を拡大し、価値創造を進めています。
このトークでは、若手エンジニアである私が、共創プロジェクトの一員として働く中で何を考え、どんな取り組みを行ってきたのかお伝えします。
共創の力をいかに発揮するか、共創の難しさをどう乗り越えるのか。
エンジニアとしてこれらの課題に技術で答えを出してきた経験をもとに、
技術を武器に、事業貢献を加速するためのヒントをお届けします。

このトークで得られること
・共創におけるエンジニアの動き方
・技術を武器にした事業貢献事例
・技術挑戦・技術導入のためのヒント

こんな人におすすめ
・チームで活躍したい若手、若手に活躍してもらいたい人
・共創に興味がある人
・技術による価値創造や課題解決をしたい人

4
採択
2024/12/22 14:20〜
トラック4 - 4F コンベンションホール 鶯
スポンサーセッション(25分)

APIデバッグとリバースエンジニアリング

nagix 草薙 昭彦

APIのレスポンスを確認するためのツールというイメージが強いPostmanですが、実はAPIのデバッグやリバースエンジニアリングに利用できる豊富な機能を備えています。PostmanのUI上で表示できるAPIリクエストに関する様々な情報やPostmanコンソールの見方から、ローカルマシン上の通信をキャプチャできるPostmanプロキシ、ブラウザの通信をキャプチャできるインターセプターの活用方法をご紹介します。

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

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

tomoki2135 廣部 知生

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

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

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

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

kitkattsun0531 勝佐拓也

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

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

・・・本当に?

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

採択
2024/12/22 14:55〜
トラック1 - 1F 大展示
スポンサーセッション(50分)

AlgoliaからOpenSearchに乗り換えてみた

新田 竜規

Algoliaは、その高速性や簡単な導入プロセス、使いやすい管理画面で、多くのエンジニアに支持されている全文検索エンジンです。一方で、運用規模が拡大するにつれて、コスト増加や柔軟なカスタマイズが難しいといった課題も浮き彫りになりました。
本セッションでは、Algoliaの持つ優れた利点を認めながら、これらの課題を解決するためにOpenSearchへ移行した経験を共有します。移行の理由や具体的な手順、移行時に直面したトラブルとその解決策、そして移行後に得られたコスト削減や運用の柔軟性について詳しく解説します。全文検索の選定や運用で悩んでいる方にとって、実践的なヒントをお届けします。

採択
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、セキュリティグループなどのパケットフィルタの効果は?
採択
2024/12/22 14:55〜
トラック3 - 4F コンベンションホール 梅
レギュラートーク(25分)

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

avosalmon 濱崎竜太

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

17
採択
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修正、ローカル環境への影響
  • コンテナ化に伴う技術的課題の解決と具体的な成果
  • 数百万ユーザーへの影響を最小限に抑えるための具体的なリリース手法
18
採択
2024/12/22 14:55〜
トラック5 - 1F 会議室AB
レギュラートーク(25分)

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

AzMen29759244 東 和樹

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

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

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

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

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

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

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

kalibora 藤田敏之

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

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

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

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