DevToolBox

ガイド一覧Developer Guides (Japanese with English summaries)

開発の現場で役立つ実践的な解説記事をまとめています。ツールの使い方だけでなく、 背景知識や落とし穴も含めて解説しています。

Practical how-to articles for developers. Each guide is written in Japanese with an English TL;DR and summary section.

エラー解決Error resolution

よく遭遇するエラーの原因切り分けと対処。

Unexpected end of JSON input の直し方

Fix Unexpected end of JSON input

空文字列・空レスポンス(204)・途中で切れたJSONの三大原因を順に特定。res.text()ガードによる再発防止まで。

JSONJavaScriptNEW

YAMLインデントエラーの直し方

Fix YAML indentation errors

「mapping values are not allowed in this context」等の実エラー別に原因と対処を整理。K8s・GitHub Actionsの頻出例つき。

YAMLDevOpsNEW

JSON→CSV変換でExcelが文字化けする原因と対処

Fix garbled CSV in Excel (UTF-8 BOM)

ExcelのBOMなしUTF-8誤判定が原因。BOM付き保存・データ取込手順・カンマを含む値の引用まで解説。

CSVExcelNEW

XMLパースエラーの原因と対処

Fix XML parse errors

tag mismatch・実体参照エラー・ルート要素重複・encoding不一致など、実エラー文言別に原因と対処を整理。

XMLデバッグNEW

見えない文字(ZWSP/BOM/NBSP)が起こすバグの見つけ方

Find invisible character bugs

コピペ由来の不可解なシンタックスエラーや比較不一致の正体。検出方法と除去手順を体系化。

UnicodeデバッグNEW

文字化けの原因切り分け - 化け方のパターンで特定する

Debug mojibake encoding issues

「縺」系・「ã」系など化け方から原因を逆引き。HTTPヘッダ・DB・ファイル保存の確認手順。

文字コードUTF-8NEW

cronが実行されない時のチェックリスト

Fix crontab not running

PATH・%エスケープ・最終行の改行など、cron特有の落とし穴を順に検証するデバッグ手順。

cronLinuxNEW

JSONの Unexpected token エラーを直す

Fix JSON Unexpected token errors

position N の読み方、末尾カンマ・シングルクォート・BOM・NaN など主要原因の対処を体系化。

JSONJavaScript

Base64デコードで日本語が文字化けする原因と対処

Fix garbled text when decoding Base64

btoa/atobのLatin-1制限とTextEncoder/TextDecoderを使ったUTF-8安全な実装。Base64URLも解説。

Base64UTF-8

npm ERESOLVE エラーの原因と解決

Fix npm ERESOLVE errors

peer dependency 競合の読み方、overrides での固定、--legacy-peer-deps の是非。

npmNode.js

npm error code ENOENT の原因と対処

Fix npm error code ENOENT

package.json、scripts、node_modules、Windowsパス、workspacesの原因別に、存在しないパスを特定して直す手順。

npmNode.js

「illegal base64 character」エラーの原因と直し方

Fixing "illegal base64 character" errors

illegal base64 character 5c/5f/7bの原因と、使えない文字・URL-safe版・改行混入への対処法。

Base64エラー

cronの実行結果を確認する方法 - ログと標準出力の扱い

Checking cron job output: logs, MAILTO, and stdout redirection

cronは動いているのに実行結果が見えない時の原因と、ログファイルへのリダイレクト、MAILTO設定、システムログの確認場所を解説。

cronログ

ファイルのハッシュ値(チェックサム)を確認する方法 - Windows/Mac/Linux

Verifying a file's checksum (hash) on Windows, Mac, and Linux

ダウンロードしたファイルが破損・改ざんされていないかを、配布元が公開するSHA-256等のハッシュ値と比較して確認する手順をOS別に解説。

ハッシュセキュリティ

認証・セキュリティAuth & Security

JWT・OAuth・HTTPステータスなど認証/認可まわり。

HTTP Status Codes List - ステータスコード一覧と意味

HTTP status codes reference

1xx〜5xxのクラス別一覧表、301と302・502と503の違い、REST API設計での使い分けまで整理。

HTTPステータスコードNEW

