- 博客(210)
- 收藏
- 关注
原创 AI领域常用缩写词
参数高效微调(Parameter-Efficient Fine-tuing, PEFT)监督微调(Supervised Fine-tuning,SFT)量化低秩适配(Quantitive LoRA, QLoRA)低秩适配(Low Rank Adpation, LoRA)全参数微调(Full Fine-tuning)提示词微调(Prompt Tuning)前缀微调(Prefix Tuning)微调(Fine-tuning)智能体(Agent)
2024-09-05 14:54:58
33
原创 开发指南059-App实现微信扫描登录
App的登录页面放一个WebView,指向这个H5应用里的扫描登录页面。回调地址也指向H5应用里的某个地址,该地址接收code参数和后台交互完成登录业务。例如上面场景,回调页面完成登录后调用uni.postMessage给App。App是用uniapp开发的,打包为apk,上传到安卓平板中使用。打开微信网页版,打开浏览器控制台,自然能看到。1、微信扫描登录后的回调地址是不可能回到App内页面的。其他问题自行看网上教案,上面两个核心问题是教案没有涉及的。2、WebView和App的通讯问题。
2024-09-05 11:36:55
53
原创 开发指南058-JPA多数据源
一般情况下,一个微服务只链接一个数据库,但是不排除有些情况下需要链多个库。白框内为正常的单数据库情况。下面增加标识(可以任意起,这里为eva),然后跟数据库定义。3、挂接主数据源 就是把dao、entity挂接到主数据源。1、nocas中要配置多数据源。关键点就是包路径不同,不同路径对应不同数据源。主数据源无需额外定义。
2024-09-03 23:05:26
151
原创 Mysql:create table ... select ...报错
客户做mysql迁移,从本地mysql迁移到云mysql,结果系统报错,日志里显示Statement violates GTID consistency: CREATE TABLE ... SELECT.就是类似的语句违反了GTID,即全局事务标识符。MySQL主从复制之GTID模式是为了保证所有事务都以一致的顺序执行。过去是一句:create table ... select ...2、如果客户采用了主从模式,不希望关闭该配置,则只能修改系统。mysql配置文件增加gtid_mode=OFF。
2024-09-01 22:29:29
464
原创 平台介绍-机构、岗位、人员基础数据
但是如果独立封装人力资源系统时,就会出现一个问题,平台提供了机构、岗位、人员数据。对应客户关系管理,平台提供的简单人事管理就够了,对应人力资源系统则远远不够。人力资源系统对应的是自己的业务库,两者还是分离的。平台层和人力资源系统各自维护了一套数据,当有人力资源系统时,平台数据来源于人力资源系统(通过esb总线实现数据同步,关闭平台的维护功能),当没有人力资源系统时,平台自己维护数据。在很多客户当前环境中,往往是这样一种架构,上线主数据系统,人力系统做为数据源提供数据,其他系统和主数据系统交互获取数据。
2024-08-31 16:45:14
286
原创 平台介绍-ESB
企业里有各种系统,系统和系统直接需要有联动关系,尤其人力资源系统,例如人员入职、调动、离职时需要很多系统联动。企业服务总线是个不错的思路,但是协调统一各个异构系统,难度太大,总之就是思路远大、技术先进、落地困难,自然慢慢偃旗息鼓了。平台的思想就是要大一统,统一了各个模块的技术架构,统一了权限机制,统一了界面,统一交互模式,但是还是没有解决联动机制。企业服务总线概念有了重新考虑和落地的机会,而且由于技术的发展,企业服务总线有了新的技术底座。企业服务总线,看起来高大上的名词,几年前很火爆。
2024-08-31 10:31:31
196
原创 平台共享1-序言
平台开发好几年了,也经过多个项目的验证,算是基本成型了。平台沉淀了不少好东西,现在逐步拿出来共享给大家。有些人有不同意见,自己费劲巴里做的东西,共享了岂不可惜,岂不是培养对手?1、应用开发没有什么核心技术机密,简j单研究下就能明白。3、假设公司没做好,你的东西帮助了别人也是价值体现。功成不必在我 功成必定有我。7、公开了,大家才能看到缺陷,才能督促改进。6、本来就是要做生态的,更应该毫无保留。2、公司成功不成功是个综合因素。4、你拿出来,别人也会拿出来。5、多个朋友多条路。总之一句话,利大于弊。
2024-08-29 10:29:16
108
原创 开发指南057-执行SQL返回结果集
String sql="select 字段名1,字段名2 from 表 where 条件";CellVO[0].setItemId("字段名")row[0].getValue //获取值。CellVO[]=new CellVO[字段数];然后调用JdbcUtils的方法。Vector为结果集合,遍历方法。
2024-08-27 11:31:30
184
1
原创 开发指南056-定时任务
1、定时任务的定义在业务库(没必要集中到核心库,另外定时任务的服务要访问业务库)。业务场景中定时任务很常见。可在前端定义,也可以直接在数据库里定义。2、定时任务的服务为独立微服务。
2024-08-24 19:58:10
241
原创 开发指南055-根据内容选择样式
平台除了提供各种组件、接口外,更重要的是规定解决方式,就是什么场景用什么解决方案。解决同一个问题有很多种方案,平台开发方会综合各种解决方案的优缺点然后强制选择一种模式。选择同一种模式的好处就是容易维护,因为大家都是同一个思路。核心原理,通过动态class。
2024-08-24 18:43:09
327
原创 开发指南054-选择人员
deptNameMode: "full" //机构名称用全路径模式。@doSelect=“doSelect” //选择后的操作。这个用来控制组件的行为。
2024-08-22 21:25:24
120
原创 简单聊聊创业
前段时间风风火火的鼓励高校毕业生创业,和鼓励生育一样,逐渐没了热度。创业谈何容易,多少有资源、有经验的人都折戟沉沙,更何况啥都没有的毕业生。创业只靠热情是没有前途的。3、没有收入的情况下,你们能坚持多久?(很多情况下,需要坚持的,不能半途而废)2、技术/生产问题有人解决吗?(不一定要专职,可外包、外采等。团队的问题也不清楚,创业彻底不要想了。2、交付类东西,合同签了能交付吗?1、你的创业团队有专职销售吗?1、你这东西能卖出去吗?
2024-08-17 07:22:02
108
原创 降低成本、渡过难关
项目是完全可以远程协调的,甚至找外包。北京只留下项目经理,去对接客户,安排工作,检查工作。产品研发可以归结为本公司的自有项目,这样所有的工作都变成了项目,以项目为单位进行组织。部门逐步虚化,部门经理不是主要职能了,兼职即可。当年华为花了那么多钱请IBM咨询,任总眼光、魄力、执行力度都是一流。各分公司就是办公地点不同,人员都是随项目安排。将来市场情况好转了,估计也会保留下这套机制。当前环境开源不易,就节流,内部挖潜。天津:成本比北京低、人员素质也不错,开发中心设在天津。外包:项目多了找外包、少了用自用人员。
2024-08-16 17:06:53
168
原创 开发指南051-省市区3级联动选择组件
很多业务都需要选择区域,有的到市即可,有的需要到区。这个功能需要调用平台的组件。showdistrict 1 显示区 0 不显示区。该组件的数据来源于平台的字典数据:行政区划数据。
2024-08-13 12:03:05
305
原创 平台介绍-搭建招聘平台(2)
赛事平台可以告一段落了,主要精力投向招聘平台。从更大的方面,很多项目都有共同的地方,平台就是要把这些公共问题解决掉,然后在上面构造不一样的业务场景,通过这个方法来降低开发成本,提高开发效率。和赛事平台不同,招聘平台有明显的流程操作特征。个人提交了简历,单位要有提醒。也就是一个新的项目,仔细分析下,有的功能来源于平台的公共部分,有些部分直接从平台上其他应用来抽取。提醒部分支持站内消息、邮件、短信,这些都是平台的底层功能,直接调用即可。对管理端而已,企业就是他的客户,这部分核心功能可以来自客户关系管理。
2024-08-13 11:30:16
325
原创 当前的挑战和机遇
当前的市场环境整体上很差,在营收不理想的情况下,节约成本是首选。砍IT预算是普遍现象,所以导致我们这个行业日子都不好过,单子肉眼可见的萎缩,大部分是老项目的延续。这些对手在年景好的时侯也是存在的,合理竞争也可以帮助自己进步。真正讨厌的是搅局的,投标报低价、不中时乱举报,都是行业毒瘤。2、产品、市场强不强:就像街上的饭馆,有些家就是门口排长队,有些家就是门可罗雀。5、应变能力:在变化的市场、变化的各种情况下,能否快速调整和适应。4、开拓能力:本行业吃不饱的情况下,开发新产品、拓展新领域。
2024-08-10 11:40:24
132
原创 平台介绍-搭建赛事运营平台(11)
2、根据几天下来持续跟踪,这样业务场景,CPU资源、内存资源不是问题,真正的瓶颈在带宽。由于租用的是云服务器,带宽资源也可以临时增加,增加的最小单位是周,正好覆盖比赛周期。所以平常维持10M带宽,一旦比赛可以临时加到30M(只需一周),即获得很好的效果花钱也不动。本来报名设计了暂存和提交两个按钮,可以暂存输入结果,最后再提交。还有类似的情况,例如集体节目报名流程明明写的很清楚,总是报成多个个人节目。尤其微信支付是异步操作(提交申请后,等微信来调你的回调接口来返回信息)会造成信息不同步,甚至有丢失情况。
2024-08-01 11:43:22
125
原创 开发指南050-登录组件
showParameters通过接口从后台获取。1、程序和配置分离,更新程序时不会覆盖配置。(如果是用包里的配置文件就有覆盖风险、版本不一致风险)2、编写配置管理页面来管理配置,保存到数据库后,实时生效。logined:挂接一个函数,执行登录后的动作。3、第三方验证:QQ、微信、飞书、钉钉、支付宝。该组件需要和后台微服务配置使用。平台前台组件的封装都遵循如上模式。
2024-07-18 16:05:23
1260
原创 开发指南049-优化性能
第一步 把整个流程从接收前端参数,到输出结果,按照业务逻辑划分为几个环节。第四步 必要时,将环节拆分成子环节 重复上面操作二。第三步 分析环节耗时,从最耗时的地方入手。nacos中配置对应微服务。
2024-07-18 12:21:27
173
原创 window下minio的备份
简单才是硬道理,大型互联网公司的数据实现秒查,例如输入QQ号,马上出结果。用的技术其实非常简单。复杂问题简单化、善战者无赫赫之功这才是真高人。把简单问题复杂化,弄一堆名字忽悠人都是伪专家。minio的安装后目录非常小,也不要安装包,复制过来就能用。data目录建在安装目录下。正规的方式是用mc客户端程序,但是想想根本无需这样。做事简单才是硬道理。简单明了,通俗易懂,这才是战略家。备份时连系统带数据一股脑备份(可以分卷压缩)。恢复时找到合适目录解压即可。
2024-07-16 10:06:59
197
原创 开发指南048-mysql设置
show global variables like 'wait_timeout' --查询参数。SET GLOBAL wait_timeout=86400 --设置参数。如果你要问上面这些是解决什么问题的?说明你没有遇到这个问题,忽略本文。如果你遇到了该问题,就按此配置即可。配置文件中增加如下配置,具体含义自行查阅。
2024-07-16 05:51:35
388
原创 开发指南047-前端模块版本
平台前端框架内置了一个文件version.vue。服务网关: {{gateway}}* 最后修订日期:2023-08-23。当前版本:{{version}}应用名称: {{name}}会读取前端配置文件中的内容,并显示出来。* 功能:查看模块版本。* 千里马平台文件。
2024-07-13 10:30:52
686
原创 开发指南046-机构树控件
setting 控制参数 该控件基于ztree实现,setting也继承自ztree的控制参数。根据权限和控制参数显示机构树。机构树数据来源于核心库。为了简化编程,平台封装了很多前端组件。机构树就是常用的组件之一。filterTag 过滤内容 具有该标签的机构才显示。onclick 点击时调用。
2024-07-13 10:28:52
210
原创 开发指南045-挂接百度人脸识别
APPEND: 当user_id在库中已经存在时,对此user_id重复注册时,新注册的图片默认会追加到该user_id下。APPEND: 当user_id在库中已经存在时,对此user_id重复注册时,新注册的图片默认会追加到该user_id下。REPLACE : 当对此user_id重复注册时,则会用新图替换库中该user_id下所有图片。REPLACE : 当对此user_id重复注册时,则会用新图替换库中该user_id下所有图片。NORMAL: 一般的活体要求(平衡的攻击拒绝率, 通过率)
2024-07-12 07:59:31
977
原创 开发指南043-自定义注解
Documented //注解是否将包含在JavaDoc中。现代Java编程大量使用注解,可以很方便的简化编程,提高编程效率。作为一个平台,也定义了自己的注解。@Target(ElementType.METHOD) //注解用于什么地方。@Retention(RetentionPolicy.RUNTIME) //什么时候使用该注解。注解的实际处理是通过切片编程实现的,下篇介绍切片编程。
2024-07-11 17:05:34
196
原创 开发指南042-产生待办
整个平台待办是统一处理的,各业务微服务需要产生待办时调用系统API。processdto.setOperateID(关联操作ID);processdto.setLinkID(关联业务ID);processdto.setReceiveId(接收人);jobAPI.maskHaveDone(关联业务ID);
2024-07-10 23:04:18
243
原创 开发指南041-业务操作日志
el-dialog :visible.sync="showLogDialog" width="72%" title="查看流程日志">平台所有业务操作都存储在核心库,以便统一分析处理。各业务微服务通过feign调用核心日志服务。actType就是操作类型。其中linkid就是上面的关联id。log.setActType(操作类型);log.setActName(操作名称);log.setLinkid(关联id);log.setActDes(操作描述);
2024-07-10 11:22:47
308
原创 程序员绩效管理-进一步思考
从宏观角度,市面上所有同类东西管理的是事,我们聚焦点是人,围绕程序员,开展绩效评定、技能评定、培训、培训效果评估、招聘服务。我们当然也记录这个,但是我们要做的核心工作是:利用AI技术,分析这3天代码的变化,我们发现这3天,完成A任务,只有第1天代码有变动,后续2天基本没变,也就是其实1天就能完成;又例如修复Bug耗时2天,进AI分析,仅仅修改了2行代码。从市场角度,我们做的是saas模式,给中小企业一个管理平台。另外,这个方向是很有价值的,但是难度也很大,我们深感能力不足,希望有志之士加入。
2024-07-05 07:25:36
185
原创 开发指南040-swagger加header
swagger可以在线生成接口文档,便于前后端沟通,而且还可以在线调用接口,方便后台调试。但是接口需要经过登录校验,部分接口还需要得到登录token,使用token识别用户身份进行后续操作。这种情况下,都需要接口增加header,好携带认证信息。swagger2和swagger3有很大不同,平台选用的是swagger3。网上很多解决方案都是swagger2的,采用时一定看好自己的版本。第三步:打开swagger_ui界面,会发现右上角多了个授权的按钮。第一步 new Docket这里要加上。
2024-07-03 08:49:21
663
原创 开发指南039-反射
平台采用jpa+hibernate访问数据库,返回是数据对象的列表,例如学生对象studentBO。访问属性使用.符号,例如studentA.getName()。如果想编一个通用的处理功能,就需要在不知道具体类的情况下,通过属性名字来访问。使用Object类可以承载一切类,例如可以代替studentBO、teacherBO。但是不能用o.getName来访问其姓名了,这个时候就要用到反射机制。采用类似机制可以按函数名字调用任何对象的函数,其实上述函数的核心就是调用的它的getName函数。
2024-07-03 06:26:57
118
原创 开发指南038-防SQL注入
系统里大量存在查询界面,例如A框为模糊查询条件,里面输入文字a,系统后台会拼接SQL条件 A like '%a%'。B框为等于条件,输入b,后台翻译为B='b'。看起来没有什么问题,但是偏偏黑客哥会使用这个漏洞,例如B=‘b'这个,黑哥会在录入框里输入1' or '1'='1,带入后得到。B='1' or '1'='1' 成了永真条件,造成数据泄露,这就是SQL注入。防止起来也没什么秘密,检查下输入条件,避免出现% or 等。fields是要求检查的属性名字,例如:“name,idcard”
2024-07-02 20:38:52
659
原创 输出feign调用详细日志
EnableFeignClients(basePackages={"***","***"}) 这里没有加对应包路径,导致没有真正调用feign,直接进入回调函数显示调用失败。没有调用,自然也没有日志,根本不是配置问题导致没有输出日志。在技术领域一定要先找到真正的问题所在,否则就是瞎子摸象。开发新增一个feign调用类,调用另一个微服务的接口,总是报调用失败,想输出下调用的详细日志看看怎么回事。******: debug ****为实际类路径。配置无误,但是就是没有调用日志,直接懵圈。实在不行了,来咨询。
2024-07-02 20:20:18
201
原创 开发指南036-排除类
这样的写法,有个副作用就是配置文件里必须包含qlm.wechart.appid的定义,如果没有,服务是无法启动的。排除了对mongdb和微信支付的配置。
2024-06-29 17:13:30
209
原创 解决zip文件中文乱码问题
问题根本就不出现在这里,而是出现在前端。在一个项目中,把后台的文件打包成zip,下载到前台。结果发现zip文件名本身乱码,zip文件内压缩的文件也是乱码。不能说网上的东西都是错了,但确实很大一部分都是没有自己实践,直接转的。关键是分析到底那步出现的问题:是服务器端生成时出现的,还是传递过程中发生的。1、Zip文件中的文件名使用的是一种称为"CP437"的字符集编码,所以要按CP437编码文件名字。结果:文件名字这各种转换,无效,怎么折腾都是乱码,而且更乱。文件名字这里也是各种转码,折腾,全部无效。
2024-06-29 16:54:45
1030
原创 开发指南035-刷新待办
这个问题在平台上的难点在于:待办是在门户系统里,待办的处理是在另一个独立的前端工程里,两者是跨域关系。当然这两个系统都是同一个浏览器打开的。跨域页面通讯技术的核心是:消息监听。这里的关键点是门户打开业务系统链接要使用window.open函数。methods定义消息处理函数。调用待办组件的刷新方法。调用后台处理业务成功后调用该函数即可。
2024-06-27 06:35:43
279
原创 开发指南034-安全考虑
1、采用短信验证时,限制同一手机号当天最大发送N次(在参数管理中配置)2、累计密码验证错误超过N次时(在参数管理中配置),账号锁定。========== 持续更新中 ==============4、不细分用户不存在、密码错场景,通通报 用户或密码错。3、查询接口对输入的查询参数进行防注入处理。5、关闭nginx的版本显示。
2024-06-23 23:15:55
89
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人