自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(355)
  • 问答 (2)
  • 收藏
  • 关注

原创 CSS 高级用法

必须以 -- 开头带默认值。

2025-04-02 10:03:15 308

原创 问题解决 Caused by: java.util.zip.ZipException: Unexpected record signature: 0X9

但是通过 SpringBoot 提供的加载文件API或运行时动态获取却报错了。但是通过Path.get 直接加载文件绝对路径去访问的时候,却是正常的。代码是读取 resources下的docx文件,然后报错了。

2025-03-21 11:22:14 158

原创 go 镜像

go env -w GOPROXY=https://goproxy.cn

2025-03-07 13:24:48 103

原创 服务器查看空间占用的命令

非常好用,/ 可加目录du -sh /* 2>/dev/null mysql的 每个表占用selecttable_schema as '数据库',table_name as '表名',table_rows as '记录数',truncate(data_length/1024/1024, 2) as '数据容量(MB)',truncate(index_length/1024/1024, 2) as '索引容量(MB)'from information_schema.tablesorder by

2025-02-26 16:22:34 177

原创 UniAPP u-popup 禁止背景滑动

在外层div上增加该class判断条件。

2024-11-10 22:54:34 468

原创 mov 转 mp4

下载链接下载 windos 精简版解压(里面的mov文件和mp4文件是我后面自己加的)

2024-10-17 17:22:11 504

原创 UNIAPP 动态菜单实现方法

在 tab 页,底部放入该 tab 组件,并设置当前回显的页面,这里使用了根据页面name回显的方式。由于每次都是新请求权限接口,会造成不必要的性能损耗。所以前端这里缓存一下。由于这里是动态菜单,所以菜单的位置不太确定,所以name非常合适。

2024-10-02 03:12:58 993 1

原创 UNIAPP 锚点跳转

/ 使用scrollIntoView方法滚动到目标元素。

2024-08-26 15:06:06 409

原创 class org.bouncycastle.jcajce.provider.asymmetric.edec.BCXDHPublicKey cannot be cast to class 支付问题

今天在 Jdk17 环境下接入 支付工具包 com.egzosn pay-java-wx ,竟然无法启动。经过我不断的尝试终于解决了,心情舒畅了。同样的代码却在 jdk8 中正常启动。

2024-08-25 11:36:07 543

原创 margin top 顶部重叠、塌陷问题

容器使用 flex 包一下,当然flex内只有该一个元素。

2024-08-22 10:53:38 168

原创 Uniapp 下滑底部分页功能

【代码】Uniapp 下滑底部分页功能。

2024-08-21 13:12:14 225

原创 Vue 使用 v-model 绑定自定义组件值

2. 当前组件内值改变的时候 触发 input 事件,并传递改变后的值。1. 接受 value 字段。

2024-08-14 11:32:35 297

原创 Vue3 复制内容到粘贴板

await navigator.clipboard.writeText('6666');

2024-08-02 10:30:01 500

原创 vite 打包到二级目录下

"build:prod": "vite build --mode production --base=/manager/"

2024-07-31 11:46:11 713

原创 InfiniteScroll Ant-Mobile 替换默认文字 “加载中” “没有更多了”

【代码】InfiniteScroll Ant-Mobile 替换默认文字 “加载中” “没有更多了”

2024-07-10 10:33:01 295

原创 uniapp base64图片 存为本地临时地址链接

【代码】uniapp base64图片 存为本地临时地址链接。

2024-06-06 02:08:31 1286 2

原创 前端组件业务数据选择功能优雅写法

1. 业务场景后台管理在实际业务中,经常可见的功能为:在当前的页面中从其他列表中选择数据。例如,在一个商品活动列表页面中 需要选择配置的商品。2.遇到问题从代码划分的角度来说,每个业务列表代码首先分散开来,各自为一个文件夹。如果想在业务A中选择业务B的数据,那么常规写法为封装一个组件,然后在当前页面中引用,代码大概如下。import DataList from '@/xxx'

2024-06-02 22:38:34 475

原创 el-select 模糊搜索 实现一

本实现方式采用,页面打开后直接请求全部数据,然后输入框输入后搜索的话采用前端本地搜索(list.find 方式)

2024-02-27 22:56:03 546

原创 RabbitMQ 发送消息 绕过系统配置的 消息转换器方法

所以问题来了,系统目前已经集成好了, 都是用的 JSONB,这也是统一的配置。所以,直接就是看发送消息的源码,convertAndSend 方法,这里具体是哪里使用到了配置的消息转换器,消息转换器何时何以参加?起初想的是再弄一套配置,也就是 rabbitmqTemplate,这套配置就不配 JSON 的消息转换器了。不再走下面的消息转换了。我负责的系统需要与其他系统交互,需要我将消息发送到 MQ 上,其他系统监听消息。遇到问题,两个系统的发送消息格式都是不一致的,所以这个地方是需要协商打通的。

2024-01-03 14:05:44 812

原创 MySQL bin 目录启动命令 linux

./mysqld_safe &

2023-12-04 10:29:20 339

原创 根据一个类型 获取该类型的 特殊判断 优雅写法

如果我要查询的话,SQL 里的条件必定是一个时间范围,所以就需要根据类型来算好这个时间范围,所以可以写成下面这样。需求:一个统计接口,时间类型参数有以下:今日、近七天、近三十日等。到时候直接就是 获取该类型的 日期范围就好了,非常优雅。

2023-11-04 18:22:54 273

原创 Java 工具类 列表动态维护

常规实现:先删除原来的全部数据,再重新插入,这样就很耗时了,所以这里写一个工具类出来。具体参数如何传,已经写在了工具类的注释中。原本需求:一个二级 list 更新功能。1. 如果有新增的数据:仅对这些数据新增。2. 如果有删除的数据:仅删除这些数据。3. 其他的话就是更新了。

2023-10-28 23:14:58 346 1

原创 IDEA debug 时不阻塞程序

即可只阻塞当前线程,而不是全部线程。将每个断点的挂起方式改为 线程。

2023-10-28 17:40:22 355

原创 Redis 与 MySQL 一致性 实现方案

解决方法:MySQL 中的数据更新的时候 ,在更新之前先删一次 Redis 中的数据,在更新之后再删一次 Redis 中的数据。正常情况下的流程是:请求来了,先检查 Redis 有没有数据,有返回;没有便查询 MySQL 然后 放入 Redis。此时,如果 MySQL 的数据发生了变化,所以需要同步到 Redis 中。

2023-10-27 09:43:50 502

原创 RabbitMQ 消息模型

然后,生产者发送消息的时候就要传这个值了:比如 传一个 info,那么 交换机就会把消息转发给 绑定了 info 的队列 C2 上。首先可能存在多个交换机,所以 队列是需要绑定到交换机的,交换机转发消息时 可选择的队列列表 只能是绑定到它的 队列。消费者不与队列交互,只给交换机发送,交换机再把消息转发给指定队列,消费者监听到自己的队列有消息了,就可以消费了。所以消费者最终发的消息是:消息要发给哪个交换机的哪个 bindingKey 的队列上。广播就是将消息转发给 绑定到该交换机的 全部队列上。

2023-10-20 10:59:45 453

原创 SpringBoot 接口 字节数组直接显示为图片

【代码】SpringBoot 接口 字节数组直接显示为图片。

2023-10-12 23:04:28 1909

原创 git 项目带分支迁移到另一个 git 服务器

1. 指定迁移 git 仓库地址git remote add target 2. 全部代码推送git push target --all

2023-09-26 22:21:14 922

原创 MyBatisPlus 底层用 json 存储,Java 仍然使用 对象操作

PO 类的字段定义为一个对象,然后使用以下注解修饰@TableField(typeHandler = JacksonTypeHandler.class)当然 jsonTypeHandler 有多种可以选择。PO 类的字段定义为一个对象,然后使用以下注解修饰。

2023-09-21 11:59:21 206

原创 MybatisPlus 数据库字段为 int,PO 类定义为 枚举类

当一张表的某个字段是int,并且有不同的状态时,可以使用枚举类都列出来,就不用写死数值或者额外定义常量类了。其中该类的 grade 字段在数据库中为 int。而在 Java 类里使用Enum,那么该如何对应呢。将 @EnumValue 注解修饰到真正要数据库关联的字段上面。同理,字符串也可以这样操作。这样写之后,代码就更优雅了。首先定义一个 Java 类。

2023-09-21 11:39:42 323

原创 Map 转为 Java 类 方法

【代码】Map 转为 Java 类 方法。

2023-09-21 11:26:16 277

原创 保留 N 条数据功能 实现方案

需求:用户浏览某信息后 就插入一条浏览记录,该浏览记录限制只保留 N 条。实现方案:1. 插入记录2. 查询总记录3. 判断:总记录 是否大于 阈值 3.1 如果大于:总记录 - 阈值 获取到超出数量,将超出数量做处理 3.1.1 UPDATE 方式:UPDATE xxx SET is_del = 1LIMIT 超出数量 DELETE 方式:DELETE FROM xxx LIMIT

2023-09-06 14:34:08 115

原创 React Antd 实现表格合计功能

思路:首先拿到 表格数组对象,然后写一个工具类,然后向数组对象最后插入一条数据,这条数据的字段时根据表格数组里合计算出来的。

2023-08-03 14:55:24 1960

原创 ShardingSphere 源码模块介绍

Sharding - JDBC 主要实现数据库的分库分表,它通过解析应用程序的 SQL 语句,将其中的表名和条件就行解析和分析,然后根据预先配置的规则,将数据分散到不同的数据库和表中。用于提供数据库代理功能,它的作用是在应用程序和数据库之间充当一个中间层,接收来自应用程序的数据库请求,并根据配置进行相应的处理和路由。主要负责项目的整合和发布,该模块中的文件主要是一些配置和脚本文件,用于控制项目的构建和打包流程。公共基础设施模块,为其他模块提供一些共享的基础功能和工具类,它包含了以下几个主要的子模块。

2023-07-30 20:51:53 423

原创 动态线程池 dynamic-tp 源码

官方文档(1)支持运行时动态修改线程池参数字段包括:核心线程数、最大线程数等(2)近实时监控线程池情况,如果发现超过指定阈值就告警通知用户告知用户后,用户就可以修改线程池配置,怎么修改呢?直接修改配置中心的数据,也就是将线程池字段存储在配置中心,线程池也从配置中心读取,用户也从配置中心修改。如想了解更多使用信息,请查看上方官方文档。

2023-05-27 02:58:17 2539 2

原创 【Spring - beans】 BeanDefinition 源码

目录1. BeanDefinition1.1 AbstractBeanDefinition1.2RootBeanDefinition1.3ChildBeanDefinition1.4GenericBeanDefinition2.BeanDefinitionReader2.1AbstractBeanDefinitionReader2.2XmlBeanDefinitionReader2.3GroovyBeanDefinitionReader2.4Prope

2023-05-22 19:03:52 1236 1

原创 MyBatis Plus 插件 动态数据源实现原理与源码讲解 (dynamic-datasource-spring-boot-starter-master)

多数据源即一个项目中同时存在多个不同的数据库连接池。比如 127.0.0.1:3306/test 127.0.0.1:3307/test127.0.0.1:3308/test总之项目存在需要操作多个库的需求。具体在编码方面呢,具体就是一个service 中,方法1使用库1查询,方法2使用库2查询。

2023-05-16 15:12:51 7572 2

原创 Nacos 鉴权系统源码讲解

鉴权功能默认没有开启,开启后的效果就是 Nacos 的接口需要用户登录并且具有权限才能调用该接口。例如注册实例、发布配置等。鉴权也就是 我是谁、我能干什么。

2023-04-22 14:34:57 2016

原创 实现 2PC 协议

2PC 协议(Two Phase Commit)是一个分布式事务协议。2PC 为两阶段提交,分为两个阶段。两个角色。1. PREPARE2PC 有两个角色1. Transaction Manger / TM 事务管理者2. Resouce Manager / RM 资源管理者。

2023-04-01 16:49:04 1051

原创 责任链设计模式的一次实践

一次使用

2023-03-22 13:16:02 403

原创 Nacos 注册中心 - 健康检查机制源码

当一个服务实例注册到 Nacos 中后,其他服务就可以从 Nacos 中查询出该服务实例信息,就可以调用使用了。然而服务提供者如果此时挂掉了,此时其他服务拿到信息后就会调用不通,所以Nacos中的服务信息应该有一个更新机制(即删除掉挂掉的服务)那么服务注册信息应该如何维护呢,那就是判断某个服务实例是否有问题,如果检测到服务实例出现问题了就将他剔除掉。那么如何判断 服务实例 是否有问题呢?这就是健康检查要做的事情,即检查服务实例的健康状态。不健康则剔除下线。

2023-03-18 16:25:20 1689 4

空空如也

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

TA关注的人

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