自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Springboot集成activiti6.0踩坑实践

一、springboot2.0集成activiti6.01.1引入jar包<dependency> <groupId>org.activiti</groupId> <artifactId>activiti-spring-boot-starter-basic</artifactId> <version>6.0.0</version></dependency>1.2配置myibatis,生成28张表

2020-08-25 11:35:50 997

原创 (5)使用mock数据做出第一个测试页面

一、引入组件1.搜索栏主要由一个搜索框和多个按钮组成2.表格直接引入element-ui里的表格组件3.分页组件同上4.弹出框(模态框)同上效果图:二、准备工作1、在侧边栏加上页面路由在/src/router/index.js里加入如下代码2、在/src/views里创建test文件夹,在该文件夹下创建index.vue文件三、实现过程1、搜索栏2、表格3、分页4、弹出框四、插入mock数据根据第三步的步骤,做出来的页面只是空有一个架子,没有任何数据。接下来

2020-06-18 16:16:32 681

原创 (4)构建第一个vue应用

一、功能介绍todoList:任务计划列表大致功能:1.输入框输入内容后,按enter键,即可把内容添加到下方列表2.可将单个todo标为完成3.可删除单个todo4.双击todo进行编辑,按esc键取消5.显示未完成的todo数量6.可筛选未完成的todo,已完成的todo7.可全部标为完成,可一次性清楚全部已完成todo,亦可一次性清楚全部todo二、实现过程1、效果图(1)什么都没添加:(2)添加2项:(3)标记一项为已完成:(4)删除:(5)双击编辑:(6

2020-06-11 15:42:13 397

原创 (3)从0开始搭建一个vue+springboot的前后端分离登陆案例

一、前端(vue.js+iview)1.新建一个vue项目,取名login使用vue init webpack login初始化一个vue项目。然后进入login目录2.初始化包结构执行npm install(需要先安装node.js,参考node官网进行安装即可)最后启动项目:npm run dev打开浏览器,输入http://localhost:8080进行访问,看到如下页面表示启动成功。3.安装iview将刚才的项目停止(Ctrl+C,然后按Y确定),执行npm ins

2020-06-04 15:07:46 2701

原创 (2)vue-element-admin登录流程梳理

一、准备工作项目模板采用vue-element-admin,使用vue和element-ui实现1.目录结构permission.js登录流程中,permission.js是最重要的环节,这个文件是路由的全局钩子(beforeEach和afterEach),全局钩子的意思就是每次跳转的时候可以根据情况进行拦截,不让他跳转。使用场景就是有些页面需要登录才能访问,这时候就可以在beforeEach中校验用户登录状态来进行拦截。utils/auth.js设置token到cookie中的操作封装。r

2020-05-28 09:17:35 9517

原创 (1)vue入门--目录讲解

项目使用vue-cli创建一、vue程序启动加载过程1.程序首先加载main.js2.main.js创建一个vue实例,并把实例挂载到id=app上,这个id=app会映射到app.vue(创建)3.启动时,首页加载index.html,根据id=app找到app.vue(使用)4.在app.vue里,根据router-view渲染页面二、目录结构解析bulid:项目打包相关config:项目的配置目录node_moudules:npm install时安装的依赖src:开发目录.

2020-05-26 15:52:47 315

原创 如何制作一个U盘启动盘并进行装机?

一、概述工作生活中,我们难免会遇到重做系统的情况,如果我们不会制作启动盘,那只能去电脑维修点花钱重做系统。一来不方便,二来太费钱。所以今天教大家如何制作U盘启动盘二、制作步骤1、准备一个空的8G左右的U盘,用Rufus软件,将镜像文件刷到U盘里。这样,一个U盘启动盘就制作好了2、在电脑上插上做好的启动盘,进入Bios,选择U盘引导3、从U盘引导之后,根据引导,一步步设置即可。格式化C盘。别的没什么特别要注意的。...

2020-05-14 11:51:57 732

原创 nginx 动静分离、rewrite

#了解location1、location 区段location 是在 server 块中配置,根据不同的 URI 使用不同的配置,来处理不同的请求。location 是有顺序的,会被第一个匹配的 location 处理。先后顺序以及基本语法如下:location [=|~|~*|^~|@] pattern{……}2、location 前缀含义= 表示精确匹配,优先级也是...

2019-12-28 11:36:22 182

原创 open-falcon架构介绍

open-falcon整体架构下图是open-falcon的整体架构,模块比较多,可以看完整篇文章介绍再回头看这个架构图。image简化版架构图简化的falcon基本工作流程可描述如下图所示:image下面就根据这个简化版流程图,介绍下open-falcon到底是怎么工作的。agent功能:数据采集上报,部署在每台物理机上。数据到底是什么样的?{ ...

2019-12-28 11:23:39 74

原创 深入理解mysql索引

一、MySQL索引MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引。MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。提取句子主干,就可以得到索引的本质:索引是数据结构。...

2019-12-26 09:25:16 143

原创 mysql读写分离

1.读写分离的思路1.1 原理顾名思义,读写分离基本的原理是让主数据库处理事务性增、改、删操作,而从数据库处理查询操作。数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库。###1.2 实现方式实现方式有很多,但是不外乎分为内部配置和使用中间件,下面列举几个常用的方法:1.配置多个数据源,根据业务需求访问不同的数据,指定对应的策略:增加,删除,修改操作访问对应数据,查询访问对应...

2019-12-24 10:06:46 793

原创 mysql慢查询日志

前提环境:创库:slow_testcreate database slow_test;选定库:use slow_test;创表comic:create table comic(comic_id int primary key auto_increment,name char(20),pen_name char(20),cover char(40));delimiter //cr...

2019-12-24 10:06:01 153

原创 功能比Chrome更完善的 Kiwi

一、Kiwi简介电脑版Google浏览器多么强大,相信不用我多说了吧。手机端虽然也有Chrome,但不支持扩展程序这一强大功能。Kiwi Browser 是一款基于 Chromium 二次开发的浏览器,由 XDA 上的开发者 arnaud42 所维护。Kiwi Browser 的界面设计和操作逻辑与 Chrome 基本一致,而我自己很喜欢这样的设定,因为 Chrome 的界面和交互已经足够好...

2019-12-17 22:18:59 2881 2

原创 深入理解java GC 机制

一、前言Java的GC(垃圾回收)机制是区别C++的一个重要特征。C++需要开发者在代码中实现垃圾回收逻辑,但在Java中,JVM帮开发者代劳了。我们只有理解了GC机制,才能编写出高性能的应用。要想理解GC,就要先理解JVM内存管理机制。这样才能知道回收哪些对象,什么时候回收以及怎么回收二、JVM根据JVM规范,JVM把内存划分成了如下几个区域:1.方法区(Method Area)2.堆...

2019-12-16 22:17:00 633

原创 mysql备份与恢复

mysql数据库备份与恢复一、为什么要备份灾难恢复:硬件故障、软件故障、自然灾害、黑客攻击、误操作测试等数据丢失场景备份注意要点能容忍最多丢失多少数据恢复数据需要在多长时间内完成需要恢复哪些数据还原要点做还原测试,用于测试备份的可用性还原演练二、备份类型备份类型:完全备份,部分备份完全备份:整个数据集部分备份:只备份数据子集,如部分库或表完全备份、增量...

2019-12-10 22:08:14 172

原创 mysql主从复制(AB复制)

一、为什么要做主从复制1、在业务复杂的系统中,有这么一个情景,有一句sql语句需要锁表,导致暂时不能使用读的服务,那么就很影响运行中的业务,使用主从复制,让主库负责写,从库负责读,这样,即使主库出现了锁表的情景,通过读从库也可以保证业务的正常运行。2、做数据的热备,主库宕机后能够及时替换主库,保证业务可用性。3、架构的扩展。业务量越来越大,I/O访问频率过高,单机无法满足,此时做多库的存储,...

2019-12-10 11:50:20 177

原创 mysql优化

mysql优化主要分为以下四大方面:设计:存储引擎,字段类型,范式与逆范式功能:索引,缓存,分区分表。架构:主从复制,读写分离,负载均衡。合理SQL:测试,经验。思维导图一、存储引擎在创建表的时候我们使用sql语句,Create table tableName () engine=myisam|innodb;这里就指明了存储引擎是myisam还是innodb。存储引擎是一...

2019-12-10 11:49:35 385

原创 mysql中间件汇总

一、写在前面mysql作为互联网公司都会用到的数据库,在使用过程中。会用主从复制来提高性能。会用分库分表解决写入问题。以下介绍mysql中间件的一些实现方案二、AtlasAtlas时 360 公司开发维护的一个基于MySQL协议的数据中间层项目。2.1 atlas架构Atlas是一个位于应用程序与MySQL之间中间件。在后端DB看来,Atlas相当于连接它的客户端,在前端应用看来,At...

2019-12-09 21:07:58 13916

原创 初识k8s

了解Linux中的六种namespacelinux实现了mount、UTS、IPC、network、pid、user这六种namespace。一个“容器”,实际上是一个由 Linux Namespace、Linux Cgroups 和 rootfs 三种技术构建出来的进程的隔离环境从这个结构中不难看出,一个正在运行的 Linux 容器,其实可以被“一分为二”地看待:1一组联合挂载在 ...

2019-12-09 20:38:59 381

原创 k8s常见命令

kubernetes用到的一些命令kubectl管理工具以及命令image基础命令:create,delete,get,run,expose,set,explain,edit。create命令:根据文件或者输入来创建资源# 创建Deployment和Service资源kubectl create -f javak8s-deployment.yamlkubectl creat...

2019-12-09 20:35:36 40

原创 k8s常见命令合集

kubernetes用到的一些命令kubectl管理工具以及命令基础命令:create,delete,get,run,expose,set,explain,edit。create命令:根据文件或者输入来创建资源# 创建Deployment和Service资源kubectl create -f javak8s-deployment.yamlkubectl create -f javak...

2019-12-09 14:54:07 1587

原创 3台kvm 使用kubeadm搭建k8s集群

参考文档(k8s中文社区):https://www.kubernetes.org.cn/5846.html一、环境准备1、3台kvm3台 2核2G 的 kvmCent OS 7.62、安装后的软件版本为Kubernetes v1.16.0calico 3.8.2nginx-ingress 1.5.5Docker 18.09.7二、开始搭建3台虚拟机里,一台是 master...

2019-12-03 20:56:08 1023

原创 python面试基础知识(四) 网络部分

111

2019-12-01 19:04:42 336

原创 Python多线程与多进程

一、python多线程python中提供标准库threading用于对线程的支持1、创建线程python中有两种方式实现线程:1.实例化一个threading.Thread的对象,并传入一个初始化函数对象(initial function )作为线程执行的入口;import threadingimport timedef tstart(arg):time.sleep(0.5)...

2019-11-30 22:07:20 234

原创 WSGI,uwsgi, uWSGI理解

WSGI全称:Web Server Gateway Interface 翻译过来就是Web服务器网关接口;WSGI是一个规范协议,定义了Web服务器如何与Python应用程序进行交互,使得使用Python写的Web应用程序可以和Web服务器对接起来。在WSGI中定义了两个角色,Web服务器端称为server或者gateway,应用程序端称为application或者framework(因为WS...

2019-11-29 09:24:17 616

原创 redis 集群部署

部署方式:docker-compose以此镜像启动容器编写docker-compose文件启动六个容器。三个主,三个从vi docker-compose.ymlversion: "3.2"services: redis-clu-m1: image: redis-ruby container_name: "redis-clu-m1" expose...

2019-11-26 20:47:23 146

原创 Python深浅拷贝的区别

一、可变对象与不可变对象可变对象:一个对象在不改变其所指向的地址的前提下,可已修改地址中的值不可变对象:一个对象的地址是不能修改的,如果修改了这个对象的值,他所指向的地址也会改变常见不可变元素包含:int,float,complex,long,str,unicode,tuple二、深浅拷贝注意点:可变元素的拷贝深浅拷贝看上去都会生成一个相同的值,但是拷贝出来的地址不同。浅拷贝...

2019-11-26 20:41:04 1072

原创 部署redis集群报错:ERR Slot 0 is already busy (Redis::CommandError)

一、报错信息:ERR Slot 0 is already busy (Redis::CommandError)二、原因分析:这是由于之前搭建集群是,slot 被占用了,清理一下之前数据,重启就可三、解决:redis-cli#执行如下两条命令即可flushallcluster-reset再次启动:问题解决!!...

2019-11-26 17:57:32 1569

原创 redis面试全面总结

一、常见应用场景秒杀的库存扣减,APP首页的访问流量高峰二、与memecache的区别1、集群:redis 和memcached都支持集群2、数据类型Redis支持的数据类型要丰富得多,Redis不仅仅支持简单的k/v类型的数据,同时还提供String,List,Set,Hash,Sorted Set,pub/sub,Transactions数据结构的存储。其中Set是HashMap...

2019-11-25 17:48:08 245

原创 永久提升Chrome下载速度

一、写在前面大家平时下载东西基本都是迅雷,aria2,IDM之类的下载器。为什么呢?速度快呗。为什么同一个链接地址,浏览器和下载器的下载速度会茶这么多呢,原因在于下载器用的是多线程,而Chrome用的是单线程。所以,浏览器要想实现提速,就得采用多线程的下载方式。Chrome已经支持了,只是我们不知道。二、实现1、打开Chrome后,在地址栏输入chrome://flags2、在搜索栏...

2019-11-22 11:04:27 6739

原创 ELK-Elasticsearch 集群部署(3个Elasticsearch)

一、docker-compose.ymlversion: "3.2"services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:7.4.2 container_name: elasticsearch environment: # - dis...

2019-11-21 18:01:20 518

原创 ELK部署 (docker-compose方式)

ELK的部署方式有很多种,这里我介绍一种简单的部署方式:docker-compose一、docker-compose.ymlversion: "3.2"services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:7.4.2 container_name: elast...

2019-11-20 20:49:16 5429 3

原创 ELK (集中式日志管理)

一、ELK协议栈介绍及体系结构ELK其实并不是一款软件,而是一整套解决方案,是三个软件产品的首字母缩写,Elasticsearch,Logstash 和 Kibana。这三款软件都是开源软件,通常是配合使用,而且又先后归于 Elastic.co 公司名下,故被简称为ELK协议栈二、ELK 之 Elasticsearch简介Elasticsearch 是一个实时的分布式搜索和分析引擎,它可以...

2019-11-20 17:23:57 413

原创 gitlab服务器报错502,解决方法

一、报错:环境:docker-compose 起的 gitlab 服务器报错截图:二、原因分析:这个错出现过两次,每次原因都不一样。我们挨个分析。1、由于 docker-compose up 的时候挂载的本地有原来的数据,导致报错2、由于权限问题,gitlab 服务器 /var/log/gitlab权限不足导致报错三、解决:第一种原因:将本地 gitlab 目录下的 logs ,...

2019-11-19 09:28:35 2195 2

原创 免密登陆和ssh-copy-id命令解析

免密登录,需要先在本机生成公钥,然后将公钥拷贝到远程主机,拷贝的过程,既可以手动(在远程主机根目录下创建.ssh目录,然后将公钥存入该目录下authorized_keys文件中即可),也可以直接命令操作ssh-copy-id,这个操作做完了,即可免密登录远程主机。仔细回想这个过程,先在本机生成公钥,然后将公钥复制到远程主机,接着就可以免密登录远程主机,这个过程似乎与我们想想的不太一样,我们可能希...

2019-11-19 08:59:00 8799

原创 python面试基础知识(三) Django部分

1、Django请求的生命周期 a. wsgi, 创建socket服务端,用于接收用户请求并对请求进行初次封装。 b. 中间件,对所有请求到来之前,响应之前定制一些操作。 c. 路由匹配,在url和视图函数对应关系中,根据当前请求url找到相应的函数。 d. 执行视图函数,业务处理【通过ORM去数据库中获取数据,再去拿到模板,然后将数据和模板进行渲染】e. 再经过所有中间件。 f. 通...

2019-11-17 18:25:04 1036 1

原创 python面试基础知识(二)

24、合并两个元组到字典a = ("liuchuanfeng", "cangjingkong")b = (20,18)# print(dict(zip(a,b)))25、元组是不可变类型,列表是可变类型# 元组# a = (1,2,3,[4,5,6,7],8)# a[3] = 2# print(a) 报错# 列表a = (1,2,3,[4,5,6,7],8)a[3][2...

2019-11-16 20:02:22 1616 1

原创 解决无法mysqldump,提示索引用户为免密登录的报错

报错如下:mysqldump: Got error: 1449: The user specified as a definer ('skip-grants user'@'skip-grants host') does not exist when using LOCK TABLES首先查看库中存在哪些视图:show table status where comment='view...

2019-11-16 17:05:59 763 2

原创 CICD创建一个简单的maven任务

搭建环境搭建maven环境Linux的alpine版的镜像adminie_jenkins_1中apk add wgetwget http://mirror.bit.edu.cn/apache/maven/maven-3/3.6.2/binaries/apache-maven-3.6.2-bin.tar.gztar -xf apache-maven-3.6.2-bin.tar.gz -C...

2019-11-16 11:59:45 401

原创 解决jenkins:Publish over SSH报错

一、报错jenkins:Publish over SSH 私钥无效报错二、原因由于最新的密钥生成方式ssh-keygen的算法太新,Publish over SSH插件比较旧,无法识别最新的密钥导致的。也就是算法不一致导致的三、解决使用旧的方式生成密钥对ssh-keygen -t rsa -b 4096 -m PEM将私钥拷贝过来点击Test Configration,显示su...

2019-11-15 11:29:21 1425

空空如也

空空如也

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

TA关注的人

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