自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2024-10-15 Nuxt3打包部署到Nginx流程

本文仅做记录,供大家参考。

2024-10-15 18:54:57 1205

原创 2024-07-14 使用@Validated实现分组校验(快速上手)

首先是相似注解。

2024-07-14 11:32:48 1078

原创 2024-05-19 RabbitMq进阶知识

rabbitmq基本使用掌握后,需要了解的一些进阶知识

2024-05-20 17:57:43 647

原创 2024-05-19 RabbitMq整合SpringBoot快速入门

rabbitmq的基础使用示例

2024-05-19 20:20:32 1018

原创 2024-04-24 CountDownLatch控制多线程调用第三方接口

此次业务的场景如下:对接第三方接口,一组需使用多线程方式请求第三方接口,第三方接口不支持数组请求,只能拆分为单次请求,每次请求完成后,第三方会返回请求执行的结果,需要统计每次请求成功或者失败与否。

2024-04-24 15:18:38 421

原创 2024-04-16 开发中如何保证数据库缓存双写一致性

比如,当用户访问首页banner图时,访问到图片A,但是在页面请求时,管理员在修改数据库,将banner图A替换为banner图B,然后再更新缓存,此时如果更新操作没有生效,用户会读到脏数据,这是其中一种情况。延迟双删策略,即为:修改数据库之前,先删除缓存,修改完后,设置新的缓存,并设置短时过期时间,过期时间的作用是,在请求删除缓存后,写数据库期间,查询请求将数据库脏数据写入到缓存中,因此,需要将缓存设置过期时间,防止脏数据作为新的缓存被查询到。这是常规的缓存做法,下图为常用的缓存访问形式。

2024-04-16 21:43:54 171

原创 2024-04-14 网页微信扫码登录实战-问题分析

总结下工作中对接网页微信登录时,遇到的一些小问题。开发场景为:系统有微信公众号内嵌H5版本,H5版本包含公众号微信授权登录的一批老用户,网页扫码登录功能需解决老用户数据同步的问题。

2024-04-14 22:54:40 544

原创 2023-02-15 使用@Asyn注解实现简单异步调用

简单搞懂什么是java异步方法,以及一个简单的例子

2023-02-15 22:57:36 255

原创 2022-09-07 请求头referer拦截器防止csrf攻击

工作中用到的对csrf攻击的简单防范方法

2022-09-07 15:47:31 1965

原创 2022-07-26 将外部jar包导入本地maven仓库

maven将外部jar包导入到本地maven仓库

2022-07-26 11:05:08 699

原创 2022-07-26 hutool工具包部分工具使用(不定时更新)

对于在工作中使用到的hutool工具包内容进行记录,方便随时查看

2022-07-26 10:43:29 2275

原创 2022-2-08 MySql高级篇-索引以及sql优化

一、索引概述以及优缺点1、概述MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。索引的本质:索引是数据结构。你可以简单理解为“排好序的快速查找数据结构”,满足特定查找算法,这些数据结构以某种方式指向数据, 这样就可以在这些数据结构的基础上实现高级查找算法 。2、优点(1)类似大学图书馆建书目索引,提高数据检索的效率,降低 数据库的IO成本 ,这也是创建索引最主 要的原因。(2)通过创建唯一索引,可以保证数据库表中每一行 数据的唯一性 。(3)

2022-03-16 13:03:30 1756

原创 2021-11-10 谷粒学院技术总结-前台

前台系统使用基于Vue的Nuxt.js轻量级服务端渲染框架开发一、前台首页显示1、Banner

2021-11-13 22:28:09 2137

原创 2021-11-10 谷粒学院技术总结-后台

项目描述:在线教育系统,分为前台网站系统和后台运营平台。前台用户系统包括:首页、课程、名师、问答、文章。后台管理系统包括:讲师管理、课程分类管理、课程管理、统计分析、Banner管理、订单管理、权限管理等功能。后端的主要技术架构是:SpringBoot + SpringCloud + MyBatis-Plus前端的架构是: Vue.js +element-ui其他涉及到的中间件包括Redis、阿里云OSS、阿里云视频点播、业务中使用了ECharts做图表展示,..

2021-11-12 17:06:08 2826

原创 2021-09-30 商城分布式高级篇技术总结

一、Nginx1、Nginx进行反向代理需求:利用Nginx对网关进行反向代理,网关负载均衡到微服务1、 首先,编写windows的hosts文件,模拟域名映射2、修改Nginx配置文件docker中的nginx对于配置文件中的server块进行了分离存储,进入当前路径,修改服务名和路由如上,对于server_name 可以根据域名监听proxy_set_header Host $host作用:在Nginx将请求发送给网关时,网关将会根据host方式进行请.

