PHPカンファレンスに参加しました & 登壇しました #phpcon2022

9月24-25日に行われたPHP Conference 2022に参加しました。
ひっじょ〜〜〜に楽しみました!!🤩🤩🤩🤩

PHPカンファレンス 2022 実行委員会さん・・コアスタッフや当日スタッフの皆様、スポンサーとして盛り上げるのに一役買ってくれた企業の皆様も、そして個性的でワクワクする発信をしてくれたスピーカーの皆様に感謝感謝です。

コレは社内Slackでワクワクしている私の様子です。「結構」とは。

両日とも、開始〜最初のセッションくらいまでは自宅参加になったのですが、午後からは現地にてオフラインでの参加でした。
そして、9月までに消失する休暇がある&「イベントの翌日、体力的な披露・・・というよりも、余韻に浸れる時間が欲しい!!!」ということで本日はお休みをとっておきました。うれしいねぇたのしいな〜

そんな時間を活かして、諸々の感想などを。まずは時間を置かずに書こうと思います。
(オフィシャルのフィードバックフォームには回答済みだぜ!!トークフィードバックも後ほどやる。)

プロポーザル採択されました&登壇しました

幸運にも、自分が提出したプロポーザルを採択していただくことができ、登壇してきました。
スタッフの皆様、現地やオンラインで聴いてくださった皆様、大変ありがとうございました。

fortee.jp

これについては・・・ちょっと別のポストにしようかなー
沢山になりそうなので。チラッとだけ言及すると、このテーマは個人的に数年前から追っかけ続けていたものだったりもするので、自分としてはちょっと特別なものがありました。
少しでも誰かの役に立ったモノがあったなら本当に嬉しい。

全体的なこと

会場うれしいねぇ

ひっさびさの大田区産業プラザ〜〜〜!っていう、自分などオフラインでのペチコンにはこれまでに1度しか参加したことなかったのですが、それでも会場を観たときには(陸橋からPioのロゴが目に入った瞬間!)に凄い高揚感を感じたり。
これは、周りの人の昨年・昨昨年と待望している様子だったり、あるいは今回の「オフラインだやったぁ!!」という感じに、自分も感化されていたのかなと思います。
PHPコミュニティに限らず、「カンファレンスの廊下」の魅力を語る人の話に触れる機会も増えたと感じています。ってことで「行きたいな」があったとさ

毎度ながら「同じような話に興味を持った人が本当に集まってるんだなー、凄いな〜」って思うし、会場スタッフの方も気持ちよく接してくれて楽しい気持ちになりました。
あと、受付する時に自分を認知して何かを言う前に名前を呼んでくれる人がいる〜〜!って経験が出来たのでテンション上がりました。
カンファレンス初心者の人とか「スタッフの人と知り合いになっておく・面識を持っておく」っていうハックはありかもしれない。会場到着時にちょっとホッと出来る可能性が上がる。

人がいたねぇ

それから、過去の同僚やコミュニティつながりの知り合いと再開・交流できたので嬉しかったです。
というか「オフラインでは初めまして!」が発生するの凄い楽しいですよね、最高〜〜。
それ以外にも、一方的に(?)知っている人とエンカウントできたりっていうのが今回もあったのでホクホク&ワクワクしました!
ただ、まだまだ「話してみたいなー」って思ってた人と邂逅できてなかったりするので、やはりofficial懇親会欲しいな・・・・

所属している会社的なこと

今回は自分の会社からも参加者が現地に来ていて、「あぁ〜良いねぇ〜〜」って気持ちになりました。
地味に(前回のPHPerKaigiが平日日程も含んでいたこともあり)カンファレンス参加支援の制度を策定しており、こういう動きが自分でできるのはTech LeadとかEngineering Managerやっていると便利だねぇ〜〜って思うところなのですが、それを利用しての参加者を発生させられた!って事は、ちょっと役に立てたのかな〜などと感じた次第です。

すぐにアーカイブが見られるのは嬉しい

