2022年 3月 の投稿一覧

[GitHub] Git LFSで巨大なファイルを扱う

Gitでバイナリや巨大なファイルを扱う場合に活躍するのが「LFS(Large File Storage)」。
詳細な説明は様々なページで行われていますので、今回はGitHubの利用を前提とした基本的な使い方についてだけまとめておきます。

簡単に言うとLFSを利用するとファイルの実際のデータは専用のストレージに、リポジトリ内部には200byteにも満たないハッシュ値等を保存することでリポジトリを軽量化することができるという仕組みです。

Gitはバイナリファイルに更新がある度に全データがリポジトリに保管されるため油断しているとあっという間にリポジトリが肥大化してしまいます。またGitHubでは通常100Mbyte以上のファイルをpushすることができません。それに加えリポジトリのサイズは1G程度が推奨されていることから「LFS(Large File Storage)」が必要とされているというわけです。

続きを読む

[macOS] Brotli形式で圧縮・解凍する

Brotli」はGoogleが開発したファイルの圧縮形式で、主にWebサーバとの間の通信量を削減する目的で利用されています。gzipの後継的な位置づけで圧縮率もgzipより高くすでに主要なWebブラウザで対応済みのため今後徐々に置き換わっていくことが予想されます。

で、通常はWebサーバなどにモジュールを追加などして利用するわけですが、今回はmacOSのTerminal上で利用してみます。結論としては以下の通り。

圧縮 (file.txt.brが生成されます)

$ brotli file.txt

解凍 (file.txtが生成されます)

$ brotli -d file.txt.br

続きを読む