自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(441)
  • 资源 (1)
  • 收藏
  • 关注

原创 学习资料导航

导航

2023-01-14 12:54:58 152

原创 各类导航和便签

堆外内存 零拷贝 mmp

2020-04-30 20:58:50 339 1

原创 在切面方法中传递对象给被增强方法

以下几种方法基本都参考自豆包等AI。其中方法一(利用request的attribute)原理简单,我在项目中最终采用了它。如果是 Spring Web 项目,可以利用 RequestAttributes 在请求作用域中传递对象。多个AI都推荐此方法,但我有点担心线程安全问题。虽然按豆包的解释,一般情况下这不是问题。其它方法,比如约定方法的参数对象等,因为要修改方法本身,所以不是优雅的解决办法。

2025-03-10 16:01:16 128

原创 在一个Java项目里配置两个r2dbc数据源

【代码】在一个Java项目里配置两个r2dbc数据源。

2025-03-04 16:42:41 420

原创 使用nohup使终端断开后程序继续运行

示例:通过ssh等方式登录远程机器后运行下列命令。

2025-03-04 15:53:08 308

原创 使用SHOW PROCESSLIST和SHOW ENGINE INNODB STATUS排查mysql锁等待问题

然后我把87337kill掉了,然后重新发起了一个alter命令,但这个新的命令仍然一直卡住不能结束。如果有一个长时间运行的事务持有表的元数据锁(例如正在进行 ALTER TABLE、INSERT、UPDATE 或 DELETE 操作),其他试图访问同一表的操作将被阻塞,直到该事务完成。mysql 查表A一直不能结束,查别的表没有问题。可以看到ID87337为我发起的修改字段操作,此时它正处于等待元数据锁的状态。如果某个事务对表进行了修改但没有提交或回滚,其他会话将无法获得所需的锁,导致它们处于等待状态。

2025-02-17 17:09:22 516

原创 MySQL的不同SQL模式导致行为不同?

严格模式(STRICT_TRANS_TABLES)

2025-01-17 11:49:39 413

原创 linux通过命令切换wifi

使用nmcli 命令:显示所有可用的 WiFi 网络:在终端中输入nmcli dev wifi list命令,会列出当前可以扫描到的 WiFi 网络及其信号强度、频段等信息:列出已保存的 WiFi 网络:输入nmcli connection show命令,会显示系统中保存的所有网络连接,包括有线、无线等:

2025-01-17 11:31:33 242

原创 用AOP和注解 检查request header是否带有合法token

值得一提的是AuthException 最好设置为RuntimeException,否则就需要在连接点(比如上面的logout方法)声明将其throws , 不然就会报 java.lang.reflect.UndeclaredThrowableException错误。上面提到若无合法token, 会把http response status置为401。从上面的切点表达式可以看到,我不是通过指定类路径,而是注解类,来控制哪些方法将被此切面方法拦截的。

2025-01-15 17:34:33 351

原创 用户登录/登出功能,当登录页面在另一域名下

要求为某网址增加用户登录功能。登录页面是现成的,但是位于另一个域名。当request 没带token ,要求跳转此登录页面,用户登录后会返回token. 此时再跳回原网址。这个过程如何避免发生跨域问题?

2025-01-14 17:35:35 296

原创 《一、初阶应用》之《2. 大模型应用开发基础》

当下一个token的概率低于某阈值;或者训练数据有终止符[END]Transformer 是目前人工智能领域最广泛流行的架构,被用在各个领域。目前只有 transformer 被证明了符合 scaling-law。使用邮箱注册 DevAGI:https://devcto.com。这套生成机制的内核叫「Transformer 架构」Transformer 仍是主流,但并不是最先进的。112分+ : 大模型应用产品架构。

2025-01-09 10:11:13 311

原创 《第三期(先导课)》之《课程工具与知识点准备》

pip install fastapi

2024-12-27 11:29:06 225

原创 《第三期(先导课)》之《Python工程应用》

可以使用 pip 来安装 mypy。打开终端运行以下命令(注意如果是windows环境,须用管理员权限打开终端,否则安装会失败):pip install mypy。关于Unicode 字符串, 我在通义上查到的资料:python 3默认情况下,所有字符串都是 Unicode 字符串,因此 u’…’ 前缀并不是必需的。Python、Java中的字符串是不可变的,JavaScript中的字符串是可变的。

2024-12-23 17:04:36 1109

原创 记Fastjson2的一个报ConcurrentModificationException的bug

错误背景:fastjson2的parseObject方法,在spring webflux项目中被调用,有时会报java.util.ConcurrentModificationException错误。,错误的症状和栈和我项目很类似。阿里的人说此bug在2.0.48版本中修复了。而我项目原来的版本是2.0.14,升级到2.0.48后好像确实是修复了。改了半天与并发安全相关的代码,还是会报此错误。

