🐘

PHPerKaigi2023参加レポート

2023/03/28に公開

https://phperkaigi.jp/2023/
3/23〜3/25の3日間で開催されたPHPerKaigi2023にオンラインで参加してきました。
全部ではないけど半分くらいは見たのでその中から特に印象に残ったセッションをピックアップして個人的感想を残しておきます。
※そのうちYoutubeでもアーカイブが一般公開されるそうなので動画リンクは後で追記します

DAY0

https://fortee.jp/phperkaigi-2023/proposal/db787adc-c855-4114-99b6-8c6958d47b42

今と昔を比べるなら、「PHPでも堅牢なコードを」という要求の高まりは間違いなくある。
というよりPHPに限らず、Javascript ⇒ Typescript の流れもそうだけど、ゆるふわ系の言語が「やっぱ型システムって重要だよね」というところに回帰してる感は全体としてある。
あと、FWですらも交換可能なようにしておくというのは本当にその通りだと思うし、FWを使ったとしてもドメインの複雑さが解消されるわけではないので、結局のところドメインモデルに如何に集中できるか(させてくれるか)がFWの役割なんだろうなーと思う。

DAY1

https://fortee.jp/phperkaigi-2023/proposal/60a7e89b-161e-4f3c-bd8a-135799581aef

これは…自分も過去被害にあったことあるからなんとも(笑)
一度バックドアしかけられると、原因となる穴を塞いでバックドアプログラムを除去しただけではもはや安全と言い切れないところがツライ。気付けてないだけで他にも仕掛けられてる可能性が大いにあって、その不安を払拭できない以上、結局サーバーを立て直すことになる。
特に某WPとか狙われやすいんで、間違っても重要なシステムが乗っかったサーバに同居とか、ホントニヤメタホウガイイデスヨ。

https://fortee.jp/phperkaigi-2023/proposal/90c0d39b-108b-4104-b93e-f7e0711003c6

テスティングトロフィーの概念自体は知ってたけどあんまり深掘って掴んでなかったので勉強になった。long-livedなシステムを考えた時に、APIスキーマやDBスキーマに比べてアプリケーションアーキテクチャは変化しやすい(させやすい)ので、smallなテストは固定的ではないというのは、なるほどなーと思った。

https://fortee.jp/phperkaigi-2023/proposal/46c96d4a-194d-4bde-a4d8-f9c82c3b0302

Comperよく分からないという初学者にはもちろん、中級者にとっても復習になるいい内容。
特に後半のDockerのマルチステージビルドで本番環境からcomposer除くやり方や、逆にgit管理したbinファイルをvolumeマウントして開発環境にcomposer入れるやり方とか、なるほど上手いなと感心しました。今度取り入れてみよう。

https://fortee.jp/phperkaigi-2023/proposal/b84ab856-7c83-46a8-829e-84adbc1e7921

※スライドはこちら

LTなので5分くらいの発表でしたが、まぁ大事ですよね。。。
保守しやすい設計とかアーキテクチャとかは一朝一夕ではスキル身につかないけど、「名前を適切に付ける」は、誰でも、明日からでも意識してできる。ので、やりましょう。
(とはいえ名付けするにもセンスがいるけど)

DAY2

https://fortee.jp/phperkaigi-2023/proposal/e00788a4-ef25-49ee-b254-9d2b53e19633

uzullaさんの発表はライブ感あってイイ(笑)リアルで参加したら楽しかっただろうなー
PHPの配列はホントにねー、困った子ダネ。。。
便利すぎる道具は毒にしかならない。ちゃんと型定義しましょう。
あと個人的には早くジェネリクス使えるようになってほしいなぁと(´-`).。oO

https://fortee.jp/phperkaigi-2023/proposal/98ad84b9-df03-4449-ab25-377761945005

スライドの代わり

DBの寿命はアプリケーションより長い、でお馴染みのsoudai1025さん。
「返済計画のない技術的負債は借金踏み倒す気マンマン」←新たな名言いただきました。
マズい設計のアプリケーションは直せるけど、マズい設計のDBは直せない。ホントにこれに尽きる。DBはただのデータ保管する箱ではないし、データモデルはちゃんと考えよう。

https://fortee.jp/phperkaigi-2023/proposal/e68c1ed6-8fb4-4ff9-9d99-99214d9dba8d

フレームワークの中身見たことない人にはオススメ。
それぞれでお作法は違うけど、結局どのフレームワークも、Middlewareだ、DIコンテナだ、と同じ構成要素を持ってることが多いので一つのフレームワーク理解しとけば大体他のフレームワーク触った時でも知識を横展開できる。最近はPSRのおかげで読みやすいと思うし。

https://fortee.jp/phperkaigi-2023/proposal/6211083d-fc51-49a3-8b27-485d8e231b1f

※スライドはこちら

Laravelっぽさって何なのか、その設計思想を垣間見れてよかった。
「(機能として)できるからやる」と「思想に則ってやる」は結構違う。
設計思想を理解した上で使うってすごい大事だと思うのよね。FWに限らず。
というか本来は設計思想を理解した上でFWを選定する、が正しい向きなんだろうけど。

感想

PHPerKaigi自体の参加は今回が初。PHP系のカンファレンスに参加したのは、2017年のPHPカンファレンス関西が最後だったので約6年振り。その当時はオンライン開催なんかほとんどなくて、地方民の参加ハードルって結構高かったと思うけど、今はオンラインとのハイブリッド開催やってくれるので本当にありがたいです。
一方でこういう話も聞けたので開催する側は大変だろうなぁと思いますが^^;
それにしてもPHPerKaigiはイベント運営の質が高くてちょっと感動した。
ということで恩返しのためにもiwillblogしておきます。

Discussion