- 博客(140)
- 资源 (6)
- 收藏
- 关注

原创 SpringCloudAlibaba之Sentinel框架
一、Sentinel 介绍随着微服务的流行,服务和服务之间的稳定性变得越来越重要。 https://github.com/alibaba/Sentinel[Sentinel] 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。https://github.com/alibaba/Sentinel[Sentinel] 具有以下特征:丰富的应用场景: Sentine...
2020-02-06 15:59:27
1975

原创 Nacos整合SpringCloud(配置中心、注册中心)
1.什么是Nacos?Nacos 是阿里巴巴开源的一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。2.Nacos配置中心整合2.1 启动 Nacos Server 并添加配置1.下载地址:直接下载:Nacos Server 下载页源码构建:Github 项目页面2.启动Linux/Unix/Mac 操作系统,执行命令 sh startup.sh -m s...
2019-06-03 12:14:27
232635
17
原创 史上功能最全的 Java 权限认证框架!
来源:GitHub上sa-token 项目今天给大家推荐的这个开源项目超级棒,可能是史上功能最全的 Java 权限认证框架!这个开源项目就是:sa-token 。Sa-Token是什么?sa-token是一个轻量级Java权限认证框架,主要解决:登录认证、权限认证、Session会话、单点登录、OAuth2.0 等一系列权限相关问题框架针对踢人下线、自动续签、前后台分离、分布式会话……等常见业务进行N多适配,通过sa-token,你可以以一种极简的方式实现系统的权限认证部分与其它权限认证框.
2021-07-13 10:59:06
1342
转载 熟练掌握 MyBatis-Plus,一篇就够!
mybatis-plus是一款Mybatis增强工具,用于简化开发,提高效率。下文使用缩写mp来简化表示mybatis-plus,本文主要介绍mp搭配SpringBoot的使用。注:本文使用的mp版本是当前最新的3.4.2,早期版本的差异请自行查阅文档官方网站:baomidou.com/快速入门创建一个SpringBoot项目导入依赖<!-- pom.xml --><?xml version="1.0" encoding="UTF-8"?><projec
2021-07-01 16:55:20
898
原创 2021 迈步向前
从工作到现在(三年半),一直都没有写过关于自己的一篇博文,想了想,还是有必要给2020年画上一个完美的句号。2020 展望回首2020而言,发什么了太多的事情,留下了太多的遗憾。可能自己还没反应过来,这一年就在指缝间溜走了。一月份,对于我最大的印象就是出差、疫情,那时候还在杨凌出差中,恶劣的办公条件,现在想起来都瑟瑟发抖。一直到21号,我踏上了了回家的列车。迎面而来的就是关于新冠状病毒的消息,我记得也是大年三十及之后才真正的引起全国人民的注意,一下子全国进入了警戒响应状态。也是自己毕生有所认知以来,第
2021-01-04 17:30:15
496
6
原创 如何使用canal解决mysql与redis数据一致性问题?
问题;如果数据库数据发生了变化,如何将变化的数据同步给redis?1.直接删除redis缓存,见代码2.基于MQ形式实现同步(略)3.基于canal订阅binlog二进制文件,通过mq实现异步同步基于canal订阅binlog同步原理:1.canal服务器伪装成mysql的从节点,订阅mysql 的binlog二进制文件2.当mysql主节点binlog发生改变时,会通知给canal服务器端3.canal服务器将改变的数据转换成json数据发送canal客户端4.在canal客户端中
2020-12-21 11:32:51
1565
原创 如何使用Maven插件构建Docker镜像?
本文主要介绍如何使用Maven插件将SpringBoot应用打包为Docker镜像,并上传到私有镜像仓库Docker Registry的过程。Docker Registry 2.0搭建docker run -d -p 5000:5000 --restart=always --name registry2 registry:2如果遇到镜像下载不下来的情况,需要修改 /etc/docker/daemon.json 文件并添加上 registry-mirrors 键值,然后重启docker服务:{.
2020-12-04 18:13:31
459
原创 React脚手架之NextJs
1.Next.js简介Next.js 是一个轻量级的 React 服务端渲染应用框架。它的优点:完善的React项目架构,搭建轻松。比如:Webpack配置,服务器启动,路由配置,缓存能力,这些在它内部已经完善的为我们搭建完成了。自带数据同步策略,解决服务端渲染最大难点。把服务端渲染好的数据,拿到客户端重用,这个在没有框架的时候,是非常复杂和困难的。有了Next.js,它为我们提供了非常好的解决方法,让我们轻松的就可以实现这些步骤。丰富的插件帮开发人员增加各种功能。每个项目的需求都是不一样的
2020-11-12 17:38:36
1480
原创 React.js之React Hooks使用
仅供个人学习使用,源码请见文件末尾1.React Hooks简介React Hooks就是用函数的形式代替原来的继承类的形式,并且使用预函数的形式管理state,有Hooks可以不再使用类的形式定义组件了。这时候你的认知也要发生变化了,原来把组件分为有状态组件和无状态组件,有状态组件用类的形式声明,无状态组件用函数的形式声明。那现在所有的组件都可以用函数来声明了。2.useState多状态声明useState是react自带的一个hook函数,它的作用是用来声明状态变量。const [ c
2020-11-12 09:53:41
817
原创 React.js之router路由使用
1.React router安装及环境搭建cnpm install -g create-react-appcreate-react-app demo10cd demo10yarn start## 安装React routercnpm install --save react-router-dom2.编写一个简单的路由程序在src下创建一个AppRouter.js文件,然后写入以下代码。import React from "react";import { BrowserRouter as
2020-11-04 09:54:42
1138
原创 React-redux组件使用
1.React-redux介绍及安装React-Redux这是一个React生态中常用组件,它可以简化Redux流程(需要注意的是概念:React、Redux、React-redux是三个不同的东西)1.1 项目初始化create-react-app demo09-React-reduxcd demo09-React-reduxnpm start安装完成后,删除一些没有必要的样式和代码,在/src目录下,只留一个index.js文件,其余的全部删除。import React from 're
2020-10-29 09:43:15
609
原创 Redux中间件-thunk和saga
1.Redux-thunk中间件1.1 安装及配置Redux-thunk并不在Redux基础组件中,需要进行安装。npm install --save redux-thunk在/store/index.js中引入redux-thunck。1.引入applyMiddleware,如果你要使用中间件,就必须在redux中引入applyMiddleware.import { createStore , applyMiddleware } from 'redux' 2.引入redux-thunk库
2020-10-29 09:39:56
323
原创 Redux案例-基于Ant Design React
1.Ant Design介绍和环境初始化Ant Design是一套面向企业级开发的UI框架,视觉和动效作的很好。阿里开源的一套UI框架,它不只支持React,还有ng和Vue的版本,我认为不论你的前端框架用什么,Ant Design都是一个不错的选择。习惯性把AntDesign简称为antd。官网地址:https://ant.design/index-cn2.项目初始化#安装脚手架工具cnpm install -g create-react-appcreate-react-app demo0
2020-10-13 22:56:19
657
原创 如何理解Redux的工作流程?
1.Redux介绍Redux是一个用来管理管理数据状态和UI状态的JavaScript应用工具(数据流框架)。随着JavaScript单页应用(SPA)开发日趋复杂,JavaScript需要管理比任何时候都要多的state(状态),Redux就是降低管理难度的。(Redux支持React,Angular、jQuery甚至纯JavaScript)从以上图可以看出,Redux可以将数据先放到数据仓库(store-公用状态存储空间)中,在store中可以统一管理状态,我们用到什么组件,就直接去store中寻
2020-10-13 22:54:29
455
原创 Java实现发送邮件,附件名过长的坑儿 utf-8?Q
问题:在实现发送邮件时,收到的文件附件名带有UTF-8?Q字样,如下图:错误原因:经过多次尝试排查,发现是附件名过长导致的问题。参数mail.mime.splitlongparameters 在linux下会默认为 true,附件名过长,就会程序被截断。解决方法:在发送邮件方法之前,加入一下代码即可解决。//解决附件文件名过长问题System.setProperty("mail.mime.splitlongparameters","false");...
2020-10-10 11:26:29
1011
原创 React高级-如何理解React的生命周期
1.React生命周期图。//校验传递值SmailSmailGirlItem.propTypes = { //content:'默认值' content: PropTypes.str
2020-10-09 20:12:41
430
原创 React进阶-单项数据流和其他
1.单项数据流React的特性中有一个概念叫做“单项数据流”,以以上练习的Demo讲解。比如我们在父组件中可以直接把this.state.list传递过来。<ul> { this.state.list.map((item,index)=>{ return ( <SmailSmailGirl key={index+item} cont
2020-10-09 20:11:37
283
原创 React进阶-组件拆分及父子间传值
1.新建服务菜单组件在src目录下,新建一个组件SmailSmailGirlItem.js。import React, { Component } from 'react';class SmailSmailGirlItem extends Component { render() { return ( <div>小姐姐</div> ); }}export default SmailSmailG
2020-10-09 20:10:03
226
原创 React进阶-JSX防踩坑的几个地方
1.JSX代码注释我第一次写JSX的注释,是直接像以前js注释写的,当然这样写是不对的。<Fragment> //第一次写注释,这个是错误的 <div> <input value={this.state.inputValue} onChange={this.inputChange.bind(this)} /> <button onClick={this.addList.bind(this)}> 增加服务 &l
2020-10-08 19:47:03
585
原创 React实例1-实现删除操作
1.组件下标传递传递下标就要有事件产生,先来绑定一个双击事件。我们在li标签上绑定一个onClick事件,执行删除操作。<ul> { this.state.list.map((item, index) => { return <li onClick={this.deleteItem.bind(this, index)} key={index + item}>{item}{index}</li> })
2020-10-08 19:45:34
2662
原创 React实例1-列表渲染和按钮添加操作
1.渲染服务列表现在的列表是写死的两个li标签,倘若我们需要将其变成动态的,那我们就需要把这个列表进行数据化,然后通过js代码循环到页面上。constructor(props){ super(props) //调用父类的构造函数,固定写法 this.state={ inputValue:'' , //----------主要 代码--------start list:['推拿','敲背'] //----------主
2020-10-08 18:06:03
1609
原创 React实例1-响应式原理和数据绑定
1.响应式数据绑定React不建议你直接操作DOM元素,而是要通过数据进行驱动,改变界面中的效果。React会根据数据的变化,自动的帮助你完成界面的改变。所以在写React代码时,你无需关注DOM相关的操作,只需要关注数据的操作就够了。现在的需求是增加小姐姐的服务项,就需要先定义数据。数据定义在SmailSmailGirl组件中的构造函数里constructor。//js的构造函数,由于其他任何函数执行constructor(props){ super(props) //调用父类的构造函数,
2020-10-08 18:05:01
3069
原创 React实例1-新建组件
1.新建组件在src目录下新建一个文件SmailSmailGirl.js文件,然后建立一个基本的HTML结构。import React,{Component} from 'react'class SmailSmailGirl extends Component{ render(){ return ( <div> <div><input /> <button> 增加服务 </button>
2020-10-08 18:03:55
172
原创 Reactjs项目构建
1.通过node环境创建react工程插件npm install -g create-react-app2.指定目录创建React工程create-react-app <工程名>3.进入目录启动项目cd <工程根目录>yarn start4.创建第一个组件创建welcome.jsimport React, {Component} from 'react';class Welcome extends Component { render() {
2020-09-16 10:37:50
297
原创 rancher安装kubernetes报错[etcd] Failed to bring up Etcd Plane: [etcd] Etcd Cluster is not healthy
原因:个人认为可能服务器上存在以前的k8s内容,通过rancher安装时,并没有覆盖以前的,导致一直报错解决方法:删除k8s相关文件以及网络,挂载等。在每个集群中的主机节点执行该命令,然后重新构建rancher并安装k8s集群。df -h|grep kubelet |awk -F % '{print $2}'|xargs umountsudo rm /var/lib/kubelet/* -rfsudo rm /etc/kubernetes/* -rfsudo rm /etc/cni/* -r
2020-07-08 14:06:32
1303
原创 Postgresql12 安装及设置远程访问
1.安装(CentOS 7)#拉取rp包,并installyum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rp#install pg服务yum install postgresql12-server#初始化db/usr/pgsql-12/bin/postgresql-12-setup initdb#启动服务systemct
2020-07-06 17:22:24
3212
原创 递归实现:java多组List所有的排列组合
private static <T> List<List<T>> getDescartes(List<List<T>> list) { List<List<T>> returnList = new ArrayList<>(); descartesRecursive(l...
2020-03-18 11:26:04
2469
1
原创 Swagger整合Gateway网关
1.添加maven依赖 <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</arti...
2020-03-06 00:15:31
5798
4
原创 Kafka集群设计原理
Kafka集群设计原理Apache Kafka是分布式发布-订阅消息系统,在 kafka官网上对 kafka 的定义:一个分布式发布-订阅消息传递系统。 它最初由LinkedIn公司开发,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。Kafka是一种快速、可扩展的、设计内在就是分布式的,分区的和可复制的提交日志服务。Kafka并没有遵循JMS规范,它只提供了发布和...
2020-02-12 21:38:07
755
原创 Windows上安装kafka:找不到或无法加载主类 Files\Java\jdk1.8.1_80\lib;C:\Program
错误:找不到或无法加载主类 Files\Java\jdk1.7.0_80\lib;C:\Program解决方式在kafka安装目录中找到bin\windows目录中的kafka-run-class.bat找到为%CLASSPATH%加上双引号修改前:set COMMAND=%JAVA% %KAFKA_HEAP_OPTS% %KAFKA_JVM_PERFORMANCE_OPTS% %KAF...
2020-02-12 03:41:15
338
原创 nginx.conf配置信息全详解
##代码块中的events、http、server、location、upstream等都是块配置项####块配置项可以嵌套。内层块直接继承外层快,例如:server块里的任意配置都是基于http块里的已有配置的## ##Nginx worker进程运行的用户及用户组 #语法:user username[groupname] 默认:user nobody nobody#user用于...
2020-02-10 20:17:24
938
原创 Podman 新的一代Linux容器工具
一、简介Podman是一个开源项目,可在大多数Linux平台上使用并开源在GitHub上。Podman是一个无守护进程的容器引擎,用于在Linux系统上开发,管理和运行Open Container Initiative(OCI)容器和容器镜像。Podman提供了一个与Docker兼容的命令行前端,它可以简单地作为Docker cli,简单地说你可以直接添加别名:alias docker = p...
2019-12-21 23:36:39
2568
原创 docker如何安装oracle12c
#拉取镜像docker pull sath89/oracle-12c#创建实例docker run -d --name oracle -p 8080:8080 -p 1521:1521 -v $PWD/data:/mnt -e TZ=Asia/Shanghai sath89/oracle-12c## port: 1521,sid: xe,username: system,password:...
2019-12-18 21:30:30
483
原创 RabbitMQ消息中间件使用
RabitMQ消息中间件一、介绍RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件),RabbitMQ服务器是用Erlang语言编写的。 RabitMQ官方网站1.点对点模式(简单)2.工作模式 (一对多)3.发布订阅4.路由模式5.topic模式(通配符)6.RPC模式7.发布者确定模式二、安装1.下载并安装erlang,下载...
2019-12-15 18:29:30
476
原创 Kubernetes简单集群部署(k8s)
kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具。这个工具能通过两条指令完成一个kubernetes集群的部署:创建一个 Master 节点kubeadm init将一个 Node 节点加入到当前集群中kubeadm join <Master节点的IP和端口>1.安装要求在开始之前,部署Kubernetes集群机器需要满足以下几个条件:...
2019-12-06 09:46:48
334
原创 Redis集群高可用
本文使用的是redis5.0.7版本一、主从复制单个Redis如果因为某种原因宕机的话,可能会导致Redis服务不可用,可以使用主从复制实现一主多从,主节点负责写的操作,从节点负责读的操作,主节点会定期将数据同步到从节点中,保证数据一致性的问题。1.配置##在需在从(一或多个)节点redis.conf文件中配置以下slaveof 192.168.75.128 6379 ##主节点i...
2019-12-02 17:45:22
342
原创 Redis如何实现分布式锁
一、Redis分布式锁实现思路Redis实现分布式锁基于SetNx命令,因为在redis中key是保证是唯一的。所以当多个线程同时创建setNx时,只要谁能够创建成功谁就能获取到锁。Set命令:每次set时,可以修改原来旧值;SetNx命令:每次SetNx检查key是否已经存在,如果已经存在的话就不会执行任何操作,返回0;反之,新增该key。获取锁的时候:当多个线程同时创建SetNx k...
2019-12-02 10:50:34
1333
原创 Redis自动过期机制
实现需求:处理订单过期自动取消,比如下单30分钟未支付自动更改订单状态实现方案:使用Redis Key自动过期出发事件通知使用定时任务30分钟后检查按照每分钟轮训检查CREATE TABLE `order_number` ( `id` int(11) NOT NULL AUTO_INCREMENT, `order_name` varchar(255) DEFAUL...
2019-11-21 17:35:18
1254
ECMAScript6入门优化版.pdf
2021-01-09
myeclipse2017ci10破解包
2018-05-28
myeclipse破解包一部分
2018-05-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人