/var/log/jsoizo

メモ帳 技術とか趣味とか

2023-06-01から1ヶ月間の記事一覧

KotlinでMinimal Cake Pattern

出来そうだなと思ったのでお試し。 Minimal Cake PatternといえばScalaにおけるDIの実装パターンの1つで、コンパイル時に依存性を解決でき、DIコンテナ使ってるときにやりがちなDI用アノテーションのつけ忘れて実行時エラーが起きるみたいなことが無いのが特…

Viteはライブラリモードの時にアセットを自動的にbase64エンコードしてくれる

たとえばコンポーネントライブラリを作ろうとしていて、そのコンポーネント内で特定の画像ファイルをbackground-imageで埋め込みたいというケースを考える。 このとき、画像をどうやってパッケージに含めるか、とか、ライブラリ利用側でのパス解決がうまいこ…

コンストラクタの返却する型を変えたいときのcompanion object + invoke()パターン

こういうクラスがあり、newする時にエラー型を明示して Either<IllegalArgumentException, Email> が返却されるようにしたいとする。 class Email(val address: String) { init { require(address.contains("@")) { "Invalid email address" } } } とすると、このように書くことが多いのだが、</illegalargumentexception,>…