<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[CHNIM的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/CHNIM</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; CHNIM]]></copyright><item><title><![CDATA[30天博客挑战过半：8篇文章后的真实感受]]></title><link>https://blog.csdn.net/CHNIM/article/details/161599691</link><guid>https://blog.csdn.net/CHNIM/article/details/161599691</guid><author>CHNIM</author><pubDate>Mon, 01 Jun 2026 18:35:14 +0800</pubDate><description><![CDATA[两周前我给自己立了个 flag：30天写21篇技术博客。现在回过头看，8篇文章发出去，计划赶不上变化是常态，但收获也比预想的多。### 起因说白了就是焦虑。看了太多"技术人要建立个人品牌"的文章，感觉自己写了这么多年代码，却没什么输出。知行合一嘛，与其继续看别人怎么写，不如自己下场干。### 8篇文章，三个方向我选了三个方向：前端性能优化、微服务架构、AI开发工具。每个方向各覆盖了几篇：- AI开发工具：《5个提升编码效率的AI工具谁更好用》《AI辅助编程的现状与未来》- 前端性能：《前端加载慢3个优化手段]]></description><category></category></item><item><title><![CDATA[【无标题】]]></title><link>https://blog.csdn.net/CHNIM/article/details/161599670</link><guid>https://blog.csdn.net/CHNIM/article/details/161599670</guid><author>CHNIM</author><pubDate>Mon, 01 Jun 2026 18:33:47 +0800</pubDate><description><![CDATA[30天博客挑战过半：8篇文章后的真实感受# 30天博客挑战过半：8篇文章后的真实感受
两周前我给自己立了个 flag：30天写21篇技术博客。现在回过头看，8篇文章发出去，计划赶不上变化是常态，但收获也比预想的多。两周前我给自己立了个 flag：30天写21篇技术博客。现在回过头看，8篇文章发出去，计划赶不上变化是常态，但收获也比预想的多。### 起因说白了就是焦虑。看了太多"技术人要建立个人品牌"的文章，感觉自己写了这么多年代码，却没什么输出。知行合一嘛，与其继续看别人怎么写，不如自己下场干。### 8篇]]></description><category></category></item><item><title><![CDATA[【无标题】]]></title><link>https://blog.csdn.net/CHNIM/article/details/161599652</link><guid>https://blog.csdn.net/CHNIM/article/details/161599652</guid><author>CHNIM</author><pubDate>Mon, 01 Jun 2026 18:32:06 +0800</pubDate><description><![CDATA[30天博客挑战过半：8篇文章后的真实感受# 30天博客挑战过半：8篇文章后的真实感受
两周前我给自己立了个 flag：30天写21篇技术博客。现在回过头看，8篇文章发出去，计划赶不上变化是常态，但收获也比预想的多。两周前我给自己立了个 flag：30天写21篇技术博客。现在回过头看，8篇文章发出去，计划赶不上变化是常态，但收获也比预想的多。### 起因说白了就是焦虑。看了太多"技术人要建立个人品牌"的文章，感觉自己写了这么多年代码，却没什么输出。知行合一嘛，与其继续看别人怎么写，不如自己下场干。### 8篇]]></description><category></category></item><item><title><![CDATA[【无标题】]]></title><link>https://blog.csdn.net/CHNIM/article/details/161599627</link><guid>https://blog.csdn.net/CHNIM/article/details/161599627</guid><author>CHNIM</author><pubDate>Mon, 01 Jun 2026 18:29:50 +0800</pubDate><description><![CDATA[30天博客挑战过半：8篇文章后的真实感受# 30天博客挑战过半：8篇文章后的真实感受
两周前我给自己立了个 flag：30天写21篇技术博客。现在回过头看，8篇文章发出去，计划赶不上变化是常态，但收获也比预想的多。两周前我给自己立了个 flag：30天写21篇技术博客。现在回过头看，8篇文章发出去，计划赶不上变化是常态，但收获也比预想的多。### 起因说白了就是焦虑。看了太多"技术人要建立个人品牌"的文章，感觉自己写了这么多年代码，却没什么输出。知行合一嘛，与其继续看别人怎么写，不如自己下场干。### 8篇]]></description><category></category></item><item><title><![CDATA[【无标题】]]></title><link>https://blog.csdn.net/CHNIM/article/details/161599606</link><guid>https://blog.csdn.net/CHNIM/article/details/161599606</guid><author>CHNIM</author><pubDate>Mon, 01 Jun 2026 18:27:39 +0800</pubDate><description><![CDATA[30天博客挑战过半：8篇文章后的真实感受# 30天博客挑战过半：8篇文章后的真实感受
两周前我给自己立了个 flag：30天写21篇技术博客。现在回过头看，8篇文章发出去，计划赶不上变化是常态，但收获也比预想的多。两周前我给自己立了个 flag：30天写21篇技术博客。现在回过头看，8篇文章发出去，计划赶不上变化是常态，但收获也比预想的多。### 起因说白了就是焦虑。看了太多"技术人要建立个人品牌"的文章，感觉自己写了这么多年代码，却没什么输出。知行合一嘛，与其继续看别人怎么写，不如自己下场干。### 8篇]]></description><category></category></item><item><title><![CDATA[【无标题】]]></title><link>https://blog.csdn.net/CHNIM/article/details/161599578</link><guid>https://blog.csdn.net/CHNIM/article/details/161599578</guid><author>CHNIM</author><pubDate>Mon, 01 Jun 2026 18:26:10 +0800</pubDate><description><![CDATA[30天博客挑战过半：8篇文章后的真实感受# 30天博客挑战过半：8篇文章后的真实感受
两周前我给自己立了个 flag：30天写21篇技术博客。现在回过头看，8篇文章发出去，计划赶不上变化是常态，但收获也比预想的多。两周前我给自己立了个 flag：30天写21篇技术博客。现在回过头看，8篇文章发出去，计划赶不上变化是常态，但收获也比预想的多。### 起因说白了就是焦虑。看了太多"技术人要建立个人品牌"的文章，感觉自己写了这么多年代码，却没什么输出。知行合一嘛，与其继续看别人怎么写，不如自己下场干。### 8篇]]></description><category></category></item><item><title><![CDATA[【无标题】]]></title><link>https://blog.csdn.net/CHNIM/article/details/161599549</link><guid>https://blog.csdn.net/CHNIM/article/details/161599549</guid><author>CHNIM</author><pubDate>Mon, 01 Jun 2026 18:24:42 +0800</pubDate><description><![CDATA[30天博客挑战过半：8篇文章后的真实感受# 30天博客挑战过半：8篇文章后的真实感受
两周前我给自己立了个 flag：30天写21篇技术博客。现在回过头看，8篇文章发出去，计划赶不上变化是常态，但收获也比预想的多。两周前我给自己立了个 flag：30天写21篇技术博客。现在回过头看，8篇文章发出去，计划赶不上变化是常态，但收获也比预想的多。### 起因说白了就是焦虑。看了太多"技术人要建立个人品牌"的文章，感觉自己写了这么多年代码，却没什么输出。知行合一嘛，与其继续看别人怎么写，不如自己下场干。### 8篇]]></description><category></category></item><item><title><![CDATA[3分钟理解服务网格Istio]]></title><link>https://blog.csdn.net/CHNIM/article/details/160569753</link><guid>https://blog.csdn.net/CHNIM/article/details/160569753</guid><author>CHNIM</author><pubDate>Tue, 28 Apr 2026 00:28:32 +0800</pubDate><description><![CDATA[Istio 就是你微服务系统的"通信管家"——你不用操心服务间怎么通信、怎么加密、怎么监控，它全包了。但管家的工资（资源消耗）不低，而且需要时间磨合（学习成本）。值不值，看你系统有多大、需求有多复杂。有问题欢迎评论区聊。]]></description><category></category></item><item><title><![CDATA[AI辅助编程的现状与未来：我们会被取代吗？]]></title><link>https://blog.csdn.net/CHNIM/article/details/160569519</link><guid>https://blog.csdn.net/CHNIM/article/details/160569519</guid><author>CHNIM</author><pubDate>Tue, 28 Apr 2026 00:17:21 +0800</pubDate><description><![CDATA["程序员会被 AI 取代吗？"这个问题本身就有问题。“在 AI 时代，什么样的程序员不会被取代？答案是：能思考、能决策、能解决真实问题的人。AI 让写代码变简单了，但让"做好软件"这件事变得更有挑战性——因为你不仅要写代码，还要驾驭 AI 写的代码，还要做出 AI 做不了的判断。这不是末日，是升级。但前提是，你得主动升级，而不是等着被动淘汰。有问题欢迎评论区交流。下一篇聊聊实战经验：怎么把首屏加载时间从 3 秒优化到 0.8 秒。]]></description><category></category></item><item><title><![CDATA[Spring Cloud配置中心3个常见坑，踩一次记一辈子]]></title><link>https://blog.csdn.net/CHNIM/article/details/160428598</link><guid>https://blog.csdn.net/CHNIM/article/details/160428598</guid><author>CHNIM</author><pubDate>Thu, 23 Apr 2026 09:31:59 +0800</pubDate><description><![CDATA[说实话，配置中心这东西设计上不复杂，但坑全在细节里。上面3个坑，每一个我都踩过，而且不止一次。最让我心有余悸的是环境串了那次——开发环境的数据库地址推到了生产。幸好当时有监控告警，5分钟就发现了，不然真的要写事故报告了。配置中心不是设好了就不管的，它需要你持续关注：定期检查：看看有没有配置长期没更新，可能是废弃的权限管控：生产环境的配置谁能改？改之前要不要审批？变更记录：谁改的？什么时候改的？改了什么？都得有据可查回滚演练：别等到出事才第一次回滚，平时就得练凌晨2点别改生产配置。]]></description><category></category></item><item><title><![CDATA[深入理解React Fiber架构：从栈调和到时间切片]]></title><link>https://blog.csdn.net/CHNIM/article/details/160428504</link><guid>https://blog.csdn.net/CHNIM/article/details/160428504</guid><author>CHNIM</author><pubDate>Thu, 23 Apr 2026 09:31:05 +0800</pubDate><description><![CDATA[把同步递归变成异步可中断的链式遍历。听起来简单，但实现起来涉及数据结构、调度算法、优先级策略、双缓冲机制等一系列复杂的设计决策。React团队花了两年多才把这个东西做好，足以说明这个问题的难度。→ 低优先级更新的语法糖→ 延迟更新的hookSuspense→ 利用Fiber的暂停恢复能力→ Fiber调度策略的全称不瞒你说，我排查那个卡顿问题，最后就是用把大列表更新降级为低优先级搞定的。加一行代码，主线程不再阻塞，用户操作丝滑如初。有什么疑问评论区聊～]]></description><category></category></item><item><title><![CDATA[5个提升编码效率的AI工具，谁更好用？]]></title><link>https://blog.csdn.net/CHNIM/article/details/160428407</link><guid>https://blog.csdn.net/CHNIM/article/details/160428407</guid><author>CHNIM</author><pubDate>Thu, 23 Apr 2026 09:29:50 +0800</pubDate><description><![CDATA[特性CopilotCursorCodeiumTabnineDeepSeek价格$10/月$20/月免费$12/月免费补全质量⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐上下文理解⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐代码隐私❌❌❌✅✅中文支持⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐IDE兼容性⭐⭐⭐⭐⭐专属⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐说实话，AI编码工具现在还远没到"替代程序员"的程度。]]></description><category></category></item><item><title><![CDATA[MCP协议火了：我用它5分钟就打通了所有AI工具的上下文]]></title><link>https://blog.csdn.net/CHNIM/article/details/160389259</link><guid>https://blog.csdn.net/CHNIM/article/details/160389259</guid><author>CHNIM</author><pubDate>Wed, 22 Apr 2026 08:06:02 +0800</pubDate><description><![CDATA[MCP全称是模型上下文协议，是今年刚出来的一个开源协议，说白了就是给所有AI工具定了一个统一的上下文交换标准。以前各个AI厂商的上下文格式都不一样，互相之间完全不兼容，你想把ChatGPT的对话导入到Claude里继续聊，只能手动复制粘贴，还经常格式错乱。有了MCP之后，所有支持这个协议的AI工具都可以直接互相交换上下文，不用再做格式转换了。说实话，我觉得MCP可能会成为未来AI领域的底层协议之一，现在已经有越来越多的AI工具开始支持它了。]]></description><category></category></item><item><title><![CDATA[深度学习前传：从感知机到第三次AI寒冬，60年沉浮史比小说还精彩]]></title><link>https://blog.csdn.net/CHNIM/article/details/160381617</link><guid>https://blog.csdn.net/CHNIM/article/details/160381617</guid><author>CHNIM</author><pubDate>Tue, 21 Apr 2026 21:04:22 +0800</pubDate><description><![CDATA[很多刚入行的同学都喜欢赶热点，今天学大模型，明天学AI Agent，却很少有人去看这些基础历史。我反而觉得了解发展历史才是最重要的，看懂了过去的发展路径，你才能判断未来的方向，知道什么技术是真的有前途的，什么是炒作的。下一篇我就给大家讲2012年的AlexNet到底是怎么一脚踢开深度学习新时代的，它的那几个创新点现在看平平无奇，在当时简直是降维打击。]]></description><category></category></item><item><title><![CDATA[AI Agent到底是真需求还是伪概念？一个开发者的真实体验]]></title><link>https://blog.csdn.net/CHNIM/article/details/160375639</link><guid>https://blog.csdn.net/CHNIM/article/details/160375639</guid><author>CHNIM</author><pubDate>Tue, 21 Apr 2026 16:23:52 +0800</pubDate><description><![CDATA[我观察了身边好多做AI Agent的项目，最后大部分都失败了，我觉得主要有两个原因。我现在对AI Agent的态度是：不排斥，也不迷信。有用的场景就用，没用的场景就不用，不要被那些吹的天花乱坠的概念忽悠了，也不要觉得AI Agent没用，错过了提高效率的机会。如果你还没用过AI Agent的话，我建议你可以试试用它帮你写那些重复的代码，查日志，生成单元测试，真的能省好多时间。有什么关于AI Agent的问题，欢迎评论区交流。]]></description><category></category></item><item><title><![CDATA[MCP协议真的香：我用30行代码让AI对接了10个工具]]></title><link>https://blog.csdn.net/CHNIM/article/details/160352696</link><guid>https://blog.csdn.net/CHNIM/article/details/160352696</guid><author>CHNIM</author><pubDate>Tue, 21 Apr 2026 08:05:58 +0800</pubDate><description><![CDATA[说实话MCP现在还在早期版本，功能还不算特别完善，但是已经能解决我80%的痛点了。如果你也是做AI Agent开发的，经常要对接各种工具，强烈推荐你试试MCP，真的能省出好多摸鱼时间。目前官方已经提供了Python、Node.js等多种语言的SDK，文档也比较全，上手门槛很低。有兴趣的朋友可以去GitHub搜下Model Context Protocol看看。有什么问题欢迎在评论区交流，我看到都会回的。]]></description><category></category></item><item><title><![CDATA[Redis缓存击穿、穿透、雪崩——一次性讲清楚，附6种解决方案]]></title><link>https://blog.csdn.net/CHNIM/article/details/160340073</link><guid>https://blog.csdn.net/CHNIM/article/details/160340073</guid><author>CHNIM</author><pubDate>Mon, 20 Apr 2026 16:21:35 +0800</pubDate><description><![CDATA[其实这三个问题没有你想的那么复杂，也不用所有方案都用上，根据自己的业务场景选就行。如果你的业务流量不大，用缓存空值+过期时间加随机值就足够了，不用搞什么布隆过滤器、多级缓存，过度设计只会给自己添麻烦。如果流量很大，再根据实际情况加对应的方案就行。毕竟技术是为业务服务的，合适的才是最好的。如果你们也遇到过相关的坑，欢迎评论区交流。]]></description><category></category></item><item><title><![CDATA[MCP协议实战：30分钟给Claude接上你公司的内部API]]></title><link>https://blog.csdn.net/CHNIM/article/details/160309910</link><guid>https://blog.csdn.net/CHNIM/article/details/160309910</guid><author>CHNIM</author><pubDate>Sun, 19 Apr 2026 16:19:09 +0800</pubDate><description><![CDATA[说实话，MCP协议真的是我最近半年见过的最实用的AI开发协议。之前想给大模型接外部工具，要么用复杂的Function Calling提示词工程，要么用各种第三方中间件，麻烦得要死。现在有了MCP，你只要专注写自己的业务逻辑就行，其他的都交给协议处理。整个配置过程真的只有30分钟，推荐所有做AI落地的同学都试试。如果配置过程中遇到问题，欢迎评论区留言，我看到都会回复。]]></description><category></category></item><item><title><![CDATA[Python异步编程从入门到不懵：asyncio实战踩坑指南]]></title><link>https://blog.csdn.net/CHNIM/article/details/160282102</link><guid>https://blog.csdn.net/CHNIM/article/details/160282102</guid><author>CHNIM</author><pubDate>Sat, 18 Apr 2026 16:16:41 +0800</pubDate><description><![CDATA[说实话，asyncio真的没有很多教程说的那么难，大部分人学不会都是被那些复杂的概念吓退了。你完全可以先不管什么协程、事件循环这些底层概念，先照着例子写能用的代码，写多了自然就理解了。我之前也是觉得异步编程特别高深，这次踩了一遍坑下来，发现其实常用的功能就那么几个，gather、Semaphore、异常处理，掌握这几个大部分场景都够用了。如果你也在学asyncio的过程中遇到什么问题，欢迎评论区交流，我看到都会回复。]]></description><category></category></item><item><title><![CDATA[Python异步编程从入门到不懵：asyncio实战踩坑指南]]></title><link>https://blog.csdn.net/CHNIM/article/details/160281956</link><guid>https://blog.csdn.net/CHNIM/article/details/160281956</guid><author>CHNIM</author><pubDate>Sat, 18 Apr 2026 16:10:01 +0800</pubDate><description><![CDATA[异步函数里所有IO操作都要用异步版本，别用同步的调用异步函数必须加await，或者包装成task共享变量修改要加锁异常要捕获，别让整个程序崩溃我一开始学的时候觉得这玩意儿太绕了，写多了之后发现其实比多线程多进程简单多了，没有那么多锁和进程间通信的问题。现在我写IO密集型的项目首先想到的就是asyncio，效率提升真的很明显。如果你也经常写爬虫、API服务、定时任务这类IO密集型的代码，真的推荐你好好学一下asyncio，绝对不亏。]]></description><category></category></item></channel></rss>