<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_31156563的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_31156563</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_31156563]]></copyright><item><title><![CDATA[腾讯CodeBuddy IDE上线了，TRAE 昨天还叫人家小甜甜，今天就是牛夫人了？]]></title><link>https://blog.youkuaiyun.com/qq_31156563/article/details/149808538</link><guid>https://blog.youkuaiyun.com/qq_31156563/article/details/149808538</guid><author>qq_31156563</author><pubDate>Thu, 31 Jul 2025 16:24:43 +0800</pubDate><description><![CDATA[腾讯推出AI集成开发环境CodeBuddy，支持需求分析、智能编码、自动部署等全流程开发。相比TRAE，CodeBuddy功能更全面，但目前仅限海外版使用需邀请码。文章对比了两款工具，详细解析CodeBuddy四大核心功能模块，并分享实战使用体验，指出其能提升效率但仍需人工调试。作者强调开发者应理性看待工具迭代，将AI作为辅助而非替代，灵活运用不同工具提高生产力。]]></description><category></category></item><item><title><![CDATA[使用免费Trae+CodeBuddy+Kimi 打造一个低配版的cursor]]></title><link>https://blog.youkuaiyun.com/qq_31156563/article/details/148684607</link><guid>https://blog.youkuaiyun.com/qq_31156563/article/details/148684607</guid><author>qq_31156563</author><pubDate>Mon, 16 Jun 2025 09:54:26 +0800</pubDate><description><![CDATA[【摘要】本文分享了一套免费的AI工具组合方案，用于替代付费的Cursor编程助手。通过Trae（国产平替）+Kimi（图片识别）+Idea+CodeBuddy（AI插件）的组合，实现需求解析、代码生成和细节调试的全流程开发。作者详细介绍了如何利用Kimi处理图片需求、Trae生成框架代码、Idea完善细节的方法，并强调拆解需求指令的重要性。这套方案既能享受AI辅助开发的高效，又避免了Cursor的高昂费用，特别适合预算有限的开发者。（149字）]]></description><category></category></item><item><title><![CDATA[TRAE 新版功能炸裂，接入mcp，自定义智能体| 划重点！！！免费！！！]]></title><link>https://blog.youkuaiyun.com/qq_31156563/article/details/147516065</link><guid>https://blog.youkuaiyun.com/qq_31156563/article/details/147516065</guid><author>qq_31156563</author><pubDate>Fri, 25 Apr 2025 16:36:25 +0800</pubDate><description><![CDATA[4.配置需要的mcp，注意使用mcp需要: 具体可以参考trae 的官网说明 ：https://docs.trae.com.cn/ide/model-context-protocol。强调“对话即编程”理念，打破传统IDE边界，支持非专业开发者通过自然语言快速生成技术方案，同时助力专业开发者构建“AI团队”处理重复任务，聚焦创新；，支持快速接入第三方工具（如Figma、Blender），实现UI转代码、数据库操作、3D渲染等跨平台集成。5. 如果是在运用市场有的，直接点+,可以看到它的详细教程。]]></description><category></category></item><item><title><![CDATA[手把手带你实现Cursor 配置MCP]]></title><link>https://blog.youkuaiyun.com/qq_31156563/article/details/146344856</link><guid>https://blog.youkuaiyun.com/qq_31156563/article/details/146344856</guid><author>qq_31156563</author><pubDate>Tue, 18 Mar 2025 16:21:32 +0800</pubDate><description><![CDATA[在这里可以选择你需要的MCP 服务。https://docs.cursor.com/context/model-context-protocol 查看cursor 的官方文档 ，支持两种传输类型；3.选择对应的服务后，可以在这里拿到设置好的cursor 中对应的配置，新版的cursor已经没有界面配置入口，官方推荐使用json 格式配置，方便配置环境变量。当然你基于cursor 的配置，完全可以把错误丢回去，让这个强大的AI帮你解决问题。2.在这个配置中加上上面拷贝的server 的配置。]]></description><category></category></item><item><title><![CDATA[5分钟说清楚MCP 是什么]]></title><link>https://blog.youkuaiyun.com/qq_31156563/article/details/146344787</link><guid>https://blog.youkuaiyun.com/qq_31156563/article/details/146344787</guid><author>qq_31156563</author><pubDate>Tue, 18 Mar 2025 16:16:16 +0800</pubDate><description><![CDATA[我的理解，之前的Manus 就是一种MCP 的具体应用，很好的例子。基于MCP 的产品会越来越多，AI 从对话工具变成执行工具的路走的越来越清晰，所谓拥有某个领域的技术工种，会渐渐被AI 替代。MCP（Model Context Protocol）是由Anthropic提出的标准化协议，旨在解决AI模型与外部数据/工具的无缝集成问题，被类比为“AI领域的USB-C接口”过去AI只能靠死记硬背（训练数据），现在通过MCP，AI能随时打开工具箱（外部数据源和工具），像查资料、发邮件、写代码都能现学现用。]]></description><category></category></item><item><title><![CDATA[TRAE 国内版的组件和使用教程]]></title><link>https://blog.youkuaiyun.com/qq_31156563/article/details/146154304</link><guid>https://blog.youkuaiyun.com/qq_31156563/article/details/146154304</guid><author>qq_31156563</author><pubDate>Mon, 10 Mar 2025 14:41:43 +0800</pubDate><description><![CDATA[Trae 国内版的两种工作模式分别是 Builder 模式和 Chat 模式，总的来说，Builder 模式更适合从头开始构建项目，具有更强的工程能力和自动化程度，而 Chat 模式则更侧重于解答问题和优化代码，适合在开发过程中进行即时的咨询和优化。trae 国内版对比海外版和cursor 功能上还是有一定的差距，比如Trae 国内版不支持上传图片生成代码的功能，支持的大模型相对较少等，但是我相信只是时间问题。TRAE#功能  ，#和我们聊天一样，具体指向某个对象，这里就是告诉AI具体的上下文信息来源。]]></description><category></category></item><item><title><![CDATA[cursor 的组件以及使用]]></title><link>https://blog.youkuaiyun.com/qq_31156563/article/details/145161264</link><guid>https://blog.youkuaiyun.com/qq_31156563/article/details/145161264</guid><author>qq_31156563</author><pubDate>Wed, 15 Jan 2025 15:25:39 +0800</pubDate><description><![CDATA[认识cursor 基本布局：可以通过Ctrl+I 打开最右边的cursor AI 助手的智能面板，ctrl+N 创建一个新的对话窗口。]]></description><category></category></item><item><title><![CDATA[easypoi 大批量导出（二）]]></title><link>https://blog.youkuaiyun.com/qq_31156563/article/details/141562080</link><guid>https://blog.youkuaiyun.com/qq_31156563/article/details/141562080</guid><author>qq_31156563</author><pubDate>Mon, 26 Aug 2024 13:52:56 +0800</pubDate><description><![CDATA[3.获取到ExcelBatchExportService对象后，调用appendData 方法，而在这里可以看到，开头就是对sheet 的长度判断，如果大于sheet的最大长度，则重新创建一个新的sheet 来导出对应的数据。4.至此我们就弄清楚了为什么我们只需要循环调用这个方法就能自动的将所有的数据导入到一个表格里面输出了。，这样就能使得每次调用的上下文都保持一致，而这时导出的workbook 对象就可以重复设置。说调用easypoi自带的导出大数据量的方法，分批导出后合并成一个sheet 导出。]]></description><category></category></item><item><title><![CDATA[easypoi 导出大数据量数据内存溢出问题]]></title><link>https://blog.youkuaiyun.com/qq_31156563/article/details/141558288</link><guid>https://blog.youkuaiyun.com/qq_31156563/article/details/141558288</guid><author>qq_31156563</author><pubDate>Mon, 26 Aug 2024 10:58:19 +0800</pubDate><description><![CDATA[导出的数据越来越多，如果一次性load到内存中，根据垃圾回收机制，大对象可能直接进入老年代存储，所以很有可能会引发频繁的fullgc 问题。3. 将生成的excel 文件上传到阿里云的oss 服务中，再将oss 返回的下载地址插入到任务记录表中，提供用户下载。1.考虑批量的方式，分批导出数据库中的信息，通过重复指向不同的堆对象，及时释放内存，保证只占用一次循环的最大内存。2.调用easypoi自带的导出大数据量的方法，分批导出后合并成一个sheet 导出。2.导出的主体实现开启另外一个线程，采用异步导出。]]></description><category></category></item><item><title><![CDATA[LocalDate 和字符串相互转换的坑]]></title><link>https://blog.youkuaiyun.com/qq_31156563/article/details/141427864</link><guid>https://blog.youkuaiyun.com/qq_31156563/article/details/141427864</guid><author>qq_31156563</author><pubDate>Thu, 22 Aug 2024 14:59:42 +0800</pubDate><description><![CDATA[String  转换LocalDate 的坑]]></description><category></category></item><item><title><![CDATA[easypoi 利用现有的枚举类转换枚举名称]]></title><link>https://blog.youkuaiyun.com/qq_31156563/article/details/141357149</link><guid>https://blog.youkuaiyun.com/qq_31156563/article/details/141357149</guid><author>qq_31156563</author><pubDate>Tue, 20 Aug 2024 14:20:46 +0800</pubDate><description><![CDATA[easypoi 枚举转换]]></description><category></category></item><item><title><![CDATA[easypoi 导出 一对一实体乱序问题]]></title><link>https://blog.youkuaiyun.com/qq_31156563/article/details/141324323</link><guid>https://blog.youkuaiyun.com/qq_31156563/article/details/141324323</guid><author>qq_31156563</author><pubDate>Mon, 19 Aug 2024 14:32:36 +0800</pubDate><description><![CDATA[跟进sortAllParams方法中可以看到源码中使用HashMap存放分组和分组中具体的数据。由于HashMap的存放顺序和key 的hash值有关。所以在HashMap 遍历链表的时候，和push的顺序无关，导致乱序。了解到问题的本质后，我们就可以采用确定顺序hash 的数字代替文本。保证按照我们想要的顺序输出，最后得到表格结果后就可以根据预设的映射替换成我们需要的真实文字导出。使用1，2，3，4代替分组名称。再拿到Workbook后遍历所在行，遍历替换想要输出的表格名称。]]></description><category></category></item><item><title><![CDATA[Enum 枚举类只需增加注解就能获取对应的枚举类型，实现前端获取枚举接口]]></title><link>https://blog.youkuaiyun.com/qq_31156563/article/details/132831780</link><guid>https://blog.youkuaiyun.com/qq_31156563/article/details/132831780</guid><author>qq_31156563</author><pubDate>Tue, 12 Sep 2023 18:02:27 +0800</pubDate><description><![CDATA[利用反射和自动扫描注册，优雅实现Enum 枚举类增加注解就能获取对应的枚举类型，去除冗余代码]]></description><category></category></item><item><title><![CDATA[关于返回String类型得数据多了双引号的坑]]></title><link>https://blog.youkuaiyun.com/qq_31156563/article/details/130292478</link><guid>https://blog.youkuaiyun.com/qq_31156563/article/details/130292478</guid><author>qq_31156563</author><pubDate>Fri, 21 Apr 2023 17:16:04 +0800</pubDate><description><![CDATA[为什么改了配置类的实现方式和为什么选用了json 转化器再到为什么字符串转换成json 格式会多带出一对双引号的问题]]></description><category></category></item><item><title><![CDATA[记一次关于ArrayList 非线程安全导致的生产问题]]></title><link>https://blog.youkuaiyun.com/qq_31156563/article/details/121998374</link><guid>https://blog.youkuaiyun.com/qq_31156563/article/details/121998374</guid><author>qq_31156563</author><pubDate>Fri, 17 Dec 2021 17:25:34 +0800</pubDate><description><![CDATA[ArrayList 非线程安全解决方案，以及触发场景]]></description><category></category></item><item><title><![CDATA[查看maven 依赖树，解决java.lang.NoSuchMethodError 版本冲突]]></title><link>https://blog.youkuaiyun.com/qq_31156563/article/details/117670013</link><guid>https://blog.youkuaiyun.com/qq_31156563/article/details/117670013</guid><author>qq_31156563</author><pubDate>Mon, 07 Jun 2021 18:02:41 +0800</pubDate><description><![CDATA[1，java.lang.NoSuchMethodError:没有找到对应的方法。这个问题一种原因可能是没有引入对应的依赖包，另一种原因可能是因为jar包冲突而产生的。加载了同一个包的不同版本,而使用到的方法刚好在该版本中没有。
那么我们怎么解决这种jar包冲突导致找不到对应的方法的问题呢？
1，我们可以通过maven  命令（mvn dependency:tree）查看依赖树，拿到报错的那个包在整个pom 下的版本依赖信息。
在执行mvn 命令的时候报了一个 版本未知的错误。因为maven的依赖和环境变量有]]></description><category></category></item><item><title><![CDATA[Spring Aop代理不生效]]></title><link>https://blog.youkuaiyun.com/qq_31156563/article/details/111591814</link><guid>https://blog.youkuaiyun.com/qq_31156563/article/details/111591814</guid><author>qq_31156563</author><pubDate>Fri, 25 Dec 2020 11:45:35 +0800</pubDate><description><![CDATA[项目场景：

