自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(88)
  • 收藏
  • 关注

原创 AI 工程化实战:分钟带你快速掌握 Function Calling!

Spring Boot 4.0 于 2025 年 11 月正式发布,基于 Spring Framework 7.0,全面支持 Java 25(含虚拟线程优化),是一个里程碑式的大版本更新。配置类迁移适配:针对 Spring Boot 4 中移动的配置类(如 Caching 、Thymeleaf 、WebMvc 、FreeMarker 和 Mustache )提供了全面的识别支持。除了新功能,本次 EAP 还包含了大量的 Bug 修复和性能优化,涵盖了从核心平台、UI、文件系统到各种语言的方方面面。

2026-05-13 13:29:27 36

原创 如何使用 .NET MAUI 构建 iOS 小部件

将 Excel 转换为 TXT 不仅是格式的简单转换,更是实现数据自动化流程的重要环节。数据清洗与预处理: 将复杂格式的 Excel 数据转换为 TXT,作为其他数据分析工具(如Spark、Hadoop)的输入源,进行更深层次的处理。配置管理: 将 Excel 中维护的系统配置、参数表等导出为 TXT 格式,便于脚本直接读取,同时更适合使用 Git 等工具进行版本管理。自动化报告生成: 从 Excel 模板中提取数据,生成纯文本格式的报告摘要,方便邮件发送或系统集成。# 将工作表内容保存为TXT文件。

2026-05-13 13:07:50 43

原创 国产信创库fio破坏主备库以及备份故障处理--惜分飞

使用 kubectl-neat 插件,可以自动移除这些由集群生成的冗余字段,仅保留有意义的内容,使 yaml 更加简洁,方便复用。## 这里我直接将 kubectl get -o yaml 与 kubectl-neat get -o yaml 输出对比。## 示例是通过 kubectl plugin 方式安装,使用二进制安装改成 kubectl-neat 就好。## 上面说没啥用的地方就在这...实际上能用的参数只有 get(kubectl-neat 自己的参数)## 自动补全命令用的。

2026-05-13 12:58:12 126

原创 、SEATA分布式事务——XA模式

2.使用c命名空间注入属性,语法:c:属性名="属性值" c:属性名-ref="引用类型属性值"</p>// 获取spring容器中的对象。2.使用p命名空间注入属性,语法:p:属性名="属性值" p:属性名-ref="引用类型属性值"--><p> 如果key是简单类型,可以直接使用entry标签的key属性赋值

2026-05-13 12:47:39 36

原创 eternal_silence

当然,不是所有流都只能读一次,基于内存的流(如 ByteArrayInputStream / CharArrayReader)支持重置指针,因为它们的数据源是内存中的数组(数据不会消失),可以通过 mark() 和 reset() 方法将指针 恢复 到标记位置。log.info("==========进入requestCachingFilter========");每次调用 read() / read(byte[]) / read(char[]) 等读取方法时,指针会向后移动对应字节数;

2026-05-12 15:43:08 274

原创 WPF新手村教程(五)— 附魔教学(绑定)

当我们需要发起新的提案时,可以直接使用:/openspec:proposal 就可以触发该指令,此时 AI 就会根据 proposal.md 中所定义的规范,来创建一个新的变更提案。mands/openspec 这个目录定义了三个不同的命令,每个命令文件中所写的提示词,都是 AI 在执行该命令时需要参考的"规范"。你只需要理解这套规范的工作流程,就能与 AI 配合无间。当然,在有需要的时候,我们也可以修改 OpenSpec 初始化时所生成的一系列.md文件,直接变更规范,使其更加符合企业内的业务流程。

2026-05-12 15:30:05 143

原创 AI 大模型职业选择

因此,它天然拥有创建令牌的权力。官方描述是“调试程序”,但实际上它允许持有者打开任何进程的句柄,拥有 PROCESS_ALL_ACCESS 权限,即使该进程属于 SYSTEM 或其他用户。当你登录系统时,无论是交互式登录、服务启动,还是计划任务触发,LSASS 都会负责认证你的身份,并为你生成一个访问令牌。