自分の登壇枠の裏2つとも凄い興味深かったり、それ以外にも注目してるセッションが同じ時間枠だったり・・・!というのはどうしても避けられないのですが、Youtube Liveのアーカイブが即時公開されているのはめちゃくちゃ嬉しいですね!!
恩恵を受けまくっております。

発表の感想とか

アーカイブで色々と見ると思うけど、とりあえずDay1&Day2の間に観られたものだけでも!!

ライブ視聴したもの@day-1

17年続くWebサービスを改善する 〜新卒2年目からみるカラーミーショップ〜 by やんまー、ほみるん | GMOペパボ | トーク | PHP Conference Japan 2022 #phpcon #phpcon2022 - fortee.jp

スポンサープランの「60分セッション」っていうのを見た時に、「これって・・・某社の某”まわりにあるモノすべてがプログラミング"の人が喋るイメージしか湧かないんだけどw」とか個人的に思ったりしつつ、やっぱりGMOさん!と思ったりしつつ、なるほどペア登壇をするパターンだ〜〜。

新卒2年目!!ってことだったので、そこまで「広い年代の人が集まる中で喋る」っていう経験は無さそうだよな〜〜って中でトップバッターなのは結構大変そう!
っていう勝手な杞憂なんて意味がないくらい、「新人だから」「スポンサーセッションだし」とか何とかって言い訳する必要もなく、聴いてて興味深い話だったなって感想。

漸進的改善にせよSLO運用にせよ、「すごく真っ当なことをやれてる環境なんだな!!!」って思ったりしました。組織全体をどう動かす〜?何をやってく〜?みたいな所がミッションになってくる自分にとっては、早くこうした「効果が高いと広く認められてるプラクティスをちゃんと導入していく・実装していく」っていうのは羨ましいなというか悔しいなというか、「あ!!それ!俺もやりたいやつ!!」と思いながら聴いていた次第。

あとUnleash知らなかった!めっちゃ興味あるので調べてみる。

これは若手ではない枠としての立場からの感想です

AWS CDK に魅入られた PHPer がオススメする IaC から入るインフラの話 by ちゃちい | トーク | PHP Conference Japan 2022 #phpcon #phpcon2022 - fortee.jp

ここから会場入り。

CDK、マジで名前くらいしか知らなかったんですが、なるほどそういう感じか・・・・と思って「これ触ってみたいな、面白そうじゃん!!」って気持ちに。 「インフラとふれあえそうですか?」に対しては「やってみたいで〜〜〜す!」って答えになりそう。
(terraformだろうとcloud formationだろうと、AWSでIaCする時って結局は「どうしてもDSLとかよりかAWSのサービスの把握をしないと」って印象になってしまう、ってのもある)

