<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>MEMOSQUARE</title>
        <link>https://memosquare.pages.dev</link>
        <description>短い技術メモの積み重ね。3〜10行の小さな発見を記録します。</description>
        <lastBuildDate>Sun, 14 Jun 2026 03:34:45 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>ja</language>
        <copyright>All rights reserved 2026, yuuki</copyright>
        <item>
            <title><![CDATA[Docker のレイヤーキャッシュを意図的に破棄する]]></title>
            <link>https://memosquare.pages.dev/posts/docker-layer-cache/</link>
            <guid>https://memosquare.pages.dev/posts/docker-layer-cache/</guid>
            <pubDate>Sun, 14 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[COPY の前に ARG でダミー変数を仕込むことで、特定ステップ以降のキャッシュを無効化する小技。]]></description>
            <content:encoded><![CDATA[<p>Docker ビルドでは <code>COPY</code> / <code>ADD</code> の手前に <code>ARG CACHE_BUST=1</code> を置き、<br><code>docker build --build-arg CACHE_BUST=$(date +%s)</code> で実行すると、<br>それ以降のレイヤーキャッシュが常に破棄される。</p>
<p>パッケージ更新を確実に反映したいときに便利。<br>コンテナイメージのビルド時に <code>apt-get update</code> を毎回走らせたい場合に特に有効。</p>
]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[CSS の :has() で親要素を選択する]]></title>
            <link>https://memosquare.pages.dev/posts/css-has-selector/</link>
            <guid>https://memosquare.pages.dev/posts/css-has-selector/</guid>
            <pubDate>Fri, 12 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[2023年末に全ブラウザ対応した :has() 擬似クラスの実用例。親要素・先行兄弟要素のスタイル変更が可能に。]]></description>
            <content:encoded><![CDATA[<p><code>.card:has(img) { ... }</code> で画像を含むカードにだけスタイルを当てられる。<br><code>.form:has(:invalid) .submit { opacity: 0.5 }</code> でバリデーションエラー時にボタンを半透明に。</p>
<p>JS で DOM を走査していた処理の大半を CSS に置き換えられる。<br><code>:has()</code> の引数には相対セレクタを使えるので <code>:has(&gt; img)</code> のような直接子指定も可能。</p>
]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[git rebase --autosquash で fixup を自動整理]]></title>
            <link>https://memosquare.pages.dev/posts/git-autosquash/</link>
            <guid>https://memosquare.pages.dev/posts/git-autosquash/</guid>
            <pubDate>Mon, 08 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[コミットメッセージに fixup! または squash! のプレフィックスを付けると、rebase時に自動で並べ替えてまとめてくれる。]]></description>
            <content:encoded><![CDATA[<p><code>git commit --fixup=HEAD</code> で直前のコミットに対する fixup が作れる。<br><code>git rebase -i --autosquash HEAD~5</code> で fixup が自動で正しい位置に並び、<br><code>pick</code> が <code>fixup</code> に変更される。手動で並べ替える手間がなくなる。</p>
<p><code>git config --global rebase.autoSquash true</code> で常時有効化を推奨。<br>コミットをきれいに保つ習慣づくりに。</p>
]]></content:encoded>
        </item>
    </channel>
</rss>