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と呼ばれる脆弱性についても触れます。

8
採択
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を導入したか、どこに苦労したのか、どう解決していったのかをお話ししたいと思います!

12
採択
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
LT(5分)

PHPStan n本ノック

DPontaro DPon

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

得られること

  • PHPStanの苦手意識が少しでも和らぎます
1
レギュラートーク(25分)

セルフケアとレジリエンスで強くなる:継続的に働くためのメンタルケア

DPontaro DPon

メンタルは崩れると業務のパフォーマンスに大きな影響を及ぼします。
比較的メンタルが弱い私が継続して業務に携わるため実践してきたセルフケアやレジリエンスと言われる回復力の鍛え方をお話します。

聞いてほしい方

基本的にどなたでもではありますが。

  • 若い方(早めに身に着けておいて損はない)
  • メンタル弱い自覚のある方

お話すること

  • メンタルが不調になる要因
  • 実践してきたセルフケア
  • レジリエンスの鍛え方
  • 実践したことにより得られた業務での成果

得られること

  • メンタルが不調になりがちなときの対処法を学べる
  • 業務でのパフォーマンスを安定させるためのセルフケアのコツ
  • 落ち込んだときからの回復力(レジリエンス)の向上方法
  • 長期にわたりモチベーションを保つための具体的な戦略
4
LT(5分)

DDD関連本、全部読んでみた

hanhan1978 富所 亮

DDD(ドメイン駆動設計)に興味があるけど、どの本から読めばいいか迷ったことはありませんか?数多くのDDD関連書籍をすべて読むのは大変ですが、安心してください!とりあえず、手に入る本は全部読んで見ました!本トークでは、どんな人がどのDDD関連本を読めばいいのか、独断と偏見で発表します!

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

PHPerのための計算量入門

hanhan1978 富所 亮

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

本トークで話す内容

  • 計算量とはなにか?
  • 時間計算量、空間計算量
  • 実装時に意識すること
7
ワークショップセッション(100分)

100分で本番デプロイ!Laravelで作るWebアプリケーション作成

hanhan1978 富所 亮

自社サービスでも、受託開発でも、機能開発の一部分だけを担当していると、全体感がわからずいつまでたっても半人前という状態になってしまいます。

本ワークショップでは「本番Webアプリケーションをデプロイして運用するという経験」を一気通貫してやったことがない方を対象に、100分間でLaravelのWebアプリケーションを作って、仕様変更をして、修正リリースを行います。

本ワークショップで得られる体験

  • 本番Webアプリケーションのデプロイ経験
  • CI/CDの設定
  • ミニマムな運用保守体験

本ワークショップの前に必要な準備

  • AWSのアカウント(本番アプリケーション動作により課金されます)
  • Docker Desktop for Mac, または Windows が動作する開発用のラップトップPC
  • PHPのWebアプリケーションを開発するためのツール類 IDE、ターミナル
4
レギュラートーク(25分)

Re-Readable 正規表現

shunsock しゅんそく

正規表現はテキストの抽象表現です。ソフトウェアでは入力値のチェックやテキストの整形などに用いられるので、私たちプログラマにとって馴染みが深いものの一つです。

ところで、正規表現の「正規」という名前が「良い性質」という意味を持っていることをご存知でしょうか? 実際、統計の分野では良い性質を持ち、理論の根幹となる分布に正規分布という名前が付けられています。同様に、シンプルで汎用性の高い正規表現もまた、正規という名前に相応しいといえるでしょう。

しかし、開発者に正規表現の話題を振ると 「複雑で可読性・編集容易性が低くく、辛い」 という話題になりがちです。本セッションでは、正規表現が何故複雑になり、読めなくなってしまうのかという疑問に答え、その解決方法を示します。

なお、本セッションはPHPerKaigi 2024で発表し、改良したものです.

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

Dockerイメージを毎日自動ビルド・プッシュする仕組みと効果

ryosukes47 佐々木 亮祐

本番運用においても、ローカルで開発を行う場合においても、Dockerなどのコンテナ技術およびAWS ECSなどの周辺サービスを利用するのはすでに一般的かと思います。
ただ、確かに便利な技術ではあるのですが、運用を続けていくうちに以下のような課題に出くわすことがあります。

・CIの実行に時間がかかる
・本番・CI・ローカル環境ごとにライブラリ・パッケージをインストールする記述が分散しておりメンテが面倒
・aptなどでバージョン固定してインストールしているパッケージが、リリース用イメージのビルドタイミングでインストール失敗しリリース時に困る

このトークでは、実際にPHPのDockerイメージを毎日自動ビルド・プッシュすることで上記のような課題を解消した事例についてお話しします。

7
LT(5分)

なぜ1000行でカバレッジ計測ツールを作れるのか…… その謎を解明するため、我々調査隊はGitHubの奥地へと向かった――。

shunsock しゅんそく

dbt-coverageというツールをご存知ですか?

dbt-coverageとは、dbtのテストやドキュメントのカバレッジを計測するツールです。dbtはデータワークフローをSQLとYAMLで定義するソフトウェアで、dbt-coverageとはDBのテーブルに対するテストケースや、YAMLファイルにdescriptionの項目が書いてあるかを計測します。

一見するとよくあるツールに見えるのですが、コードの量が非常に少ない。実のところ、ソースコードが1000行ぐらいしかありません。この量では、とてもYAMLをASTに直し、構文解析することは不可能なように感じました。

本セッションでは、このdbt-coverageのソースコードを解説し、どのようにして短いコードで有用なカバレッジ計測ツールを実現していのかを解説します。

8