- 博客(78)
- 收藏
- 关注
原创 Python 装饰器函数(decoratots) 学习笔记
Python装饰器是一种高阶函数工具,通过@语法糖实现,本质是高阶函数+闭包。它能在不修改原函数代码的情况下,为函数添加额外功能(如日志、计时、权限校验等),类似给函数"穿外套"。装饰器工作流程包括绑定原函数、定义包装函数、替换原函数和执行包装逻辑。支持带参数的函数和多层装饰器(执行顺序从下往上),内置@staticmethod等常用装饰器。典型案例展示了如何实现函数计时、日志记录等功能,并保持原函数参数和返回值的完整性。
2026-01-23 18:18:01
147
原创 Python 函数学习笔记
本文介绍了Python函数的基本概念和使用方法。主要内容包括:1) 函数的定义语法,使用def关键字创建可重复使用的代码块;2) 类型注解(Type Hints)的使用,通过添加类型信息提高代码可读性;3) 参数传递机制,区分可变对象和不可变对象的传递方式;4) 不同类型参数的使用,包括必需参数、关键字参数、默认参数和不定长参数(*args)。文章还特别说明了空函数定义使用pass语句,以及函数返回多个值实际上是返回元组的特性。这些知识为Python函数编程提供了基础指导。
2026-01-23 18:16:30
548
原创 基于 Dan Koe 的《How to fix your entire life in 1 day》笔记
摘要: 真正的改变源于身份重塑而非表面行为。80%-90%的新年决心失败,是因人们依赖意志力强行改变行为(二阶改变),却未先调整深层身份(一阶改变)。所有行为都服务于潜意识目标(如安全感),而身份形成于8步循环(从行动到自我捍卫)。通过"一日重置协议"(挖掘痛苦/愿景、模式打断、目标分层)和"生活游戏化"(反愿景、任务系统、约束条件),可将思维层级提升至策略期,利用控制论原理持续迭代。成功=能动性+机会+智力,核心是让行为成为身份的副产品而非挣扎。
2026-01-22 15:59:53
813
1
原创 Python高级语法:推导式+迭代器+生成器
本文介绍了Python中的推导式和生成器。推导式是Python的语法糖,用于简洁构建容器,包括列表、集合、字典和生成器表达式四种类型,通过不同括号区分返回类型。迭代器是访问集合元素的方式,具有惰性求值、一次性和省内存的特点。生成器是最简单的创建迭代器的方式,使用yield语句逐步产生值,避免一次性计算所有结果。推导式与生成器的区别在于推导式立即求值(除生成器表达式外),而生成器惰性求值。文中提供了各类推导式和生成器的语法示例及实际应用案例。
2026-01-19 09:40:05
724
原创 Python集合容器类学习笔记
本文介绍了Python中List(列表)的创建方法和特性。列表是有序的可变对象集合,类似Java中的ArrayList。创建方式包括:1)使用[]直接创建;2)通过list()函数转换字符串、元组、集合等可迭代对象;3)使用列表推导式。列表具有有序性、可变性,可包含任意数据类型并允许重复元素,支持索引访问。文章提供了详细的代码示例展示各种创建方式,并说明了列表的基本特性。
2026-01-16 14:57:39
796
原创 如何设置VSCode打开文件Tab页签换行
摘要:VS Code 中可通过两种方式设置标签页自动换行:1) 在设置界面搜索"wrap tabs",勾选对应选项;2) 在settings.json中添加"workbench.editor.wrapTabs": true。还可配合设置Tab Sizing为"shrink"优化显示空间。设置后标签页超出时会自动折行显示而非出现滚动条。
2026-01-09 17:06:15
261
原创 Java工程师Python实战教程:通过MCP服务器掌握Python核心语法
本文为Java工程师提供了使用Python构建MCP服务器的实战指南。通过对比Java与Python语法差异,详细讲解了Python的类型提示、异步编程、HTTP请求处理等核心概念。文章采用"结果导向"模式,先展示完整代码,再逐行解析关键语法特性,包括异步函数(async/await)、装饰器(@)、f-string字符串格式化等Python特有语法,帮助Java开发者快速建立Python语法体系。项目采用类似Maven的Python包管理工具uv,并演示了从项目初始化到实现天气警报和预
2025-12-22 17:24:01
774
原创 一个优雅、通用、零侵入的 CSV 导出工具类(Java 实战)
本文介绍了一个通用的CSV导出工具类设计,解决了业务系统中常见的CSV导出问题。工具类采用泛型+Function映射方式,不依赖具体业务对象;通过写入UTF-8 BOM解决Excel中文乱码;遵循RFC 4180标准处理特殊字符,确保格式安全。核心代码约40行,支持任意DTO/VO对象,使用简单且复用性强。适用于后台管理、数据分析等中小数据量场景,能有效避免传统CSV导出中的乱码、格式错位等问题,提升开发效率和代码质量。
2025-12-13 16:50:46
449
原创 Maven构建配置学习笔记
本文总结了Maven构建配置的关键点:1)通过<build>标签定制打包名称、配置Spring Boot插件处理本地jar包、管理资源文件;2)使用<profiles>实现多环境配置,包括默认开发环境和特定测试/生产环境;3)提供实际打包命令和环境隔离解决方案。重点解决了多环境部署中的配置文件管理、包名区分和本地依赖打包问题,建议采用标准目录结构和命名规范。该配置方案能有效提升项目构建效率和部署可靠性。
2025-12-13 11:33:25
415
原创 JDK25新特性
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)持续优化性能。这些更新聚焦性能提升、代码简化与现代化架构支持。
2025-09-17 00:06:46
996
原创 Qwen Code 安装使用
Qwen Code是一款基于Gemini CLI开发的,专为模型设计的命令行人工智能工作流工具,具有更强大的解析器支持和工具支持功能。
2025-07-24 14:36:00
2278
原创 AI Service简介
本文介绍LangChain4j框架如何通过AI Services简化大语言模型(LLM)应用开发。LangChain4j提供低级组件的同时,推出了类似Spring JPA的高级抽象——AI Services,让开发者专注于业务逻辑而非实现细节。文章展示了最简单的AI Service使用方法:定义接口、配置ChatModel并通过AiServices创建代理实例。代码示例包括Maven依赖配置、YAML设置和核心接口定义,演示了如何快速构建一个基于LLM的聊天助手。这种声明式API设计显著减少了样板代码,支持
2025-05-28 00:45:21
902
原创 LangChain4j HelloWorld
LangChain4j是一个支持集成多种大语言模型的Java框架,提供高低两种抽象级别的API调用方式。本文演示了如何从零开始搭建LangChain4j开发环境:首先创建Maven父工程管理依赖,然后建立子模块并配置POM文件引入必要的依赖(包括OpenAI集成包和Spring Boot组件)。通过YML文件配置API密钥和模型参数后,创建简单的Spring Boot启动类和控制器即可实现与大语言模型的交互。该框架支持JDK17+环境,既能通过底层API灵活构建应用,也能通过高级API简化开发流程。
2025-05-25 13:02:41
602
原创 LLM大模型工具Ollama使用指南
Ollama 是一个开源的本地大语言模型运行框架,专为在本地机器上便捷部署和运行大型语言模型(LLM)而设计。的安装路径就变成了我们指定的目录了,这样,后续的大模型数据也会。变量值:D:\cyao\Ollama\models。回车,自动打开在当前文件夹目录下的命令行窗口。然后,Ollama 就会进入安装,点击。下载完成直接进入对话,退出输入命令。变量名:OLLAMA_MODELS。验证 Ollama 是否安装成功。自定义Ollama安装路径。
2025-05-09 14:21:58
570
原创 ThreadLocal原理与应用场景详解
的应用场景非常丰富,它在实现线程隔离、跨层数据传递、复杂调用链路的全局参数传递以及数据库连接管理等方面都有着独特的价值。通过这些实际的应用场景,我们可以看到在简化多线程编程复杂度、提高代码可维护性方面的重要作用。在接下来的章节中,我们将深入探讨的工作原理,进一步加深对其的理解。以上是的应用场景概览,希望这些内容能帮助你更好地理解和使用。如果你有任何问题或想法,欢迎随时交流!是阿里巴巴开源的一个扩展库,它可以解决线程池场景下线程本地变量的传递问题。它通过在子线程中复制父线程的。
2025-04-20 22:47:35
984
原创 Cherry Studio 修改数据存储位置
Step1. 在应用设置里找到数据目录,复制应用数据路径,关闭 CherryStudio,如C:\Users\xxx\AppData\Roaming\CherryStudioStep2. 将应用数据目录移动到你希望用于存放数据的目的路径,如 D:\AppData\CherryStudioStep3. 创建目录符号链接(创建符号链接需要管理员权限)或目录联接到新路径。
2025-03-18 09:49:22
2475
原创 AI IDE 使用体验及 AI 感受
过了一个春节,感觉天塌了。这股浪潮带来的无形压力,与AI"三天一迭代"的进化速度, 不知道自己还能不能保住自己的饭碗,今年的个人主题也变成了 All In AI,让 AI 融入我的工作、生活,让 AI 拯救拯救我,不过 AI 能拯救我吗?还记得 OpenAI 的 ChatGPT 横空出世,尝试之后效果惊艳到无法用语言形容,但是使用过后,问题层出不穷,幻觉呀,胡说呀,让我对这个小机器人的回答也不是十分信任了,今年到目前为止,我的个人感受可能也是这样,效果确实很惊艳,但是,如何用,用在哪,我很迷茫。
2025-02-20 23:36:50
2015
原创 使用Jackson序列化忽略属性值为null字段解决方案
方案适用场景灵活性全局配置统一处理所有类的null字段★★☆☆注解方式需要精细控制特定字段★★★★。
2025-02-07 14:57:43
1798
原创 siliconflow + chatbox 体验满血版的DeepSeek
但近期大概率会出现的的情况为了避免多次询问没有回答的情况,我们可以借助:siliconflow + chatbox 体验满血版的DeepSeek。
2025-02-07 14:25:42
978
原创 Sharding-JDBC 5.4.1+SpringBoot3.4.1+MySQL8.4.1 使用案例
SpringBoot 3.4.1 + Sharding-jdbc 5.4.1 + MySQL 8.4.1 工程项目分表案例
2025-01-23 16:18:29
2028
2
原创 java.io.IOException: Broken pipe 异常分析
是一个常见的Java异常,通常在使用Tomcat服务器处理HTTP请求时出现。这个异常表示客户端在服务器完成响应之前关闭了连接,导致服务器端试图写入数据到一个已经关闭的连接上。具体来说,“Broken pipe”(断开的管道)意味着客户端与服务器之间的连接在数据传输过程中被意外中断。
2024-12-17 23:26:30
3036
1
原创 解决Windows Server环境下PPTX转PDF时WebP格式图片缺失
方案一:使用Elasticsearch的快照和恢复功能进行备份和恢复。该方案适用于集群整体备份与迁移,包括全量、增量备份和恢复。方案二:通过reindex操作在集群内或跨集群同步数据。该方案适用于相同集群但不同索引层面的迁移,或者跨集群的索引迁移。缺点是跨集群迁移时需要在elasticsearch.yml中添加目标集群IP白名单。方案三:使用elasticdump来迁移映射和数据。该方案适用于仅对索引层面进行数据或映射的迁移,支持analyzer/mapping/data等操作。
2024-12-17 09:30:00
1108
原创 ElasticSearch常见的索引_集群的备份与恢复方案
方案一:使用Elasticsearch的快照和恢复功能进行备份和恢复。该方案适用于集群整体备份与迁移,包括全量、增量备份和恢复。方案二:通过reindex操作在集群内或跨集群同步数据。该方案适用于相同集群但不同索引层面的迁移,或者跨集群的索引迁移。缺点是跨集群迁移时需要在elasticsearch.yml中添加目标集群IP白名单。方案三:使用elasticdump来迁移映射和数据。该方案适用于仅对索引层面进行数据或映射的迁移,支持analyzer/mapping/data等操作。
2024-12-08 15:19:58
1705
原创 Java 调用 MULTIPART_FORM_DATA 接口
以 QAnthing 上传文件(POST)接口为例,展示Java如何调用上传文件接口。
2024-11-22 17:52:15
769
原创 VMware虚拟机可以被外部机器访问吗?
配置好后,配置的主机端口(我本机=宿主机)是9200,运行在我本机的VMWare上的centos的ip是192.168.2.131 ,SSH端口默认是22, 点击 “应用”“win + r”打开“运行”对话框, 输入“cmd”, 在命令行中输入 ipconfig, 此处ip为 10.2.111.158。主机端口就是宿主机的映射端口,因为这里是以ElasticSearch,所以这里9200为例。打开宿主机的防火墙,指定规则或者关闭防火墙,之后即可通过ip+端口访问到虚拟机了。选中网络适配器,修改网络模式为。
2024-11-05 09:50:44
1508
原创 《认知觉醒》读书笔记
如果我们想要做一些自己不熟悉的事情,可以先拆分目标,将一个大且难得任务拆分成小的、清晰的子任务,再逐个任务去做,如果无法拆成明确的子任务,不妨参考一下其他做过类似事情的先辈们的做法,先做着试试。个人成长的真谛不在于重复简单的任务,而在于挑战自我,进行深层次的学习,做100次1+1=2并不会让你对数学有更深的理解,真正的成长是去做适合自己的啦深层的事情,什么是拉伸层?记日记是的主要目的是反省自己,找出自己的不足并改之,是一次与自己对话的过程,在与自己聊天的过程中,找出问题,并监督自己直到改正。
2024-09-07 23:18:23
601
1
原创 基于Mybatis实现动态数据源切换
通过实现方法,并结合 Spring 框架内部的逻辑,我们可以实现在运行时根据不同的条件动态地选择和切换数据源。这种机制允许应用程序在处理不同的请求或事务时使用不同的数据库连接,从而提供了极大的灵活性和扩展性。
2024-08-30 10:00:00
2465
原创 MacOS DockerDesktop配置文件daemon.json的位置
【代码】MacOS DockerDesktop配置文件daemon.json的位置。
2024-07-27 14:16:31
2120
原创 【AI】SpringCloudAlibaba AI 学习
Spring Cloud Alibaba AI 以 Spring AI 为基础,并在此基础上提供阿里云通义系列大模型全面适配,让用户在 5 分钟内开发基于通义大模型的 Java AI 应用。
2024-07-26 10:50:10
591
原创 【SQLServer】Merge语法
MERGE语句,也被称为“upsert”,根据与源表联接的结果,对目标表进行插入、更新或删除操作。例如,根据与另一个表的区别,在一个表中插入、更新或删除行,从而同步两个表。MERGE 语句允许将数据源与目标表或视图联接,然后根据该联接的结果对目标执行多项操作。当两个表具有匹配特性的复杂混合时,针对 MERGE 语句介绍的条件行为的效果最佳。例如,插入不存在的行,或更新匹配的行。如果仅根据另一个表的行更新另一个表时,可以使用 INSERT、UPDATE 和 DELETE 语句来提高性能和可伸缩性。
2024-05-29 09:15:37
3542
2
原创 《这就是ChatGPT》读书笔记
假设你想(像16世纪末的伽利略一样)知道从比萨斜塔各层掉落的炮弹分别需要多长时间才能落地。当然,你可以在每种情况下进行测量并将结果制作成表格。不过,你还可以运用理论科学的本质:建立一个模型,用它提供某种计算答案的程序,而不仅仅是在每种情况下测量和记录。模型是指有某种特定的基本结构,以及用于拟合数据的一定数量的“旋钮”(也就是可以设置的参数)。对于ChatGPT,我们需要为人脑产生的人类语言文本建立模型。如果函数给出的结果总是与人类的意见相符,那么我们就有了一个“好模型”。
2024-05-10 00:36:44
1810
1
原创 什么是SLA服务可用性
SLA:服务等级协议(Service Level Agreement),指的是系统服务提供者(Provider)对客户(Customer)的一个服务承诺。这是一个衡量大型“分布式“系统是否健康的协议。是在一定开销下为保障服务的性能和可用性,服务提供商与用户间定义的一种双方认可的协议。我们平常经常看到互联网公司喊口号,我们今年一定要做到3个9、4个9,即99.9%,99.99%,99.999%。99.9 = 8760 * 0.1% = 8760 * 0.001 = 87.6小时。
2024-04-13 15:54:33
1145
Windows环境使用Python脚本转换Office文件格式
2024-04-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