関心を持ち続けながら勉強会に参加していると、ふとしたことがきっかけでさまざまな情報がつながり、点から線そして面に変わり、勉強会で学んだ情報が業務に役立つことがあります。
勉強会でプログラムの本質的構造を示すASTのハッシュ値が同じであればプログラムの変更前と変更後の間に差分がないと判断できるという発表を聞いたことがきっかけで、実際のプロダクト開発においてPHP 8.1からPHP 8.2にバージョンアップする作業の一部をスムーズに進められることに気づき、結果として大幅にテスト工数を削減できました。
この発表では、ASTを取得およびそのハッシュ値を比較する方法やハッシュ値の確認時に留意する点を解説しつつ、ASTがPHPのバージョンアップ時にも役立った事例の1つを紹介します。
スクリプトがサーバ全体のメモリを食いつぶさないようにするための安全装置として、PHP にはプロセスごとのメモリ消費を memory_limit という設定値で制限できる仕組みがあり、制限を超えた時には "Allowed memory size of N bytes exhausted" というメッセージが出ます。
世には PHP 製の OSS が星の数ほどあり、GitHub を "Allowed memory size of" で検索すれば、そういった PHP 製の OSS プロジェクトでメモリ問題に悩まされているものを見つけられます。
それらを適当に拾い食いして辻斬りのように解決していく活動を通じ、PHPのメモリ問題の基本的な解決方法を紹介していきます。PHP の基本的なメモリ管理機構やメモリ消費量の計測方法、参照関係のたどり方、メモリを食いがちな部分といった話もあわせて解説します。
2025/02/07にPHPUnit 12がリリースされます。
PHPUnit 12で削除されるメソッドやオプション、Attributeなどの機能はなーんと25以上!
そんな削除予定の機能について、どう変更 / 対応したらよいかとセットで時間いっぱいかけて高速解説します!
小さくコツコツ手をつけておけばよかった…そんな気持ちになることもあるかもしれません。。
日々降ってくる、マイナーバージョン・パッチバージョンの更新を適応するのはとても大事です。
メジャーバージョンがあった場合はどうでしょう??
依存パッケージ間の依存関係があるなど、マイナーバージョン・パッチバージョンの更新と比較して、複数のパッケージの同時更新が必要だったりもします。
・composer updateのおさらい
・composer updateで何ができるのか?何が起こるのか?
・パッケージ更新のはまりポイント
・コツコツパッケージを更新していくために…
パッケージを更新するコマンドであるcomposer updateを軸に、日々のパッケージ更新のヒントとなるポイントをお伝えできればと思います!
複雑なプロダクトコード、"匂い"や"雰囲気"でリファクタリングしていませんか?
プロダクトコードの技術的負債の解消や保守性の向上のため取り組んでいるリファクタリングのその実際の効果をどれくらい測れていますか?
このLTでは、コードの複雑さを可視化・数値化できるPhpMetricsを使い、実際にコード改善した事例を紹介します!😆
PhpMetricsはcomposerで簡単に導入でき、クラスやメソッドごとの複雑度や、バグが出る可能性など、さまざまな指標を数値化してくれる便利なツールです。
数値に基づくリファクタリングで、より健全で保守しやすいプロダクトコードを目指していきましょう!💪
2024 年,各地で PHP カンファレンスが開かれ,2025 年の下準備として PHP 勉強会を小規模に開催する都市もありました.しかし,小さな街で開く PHP に対象を絞った勉強会では,十分に人が集まらず,存続不能になってしまうことも少なくありません.
第一に守るべきは PHPer リーチャブルな空間をつくることです.勉強会の形式やテーマを絞っている場合ではありません.PHPer と会えて,話ができ,情報交換できることが肝要です.Slack こそありますが,情報を欲する全員がそこに自力で到達できるわけではありません.そこに連れていく PHPer が必要なのです.
そこで,ここに来たみなさんが日本の 1,724 市町村※のどこにいても技術系勉強会が開けるよう,そして維持できるよう,どんな小さな街でも勉強会を続けられる最小のノウハウをお話します.
※ 北方領土の 6 村を含める
とある機能を実装していたときのことです。その機能には、動的に作成・削除されるファイルの存在有無によって分岐する処理がありました。
検証環境でのテストも問題なく、満を持して本番環境にデプロイしたところ、なんと大量のエラーアラートが!
エラー内容を見てみると、どうやら削除したはずのファイルがなぜか存在すると判定されてしまっているようなのです。
調査の結果、PHPの意外な仕様が原因であることがわかりました。
上記の経験をもとに、あなたの知らない(かもしれない)PHPのファイル操作にまつわる仕様とその対策をお話しします。
SOLID 原則は、ソフトウェア開発において高品質で保守性の高いコードを書くための重要なガイドラインですが、やたら難しい言葉が並んでいて理解が難しかったり、誤解に基づく理解が広まってしまっている面があります。
本 LT では、SOLID 原則に含まれる5つの原則について5分間で語り、日々の開発に役立てるきっかけになることを目標にしています。
『自分がJOINしたチームで障害がよく起きていてチームが大変そうにしているときにどうしますか?』
私の場合はサービス監視・オブザーバビリティがこのチームに必要なことだと考え推進してきました。
そしてその結果、障害は減りチームは機能開発も安定して行える状態になることができました。
このトークでは、
このセッションでは、「何か」を求めカンファレンスや技術イベントに参加して次のアクションに繋げたいと思っている方に「今からできるアクション」をお伝えします。
私は、技術同人誌即売会にスタッフ参加したら、パソコン雑誌に記事を投稿できること知り、記事を投稿したら、掲載していただけました。
参加している最中は、実際に「執筆する」というアクションまで想像できていませんでした。
しかし、参加したことで、「なんとなく執筆してみたい」が「このような記事を執筆したい!」に変化し、次のアクションに繋げることができました。
皆さんも何かを求めてカンファレンスに参加していませんか?その何かに出会うために、PHPカンファレンス名古屋2025からできるアクションをお伝えします。
話すこと
私の