<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[bitkevin的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/bitkevin</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; bitkevin]]></copyright><item><title><![CDATA[Anthropic工程师推荐的Fable 5实战指南：写代码前，先澄清你的未知项]]></title><link>https://blog.youkuaiyun.com/bitkevin/article/details/162588525</link><guid>https://blog.youkuaiyun.com/bitkevin/article/details/162588525</guid><author>bitkevin</author><pubDate>Sat, 04 Jul 2026 23:32:48 +0800</pubDate><description><![CDATA[Anthropic 工程师 Thariq Shihipar 分享了 Claude Fable 5 的实战方法：写代码前先澄清 unknowns。本文翻译并整理其核心思路，说明如何通过盲区扫描、头脑风暴、原型、访谈和实施笔记，更好地使用 Coding Agent。]]></description><category></category></item><item><title><![CDATA[告别繁琐重复工作：Codex Record & Replay功能深度解析]]></title><link>https://blog.youkuaiyun.com/bitkevin/article/details/162174944</link><guid>https://blog.youkuaiyun.com/bitkevin/article/details/162174944</guid><author>bitkevin</author><pubDate>Sun, 21 Jun 2026 17:11:21 +0800</pubDate><description><![CDATA[Codex 新增 Record & Replay 后，可以把一次真实电脑操作整理成可复用 Skill。本文以发票报销为示例，讲清它能解决什么、怎么用、优势和边界。]]></description><category></category></item><item><title><![CDATA[用 TrendRadar搭建自己的科技资讯日报系统]]></title><link>https://blog.youkuaiyun.com/bitkevin/article/details/162130175</link><guid>https://blog.youkuaiyun.com/bitkevin/article/details/162130175</guid><author>bitkevin</author><pubDate>Fri, 19 Jun 2026 23:36:01 +0800</pubDate><description><![CDATA[在信息过载时代，与其每天被动刷微信、X.com 和 GitHub，不如搭一套自己的科技资讯日报系统。本文记录如何用 TrendRadar、BestBlogs RSS 和 AI Agent，自动抓取、过滤、翻译并推送技术热点。]]></description><category></category></item><item><title><![CDATA[常见性能优化方法总结]]></title><link>https://blog.youkuaiyun.com/bitkevin/article/details/162030254</link><guid>https://blog.youkuaiyun.com/bitkevin/article/details/162030254</guid><author>bitkevin</author><pubDate>Tue, 16 Jun 2026 11:30:53 +0800</pubDate><description><![CDATA[本文系统梳理软件性能优化的方法论：先建立性能思维，用估算和基准测试判断优化价值，再借助 perf、VTune、benchmark 等工具定位瓶颈。文章从 CPU 流水线、执行端口、缓存、内存墙、分支预测、SIMD 向量化、LTO/PGO、指令集构建，到锁粒度、读写锁、原子操作、伪共享与 TLS，串起一套从测量到落地的优化清单。核心观点是别凭感觉调参，而要理解硬件限制、用数据验证收益，在可读性和复杂度可控的前提下，让代码更贴近机器真实执行方式。适合做性能排查、底层优化和高并发代码调优时的参考地图。值得反复看。]]></description><category></category></item><item><title><![CDATA[用AI御三家和Mac mini 搭了个私人生产力系统]]></title><link>https://blog.youkuaiyun.com/bitkevin/article/details/162005106</link><guid>https://blog.youkuaiyun.com/bitkevin/article/details/162005106</guid><author>bitkevin</author><pubDate>Mon, 15 Jun 2026 14:03:15 +0800</pubDate><description><![CDATA[从一张“新中产返贫四件套”梗图说起，聊聊我如何用 Google AI Pro、ChatGPT/Codex、Claude Code、DeepSeek 和一台 Mac mini，搭起自己的个人 AI 应用体系。]]></description><category></category></item><item><title><![CDATA[从零实现一个自己的 Agent：从 Agent Loop 到自进化智能体]]></title><link>https://blog.youkuaiyun.com/bitkevin/article/details/161959053</link><guid>https://blog.youkuaiyun.com/bitkevin/article/details/161959053</guid><author>bitkevin</author><pubDate>Sat, 13 Jun 2026 17:43:57 +0800</pubDate><description><![CDATA[过去一年 Agent 快速走热，Claude Code、Codex、OpenCode、OpenClaw、Hermes Agent 等项目不断出现。本文从 Hello-Agents 入门，讲解 Agent Loop、ReAct、Plan-and-Solve、Reflection、工具调用、记忆和上下文工程，再深入分析 GenericAgent 如何用 9 个原子工具、分层记忆和上下文压缩实现自进化，最后对比 Hermes Agent 的平台化设计与记忆机制。]]></description><category></category></item><item><title><![CDATA[接手祖传项目别硬啃源码了：我用 Understand Anything 先画了一张代码图谱]]></title><link>https://blog.youkuaiyun.com/bitkevin/article/details/161665375</link><guid>https://blog.youkuaiyun.com/bitkevin/article/details/161665375</guid><author>bitkevin</author><pubDate>Wed, 03 Jun 2026 22:39:38 +0800</pubDate><description><![CDATA[你有没有接手过这样的项目：目录很多，入口不明显，调用链绕来绕去；问同事，对方也只能说一句“你先自己看看”。这时候直接从源码第一行开始读，往往很快就会迷路。
最近我用 Understand Anything 跑了一个十年历史的老项目。它可以把代码仓库转成可交互的可视化图谱，让我们先看清模块边界、核心调用链和领域流程，再决定从哪里深入读源码。]]></description><category></category></item><item><title><![CDATA[Envoy架构介绍与配置说明]]></title><link>https://blog.youkuaiyun.com/bitkevin/article/details/122355223</link><guid>https://blog.youkuaiyun.com/bitkevin/article/details/122355223</guid><author>bitkevin</author><pubDate>Thu, 06 Jan 2022 23:43:09 +0800</pubDate><description><![CDATA[nvoy 是专为大型现代 SOA（面向服务架构）架构设计的 L7 代理和通信总线,它是Istio中的Sidecar官方标配。本文详细介绍了envoy的设计思想、整体架构、filter chain机制、xDS更新和envoy配置使用说明。]]></description><category></category></item><item><title><![CDATA[无聊与兴奋 《幸福之路》读书笔记]]></title><link>https://blog.youkuaiyun.com/bitkevin/article/details/122282604</link><guid>https://blog.youkuaiyun.com/bitkevin/article/details/122282604</guid><author>bitkevin</author><pubDate>Sun, 02 Jan 2022 23:34:32 +0800</pubDate><description><![CDATA[自从人类进入农耕时代，无聊就始终与我们同行。农耕让人们定居下来，每天都重复单调地耕作或养育子女。进入工业时代，社会分工的精细化，更加剧了工作的单调性，并且随着生产力的提高人们有了大量的闲暇时间需要打发。而在娱乐很少的年代，人们自然会感到无聊。那么在如今这个娱乐至死的年代，我们就不无聊了吗？有了更多的娱乐，得到了更多的即使兴奋刺激，保持一定时间高强度的刺激之后，这种强度的刺激渐渐被接受，从而需要更高的刺激。从前看小说就能得到很多的感官刺激，有了影像之后电影电视更受欢迎。而如今一个半小时的电影都...]]></description><category></category></item><item><title><![CDATA[STL标准库设计原理与使用]]></title><link>https://blog.youkuaiyun.com/bitkevin/article/details/122140920</link><guid>https://blog.youkuaiyun.com/bitkevin/article/details/122140920</guid><author>bitkevin</author><pubDate>Sat, 25 Dec 2021 11:51:52 +0800</pubDate><description><![CDATA[本文详细介绍了C++ STL(标准模板库)各个常用容器的底层数据结构与实现和典型使用方法，对理解和正确使用STL有一定帮助。]]></description><category></category></item><item><title><![CDATA[STL常用算法说明]]></title><link>https://blog.youkuaiyun.com/bitkevin/article/details/122018680</link><guid>https://blog.youkuaiyun.com/bitkevin/article/details/122018680</guid><author>bitkevin</author><pubDate>Sat, 18 Dec 2021 23:24:45 +0800</pubDate><description><![CDATA[C++ STL库实现了很多常用的算法，基本都在<algorithm>头文件下，掌握它们对提高开发效率很有用]]></description><category></category></item><item><title><![CDATA[docker常用命令]]></title><link>https://blog.youkuaiyun.com/bitkevin/article/details/121368235</link><guid>https://blog.youkuaiyun.com/bitkevin/article/details/121368235</guid><author>bitkevin</author><pubDate>Wed, 17 Nov 2021 00:06:04 +0800</pubDate><description><![CDATA[拉取镜像

