FoxTail

Misskeyのいろいろなものを別の言語で再実装してみてる話

12/21/2024 に公開

この記事はMisskey Advent Calendar 2024 21日目の記事です

← 20日目の記事 | 22日目の記事 →

Media Proxy for Misskeysummalyをいろんな言語で再実装してみてる話です。駄文ですが許してください

もともとはAPIラッパーの話をしようと思ってたんですが、色々問題が起こりすぎて間に合いそうになかったので変えました

何で作ったのか

特に理由はなかったりします ただ作ってみたかったからっていうのが理由です (ちなみにsummaly-pyは初期はsummergoを無理矢理Pythonで動かすだけのお遊び的な実装でした)

ちなみにsummalyとMedia Proxyだとsummalyの方が実装が面倒でした

media-proxy-goはGoの勉強のために作ってみました (微妙なので使うのはおすすめしません)

発生した問題など

summaly-py

最初から殆ど問題はなかったかもしれません 強いて言えばcontent_length_limitがNone (null)な場合にエラーが返ってくるくらいです

media-proxy

media-proxyは初期に使ってたライブラリのPillowだと大きな画像を処理できずにエラーを返してくる問題がありました。 (#1)

結局本家で使われているSharpと同じlibvipsを使うpyvipsを使うようにしたら解決して少し早くなったような気がします。

GIFがおかしくなる問題は結局GIFはそのまま返すようにして無理矢理解決しました。

media-proxy-go

多すぎて覚えてない 横長の画像をリサイズすると押し潰される

作ってみた感想

  • summaly-pyは使ったことのないXPathを書いていて少しだけ大変だった
  • media-proxyは最初は大きいメディアを処理できなかったり問題が多かった (改善済み)
    • GIFは未だにバグるので処理できない
  • media-proxy-goはWindowsでは使えない

ゴミみたいな感想ですね

最後に

記事を書いてたら足の力がだんだん入らなくなってきました。助けてください

記事を書くのって大変ですね

Repos

media-proxy

media-proxy-go

summaly-py

この記事を共有する