交易系统:TCPSocket 类 交易系统:TCPSocket 类 交易系统:TCPSocket 类 2026年9月17日 2026年9月17日 September 17, 2026 这个类封装了最多的网络相关系统调用。 TCPSocket 的成员对象 下面逐个逐个来解释: 需要把 socket 作为应用层概念与作为内核概念分开理解:作为应用层的 socket 就是我们在这里定义的 TCPSocket,负责管理应用层缓冲...
交易系统: 无锁队列 交易系统: 无锁队列 交易系统: 无锁队列 2026年9月14日 2026年9月14日 September 14, 2026 在交易系统当中,同机器上的不同线程之间通过放在共享内存的无锁队列来互相通信,且通信的情况限制在单方向、一对一的通信,不存在多个生产者、多个消费者的情况。可以使用 Ring Buffer 来高效且优雅实现这种 SPSC (Single Pro...
交易系统:撮合引擎运行态及通信机制 交易系统:撮合引擎运行态及通信机制 交易系统:撮合引擎运行态及通信机制 2026年9月14日 2026年9月14日 September 14, 2026 交易所主程序 exchange_main exchange_main 负责创建交易所组件和它们之间的队列,启动 Matching Engine,并在收到终止信号后协调清理退出。 全局变量和 main() 函数 这里其实可以总结一下在本书当中...
C++:模板 C++:模板 C++:模板 2026年9月13日 2026年9月13日 September 13, 2026 template 提供: 参数化类型:用类型参数生成具体类型 参数化操作:函数模板、函数对象、Lambda 编译期实例化 类型检查(特别是有 C++ 20 引入的 Concept 之后) 零运行时抽象成本:template 不会因为泛化带来...
C++: 对象和资源生命周期 C++: 对象和资源生命周期 C++: 对象和资源生命周期 2026年9月12日 2026年9月12日 September 12, 2026 这是学习 *A Tour of C++*, by Bjarne Stroustrup: Chapter 6 "Essential Operations" 当中 6.1 ~ 6.3 节的读书笔记。 本篇笔记的内容可以分为 2 个部分: cop...
交易系统:撮合引擎当中的限价订单簿 交易系统:撮合引擎当中的限价订单簿 交易系统:撮合引擎当中的限价订单簿 2026年9月10日 2026年9月10日 September 10, 2026 撮合引擎实质上是一个单线程、确定性的订单簿状态机 它按顺序接收 NEW 或 CANCEL 请求,修改某个交易品种的订单簿,同时产生两类结果: 私有结果只发送给相关客户 公开结果用于构建市场数据流 本篇笔记先讨论撮合引擎最核心的部分:订单簿。...
交易系统中的 C++ 网络编程(TCP篇) 交易系统中的 C++ 网络编程(TCP篇) 交易系统中的 C++ 网络编程(TCP篇) 2026年9月8日 2026年9月8日 September 8, 2026 回顾一下这章交易系统拓扑图:在左边的行情传输部分通常使用 UDP,而右边的订单数据传输部分通常使用 TCP。本篇笔记主要关注右侧订单传输部分。 alt text 建立连接 客户端一侧 右侧负责传输订单信息的部分,使用 TCP 协议。下方是...
外脑:按记忆组织的 agent 工作区 外脑:按记忆组织的 agent 工作区 外脑:按记忆组织的 agent 工作区 2026年9月6日 2026年9月6日 September 6, 2026 每次对话都从失忆开始 每次新会话开始,agent 都是失忆的。它不知道上周你为什么否掉那个方案,不知道你习惯先算风险再看收益,也不知道三个月前你刚踩过同一个坑。提示词里能补几句,但装不下一个人。 这个缺陷和人的遗忘几乎同构,而人的解法从来都...
C++20: Concepts 和泛型编程 C++20: Concepts 和泛型编程 C++20: Concepts 和泛型编程 2026年8月20日 2026年8月20日 August 20, 2026 这是学习 A Tour of C++ by Bjarne Stroustrup Chapter 8 "Concepts and Generic Programming" 的读书笔记。 concept 是用来在编译期检查【当前类型是否满足某些...
交易系统:使用 C++ 内存池避免动态内存分配 交易系统:使用 C++ 内存池避免动态内存分配 交易系统:使用 C++ 内存池避免动态内存分配 2026年8月20日 2026年8月20日 August 20, 2026 这是学习 《Building Low Latency Applications With C++: Develop a Complete Low Latency Trading Ecosystem From Scratch Using Mo...
交易系统架构简介 交易系统架构简介 交易系统架构简介 2026年8月20日 2026年8月20日 August 20, 2026 交易系统架构简介 这是学习 《Building Low Latency Applications With C++: Develop a Complete Low Latency Trading Ecosystem From Scratch...
C++20: Ranges、view 和 concepts C++20: Ranges、view 和 concepts C++20: Ranges、view 和 concepts 2026年8月19日 2026年8月19日 August 19, 2026 这是学习 A Tour of C++ by Bjarne Stroustrup Chapter 14 Ranges 的读书笔记 传统 STL 很早就有 range 的思想,即“任何能按顺序遍历元素的对象或表达式”。传统做法是用一对迭代器来表...
automate everything automate everything automate everything 2026年7月30日 2026年7月30日 July 30, 2026 Claude Code's creator has some really good advice 观后感 现在,为 codebase 里的具体问题写定制化自动化工具,越来越值得了。 以前我可能会觉得,给项目写一个很特殊的 lint rul...
A Design Space for Multiscale Visualization 论文阅读 A Design Space for Multiscale Visualization 论文阅读 A Design Space for Multiscale Visualization 论文阅读 2026年6月17日 2026年6月17日 June 17, 2026 论文:Mara Solen、Matt Oddo、Tamara Munzner,_A Design Space for Multiscale Visualization_。 设计空间案例站:Multiscale Visualization D...
通过 nanoGPT 学习 GPT 的基本原理 通过 nanoGPT 學習 GPT 的基本原理 通过 nanoGPT 学习 GPT 的基本原理 2026年6月11日 2026年6月11日 June 11, 2026 这篇文章整理自自然语言处理课程实验报告,主要结合 GPT 原始论文和 src/gpt/gpt_reference.py 的实现,理解 GPT 的模型结构、关键模块与生成流程。这里的实现可以看作一个单文件版本的 decoder-only Tr...
简单的 Word2vec 的 CBOW 和 Skip-gram 实现 简单的 Word2vec 的 CBOW 和 Skip-gram 实现 简单的 Word2vec 的 CBOW 和 Skip-gram 实现 2026年6月4日 2026年6月4日 June 4, 2026 这篇文章整理自自然语言处理课程实验报告,目标是用一个很小的英文语料实现 Word2vec 的两种经典架构:CBOW(Continuous Bag-of-Words)和 Skip-gram。实现刻意保持简单,只使用 PyTorch 的 Emb...