はじめに 業務で携わっているプロジェクトで、ユーザがアップロードした画像の容量をサーバサイドで小さくしたい要件がありました。あまり経験のないことで、調べるなかでいろいろ学びがあったので記事に残します。 画像の圧縮処理をするコードサンプル 圧縮処理のサンプルコードは以下のとおりです。今回圧縮対象としたのは jpeg と png のみです。実装には Go 標準の image パッケージとそのサブパッケージである image/jpeg と image/png を使用しました。Go のバージョンは v1.20.3 です。 nfnt/resize を紹介している記事がいくつか見つかりましたが、2023/04/09 現在メンテナンスが行われておらず、リポジトリもアーカイブされているようなので採用を見送りました。 package main import ( "fmt" "image" "image/jp