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

PHPStan拡張のコードから読み解く静的解析の威力と可能性

tzm_freedom 田実 誠

静的解析は堅牢なPHPアプリケーションを作るための手段として広く認知、活用されるようになりました。
特にPHPStanは技術カンファレンスでも多く言及されており、PHPにおける静的解析のデファクトスタンダードとも言えるツールです。

PHPStanはそれ単体だけでも効果を発揮しますが、拡張機能を使うことでより精緻な解析ができます。
例えばLaravel向けの拡張であるLarastanを使うと、マイグレーションファイルのスキーマ情報により、EloquentモデルのDBカラムの型を解釈できるようになります。

本トークではPHPStanの拡張機能の読み方を紹介するとともに、実際の拡張機能がどのように実装・実現されているのかを見ていきます。
拡張機能のコードを読むことで静的解析の威力を知っていただき、より効果的に静的解析を活用していくきっかけとなれば幸いです。

LT(5分)

細かすぎて伝わらない、人から信頼を得る技術

m_norii のりぃ

あなたの社内にも「あの人になら相談しやすいな」という人はいませんか?
社内で頼られる人にはどのような特徴があるのでしょう。
エンジニア歴25年、8社を渡り歩いてきた私が
社内コミュニケーションにおいて心がけている、細かすぎるけど大切なことをお話します。

2
レギュラートーク(25分)

NeoVim IDEの世界

_fs0414 fujitani sora

NeoVim IDE。
本セッションでは、VsCodeやJetBrains製品が提供する「統合開発環境」としての機能を、NeoVimとTUIを利用してTerminal内で表現する事であると定義します。
LSP、DAP、補完やGitにDocker操作等々のIDEとしての環境をNeoVimで構築するまでのステップと、その効率性について解説する内容になります。
皆さんに「こんな選択肢があるのか」と自分の開発環境を見直す機会になることがGoalです。

話すこと

  • なぜTerminalで完結させているのか
  • NeoVim IDEとIDE製品のPros/Cons
  • Lua言語について
  • Terminal周りのOSS事情と、Rust製の勢い
  • 自分が大規模コードをNeoVimのみで編集できるようになるまでの四苦八苦
  • PHPでのライブコーディング
3
LT(5分)

カジュアル面談に来たエンジニアに「PHPはちょっと…」と言われたら

m_norii のりぃ

弊社はPHPで自社サービスを提供しているスタートアップ。
エンジニアは超売り手市場でなかなか採用ができない。
毎日レジュメを眺め、スカウトメールを送る日々。
とある日、ようやく弊社事業に興味を持ってくれたエンジニアがカジュアル面談に来てくれた!
幸いにも事業関心も高く、マッチしそう!
ところが、弊社の採用言語がPHPであることを伝えると
「PHPはちょっと…」
え?
え?
そこで温度感下がってしまうの?

カジュアル面談でこんな状況に遭遇したら、どうすればいいでしょう?
このLTで採用担当のそんなお悩みを解決します。

10
LT(5分)

消したはずのファイルが生き残っている!?PHPのファイル操作の落とし穴

takaram71 荒巻拓哉

とある機能を実装していたときのことです。その機能には、動的に作成・削除されるファイルの存在有無によって分岐する処理がありました。
検証環境でのテストも問題なく、満を持して本番環境にデプロイしたところ、なんと大量のエラーアラートが!
エラー内容を見てみると、どうやら削除したはずのファイルがなぜか存在すると判定されてしまっているようなのです。
調査の結果、PHPの意外な仕様が原因であることがわかりました。

上記の経験をもとに、あなたの知らない(かもしれない)PHPのファイル操作にまつわる仕様とその対策をお話しします。

11
LT(5分)

PHPerが知っておきたいGitHub Actions Tips n選

takaram71 荒巻拓哉

私のチームでは最近GitLabからGitHubへと移行し、CIもGitHub Actionsを使い始めました。
せっかく移行するなら、単なる書き換えではなくGitHub Actionsならではの機能やベストプラクティスを取り入れたいと思い、いろいろと調査を行いました。

