こんにちはエンジニアの柿添です
夏が終わり秋が深まる季節になりました。
秋を感じるのは、朝晩の冷え込みが増してきたからでしょうか。
秋は、食欲の秋、読書の秋、スポーツの秋といろいろな楽しみ方がありますね。
学びの秋として、PHPカンファレンス2023に参加してきましたので、その様子をお伝えします。
PHP Conference Japan 2023
参加したセッション
朝2番に福岡を出発し現地入り、休む間もなく数多くのセッションに参加せていただきました。
次の日は朝一番の便で福岡へ戻りました。
PHP Conference Japan 2023 by C-limber
一部抜粋して紹介させてください!
PHPの今とこれから 2023
https://www.slideshare.net/hirokawa/php2023
廣川 類 氏
- PHPはサーバサイドの76.9%のシェアを持っている
- まだまだ健在な言語なのではないでしょうか
- CMSのシェアはWordPress63.0%
- 未だに強いCMSのシェアを持っている
- PHPの開発体制について
- PHP財団(PHP Foundation)について
- 重要なインフラであるPHPが個人のモチベ依存
- 生活面の保証がなかった
- https://opencollective.com/phpfoundation から寄付できます!
- PHPバージョン
- 7.4が最も多く41.2%でした
- 8.x 系列でC-limberは開発しております
- ライフサイクルが3年なので考慮すべし
- PHP8.3について
日常のシステム系ニーズに応えるべくPHPも進化しているので、
我々もいろんな知識を得ながら追随していけるよう日々精進していきたいと思います。
型安全なSQLテンプレートエンジンを構築する
https://fortee.jp/phpcon-2023/proposal/5717d4a6-ebf0-47cb-9964-69cfb92e0f56 https://inside.pixiv.blog/2023/10/06/132105
うさみけんた 氏
私の尊敬するエンジニアの一人 @tadsan さまのセッションでした。
テンプレートエンジン TetoSQL の実装について
- 社内ライブラリからスピンアウトして独自に開発しているライブラリ
- どのような機能をもってどのように拡張可能な設計をしているのか
- LaravelのようなフレームワークであればO/RマッパーのEloquentか、DBクエリビルダを使う
- pixiv.netのコードはフレームワークを使っていないので、かつてSQLクエリを文字列組み立てでPDOに直接依存していた
- pixivでは2014年からこのテンプレートエンジンを導入することで原理上SQLインジェクションが起こらない安全なクエリ発行が可能に
現在ではフレームワークのクエリビルダーに頼りきりになっていますが、
昔はPDOに頼りきりでオレオレクエリビルダーなんてものを生み出していました。
非常に勉強になるセッションでした、ありがとうございました!
PHP8.2から見る、2つの配列
https://fortee.jp/phpcon-2023/proposal/78a58810-29e4-463f-b1e2-2cb6808e4e81 https://speakerdeck.com/meihei3/php-conference-japan-2023
meihei 氏
- PHP配列操作の内部挙動について
- php-src の記述について
Cでの配列・ポインタとPHP8.2の実際の内部挙動について詳しく解説いただいたセッションでした。
16年前、学生時代の講義を思い出しながら非常に楽しく聞いておりました。
普段何気なく使っている配列・連想配列の挙動がとてもわかりやすく非常に勉強になりました、ありがとうございました!
大解剖! amphp を使って非同期 PHP を実現しよう! by やまゆ
やまゆ 氏
- PHP8.1から Fiber がコア実装に含まれた
- PHPでも非同期な処理をサードパーティextensionなしで簡単に実装可能に
- 完全なスタックを持つ停止可能な関数
- A実行中に待ってる間Bをする等
- その中でも注目を集めるライブラリ群が
amphp
- PHPは基本的にシングルスレッド・並列ではなく「平行」での紹介
- PHPでの非同期処理がどのように使いやすくなったか
一昔前にPHPを使ったwebsocket&非同期にチャレンジした際に非常に難しかった覚えがあります。
今回のセッションでご紹介いただいた amphp は非常にライブラリ構成を持っており、操作しやすい印象を受けました。
PHPでどこまでできるようになったのか、時間のある時にトライしてチェックしてみたいと思います!ありがとうございました!
ユニットテスト環境整備~みんながテストを書ける環境へ~
堀川慶太 氏
- 開発速度の優先は時にユニットテストを犠牲にする
- テストを書くというカルチャーが根付いていなかった
- 品質問題が日々顕在化していっていた
- 環境整備をしてもテストが書かれない事例も往々にしてある
- ユニイットテストを書きながら開発していく環境を整備して行った一連の流れ
非常に参考になりました、テストを書かずに開発を優先した場合、最終的な工数は書かなかった場合が膨れ上がります。
現場のエンジニアさんならわかるかと思いますが、その後の機能追加・バグ修正にかかるコスト、バージョンアップにかかるコストを考えた場合に確実にテストコードを書いていた場合の方が総工数を下げることができます。
これから先私の受け持つプロジェクト・関わるプロジェクトでもしっかりとテストを書いて行こうと改めて思いました。 現場のお話を聞くことができ非常に参考になりました、ありがとうございました!
PHPerの為のAI・機械学習入門 by yando
https://fortee.jp/phpcon-2023/proposal/fc1bd1e4-cfed-4599-a042-a31de07c0c7f https://github.com/yandod/php-ml-example
yando 氏
- AI・機械学習の基礎知識
- 機械学習の基礎(勾配降下法)
- AI業界で起きていること
- PHPで機械学習はできるのか?
勾配降下法 についてコード含め非常に意わかりやすく解説していただきました。
AI・機械学習については、今後のエンジニアにとって必須の知識になってくると思います。
実際に鍛え上げられたモデルを使うことはもちろん、どのような手法で学習を行なっているかまで、
改めて学習しようと考えさせられました。
非常に勉強になりました、ありがとうございました!
アンチパターンに踏み込む -作って理解するサーバーレスPHPフレームワーク- by 清家史郎
https://fortee.jp/phpcon-2023/proposal/79c33721-e8ba-4173-b973-2ac53af11b03
清家史郎 氏
- サーバーレスPHPフレームワーク
- サーバーレスPHPフレームワークのアンチパターン
- サーバーレスPHPフレームワークのアンチパターンを作って理解する
我らが福岡、株式会社Fusic の 清家史郎さまのセッションでした。 Brefの存在は知っておりましたが、実際に業務利用はしておらず、Lambdaでフレームワークを組み込むことはアンチパターンと私も考えていたため目から鱗でした。
秒間接続300↑をさばきながら安定稼働させる・チームメンバーも慣れ親しんだフレームワークにより開発効率を下げない。 非常に勉強になるセッションでした、私も手元で実際に試してみたいと思います。ありがとうございました!
運用中の大規模オンラインゲームで8年ぶりにPHPバージョンアップをした話 by 福田 陽介
- BLEACH Brave Souls で、PHPを5.5から8.1にバージョンアップ
- 言語バージョンアップに伴い、PHPUnitも4.5から10に更新
- バージョンアップの計画と結果(平均レスポンスタイムが42%短縮)
- PHPのバージョンアップでPHP_CodeSnifferをベースにして修正箇所を特定していった話や、そこで起こった問題へ対応
- PHPUnit10にバージョンアップする際、代替手段なしに削除されたメソッドへの対応など
- PHP5.5とPHP8.1を並行稼働させ、運用ツールなどがPHP8.1起因で止まってしまった場合にもゲーム運営を止めない工夫
- バージョン移行後に起こったopcache.jitに関するエラーなど
稼働中のサービスをPHP5.5から8.1にバージョンアップするという、非常に難しい課題をスマートにクリアされたお話でした。
現行バージョンで早期に組み込み事前リリースをすることで乖離を無くすのは非常に有用な手段だと感じました。
後回しにされたxhprof代替案が何になったのか非常に気になりました!
弊社でのシステムバージョンアップの際に、非常に参考になるかと思います。ありがとうございました!
スポンサーブースにて
サムライズムさまとチャットワークさまのブースで開始前に軽くお話が聞けました。
チャットワークさまもPHPをガンガン使っており、PHPStanのレベルは9だと聞き、戦慄しました。
非常に硬く厳しいルールを敷かれているのだなと感じ、我々も日々精進してコードの精度を上げねばと思いました。
まとめ
懇親会でのお話など、朝から晩まで非常に勉強になる1日でした。
PHPカンファレンス福岡でご挨拶できなかった、うさみさんにご挨拶&お礼が言えたので個人的に非常に嬉しかったです。
非常に多くの学びの機会を与えていただいた会社に感謝しつつ、業務に落とし込めるようにしていきたいと思います。
PHPerKaigi 2024 も 3月にあるようです、PHP,AWS,Cloudflare,Next.js,React周りを継続的に学習していこうと思います