<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[xy_cpp的博客]]></title><description><![CDATA[程序员的三大浪漫:图形学、编译原理、操作系统]]></description><link>https://blog.youkuaiyun.com/xy_cpp</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; xy_cpp]]></copyright><item><title><![CDATA[用了3个月Cursor，我悟了：AI能帮我写代码，但抢不走我的饭碗]]></title><link>https://blog.youkuaiyun.com/xy_cpp/article/details/159609045</link><guid>https://blog.youkuaiyun.com/xy_cpp/article/details/159609045</guid><author>xy_cpp</author><pubDate>Sun, 29 Mar 2026 11:23:30 +0800</pubDate><description><![CDATA[后来我把需求写得明明白白：“写个用户查询接口，支持按用户名、手机号、邮箱模糊搜索，按注册时间范围筛选，支持分页，返回用户ID、用户名、手机号、注册时间，别返回密码这些敏感信息，用户不存在就返回空列表，别抛异常”，生成的代码就特别贴合需求，不用怎么改。最后我把AI生成的代码全删了，自己写反而更快。我项目用的是Spring Boot 3.x，有一次让Cursor写个定时任务，它给我用了@Scheduled注解，却是Spring Boot 2.x的写法，配置方式不一样，根本用不了，又得我自己改，反而费时间。]]></description><category></category></item><item><title><![CDATA[如何用AI查性能问题]]></title><link>https://blog.youkuaiyun.com/xy_cpp/article/details/159167941</link><guid>https://blog.youkuaiyun.com/xy_cpp/article/details/159167941</guid><author>xy_cpp</author><pubDate>Tue, 17 Mar 2026 16:22:10 +0800</pubDate><description><![CDATA[读取记忆文件->获取进度->拉取对应的diff->如果diff太大超过token还要切割->检测->输出检测结果到外部文件。由于一个agent的context上下文有限。同时代码又不能像自然语言，让AI去压缩，这样会丢失很多代码细节。问题：如果有两个版本后面的版本性能不好，如何设计一个AI工具，来定位到哪一次提交。阶段二：review agent（按顺序检测每一次提交）（循环）初始化环境、初始化git、建立进度表文件。所以我们需要一个外部记忆（硬盘。功能清单）+双阶段架构。阶段一：初始化agent。]]></description><category></category></item><item><title><![CDATA[学习 ChatGPT 必看的 10 篇论⽂]]></title><link>https://blog.youkuaiyun.com/xy_cpp/article/details/159086322</link><guid>https://blog.youkuaiyun.com/xy_cpp/article/details/159086322</guid><author>xy_cpp</author><pubDate>Sun, 15 Mar 2026 19:28:41 +0800</pubDate><description><![CDATA[摘要：本文整理了学习ChatGPT必读的10篇核心论文，涵盖其关键技术原理和训练方法。从开创性的Transformer架构（《Attention Is All You Need》）到GPT-3的大规模语言模型（《Language Models are Few-Shot Learners》），再到关键的RLHF训练范式（《Training language models to follow instructions》），系统性地介绍了ChatGPT的技术演进路径。特别重点分析了人类反馈强化学习（RLHF）相关]]></description><category></category></item><item><title><![CDATA[和AI一起编程]]></title><link>https://blog.youkuaiyun.com/xy_cpp/article/details/158892634</link><guid>https://blog.youkuaiyun.com/xy_cpp/article/details/158892634</guid><author>xy_cpp</author><pubDate>Tue, 10 Mar 2026 21:18:05 +0800</pubDate><description><![CDATA[先把perf里每帧火焰图直接转文本，再把数据洗一遍，去掉系统调用和其他进程的调用，然后找出每帧cpu耗时超过33ms的火焰图和超过11ms的火焰图，再让AI分析性能热点。洗数据的工作也能交给AI搞，这样就能更精准发现一次跑测的性能热点，把数据量化出来。]]></description><category></category></item><item><title><![CDATA[Kbengine游戏引擎介绍]]></title><link>https://blog.youkuaiyun.com/xy_cpp/article/details/126011175</link><guid>https://blog.youkuaiyun.com/xy_cpp/article/details/126011175</guid><author>xy_cpp</author><pubDate>Wed, 27 Jul 2022 11:32:53 +0800</pubDate><description><![CDATA[kbengine底层架构很庞大功能很完善。底层采用c++，而写逻辑只需要使用python，大家都知道python是一种开发效率非常高的语言，所以你只要写python代码就不用考虑底层如何实现。kbengine底层架构被设计为多进程分布式动态负载均衡方案， 理论上只需要不断扩展硬件就能够不断增加承载上限，单台机器的承载上限取决于游戏逻辑本身的复杂度。...]]></description><category></category></item><item><title><![CDATA[分布式系统的经典基础理论]]></title><link>https://blog.youkuaiyun.com/xy_cpp/article/details/114549361</link><guid>https://blog.youkuaiyun.com/xy_cpp/article/details/114549361</guid><author>xy_cpp</author><pubDate>Mon, 08 Mar 2021 20:57:12 +0800</pubDate><description><![CDATA[————————————————
版权声明：本文为优快云博主「JavaGuide」的原创文章，遵循CC 4.0 BY-SA版权协议，转载请附上原文出处链接及本声明。
原文链接：https://blog.youkuaiyun.com/qq_34337272/article/details/80444032
分布式系统设计理念 
分布式系统架构的第一原则是不要分布！这句话看似矛盾实则揭露了分布式系统的很多特征。 
 
 分布式系统的目标与要素 
 
