テストコードを書くときに、初心者から玄人まで煩わしく感じるのが「日時の関わるテスト」です。
テストに重要な「readability」の価値を損ないたくない。テストのためにプロダクトコードのロジックを妥協したくない。
そんな我が儘をかなえつつ、「仮想日時」や「固定日時」を扱った処理を実現するには、便利なライブラリが必要です。
CakePHPの内部でも大活躍している「cakphp/chronos」を紹介させてください!
お気に入りのOSがサポート切れになって早x年、OSを変えるのも面倒…もとい気に入っているのでオフラインで使いたい…!
ネットワークに繋げないオフラインのマシンでPython、PHP、Docker等の開発環境を整える・開発をする辛みや面白みについて語ります。
普段はモバイルエンジニアとしてSwiftやKotlin、WebではECMAScriptやScala、Goなど、割と最近登場したいわゆるモダンと言われる言語を使用している私が、業務上がっつりPHPに入門する機会が最近ありました。
先入観で「PHPはオワコン」、「風前の灯火」みたいな事を巷で聞いていましたが、実際入門して触ってみると「あのモダンな言語仕様PHPにもあるじゃんか!」、「これができるPHPは優秀」、「あの言語のあの仕様欲しい」など古参PHPerとは少し違う観点で感じる事がありましたので、それを「怒涛の10選」としてご紹介します。
設計への意識の高まりとともに、クラスの依存関係をコントロールすることに関心を持つエンジニアが増えてきましたが、現状依存ルールを順守するには人間の目で確認せざるを得ません。
クラスの依存関係を人間の目で一瞥するのは基本的に難しく、うっかり循環依存になってしまってないかレビューするのも手間です。
そこでPHPStanをベースに依存関係を解析するライブラリを作成しました。
これによりルールの順守を機械的にチェックすることが可能になるほか、そのリポジトリの依存ルールを設定ファイルとして管理し、ルールを明示することができるようになります。
また全クラスの依存関係を解析してグラフ化することも可能(予定)ですので、初めて見るリポジトリを解析する時にその依存関係から大まかな構造を把握できるような使い道もあります。
今回はこのライブラリの紹介をさせていただければと思います。
LTも登壇もめっちゃ面白いよ!さあレッツぽちっとな。え?マサカリが怖い?
今から教えるたった一つの心得があればきっと大丈夫さ
(お酒が入ってるノリ推奨)