2024-12-23 14:37:06 538

原创 umi项目部署、打包

npm install -g pnpm 这会全局安装 pnpm. 安装完成后,可以通过pnpm -v验证 pnpm 是否安装成功.首先,确保你的系统上已经安装了 Node.js 和 npm。打包完成后,会生成一个dist文件夹,里面包含了用于生产环境的静态文件。Umi是基于React的企业级应用框架。在准备部署之前,使用命令。

2024-12-11 17:04:11 590

原创 跨域问题以及使用vscode的LiveServer插件跨域访问

跨域问题(Cross-Origin Resource Sharing,CORS)是指在Web开发中,当一个网页尝试访问另一个与其不同源(即域名、协议或端口号不同)的资源时,浏览器出于安全考虑,会限制这种跨源HTTP请求。跨域问题本质上是由于浏览器的同源策略(Same-Origin Policy)所导致的。同源策略是一种浏览器安全机制,它限制了从一个源加载的文档或脚本与另一个源的资源进行交互。

2024-11-07 10:11:22 1825

原创 前端开发模板Pear Admin Layui

Layui 是免费开源的 UI 组件,而官方出品的 Layui Admin 一直是付费产品,今天介绍的 Pear Admin Layui 就是 Pear 开源团队基于 Layui 打造的免费开源 admin ui 框架,无论是外观还是代码风格完全遵循 Layui 的规范。非常适合缺少前端牛人的团队或者仍然喜欢纯粹原生 HTML/CSS/JS 开发者使用,可以在不需要搞懂前端工程化的一系列新知识的情况下快速启动一个项目。

2024-11-05 16:35:04 587

转载 典型的用户/角色/菜单表设计

DBeaver中角色/菜单的ER图:

2024-10-30 16:32:21 117

原创 Java多Module项目打包

确实可以打包成功,但是使用时mysql r2dbc与redis发生了一些奇怪的问题。下面的方法则没有碰到此问题。

2024-10-25 15:57:50 424

原创 解决url含%导致404错误

使用这段代码时,如果imageUrl中包含%,则它会被自动转为%25,导致404 Not Found错误,怎么办?之类的方法,达不到预期。

2024-10-24 16:36:23 167

原创 解决nginx代理SSE接口的响应没有流式返回

(默认行为):当 proxy_buffering 设置为 on(或者没有明确设置,因为 on 是默认值)时,Nginx 会将来自上游服务器的响应内容缓存在本地内存中,直到整个响应体被接收完毕或者达到了 proxy_buffers 和 proxy_buffer_size 指令所指定的缓冲区大小限制。前后端分离的项目,前端访问被nginx反向代理的后端SSE接口,预期是流式返回,但经常是很久不响应,一响应全部结果一下子都返回了。查看后端项目的日志,响应其实是流式产生的。推测是nginx配置问题。

2024-09-18 14:36:37 3031 1

原创 安装MongoDB

访问,选择将下载的tgz包解压到一个合适的目录。通常,人们会选择/opt或/usr/local解压后重命名为更简短的名称如mongodb。这条命令会启动MongoDB服务,并将数据和日志文件分别存储在/var/lib/mongodb和/var/log/mongodb/mongod.log中。–fork选项告诉MongoDB在后台运行。

2024-09-06 17:33:48 1526

原创 缓解webclient频繁报‘Connection prematurely closed BEFORE response’的问题

我在Java代码中使用进行网络请求,一开始会有比较多的偶发报错:Connection prematurely closed BEFORE response,网络连接莫名其妙就断了。

2024-09-04 16:04:04 3148

原创 用自定义类级注解校验两字段不能同时为空

有下面这么一个类,要校验两字段query、image不能同时为空,应该怎么实现?已知的@NotBlank都只能检验单个字段。

2024-09-03 15:40:48 471

原创 解决“jar中没有主清单属性“

具体现象已记不太清,好像是用Maven打包成jar包后,用java -jar命令跑报这个错误,查找原因时发现META-INF/MANIFEST.MF里没有指定Main-Class。偶尔发现pom.xml中的此处代码。操作一番没有解决问题。

2024-09-02 17:36:16 197

原创 解决r2dbc连mysql时timestamp字段的时区问题

在两个mysql库用相同SQL都建了某表,都有created_at字段:。但是在往此表insert记录时,B库的created_at字段比当前时间慢了8个小时,而A库无此问题。

2024-08-09 17:00:21 872

原创 mysql数据库迁移