JWT HS256とRS256の違いと選び方

JWT HS256 vs RS256

共有鍵と公開鍵の使い分け、マイクロサービスでの検証、alg=none攻撃・alg混同攻撃への防御まで。

JWTセキュリティNEW

正規表現のReDoSを避ける - 破滅的バックトラックの仕組み

Avoid regex ReDoS

脆弱なパターンの見分け方、攻撃文字列が引き起こす計算量爆発の仕組み、安全な書き換え。

正規表現セキュリティNEW

MD5とSHA-256の違い・パスワード保存の正解

MD5 vs SHA-256 & password hashing

衝突攻撃の現状、チェックサムと暗号用途の使い分け、bcrypt/Argon2idの選定基準まで。

ハッシュセキュリティNEW

HTMLエスケープとXSS対策の基本

HTML escaping & XSS prevention

エスケープすべき5文字、コンテキスト別の対策、ReactのJSX自動エスケープ、DOMPurify・CSPまで。

XSSセキュリティNEW

JWTの署名検証に失敗する原因と対処

Fix JWT signature verification failed

鍵不一致・alg不一致・kid解決失敗・aud/iss/exp の5原因から切り分け。Node/Python/Goの実装も。

JWTセキュリティ

HTTP 401 と 403 の違い・使い分け

HTTP 401 vs 403

認証エラー(401)と認可エラー(403)の正しい使い分け。WWW-Authenticate ヘッダとRFC 9110の定義。

HTTPRFC

JWTの有効期限切れを確認する方法

Checking JWT expiry

exp/iat/nbfクレームの読み方、タイムゾーンの罠、401時の対処フローを実例つきで解説。

JWT認証API

JWTのクレーム完全ガイド - sub/aud/exp/iat/kidを全部解説

JWT claims explained: sub, aud, exp, iat, kid and more

JWTの標準クレーム(sub/aud/exp/iat/nbf/iss/jti)とヘッダーのkid/alg/typの意味を一覧で解説。

JWT認証

JWTの「alg: none」攻撃とは - 仕組みと対策

The JWT "alg: none" attack: how it works and how to prevent it

JWTのalg: none攻撃の仕組みと、アルゴリズムのホワイトリスト指定による対策を解説。

JWTセキュリティ

DB・データ構造Database & Data

SQL・JSON Schema・UUID などデータ設計。

SQL JOINの種類と使い分け

SQL JOIN types explained

INNER/LEFT/RIGHT/FULL/CROSSの結果を実データで比較。LEFT JOINにWHEREを書くとINNERになる罠も解説。

SQLDBNEW

SQL GROUP BY と ORDER BY の順序・使い分け

SQL GROUP BY vs ORDER BY

書き順と評価順、SELECT 列の制約、PostgreSQL/MySQL/BigQuery の挙動差を整理。

SQLDB

UUID v4とv7の違い - いつどちらを使うべきか

UUID v4 vs v7

DBプライマリキー性能、ULIDとの比較、使い分け指針をビット構造図つきで解説。

UUIDDB設計

JSON Schemaで型を保証する基本

JSON Schema basics

required / enum / additionalProperties の使い分けとAjvでの検証、CI組込みまで。

JSONバリデーションAPI

JSONにコメントは書ける?できない理由と3つの回避策

Can you add comments to JSON?

標準JSONでコメントアウトできない理由と、JSONC・JSON5・_commentキー・YAMLを使う3つの回避策を解説。

JSON設定ファイル

UUIDを短くする方法 - Base64/Base62エンコードで22文字に

Shortening UUIDs: Base64 and Base62 encoding

36文字のUUIDをBase64URL/Base62で22文字前後に短縮する方法とトレードオフを解説。

UUIDBase64

UUIDの衝突確率を計算する - 誕生日問題で考える

Calculating UUID collision probability (the birthday problem)

UUID v4の衝突確率を誕生日問題の近似式で計算し、実務での注意点を解説。

UUIDDB設計

JOINで行が増える(重複する)原因と対処法

Why JOIN duplicates rows, and how to fix it

1対多のJOINで行数が増える仕組みと、集約してからJOINする対処法、DISTINCTの注意点を解説。