docker pull centos:centos7


查看镜像

docker images


启动容器

docker run -it centos:centos7

参数说明：
-i: 交互式操作。
-t: 终端。
-d: 后台运行容器
–name: 命名容器
4.查看容器
docker ps -a


5.启动/停止/重启容器
docker start &lt;容器 ID&gt;
docker stop &lt;容器 ID&gt;
docker restart &lt;容器 ID&.]]></description><category></category></item><item><title><![CDATA[为什么c++需要右值引用]]></title><link>https://blog.youkuaiyun.com/bitkevin/article/details/120787152</link><guid>https://blog.youkuaiyun.com/bitkevin/article/details/120787152</guid><author>bitkevin</author><pubDate>Fri, 15 Oct 2021 23:50:36 +0800</pubDate><description><![CDATA[  c++旧标准中有引用类型和指针类型，从c++11标准开始引入了右值引用，原来的引用被称之为左值引用，今天我们就来看一下右值引用是什么？右值引用是用来解决什么问题的？
1. 什么是右值引用
1.1左值和右值
  c++的表达式可以是左值或者右值。左值和右值的概念是从c语言继承而来的，原本的含义是：左值可以放在赋值语句的左侧，右值则不能。
  但是在c++中，左值和右值的区别没那么简单。例如常量表达式为代表的一些左值实际上不能作为赋值语句的左侧运算对象。
  当一个对象被用作右值的时候，用的是对象的值(内容]]></description><category></category></item><item><title><![CDATA[使用回溯算法解决排列组合问题]]></title><link>https://blog.youkuaiyun.com/bitkevin/article/details/120735138</link><guid>https://blog.youkuaiyun.com/bitkevin/article/details/120735138</guid><author>bitkevin</author><pubDate>Wed, 13 Oct 2021 00:18:58 +0800</pubDate><description><![CDATA[  回溯算法是一种非常实用的算法解题思路，LeetCode中题库中有106道回溯的试题，而且难度都在中等以上，掌握回溯算法对高效快速解决很多问题都很有帮助。今天我们主要看看回溯算法的解题套路和实用回溯解决排列组合问题的题解。