このLTでは、PHPアプリケーションのCIをGitHub Actionsで実装するにあたって得られた知見を共有します!

想定する聞き手

  • GitHub Actionsをこれから使ってみたいPHPer
  • GitHub Actionsの便利な機能を活用したいPHPer

話すこと

  • PHPプロジェクトのCIの基本的な作り方
  • PHPプロジェクトで使うと便利なGitHub Actionsの機能、ツール

話さないこと

  • GitHub Actionsの基本的な機能、使い方
9
LT(5分)

フロント開発の自動テストでやったこと

keita__Max 二瓶啓太

Next.jsを今年から触り始めたんですが、フロント側のテストって何を書いていいかわからない、UI部分のテストって書くのが難しそう、と思っていました。

そこでフロント開発(Next.js)の自動テストについて調べて、実際に作成した時、こんなライブラリやツールを使ってこんなテストをしたよ、っていうようなことを話したいと思います。

具体的には以下のような内容を話す予定です。

•自動テストのタイミング(コミット時、GitHubのプルリクを出した時、mainにマージされた時など)
•ESLintでの静的解析
•Storybookを使った自動テストの作成
•Jestを用いたテストの作成
•Chromaticを用いたUIの変更点のテスト作成
•Codecovを用いてコードカバレッジの取得

LT(5分)

