写真を公開する前に位置情報を消す手順 — EXIF・XMP・向きの落とし穴
写真に記録された位置情報や撮影情報を、公開する前に確かめて取り除く手順をまとめます。EXIF の外にある XMP や PNG の塊、画像の後ろに付いたデータ、消したときに写真が横倒しになる向きの問題、サイトのアップロード処理で消すときの注意までを、実際に試した結果とともに扱います。
Guides
Web 開発の定番作業を、手順ごとにたどれるガイドとして公開しています。各ステップで使うツールにそのまま進めます。
写真に記録された位置情報や撮影情報を、公開する前に確かめて取り除く手順をまとめます。EXIF の外にある XMP や PNG の塊、画像の後ろに付いたデータ、消したときに写真が横倒しになる向きの問題、サイトのアップロード処理で消すときの注意までを、実際に試した結果とともに扱います。
npm audit で脆弱性が見つかったときに、壊さずに直すための手順をまとめます。本番で動く依存かどうかの切り分け、範囲内で直るか範囲外の更新が要るかの切り分け、更新前後のロックファイルの比べ方、メジャー更新で読むべき変更点、依存の依存を固定する overrides、終了コードの正しい見方までを順に扱います。
書いたCSSが反映されないときに、原因を上流から順番に潰していく手順をまとめます。セレクターが当たっているか、詳細度で負けていないか、@layerの順で決まっていないか、重なり順の親子関係に閉じ込められていないかを、1つずつ確かめます。
画面の文字数カウントとサーバー側の判定が食い違う原因を整理します。UTF-16のコードユニット、コードポイント、書記素クラスタという3つの数え方の違いと、絵文字や結合文字が混ざったときの挙動、バイト数で決まる制限の見分け方をまとめます。
差分が全行変更になる、行末に見慣れない記号が付く、シェルスクリプトが動かない。こうした症状の原因になる改行コードの違いを、症状からの見分け方、実際に入っている制御文字の確認、そして .gitattributes による再発防止まで順に整理します。
ページが重い原因を転送量から突き止める手順を、単位の理解→内訳の計測→画像とデータの削減→キャッシュ設定の流れで解説します。1000と1024の違い、回線別の所要時間の見積もり方も整理します。
1行にまとまったHTMLや自動生成されたページを解読する手順を、整形→構造の把握→要素の特定→データ抽出の流れで解説します。整形で表示が変わってしまう落とし穴と、その回避方法も整理します。
1行1データのテキストを整理する手順を、表記ゆれの吸収→重複の処理→並べ替え→コード用の形式変換の流れで解説します。辞書順で数値が正しく並ばない理由や、2つのリストの共通部分を求める方法も整理します。
HTMLやXMLから目的のデータを取り出す手順を、構造の把握→XPathでの抽出→CSSセレクタとの使い分け→JSON化の流れで解説します。名前空間やJavaScript生成コンテンツといった、つまずきやすい点も整理します。
バックエンドの完成を待たずにフロントを進める手順を、レスポンス設計→モックの用意→テストデータの生成→スキーマ検証の流れで解説します。本物のAPIに差し替えたときに壊れないための注意点も整理します。
API仕様の読み方と書き方を、OpenAPIの構造理解→仕様の閲覧→スキーマ定義→変更管理の流れで解説します。破壊的変更の見分け方や、バージョニングの考え方も整理します。
決めた配色を実装に落とす手順を、形式の変換→階調の生成→トークンとしての整理→コントラスト確認の流れで解説します。色名の付け方や、ダークモードを見据えた設計も整理します。
文字化けの原因を特定して直す手順を、文字コードの理解→バイト列の確認→Unicodeの特定→見えない文字の検出の流れで解説します。UTF-8とShift_JISの違いや、BOM・ゼロ幅スペース・絵文字の文字数問題も整理します。
.gitignoreの設計手順を、除外すべきものの整理→パターンの理解→動作確認→追跡済みファイルの解除の流れで解説します。「.gitignoreを書いたのに無視されない」原因や、除外設計でよくある事故も整理します。
レスポンシブ対応の設計手順を、単位の選択→ブレークポイントの決め方→メディアクエリの組み立て→コンテナクエリの活用の流れで解説します。デバイス幅で分けない考え方や、スマホで崩れる典型パターンも整理します。
CSVとJSONを相互変換してデータを扱う手順を、形式の変換→ネスト構造の平坦化→SQLへの変換→クエリの整形の流れで解説します。文字化けや区切り文字、型の推測といったつまずきやすいポイントも整理します。
faviconとアプリアイコンを用意する手順を、元画像の準備→favicon生成→各サイズの書き出し→メタタグの設置の流れで解説します。必要なサイズの考え方や、角丸で切れないための余白の取り方も整理します。
CSSアニメーションを設計する手順を、動きの種類の選択→イージングの調整→keyframesの組み立て→パフォーマンス確認の流れで解説します。transformとopacityを使うべき理由や、動きを控えるべき場面も整理します。
パスワードを安全に扱う手順を、強度の設計→ハッシュ化の理解→2要素認証→トークン管理の流れで解説します。MD5/SHA-1を使ってはいけない理由、ソルトとストレッチングの役割、TOTPの仕組みまで、実際に手を動かして確認しながら整理します。
.envファイルと機密情報の管理手順を、環境変数の整理→Gitへの誤コミット防止→キーの生成→公開範囲の判断の流れで解説します。NEXT_PUBLIC_の落とし穴や、誤ってコミットした場合の対処も整理します。
HTTPキャッシュの設計手順を、ヘッダーの理解→Cache-Controlの組み立て→ETagによる検証→ファイル種別ごとの戦略の流れで解説します。max-age・immutable・no-cacheの違いや、更新が反映されない事故の防ぎ方も整理します。
APIの動作確認を、リクエスト組み立て→コード化→ステータスコードの判断→CORS設定の流れで解説します。GUIでリクエストを作り、curl/fetch/axiosに変換し、レスポンスを正しく読み、ブラウザから叩けるようにするまでを順番に扱います。
タイムゾーンをまたぐ日時のバグを防ぐ手順を、Unixタイムスタンプ変換→タイムゾーン変換→期間計算の流れで解説します。UTCで保存し表示時に変換するベストプラクティスと、夏時間やミリ秒/秒の落とし穴も整理します。
タイトル・ディスクリプション・OGP・Twitterカード・favicon・robots.txt を正しく設定して、検索結果とSNSシェア時の見え方を最適化する手順を、生成→プレビュー確認→アイコン→クロール制御の流れで解説します。
SOAPレスポンスやRSS、XMLの設定ファイルをJSONに変換してJavaScriptで扱う手順を、変換→整形・確認→型生成→逆変換の流れで解説します。属性・テキスト・繰り返し要素の扱いも整理します。
Webやアプリの配色を、コントラスト比・色覚特性まで配慮してアクセシブルに決める手順を、パレット作成→コントラスト確認→色覚チェック→トークン出力の流れで解説します。
デザインツールで書き出したSVGを、不要なメタデータ除去・数値の丸め・minifyで軽量化し、Webやreactコンポーネントとして使うまでの手順を、確認→最適化→コンポーネント化の流れで解説します。
APIレスポンスのJSONを、TypeScriptの型・Goのstruct・Zodスキーマに自動変換して型安全に扱う手順を、整形→検証→生成→ランタイム検証の流れで解説します。手書きの型定義のミスをなくし、API連携のバグを減らせます。
TypeScriptに組み込まれているUtility Types(Partial・Required・Pick・Omit・Record・Readonly・ReturnType)の実践的な使い方と、型設計を改善するパターンを解説します。
cron式の5フィールド構文(分・時・日・月・曜日)から、「毎日0時」「毎週月曜日」「毎月1日」などの定番パターン、特殊文字(*/,\-)の使い方まで実践的に解説します。
URLを構成する各パーツ(スキーム・ホスト・ポート・パス・クエリパラメータ・フラグメント)の役割と、REST API設計・SEO・セキュリティに影響するURLの設計原則を解説します。
CORSエラーの原因・プリフライトリクエストの仕組み・サーバー側の正しい設定方法・よくある誤設定を解説します。「CORSエラーが出て困った」という経験を持つ開発者向けの実践ガイドです。
JPEG・PNG・WebP・AVIFの使い分け、表示幅に合わせた srcset、width と height による CLS 対策、lazy loading と LCP の関係など、画像最適化の実践的な手法を解説します。
CSSグリッドとFlexboxはどちらを使うべきか迷う開発者向けに、「1次元か2次元か」という判断軸と、実際のレイアウトパターン別の選択基準を解説します。
Base64エンコードの仕組み・用途・制限を解説。Data URI・Basic認証・JWTのペイロード・バイナリデータのJSON埋め込みなど実際の使用例を紹介します。
JSON Web Tokenの3つの構成要素(Header・Payload・Signature)の仕組みと、セキュアな実装のためのベストプラクティスを解説します。
メールアドレス・URL・電話番号・日付・IPアドレスなど、実際の開発現場でよく使う正規表現パターンとその注意点を解説します。
200/201/204/400/401/403/404/409/422/500など、REST API設計で頻繁に使うHTTPステータスコードの正しい使い分けと判断基準を実例とともに解説します。
CSS Variables(カスタムプロパティ)を使ってカラー・タイポグラフィ・スペーシングを一元管理し、保守性の高いデザインシステムを構築する方法を解説します。
JSONのパースエラー・型不一致・ネスト構造の問題を効率よく特定・修正するための実践的なデバッグテクニックを解説します。