- 博客(28)
- 收藏
- 关注
原创 解决报错 MySQL5.6升级5.7,部分SQL报错 xxx which is not functionally dependent on columns in GROUP BY clause
项目需要升级MySQL版本,打算5.6升5.7,升级后发现原本正常的部分SQL,不能正常工作。
2025-03-19 16:42:01
149
原创 解决MySQL 5.6升5.7之后,非空有默认值的字段,报cannot be null Column ‘xxx‘的问题
项目需要升级MySQL版本,打算5.6升5.7,升级后发现原本正常的部分SQL,不能正常工作。字段定义为在之前的使用中,有的同事代码不规范,向此字段插入时,会直接插入null,而非不更新此字段的值。
2025-03-19 16:08:54
267
原创 解决SpringBoot 健康检测接口 actuator/health 访问一直卡着,但 actuator/info等其他接口能正常访问的问题
尝试访问 http://localhost:8080/actuator/health 接口,能访问,但既不报错也不返回,一直卡着;访问http://localhost:8080/actuator/info 能访问,也能正常返回信息。对比/actuator/info和/actuator/health接口的差异,发现/actuator/health会返回很多db连接信息,eureka信息等等。最近在做服务迁移,迁移完后的新服务,直接将pod的配置丢到新的K8S集群中,健康监测一直失败。
2025-01-16 09:45:44
465
原创 解决js流式下载工具 stream-saver 在部分网络环境下,下载时浏览器右上角不弹出文件下载框,无法正常下载文件的问题
stream-saver访问了一个github地址做mitm,修改后问题解决
2024-12-04 11:11:32
1120
1
原创 LangChain4j spring boot starter不支持SpringBoot低版本(2.x.x) 的解决方案
当然,我们可以通过Rest API请求对应的接口,以调用AI能力,但一来Java的原生HTTP请求写起来实在麻烦,二来自行对照SDK写HTTP请求,还要封装的漂亮,工作量也决不少。尝试了SpringAI,LangChain4j等等SDK,发觉几乎所有AI工具链在SpringBoot生态中,都只从SpringBoot3.x.x开始提供支持。只为这个功能,就重构/单开出一个Python系统显然不可能,而又面临SpringBoot版本无法升级的困境,只能寻求迂回方案。新增LangChain4j的Bean。
2024-12-02 18:18:22
1621
5
原创 解决Windows + Chrome 使用Blob下载大文件时,部分情况下报错net:ERR_FAILED 200 (OK)的问题
部分线上用户反馈,下载文件会报错,但重启电脑又好了。遂远程客户,发现在下载超过一定阈值大小的文件时,会报错。通过使用stream-saver结合fetch返回的stream,实现流式下载并解决问题
2024-11-19 16:27:22
1401
原创 MacOS Safari浏览器按ESC就退出全屏模式的去除办法
ESC是网页浏览的常规操作,一些弹窗等可以直接按ESC关闭。但Safari遵循了MacOS的默认行为,在按ESC时除了网页本身对ESC的响应外,还会退出全屏,在进行网页工作时经常被退出全屏,极麻烦。本文介绍了此问题的解决方法。
2024-09-14 10:39:35
860
原创 MacOS Sonoma(14.x) 大写模式或中文输入法下的英文模式,光标下方永远会出现的CapsLock箭头Icon的去除办法
如图,MacOS Sonoma(14.x) 大写模式或中文输入法下的英文模式下,光标下方永远会出现一个CapsLock箭头Icon。此Icon挡住视野,还容易误触导致切换大小写状态,带来的收益远远小于带来的困扰。解决方案来自:https://discussions.apple.com/thread/255191086?烦人的CapLock图标再也不会在屏幕上出现了。打开终端,输入以下shell。
2024-09-13 10:59:40
751
原创 一些AIGC大模型在内容识别方面需求的开发流程、优化技巧、与此类需求的注意事项
工作中接到一个任务,需要识别一些文件扫描件,并利用大模型从中提取某些信息。工作流为 OCR -> 大模型。
2024-09-09 10:55:57
298
原创 对接第三方服务时的一个经验教训——一定要事无巨细的打上日志
这几天遇到了一个需要和同公司不同部门的第三方服务对接的需求,那个第三方服务是一个PHP服务,前人没打什么日志,直接让SpringWebFlex框架自动对第三方的返回内容做了反序列化,由此引入了一堆问题。在第三方变更时,有个地方没通知我们,导致我方序列化处的逻辑报错。而由于没打日志,又无法获取到原始返回内容,因此只好将SpringWebFlex的。最终发现无法序列化是因为,PHP服务返回空值时,返回的是个。,然后手动使用Jackson将返回的字符串进行序列化。因此,对接第三方服务时一定要事无巨细的打上日志!
2024-08-19 15:02:24
176
原创 通过IDEA性能分析器,优化减少IDEA的CPU消耗
M1 + 16G 的MacBookPro竟然带不动一个IDEA 2024,CPU动不动飚到600%+,卡的怀疑人生,实在无法忍受。禁用了以下插件,CPU占用明显好转。IDEA提供了自带的性能分析器。
2024-08-06 19:59:20
1233
原创 Postgresql中,ARRAY_LENGTH函数的一个反直觉特性
使用`ARRAY_LENGTH`函数时,需注意:对于空数组`{}` ,其返回值将是`null`,而非`0`
2024-08-03 11:30:09
706
原创 解决使用Mybatis-FLex时,制作Mybatis原生插件导致的动态SQL参数无法正常填入的问题
MybatisFlex确实使用的是继承自`SqlSessionFactoryBean` 的 `FlexSqlSessionFactoryBean` 插件应当加入到FlexSqlSessionFactoryBean中
2024-08-01 11:23:07
484
原创 Ubuntu禁用自动更新弹窗的方法
Ubuntu每次开机都会弹窗提示安全更新,设置里最多只能取消自动下载,自动更新,但无法做到直接让自动更新的弹窗不出现。我们大部分人根本不care Ubuntu的更新,只是把它作为一个带桌面的Linux用,每次开机都弹窗提示更新很烦人。想到:如果直接把snap卸载了,是否还会自动弹窗?反正我们一般也不用snap,都是用apt。防止apt再自动给snap安装回来。尝试了互联网上一些办法,比如编辑。列举所有使用snap安装的软件。重启后,不再弹出自动更新窗口。察觉自动更新窗口标题为。通过apt卸载snapd。
2024-07-22 23:45:39
901
原创 记录发版过程中遇到的一个Mysql天坑:ALTER TABLE加字段时报Duplicate entry的问题
一番查证,发现MySQL在改表时,只要其它SqlSession中触发了Duplicate entry,那么这条改表语句也会报错Duplicate entry。加字段,也不是加索引啥的,怎么还会报这种错?先锁表,再改表,最后解锁表,新增字段成功。而公司之前的业务代码里,很多都是用。发版时加了新字段,需要改表。,因此极易触发此问题。
2024-07-22 20:04:25
314
原创 深入Java代码生成与AST操作——通过拓展Lombok实现@Nullable: 在长调用链下任意语句返回空值的处理
通过拓展Lombok实现@Nullable: 在长调用链下任意语句返回空值的处理
2024-05-24 18:06:59
523
1
原创 Java中一种获取当前系统类型的办法
工作中遇到需要对Process类做一些拓展,以便在开AI组的Python工作进程时,从stdout、stderr、stdin三种标准输入输出流外的自定义输入输出流传递参数。对Java服务端开发者来说,JDK&JVM往往会直接确保开发者写的所有代码都是各平台通用的,因此Java开发者一般很少关注平台特性。方法,获取到当前系统类型的枚举值,OperatingSystem为枚举类型。在看Open JDK的Process类代码时,发现一段涉及平台特定功能的代码,这对Java服务端开发者来说很罕见。
2024-05-06 14:22:09
282
1
原创 SpringAI初体验:凑合用
库一样,可以提供非常方便的本地模型部署与调用能力,只需要在resources目录下放入从huggingface或公司自己训练的模型,就可以像transforms库那样去调用,而非对云服务商API或Ollama的封装——毕竟调用云服务商的API这谁不能做呢?也就是说,如果想要在SpringAI中,运行一个本地化的大模型,要么用Ollama库里有的,但显然这个库里的大模型并不满足一切场景,要么还要把模型转为onnx格式。有各个AI云服务商的实现,使用上述方式创建的项目,默认引入的是OpenAI的服务,点进。
2024-05-05 00:20:50
678
4
原创 记录一个搭流媒体服务器时遇到的天坑:ffplay的buffer设置
以上10080是SRS默认的SRT端口号,使用ZLMediaKit时换成9000,ip_address换成服务端地址。用SRS和ZLMediaKit分别都搭建过一个局域网的流媒体服务端,流协议使用SRT,只推音频。此时,在本机执行拉流+推流指令,并开始读秒,发现延时高达8秒左右!各种在服务端差延时,看日志,均未发现服务端延时会达到这么高。最后发现竟然是ffplay的问题。设备:MacBook。
2024-04-17 11:00:22
423
1
原创 记录Docker启动SRS,挂载数据卷时,容器内文件被清空问题的解决方案
大意为,当使用这种形式的-v参数时,目录下映像中的任何文件都不会复制到卷中。因此便出现了容器内文件被清空的情况。平时使用docker挂载卷时,没有注意一个细节:如何表示宿主机当前目录,以前都是。部署SRS时发现,想要将SRS的配置文件目录映射到宿主机上,执行此命令。,经过一番查询,发现容器内的配置文件被清空。
2024-04-11 11:39:52
602
1
原创 一种分布式复杂任务调度/算子调度系统的设计
对于分布式算子调度系统,通常需要并行或串行的调度若干个AI或算法进程,并在较大尺度上保持有序性。类似流程引擎,区别在于每个流程节点需要在工作节点上启动单独的进程处理,同时预估进程的资源消耗与执行时间,并限流、保证负载均衡与两个独立流程间基本的顺序性。
2024-02-09 00:52:09
980
1
原创 CMS服务设计
在前两家公司都过CMS系统,技术选型和业务类型各不相同,给第一家公司做的是文章管理系统,第二家做的是带富文本编辑的类论坛系统。记录下此类系统的设计思路与注意事项。
2024-02-01 00:45:12
977
1
原创 Vue + SpringBoot 实现API加解密
测试得到一个结论,对称加密的性能远高于非对称加密,因此,对请求体、响应体这类长文本,最好使用对称加密。现代CPU大都内置AES编解码加速器,估计可以提升AES编解码性能,猜测也能减少AES加解密对常规运算的CPU占用影响。基于以上结论,设计如下的整体加解密思路。
2024-01-30 12:00:50
589
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人