自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(78)
  • 收藏
  • 关注

原创 【数据加密】对称加密,非对称加密,摘要加密。三种加密方式的解释以及用途

意思:摘要加密实际上并不属于传统意义上的加密,因为它不可逆,即从摘要不能还原出原始信息。它将任意长度的输入(消息)转换为固定长度的输出(摘要或哈希值),目的是验证数据的完整性和唯一性。解释:哈希函数具有抗碰撞性,即不同输入很难得到相同的输出。即便输入信息只改变一点点,输出的哈希值也会完全不同。这种特性使得摘要加密非常适合用于数据校验、密码存储和数字签名等场景。用途数据校验:确保数据在传输过程中没有被篡改。密码存储:存储用户密码时,不直接存储明文密码,而是存储密码的哈希值,增加安全性。

2024-04-23 11:32:42 433

原创 【使用redisson完成延迟队列的功能】使用redisson配合线程池完成异步执行功能,延迟队列和不需要延迟的队列

添加延迟队列时使用,监测扫描时也会用这个工具类进行获取消息。

2024-03-22 10:05:55 816

原创 【ES】es介绍,使用spring-boot-starter-data-elasticsearch整合的ES来进行操作Es

*** 资源表对应的实体类// 无参构造 public BdDataDataVo() {} // 构造方法将BdDataData类转换为BdDataDataVo public BdDataDataVo(BdDataData bdDataData) {} } }/*** 资源表对应的实体类。

2023-12-28 22:26:17 852

原创 【将视频链接转换为m3u8链接】将视频转换为m3u8格式再上传到远程服务器

第一步:视频整体转码ts,成功!第二步:ts 文件切片,成功!其他模块使用openfeign远程调用> 这里使用了`CompletableFuture` 来

2023-12-22 10:47:39 809

原创 数据库整型(tinyint,smallint,mediumint,int,bigint)以及bit型

通常用于表示布尔类型的数据,即只有两个可能的取值,通常是0和1,长度为1位。在输入0以外的其他值时,系统均把它们存储为1。这种数据类型常作为逻辑变量使用,用来表示真、假或是、否等二值选择。数据库中可以设置无符号,无符号则是从0开始算没有负值,如:tinyint的取值范围为:0-255。

2023-11-14 15:27:54 163

原创 【小工具】WebClient远程调用,返回值将Long类型转换为String,自定义注解

1. 使用WebClient使用远程调用2. 返回值将Long类型转换为String3. 自定义注解4. 加密方式

2023-10-31 16:59:07 345

原创 【微信支付V3】

这个是通过TransactionId交易Id进行查询订单状态。也可以通过OutTradeNo我们代码逻辑中的订单号进行查询。使用微信提供的SDK,在文档中进入SDK。

2023-08-03 18:09:29 297

原创 【微信支付】Java微信支付流程

当我们需要支付一件商品时,首先从前端像后端传来商品ID,后端根据商品ID查询商品信息,然后封装订单信息,保存订单。下一步就是向微信远程调用支付接口,微信返回code_url,后端封装code_url返回前端,前端根据code_url显示二维码。用户扫面二维码后进行支付,如果支付成功,就可以从微信端查询出支付信息。后端可以获取支付的状态(result_code),根据支付的状态修改订单信息。封装返回结果。

2023-07-26 11:28:53 1302

原创 【若依】框架搭建,前端向后端如何发送请求,验证码的实现,开启注册功能

若依框架(Ruoyi)是一款基于Spring Boot和Spring Cloud的开源快速开发平台。它提供了一系列的基础功能和通用组件,能够帮助开发者快速构建企业级应用。若依框架采用了模块化的设计理念,用户可以选择需要的功能模块进行集成,也可以根据自己的业务需求进行扩展。若依框架还提供了许多便捷的工具和插件,例如代码生成器、权限管理、日志管理等,能够提高开发效率和项目管理能力。总之,若依框架是一个功能丰富、易于扩展和高效率的开发平台,适用于各种规模的企业级应用开发。

2023-07-04 17:58:24 7215 3

原创 【Mysql】MySQL体系结构,InnoDB、MyISAM存储引擎,索引结构、分类、语法、性能分析

