- はじめに
- 会場の雰囲気・参加人数
- セッションの感想
- ● Today's Update
- ● PHPによる"非"構造化プログラミング入門 -本当に熱いスパゲティコードを求めて-
- ● 生成AIと読み解くLaravelの進化史:コミットメッセージからの洞察
- ● PHPStan七転八倒
- ● 私の愛したLaravel 〜レールを越えたその先へ〜
- ● 大規模ふるさと納税サイトをPHP8化した時の苦労話
- ● 「うわっ…うちのテスト、遅すぎ…?」 PHPUnit高速化テクニック
- ● プロダクトコードとOSSに学ぶ例外処理の選択肢 — キャッチするのか、投げっぱなしにするのか
- ● Windows版PHPのビルド手順とPHP 8.4における変更点
- ● PsySHから紐解くREPLの仕組み
- ● 「PHPシンタックスコレクション〜ペチコレ〜」厨二病が好きそうな小難しいシンタックス
- ● リファクタリングでもPHPStan!? Rectorと組み合わせてかっこいいリファクタリングしようぜ!
- ● 英語文法から学ぶ、クリーンな設計の秘訣
- ● バックエンドエンジニアによるフロントエンドテスト拡充の具体的手法
- ● 社内コードゴルフ大会を開催したら最高に楽しかった!
- ●Today's Update
- ブース・展示エリア
- 参加して感じたこと・よかった点
- 来年への期待・次回への意気込み
- まとめ
はじめに
どうも、PHPエンジニアな隣の鈴木(@next_suzuki)です。
PHPerKaigi 2025に行ってきた!
(サムネイルはイメージです、実際は画像よりもヒッソリしている)
まったく他人の参考にならない感想を書く
- PHPerKaigi 2025のday1(2025年03月22日)に参加
- 開催日時・場所:中野セントラルパーク カンファレンス
- 参加理由:PHPの情報収集
- どんな人向けの記事か:ただの感想を読みたい人
会場の雰囲気・参加人数
去年(2024年)に参観したPHPカンファレンスと比較しながら書く
- 会場の様子(広さ・設備・雰囲気)
- 思ったよりは広くない。
- 部屋が横長だから、少なく感じただけかも?
- 部屋は綺麗。老朽化やうらぶれた感じは無し
- 休憩コーナー
- 小休憩に最適。2回ほど利用。
- コーヒーやジュースが置いてある
- チープすぎなくて良い
- プチお菓子もある
- ヨックモック・GODIVAなど
- チープすぎなくて良い
- 春限定の味もあって、テンション🆙
- ヨックモック・GODIVAなど
- コーヒーやジュースが置いてある
- 小休憩に最適。2回ほど利用。
- 思ったよりは広くない。
- 参加者の年齢層・層の印象
- 20代よりも、30代以上が多めな印象
- 流行りな言語ではないから、20代が少ないのは妥当かな。と思う
- 参加費が8500円は、20代には割高なのかも?
- でも、救済処置?で23歳以下へはチケットを安く売っている配慮は素晴らしい
- 20代よりも、30代以上が多めな印象
- コミュニティの雰囲気(交流しやすい?フランク?)
- 工夫はいろいろとされている
- スピーカーと会話できるコーナーがある
- お昼も任意参加でグループで食べに行く企画がある
- 工夫はいろいろとされている
セッションの感想
傾聴したセッションについて感想を書く。
スピーカーさんは、みんなの感想が聞きたい。みたいに言っていたけど、そういうもんなの?笑
僕は登壇などしたことがないので、まったくスピーカーさんの気持ちが想像できない。
内容の要点は、言語化能力が乏しい僕なりの解釈です。
最初のほうが文言が多いかもしれなけど、書き始めでテンションが高いだけです。後半ほど疲れてくるので文字数が減りますが、別に感動しなかった。とかそういうわけではないので、誤解しないでいただきたいです。
● Today’s Update
- 内容の要点:オープニング
- 特に印象に残ったポイント・キーワード:
- 理想の日は無い
- 卒業シーズンと被ってしまったらしい。日程調整って難しい。
- 送られてきた冊子に載っていたがPHPのカンファレンスは他より多いから、日程調整はなおさら大変だろう
- 卒業シーズンと被ってしまったらしい。日程調整って難しい。
- ドーナツを無料配布している。
- 最初から来てくれる来場者を増やすためらしい。運営のために色々と工夫しているだな。と感動。
- 理想の日は無い
● PHPによる”非”構造化プログラミング入門 -本当に熱いスパゲティコードを求めて-
- 内容の要点
- コードを非構造化(組み込みメソッド(array_mergeなど)を使用せずに、ifやforなどでコードを書く)して、構造化の利点に気づこう
- 印象に残った点
- この公演のテーマが強烈すぎて、印象に残った。
- プログラマは「楽を追求する生き物」で、色々なメソッドが生まれたわけだけど、それらを未使用でコードを書く。
- 逆転の発想から、気づきを得る。
- 思いついてもやりたいとは思わない。僕の常識の範囲内からオーバーフローしすぎて、狂気の沙汰に思えた(悪い言葉かもしれませんが、尊敬の念として、この言葉を使わせいただきます)。
- 逆転の発想から、気づきを得る。
- 非構造化された長文のコード?可読性が低いコード?を見て、無意識で使っているメソッドのありがたさを感じた。
- メソッドに感謝。メソッドを作ってくれた・今も作ってくれている人たちに感謝。
- goto文は使ってOK!実際に使われているコードの例を説明してくれた
- 僕は、10年以上前の新人時代に50代のおじさんに「goto文は使わないで」と言われてから、それを守り通したプログラマー人生だった。
- この公演を聴いて、goto文は使ってOKなんだ!と気づけた。呪?言霊?から開放されたような感覚だった。
- 僕は、10年以上前の新人時代に50代のおじさんに「goto文は使わないで」と言われてから、それを守り通したプログラマー人生だった。
スライド1枚の内容も濃くて、そのためかトークも早口で、スライドめくるのも早かった。
良い意味で、この日で一番糖分(頭を回転させた)を内容だと思う。
● 生成AIと読み解くLaravelの進化史:コミットメッセージからの洞察
- 内容の要点
- Laravelのバージョン5くらいまでの歴史紹介
- 印象に残った点
- Laravelの由来が小説「ナルニア国物語」らしい
- 後で自分で調べたら「Cair Paravel(ケア・パラベル)」から命名らしいけど、「L」はどこから発生したの?!
- AIを駆使したり、gitコマンドでdiffとったりしているのが、自分がやったことがない事だったので学びになった。
- 自分はLaravelのバージョン9から使い始めた人間なので、知らない歴史を学べたのは良かった。
- Laravelの由来が小説「ナルニア国物語」らしい
● PHPStan七転八倒
- 内容の要点
- PHPStanにプルリク出したよー。
- 印象に残った点
- 知らない単語が多くて見識が広がった
- non-falsy-stringってなんだ?!
- 純粋巻数ってなんだ?!
- 知らない単語が多くて見識が広がった
プルリクを出そうなどと思ったこともないので、僕には難しい内容だった。
● 私の愛したLaravel 〜レールを越えたその先へ〜
- 内容の要点
- Laravelを使うと、システムが破綻する理由
- 印象に残った点
- アイコンと実際の登壇者様の髪型が違いすぎた
- ごめんなさい、他人様がどんな髪型をしようが自由なのですが、あまりにも差がありすぎて気になってしまった
- 存じ上げない登壇者様だったが、すごい人?!
- レバテックで記事を書いたり、PHPの日本語マニュアルを書いている?!
- Laravelとはデータベースと連携ありきなシステムと再認識
- Eloquentをどこからでも実行できるよ。
- いくら便利なもの(フレームワーク)があっても、内容を理解して使わなければ破綻する
- マニュアルに無いものを独自に作成していくと、破滅の道へ進む…。
- あーなんか身に覚えがあるなあ(遠い目
- マニュアルに無いものを独自に作成していくと、破滅の道へ進む…。
- アイコンと実際の登壇者様の髪型が違いすぎた
とても勉強になる内容だった。
だけど、公演時間が長くて、お昼後だったので、とても眠かった。睡魔と戦っていた。
● 大規模ふるさと納税サイトをPHP8化した時の苦労話
- 内容の要点
- PHPのバージョンアップしたよ
- 印象に残った点
- カナリアテストってなに?!
- 除々に切り替えるテスト手法を初めて知った
- ふるさと納税のサイトだから、年末になるとアクセスが増加しまくる
- 想像通りの数字で個人的にはツボで面白かった
- 年末にアタフタしている人たちが数値化で具現化された
- 想像通りの数字で個人的にはツボで面白かった
- カナリアテストってなに?!
この日の中で、一番実経験を語った内容だった。
他人の失敗談が聴けて、とても学びになる内容でありがたかった。
調査不足で失敗した。など、論理上はあってはいけないんだけど、人間がやるから起こること。
明日は我が身で、明日には自分のシステムでも同じことが発生するかもしれない。
そんな失敗談を赤裸々に語ってくれた登壇者様には感謝である。
● 「うわっ…うちのテスト、遅すぎ…?」 PHPUnit高速化テクニック
- 内容の要点
- PHPUnitのテクニック紹介
- 印象に残った点
- トークが上手だった
- 自分のことを「肖像権フリー」と言っていた
- PHPUnitなのか、登壇者様なのか、人気があるのか満室だった
- GoogleのテストサイズでSMLがあるらしい。
- 仕事で真似て使おう
- PHPUnitは並列実行できる
- 仕事で使っているので利用できないか試してみたい
- 他にもPHPUnitのコツが紹介されていてありがたかった
- OP cache
- stop-on-failureで1本でも失敗したらアウト
- トークが上手だった
この日で、一番仕事に使える内容はこの公演だった。
実務でPHPUnitは使用して、時間を浪費している作業だとは思っているので、今回得た知識をキッカケに改善していきたいと思う。
● プロダクトコードとOSSに学ぶ例外処理の選択肢 — キャッチするのか、投げっぱなしにするのか
- 内容の要点
- Exceptionについてまとめてみた
- 印象に残った点
- 登壇者様が人気なのか、人が多かった。
- 「プログラマが知るべき97のこと」を「きのこ本」と呼ばれているのは初耳!!
- Exceptionクラスが、大まかに2つのパターンに分かれるのは印象的だった
- ソースをみて、実動作に切り分けていく考え方は勉強になった
● Windows版PHPのビルド手順とPHP 8.4における変更点
- 内容の要点
- WindowsでPHPをビルドする
- 印象に残った点
- 誰が、なんで?どうして?わざわざビルドするんだ?!という疑問が解消された
- いろいろな理由があるんだな
- 不具合を本家より先行して修正したい
- 運用ルールでビルドが必須
- いろいろな理由があるんだな
- 観客が僕らを除いて12人くらいしかいなかった
- 登壇者様の人気がない。というわけではなく、Windowsというハードウェア?OS?よりなネタが、Webエンジニアの需要とマッチしていないんだな。と思った
- 元Windowsアプリエンジニアの僕としては、デスクトップアプリの時代は終わったのかな??と、現実を突き詰められたような感覚で寂しかった
- 需要がなくても、カンファレンスだから色々なネタをやるのは大切だと思う
- 登壇者様の人気がない。というわけではなく、Windowsというハードウェア?OS?よりなネタが、Webエンジニアの需要とマッチしていないんだな。と思った
- 誰が、なんで?どうして?わざわざビルドするんだ?!という疑問が解消された
● PsySHから紐解くREPLの仕組み
- 内容の要点
- PsySH(PHPのためのインタラクティブなREPL(Read-Eval-Print Loop)環境)の説明
- 印象に残った点
- LaravelのTinkerもREPLを使用している
- 普段何も考えずに脳死状態で使っていたLaravelのTinkerへの理解が深まった
- LaravelのTinkerもREPLを使用している
つくづく、この機能はどうしてこう動いているんだろう?と気になって、探求する人たちを尊敬する。
● 「PHPシンタックスコレクション〜ペチコレ〜」厨二病が好きそうな小難しいシンタックス
- 内容の要点
- 厨二病みたいなPHPの構文を紹介
- 印象に残った点
- 司会進行様と登壇者様の会話テンションの温度差が真逆でシュールで面白かった
- 自己紹介で34歳で最年長と書いてあって、衝撃…。
- 僕の職場は平均40歳くらいなのですが…?!
- くだらないけど共感できて面白かった
- 憧れて自分で書いてみるとエラーになる。とか、とても共感できた笑
- ライトニングトークのネタ1発目としては、くだけたネタで良かった
- ゴリゴリした技術系ではないので、聴きやすかった。
僕は初心者でも読めるコードを書きたい派なので、紹介されたコードは滅多に書かないけど、面白かった。
● リファクタリングでもPHPStan!? Rectorと組み合わせてかっこいいリファクタリングしようぜ!
- 内容の要点
- ラッパーの作成。型変換できる
- 印象に残った点
- インターンで社会人になる前に学んでいて、なんて行動的なんだ。と思った
- ソースを相談できる人がいて羨ましい
● 英語文法から学ぶ、クリーンな設計の秘訣
- 内容の要点
- 英語の文法風にコードを書こう
- 印象に残った点
- この設計の良し悪しはわからないけど、自分なりのルールを設けて書くのは大切だな。と思った
- 過去の知識を元に、ルールを言語化できているのは尊敬。
- この設計の良し悪しはわからないけど、自分なりのルールを設けて書くのは大切だな。と思った
● バックエンドエンジニアによるフロントエンドテスト拡充の具体的手法
- 内容の要点
- テストコードを作成する
- 印象に残った点
- AI(cursor)を使ってテストコードを作成していた
- これから数年後?に当たり前になるテストコードの記述法を見せられたような気がした
- こういう事ができるようなエンジニアにならないと市場から遅れていくんだろうなー
- これから数年後?に当たり前になるテストコードの記述法を見せられたような気がした
- AI(cursor)を使ってテストコードを作成していた
● 社内コードゴルフ大会を開催したら最高に楽しかった!
- 内容の要点
- コードゴルフを社内で広めた
- 印象に残った点
- 社員が旅行で買ってきたワインを景品にしていた
- 経費じゃないの?!
- 社内で啓蒙活動する行動力を尊敬します
- 社員が旅行で買ってきたワインを景品にしていた
●Today’s Update
- 内容の要点
- エンディング。本日のふりかえり
- 印象に残った点
- 裏側(運営側)の結果が公開されて面白かった
- ネットワークのトラフィックや、飲まれたビールの本数など
- サーバーは登壇者様の自宅にある?!
- forteeのサイト(チケットを購入したサイト)をスクリーンに映しながら、機能改善を語っていた
- 誰かが翻訳させようとするとサーバーが動いている音がする。と言っていた
- もしかしてforteeってクラウドサーバーとかじゃなくて、個人宅にサーバーがあるの?!と疑問が湧いた
- 誰かが翻訳させようとするとサーバーが動いている音がする。と言っていた
- forteeのサイト(チケットを購入したサイト)をスクリーンに映しながら、機能改善を語っていた
- 裏側(運営側)の結果が公開されて面白かった
ブース・展示エリア
まったく参加しませんでした。ごめんなさい。
- 2箇所に分かれていた。
参加して感じたこと・よかった点
- 全体的に、講演内容の質が良かった
- みんな資料がしっかりと作り込まれていた
- 結果もしっかりした実績がある内容だった
- 会場の移動距離が短いのは良かった
- 去年にPHPカンファレンスに参加したから、そう思うんだろうけどね
- スピーカーの公演を聴いて思ったこと
- 探究心・行動力が強い
- OSS(オープンソースソフトウェア)にpull requestを投げる
- vendorフォルダの中身を確認する
- 探究心・行動力が強い
プルリクを出したり、venderフォルダを見ている人たちから言わせれば、業務で必要だったから。とかなのかもしれない。だけど、そういう事をまったくしない僕からすると、とてもとてもエネルギッシュに思える。
venderフォルダなど、僕の心の中では「ここは神の領域だ。凡人の僕が決して踏み入れてはいけない、触ったら罰が下る」と思っていて、自然に視野に入らないように・心をシャットダウンしていた。
そんな僕の心が神の領域と判断した世界に、踏み込んでいく人たちは冒険家のように映った。
でも、カンファレンスに数回参加して、神の領域とは、こんな僕でも覗くくらいならOKな領域なのかな?と、少しだけ敷居が下がった気がする。だから、これからは少しだけvenderなども除いてみようと思う。
まあ、凡人がレベルの高い人たちの空間にちょっとだけ一緒にいたから、自分もそこに近づいたと酔いしれて?錯覚している?だけかもしれなけどね…。
来年への期待・次回への意気込み
- 次回も可能なら参加したい
- あまりトレンド的な内容を感じることはなかった。
- でも、PHPStomのネタが多かったから、トレンドになるのか?
まとめ
- 革命的にビビッと来たことや、超凄いみたいな感情の高ぶりは無かったけど、上手なプレゼンを聴けて刺激になった。
カンファレンスに参加するたびに思うけど、プライベートを捧げて、こういう場を設けている人たちに本当に感謝です。