Profile img

AmaseCocoa

@cocoa@hackers.pub · 16 following · 17 followers

I maybe use Engrish in this account

Pythonista/Author of apkit. An Modularized ActivityPub Toolkit.

main (Iceshrimp)
@AmaseCocoa@i.amase.cc
YarukiNotFound
amase.cc
Zenn
@amasecocoa
2
6
1
1
1
1

あとはapkit側で統合する場合にミドルウェアタイプだと追加でルーターを生やす必要が出てきてそれだとオーバーヘッドになる可能性があったっていうのもある

1

わざわざこんなことするのには理由があって、結局フレームワークと統合するにも今のアプローチだと限界があるっていうのが1つの理由 (今の方法だとその新しいフレームワークの方法 (FastAPIみたいにStarletteベースにする)よりも統合が弱くなる)。もう一つはapkitだから別のプロトコルに対応させるのは明らかに変だっていうこと。まぁ後者はATとかサポートするか怪しいから適当

2

apmodelとapsigの上に構築されたapkitの上に構築されたStarletteをベースとしたActivityPubフレームワークっていうとんでもなくわかりにくい書き方のものが生まれそう

まぁ正しく言うならFediverseフレームワークみたいなものになるけど

名称自体もap系ではないし落ち着いてきたら複数のプロトコルをサポートするようにしたい

3

apmodelとapsigの上に構築されたapkitの上に構築されたStarletteをベースとしたActivityPubフレームワークっていうとんでもなくわかりにくい書き方のものが生まれそう

2
3

もとにしたプロンプトは日本語だけど簡単に置き換えできるし一応言語の部分書き換えれば普通に別の言語のも作れると思う。ただdocs/index.mdだけ手動なのでそれは自分で直さないといけない (そもそもファイルの内容を翻訳したうえでこっちで一部置き換えてるのでAIの翻訳対応させる気にならないし面倒くさい)

1
4
1

あとはこれがないのか気になった理由は自前の実装が機能の有効/無効を切り替えたり拡張性を持たせたりするつもりでどうしても同じ実装でも利用可能な機能に差異が出る可能性があったから

0

というかこれは機械がどの機能をサポートするか把握するためだけのだったので説明とかはなくて結局劣る

表現が接頭辞から始まるのは特定の実装由来の機能だとしてどう表現するべきかって悩んた結果

1
1
1
1
1

feature-info?

まぁこれはnodeinfoのmeta使ってある程度決まったjsonを埋め込むようにすれば良さそうだけども。

こんな感じにするとか?

[
 "fep:8b32",
 "rfc:9421",
 "protocol:activitypub"
]

@cocoaAmaseCocoa @hongminhee洪 民憙 (Hong Minhee) :nonbinary: sorry to reply in English, but yes, there's a few FEPs along these lines, but technically you don't need nodeinfo for AP, so you wouldn't passively discover this information, unlike detecting certain properties in json-ld objects over activitypub. Feature discovery can be hard too because what features you think they have (cached) might not be the features they actually have at present, or if you're upgrading from version 1 to version 2, and you have multiple backend servers with a load balancer, you might get unpredictable results from nodeinfo as the update rolls out (e.g., node 1 gives new feature, node 2 & 3 gives old feature, you'll only get new feature 1/3 of the time and your old nodes won't be able to immediately handle new feature until you roll out the update to all nodes, which would cause unpredictable behaviour)

1
1
0
1
1

feature-info?

まぁこれはnodeinfoのmeta使ってある程度決まったjsonを埋め込むようにすれば良さそうだけども。

こんな感じにするとか?

[
 "fep:8b32",
 "rfc:9421",
 "protocol:activitypub"
]
3
3
0
0
0
1
2
2
1
0
2
2
4
0
0
0