PHPUnitには多くの便利なアサーションが用意されていますが、わたしたちが普段使っているフレームワークにも独自のアサーションが実装されていることをご存知でしょうか?
普段便利に使わせてもらっているアサーションの中身がどうなっているか、みたことはありますか?
「まだ、みたことない・・・!」という方、このセッションでテストの裏側にある仕組みにDeep Diveし、テストライフをさらに快適にしていきましょう!
話すコト
・PHPUnitがどのようにアサーションの結果をOK/NGと判断しているのかを知る
・各フレームワークにあるいろいろなアサーションを知る
・自分でカスタムアサーションを作成するという選択肢を知る
PHPのバージョンが上がるにつれて型周りの機能が充実してきました。
これに伴い、実行時、型によるエラーを発生させないためにコードを書く時に注意したり、静的解析による検査を導入するという事が必要となってきました。
PHPStanはそのような実行時にエラーとなる可能性のある部分を指摘してくれる静的解析ツールであり、ご存知の方も多いと感じます。
しかし、「導入がしたいけど出来ていない」という話や「導入したけどあまり活用出来ていない」という話を時々聞きます。
そこで、本トークでは以下のような点について自身の経験を踏まえてお話します。
PHPStanを全く知らないという人から導入を検討している方、更に知識を深めたいという方まで楽しめるトークを目指します。
あなたは DockerHub で公開されている PHP のイメージサイズに満足していますか?
コンテナイメージのサイズが小さいことには様々なメリットがあります。 DockerHub ではイメージサイズを最小化するために Alpine Linux ベースのイメージも公開されていますが、 Debian ベースのイメージと比べパフォーマンスや互換性の面でデメリットを抱えています。
パフォーマンスや互換性は妥協したくないけど軽いイメージが欲しい...!
そんな夢を叶える Distroless PHP プロジェクトについて紹介させていただきます
Microsoft によって提唱されているコンテナ技術を開発環境の構築に利用する規格 Development Container
Visual Studio Code で最初にサポートされ、 GitHub Codespace や Visual Studio, さらには JetBrains の IntelliJ IDEA でもサポートが開始されています。
実は PhpStorm でもベータながらサポートされており、すでに実開発で利用可能な水準に達してきています。
今回はそんな Development Container と PhpStorm を用いて、 Laravel アプリケーションの開発環境を爆速で構築する方法を紹介します。
PHP で JVM (a.k.a. Java Virtual Machine) を実装したり,RubyVM を実装したりと様々な試みがなされてきました。
PHP といえばウェブ開発に特化したプログラミング言語だと思われがちかもしれませんが,今では他のプログラミング言語と遜色ないほど様々なことができます。
もちろんそれは,PHP で CPU を実装することも例外ではありません。CPU にも様々な種類があり,Intel や AMD が代表どころですが,CPU 自体が違えば
実装方法も大きくことなります。
手軽に CPU を自前で実装するのは事前知識がいくつか必要であり,多くの文献を参考にしなければ一つの形にするには時間を要することでしょう。
本トークでは,ChatGPT とともに Intel x86 アーキテクチャをベースに手軽に PHP で CPU エミュレータを実装する方法を解説します。