要做一个切面记录请求参数和返回参数的日志

问题描述：

 在contrller层和service层做切面，没有什么问题。对工具类进行切面处理时，没有办法代理。



原因分析：

代理模式不生效的场景：

1，对静态方法不代理

2，对私有方法不代理

3，被代理的类如果不是由spring管理的话代理不生效，因为Spring AOP 的底层是依赖于IOC管理对应的bean

4，若是被代理的类，被增强的方法中内部调用了被增强的方法。第二个方法的代理也会失效

5，

解决方案：

...]]></description><category></category></item><item><title><![CDATA[使用责任链模式实现状态改变]]></title><link>https://blog.youkuaiyun.com/qq_31156563/article/details/109548720</link><guid>https://blog.youkuaiyun.com/qq_31156563/article/details/109548720</guid><author>qq_31156563</author><pubDate>Sat, 07 Nov 2020 16:23:33 +0800</pubDate><description><![CDATA[状态改变之责任链模式
场景描述：
最近有个关于新增流程审批的项目，要按一定的流程顺序实现状态修改。
按照最原始的实现方式就是拿到当前状态然后判断需要执行的步骤继续执行。这个弊端就是会存在有许多的判断和重复代码；
V.1.0的实现 ：
为了快速实现该功能，就采用了分段实现各个流程功能，然后根据状态判断需要执行的流程，组合实现
弊端：代码又臭又长，重复性高，不容易扩展