SQLDB

JOIN句とWHERE句、条件を書く場所で結果が変わる理由

ON vs WHERE in SQL JOINs: why clause placement changes results

LEFT JOINで右表への条件をON句とWHERE句どちらに書くかで結果が変わる罠を実例で解説。

SQLDB

TIMESTAMP型とDATE/DATETIME型の違い - タイムゾーンの扱いまで

TIMESTAMP vs DATE vs DATETIME: SQL column types and timezone handling

MySQLのDATETIMEとTIMESTAMPの違い、PostgreSQLのwith/without time zoneの意味、Oracleの罠まで、DB別に整理。

SQLDB設計

TIMESTAMPDIFF関数の使い方 - DBごとの違いと注意点

TIMESTAMPDIFF across databases: MySQL, Oracle, PostgreSQL, SQL Server

MySQLのTIMESTAMPDIFFの引数順、OracleやPostgreSQLに同名関数が無い理由と代替方法、SQL ServerのDATEDIFFとの違いを整理。

SQL日付計算

ネットワーク・HTTPNetworking & HTTP

CORS・TCPレベルのエラー切り分け。

CORS プリフライトで 400/403 が返る原因と対処

Fix CORS preflight 400/403

OPTIONS ルーティング欠落・認証ミドルウェア・ヘッダ不足の3原因別フィックス。Express/Nginx例つき。

CORSHTTP

502 Bad Gateway とは?原因と直し方

HTTP 502 Bad Gateway

502の意味と訪問者の対処、nginx・AWS ALB・Docker・WordPressでの原因切り分けと直し方。

HTTPエラー

503 Service Unavailable とは?原因と対処法

HTTP 503 Service Unavailable

アクセス集中・メンテナンスによる503の対処。Retry-Afterの使い方とSEOへの影響。

HTTPエラー

504 Gateway Timeout とは?原因と対処法

HTTP 504 Gateway Timeout

タイムアウトの連鎖(CDN・LB・nginx・アプリ・DB)から504の原因を特定する手順と対処。

HTTPエラー

502・503・504 の違いと切り分け方

HTTP 502 vs 503 vs 504

5xxゲートウェイ系エラーの意味の違い、判断フロー、監視・API設計での使い分け。

HTTP比較

429 Too Many Requests とは?原因と対処法

HTTP 429 Too Many Requests

レート制限の解除待ち時間、Retry-Afterの読み方、指数バックオフ実装、サーバー側の設計。

HTTPエラー

500 Internal Server Error とは?原因と対処法

HTTP 500 Internal Server Error

500の意味と訪問者の対処、WordPress・PHP・Node.js・nginxでのログ調査と直し方。

HTTPエラー

400 Bad Request とは?原因と解決方法

HTTP 400 Bad Request

Cookie削除による直し方(ブラウザ・スマホ別)と、開発者向けの原因調査・API設計での使い分け。

HTTPエラー

ECONNREFUSED と ETIMEDOUT の違い・切り分け

ECONNREFUSED vs ETIMEDOUT

TCPレベルでの差、切り分けコマンド、Docker/Lambda で頻出する原因を整理。

Node.jsネットワーク

CORSエラーの原因と正しい直し方

Diagnosing and fixing CORS errors

preflight / credentials の違い、Express/Nginx の正しい設定、よくある誤った対処を整理。

CORSWeb API

"TypeError: Failed to fetch" の原因と対処

Fix TypeError: Failed to fetch

レスポンスが全く届かない時のエラーで、404/500では発生しない点が核心。CORS・接続拒否・混在コンテンツ・広告ブロッカー・中断・DNSの6原因を切り分け。

fetchネットワークNEW

ERR_CONNECTION_REFUSEDの原因と対処

Fix ERR_CONNECTION_REFUSED

TCP接続がRSTで即座に拒否された状態。localhost開発でのポート不一致・バインド先・IPv4/IPv6の食い違いを中心に切り分け手順を整理。

ネットワークlocalhostNEW

バージョン管理・開発フローVCS & Dev Workflow

Git・正規表現・タイムスタンプなど開発の基礎。

CSS Shadow Generator - box-shadowの書き方とパターン集