1.回溯算法特点
  回溯算法过程：在搜索中寻找问题的解，发现不满足条件时，就回溯返回上一步，尝试别的路径。
  从上面的定义可以看出，回溯算法依赖于递归实现，与递归算法的差异就在于一个“回”字，即修改了状态并做了尝试之后，需要回过来把状态改回去再做其他尝试，通过多轮回溯逐步求出所有的]]></description><category></category></item><item><title><![CDATA[归并排序及其优化(数组归并/链表归并，自顶向下/自底向上等)]]></title><link>https://blog.youkuaiyun.com/bitkevin/article/details/120582612</link><guid>https://blog.youkuaiyun.com/bitkevin/article/details/120582612</guid><author>bitkevin</author><pubDate>Sat, 02 Oct 2021 00:43:03 +0800</pubDate><description><![CDATA[  归并排序时一种使用分治思想实现的高效的排序算法，它的最好/最坏/平均时间复杂度都是O(nlogn)，而且是一种稳定的排序算法。然而归并排序并没有得到广泛的应用，今天我们来看看归并排序的特点、优化和应用。
1. 算法简介
归并排序的原理
  归并排序（Merge Sort）的核心思想就是一个典型的分治算法。如果要排序一个数组，我们先把数组从中间分成前后两部分，然后对前后两部分分别排序，再将排好序的两部分合并在一起，这样整个数组就都有序了。算法示意图如下：

  代码实现如下：
class Solution]]></description><category></category></item><item><title><![CDATA[链表反转的技巧及相关题解]]></title><link>https://blog.youkuaiyun.com/bitkevin/article/details/120558896</link><guid>https://blog.youkuaiyun.com/bitkevin/article/details/120558896</guid><author>bitkevin</author><pubDate>Thu, 30 Sep 2021 00:41:57 +0800</pubDate><description><![CDATA[单链表作为一种比较常见的数据结构，经常会出现在面试题中。单链表只有一个后继指针，要实现O(1)空间复杂度的反转，就需要掌握单链表反转的一些技巧。


