- 博客(1098)
- 资源 (9)
- 问答 (41)
- 收藏
- 关注
原创 数据持久化的底层写入方式完全指南
写入技术核心价值一句话记忆WAL性能 + 可恢复顺序写日志,异步写数据Checkpoint缩短恢复时间定期批量刷脏页Direct I/O控制权交应用绕过系统缓存mmap简化编程把文件当内存用双写缓冲区防止页断裂先写缓冲区,再写数据文件保证写序确保关键写入先完成。
2026-06-22 12:22:41
177
原创 Web3 EVM 是什么?
EVM 是以太坊的“计算引擎”——它让区块链从一个只能转账的“账本”,进化成了一台全球共享、永不宕机、无需信任的分布式计算机,是整个 Web3 生态的基石。如果你想继续了解EVM 兼容链和非 EVM 链(如 Solana 的 SVM)的具体区别,或者想学习如何部署一个智能合约到 EVM 上,我可以为你进一步展开。
2026-06-22 11:13:10
308
原创 Loop Engineering 简介
最近,AI 圈的新概念越来越多:Prompt Engineering、Context Engineering、Harness Engineering、Loop Engineering。AI 的任务单位变了。过去,我们更关心“怎么让模型回答好一个问题”,所以重点是提示词。后来发现,光把 Prompt 写得更长、更细,并不能解决可靠性问题。模型还需要正确的历史记录、外部数据、工具权限、记忆状态和任务目标,于是有了 Context Engineering。
2026-06-16 15:27:01
340
原创 Harness Engineering 简介
Harness Engineering(驾驭工程)是指为AI智能体(Agent)设计、构建和维护一套完整的运行环境、约束规则与反馈闭环的工程方法论。这个名字源于一个形象的比喻:Harness 的本意是“马具”——给马套上缰绳和挽具,不是为了限制马的力量,而是为了有效控制它,让它能够按照骑手的意图精准工作。同理,Harness Engineering不是要限制AI模型的能力,而是通过工程手段让它变得可控、可靠、可落地。一句话核心:“人类掌舵,智能体执行”
2026-06-16 15:03:37
345
原创 Claude 的 Skill Plugin 和 Command 的区别
Skill 是"能力本体",Command 是其"手动触发形态",Plugin 是"分享这些能力的打包工具"。先用 Skill 实现需求 → 想分享时再打包成 Plugin。不需要纠结"该用 Skill 还是 Plugin"——这个问题本身不成立,因为它们在完全不同的层面上。
2026-06-15 10:33:52
185
原创 git grep
git grep用于在 Git 仓库中搜索文本。它会自动忽略.gitignore中声明的文件(如.idea/),并针对 Git 仓库进行了性能优化。搜索某个函数、变量、类名在哪里被定义或调用查找特定错误信息或日志输出按文件类型、行号、上下文过滤搜索结果。
2026-06-10 17:58:47
199
原创 git fetch
git fetch用于从远程仓库下载最新的提交、分支和标签,但不自动合并到当前分支。将远程仓库的更新下载到本地的远程跟踪分支(如不会修改你当前的工作区或当前分支让你可以先查看远程更新,再决定是merge还是rebase与git pullgit pullgit fetchgit merge(自动合并)git fetch= 只下载,不合并(更安全)
2026-06-10 17:50:47
271
原创 git reflog
git reflog用于查看本地仓库的引用日志。它记录了HEAD和分支引用在本地仓库中的每一次移动(如提交、切换分支、合并、重置等)。找回因git resetgit rebase等操作“丢失”的提交查看本地仓库的操作历史恢复误删的分支与git loggit log:显示提交历史(可被同步)git reflog:显示本地引用移动的历史(仅本地,不同步)git log只能查看从某个引用(默认 HEAD)出发“能追溯到”的提交历史(即按父子关系向前追溯)。git reflog。
2026-06-10 16:33:30
265
原创 git revert
git revert用于撤销部分现有提交。git revert不会删除历史提交记录,会用一个新的提交来消除历史提交所做的修改。新提交的内容是“反向”的——即撤销指定提交所引入的变更。与git reset不同,git revert是安全的,因为它不修改历史,适合用于已推送到远程仓库的公共分支。撤销已经推送到远程的提交撤销公共分支(如main)上的错误提交需要保留完整历史记录的场景。
2026-06-10 15:57:54
231
原创 git show
git show用于查看一个对象(提交、标签、树或文件)的详细信息。最常用于查看某次提交的变更内容。查看某次提交改了什么查看某个文件的特定版本查看标签的详细信息。
2026-06-10 12:52:02
326
原创 git log
git log用于查看提交历史。它显示提交哈希、作者、日期和提交信息,是了解项目演进历史的核心命令。查看项目的提交记录搜索特定提交查看某个文件的修改历史统计代码贡献如果记录过多,则按 Page Up、Page Down、↓、↑ 键来控制显示,按 q 退出历史记录列表。
2026-06-09 19:39:16
157
原创 git clean
git clean用于删除工作区中未被 Git 跟踪的文件和目录。这些文件通常是编译产物、临时文件或 IDE 生成的文件。清理编译生成的.o.exe等文件删除未跟踪的临时文件或日志恢复到干净的工作区状态。
2026-06-09 17:30:31
117
原创 git blame
git blame用于查看文件中每一行代码的最后修改信息,包括修改人、修改时间和对应的提交哈希。git blame告诉你“这行代码是谁写的、什么时候写的”。定位 bug 是谁引入的了解某行代码的修改原因代码审查时追溯历史。
2026-06-09 17:18:18
111
原创 git cherry-pick
用于应用某些现有提交引入的更改。可以将指定的提交(commit)复制到当前分支。它不会合并整个分支,而是只挑选你需要的某几个提交。修复 bug 的提交需要同步到其他分支不小心在错误分支上做了提交,想移植到正确分支只想要某个功能分支上的部分提交,而不是全部。
2026-06-09 16:51:14
221
原创 git rebase
git rebase用于在另一个基点上重新应用提交。rebase 名为变基,可以直接理解为改变基底,即将一系列提交按照原有次序依次应用到新的基底,使提交历史保持线性整洁。git merge:创建合并提交,保留完整历史(会有分叉)。git rebase:不创建合并提交,历史变为一条直线。将功能分支的提交“移动”到最新的main分支上,使提交历史整洁。交互式变基 (-i) 用于合并、修改或删除提交。
2026-06-09 16:28:43
277
原创 git remote
git remote命令用于管理远程仓库。通过该命令,您可以查看、添加、重命名或删除与本地仓库关联的远程仓库。简单来说,git remote帮助您管理本地仓库与远程仓库之间的连接关系,是 Git 协作开发中的重要工具。
2026-06-09 15:13:58
239
原创 git push
git push用于将本地仓库的提交推送到远程仓库。git push把你本地提交的代码上传到远程服务器(如 GitHub、GitLab)。# 基本对应关系# 将当前分支推送到远程的同名分支。
2026-06-09 14:34:58
208
原创 git pull
git pull是 Git 中最常用的命令之一,用于从远程仓库拉取最新代码并合并到当前分支。git fetch:从远程下载最新代码(不自动合并)git merge:将下载的代码合并到当前分支⚠️git pull会自动执行合并,可能会产生合并提交。如果希望避免自动合并,可以使用。
2026-06-09 12:54:58
293
原创 git merge
git merge用于将两个或多个分支的修改合并到一起。通常用于将功能分支(feature)合并回主分支(main/master)。快进合并(Fast-forward):当前分支没有新提交,直接将指针向前移动三方合并(3-Way Merge):两个分支都有新提交,创建一个新的合并提交。
2026-06-09 10:57:47
185
原创 《富爸爸巴比伦最富有的人》金句
6000年前使巴比伦大街上充满了熙熙攘攘的有钱人的那些法则,至今仍然在发挥作用。财富是度量俗世成功的尺度。财富使人能够享受到俗世所能够提供的最大快乐。财富是对勤劳和智慧的奖赏,也是通向精神自由的桥梁。对于那些懂得致富法则的人来说,财富从不匮乏。
2026-06-08 09:01:39
231
原创 git rm
git rm命令用于从 Git 仓库和工作区中同时删除文件。它会将删除操作记录下来,等待下一次提交。与直接使用rm命令删除文件不同,git rm会同时更新暂存区,省去了git add的步骤。注意,git rm无法删除未受版本控制的文件(untracked file)。
2026-06-05 17:26:28
302
原创 git status
git status用于查看当前工作区(Working Directory)和暂存区(Staging Area)的状态。git status是 Git 中最常用的命令之一,它能告诉你哪些文件被修改了、哪些文件被暂存了、哪些文件未被跟踪。
2026-06-05 16:55:37
226
原创 认识 ProtoBuf 的 wiretype
Wire Type 是 protobuf 二进制编码中,用来标识字段在 wire 上采用哪种编码方式(varint、固定长度、或带长度前缀)的类型标识(低 3 位)。它决定了解析器如何读取该字段的值,是实现 protobuf 高效编码和向后兼容的关键机制。
2026-06-05 09:43:13
243
原创 git add
git add的核心作用是,为下一次git commit做准备。你可以把git add想象成一个,让你有选择地决定哪些改动需要被记录到下一次提交中。
2026-06-02 20:30:14
303
原创 git checkout
是 Git 中一个功能强大的命令,主要用于切换分支和恢复工作区文件。它可以帮助你在不同分支之间快速切换,也可以将文件恢复到之前的某个提交状态。不过需要注意的是,由于承担了两种不同的职责,Git 2.23 版本引入了更专用的git switch(切换分支)和(恢复文件)命令。但依然广泛使用,理解它仍然很有必要。
2026-05-27 21:05:55
378
原创 Rust 属性语法
Rust 中的属性(Attribute)是一种元数据注解,用于向编译器或工具传递额外信息。它们以#[]或[]开头,可以附加在 crate、模块、函数、结构体、枚举等代码元素上。它们不会影响代码的业务逻辑,而是指导编译器如何编译、进行何种检查,或为代码生成特定的实现。Rust 属性#[]是给编译器和工具的“指令”,用于自动生成代码、控制编译条件、管理警告等。有外属性#[](作用于下方元素)和内属性[](作用于整个容器)两种形式。
2026-05-25 16:17:52
495
原创 Rust 结构体分类
Rust 结构体根据字段定义方式分为具名字段、元组、单元三种;此外还可以按可见性、泛型、生命周期进一步分类。Rust 中的结构体(struct)根据其字段定义方式,主要分为。
2026-05-25 15:57:39
102
原创 Rust 中的字符串 slice 是什么?
在 Rust 中,字符串 slice&str)是一个对 UTF-8 编码的字符串数据段的不可变引用。它是 Rust 核心字符串类型之一,用于在不拥有数据所有权的情况下,高效地访问字符串的一部分或全部。语法&str本质:一个胖指针(fat pointer),包含两部分:指向底层 UTF-8 字节序列的指针。字符串的长度(单位是字节,不是字符数)。内存位置:可以指向静态内存(如字符串字面量)、堆内存(如String的某一部分)或栈内存(极少见)。可变性不可变,不能修改其指向的内容。&str。
2026-05-23 16:06:47
366
原创 Rust 中 package crate 和 module 的关系
一个包(Package)可以包含一个或多个Crate,每个Crate则由若干Module组成。概念 (Rust)在Rust中的含义对应Go的概念包 (Package)由一个Cargo.toml文件构建的单元,可以包含一个或多个Crate。是最高层的代码组织单元。❌无直接对应。Go的工作区(Workspace)功能与之略有相似,但定位不同。Crate一个独立的编译单元,可以被编译成一个可执行文件或一个库。是版本控制和依赖管理的基本单元。✅go.mod模块 (Module)一个Crate内部的。
2026-05-21 10:35:46
453
1
原创 git worktree
是 Git 提供的多工作区管理命令,允许你一个仓库拥有多个并存的、相互独立的工作目录,每个工作区可以检出不同的分支。这些目录共享同一个 Git 仓库(即共享.git目录),因此你可以在不影响主工作区的情况下,并行处理多个分支的任务。
2026-05-03 18:11:48
673
原创 AI 编程范式
AI 编程范式,指的是人与 AI 在协作编写代码过程中,所形成的不同工作模式与分工方式。从最初的“人写代码、AI 补全”,到如今的“AI 自主规划、执行、交付”,这些范式随着 AI 能力的增强持续演进。目前主流的 AI 编程范式可以分为以下五个层级,从“人类主导”逐渐过渡到“AI 主导”:fill:#333;important;important;fill:none;color:#333;color:#333;important;fill:none;fill:#333;height:1em;人类主导。
2026-05-03 11:59:25
774
原创 git clone
git clone 命令用于将远程仓库克隆到本地。它会下载整个仓库,包含所有文件、历史提交和分支信息,并自动在本地创建一个与远程仓库同名的文件夹。git clone 类似于 SVN 的 check out,只有将远程仓库克隆到本地,才可以通过对本地代码进行修改后再提交至远程服务端。-o。
2026-05-02 10:40:54
556
原创 AI Agent Skills 是什么?
AI Agent Skill(也称为 AI Skill 或 Agent Skill)是一种将 AI 的通识能力封装为可复用的专业能力的标准化单元。你可以将它理解为给 AI 这个“通才毕业生”配发的“专业上岗证”或“技能执照”——有了对应的 Skill,AI 才能被“激活”,去可靠地完成特定领域的专业任务。AI Agent Skill 是 AI 从通用对话迈向专业应用的关键一步。它通过标准化和结构化,解决了传统 Prompt 结果不稳定、难以复用和共享的核心痛点。本质。
2026-04-30 15:12:04
730
原创 口播视频入门详解
口播视频是指创作者以第一人称视角,直接面对镜头进行口头表达、观点输出或信息传递的短视频形式。它是当前自媒体领域门槛最低、人设穿透力最强的内容形态。
2026-04-26 19:12:59
1621
原创 Rust 特色概念与 Go 到 Rust 的思维模式转变
第一阶段:核心思想 (1-2周)放弃:别再想 GC 了。理解“所有权”、“借用”和“生命周期”。这是所有转变的基础。实践:通过rustlings课程中的所有权和借用章节,熟悉move和&mut的使用。第二阶段:数据建模与并发 (2-4周)放弃nil和默认的“值拷贝”。拥抱Option<T>和类型,以及Clone和Copytrait。实践:尝试用enum和struct重写你熟悉的 Go 数据模型,并使用和channel实现一个并发的例子。第三阶段:异步编程与实战 (3-6周)放弃。
2026-04-22 13:55:46
618
原创 认识 RPC 的不同模式
远程过程调用(RPC,Remote Procedure Call)的核心思想是让调用远程服务像调用本地函数一样自然。但在工程实践中,根据不同的业务需求和技术场景,RPC 演化出了多种实现模式。这里整理了四种最核心的模式,可以帮助你建立一个清晰的认知框架。
2026-04-14 15:52:19
612
1
原创 DYOR 博通 AVGO.US
半导体业务:定制AI芯片(ASIC)是其主要收入来源,与Google等超大规模客户有长期合作协议软件业务:以VMware为核心,提供稳定的经常性收入需要关注的因素Google TPU的后续代际升级节奏是否新增其他超大规模客户软件业务(特别是VMware)的整合成效美国对华半导体出口管制政策的演变。
2026-04-12 22:42:42
400
原创 每天认识一种投资品类:债券基金
债券基金,顾名思义,是指专门投资于债券的基金。它通过汇集众多投资者的资金,对债券进行组合投资,以追求相对稳定的收益。简单来说,如果你自己去银行买一张国债,那就是直接投资债券;如果你把钱交给基金经理,让他帮你买一篮子国债、金融债、企业债等,那你买的就是债券基金。根据监管规定,基金资产80%以上投资于债券的,才能称为债券基金。债券基金是“介于货币基金和股票基金之间”的稳健型投资工具,适合1-3年的闲钱理财和资产配置的底仓。如果你。
2026-04-12 19:01:59
593
tinyxml2+示例代码+介绍文档
2015-09-26
rz命令如何上传文件夹
2017-05-07
HTML 如何设置图片宽高分别为原宽高的不同比例?
2020-08-22
Google C++编程风格指南中6.10节流中不支持字符串操作符重新排序 什么意思
2018-08-05
C++模板元编程和编写模板有什么区别?
2018-06-17
g++ -S将源码编译成汇编代码,使用的是哪个工具?
2018-06-11
缓冲溢出,为什么不报错?
2018-05-16
从长度为n的数组中找出同时满足下面两个条件的所有元素,时间复杂度为O(n)。
2018-05-28
为什么C++局部数组变量地址间隔是16字节的倍数?
2018-05-17
RLF、HRLF控制字符到底是什么
2018-05-10
printf关于浮点数的四舍五入的奇怪问题?
2018-05-09
stringstream的输入与输出的用法
2018-03-19
使用JS如何获取剪贴板内容
2018-03-06
Linux命名管道为什么叫FIFO?
2018-02-07
Linux下printf与wprintf不能同时使用?
2018-01-15
C标准库函数setvbuf的名称全称
2018-01-15
mysql count distinct 加条件
2017-06-15
awk如何获取除最后一行的所有行?
2017-05-19
CSS浮动为什么不会遮盖同级元素
2015-09-17
Linux下系统调用execl会等待一段时间才执行指定的可执行程序?
2015-09-11
为什么 Go range slice 时通过下标和值拷贝的性能是一样的?
2022-03-17
反向代理的上游服务指的是什么?
2021-03-12
Golang 接口类型可以有数据成员吗
2020-12-02
git branch -dr origin/<branchname> 无法删除远端分支
2019-09-16
golang main包可以被import吗
2019-06-11
GoLand 如何自动批量换行
2020-10-07
ssh客户端为什么不指定端口也可以登录成功
2019-02-15
Golang 如何进行标准错误输出
2019-12-24
golang小数默认是float32还是float64?
2019-05-28
golang const 可以修饰函数形参吗
2019-05-28
ldconfig命令全称是什么呢?
2019-04-02
Linux中 链接器 ld 命令的全称是什么英文单词?
2019-03-12
golang的struc成员后跟字符串有什么作用?
2019-03-15
ssh命令默认端口如何查看
2019-02-15
C/C++的预处理文件的后缀为什么约定为.i
2019-01-24
go为什么不能获取字符串某个字符地址?
2019-01-13
date命令将时间戳转为可读时间为什么需要加@符号
2018-12-06
GNU C++定义对象时对象名称被括号包围且前面有个下划线是什么意思
2018-10-09
git merge可以操作远端分支吗?
2018-08-16
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