レギュラートーク 10分

メンテが命: PHPフレームワークのコンテナ化とアップグレード戦略

inu_shunta いちかわしゅんた

サービスは生き物のようなもので、放置すれば腐ってしまいます。
適切なメンテナンスとアップグレードが必要です。
本セッションでは、古くなったPHPフレームワークを再生するための具体的な戦略を解説します。
ユニットテストの導入、Laravelアプリケーションのコンテナ化によるインフラ刷新、Laravelアプリケーション/MySQLのバージョンアップなど、数々の挑戦とそれを克服した方法を紹介します。
これにより、デプロイ頻度の向上、テストコードによる仕様の明文化、システムの安定性を向上させることができました。
実際の成功事例を通じて、参加者はPHPプロジェクトの持続的な進化を支える具体的な戦略を学ぶことができます。

LT 5分

社内コードゴルフ大会を開催したら最高に楽しかった!!

keita__Max にへい

今年の3月に実施されたPHPerkaigi2024でコードゴルフ大会に参加してとても楽しかったので、「自分の会社でも実施したい!」と思い、実際に開催しました。それがとても楽しかったので、その時の話をします。

コードゴルフの内容は、PHPerkaigi2024でも扱われた「FizzBuzz」問題を社内のコードゴルフ大会でも問題として使用しました。言語はPHPで行いました。

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

•コードゴルフ大会を実施するにあたってどのようにコードゴルフができるWEBアプリを作成したか
•コードゴルフ大会の雰囲気+評判
•参加した人たちの感想
•コードゴルフ大会を開催した僕自身の感想

LT 5分

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

keita__Max にへい

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

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

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

•どんなことを書いたのか(PHPとかreactとか)
•毎日投稿のメリットと感じた点
•デメリット•辛かったこと
•前後での成長
•2ヶ月完走した感想

LT 5分

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

keita__Max にへい

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

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

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

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

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

レギュラートーク 10分

1Password CLIを活用したenvファイルの安全な共有方法

metalic_kudo_h 工藤 颯斗

envファイルをチームで共有するのが面倒だと感じたことはありませんか?
本セッションでは、1Password CLIを使って、各メンバーのローカル環境でenvファイルを最新の状態で生成する方法について解説します。

お話する内容は以下の通りです。
・envファイルをGitHubで管理するセキュリティリスク
・envファイルをメンバー間で共有する際の苦労
・1Password CLIでenvファイルを共有する方法と、そのメリット・デメリット

「envファイルの管理方法がわからない」「envファイルをチームで共有するのが面倒」
と感じている方々にとって、役立つ情報をお伝えします!

1
レギュラートーク 30分

解剖Composer: パッケージの要求から配置まで

o0h_ 金城 秀樹

composer require hoge/fuga を実行すると、 hoge/fuga とその依存パッケージが、ベンダーディレクトリに配置されます

  • hoge/fugaの依存、そのまた依存、そのまた…という情報、どうして分かるんだ
  • 欲しいバージョン、指定してないぞ。どう決めているんだ
  • ローカルにあるパッケージの扱いは?いったん削除?差分だけ取得?どうやって?
  • パッケージ本体はどうやって持ってくるの、packagistから?違う場所?

内部実装を読み解き、そんな疑問を今日で全部潰しませんか

※ 本トークはPHPerKaigi 2024のパンフ記事と同テーマで、じっくり30分喋りたい!というものです

レギュラートーク 10分

実況!テスト駆動開発 〜PhpStorm edition〜

o0h_ 金城 秀樹

テスト駆動開発(TDD)は大切です。
品質も上がるし開発速度も上がると言われています。

しかし、
概念は知っている、進め方や定義も知っている、でも「本当に効果的だ」と感じるには至っていない
そんな人も多いのではないでしょうか?
全ての開発を「このプラクティスに則れ」とは言わずとも
(個々人にとって)気持ち良く適所適材で使える武器の1つに数えられれば、日々の開発の助けとなります。

どうしたら「TDD実践者」に近づけるか?
──PhpStormの機能をフル活用して、気軽な実践に繋がるかも知れない!と、提唱します。
となれば、「やってみせ」が効果的でしょう。

そんな訳で、ゴリゴリにPhpStormを使って、TDDのポイントを解説しつつIDEの機能も説明しつつのコーディングを、実演をする時間です。
Enjoy! PhpStorm-Driven Test-Driven Development!

レギュラートーク 30分

リファクタリングの扉を叩く 〜LCOMをヒントに勘所を探る〜

o0h_ 金城 秀樹

いま目の前にあるコード、なんとなく読み疲れる!
たぶんリファクタリングってやつが必要なんだ!!

でも…既に動いているコードに手をいれるのは怖い
どう書き換えて、どう「良くなったでしょ!」と説明すれば?

コードに絶対の正解はないですが、考えるヒントや根拠は多い方が良いですよね
「LCOM」は、モジュール(※クラスなど)の「凝集度」を定量化する指標です
「凝集度」は、コードの品質を示す概念の1つです