CSS box-shadow syntax & pattern guide

offset-x/offset-y/blur/spread/color/insetの構文解説と、よく使う影のパターンをコード付きで整理。text-shadow・filter: drop-shadow()との違いも。

CSSbox-shadowNEW

HTML to JSX Converter - 変換でハマる7つの落とし穴

7 pitfalls converting HTML to JSX

class→className、style文字列→オブジェクト、自己終了タグなど、HTMLをJSXに変換する際の注意点を実例で整理。

ReactJSXNEW

Cron Expression Basics - cron式の書き方と読み方

Cron expression syntax guide

5フィールドの意味、特殊文字(* , - /)の使い方、よく使うパターン早見表、日/曜日フィールドのOR評価の罠まで解説。

cronスケジュールNEW

URL Encode Space (%20) - スペースのURLエンコード完全ガイド

URL encoding spaces (%20 vs +)

%20と+の使い分け、encodeURIComponentとencodeURIの違い、二重エンコードの防ぎ方を実例つきで整理。

URLエンコードNEW

Unix Timestamp Guide - Unix timeの基本と変換方法まとめ

Unix timestamp basics & conversion

unix timestamp(エポック秒)の定義、現在時刻の取得方法、秒/ミリ秒の見分け方、JS/Python/PHP/Go/Javaでの変換コード例。

タイムスタンプNEW

Hex Dump 読み方ガイド - hexdump/xxd出力の見方

How to read a hex dump

オフセット・16進数バイト・ASCII表現の3列構成の読み方、xxd/hexdump -C出力比較、ファイルシグネチャ判定への応用。

HEXバイナリNEW

JSON to YAML変換ガイド - 構造対応表と落とし穴

JSON to YAML conversion guide

オブジェクト/配列/スカラー値の対応表、インデントの罠、Norway Problem(yes/noの誤解釈)まで整理。

JSONYAMLNEW

Hex to Decimal - 16進数と10進数の変換方法と早見表

Hex to Decimal conversion guide

桁の重み付けによる手計算の手順、0〜255の早見表、JavaScript/Python/Java等でconvert to hexadecimalするコード例まで。

HEX16進数NEW

Hex Translator - 16進数とテキストを相互変換する仕組み

Hex to Text (Hexadecimal Translator)

HEXとASCII/UTF-8の対応表、手動変換の手順、文字化けの原因と対処を言語別コード例つきで解説。

HEX文字コードNEW

Hex to Bytes - 16進数をバイト列に変換する実装例

Hex to Bytes conversion (Python/JS/Java)

Python bytes.fromhex / JS Uint8Array / Java HexFormat 等の実装と、エンディアン・ファイルシグネチャ判定まで。

HEXバイト列NEW

Image to Base64 - 画像のBase64エンコードとData URIの使い方

Image to Base64 & data URI guide

Data URIの書式、CSS/HTML/JSONへの埋め込み例、サイズが約33%増える理由と使うべき場面を整理。

Base64画像NEW

.gitignoreが効かない時の原因と対処

Fix .gitignore not working

原因の9割は追跡済みファイル。git rm --cachedでの解除、check-ignoreでのルール特定、UTF-16保存の罠まで。

GitNEW

CSS中央寄せの方法まとめ

How to center in CSS

flexbox/grid/margin autoの使い分け早見表。「縦中央が効かない」原因と2024年からのalign-content新手法。

CSSNEW

改行コードCRLFとLFの違いと統一方法

CRLF vs LF line endings

diff全行差分・bad interpreter ^Mの原因と、.gitattributes/git add --renormalizeでのチーム統一手順。

Git文字コードNEW

CSS aspect-ratioで画像・動画の比率を固定する

CSS aspect-ratio property guide

padding-topハック(56.25%)からの移行、object-fit併用、CLS対策まで実例つきで解説。

CSSNEW

OKLCHとは - HSLとの違いとCSS Color 4実践

OKLCH vs HSL explained

知覚均等な色空間OKLCHの仕組み、oklch()構文、ブラウザ対応状況、デザインシステムでの採用指針。

CSSカラーNEW

APIレスポンスの差分比較を安全に行う方法

Compare API responses safely