分布式系统的目标是提升系统的整体性能和吞吐量另外还要尽量保证分布式系统的]]></description><category></category></item><item><title><![CDATA[一文详解微服务架构]]></title><link>https://blog.youkuaiyun.com/xy_cpp/article/details/114517339</link><guid>https://blog.youkuaiyun.com/xy_cpp/article/details/114517339</guid><author>xy_cpp</author><pubDate>Mon, 08 Mar 2021 08:10:47 +0800</pubDate><description><![CDATA[https://www.cnblogs.com/skabyy/p/11396571.html

]]></description><category></category></item><item><title><![CDATA[《Go语言核心编程》(二)]]></title><link>https://blog.youkuaiyun.com/xy_cpp/article/details/111146773</link><guid>https://blog.youkuaiyun.com/xy_cpp/article/details/111146773</guid><author>xy_cpp</author><pubDate>Sun, 13 Dec 2020 22:18:52 +0800</pubDate><description><![CDATA[接口的数据结构
非空接口初始化的过程就是初始化一个iface类型的结构，示例如下：
//src/runtime/runtime2.go

type iface struct {
	tab *itab	//itab存放类型及方法指针信息
	data unsafe.Pointer 	//数据信息
}

type itab struct {
	inter *interfacetype	//接口自身的静态类型
	_type *_type			//_type就是接口存放的具体实例的类型(动态类型)
	//hash存放]]></description><category></category></item><item><title><![CDATA[《Go语言核心编程》笔记一]]></title><link>https://blog.youkuaiyun.com/xy_cpp/article/details/110941950</link><guid>https://blog.youkuaiyun.com/xy_cpp/article/details/110941950</guid><author>xy_cpp</author><pubDate>Wed, 09 Dec 2020 22:01:19 +0800</pubDate><description><![CDATA[《Go语言核心编程》
第1章  基础知识
总结Go的源程序基本构成：

(1)关键字引导程序的基本结构。
(2)内置类型标识符辅助声明变量和常量。
(3)字面量辅助变量和常量的初始化。
(4)分隔符帮助Go编译器识别各个token。
(5)操作符和变量、关键字一起构成丰富的语法单元。

package ***

import {
	"****"
	"****"
}

func ***(){

}

复合数据类型
指针、数组、切片、字典(map)、通道、结构和接口，它们的字面格式如下：
*pointerTyp]]></description><category></category></item><item><title><![CDATA[产品读书《六顶思考帽》]]></title><link>https://blog.youkuaiyun.com/xy_cpp/article/details/109587027</link><guid>https://blog.youkuaiyun.com/xy_cpp/article/details/109587027</guid><author>xy_cpp</author><pubDate>Mon, 09 Nov 2020 21:40:02 +0800</pubDate><description><![CDATA[版权声明：本文为博主原创文章，遵循 CC 4.0 BY-SA 版权协议，转载请附上原文出处链接和本声明。
本文链接：https://blog.youkuaiyun.com/Julialove102123/article/details/86406600
这本书目标明确解决了下面的问题：
1）开会或者决策中大家争论不休的问题，你觉得这个项目可行，他觉得
缺点太多，大家在一个事务的不同维度上争论，时间浪费多，难以决断。
那怎么解决？作者将所有决策分成几个部分客观数据与信息，优点，缺点，创新；
按流程走，讨论的优点的时候，所]]></description><category></category></item><item><title><![CDATA[Golang interface接口全面理解(一)]]></title><link>https://blog.youkuaiyun.com/xy_cpp/article/details/108190881</link><guid>https://blog.youkuaiyun.com/xy_cpp/article/details/108190881</guid><author>xy_cpp</author><pubDate>Sun, 23 Aug 2020 23:42:41 +0800</pubDate><description><![CDATA[什么是interface
在面向对象编程中，可以这么说：“接口定义了对象的行为”， 那么具体的实现行为就取决于对象了。
在Go中，接口是一组方法签名。当一个类型为接口中的所有方法提供定义时，它被称为实现该接口。它与oop非常相似。接口指定类型应具有的方法，类型决定如何实现这些方法。
创建和实现interface
在Golang中只要实现了接口定义的方法，就是（JAVA implement）实现了该interface
package main