てっきり「PHPでやってみましょう、実は出来るようになってたんです!」的なオチを期待してたので「Issueがある」「あっ・・(察し」で笑ってしまったw とはいえTypeScriptは相性が書いてても呼んでても良さそうな気がするし、良さそうだな〜。

全体的に、本当に「インフラってなんだろうね(普段は意識してないもんねー)」的な目線からの説明になっていたのが印象的でした!

リリースして11年経過したPHPアプリケーションにPHPStanを導入した by 山下祐 | Chatwork株式会社 | トーク | PHP Conference Japan 2022 #phpcon #phpcon2022 - fortee.jp

ここ数年で一気に「PHPStanをPJで活用する」っていうのが尖ったことじゃなくなってきたと言うか、「触ってみた!」「〜〜って何?解説!」みたいなものから「導入してみて、運用してみた際の知見の共有」という話題に移ってきている気がするな〜とこの発表を聴いても感じつつ。

実際に「入れていくぞ〜」ってなった時に、序盤の大ボスみたいなところって「直し方が分からんしひたすら面倒クセェー」ってなってしまう人が出ることなのかな?って予想はしているので*1、やっぱりそういう工夫してるのね〜っていうのが聞けたのが良かった。

開発メンバーができるだけスムーズに慣れるための運用体制は必要 ←sorena!!!

↓コレありませんか?

フラットなPHPからオブジェクト指向で自動テストのあるPHPへ、そしてフレームワークへ by 菱田 裕美 | トーク | PHP Conference Japan 2022 #phpcon #phpcon2022 - fortee.jp

内容そのもの、登壇者(の過去実績からの)への期待値・・・っていうのがあったのに加え、今回は特殊な事情で「60分セッションがどんな感じか体感しておきたい」みたいなのもありましたw

で、想像していたよりも易しいレベルからの話で、「なるほどそういう風に説明を積み上げていくのか〜〜!」なんて面でも学ばせてもらったなぁという気がしています。
Head First Object-Oriented Analysis & Designと似たようなレベル感で、それを少し「現場より」にしたようなものかもな〜って印象も受けました。というか、コレは実際に誰かに教えているような内容を活かして練り上げたのかな・・?みたいな事も勘ぐったり。良い意味での現場臭さも感じたと言うか。

この話を若手に聞かせて、TDDを拗らせさせて、そのままボブおじさんの新作をブチ込みたいな!!!!!という変な事も考えながら楽しく聴かせてもらいました!

しっかりと「よく聞くけど、あの小難しそうな概念何?」ってところから、TDDやFWといった次につながるような学びの種も落としていくような素敵な発表

PHPで学ぶシステム設計 依存関係のコントロール編 by 成瀬 允宣 | トーク | PHP Conference Japan 2022 #phpcon #phpcon2022 - fortee.jp

いやはや安心・安定の成瀬さん、相変わらず発表が面白いなぁ・・・

改めて動画を見てみると、基本的には話すタイミングではちゃんと目線を上げてるなーとか、話すペースのスピードを柔軟に動かしてるなーとか、上手さを感じる・・
自分も、折角誰かの時間をもらって話をするんであれば、ちゃんと聞きやすいような話し方を出来るようにしたいのう

自分が誰かに説明する時に「依存の逆転って何が逆転なの、”逆”じゃないとしたら何?」っていうところに苦労した事があるので、コレ見ておいてね!!で済ませられそうなの嬉しい。

タイトルだけ見ると、クラス間だったりレイヤー間の依存のコントロールかなぁ〜って想像してたんですけど、「チーム間の依存」「組織の依存」を切り口に更に大きい話に繋ぎ込んできたのは「おっ」って思いました。
すべてはプログラミングなんだなぁ

これは現地で、同じ会社の人(若手?でもないか)と聴いてたのだけど、ウンウン頷きながら聴いていたのが印象的だった

PHP メモリ管理術 by めもり〜 | トーク | PHP Conference Japan 2022 #phpcon #phpcon2022 - fortee.jp

めもり〜さんのメモリ管理術!

「メモリが足りないなら増やせばいいじゃないか」を感じるコード、しばしば見かける事があるので、世知辛いよねぇ〜〜って気持ちになりながら聴いていました冒頭。

「普段の仕事で使わない知識」と「仕事をやる上で必要な知識」みたいなのって、かなり境界線が曖昧というか、実は「下の視点で考えられる人が当たり前に見えている世界 🆚 低レイヤー(例えば)を避けている人に見えている世界」っていう差があるだけだなーと思ったり。
「自分の領域はココまで!」なんて決めずに、インフラでも組織づくりでもメイン言語よりも下のレイヤでもなんでも、知っていることが多ければソレが武器になるぞーっていうのがアプリケーション開発業だなって気がする。

ob_start() の引数とか、 ZEND_MM_CHUNK_SIZE とか、自分が今まで知らなかった・通ってこなかった知識も触れることが出来て嬉しかったです。
一方で、gc_collect_cycles()とかは、「CIでテストがメモリ不足で落ちる」とか言った場合に(具体的な原因を追うのが難しいので・・・)雑に呼んじゃう、みたいな事も過去にあったなぁなんぇ思い出が蘇ったり。

あと資料中に現れた猫が愛らしかった・・・!

いちユーザーが PHP に新機能を追加するまで - Random Extension 5.x by Go Kudo | トーク | PHP Conference Japan 2022 #phpcon #phpcon2022 - fortee.jp

プロポーザルを見て楽しみにしてたやつの1つ!

個人的に、この2日間で1番の「聴いてよかったな」ってなったセッションだなぁ。
まだ見られていないものもこの後追っかけるので、もしかしたら今はまだ確定じゃないのかもしれないけど、でも恐らくコレがきっとこのままベスト1だぞ〜。

技術的な内容については、今の自分には触れてこなかった部分なので「すごい!!すごそう!」くらいの反応しか出来なかったのですが(知識と力が足りん・・)。

自分的に、カンファレンスの発表などで求めることって違う方向性で3つくらいある気がしていて、

  • 知識を増やすもの、概念や説明にふれるもの*2
    • php-srcの読み方とかRoadrunnerの紹介とか
    • 趣味とか興味とか寄り?知的好奇心を満たしてくれる系
  • 実践的な知見とか経験談を取り入れるもの
    • バージョンアップでやったこととかリプレイスの話とか
    • 戦略ないし戦術を考えるための思考の引き出しを膨らませてくれる系
  • 姿勢やマインドに感銘を受けるもの
    • たまにキャリア的な話とか倫理の話とかで、ド直球なのもあるけど
    • どちらかというと、凄い深さとかを持って発表者のバックボーンとか「凄み」みたいなのを感じさせてくれるようなやつ
    • 自分まだまだだなーって思わされて気が引き締まると同時に、「かっっけぇ〜〜!」ってなる系

って感じなのですが、このセッションにはその3つともギュッと詰まっているような感じがして、凄く圧巻・・・・となった気がしました。

こうした困難な問題に対して、しっかりと向き合って、必要だと感じたらそれが大きな壁だろうと真っ向から食いついて乗り越えていって、世界的なコミュニティの中で関与して結果を残していく・・・みたいな姿勢と実際の結果を見て、感銘を受けたと言うか大きな感動を覚えたと言うか。 あまりうまく言語化出来ないのですが、本当に「めちゃくちゃカッコいいな!!」と。

また、まだまだRFCが採択される前からチラチラと様子を見ていたので、そういった意味では「リアルタイムに見ていた話の裏や内面をその当事者から新鮮な内に聴くことが出来る」っていうのコミュニティの醍醐味だなーきっと

day1、あとはGold Sponsor's Talks 1 を見ました!!(全部書くと分量が長くなっちゃいそうなので割愛、オフィシャルのトークフィードバックに書きます・・・)

当日に追っかけ視聴したもの@day-1

Laravel を低速化する技術 by 富所 亮 | トーク | PHP Conference Japan 2022 #phpcon #phpcon2022 - fortee.jp

タイトルが好きすぎて笑ったのですが、蓋を開けたら(そりゃそうなんだけど)普通に役に立つ系の話だなぁ・・・と思ってまた笑っていました。
事前にご本人と喋った時に「ロードバランサーを米国においてサーバーをヨーロッパにおけば世界一周だ!!」とか言ってたんで「凄いなぁ」と思ってたのですが、ちゃんと「現実的にありえてしまいそうな範疇で、何が動作を遅くするのか」という話に落ち着いていた&それでも地雷が沢山あるなぁ〜と改めて思ったり。

それこそ、Attribute Casting(の悪用w)については「知らないと見抜けないし困っちゃいそうだな」と思ったり、ただ「ちゃんとプロファイリング取らないとボトルネック見つけられ無さそう」「Laravelでプロファイリング取るとcollect()ばかりになって途方に暮れがち・・・」っていう気持ちが湧くなどしていました。

とはいっても、全体を通じて「遅い場合は大体使い方が悪い」っていう風な事を思ったので、モラルを持ってコードを書いていきたいですねぇ。。

資料も発表も、聞き手を飽きさせない感じで上手だなぁと思いました、いいなー。
あと、過去に発表した資料が紹介されていて嬉しかったです!ありがとうございました!!

開発組織の生産性を可視化する ~ State of DevOpsとfour keysとは ~ by いさな | トーク | PHP Conference Japan 2022 #phpcon #phpcon2022 - fortee.jp

沖縄の発表も面白かったし、自分自身がこの辺りの導入・構築をしたいなーって考え続けている日々なので楽しみにしていたやつ。
アクセラレート本、自分もどっかで話したいなと思ってたトピックだったりもするので、他の人からPHPコミュニティで話を聞けるのは楽しいなぁ。

良いなぁ〜素敵だなぁ〜と思ったのは「実際に計測するときには、自分の組織に合わせて拡張していく必要がある」と述べられていた部分。
この本は、4つのメトリクスとか24のケイパビリティみたいな話なので「具体的な戦術・プラクティス」よりの事柄なのかなーと一瞬思いつつも、実はその本質は「目指すべき大方針をまとめた」「しっかりと意味のある指標を定義可能であると示した」というところにあるのではないかなーなんて思っているので。

別観点の指標(SRE、財務諸表)と関連付けて考えよう!っていうのは、すごくナルホド感あった。Data Transfer Objectを組織戦略を考える上でも実装すればいいですよね!!みたいな事を思った次第です。

あとは、折角だからmetrikのことも聞いてみたかったですかね〜使ってる会社さん無いかなぁ。 github.com

全体的に、すごく発表の流れにメリハリ位もあって話も分かりやすくて面白かったです!!
願わくば、この後に「暫くやってみた」「ここがこうなった」「こういう所は問題があった」的な話が聞いてみたいですねー

ライブ視聴したもの@day-2

何か思ったより長くなってきたぞ

急成長3社サービスの開発ストーリー〜継続成長を支える技術と仕組みのお話〜 by FLEXY CTO meetupスピーカーの方々 | FLEXY | トーク | PHP Conference Japan 2022 #phpcon #phpcon2022 - fortee.jp

色々と面白かった、あっという間に終わった気がします〜

・・・いや、オレオレFWってやっぱり現実的な選択肢になってこないか??とか思えてしまう。学習コストの関係なんですかねぇ。保守コスト、特に新規バージョンに追従していくコストとか「必要としていない変更」を取り込んでいかなければならないコストをどう判断すれば良いんでしょうね。
もちろん、「ちゃんと筋が良いものを作れるか」が肝になると思うので、そのハードルがめちゃくちゃ高かったりはするはずなんですが。

フレームワークの機能を使わずに標準関数使ったら障害起こした話 by asumikam | トーク | PHP Conference Japan 2022 #phpcon #phpcon2022 - fortee.jp

day-2はココから現地。

同社内から自分以外には唯一の一般枠での登壇者で、面白く聴ききましたー。
header()の話とか送出タイミングの話とかは自分もあまり詳細に知っていなかったし、「フレームワーク的な世界観とそれ以前の世界観(オブジェクトとして保持しつつ責務を分けてタイミングを見計らって適切な箇所で処理するるか、結果が確定できたと判断した時点で持ち込みすぎずにどんどん影響を吐き出していくか・・的な)の比較」も感じられて面白く聞きました。

前回のPHPerKaigiでも本番前の壁打ちとかで少々お手伝いしてたりもしますが、いつも「最初のうちは『難しそうなテーマ選んだなぁ、どうまとめるのかな〜』とドキドキして見守りつつ、段々と形になってきてよかったーって思っていると、本番が近づいて完成形が見えてきて、最終的には自分がイメージしていた以上の完成度とか興味深さになって、良い意味で期待を裏切られるなぁ!」なんて事を感じながら、素直に凄いなぁと感心しながら&純粋に1つのセッション・コンテンツとして楽しみながら拝聴しておりました。

公開の場所で色々と言及するのが立場的に気が引けるのでサクッと・・・

さっぱりPHP 〜 標準関数と文法を極める by うさみけんた | トーク | PHP Conference Japan 2022 #phpcon #phpcon2022 - fortee.jp

うさみさんの発表はいつもキャラが立っている上に説明すべき所をしっかり抑えている感じがあって面白いなーと思いながら、かつ、今回特に楽しそうに喋ってらっしゃったのが印象的で穏やかな気分で見ていました。

PHP、なんとなくそんな気はしてたけど・・・「標準関数」っていうの自体が曖昧なんだな・・・ 朝のトークセッションとは別の意味で「コアなど存在しない」を感じましたw
あと、フォールバックで突発的に壇上でコードを書き始めるの凄い。自分だったらパッと出来ない気がします。

「関数を調べようとすると古い関数が出てきがち」とかも、たしかに言われてみるとそうだなぁ。

導入から 10 年、PHP の trait は滅びるべきなのか ーーその適切な使いどころと弱点、将来について by sji | トーク | PHP Conference Japan 2022 #phpcon #phpcon2022 - fortee.jp

コレもプロポーザル出た時点から楽しみだったやつの1つ。

sjiさんの自己紹介で「普通のサラリーマン」って書いているのはなにかの冗談か・・・?という気さえしてしまうのだけど、期待を上回るような濃さw

「締切駆動でPHPRFCも投げよう」ってどういうことなんだw

WEB+DB Pressでtraitの話をしている回がそもそも面白かったので、その話+αくらい聞けたら十分に嬉しい気もするな〜って思ってたりはしたのですが、しっかりと「traitとは何であるか/何でないか/何でありたかったのか/何故こうなったのか」という内容がカバーされていて勉強になりました。

PHPのコアに提案をした」という経験を引き連れての登壇が、普段のテーマよりもだいぶ一般的だったり実用的だったりするのもちょっと面白いもんだな、と感じました。

治っていくmbstring 令和時代の文字化け by てきめん | トーク | PHP Conference Japan 2022 #phpcon #phpcon2022 - fortee.jp

てきめんさんのmbstring/shift-jis周りの活動も拝見していたので、とても楽しみにしていたやつ。

文字コード闇深そうだよな・・・・と思って、実際に聞いてみたら凄い複雑そうで、そしてラストのスライドの締めが「mbstring全部手を入れて沼に沈みましょう」なの凄い😇

とはいえ、歴史の中で各時代において何とかしようと頑張っていた人たちが居た結果なんだよな・・と思うと、それはそれで偉大。13万行のPR!!っていうのもインパクトがあまりにも大きいけど、そこまでの仕事をやりとげよう〜〜という意志と行動はめっちゃ凄いよな!とも感じたりしていました。

自分が全く知らない世界でも頑張っている人が居るんだな、って意味で「辛い」「凄い」「尊い」が同時に吹き出てくるような感覚で聞いていました

FQDN(ドメイン名)のバリデーションが意外と面倒だった by akase244 | トーク | PHP Conference Japan 2022 #phpcon #phpcon2022 - fortee.jp

LT基本的に言及してませんが1つだけ・・・
当初は「filter_var()くんはドメイン判定するときには避けましょうね^^」的な落ちになるかと思ったんですが、なるほど優秀そう・・・!ってなりました。

アカセさんの発表を生で見るの初めてな気がするのですが、スライドも喋りもテンポが良いし話も分かりやすくて凄い楽しかったです!LTだ〜〜〜〜って感じ凄い。

内容もさることながら、スライド最後のオチとそれをうけてのTwitter上でのリアクションですね!!!!!めっちゃ楽しみ・・!

てな訳で

とりあえず、めちゃくちゃ楽しませてもらった2日間が終わりました〜〜ありがとうございました!! + 開催当日までに見た発表の感想でした! 書いてたら長くなっちゃった。見直すのも大変なので一旦これで放流・・・。

お疲れさまでした!他のセッションも気になるのてんこ盛りなので沢山見ます!!

*1:前に自分が居た環境でPhanを入れた時は、チーム規模がすごい小さかったので技術力や経験の差があんまりなかったので、そういう壁にはぶつからなかった / その後に若手と一緒のチームでPHPStan入れた時は、PJ立ち上げ時から入れたから負担をかなり抑えられたし人数が少なかったので自分で全部フォローできた

*2:最近は社内とかに対して「自分はそんな必要ないけど、教育的な目線でいうと見ておきたいかもなー」とかっていうのも発生しがちかも