分类 Obsidian 下的文章

Obsidian

SDK (Software Development Kit)

“软件开发工具包”你可以把 SDK 看作一个产品,而 API 是该产品提供的功能接口。API 就像是插座上的接口:它只规定了如何连接(输入什么参数,返回什么数据),而不负责给你提供实现这些功能的代码。SDK 是为了让你用得更爽:为了让你调用 API 时更方便,厂商把调用 API 所需的所有逻辑、数据结构定义、网络请求处理代码、辅助工具全部封装在一起,打包成一个 SDK。举个实际的例子: 假设你要在

Obsidian

Unicode 与编码 (Unicode and Encoding)

Unicode 是字符集,负责给字符分配统一编号;编码方式负责把这些编号存成字节。核心区分字符 (Character):人能理解的符号,如 中、A、🙂。码点 (Code Point):Unicode 分配的编号,如 U+4E2D。编码 (Encoding):把码点转成字节的规则,如 UTF-8、UTF-16。UTF-8UTF-8 是 Web 和现代文本文件中最常见的编码方式。它对英文兼容 ASCI

Obsidian

VS Code 正则表达式搜索 (Regex Search)

VS Code 搜索框支持正则表达式,可以用来查找复杂模式,而不只是普通关键词。开启方式在搜索框中点击 .*,即可启用正则搜索。常用模式TODO|FIXME查找 TODO 或 FIXME。console\.log\(.+\)查找简单的 console.log(...)。[\u200B-\u200D\uFEFF]查找常见零宽字符。注意正则里的 .、(、)、[ 等符号有特殊含义。如果要搜索字面量,需要

Obsidian

VS Code 零宽字符防护机制 (Zero-width Character Protection)

零宽字符 (Zero-width Characters) 是肉眼看不见但实际存在的 Unicode 字符。它们可能导致代码比较、字符串匹配、配置解析或安全审计出现异常。常见风险变量名或字符串里混入不可见字符,导致看起来一样、实际不同。复制网页内容时带入隐藏字符。在域名、标识符或配置中制造混淆。VS Code 中的处理方式开启 Unicode 高亮:editor.unicodeHighlight.i

Obsidian

上层包装(Wrapper)

1. 核心定义Wrapper 是一种设计模式,旨在通过一层抽象代码,将原本复杂、难用或接口不匹配的底层功能,转换为更易于使用且符合业务逻辑的接口。本质上是屏蔽底层实现,降低系统耦合。2. 典型应用场景:LLM 接口统一在调用 LLM(如 OpenAI、Claude 等)时,直接使用原始 API 会产生大量重复的样板代码(构造 messages 数组、配置参数、异常捕获、流式处理等)。封装前(痛点)