<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[codesavant的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/codesavant</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; codesavant]]></copyright><item><title><![CDATA[分布式事务：从入门到“放弃“的硬核生存指南（附真实踩坑实录）]]></title><link>https://blog.youkuaiyun.com/codesavant/article/details/148021912</link><guid>https://blog.youkuaiyun.com/codesavant/article/details/148021912</guid><author>codesavant</author><pubDate>Sat, 17 May 2025 08:06:47 +0800</pubDate><description><![CDATA[搞分布式事务就像谈恋爱：想要强一致性？准备好承受高性能损耗；选择最终一致性？就要忍受短暂的不确定状态。记住，没有银弹！根据业务场景选最不坏的方案，然后…祈祷别出幺蛾子吧！（PS：最近发现Seata的GlobalLock注解挺好用，但千万注意锁粒度！别问我怎么知道的，会议室还贴着我的检讨书呢）]]></description><category></category></item><item><title><![CDATA[Python入门必知的7个基础语法（新手避坑指南）]]></title><link>https://blog.youkuaiyun.com/codesavant/article/details/147995833</link><guid>https://blog.youkuaiyun.com/codesavant/article/details/147995833</guid><author>codesavant</author><pubDate>Fri, 16 May 2025 02:43:08 +0800</pubDate><description><![CDATA[def 函数名(参数) : """文档字符串""" 函数体 return 返回值"""计算身体质量指数:param weight: 体重(kg):param height: 身高(m):return: BMI值"""print(calculate_bmi(70, 1.75)) # 输出22.86。]]></description><category></category></item><item><title><![CDATA[Typora图片插入终极指南：告别路径错误导致的图片丢失（永久有效方案）]]></title><link>https://blog.youkuaiyun.com/codesavant/article/details/147937920</link><guid>https://blog.youkuaiyun.com/codesavant/article/details/147937920</guid><author>codesavant</author><pubDate>Wed, 14 May 2025 03:21:15 +0800</pubDate><description><![CDATA[A：当然！./images→ 存放在images文件夹../static→ 存放在上级目录的static文件夹→ 按日期创建子目录（注意）绝对路径（如C:\Users\xxx）会导致跨设备失效！相对路径 + 统一仓库 + 自动同步 = 永不丢失现在就去调整你的Typora设置吧！按照这个方法配置后，你可以：✅ 随意移动文档文件✅ 任意切换设备✅ 放心分享给他人再也不用担心辛辛苦苦做的笔记变成"图片失踪案发现场"啦！🎉（彩蛋）如果这篇文章帮到了你，下次写技术文档时试试用![表情包]]]></description><category></category></item><item><title><![CDATA[VS Code多语言环境配置全攻略（手把手教学版）]]></title><link>https://blog.youkuaiyun.com/codesavant/article/details/147933815</link><guid>https://blog.youkuaiyun.com/codesavant/article/details/147933815</guid><author>codesavant</author><pubDate>Tue, 13 May 2025 21:05:11 +0800</pubDate><description><![CDATA[最近有个学弟问我：“学长，为什么我的VS Code写Python能自动补全，写Java就变智障了？”（笑）其实这就是典型的多语言环境没配置好！今天就带大家玩转VS Code的多语言开发环境搭建，让你在Python/Java/C++/Go之间丝滑切换！"body": [" $0"," }","}"配置完多语言环境的VS Code，简直就是瑞士军刀般的存在！Python数据分析 → Ctrl+S直接运行Java项目调试 → F5一键启动C++代码阅读 → 悬浮显示文档。]]></description><category></category></item><item><title><![CDATA[React面试高频考点深度解析（2024最新版）]]></title><link>https://blog.youkuaiyun.com/codesavant/article/details/147688413</link><guid>https://blog.youkuaiyun.com/codesavant/article/details/147688413</guid><author>codesavant</author><pubDate>Sat, 03 May 2025 23:00:09 +0800</pubDate><description><![CDATA[面试官可能会让你现场手写一个});// 使用示例：const prevCount = usePrevious(count);（加分项）可以说说项目中用过的自定义Hook，比如表单校验Hook，或者响应式布局Hook。]]></description><category></category></item><item><title><![CDATA[在VMware上安装macOS虚拟机的保姆级教程（附避坑指南）]]></title><link>https://blog.youkuaiyun.com/codesavant/article/details/147685887</link><guid>https://blog.youkuaiyun.com/codesavant/article/details/147685887</guid><author>codesavant</author><pubDate>Sat, 03 May 2025 18:22:10 +0800</pubDate><description><![CDATA[最近被小伙伴问爆了如何在Windows电脑上用VMware装macOS系统（是的你没看错！）作为一个踩过所有坑的过来人，今天必须把这份血泪经验整理成攻略。友情提示：准备好咖啡，这篇教程可能会拯救你未来72小时的头发！！！经过三天三夜的折腾，我的虚拟机终于能流畅运行Xcode开发iOS应用了（泪目）。虽然过程堪比西天取经，但看到熟悉的macOS界面出现在Windows电脑上时，那种成就感真的爆棚！别手贱升级系统补丁定期给虚拟机拍快照重要数据记得实时备份。]]></description><category></category></item><item><title><![CDATA[二分答案：程序员必备的解题神器（附实战技巧）]]></title><link>https://blog.youkuaiyun.com/codesavant/article/details/147638284</link><guid>https://blog.youkuaiyun.com/codesavant/article/details/147638284</guid><author>codesavant</author><pubDate>Sat, 03 May 2025 13:48:45 +0800</pubDate><description><![CDATA[各位程序员朋友（特别是算法竞赛选手），你们一定遇到过这样的场景：题目要求找出满足条件的最大值/最小值，但直接求解又无从下手。这时候就该祭出我们的二分答案大法了！！！简单来说，二分答案就是把答案当作搜索目标进行二分查找。和传统二分法最大的区别在于——我们不是直接在数组里找元素，而是在答案的可能范围里找符合条件的最优解。举个🌰：假设我们要找能举起100kg重物的最细木棍直径。常规做法可能要试遍所有可能直径，但用二分答案只需要logN次验证！二分答案就像瑞士军刀——看起来简单，但用好了能解决各种疑难杂症。]]></description><category></category></item><item><title><![CDATA[Linux解压tar.gz包命令全解析（附实战技巧）]]></title><link>https://blog.youkuaiyun.com/codesavant/article/details/147598631</link><guid>https://blog.youkuaiyun.com/codesavant/article/details/147598631</guid><author>codesavant</author><pubDate>Tue, 29 Apr 2025 01:19:35 +0800</pubDate><description><![CDATA[遇到超大压缩包时，先tar -tzvf查看内容再解压定期清理旧的tar.gz包（重要文件压缩时记得加--verify参数验证用设置快捷命令掌握这些技巧，你就能在Linux文件管理的江湖里横着走啦！遇到任何tar.gz相关的问题，记得回来查这份秘籍哦~]]></description><category></category></item><item><title><![CDATA[Go语言入门指南：从零到Hello World只需5分钟！]]></title><link>https://blog.youkuaiyun.com/codesavant/article/details/147544237</link><guid>https://blog.youkuaiyun.com/codesavant/article/details/147544237</guid><author>codesavant</author><pubDate>Sat, 26 Apr 2025 22:43:15 +0800</pubDate><description><![CDATA[Go语言的学习曲线就像它的吉祥物地鼠一样——开始觉得有点萌（懵），上手之后会发现它灵活得要命！代码不运行，永远学不会。赶紧打开你的IDE，把文中的示例代码都敲一遍，遇到报错不要慌，那都是升级的经验包！最后送大家一句Go谚语：“A little copying is better than a little dependency.” （适当的复制好过不必要的依赖）。共勉！]]></description><category></category></item></channel></rss>