<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[samt007的Blog]]></title><description><![CDATA[里面的文章基本都是原创的。有更好的实现方法请留言，谢谢~]]></description><link>https://blog.youkuaiyun.com/samt007</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; samt007]]></copyright><item><title><![CDATA[智能体开发分享：TEXT2SQL数据库查询智能体开发介绍]]></title><link>https://blog.youkuaiyun.com/samt007/article/details/162089147</link><guid>https://blog.youkuaiyun.com/samt007/article/details/162089147</guid><author>samt007</author><pubDate>Thu, 18 Jun 2026 10:14:37 +0800</pubDate><description><![CDATA[Text2SQL数据库查询智能体开发指南。本文档旨在为开发团队提供一套标准化的 数据库查询智能体（Text2SQL Agent） 开发规范与实战指南。通过讲解智能体平台（XAG）的核心架构与工作流，指导开发者如何利用 AI 技术将自然语言问题转化为精准的 SQL 查询，并最终生成可视化的业务分析报告。本文档是连接业务需求与底层数据仓库的关键技术手册，旨在降低 AI 应用开发门槛，确保智能体输出的准确性与稳定性。]]></description><category></category></item><item><title><![CDATA[智能体开发分享：TEXT2SQL数据库查询的最佳开发实践]]></title><link>https://blog.youkuaiyun.com/samt007/article/details/161931109</link><guid>https://blog.youkuaiyun.com/samt007/article/details/161931109</guid><author>samt007</author><pubDate>Fri, 12 Jun 2026 16:29:07 +0800</pubDate><description><![CDATA[在开发“连接数据库”生成SQL，查询和分析数据的 AI 智能体时，我们往往面临“Text2SQL 容易出错且慢”与“固化 SQL 模板毫无灵活性”的鱼与熊掌困境。本文将详细解析一种创新的 "双引擎动态路由架构”。]]></description><category></category></item><item><title><![CDATA[智能体开发分享：实现值列表验证（LOV）的最佳开发实践]]></title><link>https://blog.youkuaiyun.com/samt007/article/details/161261701</link><guid>https://blog.youkuaiyun.com/samt007/article/details/161261701</guid><author>samt007</author><pubDate>Wed, 20 May 2026 17:39:40 +0800</pubDate><description><![CDATA[在 AI 智能体（Agent）开发中，表单参数提取最难过的关卡就是处理系统值列表（LOV）。用户习惯说自然语言（如：“同行人张三”、“到深圳机场”），而企业后台系统严格要求传入唯一标识符（如：“工号 WH123456”、“站点ID：1092”）。本文总结了一套经过大量实战检验的开发逻辑，通过明确界定大模型与底层代码的职责，完美解决“同名同姓”、“模糊地名”等 LOV 匹配问题，实现极致且友好的用户交互体验。]]></description><category></category></item><item><title><![CDATA[智能体开发实战分享：利用 “_think“ 模式低成本模拟大模型“深度思考”]]></title><link>https://blog.youkuaiyun.com/samt007/article/details/160477749</link><guid>https://blog.youkuaiyun.com/samt007/article/details/160477749</guid><author>samt007</author><pubDate>Fri, 24 Apr 2026 16:20:26 +0800</pubDate><description><![CDATA[在 LLM 智能体开发中，如何打破“轻量模型逻辑差”与“思考模型速度慢”的鱼与熊掌困境？本文详细解析 _think 显式思维链设计模式。 文档目的与作用： 本文档旨在为开发团队分享一种极具性价比的大模型架构调优策略——模拟深度思考的_think 设计模式。在处理中等复杂度的业务逻辑（如时间比对、状态校验）时，标准轻量级大模型往往频发“逻辑幻觉”，而开启大模型原生的“深度思考模式（如 o1、Deep Thinking）”又会导致不可接受的超长延迟（引发进程超时）和高昂的 Token 费用。 ]]></description><category></category></item><item><title><![CDATA[用SPM技术固定EBS标准功能的SQL执行计划]]></title><link>https://blog.youkuaiyun.com/samt007/article/details/126761541</link><guid>https://blog.youkuaiyun.com/samt007/article/details/126761541</guid><author>samt007</author><pubDate>Thu, 08 Sep 2022 12:56:18 +0800</pubDate><description><![CDATA[本文是Oracle SPM技术的一个应用实例，分享给没了解过SPM或者没用过SPM的老铁们。通过本文，应该要了解什么是SPM，它的作用是什么，它的应用场景是什么。
这个应用实例总结就是：通过使用SPM技术，固定SQL的执行计划，从而实现调优的效果。它尤其适用于优化EBS系统的标准功能的场景，因为标准功能不建议也不可以直接修改SQL做性能调优。]]></description><category></category></item><item><title><![CDATA[ERP微服务学习系列一：微服务接口核心框架/组件介绍]]></title><link>https://blog.youkuaiyun.com/samt007/article/details/122880917</link><guid>https://blog.youkuaiyun.com/samt007/article/details/122880917</guid><author>samt007</author><pubDate>Fri, 11 Feb 2022 15:01:39 +0800</pubDate><description><![CDATA[摘要

