<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[whereabouts_的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/whereabouts_</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; whereabouts_]]></copyright><item><title><![CDATA[源码明明就在本地，Maven 为什么还要去 Nexus 下载？]]></title><link>https://blog.youkuaiyun.com/whereabouts_/article/details/164553993</link><guid>https://blog.youkuaiyun.com/whereabouts_/article/details/164553993</guid><author>whereabouts_</author><pubDate>Tue, 08 Sep 2026 07:05:51 +0800</pubDate><description><![CDATA[理解-pl和-am可以简单理解成：Maven 本次构建所管理的一组模块。例如父pom.xml</</</</Maven 会根据模块之间的依赖关系计算构建顺序。↓↓这就是 Reactor。源码在本地，不代表 Maven 当前构建就能直接使用它。这个依赖是否存在于当前 Reactor 中？Reactor↓本地 ~/.m2↓远程仓库它自然就会去 Nexus 或 Maven Central 查找。而-pl和-am本次 Maven Reactor 到底包含哪些模块。-pl我想构建谁-am。]]></description><category></category></item><item><title><![CDATA[基于AI 的 FastAPI 速通学习会话记录]]></title><link>https://blog.youkuaiyun.com/whereabouts_/article/details/162920001</link><guid>https://blog.youkuaiyun.com/whereabouts_/article/details/162920001</guid><author>whereabouts_</author><pubDate>Thu, 16 Jul 2026 07:23:49 +0800</pubDate><description><![CDATA[本文记录了Java Spring工程师在1小时内快速学习FastAPI框架的对话摘要。主要内容包括： 学习计划：分6个模块对比FastAPI与Spring框架的核心概念，如路由、数据校验、依赖注入等。 核心差异： FastAPI将启动类和路由合为一体 使用装饰器注册路由 通过Pydantic实现数据校验 提供多种启动方式（命令行、代码内、生产环境） 实际应用： 通过最小可运行代码示例展示核心功能 分析litellm项目的真实代码结构 提供识别Python工程模块的快速指南 该学习过程采用"代码示例+Spri]]></description><category></category></item><item><title><![CDATA[网络排查基础与实战指南：Ping 与 Telnet]]></title><link>https://blog.youkuaiyun.com/whereabouts_/article/details/159496334</link><guid>https://blog.youkuaiyun.com/whereabouts_/article/details/159496334</guid><author>whereabouts_</author><pubDate>Thu, 26 Mar 2026 10:29:50 +0800</pubDate><description><![CDATA[摘要：本文详细解析了ping和telnet在网络排障中的核心差异与应用场景。ping基于ICMP协议，用于测试网络层连通性，适合检查主机可达性和网络质量；telnet基于TCP协议，用于验证传输层端口开放状态，适合检查服务可用性。文章剖析了常见响应状态的含义，特别解释了&quot;telnet闪退&quot;现象的原因，并提供了对比表格。掌握这两种工具能帮助开发者快速定位网络层、传输层或应用层的问题，是系统架构和微服务部署中的必备排障技能。（149字）]]></description><category></category></item><item><title><![CDATA[AI 时代的 Git 进阶术：如何优雅地让多个 Agent 并行开发]]></title><link>https://blog.youkuaiyun.com/whereabouts_/article/details/159279518</link><guid>https://blog.youkuaiyun.com/whereabouts_/article/details/159279518</guid><author>whereabouts_</author><pubDate>Fri, 20 Mar 2026 10:42:48 +0800</pubDate><description><![CDATA[平时我们用切换分支时，文件会在同一个文件夹里变来变去。如果你正在写一个大功能，写到一半突然需要去修复一个紧急 Bug，通常只能用git stash把代码藏起来，或者先提交一个乱糟糟的 commit。是 Git 提供的一个强大的高级功能，它允许你在同一个本地 Git 仓库中，同时检出（checkout）多个不同的分支到不同的物理文件目录中。]]></description><category></category></item><item><title><![CDATA[Python 装饰器函数(decoratots) 学习笔记]]></title><link>https://blog.youkuaiyun.com/whereabouts_/article/details/157297656</link><guid>https://blog.youkuaiyun.com/whereabouts_/article/details/157297656</guid><author>whereabouts_</author><pubDate>Fri, 23 Jan 2026 18:18:01 +0800</pubDate><description><![CDATA[Python装饰器是一种高阶函数工具，通过@语法糖实现，本质是高阶函数+闭包。它能在不修改原函数代码的情况下，为函数添加额外功能（如日志、计时、权限校验等），类似给函数&quot;穿外套&quot;。装饰器工作流程包括绑定原函数、定义包装函数、替换原函数和执行包装逻辑。支持带参数的函数和多层装饰器（执行顺序从下往上），内置@staticmethod等常用装饰器。典型案例展示了如何实现函数计时、日志记录等功能，并保持原函数参数和返回值的完整性。]]></description><category></category></item><item><title><![CDATA[Python 函数学习笔记]]></title><link>https://blog.youkuaiyun.com/whereabouts_/article/details/157297625</link><guid>https://blog.youkuaiyun.com/whereabouts_/article/details/157297625</guid><author>whereabouts_</author><pubDate>Fri, 23 Jan 2026 18:16:30 +0800</pubDate><description><![CDATA[本文介绍了Python函数的基本概念和使用方法。主要内容包括：1) 函数的定义语法，使用def关键字创建可重复使用的代码块；2) 类型注解(Type Hints)的使用，通过添加类型信息提高代码可读性；3) 参数传递机制，区分可变对象和不可变对象的传递方式；4) 不同类型参数的使用，包括必需参数、关键字参数、默认参数和不定长参数(*args)。文章还特别说明了空函数定义使用pass语句，以及函数返回多个值实际上是返回元组的特性。这些知识为Python函数编程提供了基础指导。]]></description><category></category></item><item><title><![CDATA[基于 Dan Koe 的《How to fix your entire life in 1 day》笔记]]></title><link>https://blog.youkuaiyun.com/whereabouts_/article/details/157255958</link><guid>https://blog.youkuaiyun.com/whereabouts_/article/details/157255958</guid><author>whereabouts_</author><pubDate>Thu, 22 Jan 2026 15:59:53 +0800</pubDate><description><![CDATA[摘要： 真正的改变源于身份重塑而非表面行为。80%-90%的新年决心失败，是因人们依赖意志力强行改变行为（二阶改变），却未先调整深层身份（一阶改变）。所有行为都服务于潜意识目标（如安全感），而身份形成于8步循环（从行动到自我捍卫）。通过&quot;一日重置协议&quot;（挖掘痛苦/愿景、模式打断、目标分层）和&quot;生活游戏化&quot;（反愿景、任务系统、约束条件），可将思维层级提升至策略期，利用控制论原理持续迭代。成功=能动性+机会+智力，核心是让行为成为身份的副产品而非挣扎。]]></description><category></category></item><item><title><![CDATA[Python高级语法：推导式+迭代器+生成器]]></title><link>https://blog.youkuaiyun.com/whereabouts_/article/details/157128956</link><guid>https://blog.youkuaiyun.com/whereabouts_/article/details/157128956</guid><author>whereabouts_</author><pubDate>Mon, 19 Jan 2026 09:40:05 +0800</pubDate><description><![CDATA[本文介绍了Python中的推导式和生成器。推导式是Python的语法糖，用于简洁构建容器，包括列表、集合、字典和生成器表达式四种类型，通过不同括号区分返回类型。迭代器是访问集合元素的方式，具有惰性求值、一次性和省内存的特点。生成器是最简单的创建迭代器的方式，使用yield语句逐步产生值，避免一次性计算所有结果。推导式与生成器的区别在于推导式立即求值（除生成器表达式外），而生成器惰性求值。文中提供了各类推导式和生成器的语法示例及实际应用案例。]]></description><category></category></item><item><title><![CDATA[Python集合容器类学习笔记]]></title><link>https://blog.youkuaiyun.com/whereabouts_/article/details/157026439</link><guid>https://blog.youkuaiyun.com/whereabouts_/article/details/157026439</guid><author>whereabouts_</author><pubDate>Fri, 16 Jan 2026 14:57:39 +0800</pubDate><description><![CDATA[本文介绍了Python中List（列表）的创建方法和特性。列表是有序的可变对象集合，类似Java中的ArrayList。创建方式包括：1）使用[]直接创建；2）通过list()函数转换字符串、元组、集合等可迭代对象；3）使用列表推导式。列表具有有序性、可变性，可包含任意数据类型并允许重复元素，支持索引访问。文章提供了详细的代码示例展示各种创建方式，并说明了列表的基本特性。]]></description><category></category></item><item><title><![CDATA[如何设置VSCode打开文件Tab页签换行]]></title><link>https://blog.youkuaiyun.com/whereabouts_/article/details/156768331</link><guid>https://blog.youkuaiyun.com/whereabouts_/article/details/156768331</guid><author>whereabouts_</author><pubDate>Fri, 09 Jan 2026 17:06:15 +0800</pubDate><description><![CDATA[摘要：VS Code 中可通过两种方式设置标签页自动换行：1) 在设置界面搜索&quot;wrap tabs&quot;，勾选对应选项；2) 在settings.json中添加&quot;workbench.editor.wrapTabs&quot;: true。还可配合设置Tab Sizing为&quot;shrink&quot;优化显示空间。设置后标签页超出时会自动折行显示而非出现滚动条。]]></description><category></category></item><item><title><![CDATA[Java工程师Python实战教程：通过MCP服务器掌握Python核心语法]]></title><link>https://blog.youkuaiyun.com/whereabouts_/article/details/156157609</link><guid>https://blog.youkuaiyun.com/whereabouts_/article/details/156157609</guid><author>whereabouts_</author><pubDate>Mon, 22 Dec 2025 17:24:01 +0800</pubDate><description><![CDATA[本文为Java工程师提供了使用Python构建MCP服务器的实战指南。通过对比Java与Python语法差异，详细讲解了Python的类型提示、异步编程、HTTP请求处理等核心概念。文章采用&quot;结果导向&quot;模式，先展示完整代码，再逐行解析关键语法特性，包括异步函数(async/await)、装饰器(@)、f-string字符串格式化等Python特有语法，帮助Java开发者快速建立Python语法体系。项目采用类似Maven的Python包管理工具uv，并演示了从项目初始化到实现天气警报和预]]></description><category></category></item><item><title><![CDATA[一个优雅、通用、零侵入的 CSV 导出工具类（Java 实战）]]></title><link>https://blog.youkuaiyun.com/whereabouts_/article/details/155889766</link><guid>https://blog.youkuaiyun.com/whereabouts_/article/details/155889766</guid><author>whereabouts_</author><pubDate>Sat, 13 Dec 2025 16:50:46 +0800</pubDate><description><![CDATA[本文介绍了一个通用的CSV导出工具类设计，解决了业务系统中常见的CSV导出问题。工具类采用泛型+Function映射方式，不依赖具体业务对象；通过写入UTF-8 BOM解决Excel中文乱码；遵循RFC 4180标准处理特殊字符，确保格式安全。核心代码约40行，支持任意DTO/VO对象，使用简单且复用性强。适用于后台管理、数据分析等中小数据量场景，能有效避免传统CSV导出中的乱码、格式错位等问题，提升开发效率和代码质量。]]></description><category></category></item><item><title><![CDATA[Maven构建配置学习笔记]]></title><link>https://blog.youkuaiyun.com/whereabouts_/article/details/155882155</link><guid>https://blog.youkuaiyun.com/whereabouts_/article/details/155882155</guid><author>whereabouts_</author><pubDate>Sat, 13 Dec 2025 11:33:25 +0800</pubDate><description><![CDATA[本文总结了Maven构建配置的关键点：1）通过&lt;build&gt;标签定制打包名称、配置Spring Boot插件处理本地jar包、管理资源文件；2）使用&lt;profiles&gt;实现多环境配置，包括默认开发环境和特定测试/生产环境；3）提供实际打包命令和环境隔离解决方案。重点解决了多环境部署中的配置文件管理、包名区分和本地依赖打包问题，建议采用标准目录结构和命名规范。该配置方案能有效提升项目构建效率和部署可靠性。]]></description><category></category></item><item><title><![CDATA[JDK25新特性]]></title><link>https://blog.youkuaiyun.com/whereabouts_/article/details/151767477</link><guid>https://blog.youkuaiyun.com/whereabouts_/article/details/151767477</guid><author>whereabouts_</author><pubDate>Wed, 17 Sep 2025 00:06:46 +0800</pubDate><description><![CDATA[JDK 25正式发布，包含18项新功能。主要更新包括：预览版PEM加密对象编解码API（JEP 470），简化密钥和证书处理；稳定值API（JEP 502）提升启动性能；移除32位x86支持（JEP 503）以降低维护成本；第五次预览结构化并发API（JEP 505）优化多线程管理；作用域值API（JEP 506）正式落地，改进线程间数据共享；原始类型模式匹配第三次预览（JEP 507）；以及第十次孵化的向量计算API（JEP 508）持续优化性能。这些更新聚焦性能提升、代码简化与现代化架构支持。]]></description><category></category></item><item><title><![CDATA[Qwen Code 安装使用]]></title><link>https://blog.youkuaiyun.com/whereabouts_/article/details/149604219</link><guid>https://blog.youkuaiyun.com/whereabouts_/article/details/149604219</guid><author>whereabouts_</author><pubDate>Thu, 24 Jul 2025 14:36:00 +0800</pubDate><description><![CDATA[Qwen Code是一款基于Gemini CLI开发的，专为模型设计的命令行人工智能工作流工具，具有更强大的解析器支持和工具支持功能。]]></description><category></category></item><item><title><![CDATA[MySQL的在线模式学习笔记]]></title><link>https://blog.youkuaiyun.com/whereabouts_/article/details/149505592</link><guid>https://blog.youkuaiyun.com/whereabouts_/article/details/149505592</guid><author>whereabouts_</author><pubDate>Mon, 21 Jul 2025 15:12:00 +0800</pubDate><description><![CDATA[MySQL在线模式学习笔记]]></description><category></category></item><item><title><![CDATA[AI Service简介]]></title><link>https://blog.youkuaiyun.com/whereabouts_/article/details/148267616</link><guid>https://blog.youkuaiyun.com/whereabouts_/article/details/148267616</guid><author>whereabouts_</author><pubDate>Wed, 28 May 2025 00:45:21 +0800</pubDate><description><![CDATA[本文介绍LangChain4j框架如何通过AI Services简化大语言模型(LLM)应用开发。LangChain4j提供低级组件的同时，推出了类似Spring JPA的高级抽象——AI Services，让开发者专注于业务逻辑而非实现细节。文章展示了最简单的AI Service使用方法：定义接口、配置ChatModel并通过AiServices创建代理实例。代码示例包括Maven依赖配置、YAML设置和核心接口定义，演示了如何快速构建一个基于LLM的聊天助手。这种声明式API设计显著减少了样板代码，支持]]></description><category></category></item><item><title><![CDATA[LangChain4j HelloWorld]]></title><link>https://blog.youkuaiyun.com/whereabouts_/article/details/148203443</link><guid>https://blog.youkuaiyun.com/whereabouts_/article/details/148203443</guid><author>whereabouts_</author><pubDate>Sun, 25 May 2025 13:02:41 +0800</pubDate><description><![CDATA[LangChain4j是一个支持集成多种大语言模型的Java框架，提供高低两种抽象级别的API调用方式。本文演示了如何从零开始搭建LangChain4j开发环境：首先创建Maven父工程管理依赖，然后建立子模块并配置POM文件引入必要的依赖（包括OpenAI集成包和Spring Boot组件）。通过YML文件配置API密钥和模型参数后，创建简单的Spring Boot启动类和控制器即可实现与大语言模型的交互。该框架支持JDK17+环境，既能通过底层API灵活构建应用，也能通过高级API简化开发流程。]]></description><category></category></item><item><title><![CDATA[LLM大模型工具Ollama使用指南]]></title><link>https://blog.youkuaiyun.com/whereabouts_/article/details/147821307</link><guid>https://blog.youkuaiyun.com/whereabouts_/article/details/147821307</guid><author>whereabouts_</author><pubDate>Fri, 09 May 2025 14:21:58 +0800</pubDate><description><![CDATA[Ollama 是一个开源的本地大语言模型运行框架，专为在本地机器上便捷部署和运行大型语言模型（LLM）而设计。的安装路径就变成了我们指定的目录了，这样，后续的大模型数据也会。变量值：D:\cyao\Ollama\models。回车，自动打开在当前文件夹目录下的命令行窗口。然后，Ollama 就会进入安装，点击。下载完成直接进入对话，退出输入命令。变量名：OLLAMA_MODELS。验证 Ollama 是否安装成功。自定义Ollama安装路径。]]></description><category></category></item><item><title><![CDATA[LangChain4j简介]]></title><link>https://blog.youkuaiyun.com/whereabouts_/article/details/147776802</link><guid>https://blog.youkuaiyun.com/whereabouts_/article/details/147776802</guid><author>whereabouts_</author><pubDate>Thu, 08 May 2025 00:01:08 +0800</pubDate><description><![CDATA[LangChain4j简介]]></description><category></category></item></channel></rss>