キー順・整形差で誤検出しない構造比較のやり方。リリース前後の回帰確認の実践手順。

APIテストNEW

gitマージコンフリクトの解消手順

Resolve git merge conflicts

コンフリクトマーカーの読み方、merge と rebase で ours/theirs が逆になる罠、実践的な解消フロー。

Gitチーム開発NEW

正規表現のLookbehindはどのブラウザで使える?

Regex lookbehind browser support

Safari 16.4 で対応。iOS 16.3 以前への配信時の代替パターンと実害ケース。

正規表現ブラウザ対応

git push rejected (non-fast-forward) の直し方

Fix git push rejected non-fast-forward

pull --rebase / merge / --force-with-lease の使い分け。共同作業での事故回避。

Gitチーム開発

UNIX timestamp 変換と落とし穴

UNIX timestamp conversion pitfalls

秒/ミリ秒の見分け方、タイムゾーンの扱い、言語別実装、2038年問題まで整理。

タイムスタンプタイムゾーン

正規表現の実例集

Practical regex examples

郵便番号・メール・電話番号・URL抽出など、日本でよく使うパターンをコピペできる形で集めました。

正規表現JavaScript

16進数の補数(2の補数)の求め方 - 負の数の表現方法

Two's complement in hexadecimal: representing negative numbers

16進数で負の数を2の補数で表す仕組みと、8bitでの計算手順を解説。

16進数計算

Excelで16進数⇔10進数を変換する方法(関数・VBA)

Converting hex to decimal in Excel (functions and VBA)

Excel関数(HEX2DEC/DEC2HEX)とVBAによる16進数⇔10進数の変換方法を解説。

16進数Excel

正規表現で「〜以外」を書く方法 - 否定先読み・文字クラス除外

Matching "NOT X" in regex: negative lookahead and negated character classes

特定の文字以外・特定の文字列を含まない条件の書き方を、否定文字クラスと否定先読み/後読みの使い分けで解説。

正規表現JavaScript

CSSの変更が反映されないときのチェックリスト

Checklist: why your CSS changes aren't taking effect

キャッシュ・読み込み・詳細度・!important・構文エラーの順に原因を切り分けるチェックリスト。

CSSデバッグ

git commitを取り消す方法 - push前/push後で変わる正しい手順

Undoing a git commit: the right approach before and after pushing

git reset --soft/--mixed/--hardの違いと、pushした後はrevertを使うべき理由を、push前/push後のケース別に整理。

Gitコミット

Git detached HEAD状態とは — 抜け方とコミットの救出

Git detached HEAD: how to leave and recover commits

detached HEADの意味と安全な抜け方、detached中または離れた後にコミットをブランチとして救出する手順を解説。

Gitコミット

git rebaseとmergeの違い - 使い分けとやってはいけないケース

git rebase vs merge: when to use each (and when not to rebase)

マージコミットを残すmergeと履歴を書き換えるrebaseの違い、push済みの共有ブランチをrebaseしてはいけない理由を解説。

Gitチーム開発

cronのタイムゾーンの罠 - サーバー時刻と日本時間のズレ

Cron and timezones: why your job runs at the wrong time

cronはシステムのタイムゾーンで動作するため、UTCのサーバーでJSTのつもりで設定すると9時間ズレる。確認方法とCRON_TZでの対処法を解説。

cronタイムゾーン

ハッシュ値の桁数でアルゴリズムを見分ける方法 - MD5/SHA-1/SHA-256/SHA-512

Identifying a hash algorithm by its output length

16進数表記のハッシュ値の文字数から、MD5・SHA-1・SHA-256・SHA-512のどれで生成されたかを見分ける方法と、桁数だけで断定できない注意点を解説。

ハッシュ計算

16進数カラーコードとRGBの変換方法 - 完全ガイド

Converting hex color codes to RGB (and back): a complete guide

#RRGGBBとrgb(r,g,b)の相互変換の仕組み、3桁省略形の展開ルール、アルファチャンネル付き8桁HEX、言語別の実装コードまで、カラーコード変換を体系的に解説。

CSSカラー16進数

ツール比較・選定Tool selection & comparison

開発ツールの選び方と比較。