andante

4046

0517

月曜だからかあまり元気がない急に蒸し暑くなったせいもあるだろう今年は梅雨入りがめちゃくちゃ早いらしいまだ春の陽気を全然感じていない例年も別にそうだがのに梅雨入りして明けたらもう夏だなんてさすがに承服しかねる

仕事はなんかDockerをガチャガチャやっていたSPAをRailsからサーブすることについて完全に誤解したまま進めてしまっていたせいで大きく方針を変える必要が生じてしまったりしたあとGoogle Sign-Inは呼び出し元を任意のポート番号にできないこれ要するにCORSのヘッダだよねようなのでそこでも挫折しかけた最終的には迂回するアイデアを思いついたと思うけど……いやどうかな怪しい気もするな……明日ちゃんと検証しなくては

夜はRustのエラーハンドリングについて考えていたレイヤードアーキテクチャで依存関係の逆転をしているとリポジトリの関数が返すエラー型は誰が定義すべきなのかという疑問が生じるDomain層がthiserrorを使ってエラー型を定義してもInfrastructure層は実装詳細に依存した別のエラーを出していてIntoを実装しようとするとorphan ruleに阻まれてしまうここではDomainとInfrastructureはクレートを分けてあるかといっていちいちmap_errに変換関数をはさむのは格好悪いどうしたものか…… と思っていたのだけど結局DomainはDomainが知ってどうにかできるエラーにしか関心がなく知っているなら定義されているのだからそのくらいは明示的なmap_errを書けばよく敗北感はあるそうでない漠然としたエラーは全部anyhow::Errorに丸め込めばよいここはmap_errではなくcontextを使うと付加情報を与えられるのでなおよいとなれば逆にDomainが知ってどうにかできるエラーなんてそう多くはないのだし結局はかなりの部分が実質anyhowになるのではないかと思う型は一応定義するけどあとPresentation層ではレスポンスのためにいろいろなエラーを使い分けることになるけど


疲れた明日は歯医者でマウスピースの型を取ってもらう予定