PHP Conference Japan 2022 に参加した
PHP Conference Japan 2022 にオンライン参加した。 視聴したトークとその感想やメモを記す。
1日目
- 17年続くWebサービスを改善する 〜新卒2年目からみるカラーミーショップ〜
- Unleash 知らなかった。セグメンテーション機能もあるようなので、ある程度複雑な使い方をする場合には活用してみても良いかもしれない。耐障害性も考慮されているようだ。
- 以前チームでエラーバジェットを採用したとき、ポリシー違反時の信頼性回復タスクの実施を運用に乗せることができなかった。このような重要だが緊急ではないタスクは後回しになりがちなので、 SRE チームのような旗振り役の配置は結構重要な気がする。
- Mercari JPのモノリスサービスをKubernetesに移行した話
- 移行作業の各フェーズに合わせたチーム設計の変化をチームトポロジーの視点で表現されていて分かりやすいなと思った。アーキテクチャ系の話題について話すとき、チームトポロジーの概念をツールとして利用できるようになると共通理解を形成しやすくなりそう。
- リリースして11年経過したPHPアプリケーションにPHPStanを導入した
- baseline 知らなかった。静的解析ツールを導入してみたらエラー数万件、はあるあるだなと思うので、便利そう。
- 「思い切ったリファクタが気軽にできるようになった」には少し疑問符が付いた。どちらかと言うとテストを通して正常性を担保した方が良さそう。
- レビューコストの削減はかなり期待できそう。設計指針に沿った型定義や名前空間になっているかどうかいちいちチェックするのは大変。
- フィーチャートグルを使って素早く価値を検証する 早く安全に失敗し学ぶために
- LaunchDarkly は知っていたが、実際使っている人の話を初めて聞けたので良かった。
- 不要になったらディレクトリごと消し去ることができる設計はスマートだなと思った。同時に Experiment Toggles だからこそ有効に働く設計だとも思っている。 Release Toggles のように修正範囲が広く散らばりやすい場合、コメントをベースにコードを削除する戦略(自分が所属するチームではこれとかこれを使っている)を採用した方が良さそう。
- PHPで始めるWeb Assembly 入門
- Go や Rust のようなコンパイル言語と同じように PHP でもコードを WASM バイナリとしてビルドするものだと思っていたが、 PHP のようなスクリプト言語の場合は WebAssembly 上でそのランタイムとなる VM を動かしてコードを実行できるようにするのだなと解釈した。それができると何が嬉しいのかはあまり良く分かっていないが、ワクワクした。
- PHPで学ぶシステム設計 依存関係のコントロール編
- OpenAPIで楽に始めるスキーマ駆動開発実践論
- OpenAPI.Tools 知らなかった。 OpenAPI のエコシステムはやたらとツールが多いので、このような情報はありがたい。
- Laravel 限定なら「LaravelでOpenAPIを利用する際のエコシステム」も役立ちそうだった
- protobuf が良いぞ、という話もあった
- OpenAPI.Tools 知らなかった。 OpenAPI のエコシステムはやたらとツールが多いので、このような情報はありがたい。
- PHP メモリ管理術
- php-srcを読んでみよう
- いちユーザーが PHP に新機能を追加するまで - Random Extension 5.x
- 「日本人的な感覚で sorry を使いすぎるのはダメ」、「情緒的ではなく建設的に話をする」は説得力があったし、機械翻訳も銀の弾丸ではないんだな〜と思った。
- RFC911*から振り返るHTTPの仕様
- 開始1分で PHP の出番が終わって笑った。
- RFC Trans 使っていきたい。
- PHPバージョンアップのための依存ライブラリ更新との付き合い方
- Renovate と GitHub Dependabot の差異について軽く調べてみたところ、 Renovate は CircleCI config のサポートや PR のグルーピングなど、痒いところに手が届くという点で勝っているようだった。
- Laravel を低速化する技術
- 開発組織の生産性を可視化する ~ State of DevOpsとfour keysとは ~
- 自分も現在のチームで Four Keys 改善施策を進めているが、知らないツールが色々あって学びが多かった。
2日目
- 【PhpStorm】モブプログラミングの実践と学び【結局はバランス?】
- つざきさんと一緒にモブプロをやっていた人間なので、自分が感じたモブプロのメリットとデメリットについて補足する。
- メリット: 「未知領域、苦手領域のキャッチアップが楽に(属人性の改善)」と関連するが、開発済みの機能の仕様や設計について特定の一個人しか把握していないといった状況を減らすことができる。
- メリット: 一人で取り組むよりも勇気を持ってコードを書くことができる。一人では採用しないような技術的な選択肢であっても、チームメンバーと一緒なら挑戦してみようという気持ちになる。これによって、実験や学習を重視する姿勢が強化される。
- デメリット: 不確実性の低い作業を行う場合、あまりモブプロのメリットを享受できないまま単にスピードが遅くなる。
- つざきさんと一緒にモブプロをやっていた人間なので、自分が感じたモブプロのメリットとデメリットについて補足する。
- さっぱりPHP 〜 標準関数と文法を極める
- SPAセキュリティ超入門
- Modularising the Monolith
- モジュール間の外部キー制約を避けるべし、という主張に対してデータモデルとアプリケーションを切り離すという考え方があるのを観測。
- エラーと向き合い、自信を持ってサービス開発に取り組み、前に進む
- 導入から 10 年、PHP の trait は滅びるべきなのか ーーその適切な使いどころと弱点、将来について
- Laravel の Request クラスを継承した複数のクラスで共通のバリデーションルールを使いたいときに Trait を使っていた。これは「偶然同じ機能を持つクラスの実装の共通化」に当たりそう。