通过阅读本文，你应该了解到ERP微服务接口所用到的核心框架/组件，这些框架/组件分别的什么用，解决什么问题的。
另外，通过了解ERP微服务接口框架，衍生出对如何学习Java微服务框架，有一个大体的了解。
最后，对目前主流的Java Spring Cloud体系也有一个总体的了解。
本文只是起一个抛砖引玉，穿针引线的作用，根据里面涉及到的内容，你们可以自行百度或者咨询我，从而可以快速学习Java微服务框架的开发。

正文

如果想了解ERP接口微服务总体架构，可以阅读本文。
看完之后，建议回想一下，看]]></description><category></category></item><item><title><![CDATA[Oracle数据库优化之内存表的使用说明]]></title><link>https://blog.youkuaiyun.com/samt007/article/details/122731491</link><guid>https://blog.youkuaiyun.com/samt007/article/details/122731491</guid><author>samt007</author><pubDate>Fri, 28 Jan 2022 15:05:55 +0800</pubDate><description><![CDATA[集控项目问题：由于ERP系统的Oracle数据库产生的日志量过多（就一个表在5.13号凌晨1个小时内就有2.6个亿的更新日志），导致罗马平台同步数据采集超时。所以需要对这块做专题优化。
修改逻辑：通过分析对应的程序逻辑，发现INSERT日志和UPDATE日志都是针对XYG_ALFR_INV_ALLO_GT和XYG_ALFR_CUST_BALANCE_TEMP表。而这2个表是GLOBAL TEMP的临时表。要减少日志的产生，可以直接用Oracle内存表的逻辑重构修改。]]></description><category></category></item><item><title><![CDATA[处理ERP的EXCEL报表数字长度超15位导致精度丢失的问题]]></title><link>https://blog.youkuaiyun.com/samt007/article/details/111247510</link><guid>https://blog.youkuaiyun.com/samt007/article/details/111247510</guid><author>samt007</author><pubDate>Wed, 16 Dec 2020 10:51:37 +0800</pubDate><description><![CDATA[ERP的报表，输出格式是EXCEL的，经常会出现数字长度超15位导致精度丢失的问题。

目前发现的解决办法有2个。

方法1：可以将报表改为XML标准开发，就是产生XML，再开发一个Template的方式。这样子XML处理引擎会自动处理数字格式。当超出15位会自动帮我们转格式。你们可以自己测试。

方法2：但是，我们更常用的开发方式是写一个PLSQL，输出HTML格式的代码，再用XLS打开，输出EXCEL。解决方法如下。

首先我们看看问题：

如下图所示，这个HTML脚本的文件，输出的内容是没问题的，料号]]></description><category></category></item><item><title><![CDATA[跟踪确认EBS用户职责突然丢失的问题]]></title><link>https://blog.youkuaiyun.com/samt007/article/details/109854267</link><guid>https://blog.youkuaiyun.com/samt007/article/details/109854267</guid><author>samt007</author><pubDate>Fri, 20 Nov 2020 16:54:24 +0800</pubDate><description><![CDATA[问题现象：
这边有个用户的职责突然丢失了，不见了。
正常来说，职责只可以失效，怎么可能会突然没有了呢？

问题寻找：
通过找对应的查询直接责任的视图：
  SELECT DESCRIPTION
        ,START_DATE
        ,END_DATE
        ,RESPONSIBILITY_APPLICATION_ID
        ,RESPONSIBILITY_ID
        ,SECURITY_GROUP_ID
        ,LAST_UPDATE_DATE
  ]]></description><category></category></item><item><title><![CDATA[EBS系统扫二维码登录开发]]></title><link>https://blog.youkuaiyun.com/samt007/article/details/107767423</link><guid>https://blog.youkuaiyun.com/samt007/article/details/107767423</guid><author>samt007</author><pubDate>Mon, 03 Aug 2020 16:30:26 +0800</pubDate><description><![CDATA[EBS系统扫二维码登录开发INTRODUCTION介绍二维码扫码登录的逻辑
