コンテンツにスキップ

2025-02-26

最終更新日: 2025年 2月 26日

Affine 新バージョン出てる

早速試してみた。モバイル端末でキーボードが出てこない不具合が解消されてるっ!

GUI + API付きのDNSサーバー

ホームラボでパブリックに公開しているサーバは、いったん外に出てから帰ってくるっていう、無駄なトラフィックになっている。
これを解決しようとすると、ホームラボにちゃんとDNSを立てないといけない。
モダンなやり方を調べてみた。

SUPABASE

Firebaseのセルフホストが可能になる。
こういう基盤部分は、自己完結したい。

IT自給率

自分の手が届かないところにあるリソースに依存しきるのは、なんか府青なんだよなぁ。
大きい目線としては、外資クラウドばっかり使っていると、安全保障上の問題あるような気がする。

Exif一律削除

svgの可読静を高めるフィルタと、exifを削除するフィルタは、そのうち入れようと思う。

git commit時にjpeg画像のexifを一律に削除するgit hookを設定する方法を教えて

以下は、コミット時にステージされたJPEG画像からExif情報を削除するためのpre-commitフックの例です。以下の手順で設定できます。

1. 事前準備

ExifToolのインストール このスクリプトはExifToolを利用してExif情報を削除します。

  • macOS:brew install exiftool
  • Ubuntu/Debian:sudo apt-get install libimage-exiftool-perl
  • Windows:ExifTool公式サイトからインストーラを入手してください。

2. pre-commitフックスクリプトの作成

プロジェクトのルートディレクトリ内の.git/hooks/フォルダに移動します。
pre-commitというファイルを作成(または既存のファイルを編集)します。
以下の内容をファイルに貼り付けます。

#!/bin/sh
# ステージされた変更ファイルからJPEGファイルを抽出
files=$(git diff --cached --name-only --diff-filter=ACM | grep -Ei '\.jpe?g$')

if [ -n "$files" ]; then
  echo "JPEGファイルのExif情報を削除中..."
  for file in $files; do
    # ファイルが存在するか確認(削除された場合の対策)
    if [ -f "$file" ]; then
      # ExifToolでExif情報を全削除(上書き保存)
      exiftool -overwrite_original -all= "$file"
      # 変更後のファイルを再度ステージに追加
      git add "$file"
    fi
  done
fi

exit 0
ファイルに実行権限を付与します。 例: chmod +x .git/hooks/pre-commit

3. 動作の確認

  • JPEGファイルをコミット対象に追加し、コミット実行前にフックが自動的に実行され、Exif情報が削除された上で再度ステージされます。

この方法により、コミット時にJPEG画像のExifデータが一律に削除されるようになります。必要に応じてスクリプトをカスタマイズして、処理対象のファイルの種類や除外条件なども調整してください。