import (  
    "fmt"
)

//定义inte]]></description><category></category></item><item><title><![CDATA[第五章 函数--《The Go Programming Language》]]></title><link>https://blog.youkuaiyun.com/xy_cpp/article/details/108030128</link><guid>https://blog.youkuaiyun.com/xy_cpp/article/details/108030128</guid><author>xy_cpp</author><pubDate>Sat, 15 Aug 2020 23:24:58 +0800</pubDate><description><![CDATA[第五章 函数–《The Go Programming Language》
本章的运行示例是一个网络蜘蛛，也就是web搜索引擎中负责抓取网页部分的组件，它们根据抓取网页中的链接继续抓取链接指向的页面。一个网络蜘蛛的例子给我们足够的机会去探索递归函数、匿名函数、错误处理和函数其它的很多特性。
函数声明
函数声明包括函数名、形式参数列表、返回值列表(可忽略)以及函数体。
func name(parameter-list) (result-list) {
	body
}

形式参数列表描述了函数的参数名以及参数类型]]></description><category></category></item><item><title><![CDATA[速读Go语言圣经]]></title><link>https://blog.youkuaiyun.com/xy_cpp/article/details/107841679</link><guid>https://blog.youkuaiyun.com/xy_cpp/article/details/107841679</guid><author>xy_cpp</author><pubDate>Thu, 06 Aug 2020 20:55:00 +0800</pubDate><description><![CDATA[The Go Programming Language
中文版教程：https://studygolang.com/book/42?fr=sidebar
前面1-5章都可以在Go语言教程|菜鸟教程，runoob.com/go/go-tutorial.html找到对应的教程。
第一章 入门
本章介绍了Go语言的基础组件。提供了足够的信息和示例程序，可以帮你快速入门。同时作者指出，学习Go语言，请不要按照自己熟悉的语音的套路写新语言程序。
package main

import "fmt"

func mai]]></description><category></category></item><item><title><![CDATA[Go海拾遗]]></title><link>https://blog.youkuaiyun.com/xy_cpp/article/details/107741246</link><guid>https://blog.youkuaiyun.com/xy_cpp/article/details/107741246</guid><author>xy_cpp</author><pubDate>Sun, 02 Aug 2020 11:05:10 +0800</pubDate><description><![CDATA[go语言学习笔记
go语言是啥？
1、普遍认为“Go = C + GC + Goroutinue"
2、云计算时代的C语音，在开发效率和运行效率之间取得了绝佳的平衡
3、Go（又稱Golang）是Google開發的一种静态强类型、編譯型、并发型，并具有垃圾回收功能的编程语言。（来自wiki）
4、Go（又称 Golang）是 Google 的 Robert Griesemer，Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型语言。Go 语言语法与 C 相近，但功能上有：内存安全，]]></description><category></category></item><item><title><![CDATA[谷歌大数据的三驾马车]]></title><link>https://blog.youkuaiyun.com/xy_cpp/article/details/107625136</link><guid>https://blog.youkuaiyun.com/xy_cpp/article/details/107625136</guid><author>xy_cpp</author><pubDate>Tue, 28 Jul 2020 00:19:45 +0800</pubDate><description><![CDATA[本文介绍大数据分析的鼻祖型论文“谷歌三驾马车”。这包括处理分布式数据的mapreduce、存储大量数据的gfs以及列式存储bigtable，当前流行的大数据技术都是在谷歌发表了这三大论文以后，不断的发展起来的，典型的就是Apache开源的hadoop和hbase，其中hadoop的mapreduce和hdfs的思想来源于谷歌mapreduce和gfs论文，而hbase来源于谷歌的bigtable论文。
mapreduce
介绍：MapReduce是一个处理大数据集的编程模型。它通过map函数把基于行的输入转]]></description><category></category></item><item><title><![CDATA[【读书笔记】《软技能》这本书想告诉我们的事]]></title><link>https://blog.youkuaiyun.com/xy_cpp/article/details/107306354</link><guid>https://blog.youkuaiyun.com/xy_cpp/article/details/107306354</guid><author>xy_cpp</author><pubDate>Sun, 12 Jul 2020 22:54:07 +0800</pubDate><description><![CDATA[SOFT SKILLS
The Software Develper’s Life Manual
最近，有幸拜读了软技能-代码之外的生存指南。这本书，从作者自身经历出发，很好的讲述了在程序员工作内外应该如何做才能做到效率最优。下面谈谈我的收获：
第一篇 职业
这一篇很有意思，作者简述了软件工程师的职业发展的各个方面，从入门到入土，从删库到跑路。但总的核心观点我觉得有以下几点：