2026-05-12 15:17:29 270

原创 一文学习 Spring 声明式事务源码全流程总结

{"count":1,"elapsed":209,"elapsedAvg":209,"startAt":"2025-07-17 13:33:55.116","stopAt":"2025-07-17 13:33:55.325","success"妊步胺露。由于 Calico 官方文档中也有注明,first-found 模式为:使用第一个接口(不包括 Docker 网桥等本地接口)上的第一个有效 IP 地址,建议根据不同需求选择不同配置方式,本文采用的指定接口方式。## 默认使用此配置。## 等待很久后报错。

2026-05-12 15:03:44 295

原创 AI开发-python-langchain框架(--并行流程 )

print(f"请求成功!状态码: {response.status_code}")print("响应内容前100个字符:", response.text[:100])print(f"请求失败!状态码: {response.status_code}")API交互: 与各种Web服务(如天气API、社交媒体API)进行通信,获取或提交数据。requests 是一个用于发送请求的 Python 库。轻松发送GET、POST、PUT、DELETE等请求。自动化测试: 自动化测试Web应用的接口功能。

2026-05-12 14:51:41 143

原创 《OpenClaw (Docker手工部署版) 终极避坑与实战指南》

print(f"错误信息: {response.data.decode('utf-8')}")状态码: {response.status}")print(f"请求失败!状态码: {response.status}")urllib3 是一个用于处理 请求和连接池的强大、用户友好的 Python 库。print(f"连接失败或重试次数超出限制: {e}")print(f"无法建立连接: {e}")print(f"发生未知错误: {e}")print("响应数据:")自动化测试: 模拟请求,测试Web服务。

2026-05-11 13:23:56 228

原创 我不是狐狸,我是那Harness Engineering

print("工具调用:" + func_name + ",参数:" + str(func_args) + ",结果:" + tool_output)print("工具调用:" + func_name + ",参数:" + str(func_args) + ",结果:" + tool_output)print("="*20+"\n第"+str(i+1)+"轮\n"+query+"\n"+"="*20)print("="*20+"\n第"+str(i+1)+"轮\n"+query+"\n"+"="*20)

2026-05-11 13:10:11 241

原创 Vulkan Cooperative Matrix 简明教程

因此,它天然拥有创建令牌的权力。官方描述是“调试程序”,但实际上它允许持有者打开任何进程的句柄,拥有 PROCESS_ALL_ACCESS 权限,即使该进程属于 SYSTEM 或其他用户。当你登录系统时,无论是交互式登录、服务启动,还是计划任务触发,LSASS 都会负责认证你的身份,并为你生成一个访问令牌。

2026-05-11 12:18:21 305

原创 Snack Json 流式解析与自动结构修复深度指南

在Word模板中,只需使用{{ rich_text_var }}引用该变量,即可渲染成包含多种格式的连续段落。由于Word文档 (.docx) 本质上是一个压缩包,其中的图片以二进制形式存储在word/media/目录下,且在某些Word版本中,图片文件名可能被自动重命名(例如改为 image1.png),与原始文件名无关。示例:{{ base_value_float|my_filterB(2) }} 中,base_value_float是变量,my_filterB是过滤器名,2是传递的参数。

2026-05-11 12:03:52 275

原创 《OpenClaw (Docker手工部署版) 终极避坑与实战指南》

print(f"错误信息: {response.data.decode('utf-8')}")状态码: {response.status}")print(f"请求失败!状态码: {response.status}")urllib3 是一个用于处理 请求和连接池的强大、用户友好的 Python 库。print(f"连接失败或重试次数超出限制: {e}")print(f"无法建立连接: {e}")print(f"发生未知错误: {e}")print("响应数据:")自动化测试: 模拟请求,测试Web服务。

2026-05-11 11:48:43 203

原创 一天一个Python库:pillow - 图像处理的瑞士军刀

这里用的ChatPromptTemplate.from_template和上的ChatPromptTemplate.from_messages不同,区别在于前者比较简单,相当于后者直接用user字典的形式,后者from_messages有langchain框架提供的prompt模板。"你是一位高考作文专家。langchain中提供的chain链组件,能够帮助我门快速的实现各个组件的流水线式的调用,和模型的问答。"请给主题为 {topic} 的议论文写一个 总-递进-总 的简短大纲,一共分为5段。

2026-05-10 14:34:33 188

原创 Vulkan Cooperative Matrix 简明教程

她通读了 CNCF Landscape 的各类技术文章,然后大显身手,引入 Istio 做 Service Mesh,用 Argo 做发布,在 Vault 管理 Secrets,部署 Prometheus + Thanos 做可观测性,还有 cert-manager 处理 TLS,external-dns 管理域名,Velero 搞定备份。是真正的实战培训,而不是丢下一句看文档。我想进一步补充的是,真正致命的问题不在复杂性本身,而在于那些未被文档化的复杂性,也就是只存在于 Maya 脑子里的隐秘经验。

2026-05-10 14:18:40 173

原创 Snack Json 流式解析与自动结构修复深度指南

未来几周,市场将向第三方开发者开放,届时开发者可以在 nativephp.com 上架自己的插件,甚至可以销售自己开发的插件。只需运行 native:jump Artisan 命令,打开手机上的 Jump 应用扫描二维码,Laravel 应用就会直接加载到设备上,连接到本地开发服务器。Jump 是一个安装在手机上的应用(支持 Android 和 iOS),可以在真机上测试 NativePHP 应用,无需编译任何东西,也不需要开启开发者模式。此前版本中集成在核心包里的原生功能,现在被拆分成独立的插件。

2026-05-10 14:01:29 212

原创 Spring with AI (): 搜索扩展——向量数据库与RAG(下)

print(f"当前Python版本 {sys.version_info.major}.{sys.version_info.minor} 符合要求。print(f"警告: 你的Python版本是 {sys.version_info.major}.{sys.version_info.minor}。print(f"\n模拟包信息定义 ({package_info['name']} v{package_info['version']}):")# setuptools.setup() 在实际中会在这里被调用。

2026-05-10 13:31:52 230

原创 [大模型实战 额外篇] 从 ReAct 到 Workflow:基于云端 API 构建事件驱动的智能体

未来几周,市场将向第三方开发者开放,届时开发者可以在 nativephp.com 上架自己的插件,甚至可以销售自己开发的插件。只需运行 native:jump Artisan 命令,打开手机上的 Jump 应用扫描二维码,Laravel 应用就会直接加载到设备上,连接到本地开发服务器。Jump 是一个安装在手机上的应用(支持 Android 和 iOS),可以在真机上测试 NativePHP 应用,无需编译任何东西,也不需要开启开发者模式。此前版本中集成在核心包里的原生功能,现在被拆分成独立的插件。

2026-05-09 16:39:58 181

原创 Vulkan Cooperative Matrix 简明教程

因此,它天然拥有创建令牌的权力。官方描述是“调试程序”,但实际上它允许持有者打开任何进程的句柄,拥有 PROCESS_ALL_ACCESS 权限,即使该进程属于 SYSTEM 或其他用户。当你登录系统时,无论是交互式登录、服务启动,还是计划任务触发,LSASS 都会负责认证你的身份,并为你生成一个访问令牌。

2026-05-09 16:11:24 147

原创 Snack Json 流式解析与自动结构修复深度指南

在Word模板中,只需使用{{ rich_text_var }}引用该变量,即可渲染成包含多种格式的连续段落。由于Word文档 (.docx) 本质上是一个压缩包,其中的图片以二进制形式存储在word/media/目录下,且在某些Word版本中,图片文件名可能被自动重命名(例如改为 image1.png),与原始文件名无关。示例:{{ base_value_float|my_filterB(2) }} 中,base_value_float是变量,my_filterB是过滤器名,2是传递的参数。

2026-05-09 15:56:11 232

原创 《OpenClaw (Docker手工部署版) 终极避坑与实战指南》

print(f"错误信息: {response.data.decode('utf-8')}")状态码: {response.status}")print(f"请求失败!状态码: {response.status}")urllib3 是一个用于处理 请求和连接池的强大、用户友好的 Python 库。print(f"连接失败或重试次数超出限制: {e}")print(f"无法建立连接: {e}")print(f"发生未知错误: {e}")print("响应数据:")自动化测试: 模拟请求,测试Web服务。

2026-05-09 15:41:14 225

原创 Spring with AI (): 搜索扩展——向量数据库与RAG(下)

本文介绍的关键优化技巧包括:基于测量的针对性优化、内存管理最佳实践、高效的异步编程模式、合理的数据结构选择、数据库访问优化以及生产环境监控等。值得注意的是,性能优化应当遵循"先测量后优化"的原则,避免过早和过度的优化。同时,在追求性能提升的过程中,不应牺牲代码的可维护性和可读性。通过平衡各种因素,开发者可以构建出既高效又健壮的 .NET 应用程序,为用户提供流畅的使用体验,为企业创造更大的价值。最终,持续学习最新的 .NET 性能优化技术,结合实际应用场景进行实践和验证,是保持应用竞争力的关键。

2026-05-09 15:28:10 176

原创 DeepSeek 接入项目全纪录:从踩坑到跑通

13 年后,我用 fetch-event-source 订阅大模型的“思维流”,用 OCR 解锁图片中的文字——前端,正在成为 AI 产品的第一道体验防线。'Authorization': `Bearer ${getToken()}`, // 从 Pinia 或 localStorage 获取。关键设计:状态分为 'idle' | 'parsing' | 'success' | 'failed',对应四个 UI 区块,避免用户困惑。message.error('翻译服务异常,请稍后重试');

2026-05-08 17:55:29 184

原创 Java 核心四大基石:从 Object 源码到包装类陷阱的全维度复盘

langchain专门用于构建LLM大语言模型,其中提供了大量的prompt模板,和组件,通过chain(链)的方式将流程连接起来,操作简单,开发便捷。response = chain.invoke({"topic": "Python", "concept": "列表"})response = chain.invoke({"topic": "Python", "concept": "列表"})这是模型需要直接回答或处理的问题。("system", "你是一个精通{topic}的资深技术专家。

2026-05-08 17:26:15 180

原创 Spring with AI (): 搜索扩展——向量数据库与RAG(下)

本文介绍的关键优化技巧包括:基于测量的针对性优化、内存管理最佳实践、高效的异步编程模式、合理的数据结构选择、数据库访问优化以及生产环境监控等。值得注意的是,性能优化应当遵循"先测量后优化"的原则,避免过早和过度的优化。同时,在追求性能提升的过程中,不应牺牲代码的可维护性和可读性。通过平衡各种因素,开发者可以构建出既高效又健壮的 .NET 应用程序,为用户提供流畅的使用体验,为企业创造更大的价值。最终,持续学习最新的 .NET 性能优化技术,结合实际应用场景进行实践和验证,是保持应用竞争力的关键。

2026-05-08 16:56:28 284

原创 Java 核心四大基石:从 Object 源码到包装类陷阱的全维度复盘

langchain专门用于构建LLM大语言模型,其中提供了大量的prompt模板,和组件,通过chain(链)的方式将流程连接起来,操作简单,开发便捷。response = chain.invoke({"topic": "Python", "concept": "列表"})response = chain.invoke({"topic": "Python", "concept": "列表"})这是模型需要直接回答或处理的问题。("system", "你是一个精通{topic}的资深技术专家。

2026-05-08 15:45:33 167

原创 Spring with AI (): 搜索扩展——向量数据库与RAG(下)

本文介绍的关键优化技巧包括:基于测量的针对性优化、内存管理最佳实践、高效的异步编程模式、合理的数据结构选择、数据库访问优化以及生产环境监控等。值得注意的是,性能优化应当遵循"先测量后优化"的原则,避免过早和过度的优化。同时,在追求性能提升的过程中,不应牺牲代码的可维护性和可读性。通过平衡各种因素,开发者可以构建出既高效又健壮的 .NET 应用程序,为用户提供流畅的使用体验,为企业创造更大的价值。最终,持续学习最新的 .NET 性能优化技术,结合实际应用场景进行实践和验证,是保持应用竞争力的关键。

2026-05-08 15:17:17 330

原创 解密synchronized:从对象头到内存屏障,搞懂Java锁的底层原理

今天,我们就来聊聊为什么选择它,以及它是如何让我们的开发体验"起飞"的。用过 Python 写构建脚本的朋友肯定遇到过这种尴尬:脚本跑了五分钟,最后报错说 Confi.guration 拼写错了,或者传了一个字符串给了一个本该是数字的参数。当然,这不是绝对的。比如如果你只想跑个测试,不想打包,Nuke 允许你直接执行 nuke Test,它会自动处理好前置的 Restore 和 Compile 步骤。爱的是,一键点击,代码变成产品,那是程序员最迷人的时刻;恨的是,维护那一堆乱糟糟的构建脚本,简直是噩梦。

2026-05-07 15:52:15 172

原创 如何学好AI编程?AI提示词框架深度对比分析

当然,不是所有流都只能读一次,基于内存的流(如 ByteArrayInputStream / CharArrayReader)支持重置指针,因为它们的数据源是内存中的数组(数据不会消失),可以通过 mark() 和 reset() 方法将指针 恢复 到标记位置。log.info("==========进入requestCachingFilter========");每次调用 read() / read(byte[]) / read(char[]) 等读取方法时,指针会向后移动对应字节数;

2026-05-07 15:18:30 159

原创 DeepSeek 接入项目全纪录:从踩坑到跑通

13 年后,我用 fetch-event-source 订阅大模型的“思维流”,用 OCR 解锁图片中的文字——前端,正在成为 AI 产品的第一道体验防线。'Authorization': `Bearer ${getToken()}`, // 从 Pinia 或 localStorage 获取。关键设计:状态分为 'idle' | 'parsing' | 'success' | 'failed',对应四个 UI 区块,避免用户困惑。message.error('翻译服务异常,请稍后重试');

2026-05-07 14:50:21 157

原创 Java 核心四大基石:从 Object 源码到包装类陷阱的全维度复盘

langchain专门用于构建LLM大语言模型,其中提供了大量的prompt模板,和组件,通过chain(链)的方式将流程连接起来,操作简单,开发便捷。response = chain.invoke({"topic": "Python", "concept": "列表"})response = chain.invoke({"topic": "Python", "concept": "列表"})这是模型需要直接回答或处理的问题。("system", "你是一个精通{topic}的资深技术专家。

2026-05-07 14:22:35 234

原创 Spring with AI (): 搜索扩展——向量数据库与RAG(下)

本文介绍的关键优化技巧包括:基于测量的针对性优化、内存管理最佳实践、高效的异步编程模式、合理的数据结构选择、数据库访问优化以及生产环境监控等。值得注意的是,性能优化应当遵循"先测量后优化"的原则,避免过早和过度的优化。同时,在追求性能提升的过程中,不应牺牲代码的可维护性和可读性。通过平衡各种因素,开发者可以构建出既高效又健壮的 .NET 应用程序,为用户提供流畅的使用体验,为企业创造更大的价值。最终,持续学习最新的 .NET 性能优化技术,结合实际应用场景进行实践和验证,是保持应用竞争力的关键。

2026-05-07 13:54:26 174

原创 解密synchronized:从对象头到内存屏障,搞懂Java锁的底层原理

今天,我们就来聊聊为什么选择它,以及它是如何让我们的开发体验"起飞"的。用过 Python 写构建脚本的朋友肯定遇到过这种尴尬:脚本跑了五分钟,最后报错说 Confi.guration 拼写错了,或者传了一个字符串给了一个本该是数字的参数。当然,这不是绝对的。比如如果你只想跑个测试,不想打包,Nuke 允许你直接执行 nuke Test,它会自动处理好前置的 Restore 和 Compile 步骤。爱的是,一键点击,代码变成产品,那是程序员最迷人的时刻;恨的是,维护那一堆乱糟糟的构建脚本,简直是噩梦。

2026-05-06 16:09:08 168

原创 如何学好AI编程?AI提示词框架深度对比分析

当然,不是所有流都只能读一次,基于内存的流(如 ByteArrayInputStream / CharArrayReader)支持重置指针,因为它们的数据源是内存中的数组(数据不会消失),可以通过 mark() 和 reset() 方法将指针 恢复 到标记位置。log.info("==========进入requestCachingFilter========");每次调用 read() / read(byte[]) / read(char[]) 等读取方法时,指针会向后移动对应字节数;

2026-05-06 15:32:02 151

原创 DeepSeek 接入项目全纪录:从踩坑到跑通

13 年后,我用 fetch-event-source 订阅大模型的“思维流”,用 OCR 解锁图片中的文字——前端,正在成为 AI 产品的第一道体验防线。'Authorization': `Bearer ${getToken()}`, // 从 Pinia 或 localStorage 获取。关键设计:状态分为 'idle' | 'parsing' | 'success' | 'failed',对应四个 UI 区块,避免用户困惑。message.error('翻译服务异常,请稍后重试');

2026-05-06 14:50:59 223

原创 Java 核心四大基石:从 Object 源码到包装类陷阱的全维度复盘

langchain专门用于构建LLM大语言模型,其中提供了大量的prompt模板,和组件,通过chain(链)的方式将流程连接起来,操作简单,开发便捷。response = chain.invoke({"topic": "Python", "concept": "列表"})response = chain.invoke({"topic": "Python", "concept": "列表"})这是模型需要直接回答或处理的问题。("system", "你是一个精通{topic}的资深技术专家。

2026-05-06 14:07:24 154

原创 解密synchronized:从对象头到内存屏障,搞懂Java锁的底层原理

官方文档虽然把查询参数讲得很简单,但根据我们的线上经验,对于复杂的分页过滤接口,强烈建议用Pydantic模型来封装查询参数,而不是把一长串参数都列在函数定义里,维护起来简直是灾难。这个工具的选择,好比选螺丝刀,不是最贵的就好,而是最趁手的。踩坑提醒:当同一个参数既可能是路径参数又可能是查询参数时(虽然设计上应避免),FastAPI默认会认为是查询参数。item_id: int = Path(..., title="商品ID", ge=1), # ...表示无默认值,必填。查询参数/dishes?

2026-05-05 16:44:56 205

原创 Spring with AI (): 搜索扩展——向量数据库与RAG(下)

print(f"当前Python版本 {sys.version_info.major}.{sys.version_info.minor} 符合要求。print(f"警告: 你的Python版本是 {sys.version_info.major}.{sys.version_info.minor}。print(f"\n模拟包信息定义 ({package_info['name']} v{package_info['version']}):")# setuptools.setup() 在实际中会在这里被调用。

2026-05-05 14:00:07 202

原创 LeetCode 二叉树的最近公共祖先:python 题解

官方文档虽然把查询参数讲得很简单,但根据我们的线上经验,对于复杂的分页过滤接口,强烈建议用Pydantic模型来封装查询参数,而不是把一长串参数都列在函数定义里,维护起来简直是灾难。这个工具的选择,好比选螺丝刀,不是最贵的就好,而是最趁手的。踩坑提醒:当同一个参数既可能是路径参数又可能是查询参数时(虽然设计上应避免),FastAPI默认会认为是查询参数。item_id: int = Path(..., title="商品ID", ge=1), # ...表示无默认值,必填。查询参数/dishes?

2026-05-04 14:49:19 203

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除