【後編】 PHPカンファレンス関西2024に行ってきた🏃♀️💨
前回までのみき
PHPカンファレンス関西2024へ参加すべく、福岡から大阪へ🚄
その日非公式前夜祭に行ってきたみきは、懇親に完全敗北。。
次の日、会場に着いたみきはタリーズで優雅な朝ごはんタイム☕️
いよいよ始まる本編!みきは無事にみんなと交流できるのか…!
イベント情報
・ PHPカンファレンス関西2024
・【非公式!前夜祭】PHPカンファレンス関西2024
PHPカンファレンス関西2024開始🔥
はい、ということで本編が始まりました!!
(全然写真撮ってないことに気づいた…)
シール貼るの下手すぎました()
写真を撮るのを完全に忘れていたのですが、
今回は名刺交換ならぬ「シール交換」という制度(?)がありました!
画像の名札のアイコンが正方形のステッカーになっていて、自分のステッカーを40枚いただきました!
これをPHPer同士で交換するというシステムです。
「シール交換しませんか」という言葉で話のきっかけを作るという素晴らしい試みだと思いました
前日何もできなかったので、始まってすぐは以下のように思っていました
これは前回別のカンファレンスに行った時に学んだTipsなのですが、
携帯のキーボード設定で、イベントハッシュタグのエイリアスを作成しておくとめちゃめちゃ便利なのでやってない人は是非やってみてください👀
開会式(?)も終了しいよいよ登壇スタートです!
トークについては下記「聞いた登壇について」で言及しております。
2つの登壇を聴き終えあっという間に午前の部が終了しました。
今回の昼ごはんは、せっかく大阪に来たということでお好み焼きを食べました!!
具沢山でめっちゃ美味しかった
ただ、ちょっと並んでいたこととお好み焼きということで少し時間がかかってしまい、お昼休憩終わり最初のセッションに行くことができませんでした。。。
ちなみにこの時点での、シール交換状況は以下の通り、、
ちょっと(どころじゃなく)アセアセと行った具合でしたね。
ただ、ここから最強の味方「びきニキ」を召喚することができたのでここから期待できるようになりました!!
まだ、半分慌てる時間ではない。
そんなこんなでここからはセッションを聞いてそのまま懇親会なので、
その前に今回聞いた登壇について、感想などなどを書いていきます🔥
聞いた登壇について
まず、今回のカンファレンスで聞いた登壇は以下の通り!
レガシーシステムへのPHPStan導入から半年での課題と効果
RDBアンチパターンと戦う - 削除フラグ 完全攻略ガイド
テストコードが書けるようになって「変更したけど壊してないかな」という不安を解消しませんか?〜テスト駆動開発の世界のクイックツアーも添えて〜
なんで、ファイル名とクラス名を揃えるの? 知っておきたいautoloadのはなし
実践、Interface
PHPの「歴史的な理由」ってなんだ!?
PHPで学ぶ、セッションの基本と応用
ほげ言語にあってPHPにない機能
レガシーシステムへのPHPStan導入から半年での課題と効果
PHPStanのBaselineという機能を初めて知りました。
Baselineをうまく設定すれば、改善の優先順位を定めることができるので良い機能だと思います。
背景を知らないのでなんとも言えないですが、PHPStan導入の際にはlevel0から初めて徐々に上げていき、
レベルを n → n+1 にあげる際のエラー数に応じて、Baselineを定めていくというやり方がやりやすそうだなと思いました。
また、この登壇で「ボーイスカウトルール」という用語も知ることができました。
こういった名前などについて知ることができるのでカンファレンの登壇を聞くのが好きです。
> PRの粒度を小さくする
という言葉が出てきましたが、これは結構難しいものだと考えていて、
まず前提として最適な粒度でタスクを切ることができなければなりません。
さらに、それをチーム全体で行うにはそれをせざる終えないような環境を作ることができないと、なかなか全体ではできないものなのかなと思っています。
先ほどの「ボーイスカウトルール」とも少し関係しますが、
「ここちょっと汚いな」と思ってそこまで直してしまうとそのPRは大きくなってしまいますし、かと言って直さなければ「綺麗にする」という優先順位が低いタスクが生まれてしまうので最近とても悩んでいます、、
RDBアンチパターンと戦う - 削除フラグ 完全攻略ガイド
「失敗から学ぶRDBの正しい歩き方」をちょうど読んでおり、読んだ範囲の内容だったので割とすんなり頭に入ってきました。
これまで、難しいと思って聴いてた話が理解できるようになっていると成長を感じます。
子テーブルへカラムを分割するということを現在やっている最中で、まさにという内容も入っていたので非常に参考になりました。
最近テーブルの分け方にについて色々模索していたのですが、
今回おっしゃっていた「1つのテーブルに1つの責務の状態にする」という言葉で何か全てが腑に落ちた気がしました。
よくよくほとんどのものは同じような考え方から生まれているもののはずなのに、なんでこの考えがこれまで浮かばなかったんだろうと思いました。
まだまだ、具体・抽象の鍛錬が足りないなと実感しました。
今回出てきた好きな言葉集
・DB寿命はアプリケーションより長い
・アンチパターンはよかれと思ってたことが後から問題になる
・1つのテーブルに1つの責務の状態にする
・アプリケーションでやったがいい、なぜならテストがかけるから
・いきなり全部やるのダメ時間かかってもいいから終わらせる
・リファクタリングは日常的に行う
本リンク
テストコードが書けるようになって「変更したけど壊してないかな」という不安を解消しませんか?〜テスト駆動開発の世界のクイックツアーも添えて〜
テストコードについての基本的な内容でした。
自分自身もテストコードは書いていましたが、
`assertSame`や、SAという言葉、`DataProvider`などそんな便利なものがあったのか!ととても参考になりました。
(assertSameに関してはなんで知らなかったんだ??)
基本的なことでも公式ドキュメントに普通に書いてあることでも、意外と知らないものや気づきがあるので、ことはじめ系のトークはとても好きです。
テストコードを書いているとは言いましたが、TDDをやったことがなかったのでTDDのクイックツアーはとてもためになりました。
このやり方を行うと、適切な設計についても学ぶことができそうだなと思いました。
次の開発では試してみようと思います。
なんで、ファイル名とクラス名を揃えるの? 知っておきたいautoloadのはなし
こちら、autoloadについてふんわりとしか理解できていないと思ったため聞きにいきました。
「ファイル名とクラス名は同じにするもの」と、それだけを覚えていたので中身の仕組みについて知ることができました。
普段自分がなんとなくこういうものという感覚で使っているような、フレームワークの中身についてを深掘りすることがなかったので、
これを機にファイルの中身を覗いてみたりして、知見を得ていこうと思います。
こういうのライブラリ割と必要になるのではするんですけど、フレームワークだと意外とやらないんですよね。
実践、Interface
個人的に、聞いたセッションの中で一番聞きやすくとても分かりやすいセッションでした。
このような綺麗な設計に行き着くまでの過程の話は意外とカンファレンスでは少ないような気がしているので、とても好きな登壇でした。
今回の登壇でInterfaceを導入することによって、「何に依存して、何に依存いないかを選ぶことができるように」とありました。
逆に言えば、依存先を選ぶ必要ないようなものをなんでもかんでもインターフェース分ける必要はない、ということなのでこの辺りを意識してうまく設計していこうと思いました。
紹介されていた本も読もうと思います。(一部抜粋)
PHPの「歴史的な理由」ってなんだ!?
PHPについて調べていると「歴史的な理由により」という言葉を見た経験はありましたが、その中身を知るということをこれまで考えたことがなかったので、とてもためになりました。
こう言ったカンファレンスでしか聞けないような話だったのでとても良かったです。
自分がまだ生まれていないときのものも出てきていて、PHPの歴史の長さに驚きました。
最近PHP自体についての自分の知識が低いと感じているので、とても良い刺激となりました。
PHPで学ぶ、セッションの基本と応用
セッション(Cookieを使ったセッション管理)についても、自分はふんわりとした理解しかできていないと思っていたので聞きました。
生い立ちからの説明だったのでとても分かりやすかったです。
なぜ必要で、どのようにして生まれていったのかを知ることができれば、
より理解を深めることができるんだなと思いました。
ちゃんと理解している人は総じて、その歴史も理解している印象があります。
そして今でもCookieに関する仕様やドキュメントの更新が行われていることを知り、すごいと思いました。
RFC6265について調べてみるとどうやら日本語訳もありそうなので読んでみようと思います。
最後に最低限の周辺知識という章が出てきて少しドキッとしました。
はっきり理解していると言えるものは少なかったので、精進していきます。
ほげ言語にあってPHPにない機能
ほげ言語愛好者の認識レンジのスライドがめちゃめちゃ分かりやすく、とても面白かったです。
自分ができることが認識できる限界値なのだと思いました。
ない機能の必要性を知ることができて良い知見を得られたとともに、PHPをこれから使っていく上でとにかく「頑張りましょう」ということがわかりました()
肩システムについては、その日一笑ったような気がします笑
プログラミング(言語)はあくまでも手段なので、
単なる優劣ではなくフィールドを見極めて選ぶもの。
というのが一番心に響きました。
これはプログラミングに限らず広く言えることだと思いますので、
この考えを常に頭に入れておこうと思います。
その他、アンカンファレンスやLTなども、とても面白くとてもためになりました!!
というか、他にも聞きたいセッションが多すぎてカンファレンス毎に、
影分身できるようになりてぇと思っています🥷
次は自分も登壇者の立ち位置で参加しようと思います!
懇親会
カンファレンスも無事に終了し、懇親会が始まりました!
毎度思うけどご飯が豪華すぎる🔥
乾杯をしてスタートです🍻
前日の懇親では敗北しましたが、今回は味方をつけて一緒に凸りました!
最初はずっと緊張という感じでしたが、お酒の力もあってか徐々に慣れ始めました
(最初から飲んで行った方がいい説???)
これまで読んでた本の著者の方に話しかけたり、登壇されてた方とその内容について話したりなど終盤はめっちゃ話せた気がします!
というか、今回この人と話してみたいと思っていた人みんなと話せた大満足🔥
ずっと悩んでいた、次のカンファレンスで出すプロポーザルも、PHPerの方と話していて方向性が決まりました!
これまでのカンファレンス懇親会史上一番よかった結果でした!
楽しい時間はすぐにすぎるもので、あっという間に懇親会が終わりました👏
懇親会が終わった後に、二次会を行うというツイートを観測したので
いいテンションのまま凸しに行くことにしました👀
ここでは、CTOをされている方々と同じ席となりました。
いい話を聞いたり、質問や相談をさせていただいたりとても有意義な時間でした🕘
それぞれ全然違う立場や年齢のPHPerが気軽に話すことができる空間素晴らしすぎる
さらにさらに、この場でPHPerシールを40枚全て配りきれました!!
大逆転勝利!🏆
自分のように完全敗北されている方でも、とりあえずその環境に行ってみたら、大逆転勝利があり得ます。みんな行こう
店の時間が来たので、お店を出ましたが、どうやら一部(大勢)の方々がまだまだ行くとのことで、幸いホテルとすごく近かったのでそちらにもお邪魔することにしました💪
(このテンションずっと続かないかな。。。)
こちらでは、二次会とはまた別の方々と同じ卓になりたくさん話せました!
知ってる人(話したことがある人)が1人でもいると気楽にいられるので、カンファレンスで知り合いを増やすしかない
そんなこんなで三次会も終了し、そのまま帰宅(帰ホテル?)しました。
とても楽しい時間を過ごせました。開催者に感謝感激です🙏
さいごに
今回は知り合いがとても少ないカンファレンスでしたが、逆に一番多くの人と関わることができました!
なんとなんと次の日に帰りの新幹線まで少し時間があったので、
カンファレンスで知り合った方々とお昼ご飯、もくもくレポ執筆会を行うまでに!!
前日じゃ考えられませんね、、、
お二方、お付き合いいただきありがとうございました!!
カンファレンスに行くと、良質なインプットがたくさんできます。
インプットしたということは、アウトプットしないといけません!
お家に帰るまでが遠足ではないですが、記事を書くまでがカンファレンス🔥
ということで、ここでようやく自分の中でのPHPカンファレンス関西2024が終了しました!!
運営の皆さん、関わってくださった参加者の皆さん、本当にありがとうございました。