"共轭"和"对偶",这俩词在数学里出现频率高得离谱——复数共轭、Hermitian 共轭、群中共轭、对偶空间、对偶问题、Legendre 对偶……它们是碰巧同名,还是共享着某种深层结构?
笔者一直隐隐觉得这俩有关系,又说不清楚。
所以我跟 AI 聊了一轮,从复数一路干到范畴论,最后把这两者串起来了。非常"啊哈"。这篇就是整理版。
从复数开始
,它的共轭是 。

——「」
"共轭"和"对偶",这俩词在数学里出现频率高得离谱——复数共轭、Hermitian 共轭、群中共轭、对偶空间、对偶问题、Legendre 对偶……它们是碰巧同名,还是共享着某种深层结构?
笔者一直隐隐觉得这俩有关系,又说不清楚。
所以我跟 AI 聊了一轮,从复数一路干到范畴论,最后把这两者串起来了。非常"啊哈"。这篇就是整理版。
z=a+bi,它的共轭是 zˉ=a−bi。
pdoc 是一个用于为 Python 项目自动生成文档的工具,支持生成 HTML 或 Markdown 格式,适合快速构建 API 文档。
使用 pip 安装 pdoc:
pip install pdoc
C++17 引入了结构化绑定和模板参数包展开,使得我们可以优雅地实现 lambda 重载模式。该模式常用于 std::visit 等需要对多种类型进行分派的场景。
核心代码如下:
// 定义一个模板结构体,将多个 lambda 继承并展开 operator()
template <class... Ts> struct overloaded : Ts... {
using Ts::operator()...;
};
template <class... Ts> overloaded(Ts...) -> overloaded<Ts...>;
# 示例配置(Zsh)
. $HOME/.asdf/asdf.sh
export PATH=$HOME/.asdf/shims:$PATH
asdf set -u nodejs latest本文介绍如何在 VSCode 下配置 Google Test 的断点调试环境,包括 launch.json 和 tasks.json 的标准写法,以及调试流程说明。
在 .vscode/launch.json 中添加如下内容:
{
"version": "0.2.0",
"configurations": [
{
"name": "Debug GTest (Auto)",
"type": "cppdbg",
"request": "launch",
"program": "${command:cmake.launchTargetPath}",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "lldb",
"preLaunchTask": "cmake: build"
}
]
}
架构图实际上包含了所有的底层设计细节,这些细节共同支撑着顶层的架构设计。底层设计信息与顶层架构设计相辅相成,共同构成了完整的系统架构文档。
软件架构的终极目标,是以最小的人力成本,满足系统的构建与维护需求。
混乱的架构带来的成本变化:
行为价值:让机器按照指定方式运转,为系统使用者创造或提升利润。
架构价值:降低变更成本。
理论上,没有什么程序是不能修改的。但在现实中,某些系统的变更成本可能远远高于变更本身带来的价值,导致系统实际上无法更改。
Tips
如果你问业务部门是否希望能够变更需求,他们通常会肯定地回答,并补充一句:完成当前功能比实现未来的灵活性更重要。但讽刺的是,当业务部门事后提出新需求,而你的工作量预估远超他们预期时,他们往往会因系统混乱、难以变更而愤怒。