レギュラートーク 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を選択できるようにしましょう。

2
レギュラートーク 30分

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

tadsan うさみけんた

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

アジェンダ

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

予習資料

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

test

kanbo0605 カンボ@沖縄

testです