- 博客(35)
- 问答 (1)
- 收藏
- 关注
原创 Mysql-MVCC读写并发控制理解分析
MVCC多版本并行控制,Read View在MVCC中的作用,Mysql如何实现读可重复与可重复读隔离级别,Read View判断条件,Read View使用案例。
2022-06-07 10:17:12
363
原创 美团leaf改造使用nacos生成workerID
使用美团leaf生成分布式唯一订单ID,去除zookeeper,使用nacos生成workerID
2022-04-09 19:30:19
2688
原创 Docker搭建Elasticsearch服务及Kibana可视化界面与IK分词插件
Docker搭建Elasticsearch服务及Kibana可视化界面与自定义分词策略① Elasticsearch1.Elaticsearch下载2.创建挂载目录3.启动容器4.测试② Kibana① Elasticsearch1.Elaticsearch下载docker下载命令:docker pull elasticsearch:7.14.22.创建挂载目录我们需要将Elasticsearch里的三个文件夹挂载在本机上 方便管理/usr/share/elasticsearch/conf
2021-12-12 16:27:03
1375
1
原创 微服务结合阿里云OSS服务实现图片上传功能-WEB前端
(本文以ElementUI的图片上传组件进行演示)若初次接触OSS,请移步了解 JAVA后端的实现逻辑 -> 微服务结合阿里云OSS服务实现图片上传功能-JAVA后端准备工作使用阿里云OSS存储服务需要配置跨域,否则上传会因为跨域问题而导致上传失败步骤如下:打开阿里云-对象存储OSS控制台,找到我们配好的Bucket点击进入即可进入以上页面。在“概览”页面下方可以找到一条 跨域访问,单击设置进入以下页面。若是初次设置,则列表是没有任何规则的,我们单击新建规则会弹出右侧“抽屉”组件。根据页
2021-11-16 20:20:10
572
原创 微服务结合阿里云OSS服务实现图片上传功能-JAVA后端
开通OSS服务进入阿里云官网,搜索【对象存储OSS】,根据页面提示完成开通即可。使用OSS服务① 创建子账户右上角头像 - 进入AccessKey管理页面 - 点击使用子账号AccessKey。通过子账号专门用于图片的上传管理功能。创建完成后,将来到子账户列表,在该页面可以看到所有的子账户信息,同时展示了刚创建好的账号的AccessKey ID(可理解为账号)和 AccessKey Secret(可理解为密码),请及时保存。PS:若开通 Open API 调用访问,请及时保存 AccessKe
2021-11-14 18:09:22
903
原创 Linux部署Nacos集群
安装MysqlNacos部署完结安装Mysql安装mysql① 使用Xftp7上传mysql安装包到/usr/local目录② 使用 tar -zxvf 安装包名 进行mysql解压③ 删除MySQL安装包 rm -rf mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz④ 对MySQL解压目录进行重命名 mv mysql-5.7.32-linux-glibc2.12-x86_64 mysql5.7.32配置MySQL环境变量① 编辑.
2021-09-09 22:45:28
375
原创 Linux部署搭建Zookeeper集群简单详细版
(本文以CentOS7系统进行演示部署)准备工作准备三台虚拟机主机名ip地址zookeeper-1192.168.32.99zookeeper-2192.168.32.100zookeeper-3192.168.32.101准备好zookeeper安装包并分别上传解压至三台服务器 可使用工具Xftp7进行上传链接: zookeeper官网压缩包下载.本次的上传地址是 /usr/local解压命令 tar -zxvf zookeeper安装包路
2021-09-02 21:32:43
353
原创 RocketMQ双Master双Slave异步复制模式集群在CentOS7-Linux系统上部署
介绍本文使用CentOS7系统进行RocketMQ双Master双Slave异步复制模式集群部署共两台虚拟机 一台ip为192.168.32.99 另一台ip为192.168.32.100 以此来模拟真实部署环境由于机器性能限制 如果读者机器性能优越 可以安装5台虚拟机分别部署启动NameServer及Broker来完成本次实验服务名部署机器IPNameServer192.168.32.99、192.168.32.100Master-a Broker192.168.32
2021-08-30 18:54:49
279
原创 过程详细内容简单包启动RocketMq在Linux下安装启动
本文使用CentOs7系统进行安装 若对linux命令不熟悉可以进入以下链接学习Linux系统命令学习笔记: 上部.Linux系统命令学习笔记: 下部.准备工作因为RocketMq是使用java编写的 所以依赖java环境在安装前 请检查一下Linux的JDK是否安装 可参照我发表的JDK安装教程进行安装快速入口: 超详细-安装JDK、tomcat、MySQL三大服务-Linux-JAVA基本环境的搭建.安装官方下载地址: 点击版本号进入下载即可.下载后使用XFTP7工具将rocketmq
2021-08-26 22:07:19
820
原创 超简单超详细的SpringSecurity鉴权源码解析
FilterSecurityInterceptorFilterSecurityInterceptor是一个用于授权的过滤器 位于security过滤链的最尾部其继承了AbstractSecurityInterceptor抽象类首先来看看FilterSecurityInterceptor的doFilter方法 由于过滤器的特性 doFilter是过滤器执行的入口public void doFilter(ServletRequest request, ServletResponse response,
2021-08-26 11:01:05
383
原创 5分钟就搞定的SpringSecurity认证流程源码解析你真的不看吗
认证流程图流程图详细说明① UsernamePasswordAuthenticationFilter对于未认证对象的解释② AuthenticationManager③ DaoAuthenticationProvider④ UserDetailsService认证流程图流程图详细说明示例代码中为了简洁 已省略部分代码的展示① UsernamePasswordAuthenticationFilterUsernamePasswordAuthenticationFilter继承了Abstract.
2021-08-25 20:51:25
241
原创 超详细-安装JDK、tomcat、MySQL三大服务-Linux-JAVA基本环境的搭建
JDK安装① 卸载本机自带jdk② 上传jdk压缩包并解压③ 配置jdk环境变量④ 注销当前用户重新登陆⑤ 编译java文件并运行tomcat安装① 上传tomcat② 解压并启动tomcat③ 开放8080端口JDK安装① 卸载本机自带jdk查看本机是否有安装jdk:java -version有则卸载,没有就跳过这一步:② 上传jdk压缩包并解压ps: 使用Xftp7工具连接虚拟机并上传本地文件1.上传jdk压缩包:2.使用tar命令解压jdk压缩包:3.此时该目录.
2021-08-11 13:50:32
371
原创 超简单超详细-Linux系统的使用 基础篇(下)
组管理① 文件/目录 所有者查看文件所有者修改文件所有者修改文件所在组其他组概念组管理用户组是用户的容器,用户能从用户组继承权限。在Linux中,每个用户必须属于一个组,不能独立于组之外。在Linux中所有文件都有 所有者、所在组、其他组的概念。① 文件/目录 所有者文件/目录的所有者一般为创建者,谁创建了谁就是该文件/目录的所有者。查看文件所有者指令: ls -ahl案例:创建一个组police,并新建一个用户tom添加进组police,使用tom新建一个文件,查看文件详情。.
2021-08-10 15:32:35
225
原创 Docker-Linux部署Seata环境
Mysql配置seata需要使用mysql存储日志信息。启动mysql:docker run --name seata-mysql -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7设置mysql密码为123456主机Mysql客户端连接虚拟机Linux的Mysql,并新建一个名为seata数据库(数据库名与seata的file.conf配置有关),运行seata的mysql脚本即可。```由于有些seata版本不自带MySQL
2021-08-06 20:31:44
889
原创 超简单超详细-Linux系统的使用 基础篇(上)
这里写目录标题Linux分区① 根分区: **/**② swap分区: swap(文件系统类型)③ boot分区: /bootLinux目录结构Linux远程访问XSHELL7SFTP5vi和vim的使用Linux分区Linux需最少包含三个分区:① 根分区: /即存放文件的分区② swap分区: swap(文件系统类型)swap分区是交换分区。是一个虚拟内存,当虚拟机物理内存不够使用时,swap分区可临时代替物理内存。分配规则为物理内存的1.5倍到2倍。③ boot分区: /bootb
2021-08-05 13:31:32
170
原创 虚拟机设置网络适配器-桥接/NAT/仅主机三种模式介绍
目录桥接模式NAT模式(网络地址转换方式仅主机模式总结该文章仅作为笔记记录桥接模式在一个教室网络环境下张三电脑ip地址为192.168.0.10李四电脑ip地址为192.168.0.20此时,李四在其电脑虚拟机中安装了一个Linux系统并使用桥接模式,则该虚拟机ip会和李四电脑主机ip在同一网段上,如Linux系统ip为192.168.0.30这种模式的优劣是优点: 因为张三、李四的电脑以及虚拟机Linux系统的ip均在同一网段上,所以张三电脑与李四电脑,张三电脑与李四电脑的虚拟机,李四电
2021-08-02 13:41:10
2206
原创 尚硅谷-使用docker-Nacos集群部署-可持久化
ps: 我使用的是docker配置nginx、nacos、mysql 步骤有点复杂 作此记录导航Mysql配置Nacos配置Nginx配置测试Mysql配置#1、下载mysql5.7docker pull mysql:5.7#2、启动mysqldocker run --name mysql5.7 -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7 --name取别名 -d后台运行 -p 把容器的3306端口与主机3306
2021-08-01 21:53:01
324
原创 Eureka Connection refused/Cannot execute request on any known server错误
今天做Eureka服务注册在Eureka Client端进行启动时 控制台一直报两个错误 内容如下1、ConnectException:Connection refused: connect2、com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server两个错误共同指向了一个问题:Eureka客户端连接不上Eureka服务端百度了很多资料 最后发现 是t
2021-07-16 23:28:18
555
原创 IDEA配置热部署DevTools
以父子工程为例第一步 引入依赖<!-- 子模块pom.xml中引入devtools工具 --><dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope
2021-07-16 14:32:41
206
原创 Vue data属性对象赋值导致的v-for失效及表单无法输入问题
问题场景:模态框中的表单通过后端数据进行动态渲染(也就是动态生成表单项)我是把数据放在下面这个触发表格的按钮点击弹出的Popover 弹出框中了 根据勾选相应的数据去循环生成如下的表单项//注意这只是一个表单项<el-form-item>//...省略部分代码<el-row :gutter="20"> <!-- 这里的item是因为嵌套太多层 当作data里一个对象就好 --> <el-col v-for="(v, valueIndex) i
2021-04-21 21:31:16
1249
原创 vue静态资源问题
背景图路径因为webpack打包后的路径会发生 所以需要使用导入或者requirehtml:<div :style="{backgroundImage:'url('+url+')',backgroundSize: '100%', height: '100%'}">js: import back from '../assets/back.jpg'; export default { name: "Login", data() {
2021-03-28 22:52:47
162
原创 vue登陆功能实现和关于Vuex存储登陆角色信息以及页面刷新数据重置、退出功能问题
需求今天在写页面登陆功能,需要实现登陆跳转首页后用户信息显示功能。问题① 登陆成功后页面刷新,vuex中存储的信息被重新初始化,导致信息丢失。② 通过localStorage.setItem()方法存储登陆信息,在用户退出后首页还是显示着用户信息。解决代码//vuex中数据初始化写法state: { //使用json.parse是因为localStorage存放的值只能是String类型 userInfo: JSON.parse(localStorage.getItem('USER
2021-02-20 22:54:29
1223
原创 Vue数据类型转换/toFixed函数使用的错误
报错图场景原因这个报错说的是我的变量goodPrice本身期望是个Number类型的,但是实际上是一个字符串类型的,所以报错了。而仔细检查后台代码错误就在这里。我为了让商品总金额显示时保留2位小数,使用了toFixed()函数,而toFix()函数的返回值是String类型,所以类型不匹配报错。解决使用转换函数等进行解决类型问题1. 转换函数/*整数*/parseInt(string)/*分数*/parseFloat(string)/*Number*/Number(val
2021-02-17 17:48:04
1721
原创 Vuex学习笔记
这里写目录标题组件之间共享数据的方式Vuex概念Vuex的基本使用1.state2.mutations定义mutations在组件中调用mutations方法修改数据方式mutations传递参数3.actionsactions定义在组件中调用actions方法修改数据方式actions传递参数4.getters定义getters在组件中调用getters方法组件之间共享数据的方式父传子:v-bind子传父:v-on兄弟组件之间:EventBus: $on - 接收数据的那个组件: $emit
2021-02-08 11:00:17
114
原创 axios反向代理proxy个人理解
使用反向代理proxy的原因首先需要了解浏览器的同源策略,同源就是说比如你VUE的项目地址是“http://localhost:8080”,而你后端项目启动地址是‘http://localhost:9999’,两者中协议(http)、域名(localhost)相同,但是端口号(:xxxx)vue是8080,而后端是9999不相同,所以产生跨域,需要使用反向代理。(若两者满足协议、域名、端口号相同则不存在跨域问题)。反向代理在我个人理解就是给你vue项目访问后端资源时给你套上的一个壳,让浏览器认为本次请求
2021-02-07 09:25:00
2384
原创 axios学习笔记
axios学习笔记axios安装axios基本使用方式get请求带参形式get请求简写方式以method属性指定请求方式,以post为例(简写看下面)post请求简写方式axios并发请求axios.all()axios.spread()axios 全局配置axios 实例创建与使用(局部配置)axios 拦截器axios 请求拦截axios 响应拦截axios在vue中的模块封装axios安装npm install axios --saveaxios基本使用方式axios(config)<
2021-02-06 17:01:34
148
原创 ClassCastException-LinkedHashMap转换类型失败案例解决方法
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2021-02-03 18:00:42
1255
1
原创 Ajax的坑
文章目录contentType与jsoncontentType与json错误写法:(但是运行没问题)<font color=red>/* 该变量数据格式为 k1=v1&k2=v2 */</font>var course_update_form_info = deco deURIComponent($("#course-update-form input").serialize(),true);/* KVtoJson方法是将k1=v1&k2=v2转换为{
2021-01-04 16:42:55
113
原创 Json对象与json字符串
JSON对象var jsonObj = {k1:“v1”,k2:“v2”};JSON字符串JSON.stringify(jsonObj);或"{‘k1’:‘v1’,‘k2’:‘v2’}";
2021-01-04 16:22:47
105
1
原创 使用Ajax发送DELETE、PUT请求方法
步骤配置HiddenHttpMethodFilter (spring3.0提供的过滤器,可将delete、put转为标准的Http请求)写ajax配置HiddenHttpMethodFilterps:springboot已经自动配置!//在web.xml中配置<filter> <filter-name>hiddenHttpMethodFilter</filter-name> <filter-class>org.springframework
2020-12-30 15:33:47
5104
空空如也
spring编程式事务在多线程下无法保证原子性,如何解决?
2022-03-25
TA创建的收藏夹 TA关注的收藏夹
TA关注的人