andante

2023-01

0121

そういえば昨日書きそびれたのだけどTwitterがサードパーティ製クライアントを禁止したらしい先日からTweetbotやその他のクライアントが動作しなくなっていたのはそのせいらしいのだが昨日になって開発者利用規約が更新されたとのことこういう完全な後出しが道義上許されるわけがなくやはり現経営陣は狂ってんなと思ったバージョンアップを重ねながら10年以上使っていたTweetbotをアンインストールした
こんなことがあったので早くTwitter2いつまでそんな名前で呼ぶんだを完成させてfediverseのほうに移らねばと思うやれやれ

Twitter2仮称の進捗はあまりよくないすこしずつリファクタもしつつDBアクセスなどもできるようになりつつだがまだフォローもできないActivityStreamsの仕様は自由すぎてまともに型がつけられないからそこはMastodonと連携できればいいやと割り切って実装するしかなさそうだうーんスキーマレスなDBだったらこういうのもっと雑にできるのかそんなことないか
どうでもいいけどドメインモデル貧血症だなあという気がする基本的には単純なCRUDしかないのでロジックなんてそもそもそんなにないのだが

夜は回転寿司を食べに行ったけっこう満足した


寝ます

0122

忙しいいや忙しくはない眠いやることが多い日の常として変に早くに目が覚めてしまい寝不足だった少しだけ昼寝はした

ギターの練習をしたコードチェンジから逃げないしばらくはちゃんとメトロノームで計りながらコードチェンジを練習するようにしよう

Twitter2はDomain Driven 盆栽フェーズに入ってしまったユーザーのフォロー関係はどのレイヤでどう扱うべきみたいな自明に多対多関係なのでインフラ層では中間テーブルが生えることになるがドメイン層に対応するエンティティはあるのかとか集約
半日悩んだがどうにかそれらしい形を見つけられたような気がしているただまだ抽象的な型定義だけで実装はできていないこれはけっこう馬力がいる気がする


寝るまたまだ夜更かしを……

0123

1230 >> 1;


すごい寝不足で眠かった二時半まで起きてれば当然だ

Twitter2の進捗は目立ったところがない結局盆栽はまだ続いているがようやくいくつかの悩みに結論が出つつあるから明日には進むのではないかと思うところで暫定的であるにせよプライマリキーを文字列にしたのだけどこれはパフォーマンス上の懸念になり得るよなあと思い悩ましいオブジェクトIDからプライマリキーを引くための呼び出しコストとオブジェクトID自身をプライマリキーにするコストならどっちが大きいんだろうか

夕方に病院に行った順調に回復しているとのことしかし火傷を負ってからもう一ヶ月が経つことを思うと火傷って怖いのだなやれやれ

0124

日付だけ覚えてたって意味なんかないよ


Twitter2の実装ようやくフォローリクエストに応じることができるところまで来たしかしアンフォローには対応していないというかActivityStreamsの理解がすこし誤っていてフォローリクエストとフォローには区別がなくアンフォローとフォローリクエストの取り消しにも区別がないのですこし実装を直さなければならないでもとりあえず形にはなったから大きな前進だ
SeaORMは使いづらい単にチュートリアルが不足しているという話ではあるけれどまあでも素直にsqlxでクエリを書き下すのとどっちがいいのかというと微妙ではあるないやDBエンジンに依存しない形で書いておけばテストはしやすくなるかまだテスト書いてないけども


寝ます

0125

最近肩こりが一段とひどくなった気がするギターのせいかううむ

Twitter2は今日はほとんどコードは書いていない昨日書いたところを修正する必要があるので方法を考えていたなんとか紙の上ではうまくいきそうな気がしてきたがやってみないとわからない

ギターの練習はコードチェンジから逃げるな週間CとGそれからEとAとDを順番に弾いているこの中だとCが難しいDもか他のはわりと適当にやってもなんとかなるがCとかDはごまかしが利きづらい


少し早いが寝ますちょっとだけマンガ読む

0126

実装が〜〜〜進まん
フォローとフォローリクエストを受けてどう振る舞うかは実装できたとと思うこちらからフォローするためにはリクエストに署名する必要があるそのためにはリクエストを送る各々の場所にアカウントの秘密鍵を引っ張ってくる必要があるがそうするとリポジトリの定義にアカウントがついて回ることになってそれはかなり外側の事情に振り回されてる感があってイケてないなと思ううーむまあ妥協するしかないか
明日こそはフォローできるようになりたい……


寝ます

0127

縦の糸はあなた 横の糸は私 任意の糸はあなたと私の線型結合で表すことができる


仕事はなんか3日くらい取り組んでいた技術的課題を解決するなどした完全な解決とは言えないけれどかなりよくなったと思う解決してしまえばずいぶんシンプルなことをできずにいたのだなと思うがそれはまあAWS関連は専門外なのだし仕方ないかとも思えるこうして学んでいけばいいさ


友人たちとAIアートインポスターをやったワードウルフにAI画像生成を挟んだみたいなやつゲームバランスは微妙だなと思ったがけっこう盛り上がったただ僕は嘘をつくのが下手嘘をつくのと思わせぶりなことだけ言うのが下手


寝るもうちょっとだけ起きてる

0128

昼に起きボンヤリとコードを書いたDDDライクにコードを書くのも三回目くらいなので以前よりいい感じにできている気がする具体的にはドメインモデルにロジックを寄せるということができているような気がするがまあそれが本当に優れた実装なのかはまた別の問題だ
大規模なリファクタを経てこちらからMastodon上のアカウントをフォローできるようになった嬉しいしかし向こうからこちらをフォローしたときの挙動は不完全であるようだどうもMastodonはフォローリクエストに対してそうできる場合でも即座にAcceptレスポンスを返すのではなく後からinboxにAcceptを投げるようになっているらしくこちらもそれに合わせる必要がありそうそれってつまりバックグラウンドジョブを動かす必要があるということだけどまあそれは以前何かでやったことあるからそれで大丈夫であろうたぶん


寝ます

0129

Twitter2をリファクタというか再構築してクレートを分割してワークスペースにしたこれでだいぶDDDというかClean Architectureっぽくなるなると何が嬉しいというわけでもない別にすべてをClean Architectureあるいはその他のごついアーキテクチャで作るべきだと思っているわけではないが趣味開発の時くらいこういう素振りをやっておかないといざという時のための筋力がつかない
これでいよいよ本格的な実装に入れるかと思ったがドメイン層の設計にまだ悩んでいる少なくとも一部のドメインエンティティはCloneを実装すべきではないのではないかムーブセマンティクスと併用すれば変なロジックを防げるとと思われるが好き勝手にcloneできたらそれが迂回できてしまう気がするうーむその路線がどのくらいうまくいくのか試してみるかこんなことしているから全然完成しないのだ


寝る

0130

最近夜更かし癖がついていて良くない別に最近とかではないかもしれない

リファクタを繰り返しているリモートアカウントとローカルアカウントの判別ロジックをドメインに持たせると辛みが生じるので外側に移している一番外側までは連れて来られたのであとはよしなに共通化するアプリケイションの設定に依存する部分なので何らかのインジェクションが必要になると思われるがそこのところをエレガントに書く方法はまだ思いついていない


寝るぞ