人工智能
从大语言模型到 RAG、Agent 与本地 AI 工具,记录原理、工程实现和实践经验。

从大语言模型到 RAG、Agent 与本地 AI 工具,记录原理、工程实现和实践经验。
整理计算机科学与图形学常用的数学基础、直观推导和数值方法。
汇总常见数据结构、算法范式、题目分析与可复用的解题方法。
记录游戏引擎、玩法系统、渲染管线以及 Unity、Unreal 等项目实践。
对比 C++、Go、Rust、C#、Python、SQL 等语言的语法、运行时与工程实践。
记录绘画基础、观察方法、造型练习以及面向视觉创作的学习过程。
从 GAMES 系列课程到 Vulkan 与实时渲染,梳理图形学理论和实现。
聚焦操作系统、体系结构、编译原理以及并发等底层系统知识。
记录架构、设计模式、后端开发、工具链与可维护软件的工程方法。
收录游戏、ACG、技术与生活中的观察、体验和阶段性思考。
Pointer to Implementation, 其核心思想是让公开类只保存一个指向真正实现对象的指针,保证对外暴露稳定干净的接口,同时隐藏掉内部的实现细节
尝试接入 QQ Bot, 遇到一些小问题, 顺手记录一下
简单来说,在存储大量字符串时, 往往会出现大量公共 prefix, 那么 Trie 将这些公共 prefix 对应的状态共享,通过字符作为状态转移条件,这样从 root 沿路径游走即可表示一个字符串
简单来说,是对一段连续对象序列的非拥有视图 —— 比如我们通常会使用vector,array,或者其他方式来表示一段连续空间,那么提出span看似没有什么用途,不过为什么依然会频繁的出现在接口设计当中?
众所周知,存储元素,动态扩容,连续存储的容器 —— vector
不过对其的性能和一些使用上的坑点(?,进行一个简单的记录
一个基础的双 Pass 计算阴影的算法,这篇先说最基础的 Shadow Map,至于优化方法后面再说.
其核心思维是先通过一个 Pass 从光源出发,知道光源可以“到达”的点,然后在第二个 Pass 做 Shading 的时候再借助第一个 Pass 生成的 Shadow Map 来进行可见性分析