Format、Encode、Generate、Validate: 適切なツールの選び方
整形、エンコード、生成、検証の違いを理解し、開発者ツールをより早く選べるようになります。
開発者ツールは、似た言葉でまったく異なる処理を表すことがよくあります。format、encode、generate、validate、convert、inspect はどれも単純に聞こえますが、操作を間違えると混乱した結果になります。
最速のワークフローは、まず操作を正しく名前付けすることから始まります。
Format: 既存データを読みやすくする
整形は、データの意味を変えずに見た目だけを変えます。JSON formatter は改行やインデントを追加しますが、オブジェクトの値は同じままであるべきです。
データがすでに有効で、読みやすくしたい、レビューしたい、よりきれいな diff でコミットしたい場合に整形を使います。JSON Formatter が最も分かりやすい例です。有効な JSON を pretty-print、minify、キーのソート、ツリービュー表示できます。
Encode: トランスポート用にデータを表現する
エンコードは、特定のシステムを通過できるようデータの表現方法を変えます。URL encoding は URL 内の予約文字を保護します。Base64 はバイト列をテキストとして表現します。どちらの操作も、データが暗号化されたことを意味しません。
query string、フォーム値、URI コンポーネントには URL Encoder / Decoder を使います。トランスポートに安全な表現が必要なテキストやファイルデータには Base64 Encoder / Decoder を使います。
Generate: 新しいデータを作成する
生成は既存の入力を変換するのではなく、新しい値を作り出します。UUID generator はランダムな識別子を作成します。password generator は選択したルールに従って secret や passphrase を作成します。
本番データを再利用するとリスクや混乱がある場合に生成を使います。UUID Generator は fixture や一時 ID に便利です。Password Generator はブラウザーの暗号 API で強力な値を作る必要があるときに使います。
Validate: データがルールに従っているか確認する
検証は yes/no の問いに答えます。この入力は期待される構文や schema に従っているか?
JSON 検証は構文をチェックします。JSON Schema 検証は構造と制約をチェックします。timestamp の確認は、数値が秒かミリ秒かを推定します。検証は整形や変換の前の最初のステップであることが多いです。
Convert: 形や単位を変える
変換は一つの表現を別の表現へ変えます。Unix timestamp を ISO 8601 日付にできます。YAML を JSON にできます。JSON を TypeScript 型にできます。同じ情報を別のシステムに合わせる必要があるときに変換が役立ちます。
同じ瞬間を Unix 秒、ミリ秒、ローカル時刻、UTC、ISO 文字列の間で移動させる必要があるときは Timestamp Converter を使います。
Escape: HTML 向けにテキストを安全にする
HTML escaping は URL encoding ではありません。API ドキュメント、エラーページ、SSR テンプレートに JSON スニペットを埋め込むとき、entity encoding により <、>、& がマークアップを壊すのを防ぎます。境界が HTML であり transport ではない場合は HTML Entity Encoder / Decoder を使います。
シンプルな判断ルール
入力に何をしたいかを問いかけます。
- 読みたい? → Format する。
- 制約のあるチャネルで送りたい? → Encode する。
- 新しい値が必要? → Generate する。
- 正しいか知りたい? → Validate する。
- 同じ情報を別の表現で欲しい? → Convert する。
この小さな区別が時間を節約し、確認したかっただけのデータを誤って変更するのを防ぎます。