自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SpringBoot结合JWT+Shiro+Redis实现token无状态登录授权验证以及token刷新

1. 本身AccessToken的过期时间为5分钟,RefreshToken过期时间为30分钟,当登录后时间过了5分钟之后,当前AccessToken便会过期失效,再次带上AccessToken访问JWT会抛出TokenExpiredException异常说明Token过期,开始判断是否要进行AccessToken刷新,首先redis查询RefreshToken是否存在,以及时间戳和过期AccessToken所携带的时间戳是否一致,如果存在且一致就进行AccessToken刷新。

2023-04-13 12:17:43 1468 1

原创 分布式消息中间件RabbitMQ学习笔记(三)——SpringAMQP(简单队列模型、工作队列模型、发布-订阅模型、配置消息转换器)

超级详细:RabbitMQ学习笔记(一)——个人自用

2022-10-23 12:37:47 397

原创 分布式消息中间件RabbitMQ学习笔记(四)——顺序消息、延时消息、事务消息

111111111。

2022-10-23 12:33:01 436

原创 分布式消息中间件RabbitMQ学习笔记(一)——使用场景(限流削峰、异步解耦、数据收集)

1、用户完成支付服务,需要调用订单服务、仓储服务、短信服务等等,并且需要等待调用的服务全部完成,才完成支付服务。2、当用户执行订单服务时,订单服务调用其他服务时,只需要通过MQ发送订单消息通知其他所调用的服务完成任务即可,无需等待其他服务执行完。当用户执行订单服务时,调用短信服务的同时,调用邮件服务、SMS短信等服务,等待调用的所有服务完成后,完成支付服务。加入消息中间件RabbitMQ后,MQ会将超量的请求拦截下来,暂存到队列里,既避免过量请求导致系统A崩溃,也不会丢失用户的请求数据。

2022-10-23 11:42:07 1098

原创 分布式消息中间件RabbitMQ学习笔记(二)——Docker安装Rabbitmq详细步骤

我是在Centos8虚拟机中使用Docker来安装RabbitMq的,很方便!

2022-10-23 10:32:21 478

原创 超级详细:RabbitMQ学习笔记(一)——个人自用

基本消息队列的消息发送流程:建立connection创建channel利用channel声明队列利用channel向队列发送消息基本消息队列的消息接收流程:建立connection创建channel利用channel声明队列定义consumer的消费行为handleDelivery()利用channel将消费者与队列绑定多个消费者绑定到一个队列,同一条消息只会被一个消费者处理通过设置prefetch来控制消费者预取的消息数量交换机的作用是什么?接收publisher发送的消息。

2022-10-22 16:18:39 209

原创 超级详细:微服务SpringCloud学习笔记(二)—— Nacos配置管理、Feign远程调用、Gateway服务网关

使用Feign的步骤:① 引入依赖② 添加@EnableFeignClients注解③ 编写FeignClient接口④ 使用FeignClient中定义的方法代替RestTemplate类型作用说明修改日志级别包含四种不同的级别:NONE、BASIC、HEADERS、FULL响应结果的解析器http远程调用的结果做解析,例如解析json字符串为java对象请求参数编码将请求参数编码,便于通过http请求发送支持的注解格式默认是SpringMVC的注解失败重试机制。

2022-10-22 16:10:59 229

原创 超级详细:微服务SpringCloud学习笔记(一)——认识微服务、服务拆分与调用、Eureka注册中心、Ribbon负载均衡、Nacos注册中心

单体架构:简单方便,高度耦合,扩展性差,适合小型项目。例如:学生管理系统分布式架构:松耦合,扩展性好,但架构复杂,难度大。适合大型互联网项目,例如:京东、淘宝微服务:一种良好的分布式架构方案①优点:拆分粒度更小、服务更独立、耦合度更低②缺点:架构非常复杂,运维、监控、部署难度提高SpringCloud是微服务架构的一站式解决方案,集成了各种优秀微服务功能组件SpringCloudRibbon的底层采用了一个拦截器,拦截了RestTemplate发出的请求,对地址做了修改。

2022-10-22 15:17:57 223

原创 nodejs服务后台持续运行的方式(避坑)

forever是一个nodejs守护进程,完全由命令行操控。forever会监控nodejs服务,并在服务挂掉后进行重启。但是,nohup用于运行java项目的jar包却可以持续后台运行,但是底层不好管理,挂掉无法自动重启。不足:无法查询系统运行日志、关闭终端后nodejs服务也就关掉了。有输出日志的命令,依然无法后台持续运行。更推荐使用docker部署,功能更强大。查看9082端口占用情况。

2022-10-12 17:32:41 3197

原创 【零基础】Java基于阿里云平台实现与硬件设备通信,进行数据传输以及阿里云物联网平台指令下达

