_capella.txt

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

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

    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

    https://github.com/AmaseCocoa/media-proxy

    media-proxy-go

    https://github.com/AmaseCocoa/media-proxy-go

    summaly-py

    https://github.com/AmaseCocoa/summaly-py