- 博客(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关注的人
RSS订阅