記事

ツールを実装するときに調べたこと、ハマったこと、参考にした仕様などを記録しています。

RSS
85 / 85 件

Cookie 属性ガイド:SameSite・Partitioned・HttpOnly・Secure・Domain・Path・Priority の使い分け

HTTP Set-Cookie ヘッダの属性は 7 種類以上あり、それぞれが認証・トラッキング・セキュリティに関わります。SameSite (Lax/Strict/None)、Partitioned (CHIPS)、HttpOnly、Secure、Domain、Path、Priority の役割と、認証用クッキー・第三者クッキー・CSRF 対策での適切な組合せを整理します。

約11分

CSS Cascade Layers (@layer) 徹底解説:詳細度のリセット、レイヤー順、!important の挙動

CSS の @layer は名前付きカスケードレイヤーを作る機能で、詳細度競争を整理し、ライブラリのスタイルとアプリのスタイルを衝突なく共存させられます。レイヤー順序の決定ルール、ネスト、unlayered スタイルとの優先関係、!important がレイヤー間で逆転する仕組みを整理します。

約7分

HTTP Cache-Control 徹底解説:max-age・s-maxage・must-revalidate・immutable・stale-while-revalidate の使い分け

HTTP の Cache-Control ヘッダには 10 種類以上のディレクティブがあり、組み合わせで挙動が大きく変わります。本記事では実務でよく使う max-age / s-maxage / no-cache / no-store / must-revalidate / immutable / stale-while-revalidate などの違いと、CDN・ブラウザでの解釈差を整理します。

約12分

画像フォーマット選定の知覚的違い:JPEG vs WebP vs AVIF vs HEIC を写真・イラスト・スクショで比較

画像フォーマットの選択は「サイズが小さいほうがよい」だけでは決まりません。同じ品質設定でも JPEG・WebP・AVIF・HEIC で得られる視覚的印象は違い、写真・イラスト・スクリーンショット・透過 PNG の置き換えなど、被写体ごとに向き不向きがあります。本記事ではエンコード方式の違いから、被写体別の推奨、ブラウザ・サポートまで整理します。

約9分

CIDR /31 と /32 を実運用で使う:RFC 3021・point-to-point リンク・host-only ルートの背景

CIDR の /31 と /32 が「使えないサイズ」と説明されることがある一方、実際のネットワークでは routing table に頻繁に登場します。RFC 3021 が /31 を定義した経緯、point-to-point の節約、コンテナや LB のホスト経路など、現代のネットワークでの実運用面を整理します。

約8分

crontab の落とし穴 6 選:曜日と日付の OR、step の罠、タイムゾーン、サマータイム、秒なし、特殊文字列

cron 式は短くて便利ですが、`*` と数値の組み合わせ・曜日と日付の OR 関係・step の起点・タイムゾーンの扱いなど、誤って書きがちなパターンが多くあります。本記事では実装で踏みやすい 6 つの落とし穴を、具体例と修正方法で整理します。

約8分

JSON Schema の draft 差分:04 / 06 / 07 / 2019-09 / 2020-12 を移行する前に知っておくこと

JSON Schema には draft-04 から 2020-12 まで複数のリビジョンがあり、`$id`・`$ref` の解釈、`exclusiveMinimum` の意味、`$dynamicRef`・OpenAPI 3.1 との関係など、実装時に踏みやすい差分があります。リビジョンごとの主要な変更点と移行時の注意を整理します。

約9分

Unicode 正規化形式 NFC / NFD / NFKC / NFKD の使い分け:ファイル名比較・検索・識別子の同一性

Unicode の 4 種の正規化形式(NFC・NFD・NFKC・NFKD)が「正準分解 vs 互換分解」「合成するかしないか」の 2 軸でどう違うか、ファイル名比較・検索インデックス・データベース照合の現実的な使い分け、そして macOS と Windows の差で生じるトラブル例を整理します。

約8分

URL の `#` フラグメントの落とし穴:サーバに送られない仕様、SPA・OAuth・スクロール復元の挙動

URL の `#` 以降は HTTP リクエストでサーバに送信されない、という基本仕様から派生する実装上の罠を整理します。SPA の hash-based routing、OAuth implicit flow の漏洩、ブラウザのスクロール位置復元、サーバ側ログでフラグメントが消える理由などを扱います。

約9分