代码格式化器:AST 感知的格式化架构与工具对比
系统覆盖代码格式化器的工程原理:格式化的价值(消除争议/统一风格)、格式化器的两类架构(文本级 vs AST 级)、AST 感知格式化的流水线(parse→format→print)、打印算法(Prettier 的文档模型/doc 组合)、配置与自定义、格式化在 CI/提交钩子的落地、以及主流工具(Prettier/Black/gofmt/Rustfmt)的设计对比。
category
系统覆盖代码格式化器的工程原理:格式化的价值(消除争议/统一风格)、格式化器的两类架构(文本级 vs AST 级)、AST 感知格式化的流水线(parse→format→print)、打印算法(Prettier 的文档模型/doc 组合)、配置与自定义、格式化在 CI/提交钩子的落地、以及主流工具(Prettier/Black/gofmt/Rustfmt)的设计对比。
系统覆盖文本差异与补丁的工程原理:diff 问题定义与最长公共子序列、Myers 差异算法(贪心搜索与编辑脚本)、补丁格式(unified/normal/git diff)、patch 应用与冲突、二进制与重命名 diff、git 内部 diff 机制、以及 diff 在代码审查与数据同步中的应用与工具链。
系统覆盖日志处理的工程全景:日志格式设计(文本 vs 结构化、字段约定)、解析器构建(正则/流式/多行拼接)、日志管道(采集/清洗/聚合/路由)、采样与脱敏、日志轮转与保留、以及可观测性场景下日志解析的常见陷阱与性能优化。
系统讲解 glob 模式匹配:通配符基础(*/?/[])、与正则的本质差异(锚定 vs 子串)、跨语言的 glob 库(gitignore/fnmatch/glob)、extglob 与 brace 展开、性能陷阱(隐藏文件/递归/overlap)、以及配置文件的 glob 最佳实践与常见坑。
系统讲解算法复杂度的工程直觉:Big-O 记号与上下界、常见数据结构与操作的时间/空间复杂度速查表、递归复杂度(主定理)、摊还分析、复杂度 vs 常数的取舍,以及如何在工程中做复杂度预算与基准验证。
从正则引擎底层讲透正则表达式:DFA/NFA 引擎、回溯机制、贪婪/懒惰/占有量词、零宽断言、灾难性回溯(ReDoS)与防护,附带跨语言差异与实用模式库。
系统讲解主键标识符设计:自增 ID 与 UUID 的根本权衡、UUID 各版本(v1/v4/v5/v7)的语义、UUID 作主键的索引与存储代价、ULID/KSUID/雪花算法的排序性、单调性要求、长度与可读性权衡(Base62/Short UUID),以及分布式多机房下的 ID 生成器设计。
彻底理清时间处理:时刻 vs 本地时间、UTC/Unix 时间戳、ISO 8601 格式、IANA 时区、夏令时陷阱、闰年与日历计算、数据库时间存储、分布式系统时钟(NTP/逻辑时钟)。
系统讲解文本相似度与模糊匹配:编辑距离(Levenshtein/Damerau/DP 优化)、token 级相似(Jaccard/Sørensen-Dice)、Jaro-Winkler 人名匹配、模糊搜索与拼音(fzf/FuzzyMatch)、大规模去重的 SimHash/MinHash、近似最近邻,以及工程里的匹配引擎设计(阈值/候选集/索引)。
对比主流数据序列化格式:JSON/XML/YAML/TOML 文本族、Protobuf/MessagePack/CBOR/BSON 二进制族、Parquet/ORC 列式族——schema 演进、性能基准、版本兼容与选型决策树。
系统讲解通用数据压缩:熵与信息量的直觉、Huffman 编码(前缀码/建树/解码)、LZ77/LZ78 与 Deflate、LZMA/zstd/brotli 对比、压缩级别权衡(速度 vs 比率)、分块与字典、常见格式(gzip/bzip2/xz)的适用场景,以及压缩在生产中的使用决策。
系统掌握 Unix 文本处理工具链:sed 流编辑、awk 字段处理、jq JSON 解析、grep/ripgrep 搜索、sort/uniq/wc、xargs 与管道组合,附一行式速查与数据处理实战场景。
系统讲解字节级调试工具箱:十进制/十六进制/二进制数制、Hex 与 Base64 编码(原理/表格/URL-safe/应用)、文本编码(ASCII/UTF-8)与字节的关系、xxd/od/hexdump 查看器、文件与协议调试(magic bytes/HTTP 十六进制)、位运算工具与常见踩坑。
彻底讲清 Unicode 与字符编码:字符集 vs 编码、UTF-8/UTF-16 原理、码点与代理对、字节序 BOM、规范化(NFC/NFD)、emoji 与组合字符、乱码成因与各系统处理建议。
系统覆盖 JSON 与 YAML 两大文本数据格式的工程处理:解析器内部原理(词法/语法/递归下降)、流式解析与内存边界、序列化陷阱(浮点/时间/键序)、Schema 校验(JSON Schema/类型契约)、YAML 锚点别名与合并键、格式互转、安全(原型污染/zip 炸弹/别名炸弹)与性能优化。
系统讲解领域特定语言(DSL)设计:内部 DSL(fluent API、运算符重载)vs 外部 DSL(语法设计、ANTLR)、表达式求值与 AST、类型安全 DSL、真实案例(SQL/正则/Gradle)与设计原则。
计算机科学的知识版图并非整齐划分的领域网格,总有一些跨越多个学科边界、或因独特视角而不易归入单一专题的知识点存在。这些「边缘知识」往往是解决复杂问题的关键洞察——如形式语言中的 BNF/EBNF 是理解编译器原理的基础工具,正则引擎与灾难性回溯揭示了文本处理的性能边界,序列化格式全景连接了 API 与大数据。本页作为这些跨界知识的聚合入口,收录巴科斯范式语法描述、正则表达式深层解析、数据序列化对比、Unicode 编码、时间与时区、DSL 设计与命令行文本处理工具链等独立技术文章,并扩展算法复杂度速查(Big-O/主定理/摊还分析)、数据压缩原理(Huffman/LZ/Deflate/zstd)、二进制与编码工具(Base64/Hex/xxd/字节调试)、文本相似度与模糊匹配(编辑距离/Jaro/SimHash)、标识符设计(UUID v4/v7/ULID/雪花)与通配符 Glob 匹配,并进一步覆盖 JSON/YAML 处理、日志解析、diff/patch、代码格式化器、正则引擎内部与 CLI 交互生态,并扩展十大排序算法、哈希表与一致性哈希、图论算法、概率统计基础、终端与 Shell 生态进阶、Markdown 与文档工程,最新一批再补齐浮点数与 IEEE 754、随机数与熵、状态机设计、网络诊断工具箱、列式数据格式(Parquet/ORC/Arrow)与 Git 内部原理,为系统性学习提供意外的知识连接。
系统梳理程序员日常开发中常用的 IDE、编辑器、Git、CI/CD、调试、测试、数据库、容器、云服务、文档和协作工具,并给出不同阶段的选择建议。