完全に理解した
このアカウントは https://misskey.io/@syuilo に引っ越します
---
Author and project lead of #misskey.
Misskeyの作者。主人→@AureoleArk
好きなこと: 近所を散歩すること、写真を撮ること、眠ること
最近はお菓子を食べることも好き
#misskey #藍ちゃファンクラブ #DTM #BitwigStudio #写真 #アズレン #わーーーーーーーーーーーーーーー #web
Because I can not understand English, I may not be able to answer questions.
This account is not set to public on notestock.
私はMisskeyのデータベース吹っ飛ばした経歴があるのでdatabase removal specialist
インスタンスを作成した際に、初めて起動する前に
npm run init
してデータベースを初期化する手順が追加されたThis account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
昔OS再インストールしたときからPhotoshopとかも消えたままでインストールもめんどいので最近はペイントかGimpしか使ってない
This account is not set to public on notestock.
たまにツイートの無断転載やめろという人いるけど、リツイートという無断転載機能が公式にあるのに… それは良いんだろうか
@ac@twista.283.cloud だから私は欲しい曲があったらまずCDで発売されてないかチェックする 中古があれば中古で買う
iTunesとかで買うと高いうえに圧縮されてて音質悪いしあまりメリット無い
iTunes限定販売とかならしょうがないけど...
@reijubot Welcome to ヨォドォバァシィカァメェラ。亲爱的顾客朋友、你们好。衷心欢迎您光临友都八喜。友都八喜是日本著名的大型购物中心。精明商品将近一百万种、数码相机、摄像机、名牌手表、名牌箱包等应有尽有。最新的款式、最优惠的价格、最优质的服务。
@reijubot Welcome to ヨォドォバァシィカァメェラ。亲爱的顾客朋友、你们好。衷心欢迎您光临友都八喜。友都八喜是日本著名的大型购物中心。精明商品将近一百万种、数码相机、摄像机、名牌手表、名牌箱包等应有尽有。最新的款式、最优惠的价格、最优质的服务。
This account is not set to public on notestock.
マイクロソフト純正のリモートデスクトップアプリ、ゲームがiPadで動いてるんじゃないかってくらいスムーズにできてすごい
This account is not set to public on notestock.
🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏
家帰ったらPostgres型Misskeyテストする
This account is not set to public on notestock.
@osapon@mstdn.nere9.help 次のアップデートでHTMLのMetaタグに各種IDをセットするようにしておきますね
今言われて気づいた
RE: https://misskey.xyz/notes/5ca4a436f6ef6b0039fe062d
Misskeyのチャートエンジンのテストを追加した
チャートエンジンは日時が絡む処理なのでテストは難しそうだと思ってたけどJavaScriptのDateを偽物にすり替えて時間を自由に操作できる便利ライブラリを発見したことによりテストできるようになった
@mei23@misskey.m544.net 初回TL読み込み時に一番最後の投稿のIDを次回のページネーション時に untilId として使うように設定していた記憶がある
だからTLを取得してしばらく経つと、その間にストリームで新しい投稿が流れてきて初回で読み込んだ時の投稿は切り捨てられることになって、遡った時にその消えた投稿がすっ飛ばされることになるから(untilId は初回読み込み時の時に設定したままだから)、途中が消えて取得されることになるのだと思う
@rinsuki@mstdn.rinsuki.net そういうの気にする運営者なら別のID生成方式にすれば良さそうだし
@rinsuki@mstdn.rinsuki.net 19xx年のものを2000年ということにしてもさほど問題は発生しなさそう
@mei23@misskey.m544.net もしくはここを false にしておくと起動したときにデータベースとスキーマの同期が行われなくなるので、配列が初期化されることがなくなるかも
https://github.com/syuilo/misskey/blob/pg/src/db/postgre.ts#L93
@mei23@misskey.m544.net プロセス再起動したらそのたびに手動でデータベースを初期化するか、ここを強制的に true にしておくと自動で初期化してくれるかもしれない
https://github.com/syuilo/misskey/blob/pg/src/db/postgre.ts#L94
@foxhkron@cybre.club @succfemboi@iscute.moe That image is a joke. Misskey will continue to use Node.js.
@mei23@misskey.m544.net TypeORMのバグで、Misskeyプロセスを起動するたびにデータベースの配列型カラムの内容が初期化される問題があるけどそれに関係してそうな気がする
This account is not set to public on notestock.
あれ、秘密にするんじゃなかった?
RE: https://misskey.xyz/notes/5ca2c3a40c61030032c39706
アプリがあるサービスのIDの生成方式について感知してそれに依存するプログラム書くのはどうなんだろうというのがある
@mei23@misskey.m544.net 10から移行するインスタンスはほぼみんなObjectID方式に切り替えると思う 新しく作られるインスタンスでだけ新しい生成方式が使われそう
misskeyのIDは「文字列であり、アルファベット順で大小の比較可能である」という共通する点だけを仕様とすればサードパーティアプリでも問題ないと思う
現時点でMisskeyのIDがObjectIDであるという前提でプログラムしてるアプリってなさそうな気がするので
@mei23@misskey.m544.net オプションで切り替えられる案ダメ?複雑にはならないし手間もかからないと思うけど
設定ファイルで legacyId とかを有効にするとObjectIDで生成されるようになる
ObjectIDも時刻順でソート可能なのでプログラムの動作に影響することは無いはず
ulidなどの生成方式だとミリ秒単位が同じでもそれに加えランダムなノイズが加えられているのでそれぞれ区別できる
ulidを元にしたようなデザインで、時刻情報が埋め込まれてアルファベット順にソート可能な独自のID生成方式にする
つまり、以降ユーザーは送信時やリプライ先として明示するときにも旧IDを使う必要が出てきて、あっちこっちで永遠に新旧分岐をすることになっちゃうわそこまでプログラムが複雑になるとPostgreSQLに移行する意味がなくなってしまう
This account is not set to public on notestock.
@mei23@misskey.m544.net 運営者的にはこの3択かしら
* マイグレしない
* マイグレする(federation無し)
* マイグレ+ドメイン変更する(federation有り)
TODO
* IDの仕様を確定させる
* リプライの仕様を確定させる
* テストする
* マイグレーション書く
* 破壊的変更などのドキュメントを書く
* リリースする
* マイグレする
* ✌️(´・_・`)✌️
あと最近は長期開発によりデータベース上のスキーマが一致しないことが多くなってきて、それによってプログラムの書き方を少しトリッキーにしなければならず生産性が低下してきていた
そこでリレーショナルデータベースにしてスキーマをきっちり定義しなおして自然にプログラムを書けるようにしたいという思いがあった
あるコミットでObjectIDに起因する問題が露呈し、あーーーーーもうこうなったらPostgreSQLにしてやる となった
MisskeyをPostgreSQLにしようと思ったきっかけは、かねてから村上さん(や他の運営者)に圧力をかけられていた村上さんの運営の負担を少しでも減らしたいと思っていたのと、あるコミットでObjectIDの扱いが面倒だというのを再認識したのが決定的だった
Misskey v11で不具合がないかテストしてくれる方募集中
私はそのうちオンラインでv11のテストサーバー建てる予定だけど
例のツイート、プログラムで日付書き換えたとか言われてるけど、Twitterに詳しい人なら分かると思うけどツイートの日付を変更するAPIなんてないので本当にあのツイートは3年前にされたものでしょう
This account is not set to public on notestock.
https://wired.jp/2019/04/01/https-isnt-always-as-secure-as-it-seems/
ウェブサーヴァーが気になりすぎて記事の内容が入ってこなかった
This account is not set to public on notestock.
Misskey v11へのID引き継ぎ方法を検討中
1. IDの形式を互換性のあるもの(つまりObjectID)にする
せっかく新しいシステムになるのに古い形式を使い続けるのはうーん
2. ユーザーそれぞれ新しいIDに加え内部的に古いIDも保持しておき、ActivityPubのリクエストでそっちを参照されても大丈夫なようにする
これはどうだろう
This account is not set to public on notestock.
@Hekovic@gyutte.site 少なくとも投稿とユーザーは移行できるようにしたいと思ってます。
フォローはリモートのことを考えると難しいかもしれないので、移行前にフォローリストをあらかじめエクスポートしておいていただき、移行完了後にインポートしてもらうといった感じになるかもしれません
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.