2021-10-26 11:00:30 4375

原创 2021-09-08 SpringCloud(H版)+SpringCloud alibaba_03

一、SpringCloud Alibaba将模块置于维护模式,意味着 Spring Cloud 团队将不会再向模块添加新功能。我们将修复 block 级别的 bug 以及安全问题,我们也会考虑并审查社区的小型 pull request。新组件功能将以其他替代平代替的方式实现1、SpringCloud Alibaba能做什么服务限流降级:默认支持 Servlet、Feign、RestTemplate、Dubbo 和 RocketMQ 限流降级功能的接入,可以在运行时通过控制...

2021-09-10 14:52:04 985

原创 2021-09-07 SpringCloud(H版)+SpringCloud alibaba_02

一、GateWayCloud全家桶中有个很重要的组件就是网关,在1.x版本中都是采用的Zuul网关;但在2.x版本中,zuul的升级一直跳票,SpringCloud最后自己研发了一个网关替代Zuul,那就是SpringCloud Gateway一句话:gateway是原zuul1.x版的替代Gateway是在Spring生态系统之上构建的API网关服务,基于Spring 5,Spring Boot 2和 Project Reactor等技术。Gateway旨在提供一种简单而有效的方式来对A

2021-09-08 13:43:32 1255

原创 2021-09-04 SpringCloud(H版)+SpringCloud alibaba_01

环境要求(严格)版本要求版本选型Cloud组件停更说明一、父工程建造1、搭建父工程字符编码注解生效激活java132、父工程pom文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst...

2021-09-06 22:42:10 2586

原创 2021-09-04 SpringBoot原理