2ヶ月間毎日Qiita投稿したらめっちゃ強くなった(気がする

keita__Max 二瓶啓太

2ヶ月間毎日Qiitaに投稿したらめっちゃ強くなった(気がする)

皆さんは、インプットだけでなく、記事を書いたり、LTをしたりといったアウトプットをしていますか?僕は、去年まではほとんどアウトプットをしていませんでした。

そんな僕が、2月から4月にかけての約2ヶ月間、毎日Qiitaに記事を書いて投稿しました。その時の体験談をお話ししたいと思います。

具体的には、以下の内容をお伝えする予定です。

  • どんなことを書いたのか(例: PHPやReact)
  • 毎日投稿して感じたメリット
  • デメリットや辛かったこと
  • 投稿前後での成長
  • 2ヶ月間完走した感想
1
レギュラートーク(25分)

Laravel Octane with FrankenPHP

avosalmon 濱崎竜太

PHPのパフォーマンスを飛躍的に向上させる次世代のPHPサーバー「FrankenPHP」とLaravel Octaneを組み合わせることで実現する高速なPHPアプリケーション開発について紹介します。
本セッションでは、FrankenPHPの基本概念、従来のPHP FPMとの違い、Laravel Octaneとの統合方法、そしてリアルタイム機能や高トラフィック対応の具体的なユースケースについて解説します。

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

ALBと外部IDプロバイダーで認証しつつ、LaravelではGate・Policyを使わずシンプルにアクセス制御する方法

ryosukes47 佐々木 亮祐

Laravelにおいて認証・認可はGate・Policyの仕組みに沿えばイージーに実装が可能です。
しかし、OktaやMicrosoft Entra IDといった外部IDプロパイダーを使用し、認証自体はWebアプリケーションに到達する前に行いたい場合もあります。

このトークでは、AWS ALBと外部IDプロバイダーを使用しOIDCで認証を行いつつ、LaravelではCasbinという複数言語をサポートしているアクセス制御するための認可ライブラリを使ったRBACの実装例を紹介します。
また、ALBの誤った設定によるALBeastと呼ばれる脆弱性についても触れます。

14
採択
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!

LT(5分)

Larastan入門:5分で分かる静的解析術

naoki_haba 羽馬 直樹

皆さん、コードの品質に悩まされたことはありませんか?
バグと格闘する夜を過ごしていませんか?そんなあなたに、Larastanをご紹介します!
Larastanは、PHPStanの力を借りて、あなたのコードを守る不可視の盾となります。
主な特徴:

  • バグを未然に防ぐ予言能力
  • コードの一貫性を保つ整理術
  • 開発速度を加速させる時間操作

Larastanを使えば、本番環境でのハプニングとはおさらば。より堅牢で、メンテナンスしやすいアプリケーションを、自信を持って構築できます。

さあ、Larastanと共に、より洗練されたLaravel開発の世界へ飛び込みましょう!

LT(5分)

PHP のマニュアルを読もう

yuksew 内藤勇介

マニュアル読んでますか?

PHP のマニュアルを読むと何が嬉しいのか、以下の観点からお話します。

  • 何が書いてあるのか
  • どこから読むのか
  • なんのために読むのか
1
LT(5分)

WordPress テーマ配布戦略 - アクセス制御とコスト削減の秘訣

kinosuke01 きのすけ

私が携わったホスティングサービスでは、ユーザーがコントロールパネルからワンクリックで WordPress をインストールできる機能を提供しています。特定の契約者には、購入された WordPress テーマも同時にインストールできる機能も提供しています。

この機能の実現にあたって、テーマファイルを契約者のみにアクセス制御して配布することが重要な課題でした。この LT では、WordPress 簡単インストール機能の仕組みに触れた後、テーマを適切にアクセス制御して配布するための具体的な方法について、WordPress の制約を踏まえた解決策をお伝えします。

また、パブリッククラウドのオブジェクトストレージに保存されたテーマの転送コスト削減のために採用したキャッシュ戦略についても共有します。アクセス制御を維持しつつ、効率的な配布システムを構築するための工夫をお話しします。

1
レギュラートーク(50分)

Laravel Meets Modern Frontend with Inertia.js

avosalmon 濱崎竜太

このセッションでは、LaravelとInertia.jsを組み合わせたモダンなフルスタック開発について紹介します。
Inertia.jsは、ReactやVueなどのモダンなフロントエンド技術のメリットを活かしながら、サーバーサイドアプリケーションのシンプルさを維持するためのツールです。これにより、複雑なAPIやクライアント側の状態管理なしで、モダンでインタラクティブなウェブアプリケーションを構築できます。
ReactやVue、TypeScriptと組み合わせて使用する方法や、Inertia 2.0で導入される新機能、UIコンポーネントライブラリのshadcn/uiの活用法、ライブバリデーションを実現するPrecognitionについても説明します。
さらに、VitestやDuskを使ったテストの方法や、Laravel公式のVS Code拡張機能を活用する方法についても触れます。

4
レギュラートーク(25分)

スタートアップにおけるスクラム実践のリアル 〜ツールやプロセス、楽しむ工夫〜

naoqoo2 新倉 直明

他社がどのようにスクラムを行っているか、気になったことはありませんか?
このセッションでは、私たちがどのようにスクラムを実践しているか、その具体的な取り組みをシェアします。

私たちのチームでは、サーバーサイド、フロントエンド、そしてネイティブアプリのエンジニアが同じチームで協力しながらスクラムを進めていますが、それゆえに発生する課題も少なくありません。
使用しているツールやスクラムイベントの実施方法はもちろん、発生した課題とその対策について詳しく話します。
また、モチベーションを高めながら楽しく仕事を進めるための工夫も紹介します。
これからスクラムを始めようとしている方や、スクラムの進め方に悩んでいる方にとって、少しでも役立つヒントになれば幸いです。
セッション後は、ぜひ皆さんのスクラムについても教えてください!

話さないこと
 ・PHPに関すること m( )m

3
LT(5分)

Let’s 静的解析! レガシープロダクトにPHPStanを導入するまでの道のり

tomoki2135 廣部 知生

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

さて、私が開発しているプロダクトは、20年前から存在します。
古いコードには型宣言がなかったり、クラスを利用しておらず、グローバル領域で書かれたコードも多くあります。
そんなプロダクトに静的解析を導入するまでの苦難の道程と、入れたらどのような警告が出たのかをLTでお話しします!

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

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

tomoki2135 廣部 知生

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

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

採択
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、セキュリティグループなどのパケットフィルタの効果は?
LT(5分)

PHPStan n本ノック

DPontaro DPon

PHPStan苦手ですか?私は苦手でした。
苦手を克服するにはひたすら倒していくのが遠いようで近道です。
よく遭遇するパターンを5分で紹介できるだけ紹介していければと思います。

得られること

  • PHPStanの苦手意識が少しでも和らぎます
1