V.2.0的实现 ：
功能实现后，还有时间便开始考虑重构代码。正常来说面向对象编程，要实现易扩展，就可以套用相应的设计模式。而我要实现的功能其]]></description><category></category></item><item><title><![CDATA[SpringBoot整合Mybatis框架的底层源码]]></title><link>https://blog.youkuaiyun.com/qq_31156563/article/details/107448279</link><guid>https://blog.youkuaiyun.com/qq_31156563/article/details/107448279</guid><author>qq_31156563</author><pubDate>Sun, 19 Jul 2020 22:36:48 +0800</pubDate><description><![CDATA[首先简单介绍下FactoryBean的作用：当实现FactoryBean接口的类注册到Spring容器中时，通过getBean()获取对象时，底层实现实际上是调用FactoryBean接口的getObject（）获取内部的对象；



    在SpringBoot中有一个默认的配置类MybatisAutoConfiguration,默认扫描根目录下的所有的类，默认使用了@Mapper注解作添加到IncludeFilter中，找到对应的Dao，然后通过 BeanDefinitionRe...]]></description><category></category></item><item><title><![CDATA[Spring如何将Aop代理交由IOC管理思考]]></title><link>https://blog.youkuaiyun.com/qq_31156563/article/details/107380434</link><guid>https://blog.youkuaiyun.com/qq_31156563/article/details/107380434</guid><author>qq_31156563</author><pubDate>Thu, 16 Jul 2020 16:49:58 +0800</pubDate><description><![CDATA[今天来一起揭秘下spring的AOP的代理对象是如何交由IOC容器管理的；

   首先先梳理IOC容器创建bean的整个过程：

   1，通过读取xml,或者注解来注册我们程序所需要的交由spring管理的bean信息；比如在某个类上面加上@Component注解

   2，解析相关的元素信息加载到BeanDefinition中，在BeanFactory容器以Key为beanName,Value为bean对应的BeanDefinition的Map存放我们所定义的相...]]></description><category></category></item></channel></rss>