いつの間にか1年経っていたと思うと感慨深いです。文字に起こすと、雑多な感じの記事になりました。
カンファレンスページ
PHP Conference Japan 2023 #phpcon - fortee.jp https://fortee.jp/phpcon-2023
PHPカンファレンス 2023 - connpass https://phpcon.connpass.com/event/286717/
ハッシュタグは #phpcon #phpcon2023 が多かった印象
phpcon
https://twitter.com/search?q=%23phpcon&src=typed_query&f=live
phpcon2023
https://twitter.com/search?q=%23phpcon2023&src=typed_query&f=live
聞いたトーク
ほとんどブース回ってた関係で時間がなくなりました。 また前日の疲れからか午前起床もできず… なので2つしか聞けておらず…
後で読んだやつは別の記事にします、結構量があるので。
大解剖! amphp を使って非同期 PHP を実現しよう!
資料公開されてました。 https://speakerdeck.com/myamagishi/da-jie-pou-amphpwoshi-tutefei-tong-qi-php-woshi-xian-siyou
- 並行と並列混ざる問題(並行(コンカレンシー)、並列(パラレル))
- (発表の冒頭聞けてなかったため同じようなツイートを自分がしてしまい少し反省している)
- PHPでは基本的に並行処理の実現となる
- PHP 8.1 で Fiber サポートがされた
- コールスタック管理を Revolt で扱うことができる
- 一方で Fiber, Revolt ともに低レベルAPIの提供であるため、ライブラリ開発者などでなければ触る機会がない
- そこで Fiber, Revolt をうまくラップしてアプリケーションに組み込みやすくしているのが amphp
- もともと非同期処理は独自実装だったが、Fiberの登場により amphp は Fiber を使うように変更された
- amphp は非常にシンプルでファイルの書き込みやHTTP通信などを簡単に非同期にできる強みを持つ
自分も最近Pythonで非同期処理を書いていたりするのですが、PHPでも同じように実現できるということがわかり、すごく勉強になりました。
(うまくいった||いかなかった) 技術選定は何を考えていたか
資料公開されていました。 https://speakerdeck.com/kubotak/umakuituta-ikanakatuta-ji-shu-xuan-ding-hahe-wokao-eteitaka
- 技術選定した経験はありますか
- HHVM/Hackの採用
- Vue, Nuxt.js の採用
- 学習コストなどを考え選定
- 当時はまだ Vue2, Composition APIが来ることがわかっていたのでそこに備えつつ開発
- Vue3が無事リリースされるも、Nuxtがなかなか新規バージョンリリースされず、2年遅れて Nuxt 3がでる
- フロントエンドアップデートできない問題、そして SvelteKit へ
- 中途半端に入った Composition API があり、書き直しが必要になる
- Root Contextの廃止により書き直しが必要になる
- などがあり、バージョンアップと言いつつ実質作り直しが必要な状況となった
- ほかプロジェクトで開発経験の良かった SvelteKit を採用、学習コストもあまり高くならずに済んだ
- フロントエンドの流行はわからないので常にアップデートを監視して、備えるべし
- 技術選定の際に考えること
- (このアタリスライドがかなりまとまっていてよかったです)
- 機能、難易度、信頼度、経済性
- 開発者のモチベーションや採用戦略、コミュニティの盛り上がりによる参加者が多いことの重要性などは面白目な着眼点だった
- 技術選定の審美眼(2023年版) / Understanding the Spiral of Technologies 2023 edition - Speaker Deck を読むべし
ミドルからシニアとか、テックリード・アーキテクトを目指す人にとって観点が非常にまとまっていて、すごく勉強になりました。 「技術選定の際に考えること」のパートはチームをリードし始めたり、方針を考え始めた人にとってかなり価値ありそうな感じでした。
自分自身もまた読み直して経験に学び、活かしていきたいです。
LT
ぱぱぱって感じだったので覚えが曖昧です。
- OPCode趣深さがあった
- そういうの最近やってなかったなとか
- 新し目の文法とか機能が出たときに試してみるのは良さそう
- 一方でバージョンによってOPCodeが最適化されてると買ってあるのかな?とか思った
- コミットについて
- ライブラリの対応関係もあって2段飛ばしのアップデートは本当に苦労がヤバそう
- カンファレンスやLTを通して学び深めてるのいいなと思った
- 地方でもそういうイベントが割とあるのも良さそう
- 知らないことは調べようがない問題を解消できる
- 他のエンジニアが何をしているのかを学ぶことができる
- プルリクサイズが大きいときに教えてくれるの悪くはなさそう
- Slackに飛んでほしい感はある
- ただ、PRが大きいというしきい値判断は難しいよなと思った
- 設定値で変えられるとはいえ、行数・ファイル数だけの問題なのか?的な
- 複雑度の向上とかも解析対象とできそうな気がする
- 地方採用がさらに難しくなっている現実がある
- 地方からフルリモート東京の企業へ、となると地方の人を引っ張ってこれない
- 給与的な面の課題もある
- 地方に残って地方を支えたいというモチベーションややりがいを見いだせないと難しそう
- 地方でも技術イベントが増えつつあるので、今後もしかしたらチャンスがあるかもしれない
- 地方からフルリモート東京の企業へ、となると地方の人を引っ張ってこれない
- Composer の機能改めて知らないとなぁーとなった
懇親会
オブジェクト指向入門 第2版 原則・コンセプト | SEshop| 翔泳社の本・電子書籍通販サイト https://www.seshop.com/product/detail/7595 この本を教えてもらったのでそのうち読みたいです。
あとカルテットコミュニケーションズさんと話していたのですが、名古屋の方々ということですごく盛り上がりました。 (ジブリパークはそのうち行きたいです)。 各地域で技術コミュニティ的なところが盛り上がっていますが、なぜか大阪・福岡・沖縄・北海道の話ばかり耳に入るので、大都市である名古屋でも大きめのイベントが増えてくれると嬉しーなと思います(あんまり名古屋で大きいソフトウェア系のイベントをやっているイメージがないので…w)。
あとは昨日DjangoCongressでもあった人と会えたのは面白かったですねw またPHP TechNightやPHPTechCafe、その他諸々のイベント出会った人たちと初めてあったり再会できたのもとても良かったです。
(懇親会でもちらほら言われてましたが、割とネット上の人格と実態は合わせないようにしているのでスタンス的にご理解いただければと思います…)
1つ気になったこととして、懇親会への参加ハードルが高い問題もあると思いました。 これはちょっと後日書くか、どこかでLTをしたいと思います。
懇親会LT
あんまり覚えていません。
- NFCネームプレートおもろそう
- とりあえず発注しました
- パブリック用途とプライベート用途で使い分けようかな
- その前にポートフォリオも整理しないとなと思うなど
- いつか作るのでちゃんとここにリンクを貼って覚えておく
- https://speakerdeck.com/ikezoemakoto/phpkanhuarensu2023-nfcnemupuretowozi-zuo-sitele-sikujiao-liu-siyou
#[inject]
知らなかったなぁ- アトリビュートについての学習が何も追いついてないので、覚えないとなとなりました
- 言語の歴史あんまり知らないなぁとなった
- どうしても自分はこのバージョンであれこれが使えないみたいなおいかたになってしまう
- 言語自体に対しての興味が結構薄れているという自意識に気がつけたかも
- PHPの変数参照の仕組み…
- $$ みたいなパターンが現れてしまったら要注意だなと思いました(PRレビューとかで目が滑る可能性ありそう)
- モブワーク
- 実践している人が多いなぁと感じた(スクラムフェス、XPまつりで観測してる範囲の問題もあるかもしれない)
各種ブース
なんか結構回った割にあまり覚えてなかったのですが、今回顕著にブースなれしている・していないが別れていたように思います。 久々のオフライン開催であったことも原因なのかもしれませんが、技術者向けのアピールをもっとしてほしいなと思うところもありました。
この点に関しては割と危機感があるので、DevRelの人とかインターンとかブース作業に対して他社分析を行い、必要なものを洗えることに注力できる人を置く必要があるのかなと思いました。 またブースにいないといけないのでトークを聞きにいけないという話もちらほら聞いていて、ローテーション表を作るなどの対策なども基本だと思っていたのですが、このあたりもノウハウとして広く共有が必要であることを認識しました。
自分自身はカンファレンスはコアスタッフ、当日スタッフ、トークスピーカー、一般参加、スポンサー参加と、招待講演やワークショップの講師を除けばほとんどの参加形態を体験していることもあり、なにか情報として残せることがあるように思いました。
どこかでLTなどをして、チートシート的にまとめあげる、は今一度オフラインのスポンサーブースが復活してきた昨今の環境では価値のある活動のように思いますし、やりたいなと思っています。 (ただし自分の体力と時間との勝負になる点はある)
活動的に印象に残っていたのは脆弱性の問題を出していた Flatt さんで、インジェクションなのはすぐわかったものの Laraval でどう対応するのかが正しいのかは考えさせられました。 結構アプリケーションの開発ばかりしていると忘れがちになる問題ではありますが、セキュリティ意識やそれに対する対策と担保もどうしていくのか、今後学習を続けていきたい分野ではあるなと思いました。
あとはオープンロジさんも実際に検品作業をやって見るみたいな流れでイメージがしやすく面白かったです。 私達全員がその手の業務に詳しいわけではないので、実際に触れてみることでどう役に立つアプリケーションを開発しているのか、がよく示されていて面白く思いました。
まとめ
今回ブースが復活したことによりずっとブースを回っていたのですが、ブースを回っていたら終わってしまったので難しい気持ちになりました。 しかし各社の取り組みを聞いていると、いろいろなビジネスがあり、PHPが世の中の役に間違いなく立っているんだなと感じます。
トークもあまり聞けていないのは残念なのですが、聞きたかった2つだけはしっかりと聞いたので良しとします。 このあとアーカイブも表示される予定と聞いた気がしますが、まずはスライドを読んでいきたいぞ〜と思ってます。
オフラインでのイベントがまた盛り上がりを見せていて、いろいろな人に会え学びを増やしていけたので、自分自身ももう少し発信を増やしていければな…と思います。