MySQL官方对索引的定义为:索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护者满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据, 这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。如下面的示意图所示 :左边是数据表,一共有两列七条记录,最左边的是数据记录的物理地址(注意逻辑上相邻的记录在磁盘上也并不是一定物理相邻的)。

2023-07-02 12:51:10 625

原创 Docker安装,常用命令,部署MySQL,Tomcat,nginx,redis

Docker是基于Go语言实现的云开源项目。Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP(可以是一个WEB应用或数据库应用等等)及其运行环境能够做到“一次镜像,处处运行”。解决了运行环境和配置问题的软件容器, 方便做持续集成并有助于整体发布的容器虚拟化技术。

2023-06-28 08:45:10 1139

原创 【问题】问题总结

使用糊涂工具,将时间字符串转化为LocalDateTime类型。jdk8 LocalDateTime获取当前时间和前后推时间。前端往后端传值时,需要转一下对象再往后端传。echarts图中显示表格是需要添加宽高。Date类型转换LocalDate类型。来指定element生成的时间格式。使用stream流将结果按类型分组。

2023-04-13 14:50:45 416 1

原创 Error creating bean with name ‘redisConnectionFactory‘ defined in class path resource

RedisConnectionFactory 需要导入commons-pool2 包。

2023-03-17 12:17:06 222

原创 启动报错:Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean.

【代码】启动报错:Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean.

2022-12-01 17:19:09 520

原创 【SpringCloud】08 分布式事务 seata

数据库中创建的表不会留下记录,因为不论操作成功提交事务还是操作失败回滚事务后都会把记录清空,看着没有记录,实际上是有过的,时间很短,还没来得及看就被删除了。A[Order]服务的TM[队长:]向TC[seata]申请开启一个全局事务,TC就会创建一个全局事务并返回一个唯一的XID。A服务的RM[连接数据库]向TC注册分支事务,并将其纳入XID对应全局事务的管辖。全局事务调用链处理完毕,TM根据有无异常向TC发起全局事务的提交或者回滚。B服务的RM向TC注册分支事务,并将其纳入XID对应的全局事务的管辖。

2022-11-29 18:24:03 539

原创 【SpringCloud】07 流量管理sentinel

上面写的那么多规则,当微服务客户端重启后,规则会丢失。Sentinel的三种配置管理模式是什么?原始模式:保存在内存pull模式:保存在本地文件或数据库,定时去读取,性能会低push模式:保存在nacos,监听变更实时更新,目前企业比较推广的。sentinle中nacos没有提供 需要你修改sentinel源码,修改后把源码打包为jar,重新启动该jar包。

2022-11-28 18:15:27 413

原创 【SpringCloud】06 链路跟踪 Sleuth+zipkin

在大型系统的微服务化构建中,一个系统被拆分成了许多微服务。这些模块负责不同的功能,组合成系统,最终可以提供丰富的功能。在这种架构中,一次。互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发、可能使用不同的编程语言来实现、有可能布在了几千台服务器,横跨多个不同的数据中心【区域】,也就意味着这种架构形式也会存在一些问题:l 如何快速发现问题?l 如何判断故障影响范围?l 如何梳理服务依赖以及依赖的合理性?l 如何分析链路性能问题以及实时容量规划?

2022-11-28 11:22:20 407

原创 【SpringCloud】05 配置中心(nacos)

3.当你使用了nacos配置中心时,这时需要在boostrap配置文件中添加连接到配置中心的配置属性来加载外部配置中心的配置信息。微服务要拉取nacos中管理的配置,并且与本地的application.yml配置合并,才能完成项目启动。1.配置一些固定的,不能被覆盖的属性.用于一些系统级别的参数配置,本地的配置文件是默认不能覆盖远程的配置的。nacos既可以做注册中心,也可以做配置中心。我们最终的目的,是修改nacos中的配置后,微服务中无需重启即可让配置生效,也就是。一般将一个项目的配置分到一组。

2022-11-26 11:52:15 1452

原创 【SpringCloud】04 网关springcloud gateway