INTRODUCTION介绍
目前对ERP系统的安全性提了很高的要求，其中一块就是要保证ERP用户登录系统的安全性。
之前实现了EBS系统的短信认证登录的开发。（开发文档&lt;XYG_ALD_EBS系统短信认证登录开发_V1.1.doc&gt;）
考虑到，短信验证码登录其实操作挺麻烦的，而且还费钱。我们现在用的是阿里云短信平台，一条短信大概0.03元。
如果是批量用于用户登录的验证，预估一年需要的费用如下：
核算样本：
以2019]]></description><category></category></item><item><title><![CDATA[处理一个MyBatis初始化失败导致Spring Boot无法启动的问题]]></title><link>https://blog.youkuaiyun.com/samt007/article/details/90377327</link><guid>https://blog.youkuaiyun.com/samt007/article/details/90377327</guid><author>samt007</author><pubDate>Mon, 20 May 2019 16:35:06 +0800</pubDate><description><![CDATA[最近要新增一些功能到Spring Boot所开发的微服务上。加完之后，启动服务失败！错误提示：


2019-05-20 15:49:18.926 DEBUG 7604 --- [  restartedMain] o.s.w.c.s.StandardServletEnvironment     : Replacing [servletContextInitParams] PropertySourc...]]></description><category></category></item><item><title><![CDATA[处理用户登录ERP系统报错空指针（java.lang.NullPointerException）的问题]]></title><link>https://blog.youkuaiyun.com/samt007/article/details/90064383</link><guid>https://blog.youkuaiyun.com/samt007/article/details/90064383</guid><author>samt007</author><pubDate>Fri, 10 May 2019 15:14:18 +0800</pubDate><description><![CDATA[一大早碰到一个很郁闷的问题，某些用户在登陆的时候，报了这个错误：





刚刚好最近又批量更新过员工，很担心是不是更新员工影响到用户登陆了？虽然正常来说应该不至于。

但是，问题还是得好好处理一下。

毕竟偶也算是玩了好几年的Java，还弄过自己的小作品的，所以这点小问题，还是难不了我。

接着，详细分析错误：



错误关键字：
java.lang.NullPointerException
a...]]></description><category></category></item><item><title><![CDATA[什么是线程安全和线程不安全]]></title><link>https://blog.youkuaiyun.com/samt007/article/details/80994444</link><guid>https://blog.youkuaiyun.com/samt007/article/details/80994444</guid><author>samt007</author><pubDate>Wed, 11 Jul 2018 07:59:28 +0800</pubDate><description><![CDATA[首先要明白线程的工作原理，jvm有一个main   memory，而每个线程有自己的working   memory，一个线程对一个variable进行操作时，都要在自己的working   memory里面建立一个copy，操作完之后再写入main   memory。多个线程同时操作同一个variable，就可能会出现不可预知的结果。根据上面的解释，很容易想出相应的scenario。 而用syn...]]></description><category></category></item><item><title><![CDATA[转：setTimeout/setInterval的执行时间的逻辑处理]]></title><link>https://blog.youkuaiyun.com/samt007/article/details/80160204</link><guid>https://blog.youkuaiyun.com/samt007/article/details/80160204</guid><author>samt007</author><pubDate>Tue, 01 May 2018 21:57:48 +0800</pubDate><description><![CDATA[举个例子： 
一断很复杂的代码，中间我设置了一个定时器，在200ms之后自动执行： 
setTimeout(function(){console.log(‘timeout!’);},200) 
问题来了，为什么有时候调试，它的执行时间超过200ms？ 
有时候甚至是500ms之后才执行匿名函数里面的代码？ 
原因：
  首先要明白Javascript是单线程，单线程就意味着所有任务需要排队。然后会将]]></description><category></category></item><item><title><![CDATA[处理Docker容器化部署Tomcat服务碰到的时区问题]]></title><link>https://blog.youkuaiyun.com/samt007/article/details/80065358</link><guid>https://blog.youkuaiyun.com/samt007/article/details/80065358</guid><author>samt007</author><pubDate>Tue, 24 Apr 2018 15:46:42 +0800</pubDate><description><![CDATA[用Docker工具容器化部署服务之后，碰到的问题比较多。 
其中比较特出的问题是这个时区问题。