使用JavaScript编写数据解析脚本:硬件发送的数据为16进制。与服务端的通信模式是“一问一答”,也就是服务端需要下达相应的指令。云端指令下达:因为传感器是不会主动发送数据给服务端的,传感器。,设备收到指令才会向服务端发送相关数据的16进制数据。阿里云物联网平台(数据交互的中转站)后端接入物联网平台,并订阅服务。硬件:设备接入物联网平台。

2022-08-21 19:11:45 860

原创 LeetCode 热题 HOT 100 持续刷题更新中........

LeetCode 热题 HOT 100 持续刷题更新中........

2022-08-21 17:27:27 1218

原创 【亲测有效】springboot整合mybatis+redis开启二级缓存,提高用户对数据的访问速度

【亲测有效】springboot整合mybatis+redis开启二级缓存,用户提供访问速度

2022-07-24 15:23:53 590

原创 【个人笔记】springboot启动后台定时任务执行相关业务

springboot启动后台定时任务执行相关业务

2022-07-24 15:22:53 449

原创 【个人笔记】当前端vue部署为HTTP协议,而后端接口为HTTPS协议时,会出现跨域的问题,无法通过http通过https访问https

代码】当前端vue部署为HTTP协议,而后端接口为HTTPS协议时,会出现跨域的问题,无法通过http通过https访问https。

2022-07-24 15:19:25 3957

原创 元素和小于等于阈值的正方形的最大边长(来源:力扣(LeetCode))

像这种求二维数组子区间和的问题,可以很容易联想到一维数组的求子数组之和的问题,通过建立累加和数组可以快速的求出一维数组中任意区间的子数组之和。二维累加和数组的大小要比原数组大1,这样方便处理越界的问题,累加的方法就是当前位置对应的原数组的数字,加上累加数组上方和左边的数字,减去左上方的数字。构建完成了累加和数组之后,就可以遍历所有的正方形区间了。由于只需要一个顶点和边长就可以唯一的确定一个正方形区间,所以可以遍历数组中的每一个位置,当作正方形区间的左上顶点,然后遍历所有不越界的边长,并快速求区间和。...

2022-07-24 14:59:20 1435 2

原创 websocket 1 分钟自动断开连接

websocket 1 分钟自动断开连接

2022-06-18 08:49:01 2080

原创 【个人笔记】突如其来的逗号——无奈啊

前几天还好好的,不知道什么时候加上了个逗号,重新翻阅了一遍代码,看了好久才找到这个小家伙(翻白眼)

2022-04-03 16:49:10 387

原创 排序算法笔记:希尔排序法

希尔排序法1、基本思想:希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。2、示意图:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EglFzrgR-1647165992201)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220313173206867.

2022-03-13 18:06:59 913

原创 排序算法笔记:选择排序法

选择排序法1、基本介绍:1、选择排序属于内部排序,在要排序的数据中按照一定规则选择出某一元素,然后按照规定交换位置,最后达到排序的结果。2、它是一种比较简单的不稳定算法,直接看思路。2、思路:1、有一个数组[ 3, 4, 1, 6],需要由小到大排序,我们先假定第一个数 “3” 是最小的,2、第一轮:然后将"3"与后面的 4、1、6 进行比较。我们得到 1<3,于是将 3与1 的位置互换得到 [ 1, 4, 3, 6]3、第二轮:将 4与剩下的 3、6 作比较,得到 3&

2022-03-13 17:19:06 138

原创 排序算法笔记:插入排序法

插入排序法1、基本思想:把n个元素看成是有1个元素有序表和n-1个元素的无序表,排序时,每次从无序表取出一个元素,然后将钙元素与有序表的元素进行比较,按照规定把其插入到有序表的适当位置,从而达到排序的目的。2、上图:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HK86azcc-1647162995234)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-2022031316

2022-03-13 17:17:40 72

原创 排序算法笔记:基数排序法,支持负数排序

基数排序法,支持负数排序1、基本介绍:1、基数排序法又称为“分配式排序”,他是通过数值的位数的值,将要排序的元素分配到相应的桶中,达到排序的结果,他是桶排序的扩展,是一种效率极高的稳定排序算法。2、他是一种以空间换时间的经典排序算法,需要大量的电脑内存3、经过测试,使用基数排序法排序几千万个数据,耗费不到1秒;但是,当排序上亿个数据时,控制台出现内存不足的错误。Exception in thread "main" java.lang.OutOfMemoryError: Java heap spac

2022-03-13 17:16:16 1741 4

原创 数据结构与算法——队列、环形队列

