Avatar
Neos21 @ Nostr
046284c5d3cc859f58b1ff58d2bdbf22eb6f41a633e97f503a569cc1fe886322
どうも Neo です。

マストドンもどき、ふぁぼりまでが出来るようになったのでおしまいにします。おつかれした!

https://github.com/Neos21/neos-activity-pub/

リモートユーザのフォローまではできるようになったから、あとはふぁぼれるようにしたら止めようかな。

タイムラインの作り方はマジで分からない。

多分中はネイティブだろうから「Node.js だから遅い」って言うつもりはないけど、なるほどあちこちで負荷がかかるもんなんやなと理解。

リクエストヘッダ署名の部分、Node.js だと node:crypto 使う実装が紹介されてるけど、これ頻発すると重そうだね

なるほど Inbox への POST は必ず署名要るんだな…。Mastodon よくこんなめんどくさい実装で動いてるなぁ

ActivityPub、フォローを受け付ける時だけじゃなくて、フォローをリクエストする時の Inbox POST にも署名必要なのか?

段々とローカルでは動作確認ができなくなってきた。ActivityPub のやり取りで HTTPS 通信じゃないといけないところがあって、

多分これで動くやろっていうコードを OCI にぶん投げて動かしてる

マストドンもどき、ようやくローカルユーザのフォローができるようになった。

https://neos21-oci.ml

https://github.com/Neos21/neos-activity-pub/tree/develop

各投稿に紐付けて「この投稿にいいねしたユーザはこの人」っていう持ち方をしようとすると、リモートの投稿の扱いがキツいよね

ユーザが Like したノート ID はコレ、という持ち方、

つまり「あなたのいいねした一覧」ページみたいなデータの持ち方をするのが良いのかな

フォローはログインユーザに紐付けてフォローした人を記録すればいけど、

「いいね」はリモートサーバのトゥートな場合もあるから、どうやってデータ持つのがいいのか悩ましい

あーーーフォローとかいいねとか実装するのめんどくせぇなぁああああ

例えば最初に Python や PHP で作ってたら、Node.js にでもした方が速くなりそうだって思う気はする。

全然まだ途中だけど、ちょっとしゅいろさんの気持ち分かるかもなぁ。バックエンドでやってることが多すぎて、Node.js で作り込んでいるのが果たしてパフォーマンス的にどうなのか、ってのは気になってくる。

安易に Rust で作り変えれば早くなるとは思わないし、Node.js や TypeScript に悪いところはないと思うんだけど、何となく。

何度も言ってるけど SNS を作って運営する気はないんだけど、

Mastodon とおしゃべりできる鯖を作りたい欲はあるので、

結局 Mastodon 相当の機能を自分で実装することになりそう

Twitter や Mastodon なんかはこの辺の Opacity あげてふわっと表示させるのを頻繁にやってる

Iris なんかは全然そういうのやってない