一、自动配置原理自动配好SpringMVC引入SpringMVC全套组件自动配好SpringMVC常用组件(功能)自动配好Web常见功能,如:字符编码问题SpringBoot帮我们配置好了所有web开发的常见场景 默认的包结构 主程序所在包及其下面的所有子包里面的组件都会被默认扫描进来 无需以前的包扫描配置 想要改变扫描路径,@SpringBootApplication(scanBasePackages="com.y...

2021-09-04 14:11:14 492 1

原创 2021-09-02 消息中间件RabbitMQ(整合SpringBoot)_02

环境 JDK13 maven3.8.1一、RabbitMQ整合SpringBoot建立一个SpringBoot工程,引入依赖<dependencies> <!--启动器--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifac

2021-09-04 09:01:08 494

原创 2021-09-01 消息中间件RabbitMQ_01

RabbitMQ 是一个消息中间件:它接受并转发消息。你可以把它当做一个快递站点,当你要发送一个包 裹时,你把你的包裹放到快递站,快递员最终会把你的快递送到收件人那里,按照这种逻辑 RabbitMQ 是 一个快递站,一个快递员帮你传递快件。RabbitMQ 与快递站的主要区别在于,它不处理快件而是接收, 存储和转发消息数据。一、RabbitMQ的相关概念1.1 什么是MQMQ(message queue),从字面意思上看,本质是个队列,FIFO 先入先出,只不过队列中存放的内容是...

2021-09-02 18:11:38 232

原创 2021-08-31 Docker入门

一、Docker的基本组成二、安装工作1、安装Docker环境:CentOS7 内核3.10.0-1160.el7.x86_64(uname -r即可查看 虚拟机内核版本)1、卸载旧版本yum remove docker \ docker-client \ docker-client-latest \ docker-common \ ...

2021-09-01 10:49:31 249

原创 2021-08-30 MybatisPlus代码生成器模板

fadsfdasf

2021-08-31 12:05:19 272

原创 2021/08/03 Nginx--安装配置及使用

阿里云centos镜像地址:http://mirrors.aliyun.com/centos/Nginx简介Nginx 是一个高性能的 HTTP 和反向代理服务器,特点是占有内存少,并发能 力强,事实上 nginx 的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用 nginx 网站用户有:百度、京东、新浪、网易、腾讯、淘宝等可以作为静态页面的 web 服务器,同时还支持 CGI 协议的动态语言,比如 perl、php 等。但是不支持 java。Java 程序只能通过与 to...

2021-08-05 14:49:39 1296

原创 2021/07/30 Redis配置及使用-02

一、Redis事务、锁机制定义:Redis事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。Redis事务的主要作用就是串联多个命令防止别的命令插队。1、Redis中关于事务的三个命令multi exec discard从输入Multi命令开始,输入的命令都会依次进入命令队列中,但不会执行,直到输入Exec后,Redis会将之前的命令队列中的命令依次执行。组队的过程中可以通过discard来放弃组队。..

2021-08-03 14:40:34 345

原创 2021/07/29 Redis配置及使用-01

NoSQL数据库概述NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库。NoSQL 不依赖业务逻辑方式存储,而以简单的key-value模式存储。因此大大的增加了数据库的扩展能力。不遵循SQL标准。 不支持ACID。 远超于SQL的性能。NoSQL适用场景 对数据高并发的读写 海量数据的读写 对数据高可扩展性的NoSQL不适用场景需要事务支持 基于sql的结构化查询存储,处理复杂的关系,需要即席查询。 (用不着sql的和

2021-07-30 14:57:05 1923

原创 2021/07/26 SpringBoot2 数据访问快速入门

环境:JDK13、IDEA、SpringBoot2.5.3、maven3.8.1一、数据源的自动配置1、导入jdbc场景导入启动器<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jdbc</artifactId></dependency>此外,要根.

2021-07-28 08:13:38 165

原创 2021/07/24 SpringBoot2 Web开发快速入门

环境:JDK13、IDEA、SpringBoot2.5.3、maven3.8.1一、辅助插件1、lombok可以生成get,set方法,有参无参构造器,日志等的注解,引入依赖后去在idea的插件商店中搜索lombok并安装即可<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <versi

2021-07-26 10:30:49 813

原创 2021-07-21 JSON与Ajax技术

一、JSON1、什么是JSON JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式,目前使用特别广泛。 采用完全独立于编程语言的文本格式来存储和表示数据。 简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。 在 JavaScript 语言中,一切都是对象。因此,任何JavaScript 支持的类型都可以通过 JSON...

2021-07-21 16:34:11 321 1

原创 SSM整合(Sping5+SpringMVC+Mybatis)

环境:JDK13、IDEA一、导入依赖 <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test&l

2021-07-20 18:18:58 247

原创 2020/07/16-SpringMVC

SSM:Mybatis+Spring+SpringMVC MVC三层架构什么是SSM: 模型(Model)封装了应用程序的数据和一般他们会组成的POJO。 视图(View)是负责呈现模型数据和一般它生成的HTML输出,客户端的浏览器能够解释。 控制器(Controller)负责处理用户的请求,并建立适当的模型,并把它传递给视图渲染。 ...

2021-07-20 17:44:47 105

原创 Spring整合Mybatis(mybatis-spring)

基于xml注入方式:一、准备工作,导入依赖利用maven管理依赖JDK版本:13 <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version>

2021-07-18 13:00:18 274

原创 Mybatis配置及使用

Mybatis是应用在持久层的框架

2021-07-14 08:06:05 152

原创 Spring5_02 AOP以及事务操作

目录一、什么是AOP二、底层原理三、AOP术语四、AOP操作(准备)五、AOP操作一、AspectJ注解二、AspectJ配置文件一、什么是AOP1、面向切面编程(方面),利用AOP可以对业务逻辑各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。2、通俗描述:不通过该修改源代码方式,在主干功能里面添加新功能二、底层原理1、AOP底层使用动态代理(1)有两种动态情况动态代理第一种 有接口情况,使用J.

2021-07-11 20:48:36 86

原创 Spring5_01 配置和基于注解的IOC操作

一、Spring的配置1.创建Spring5的xml配置文件<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework

2021-07-10 21:27:27 286

原创 2021-05-23 PageContext及jsp四个域对象

pageContext对象的用法详述pageContext对象 这个对象代表页面上下文,该对象主要用于访问JSP之间的共享数据。pageContext是PageContext类的实例,使用pageContext可以访问page、request、session、application范围的变量。jsp四个域对象 域对象的作用: 用于保存数据,获取数据,在不同资源之间共享数据。 域对象的方法: setAttribute(name,object) ; 保存数据方法 get..

2021-05-23 10:20:28 220

原创 2021-05-22 书城项目使用Dbutils操作数据库

BaseDao抽象类为基类,对CRUD操作进行声明增删改操作使用dbutils下的QueryRunner类对象,调用update()方法实现增删改操作,返回值为int类型1.1new一个Queryrunner对象//使用DbUtils操作数据库 private QueryRunner queryRunner = new QueryRunner();1.2调用update()方法,传入连接,sql语句,可变形参实现操作/** * update()方法用来执

2021-05-22 19:27:33 162

原创 2021-05-22 书城项目中Druid数据库连接池的配置

书城项目中Druid数据库连接池的配置1.在src下创建配置文件jdbc.properties提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参..

2021-05-22 19:14:32 206

空空如也

空空如也

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

TA关注的人

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