一、队列1、队列是一个有序列表,可以用数组或者链表来实现。2、先入先出原则3、示意图:数组模拟队列思路:1、使用数组来存储队列数据,队列数组声明:1)maxSize——队列最大容量;2)front——队列前端下标,随着数据取出变大;3)rear——队列后端下标,随着数据输入而变大。2、将数据存入队列的思路分析:1)存入数据时,尾指针rear+1,当rear=front时,队列为空;2)要考虑队列满的条件,rear<maxSize-1时,可以存入数据;rear=maxSize-1时,队

2022-02-01 04:45:30 537

原创 Nginx安装详细步骤以及前端项目独立部署(一)

部署springboot+vue项目的时候,我们一般是将打包好的前端项目放在我们后端的resources目录下,然后前后端一起打包成jar包或者war包部署上服务器的。也就是说,如果前端项目发生修改的话,那么即使后端不用修改,前后端项目也要重新放在一起重新打包、重新部署。但是,前端项目打包往往是几mb大小,而后端项目打包却要几十mb。因此,为了方便,我们可以使用Nginx独立部署前端项目。一、 Nginx安装步骤1、安装GCC、automake、pcre、zlib和openssl用rpm -qa 命

2022-01-30 23:22:29 9748 2

原创 数据结构与算法

数据结构与算法一、数据结构1、数据结构包括:线性结构与非线性结构。线性结构:(1)有顺序储存结构(数组,储存元素是连续的)和链式储存结构(链表,储存元素不一定是连续的)(2)数组、队列、链表与栈非线性结构:二维数据组、多维数组、广义表、树结构、图结构2、稀疏数组当一个数组大部分元素为0,或者为同一个值时,使用稀疏数组来保存该数组(1)记录数组有几行几列,共有多少个不同值(2)把不同值元素的行列与值记录到另外一个数组二维数组转换稀疏数组思路:1、遍历原始二维数组,得到有效数据个数su

2022-01-28 01:04:23 782

原创 花里胡哨的东西(二):IDEA集成Docker,通过CA认证方式安全链接到Docker,实现一键部署

花里胡哨的东西(一):IDEA集成Docker,通过CA认证方式安全链接到Docker,实现一键部署一、CA认证1、先在/usr/local目录下创建个文件夹,这里取名叫ca,然后进入ca文件夹中mkdir -p /usr/local/cacd /usr/local/ca2、依次执行下面的命令,需要输入密码,自由指定,两次输入保持一致并记住即可.因为等下我们要用openssl genrsa -aes256 -out ca-key.pem 40963、先输入上面设置的密码,然后根据提示分

2022-01-23 17:11:48 2860 1

原创 花里胡哨的东西(一):IDEA集成Docker,通过CA认证方式安全链接到Docker,实现一键部署

一、Docker开启远程访问1、修改配置打开配置文件vim /lib/systemd/system/docker.service然后将ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock修改为ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock2、修改保存后,重启Docker

2022-01-23 16:47:30 3247

原创 手把手教你安装docker与部署springboot(超级详细)

1、Docker由三部分组成:镜像(images)、容器(container)、仓库(reposity):虚拟化硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件。(2)通过Dockerfile文件构建镜像。(1)编写Dockerfile文件。9、DockerFile常用指令。是docker默认工作路径)4、列出所有的运行的容器。2、安装Docker。8、commit镜像。

2021-12-12 13:47:54 971

原创 后台将前端传过来的时间字符串转化为date类型并以yyyy-MM-dd HH:mm:ss格式保存在datetime类型的数据库

前端传过来的时间类型一般为字符串类型,而我们的数据库使用字段类型一般为datetime或者date类型时,后台就需要将字符串类型的时间转化为datetime或者date类型才可以保存进数据库。同时,如果前端传过来时间格式如:yyyy、yyyy-MM、yyyy-MM-dd、yyyy-MM-dd HH、yyyy-MM-dd HH:mm、yyyy-MM-dd HH:mm:ss等等多种格式的话,我们就需要将时间格式化才能够成功村进数据库了。1、创建工具类将string类型时间转为为date类型:package

2021-10-21 14:08:20 6276

原创 后台解决springboot+Vue项目整合后,刷新页面出现404的问题

后台解决springboot+Vue项目整合后,刷新页面出现404,找不到页面的问题解决方法:在配置类中添加如下,将errorpage定向到index.html,代码如下package com.ice.config;/** * @author 紫风 * @date 2021年10月11日 19:54 */import org.springframework.boot.web.server.ErrorPage;import org.springframework.boot.web.serv

2021-10-21 13:44:54 2176

原创 springBoot项目打包、部署

1、项目打包的maven插件 <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>2.5.4</version> <con

2021-09-15 17:18:42 228

原创 对虾接口 9.10

养殖场Baseurl:192.168.3.31:8080接口1、查询养殖场所有信息192.168.3.31:8080/message/farmquery参数 // 养殖场id private Integer id; // 养殖场名称 private String farmName; // 养殖场地址 private String farmAddress; // 车间数量(个) private Strin

