icon

ログボ

icon

@kamisuke おはよう、王

icon

@mitarashi3799 おはよ!

icon

@nakkaa あ、ないね……。用意するわ。

icon

@oino729 自分以外のフォロワー限定、ダイレクトはブーストできません。

公開と未収載、自分のフォロワー限定をブーストできます。

icon

@shiosyakeyakini じゃあfedibird.comとかにも入れるよー。

2023-10-19 08:55:58 画眩の投稿 ggagen@pawoo.net
icon

このアカウントは、notestockで公開設定になっていません。

2023-10-19 08:56:00 画眩の投稿 ggagen@pawoo.net
icon

このアカウントは、notestockで公開設定になっていません。

icon

@shiosyakeyakini どのサーバからでもMiriaの話題するもんねー。Misskeyのアプリいいのある? って話するときとか、アイコンつけて紹介したり!

icon

@syuilo Fedibirdは20個までグループ化・集計済みのキャッシュ持たせてあって、それで全部済ませてて、21個以上はリアクション一覧をとる別APIで取得したときだけ取得できるようにしてるよ。

status_statっていうstatus本体とは別のテーブルがあって、フィールドが多くて追記されたら更新されることがあまりないstatusesに対して、件数のキャッシュとかリアクションのキャッシュのように頻繁に更新する情報を持たせるstatus_statとわけて管理してる(この分け方は本家由来)

icon

@___sgrk___ iPhoneなら集中モードっていう機能があって、カスタムもできるけどとりあえずプリセットに『パーソナル』ってのがあるからそれを使って、通知を許可する連絡先やアプリを指定しておけば、他の通知は来ないようにできるよ。

で、時間でパーソナルが有効・無効になるようにしたり、場所で会社から離れたらパーソナルになるようにするとか切り替える方法もいろいろある。

調べてみるとイイヨ。

icon

@syuilo Mastodonはユーザー別のホームとリストをそれぞれRedisにOrderedSetで800件保持して、大小比較可能なStatusID(SnowflakeID)をscoreにしてソート状態で、StatusIDやブーストのStatusIDを値にして持たせている。

新規投稿をフィードするときは、OrderdSetにまず追加して、それを800件にトリミングすることで件数を維持してる。

誰かをフォローしたらそれをOrderedSetにまとめて追加したり(タイムラインにその人の過去投稿が一気に追加される)、解除したら削除したり、という処理を行っている。

ホームやリストを取得するときは、RedisからIDだけ取り出して、DBからそのID使ってデータ本体を取り出す手間をかけているんだけど、ここで削除済み投稿を外したりミュート・ブロックやワードミュートなどのフィルター処理をする。Redisにキャッシュした時点とは状態が変わっている可能性があるので、40件の取得なら40件単位でこの処理だけはDBとサーバ側コードでやってる。

icon

RedisはただのKey-Valueのメモリキャッシュじゃなくて、データ構造とアルゴリズムがいろいろあって面白いし、それが役に立つ。

Elasticseachもそう。

複数の性質の異なるデータベースを組み合わせるの、大変だけど面白いんだよねえ。

icon

存在がコロコロ

icon

@noppe いけちゃまずいよねってことになってるので、まもなくふさぎますーw

icon

人数いっぱいいる場所って怖いなあ(何か見たX)

2020-11-17 14:26:10 のえるの投稿 noellabo@fedibird.com
icon

ミッキーじゃなくてミスキーだ

2023-10-19 22:11:04 noppeの投稿 noppefoxwolf@mstdn.jp
icon

このアカウントは、notestockで公開設定になっていません。

2023-10-19 22:14:03 noppeの投稿 noppefoxwolf@mstdn.jp
icon

このアカウントは、notestockで公開設定になっていません。