0906
昨日はなんか俺のオレオレDDD(と名乗ったことはない)そう間違ってはないな的なこと書いてた気がするけど、改めてちゃんと勉強し始めたら全然そんなことなかった。どう考えてもリポジトリにアプリケイションロジックがゴリゴリ書かれている。が、まあでかすぎる集約の永続化だと思うと仕方ないのかもしれない。まずはここを改善したいが、リポジトリをまたいでトランザクションを書くのはなかなか大変だし、難しいな。もうちょっと勉強したらベストプラクティスがわかるかもしれない。
ねむい。寝る。明日も勉強。
昨日はなんか俺のオレオレDDD(と名乗ったことはない)そう間違ってはないな的なこと書いてた気がするけど、改めてちゃんと勉強し始めたら全然そんなことなかった。どう考えてもリポジトリにアプリケイションロジックがゴリゴリ書かれている。が、まあでかすぎる集約の永続化だと思うと仕方ないのかもしれない。まずはここを改善したいが、リポジトリをまたいでトランザクションを書くのはなかなか大変だし、難しいな。もうちょっと勉強したらベストプラクティスがわかるかもしれない。
ねむい。寝る。明日も勉強。
昨夜は遅くまで飲んでいて、帰ってくるまでは普通だったんだけど帰ってから急に酔いが回ってしまって死んでいた。うーん、みっともない。
そういえば昨日はDDDのことを少し勉強した。まあ本当はちゃんと原典に当たるべきなんだろうけど、そこまで真剣にDDDやりたいというよりは、DDD的な開発パターンで使われがちなアーキテクチャの具体例を知りたいという感じだし。今のところは僕がフワッとやってるClean Architecture的な設計はそう間違ってはいなさそうだけど、まだ途中なのでもっと読もう。
はあ、まだ気分がよくないし、今夜はこのまま寝るだろう。明日には元気になっていると期待したいが……。
友人たちと寿司食べてお酒飲んだ結果死んでいます。そんな飲んだ覚えないんだけど、まあ飲んだんだろうな。
夏休みの日数を数えることに特に意味がないことに気づいたのでやめます。というか9月の日数と同じだしな。
今日はリファクタリングに失敗して時間を無駄にしたりした。juniper関連のスキーマ定義を別クレートに切り出そうとしたんだけど、こいつはコンテキストとしてインフラ層にがっつり依存するので結局丸ごとついてくる感じになり、それを回避しようとあれこれ試したがだめだった。ふーむ。まあいいか。
あとは画像関連のエンティティを追加しようとしたんだけど、どうもしっくりこないので悩んでいた。これ一つのリポジトリの中でメチャメチャにJOINが発生してるけど、それってどうなんだ?こんなことではGraphQLの良さがぜんぜん生かされない(それが今回必要かはともかく)。このあたりはDDDをちゃんと勉強しないといけないのかな。読むか、夏休みだしな。
夜は会社の人と送別会をやった。わりと送別会らしく(?)会社の不満の話とかしたけど、別にそんな話がしたいわけではないんだよなと思う。まず僕はもう辞める会社なのだし、相手はまだ辞めないんだから、そんなもの聞かされても困るよね。まあ、別にいいか。何が?
明日は友人たちと寿司を食べに行くらしい。それまでは勉強。
夏休み二日目。昨日書きかけたバックグラウンドワーカーでサムネイル生成などをした。細かい設定にはいささか難があるがそれは後で詰めればよろしい。次はデータベース設計か。
と思っていたらDocker Desktopの代替を探す気分になってしまっていろいろ試していた。最初にpodmanを試みたのだけどこいつはローカルのファイルのバインドがうまくできなさそうなので断念した。あとなんかポートも開けられない?それがなければdocker-composeがフルで動きそうで期待してたのだが。
今はlima/nerdctlを動かしている。こっちもローカルファイルのバインドがうまくいってないのだが、これは最近の不具合によるもの?っぽいので様子見。バインドがない場合はdocker-compose互換のコマンドでそれらしく動くので、当座の開発(postgresを動かすだけ)には困らなさそうだ。
夕方に心療内科に行って眠剤をもらった。初診だったのですこし昔の話とかをした。この2年くらいは本当にずいぶん安定してきたなと思う。理解のある妻……が無関係ということはなかろうけど普通に仕事がいい感じに回ってたからのような気もするな。
明日は夜に送別会。有休消化期間に送別会ってのも変な話だけど、まあリモートだったらそんな面倒でもないし。リモート飲みの長所と短所がだいぶわかってきた。カラオケボックスの個室でリモート飲みをするのが一番いいのではないか。ないか。
夏休み一日目。
もう仕事しないとはいえ連絡用にまだ会社のSlackには入っており、なにかとそちらの動きが気になってしまう。というかtimesチャンネルに思いつきを書けないのが地味にストレスだが、これから慣れていくしかあるまい。たぶん新しい職場にもまた新たなtimesチャンネルができるだろうし。
昼寝をしたりRust書いたりしてた。Webサーバーのバックグラウンドワーカーをアクターモデルでやろうとして試行錯誤してるけど、どうもいまいちよい抽象化ができていない気がする。そもそもClean Architecture的な図式の中でこういうバックグラウンドジョブはどういう扱いになるのかよくわかってないし。とはいえ動き出したので、サムネ生成とかを進めていく。
明日は心療内科に眠剤もらいに行ったり図書館に本を返しに行ったりしよう。そういえば貸与されてるmacbookを返しに行ったり私物を回収しに行ったりしなくてはいけないのだが、まあそれはいいか。ワクチン接種の効果もまだ完全ではないはずだし。
8年勤めた会社の最終出勤日でした。9月は有給休暇の消化で埋めます。
何人かの人からあたたかなメッセージをもらって、ああ僕は幸せ者だったのだなと思いました。ちょっと泣いちゃった。嬉しいときに涙が出るのって何のためなんだろうな。それともやっぱり、悲しいのかな。
自分がこうありたいと思う(業務の・組織の)姿を追求して、それなりに好き勝手やらせてもらって、その様子をポジティヴに受け取ってもらえるのは、おそらくそれ以上望みようもないほどの幸運なんだろうと思います。まあ、その想いがだんだんと達成できなくなっていくという予兆を感じたから転職するのでもあるのですが……。だからまあ、愛憎入り交じった想いがあるけれども、ともあれ、僕がここで8年いろいろ学ばせてもらったこと、それはいくら感謝しても足りないなと思います。お世話になりました。
で、明日からは一ヶ月間の夏休みなんですが、何をしようかな。部屋の模様替えとかしていきたいが、それならちゃんと計画を立てて行動しないと、ボンヤリと過ごしているうちに気がつけば終わってしまっているようなことになってしまうだろう。そういう夏休み、何回もやってきたよね。とりあえず今日は一人で祝杯。
月曜日。わりと元気。昨夜悩んでいた乱数生成器の取り回しは、スレッドローカルの乱数生成器を使う(i.e. 取り回さない)ことで解決した。ただこうするとSendが消えてしまってasync fnにできなくなるので困っていたのだが、乱数生成部分をスコープで囲んでNotSendがスコープ外に漏れ出さないようにすれば解決した。こういうのが理解できるようになってきたっぽいのは嬉しい。
仕事はもう本当にほとんど引き継ぎだけをする。引き継ぎ先の人がしっかりしている人だったおかげで、どうにか必要そうな手順は全部伝えることができたと思う。引き継ぎのための手順確認なのに僕自身も一緒に「あ〜、こうなってるんですね〜」とか言っててウケる。
引き継ぎタスクもほぼ終えたので、明日はほとんどやることがない。貸与されてるmacbookのクリーンアップとかするんだと思う。
夜もRustちょっと書いたけど、わりと指の運動みたいなことしかしてない。エラーハンドリングのベストプラクティスがいまだわからない。
さてさて。
昼前に起きて、何したんだっけ。エラー処理の改善とかした気がする。バリデイションに属するロジックをドメインモデルのコンストラクタに書いてテストを追加した。たぶんいい感じ。
午後はすこしお出かけした。だいぶ前から傘が壊れていたので(といっても完全に閉じるときのベルトが留まらなくなってしまっただけだが)新しいのを買った。まだ暑い。
夜もRustを書いている。S3の署名済みURLを取得する処理は書けたが、その周辺で少し手間取っている。乱数生成器をうまいこと取り回すのはどうしたらいいんだろう?
少し調べごとして寝よう。あと2日か。引き継ぎ会も最終回のはず。
昨日死んでたわりには今日はわりと元気だった。Rust書いた。足りてなかったテストを追加したのと、けっこう大規模にリファクタというかモデルの構造を変えた。そのせいで5000行近くあるテストコードもちまちま直さないといけなくて大変だったが終わった。正規表現置換とかやればよかったのかもしれないが。
明日は散歩する。コードも書きたいけど。