开发者工具箱

开发者工具指南

围绕日常开发中真实出现的数据、编码、调度与网络问题,给出可操作的讲解。

JSON 与结构化数据

6 篇指南
JSON 指南JSON 格式化、压缩与校验完全指南

一份可以直接查阅的 JSON 参考:语法边界、如何把解析器给出的偏移量还原成你打错的那个字符、数字和字符串在哪里悄悄丢信息,以及为什么合法的 JSON 仍然会被接口拒绝。

阅读指南 →
配置格式JSON、YAML 与 TOML:在互转中不丢语义

三种配置格式在数据模型、注释和类型系统上的差异,哪些 YAML 标量会在无提示的情况下变类型,以及一次转换究竟悄悄扔掉了什么。

阅读指南 →
表格数据把嵌套 JSON 变成表格,而不毁掉数据

嵌套 JSON 的三种展平策略、它们带来的表头与稀疏问题、RFC 4180 的引号规则、CSV 公式注入,以及表格根本就是错误形状的那些情况。

阅读指南 →
查询指南JSONPath:选择器、过滤器,以及各家实现互不兼容的部分

JSONPath 选择器、切片与过滤表达式的实例参考,2024 年 RFC 9535 标准化了什么,主流库至今仍有哪些差异,以及什么时候该改用 jq 或 JSON Pointer。

阅读指南 →
XML 指南XML 校验与格式化:良构、有效,以及安全

良构与 schema 有效性的区别、真正要紧的那五个转义、命名空间如何让 XPath 失灵、为什么美化排版可能改变语义,以及如何关掉 XXE。

阅读指南 →
日志取证从日志里的 Java toString() 输出中还原结构

Java 的 Map、集合、record 与 Lombok toString 格式是怎么构成的,为什么它们不是 JSON,如何把它们转换回来,以及哪些歧义是任何解析器都无法消除的。

阅读指南 →

编码与文本

6 篇指南
编码指南Base64 编码与解码:开发者指南

Base64 到底解决什么问题、三字节换四字符的变换如何进行、Base64URL 与补位有何差别、为什么必须先定 UTF-8,以及为什么 Base64 藏不住任何东西。

阅读指南 →
正则指南如何正确地测试一个正则表达式

一套可复用的正则测试流程:先造出「差一点就匹配」的语料、看清匹配边界、把每个标志当成模式的一部分,并识别出上线后才会暴露的回溯灾难与方言差异。

阅读指南 →
URL 指南URL 编码详解:百分号编码、分量与 Punycode

URL 保留了哪些字符、为什么规则随分量而变、encodeURI 与 encodeURIComponent 的差别、加号什么时候代表空格,以及国际化域名究竟是怎么编码的。

阅读指南 →
转义指南HTML 实体与按上下文转义

为什么转义取决于值最终落在哪里、文本/属性/URL/JavaScript/CSS 各自的规则、命名实体与数字实体的差别,以及为什么按上下文做输出编码(而不是过滤输入)才是 XSS 的防线。

阅读指南 →
比较指南文本比较:一套能抓住真实改动的 diff 流程

如何在字符、单词、行三种粒度之间取舍,怎样先消除空白与换行符噪声,如何读懂统一 diff 的块头,怎样识别被移动的代码块,以及如何审阅机器生成的输出而不是走过场。

阅读指南 →
Markdown 指南CommonMark、GFM,以及写出「能活着到达」的 Markdown

为什么 Markdown 在各处渲染结果不同、CommonMark 钉死了哪些规则、GitHub Flavored Markdown 加了什么、原始 HTML 如何被消毒,以及怎样写出在每个目的地都长得一样的文档。

阅读指南 →

安全与标识符

6 篇指南
安全指南如何安全地解码与验签 JWT

JWT 三段分别装了什么、为什么解码什么都证明不了、注册声明应当如何被强制校验,以及算法混淆是怎么防住的。

阅读指南 →
标识符指南UUID v1、v4、v7 与命名空间版本:该选哪一个

UUID 的 128 位是怎么排布的、每个版本各自让出了什么、随机主键为什么伤索引,以及一个 UUID 会泄露它在何时何地被生成。

阅读指南 →
安全指南如何生成一个安全的密码,以及密码到底强在哪里

密码强度背后的熵计算、长度为什么胜过字符类规则、Math.random 为什么让生成器失去意义,以及强制换密码为什么反而让密码变差。

阅读指南 →
安全指南哈希与校验和:验证文件,并选对算法

哈希函数保证什么、不保证什么,如何验证下载以及这种验证到底值多少,MD5 与 SHA-1 为什么被淘汰,以及密码存储为什么需要一个刻意放慢的算法。

阅读指南 →
安全指南如何读懂一张 TLS 证书:字段、证书链、文件格式与信任报错

X.509 证书各字段的含义、证书链如何构建又为何断裂、PEM / DER / PFX / P7B 里到底装了什么,以及随之而来的浏览器报错怎么读。

阅读指南 →
安全指南HTTP Basic 认证与 htpasswd:它是怎么工作的,什么时候该用

Basic 认证在链路上究竟发了什么字节、为什么离开 TLS 就毫无意义、htpasswd 各种哈希算法各值多少、bcrypt 成本该怎么选,以及 Basic 认证在哪些场景才是正确答案。

阅读指南 →

时间、数字与格式

5 篇指南

网络与多媒体

6 篇指南
网络指南如何查询 IP 地址、浏览器泄漏与网络信息

IP 查询能证明什么、不能证明什么,同一台机器上 IPv4 与 IPv6 结果为何不同,如何读懂浏览器里的 WebRTC 与 DNS 解析器信号,以及如何负责任地使用 IP 数据。

阅读指南 →
可用性指南如何检查网站可用性、状态码与延迟

沿着完整请求路径检查站点 —— DNS、TCP、TLS、HTTP —— 区分超时与 5xx,读懂跳转链,对比不同区域,并把一次性检查变成可用的故障信号。

阅读指南 →
代理指南如何测试代理、检查代理健康度并对比区域

一套代理测试的诊断流程:批量之前先验一个端点、判断失败发生在哪一段、正确解读响应、对比区域出口,以及妥善处理凭据与授权。

阅读指南 →
WebRTC 指南WebRTC 点对点传输究竟是怎么连上的

浏览器之间建立数据通道的真实过程:信令、SDP 的 offer 与 answer、ICE 候选收集、STUN 与 TURN、NAT 行为、DTLS 加密,以及什么时候中继不可避免。

阅读指南 →
编码指南生成与扫描二维码:把该知道的事搞清楚

二维码的结构、版本与编码模式如何决定容量、纠错等级到底牺牲了什么、扫不出来的常见原因,以及为什么扫一个来路不明的码等同于点一个来路不明的链接。

阅读指南 →
图像指南把证件照做到符合规格

毫米尺寸背后的像素换算、把 DPI 讲清楚、头部比例、背景与底色规则、上传表单的文件大小限制,以及一句实话:没有任何工具能保证受理方会通过。

阅读指南 →