この記事は「ひとりでカンファレンスふりかえりo0h Advent Calendar 2021」のday-12です。
ひとりでカンファレンスふりかえりo0h Advent Calendar 2021 - Adventar
今日振り返るのは、「vimeo/php-mysql-engineって何?どう動くの?読んでみました!」です。 PHP Conference Japan 2021のCfPに応募しました。Regular session (25 mins)の枠になります。
vimeo/php-mysql-engineって何?どう動くの?読んでみました!
PHPerKaigi2021のLTで、vimeo/php-mysql-engineの紹介をしました。
https://github.com/vimeo/php-mysql-engine
ユースケースを中心に「どう使うものなのか」というのをチラ見せ程度に扱ったのですが、技術的にも「どうなてるんだ?」と興味深く感じます。
そこで、より「ちょっとした飛び道具にも思えるような本ソフトは、一体どういう風に実装されて・どうやって課題の解決を実現しているのだろう?」を紐解いてみよう、というものです。
ビジネスやソフトウェア開発プロセスの課題にどうアプローチするか?というのが先のLTだとすれば、こちらは実装についてのhowを理解してみたいぞ〜〜!に関心を寄せている、とでも言いましょうか。
少なくとも「クエリを解釈する部分」「クエリを実行する部分」「レポジトリ部分」の3レイヤーが抽象化されているはずで、実際の「RDB」「MySQL」というのをPHPのコードに置き換える時にどんな「メタファ」が適用されているのか・・・?
ホビー的に「ユニークなソフトウェアの中身を読んでみたら、きっと面白いよね!」という観点もありつつ、実際の現場で役立つような・・ソフトウェアデザインの引き出しみたいなものも、一緒に扱えたら良いなと考えていました。
このプロジェクトの存在を知った時に、「すごい独創的な事をしている(気がする)な」という衝撃を受けたものです。それゆえに、PHPerKaigiでも「やってみたい、シェアしたい!」と思ってプロポーザルを投げました。
しかし、自分はその中身までちゃんと理解していないなぁ、読んでみたいなぁ・・・という気持ちがが残ったままです。きっとコードリーディングで得るものもあるでしょう。 実際、Composerのコードリーディングを行って得たものを、過去2回のphpconで発表し、(その準備期間の勉強や資料作成=形にする作業も含めて)面白かったし、良い経験になったよなぁという感覚があります。
であれば!また「読んでみました!」系のトピックとして、1つ出してみるか・・!と思い立った次第です。
ついでにいうと、中身をガッツリ読んだら色々とPRも出しちゃうぞ〜〜〜とも目論んだりしていました。