もし、あなたが「リファクタリングをやってみたい」と考えた時に
何かの概念でコードの「良い」「悪い」を見つめられたら
自分の取り組みに自信を持てます!

このトークでは
【これからリファクタやってみたい・向き合ってみたい人】向けに
【LCOMの世界観】を共有し
【実際に使ってコードを変更してみる】例を示します。
LCOMの計算方法や細かい定義よりも、【直感的に分かる・使える】ことを重視します。

レギュラートーク 10分

ガード節に頼らない!ネスト削減のマル秘テクニック

ひろふみん

可読性のためにコードのネストを浅くすることはとても良いプラクティスです。
ガード節はネストを簡単に解消できる手法として広く勧められていますが、途中リターンを多用することに問題はないのでしょうか?

このトークでは、ガード節を使うメリット・デメリットを詳しく分析し、さらに可読性を高めるために考案した新しいテクニックを、具体的な例を交えながらご紹介します。

ネストが浅くて読みやすいPHPコードの作成にきっと役立つ情報をお届けします。

レギュラートーク 10分
沖縄出身 or 沖縄在住

Laravel プロジェクトで blade ディレクティブを捨てようとしたが止めました

ながまかずま

一時期、ある理由から 「Laravel の blade ディレクティブって使わない方がチームの為になるのでは…?」などと血迷った考えが頭にありました。

blade ディレクティブを使わないようにするには、Laravel が blade ディレクティブをどのように PHP 構文にコンパイルしているか知らなくてはなりません。

コアコードやコンパイル後のコードを確認していくうちにその血迷った考えはなくなり正常な判断が出来るようになりましたが
今後一時的にでも同じように血迷う方が出ないようにその話をします。

レギュラートーク 30分

仕事を前に進めるためのコツ ~ 判断と決断と共有 ~ by 曽根 壮大

soudai1025 曽根 壮大

「この仕事、炎上しているなぁ、誰かなんとかしてくれないかなぁ・・・・・・」

そんなことを思ったことはありませんか?
白馬の王子様はやってきません。
その仕事を解決するのは誰でもなく、自分自身です。

ではどうやってそんな仕事を前に進めればいいでしょうか。
そこで今回は仕事を前に進めるためのコツをご紹介します。

コロナ禍でリモートワークが選択肢になったことで、簡単になったこと、難しくなったことがあります。
そこに焦点を絞って、コロナ禍前と、後で変わったコミュニケーションの進め方、変わらず大事な仕事の勘所、そういった話をします。

1
レギュラートーク 30分

PHP Serverless Pattern

seike460 清家史郎

サーバーレスは少しずつ浸透していっています。

そんな中でサーバーレスにおいて、決まったパターンがあることも共有知となってきました。

しかしPHPサーバーレスにおけるサーバーレスパターンとはどのようなものがあるのでしょうか。

今回はAWSにおけるPHPサーバーレスパターンの適用についてお話します。
この話を聞くことで、あなたがPHPを利用したサーバーレスラーになる為の「熱」になれれば幸いです。

・想定する聴講者
 - サーバーレスに興味のあるPHPer
 - AWSを利用しているクラウド系エンジニア

・お話する内容
 - AWS Lambda x PHPを中心にしたサーバーレスパターン
 - AWS Lambda x PHPにおけるインフラ構成

1
レギュラートーク 30分

PHPを書く理由、PHPを書いていて良い理由

seike460 清家史郎

過去にPHPはその非整合性やセキュリティの問題で批判されることが多くありました。
特にPHP5の時代は、そのような意見も一部にはありましたが、現在のPHPは大きく進化しています。

このトークでは、PHP7以降に導入された型宣言、エラーハンドリングの強化、パフォーマンスの改善といった現代PHPの機能強化と安定性に焦点を当てます。
さらに、LaravelやSymfonyといったフレームワークなども含め、PHPのエコシステムがいかに進化しているかも紹介します。

PHPが現在も広く使われ続けている理由と、PHPを使い続けることの利点を解説し、PHPへの新たな理解と評価を深めるための一歩となることを目指します。
PHPがなぜ今日の開発環境において依然として重要であるのかを明らかにし、自身を持ってPHPを選択できるようにしましょう。

3
レギュラートーク 30分

一歩先を行く【ユニオンを避ける】型付け

tadsan うさみけんた

PHP 7〜8の時代を通して型宣言が強化され、近年のPHPでは型を意識したコードが珍しくなくなりました。
しかしながら、既存関数に型を追加していくと戻り値のユニオン型によって呼び出し側で型を識別しなければいけなくなって返って @var などが増えていくこともあります。

アジェンダ

  • PHPStanの簡単な紹介
  • 型付けの原則:戻り値の型を正確に
  • 呼び出し型に余計な判断をさせない型付け

予習資料

3
レギュラートーク 30分
沖縄出身 or 沖縄在住

test

kanbo0605 カンボ@沖縄

testです