注：我们这里讨论的都是如何不借助额外空间（即O(1)空间复杂度），实现链表反转。
首先让我们先看看最简单的链表反转：
1. 链表反转（简单）
206. 反转链表
剑指 Offer 24. 反转链表
剑指 Offer II 024. 反转链表
题目描述：把一个单链表反转，并返回反转后的链表头。
解题过程：

这道题可以很容易地用双指针解决：定义两个指针一个指向前]]></description><category></category></item><item><title><![CDATA[树/二叉树的层序遍历 掌握这个方法轻松解决16道LeetCode题]]></title><link>https://blog.youkuaiyun.com/bitkevin/article/details/120299648</link><guid>https://blog.youkuaiyun.com/bitkevin/article/details/120299648</guid><author>bitkevin</author><pubDate>Wed, 15 Sep 2021 00:10:43 +0800</pubDate><description><![CDATA[我们知道树/图的深度优先搜索使用递归可以很简单的实现，但树的广度优先搜索是依赖于队列先见先出的特性来实现的，不方便使用递归实现。今天我们来看看树的层序遍历方法，掌握了这个方法，广度优先搜索的大部分题都可以轻松解决了。


1. 二叉树的层序遍历
剑指 Offer 32 - I. 从上到下打印二叉树
先看这个最简单的层序遍历，只需要按广度优先的顺序一个一个地输出节点值就可以了
要点：

头结点入队
队列不为空时不断出队，出队节点值加入结果
将出队节点的左右子节点入队
重复以上直到队列为空

vector&lt]]></description><category></category></item><item><title><![CDATA[二叉树的遍历(深度优先/广度优先 递归/非递归 层序遍历)详解]]></title><link>https://blog.youkuaiyun.com/bitkevin/article/details/120257569</link><guid>https://blog.youkuaiyun.com/bitkevin/article/details/120257569</guid><author>bitkevin</author><pubDate>Sun, 12 Sep 2021 23:53:03 +0800</pubDate><description><![CDATA[目录

1.简介

2.二叉树的深度优先遍历

2.1 二叉树的前序遍历

2.2 二叉树的中序遍历

2.3 二叉树的后序遍历

3. 二叉树的广度优先搜索

3.1 二叉树广度优先搜索

3.2 二叉树的层序遍历

3.3 二叉树自底向上层序遍历

3.4 二叉树的锯齿形层序遍历

  二叉树是一种很常用的基本数据结构，它可以看做一种特殊的图(一个节点只有一个入度和最多两个出度)，因此二叉树的的遍历要比图简单很多，学好二叉树也能较容易掌握图的遍历。

1.简介

    我们...]]></description><category></category></item><item><title><![CDATA[动态规划原理与LeetCode题解]]></title><link>https://blog.youkuaiyun.com/bitkevin/article/details/120212377</link><guid>https://blog.youkuaiyun.com/bitkevin/article/details/120212377</guid><author>bitkevin</author><pubDate>Fri, 10 Sep 2021 00:26:23 +0800</pubDate><description><![CDATA[目录

动态规划的三个特征：

动态规划解题思路：

1.状态转移表法

2. 状态转移方程法

3. LeetCode题解

3.1 LeetCode509. 斐波那契数

3.2 LeetCode70. 爬楼梯

3.3 LeetCode198. 打家劫舍

3.4 LeetCode53. 最大子序和

3.5 LeetCode152. 乘积最大子数组

3.6 LeetCode1014. 最佳观光组合

3.7 LeetCode55. 跳跃游戏

动态规划适合解决多阶段决策最优解模型问题...]]></description><category></category></item><item><title><![CDATA[使用AddressSanitizer排查代码内存问题]]></title><link>https://blog.youkuaiyun.com/bitkevin/article/details/120006819</link><guid>https://blog.youkuaiyun.com/bitkevin/article/details/120006819</guid><author>bitkevin</author><pubDate>Mon, 30 Aug 2021 22:18:04 +0800</pubDate><description><![CDATA[AddressSanitizer是Google提供的开源内存检查工具，LLVM3.1 或者gcc4.8以上版本编译器已经支持，可以调查程序的内存越界和内存泄漏问题。

用法：

编译时加上以下编译选项：

-fsanitize=address  #开启地址越界检查功能

-fno-omit-frame-pointer #开启后，可以出具更详细的错误信息

-fsanitize=leak  #开启内存泄露检查功能 （apple版llvm不支持）

AddressSanitizer能检测的错误类型：

...]]></description><category></category></item></channel></rss>