新しいものを表示

オレンジのこの話、おもしろい部分に穴があるからそこを突いたツッコミしてくれる人が現れたらすごくおもしろい><;(その穴の先はちゃんと考えがまとまって無いから、議論しながら考える事ができそう><)

"アップロードの"特にサイズに限るのも状況に依存した発想で、汎用性に背を向けた、抽象化とは逆の発想かも><
「マストドンのファイルのやり取りに限った話にせずに、汎用的なファイルの許容ポリシー記述規格(?)を作るべき」ならわかるけど><(それはたしかに下の層ではある><)

orange さんがブースト

マストドンがインスタンスポリシーなどをAPIで提供して、他にも色々処理させたいなら上層でやれば良いのでは。マイトドンの各種いろいろまでhttpでやれとか言うキチガイだろうし。さっきのはアップロードの話に絞って考えていたから。

・・・って括弧無いの記述を考えるとますます下のレイヤに直接実装するとぐちゃぐちゃになるしアレかも><

途中で蹴った方がいいけどその上で蹴られるかを知る方法が投げるまでわからないのは、マストドンのAPIのレイヤで考えて親切ではないというかなんというかだよね><
(サイズだけじゃなく、他のポリシーの情報も投げてもいいかも>< アスペクト比が極端なものは受け入れないとか><(勿論クライアントは必ず全てを読む必要は無くて、あんまり無駄に投げたくないと思ったら対応すればいいかも><(蹴られた時の理由の統計をとるのもいいかも?><)))

orange さんがブースト

死ぬほどでかいファイルに関しては、鯖側でも途中で蹴ったほうがいいだろうなあ。nginxで設定してる人もいるけれど。

orange さんがブースト

バリデーションの話はともかくとして、通信量やアップロード時間的に先にリサイズしておきたいし、ものによっては許容サイズ以上に小さくしてから上げたい人です。iMast便利。

これっぽさ・・・>< -- API to get server constants (toot length, ...) · Issue #4915 · tootsuite/mastodon · GitHub github.com/tootsuite/mastodon/

orange さんがブースト

API to get server constants (toot length, ...) · Issue #4915 · tootsuite/mastodon github.com/tootsuite/mastodon/

よくわかんないけど、例えばどこかのうっかりさんが「gif動画をマストドンに載せよう!><」って数百GBのファイルを投げつけて数時間後に鯖に「ファイルは受けとりました。でも大きすぎるのでのせられないです」って言われるのがスマートなの?><
(あくまで例で、実際は限界以上流れたら切ればいいから許容する容量が通信速度に対してとても小さいのならばアレだけど><)

orange さんがブースト

アップロード可能サイズを見て、マストドンクライアントがそれに合うように自動でリサイズすれば良い、という話なら、まあ勝手にやったら良いのでは。
私がアップロード可能サイズは下層で処理すべきって話は、 mstdn.nere9.help/@orange_in_sp の「一方で、リサイズしないとアップロードできないのに、そのアップロードできないファイルを受け入れて」の部分に反応した。

orange さんがブースト

Mastodonのアップロード周り、画像はリサイズしてたりgifはmp4に変換してたりするんだけど、変換後に8MBを超えていてもだめで、それでも元ファイルが大きい時と同じエラーを返すのは控え目に言ってげふんげふん

実際にファイルを投げる前に「必ず蹴られるファイルであるか?」くらい知りたいのっておかしな発想では無いはず・・・><(その上で「だいじょうぶかと思ったけどやっぱダメだった」はしょうがない><)

画像のリサイズの話をしてけど、たぶん気づかれてない・・・・・><

つまり上の図 かつ 下の図でなければ矛盾するし、複数の下層を意識するなら互換の為の層なり規格なりが必要かも><

「下のプロトコルに依存していい」と「下の何らかの仕様には依存すべきではない」は矛盾する意見だし、共通化の為に仕様を下の層で整える事を要求すべきと言ったら、matzがWindowsがUNIXになればいいって言ってたのと同じかも><

例えで言うなら(層はちがうけど)UUCPとか伝書鳩でもいいけど><

少し強引だけど、下の図のAndroidとiOSの部分に代わりに例えばhttpとftpとか入れてみてほしい>< オレンジが「下の層に依存するな」っていってるのはそういう意味><

古いものを表示
:realtek:

思考の /dev/null