例子: 认证过滤。内置的过滤器已经可以完成大部分的功能,但是对于企业开发的一些业务功能处理,还是需要我们自己编写过滤器来实现的,那么我们一起通过代码的形式自定义一个过滤器,去完成统一的认证校验。开发中的鉴权逻辑:当客户端第一次请求服务时,服务端对用户进行信息认证(登录)认证通过,将用户信息进行加密形成token[jwt],返回给客户端,作为登录凭证以后每次请求,客户端都携带认证的token [携带请求头]服务端对token进行解密,判断是否有效。/**

2022-11-22 17:42:01 559

原创 【SpringCloud】03 nacos集群模式

如果nacos单机出现故障,导致所有微服务服务注册和拉取相应的服务信息。从而导致整个项目无法使用。注意: nacos1.3以后才允许集群的搭建。必须停止你虚拟机的网卡条件: 8849 8850 8851 这三台nacos集群。

2022-11-22 16:52:53 600

原创 【SpringCloud】02 搭建springcloud微服务项目,服务治理组件nacos,负载均衡ribbon,远程调用Openfeign

把其他模块公共得代码放入到该模块。- - -实体 工具类。把其他的全删掉,只保留一个pom文件。关于订单表得所有操作接口。controller代码。关于商品表操作的接口。

2022-11-21 18:51:49 590

原创 【SpringCloud】01 架构演变史

微服务架构在某种程度上是面向服务的架构SOA继续发展的下一步,它更加强调服务的"彻底拆分"-而且每个服务都可以独立得运行---->必须要springboot(独立的系统) 必须依赖于springboot技术。这时候,我们就思考可不可以将重复的代码 抽取出来,做成统一的业务层作为独立的服务(service),然后由前端控制层(controller)调用不同的业务层服务呢?它使用的组件大多是都是用得阿里巴巴。单体应用架构---->垂直应用架构---->分布式架构----->SOA架构----->微服务架构。

2022-11-21 18:32:30 146

原创 【缓存】SpringBoot默认simple缓存使用

//取出内存中的验证码与传递过来的验证码比对,如果相同,返回true String code = smsCode . getCode();} }获取验证码后,当验证码失效时必须重新获取验证码,因此在获取验证码的功能上不能使用@Cacheable注解,@Cacheable注解是缓存中没有值则放入值,缓存中有值则取值。此处的功能仅仅是生成验证码并放入缓存,并不具有从缓存中取值的功能,因此不能使用@Cacheable注解,应该使用仅具有向缓存中保存数据的功能,使用@CachePut注解即可。

2022-11-19 11:47:42 349

原创 【mycat】常用分片规则

​ 此规则为对分片字段求摸运算。也是水平分表最常用规则。

2022-11-16 22:16:58 588

原创 【mycat】mycat水平分表

相对于垂直拆分,水平拆分不是将表做分类,而是按照某个字段的某种规则来分散到多个库之中,每个表中包含一部分数据。

2022-11-16 21:48:42 720

原创 【Mycat】Mycat主从复制,垂直分库

是,所谓中间件,,以便软件各部件之间的通信。例如 tomcat,web的中间件。而数据库中间件是连接Java应用程序和数据库中间的软件。

2022-11-14 19:51:09 776

原创 Centos7 安装MySQL详细步骤

MySQL安装成功后会有一个临时密码,我们可以使用grep命令查看临时密码先登录进去MySQL,然后修改MySQL密码。首先进入cd /etc/yum.repos.d/目录。发现root用户只允许localhost主机登录登录。安装MySQL服务(这个过程可能有点慢)我的临时密码是:d5uv(r;1.2.1 获取MySQL临时密码。修改MySQL密码为:123456。1.2.2 使用临时密码先登录。4)修改为允许任何地址访问。2)切换到mysql数据。1)首先登录MySQL。

2022-11-14 18:16:34 201

原创 Linux命令ifconfig报错-bash: ifconfig: command not found

进入sbin目录 (sbin:管理员可以操作的命令存放的目录)安装net-tools,里面有ifconfig命令。安装过程中询问是否安装,输入’y’并回车即可。没有查到结果说明没有安装net-tools。查询有没有ifconfig命令。再次查询ifconfig。

2022-11-14 17:38:48 1510

原创 【springboot整合ES】springboot整合ES

在Springboot整合ES提供了启动依赖jar。该jar包封了一个类: RestHighLevelClient该类可以对象ES中各个接口进行相应的操作。

2022-11-10 18:57:53 3575

原创 【Elasticsearch】Elasticsearch命令行操作

集群这一概念已经遍及天下了,在Elasticsearch中也不例外,可以将多台Elasticsearch节点组成集群使用,可以在任意一台节点上进行搜索。

2022-11-10 18:13:05 2617

原创 【MybatisPlus】CRUD操作,映射匹配兼容性,ID生成策略,逻辑删除,乐观锁

MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。从这张图中我们可以看出MP旨在成为MyBatis的最好搭档,而不是替换MyBatis,所以可以理解为MP是MyBatis的一套增强工具,它是在MyBatis的基础上进行开发的,我们虽然使用MP但是底层依然是MyBatis的东西,也就是说我们也可以在MP中写MyBatis的内容。

2022-11-05 22:20:50 1507

原创 Mybatis-plus 代码生成器(版本:3.5.1)

2. 修改application.yml配置文件3. 编写生成类需要修改的地方在controller中编写一个查询所有的接口,其他的都不做改变浏览器访问该接口

2022-11-05 17:58:50 605

原创 【SpringSecurity】SpringSecurity2.7.x 的使用(05)

vue组件 ,登录成功后,将返回的token存入localStorage中

2022-11-05 11:00:59 270

原创 【SpringSecurity】SpringSecurity2.7.x 的使用(04)

Json web token (JWT),是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。

2022-11-03 23:34:14 569

原创 【SpringSecurity】SpringSecurity2.7.x 的使用(03)

通过源码我们发现,InmermoryUserDetailManger中的loadUserByUsername方法最核心的。而且我们自定义的类也要交于容器来管理。使用springboot + thymeleaf+ mybatis+ druid+springsecurity模拟一下从数据库中查询用户,完成授权认证。为了和security自带的User区分,这里将我们自己的实体类名字叫Users。配置文件要配置密码加密器,否者程序不知道要用那种方式来匹配密码。注意要交给Spring管理。

2022-11-02 11:51:05 904

原创 【SpringSecurity】SpringSecurity2.7.x 的使用(02)

获取登录后用户的信息: SpringSecurity默认会把认证成功的用户信息保存到SrcurityContext,类似于session会话。配置文件中授权,我们需要一一对资源和权限进行绑定,如果后期资源非常多,那么这里的代码就比较麻烦。如果未指定登录成功的路径,则默认跳转到 / 路径。默认登录成功后访问相应的资源,如果有该权限,则返回对应资源返回的结果,如果没有权限返回一个403错误页面。认证成功后,当前用户具有哪个权限才可以访问对应的资源。用户赋予权限之后,就不会显示角色信息。

2022-11-01 12:33:19 567

原创 【SpringSecurity】SpringSecurity2.7.x 的使用(01)

如果自定义了账号和密码,则springsecurity就不在提高账号和密码了。上面那种方式只能自定义一个账号和密码, 如何定义多个账号和密码呢。指定的账号和密码必须指定密码加密器。如果不使用密码加密器可以:我们在配置类中定义多个账号和密码后,配置文件中的账号和密码也会失效。认证过程现在是定义SecurityFilterChain 的Bean来完成认证过程,目前要是登录的话要先关闭csrf,才能登录。

2022-10-30 14:06:17 1065

原创 【分布式锁】redis设置分布式锁,redission设置分布式锁,常见面试题

重入问题:重入问题是指 获得锁的线程可以再次进入到相同的锁的代码块中,可重入锁的意义在于防止死锁,比如HashTable这样的代码中,他的方法都是使用synchronized修饰的,假如他在一个方法内,调用另一个方法,那么此时如果是不可重入的,不就死锁了吗?所以可重入锁他的主要意义是防止死锁,我们的synchronized和Lock锁都是可重入的。不可重试:是指目前的分布式只能尝试一次,我们认为合理的情况是:当线程在获得锁失败后,他应该能再次尝试获得锁。

2022-10-28 19:58:57 1768

原创 【SpringSecurity】授权认证基本使用

Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转Inversion of Control ,DI:Dependency Injection 依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。

2022-10-27 23:05:14 1142

原创 将Nginx设置为系统服务

【代码】将Nginx设置为系统服务。

2022-10-26 11:42:49 1084

空空如也

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

TA关注的人

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