2021-09-10 11:54:20 60

原创 Java连接远程服务器redis(笔记)

Java连接远程服务器redis遇到的坑坑一Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: Failed to create socket. at redis.clients.jedis.DefaultJedisSocketFactory.createSocket(DefaultJedisSocketFactory.java:110) at redis.clients.jedis.

2021-08-21 19:40:12 263

原创 Redis安装笔记

Redis笔记/华为云服务器连接linux安装1.官网地址:https://redis.io/download2.下载云服务器连接终端:Xshell(我用的是electerm ,下载链接)3.下载安装包//切换到/usr/local目录cd /usr/local//下载安装包wget https://download.redis.io/releases/redis-6.2.5.tar.gz4.解压安装包tar zxvf redis-6.2.5.tar.gz5.编译//进入解压

2021-08-20 23:28:08 93

原创 SpringSecurity执行流程(笔记)

spring security的简单原理:SpringSecurity有很多很多的拦截器,在执行流程里面主要有两个核心的拦截器登陆验证拦截器AuthenticationProcessingFilter资源管理拦截器AbstractSecurityInterceptor

2021-08-14 21:26:39 10779 11

原创 SpringSecurity笔记(一)

简单案例创建springboot工程、引入 spring-boot-starter-security 依赖,编写controller层,在访问接口方法时会跳转到springsecurity的默认登录页面 ,如下:默认用户名:user 登录密码在控制台可以找到web权限方案1、设置登录的用户名和密码方式一:通过配置文件#spring.security.user.name=admin#spring.security.user.password=admin方式二:通过配置类packa

2021-08-08 15:42:14 175

原创 笔记:宝塔可视化面板安装及ssm+vue项目部署(自用)

宝塔安装yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh如图:登录宝塔面板 bt default输入上面命令后即有宝塔可视化面板登录链接及用户名及密码安装环境此处省略使用 ip地址建站省略打包前后端项目1、后端:ssm项目war包放tomcat的webapps目录下解压2、前端:如打

2021-06-19 12:19:58 589

原创 云服务器部署安全组开放端口小结

建站需要放开端口有:① 21,FTP服务所开放的端口,用于上传、下载文件。② 22,SSH端口,用于通过命令行模式 远程连接 Linux 服务器或vps。③ 23,Telnet 端口,用于 Telnet 远程登录服务器。④ 25,SMTP服务所开放的端口,用于发送邮件。⑤ 80,用于HTTP服务提供访问功能。⑥ 443,用于HTTPS服务提供访问功能。⑦ 3306,MySQL数据库对外提供服务的端口。...

2021-06-08 18:59:48 1375

原创 华为云服务器linux部署项目简单步骤小结(超级详细)

前言一、在项目部署之前先安装好 远程两款远程软件1)Xshell 6Xshell可以在Windows界面下达到远程控制终端的目的2)Xftp 7Xftp是一个功能强大的SFTP、FTP 文件传输软件二、准备jdk、tomcat、mysql1、安装JDK首先检查系统是否安装了JDKjava -versionrpm -qa | grep javarpm -e --nodeps (需要卸载的相应的内容)然后安装JDK,我这里推荐安装rmp版本的JDK 16切换到该目录cd /usr/

2021-06-08 18:56:17 2778

原创 海创软件组——打卡项目接口文档

URL:http://ip:8080/项目名(可设置省略)/请求路径登录接口请求路径:/login即url:http://192.168.3.42:8080/login请求方法:POST请求参数:学号:userid密码:password响应成功管理员状态码state:0 //成功信息message:"管理员登录成功"data:admin(角色)普通用户state:0 //成功message:“葡萄用户登录”data:user响应失败state:1 //失败er

2021-05-22 15:02:41 247

原创 ssm框架整合Swagger2生成接口文档并导出离线html

Swagger2介绍为了解决前后端的及时协调,及时更改项目需求Api调用而产生的一个工具ssm框架项目源码链接链接:https://pan.baidu.com/s/155cHqPMomGwzF5N7sKDfyQ提取码:1314复制这段内容后打开百度网盘手机App,操作更方便哦使用步骤创建Maven项目搭建SSM环境导入Swagger2依赖 <!--springfox的核心jar包--> <dependency> <groupId&

2021-05-19 01:27:34 527

毕业设计-基于C51单片机的驱动交通灯仿真(资料超全)

本设计能模拟基本的交通控制系统,用红绿黄灯表示禁行,通行和等待的信号发生。本系统以单片机为核心,组成一个处理、自动控制为一身的闭环控制系统。系统硬件电路由单片机、状态灯、LED显示、驱动电路、按键等组成。

2022-10-22

空空如也

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

TA关注的人

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