Laravelでアプリケーションを開発するとき、デフォルトORM(Object Relational Mapper)であるEloquent(Model)を使うことが多いと思います。しかし、EloquentはPHPの世界の唯一のORMではありません。この機会に普通のModelとは一味違ったORM, Doctrineに入門してみませんか?
特にDoctrineMigrationsの便利さは、Laravelユーザーの皆さんに一度体験してみて欲しいです!
■予定内容
目の前に立ちはだかる削除フラグ......
削除フラグがアンチパターンであることは知っていても、目の前の削除フラグと付き合っていくしか無い...
そう思って諦めていませんか?
削除フラグを既存のアプリケーションに影響をできるだけ閉じて無くすことはできます。
テーブルから状態や属性を別のテーブルに移し、アプリケーションを壊すことなくリファクタリングしていくために必要なことを説明します。
レガシィコードと向き合い、リファクタリングして、目の前のプロダクトを改善している現場のテクニック、余すこと無くお話します!
生涯エンジニアを続けたい。
しかしインターネットを見渡せば凄腕のエンジニアばかり。
このまま、自分は生き残れるのだろうか...
私も今年、38歳を越え、職場ではCTOとして決断を迫られる中、それでも新しい技術を理解し、向き合って行かねばなりません。 もちろん一日は有限ですから勉強する時間も限られます。
そんな中、私がどうやって新しい技術を理解し、未来の技術を予測し、今の技術を選定しているか。
そのために日々をどう過ごしているか。そんな "エンジニアとして生き残るためのhack" を皆さんにお伝えします。
ピカソは言った。「優れた芸術家は模倣し、偉大な芸術家は盗む。」
先人の言葉を例に上げながら、課題を解決するエンジニアになるためのロードマップをお話します。
みんな、オブジェクト指向やめたいですよね?(うんうん)
けれども、オブジェクト指向やめたいと思ってもPHPには機能が足りません。
このセッションでは、オブジェクト指向をやめてコードを書くときに大事な考え方、抽象データ型と代数的データ型、そしてそのために必要な機能とそれを提案するPHP RFCについて紹介します。
--
抽象データ型、代数的データ型の考え方と、直積型、直和型、パターンマッチングとそれを提案する「PHP RFC: Algebraic Data Types」について話そうと思います。
https://wiki.php.net/rfc/adts
「いい本ありますか?」しばしば聞かれます。紹介したとして貴方は本当に読んでいるのか…?というのはさておき、本を読むというのは一般的にはメリットのある行為です。
紹介した本が本当に読まれているのかはさておき(???)、聞かれたときに答える最近の本をご紹介するのは当然として、さらに一歩進み、「読んだ本を経典・正義にするな」という話をしたいと思います。
なお、PHP以外の本もご紹介します。なぜならPHPの本がないから…ではなく、万物は大体同じだからです。
PHP以外の本を読む事により、あらたなインサイトを貴方がえられるように頑張ってみたいと思います。
まあ、そうはいうても私の趣味もはいりますので、「これが聖書…!」と言う受け止め方はしないでくださいね!!
PHPは実のところ非常にデバッグがしやすい言語です。なぜならxdebugという非常に優秀なデバッガがあり、それを支えるエコシステムが存在するからです。xdebugを使うことで便利に、詳細に、迅速にデバッグを行うことができます。
しかしながら「xdebugなんていらないよ!print debugで十分!」という声もよく聞きます。
そんなことはない!!(断言)
ということで、多機能なxdebugで単なるステップ実行以上をご紹介します。
こんな魔法のような事までできる!そうxdebugならね!!
イベントソーシングやCDCなどのテクニックは、
レガシーシステムの移行やデータ移行・データパイプライン、
リアクティブシステム構築に欠かせない重要な要素です。
しかし、取り入れ方を間違えると致命的なアンチパターンに陥ってしまうこともあるんです。
例えば、状態をもたせないイベントでマテリアライズドビュー化してしまったり、
巨大なランタイムを持たせてしまったハンドラ、
分割しすぎて時系列を無視したイベント、
まったく互換性のないメッセージなどなど。
でも大丈夫!少しのミドルウェアの知識やドメインについての知識があれば、これらの問題は防ぐことができます。
ここでイベントソーシングやCDC、Outboxについて説明しながら、複雑さに立ち向かう方法を楽しくお伝えします!
実際にやってしまった失敗談や成功談をもとに、
これらのテクニックが何なのかをわかりやすく説明します。一緒に楽しく学びましょう!
このセッションはPHPにフォーカスしたものではなく、システムやアプリケーション全般に関するトークとなります。
ログでてますか?当たり前ですよね、でてますよね。しかし「ログを出す」事については無頓着な人が多い印象があります。
過去、ログで助かった人も大勢いるのではないでしょうか?しかしながら、APMなどが発達した今においてはログなんて適当でよいや、とかなってませんか?あるいはなんとなく出すだけでリリースしたら見てないな〜ってなってませんか?
そういった方々、今一度ログについてかんがえてみませんか?
あなたはちゃんとログを出していますか?
FWの気持ちを理解できると、きっと素敵ですよね
その為に「自分でFWを作ってみる」というアプローチがあります。今風の要件を備えた物を自作する事で、普段使っているFWを読み解く勘所を掴みやすくするのです
PHPerKaigi 2023では、FWの自作は開発者のレベルを高めるはずだ!という仮定のもと、今風のFWの要件を考察し実装するというテーマのトークを行いました
今回のトークでは、その際に得たFWを例に、実際に動くものを作り上げていく事に主眼を置いて発表します
ハンズオンっぽい形やライブコーディング風の説明を多く取り入れるので、是非その場で一緒に手を動かしながら聞いてください
※ 以下は実装を割愛
「翻訳してほしい技術書」あるいは「鈍器」として名高い、xUnit Test Patternsという書籍があります。
読んだことはありますでしょうか?あるいは、「名前は聞いたことあるけど・・」という方も、非常に多いと思います。
「興味があるし、役に立つとは確信しているのに、読んで見るに至っていない」
それは何故なのでしょう?要因の1つとして、 あなたの興味が足りないから という不都合な事実はありませんか!!
このトークでは、「どんな事が書かれているのか」を、時間が許す限り紹介していきます。
物量も情報量も多い書籍なので、興味を持っても「全部読む」のハードルは引き続き高いかも知れません。
それでも、「どんな事が分かる本なのか、自分の求めるヒントになりそうなのか」「どういう風に、読んでいけな良いのか」の解像度が上がってしまえば、きっと手にとってみたくなりますよね・・!
「45分」枠のうち、自己紹介やまとめの時間を除いて「40分」でxUTPアトラクトを目指していきます。