Timeline

短い技術メモの積み重ね。3〜10行の小さな発見を記録します。

Docker CI/CD

Docker のレイヤーキャッシュを意図的に破棄する

Docker ビルドでは COPY / ADD の手前に ARG CACHE_BUST=1 を置き、
docker build --build-arg CACHE_BUST=$(date +%s) で実行すると、
それ以降のレイヤーキャッシュが常に破棄される。

パッケージ更新を確実に反映したいときに便利。
コンテナイメージのビルド時に apt-get update を毎回走らせたい場合に特に有効。

read more →
CSS フロントエンド

CSS の :has() で親要素を選択する

.card:has(img) { ... } で画像を含むカードにだけスタイルを当てられる。
.form:has(:invalid) .submit { opacity: 0.5 } でバリデーションエラー時にボタンを半透明に。

JS で DOM を走査していた処理の大半を CSS に置き換えられる。
:has() の引数には相対セレクタを使えるので :has(> img) のような直接子指定も可能。

read more →
Git tips

git rebase --autosquash で fixup を自動整理

git commit --fixup=HEAD で直前のコミットに対する fixup が作れる。
git rebase -i --autosquash HEAD~5 で fixup が自動で正しい位置に並び、
pickfixup に変更される。手動で並べ替える手間がなくなる。

git config --global rebase.autoSquash true で常時有効化を推奨。
コミットをきれいに保つ習慣づくりに。

read more →