我把backup.sql打开一看,系统把建表语句全都给我加上了COLLATE=utf8mb4_0900_ai_ci,而这句在我自己之前建表时是没有的。但是我在导入这步报错了:ERROR 1273 (HY000) at line 25: Unknown collation: ‘utf8mb4_0900_ai_ci’目标:把指定的mysql数据库(本例中名字为ai_platform)从源机器,迁移至目标机器。背景:源机器系统为ubuntu, 目标机器系统为centos。我全程都是在源机器上操作的。

2024-08-02 16:42:48 464

原创 linux使用supervisor设置开机启动程序

查看状态,一直都是exit status 127 not expected,网上查资料说是路径配置错误,推荐使用绝对路径,但我确认过路径没有问题。,目的是为了启动我部署的一个java项目。该sh文件验证过可以运行。上述start.sh是一个我已经写好的文件,内容为。但就是死活跑不起来。重启后发现生效了,通过。

2024-07-24 14:49:52 868

原创 Webflux中的订阅关系

最近因为要提供流式接口,一直被webflux折磨,经常遇到各种问题,比如这段代码为什么没有运行,为什么是这个执行顺序,现在发现很多都跟不清楚订阅关系有关系。webflux中的这段代码会使result1运行两次,为什么背景:代码在webflux 某个Controller方法,使用Flux.concat的目的是为了顺序执行,而在定义result2时使用result1.flatMap,是因为result2需要取result1的执行结果。

2024-07-16 21:43:26 407

原创 Mybatis杂记

【代码】Mybatis杂记。

2024-06-06 15:55:27 339

原创 Java过滤特殊空格 

在网上找了下,应该是这其实是html中经常使用的一种特殊空格字符。

2024-05-31 20:28:15 579

原创 mysql分组排序

CASEmyColumn,FROM (SELECTFROMORDER BY但是应该是会报错Cause: java.sql.SQLException: sql injection violation, dbType mysql, druid-version 1.2.16, “multi-statement not allow : SET”…。

2024-04-30 17:31:15 430

原创 使用EasyYapi插件简化导出yapi接口

其中的token在这里拿:

2024-03-26 17:01:52 528

原创 用charles手机抓包

Charles本质是就是一个http抓包分析工具,在工作的时候需要先把charles设置成代理服务器,这样所有的网络请求都会经过charles了。中的方法三,打开Charles,选择help→SSL Proxying→Save Charles Certificate,再将证书导入到手机中。

2024-02-28 16:30:14 1632 1

原创 一些es的基本操作

好像直接删除是不支持的。给名为population_portrait_hash_seven的索引增加了一个text类型的字段。再删除原始索引,最后将将新索引重命名为原始索引的名称。给这个接口增加了一个keyword类型的字段。

2024-01-24 20:11:47 653

原创 同时使用lombok和mapstruct报“No property named “xxx“ exists in source parameter(s).”

我在某项目同时引入了lombok和mapstruct。后面在网上找到了这篇《lombok和mapstruct都是在编译期通过注解处理器生成对应代码的,如果mapstruct的注解处理器比lombok的更早被执行,则POJO的成员变量的getter和setter方法都还没有被生成,此时就会报某某属性不存在的错误。简而言之,就是mapstruct要比lombok更早执行,否则使用mapstruct时会找不到用lombok修饰的类的属性。

2024-01-17 14:13:22 1726

原创 一些数据库客户端工具(主要针对MySQL)

SQL Workbench/J 安装参考:解压DBeaverNavicat。

2023-12-15 11:52:23 494

原创 解决H2 database error: Database may be already in use: “Locked by another process“

以server模式而不是embedded起动。

2023-12-15 11:34:39 853

原创 记一次引入低版本包导致包冲突,表现为NoClassDefFoundError的故障

找到项目中有多个版本的org.apache.poi包,而项目实际使用的不是我新引入的4.1.2版本包,而是已有的5.2.3版本包。本地IDE编译无问题,但是打包部署后,跑起来却报java.lang.NoClassDefFoundError。1,小心包冲突导致的错误,这些错误经常IDE不会报错,也能找到相关的类或者方法,但是项目实际运行时不是用的你看到的代码-_-2,避免使用标记为Deprecated的代码,一不小心改个版本,你依赖的代码没有了,然而你并不知道。根据经验和直觉,判断可能是包冲突问题。

2023-12-04 17:30:26 1506

原创 一些es查询的资料

每个字段都可以包含零个或多个值,但是所有值必须具有相同的数据类型。聚合后,每一个聚合Bucket里面仅返回指定顺序的前N条数据。一种chrome es查询插件:Elasticvue。:不要连续使用多个withQuery,会会覆盖。记录在此,暂不继续深入。

2023-12-04 14:42:39 1161

Pro Git 第2版英文

Pro Git 第2版英文

2019-03-07

空空如也

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

TA关注的人

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