1 问题现象：

举个例子，有个小功能，需要记录计划开始时间。 
前台输入的时间是：2018.4.24 00:00:00。 
后台记录的计划开始时间却是：2018.4.23 16:00:00。  
可以看出，整整提前了8个小时。



2 问题处理过程：

多笔数据都是刚刚好差异8个小时，那一般都...]]></description><category></category></item><item><title><![CDATA[chrome浏览器网页刷新的console代码]]></title><link>https://blog.youkuaiyun.com/samt007/article/details/80014071</link><guid>https://blog.youkuaiyun.com/samt007/article/details/80014071</guid><author>samt007</author><pubDate>Fri, 20 Apr 2018 09:32:22 +0800</pubDate><description><![CDATA[代码如下：



timeout=prompt(&amp;quot;Set timeout (Second):&amp;quot;);
count=0
current=location.href;
if(timeout&amp;amp;gt;0)
setTimeout('reload()',1000*timeout);
else
location.replace(current);
function reload(){
setTimeout('re...]]></description><category></category></item><item><title><![CDATA[让ERP的服务更开放! ——用微服务架构搭建的一套基于EBS的API服务系统]]></title><link>https://blog.youkuaiyun.com/samt007/article/details/79932733</link><guid>https://blog.youkuaiyun.com/samt007/article/details/79932733</guid><author>samt007</author><pubDate>Fri, 13 Apr 2018 21:45:49 +0800</pubDate><description><![CDATA[1. 源码下载地址

源码链接: https://github.com/samt007/xygerp-api-demo


  这是用Spring Cloud微服务架构搭建的一套基于EBS的API服务系统 
  如对本文有任何的疑问，请联系我：samt007@qq.com




2. Introduction介绍

这是一篇传统ERP系统和基于Java的微服务架构有效结合的技术文档。


  传...]]></description><category></category></item><item><title><![CDATA[swagger用Nginx反向代理之后，出现no response from server错误的解决办法]]></title><link>https://blog.youkuaiyun.com/samt007/article/details/79846966</link><guid>https://blog.youkuaiyun.com/samt007/article/details/79846966</guid><author>samt007</author><pubDate>Sun, 08 Apr 2018 07:57:31 +0800</pubDate><description><![CDATA[问题现象 
用nginx做反向代理，在调试swagger的时候，老是端口丢失，就是默认切换到80端口。 
导致用swagger调试接口的时候，响应返回：”error”: “no response from server” 
 
问题解决 
这个问题一直困扰了很久。最近再找原因，发现是因为我在配置nginx反向代理的时候，没注意到配置代理的端口，导致端口丢失！ 
就是这里：


  proxy_se...]]></description><category></category></item><item><title><![CDATA[Oracle EBS系统短信认证登录开发]]></title><link>https://blog.youkuaiyun.com/samt007/article/details/78973591</link><guid>https://blog.youkuaiyun.com/samt007/article/details/78973591</guid><author>samt007</author><pubDate>Thu, 04 Jan 2018 17:40:07 +0800</pubDate><description><![CDATA[INTRODUCTION介绍

开发这种功能，说白了也是领导的想法：让ERP用户的安全性能有一定的保障。 
而且短信认证也是目前绝大部分系统的安全认证方式，例如银行系统之类的。所以，这个也是合理的需求。 
本文介绍了整个开发流程，有需要的基本按照文档可以开发短信认证的功能。

注意，在开发之前，必须要准备下面这几个要点： 
1.        Java开发技术。这个是必须的。OAF的应用对应的开发]]></description><category></category></item><item><title><![CDATA[折腾Weex+Android App开发运行环境搭建手记]]></title><link>https://blog.youkuaiyun.com/samt007/article/details/78701348</link><guid>https://blog.youkuaiyun.com/samt007/article/details/78701348</guid><author>samt007</author><pubDate>Sun, 03 Dec 2017 14:07:45 +0800</pubDate><description><![CDATA[搞了几个月的Vuejs，也是时候开始搞搞基于Vuejs语法的Weex App了。 
什么是Weex App？ 
这里有简介：
  Weex App 
  阿里巴巴开发团队在RN的成功案例上，重新设计出的一套开发模式，站在了巨人肩膀上并有淘宝团队项目做养料，广受关注，2016年4月正式开源，并在v2.0版本官方支持Vue.js，与RN分庭抗礼。
  
  优点：单页开发模式效率极高，热更新发包体积小，]]></description><category></category></item></channel></rss>