从自身出发，进一步思考，如何为他人为企业创造价值。
人际交往很重要。
认识自己认识公司。简单来说就是你只有认识了自己，知道自己擅长、]]></description><category></category></item><item><title><![CDATA[[读书笔记]《鸟哥的LINUX私房菜》导读]]></title><link>https://blog.youkuaiyun.com/xy_cpp/article/details/105671075</link><guid>https://blog.youkuaiyun.com/xy_cpp/article/details/105671075</guid><author>xy_cpp</author><pubDate>Sun, 26 Apr 2020 22:12:57 +0800</pubDate><description><![CDATA[大的分类

第一部分 Linux的规则与安装 2~147
第二部分 Linux文件、目录与磁盘格式 149~287
第三部分 学习shell与shell script 289~415
第四部分 Linux使用者管理 417~561
第五部分 Linux系统管理员 563~778

每章具体内容
第0章 计算机概论

这一章介绍了现代计算机最基础的定义与软件的定义。计算机的定义为：接受用户输入命令与...]]></description><category></category></item><item><title><![CDATA[使用gc、objgraph干掉python内存泄露与循环引用！]]></title><link>https://blog.youkuaiyun.com/xy_cpp/article/details/105421908</link><guid>https://blog.youkuaiyun.com/xy_cpp/article/details/105421908</guid><author>xy_cpp</author><pubDate>Thu, 09 Apr 2020 22:55:40 +0800</pubDate><description><![CDATA[正文
Python使用引用计数和垃圾回收来做内存管理，前面也写过一遍文章《Python内存优化》，介绍了在python中，如何profile内存使用情况，并做出相应的优化。本文介绍两个更致命的问题：内存泄露与循环引用。内存泄露是让所有程序员都闻风丧胆的问题，轻则导致程序运行速度减慢，重则导致程序崩溃；而循环引用是使用了引用计数的数据结构、编程语言都需要解决的问题。本文揭晓这两个问题在python语...]]></description><category></category></item><item><title><![CDATA[Python的7种性能测试工具：timeit、profile、cProfile、line_profiler、memory_profiler、PyCharm图形化性能测试工具、objgraph]]></title><link>https://blog.youkuaiyun.com/xy_cpp/article/details/105398880</link><guid>https://blog.youkuaiyun.com/xy_cpp/article/details/105398880</guid><author>xy_cpp</author><pubDate>Wed, 08 Apr 2020 22:39:58 +0800</pubDate><description><![CDATA[Python的7种性能测试工具：timeit、profile、cProfile、line_profiler、memory_profiler、PyCharm图形化性能测试工具、objgraph
转自：https://www.cnblogs.com/yaoyao9446/p/9242077.html
1.timeit：
&gt;&gt;&gt; import timeit
&gt;&gt;&gt; d...]]></description><category></category></item><item><title><![CDATA[【读书笔记】《鸟哥的LINUX私房菜》- 文件的权限]]></title><link>https://blog.youkuaiyun.com/xy_cpp/article/details/104701089</link><guid>https://blog.youkuaiyun.com/xy_cpp/article/details/104701089</guid><author>xy_cpp</author><pubDate>Fri, 06 Mar 2020 19:17:37 +0800</pubDate><description><![CDATA[利用ls -l显示的文件属性中，第一个字段是文件的权限，共有十位，第一个位是文件类型，接下来三个为一组，为用户、用户组、其他人的权限，权限有r、w、x（有时会有其它的权限）三种
更改文件的用户组支持可用chgrrp，修改文件的拥有这可用chown，修改文件的权限可用chmod；
chmod修改权限的方法有两种，分别是符号发与数字法，数字法中r、w、x数字分别为4、2、1；
若需要root权限时，...]]></description><category></category></item></channel></rss>