自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 资源 (1)
  • 收藏
  • 关注

原创 常见的Linux的命令

1、线上查询及帮助命令(1)man:查看命令帮助,命令的词典,更复杂的还有info,但不常用。(2)help:查看Linux内置命令的帮助,比如cd命令。2、文件和目录操作命令(1)ls:全拼list,功能是列出目录的内容及其内容属性信息。(2)cd:全拼change directory,功能是从当前工作目录切换到指定的工作目录。(3)cp:全拼copy,其功能为复制文件或目录。(4)find:查找的意思,用于查找目录及目录下的文件。(5)mkdir:全拼make directories,其

2020-10-24 16:36:42 160

原创 OpenCV学习

1、 创建和显示窗口(1)创建窗口:namedWindow()(2)展示窗口:imshow()(3)销毁所有窗口:destoryAllWindows()(4)设置窗口:resizeWindow()(5)设置窗口等待时间:waitKey(1000)->单位毫秒,0表示永久展示 此函数用于接收事件import cv2# 创建窗口cv2.namedWindow('new',cv2.WINDOW_NORMAL)# 设置窗口大小cv2.resizeWindow('new',640

2023-04-03 20:15:02 352

原创 Vue基础学习

一、基本指令1、v-once该指令无需跟任何表达式该指令表示元素和组件只渲染一次,不会随着数据的改变而改变示例:<div id="app"> <h2 v-once>{{message}}</h2></div><script src="../js/vue.js"></script><script> const app= new Vue({ el: '#app', data: {

2021-07-30 17:52:40 501

原创 GBase 8a MPP Cluster SQL基础

一、SQL语言基础知识1、SQL语句根据其可实现功能,分为以下几类:1.1 DDL语句用来二、GBase 8a SQLy语法规范三、GBase 8a 支持的数据类型

2021-07-22 10:18:11 3870 1

原创 多线程入门学习

一、多线程1、线程介绍(1) 在操作系统中运行的程序就是进程。比如你的QQ,网易云音乐,腾讯视频等。说起进程。就不得不说下程序。程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念。而进程则是程序的一次执行过程,它是一个动态的概念,是系统资源分配的单位。通常在一个进程中至少存在一个线程,线程是CPU调度和执行的单位。(2) 核心概念线程就是独立的执行路径;在程序运行时,即使没有自己创建线程,后台也会有多个线程。如主线程,gc线程;main()称之为主线程,为系统的入口,用于执

2021-07-16 16:30:48 270

原创 GBase 8a MPP Cluster核心技术

1、GBase 8a MPP Cluster介绍全称“南大通用大规模分布式并行数据库集群系统”。它是为超大规模数据量而设计的通用计算平台,具备高性能、高可用、高扩展特性。2、核心技术2.1 数据存储2.1.1 列存储技术表的每一列物理上分开存储;数据已DC(数据单元)为单位进行组织,存成DC文件;DC文件依据操作系统的文件大小限制进行分裂和存储;DC是基本I/O单位,只有查询所涉及到的列才产生I/O;每个DC包含65536行数据,数据行数不足时已DC尾块形式单独存放;DC尾块不封装

2021-07-15 10:38:15 1089

原创 主键生成策略之雪花算法

1、使用背景在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识在美团点评的金融、支付、餐饮、酒店和猫眼电影等产品系统中数据日渐增长,对数据库分库分表后需要唯一ID来标识一条数据或消息;像订单、优惠券、电影票等都需要有唯一的ID作标识。此时就需要一个能够生成全局唯一ID的系统是非常有必要的。2、ID生成规则要求全局唯一趋势递增– 在MySQL的InnoDB引擎中使用的是聚集索引。由于多数RDBMS使用Btree的数据结构来存储索引数据,在主键的选择上面应该尽量使用有序的主键保证写入性

2021-06-28 16:33:58 1479

原创 代码托管平台——码云

1. 准备 Git 仓库码云官网:https://gitee.com1.1 注册账号1.2. 通过网站右上角的「+」号,选择「新建仓库」,进入新建仓库页面

2021-06-28 16:27:29 2746

原创 GateWay网关

一、网关基本概念1、API网关介绍API 网关出现的原因是微服务架构的出现,不同的微服务一般会有不同的网络地址,而外部客户端可能需要调用多个服务的接口才能完成一个业务需求,如果让客户端直接与各个微服务通信,会有以下的问题:客户端会多次请求不同的微服务,增加了客户端的复杂性。存在跨域请求,在一定场景下处理相对复杂。认证复杂,每个服务都需要独立认证。难以重构,随着项目的迭代,可能需要重新划分微服务。例如,可能将多个服务合并成一个或者将一个服务拆分成多个。如果客户端直接与微服务通信,那么重构将会很难

2021-06-15 17:49:05 414

原创 MySQL索引及其实现原理

一、索引的本质1、索引是帮助MySQL高效获取数据的排好序的数据结构2、索引的数据结构(1)二叉树– 查询 select * from t where t.col2 = 89; 语句时,原始的查询方式如图左部分从第一行开始取数据对比,直到查询到第六行才找到目标数据。– 当给表Col2列添加索引后,数据的存储方式为二叉树(左孩子<根节点<右孩子)时,数据从根节点开始查找对比,只需要两次就能够查到K=89的节点,然后存储为K-V的方式通过V找到此条数据地址。(2)红黑树:是一种自平衡二

2021-04-25 17:26:51 297

原创 单点登录

一、 用户登录业务介绍1.1. 单一服务器模式早期单一服务器,用户认证。缺点:单点性能压力,无法扩展1.2. SSO(single sign on)模式分布式,SSO(single sign on)模式优点 :用户身份信息独立管理,更好的分布式管理。可以自己扩展安全策略缺点:认证服务器访问压力较大。1.3. Token模式业务流程图:优点:无状态: token无状态,session有状态的基于标准化: 你的API可以采用标准化的 JSON Web Token (

2021-03-04 16:52:02 230 1

原创 SpringCloud Alibaba

aa

2021-02-22 20:11:06 38529 16

原创 动态规划算法

一、动态规划题目特点1、计数有多少种方式走到右下角有多少种方法选出k个数使得和是sum2、求最大值最小值从左上角走到右下角路径的最大数字和最长上升子序列长度3、求存在性取石子游戏,先手是否必胜能不能选出k个数使得和是sum二、动态规划题目解法组成部分组成部分一:确定状态状态在动态规划中的作用属于定海神针简单的说,解动态规划的时候需要开一个数组,数组的每个元素 f[i] 或者 f[i][j] 代表什么–类似于解数学题中,X、Y、Z的代表什么确定状态需要两个意识–最

2021-02-08 16:03:09 166

原创 SpringCloud Sleuth分布式请求链路跟踪

一、概述在微服务框架中,一个由客户端发起的请求以后端系统中会经历多个不同的服务节点调用来协同产生最好的请求结果,每一个前段请求都会形成一条复杂的分布式服务调用链路,链路中的任何一环出现高延时或错误都会引起整个请求的失败。GitHub地址:点击访问SpringCloud Sleuth提供了一套完整的服务跟踪的解决方案在分布式系统中提供追踪解决方案并且支持zipkin二、搭建链路监控步骤1、zipkinSpringCloud从F版起已不需要自己构建Zipkin Server了,只需要调用ja

2021-02-05 15:51:19 229

原创 TypeScript组件化实现弹层播放器

一、简介TypeScript是JavaScript类型的超集,它可以编译成纯JavaScript。TypeScript可以再任何浏览器、任何计算机和任何操作系统上运行,并且是开源免费的。为神魔要使用TypeScript?TypeScript可以提供静态类型检查,规范团队的编码及使用方式,适合大型项目的开发。IDE的友好提示,也是适合大型项目的开发。二、Webpack搭建项目环境1、提前安装好node.js和npm2、新建一个空文件夹,自定义命名(此处命名为miProject)(1

2021-02-04 18:15:33 1732

原创 SpringCloud Stream消息驱动

一、SpringCloud Stream概述1、stream诞生背景消息中间件有多种,Rabbitmq,Rocketmq,Activemq,Kafka等。不同的消息中间件具体细节不一样。那么有没有一种新的技术诞生,让我们不再关注具体MQ细节,我们只需要用一种适配绑定的方式,自动给我们在各种MQ内切换?一句话:屏蔽底层消息中间件的差异,降低切换成本,统一消息的编程模型。Spring Cloud Stream 因此诞生。官方定义 Spring Cloud Stream是一个构建消息驱动微服务的框架

2021-02-01 16:48:30 279 3

原创 SpringCloud Bus消息总线

一、Bus概述1、Spring cloud bus简介Spring cloud bus通过轻量消息代理连接各个分布的节点。这会用在广播状态的变化(例如配置变化)或者其他的消息指令。SpringCloud bus的一个核心思想是通过分布式的启动器对spring boot应用进行扩展,也可以用来建立一个多个应用之间的通信频道。目前唯一实现的方式是用AMQP消息代理作为通道,同样特性的设置(有些取决于通道的设置)在更多通道的文档中。可以将它理解为管理和传播所有分布式项目中的消息即可,其实本质是利用了M

2021-01-29 18:02:39 431 2

原创 SpringCloud Config分布式配置中心

一、Config分布式配置中心介绍微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因为系统中会出现大量的服务。由于每个服务都需要的必要的配置信息才能运行,所以一套集中式、动态的配置管理设施是必不可少的。SpringCloud提供了ConfigServer来解决这个问题。官网地址:点击访问1、是什么SpringCloud Config为微服务架构中的微服务提供集中化的外部配置支持,配置服务器为各个不同微服务应用的所有环境提供了一个中心化的外部配置。2、怎么做Sprin

2021-01-28 19:38:39 129

原创 Git+Github使用

一、Git1、Git命令行操作(1)本地库初始化命令:git init效果:注意:.git目录中存放的是本地库相关的子目录和文件,不要轻易进行删除、修改等操作。(2)设置签名形式:用户名:tomEmail地址:sousou@163.com作用:区分不同开发人员身份辨析:这里设置的签名和登录远程库(代码托管中心)的账号密码没有关联。命令:–项目级别/仓库级别:仅当前本地库范围内生效。git config user.name/user.email tom/sousou@163.c

2021-01-26 19:25:40 446

原创 SpringCloud之服务网关

一、GateWay新一代网关1、概念简介官网:点击访问(1)Cloud全家桶中有个很重要的组件就是网关,在1.x版本中都是采用的Zuul网关;但在2.x版本中,Zuul的升级一直跳票,SpringCloud最后自己研发了SpringCloud GateWay替代了Zuul。(2)SpringCloud Gateway是基于Spring 5.0+Spring Boot 2.0和Project Reactor等技术开发的网关,它旨在为微服务架构提供一种简单有效统一的API路由管理方式。(3)Spri

2021-01-25 15:14:53 895

原创 SpringCloud之Hystrix

2021-01-22 16:46:24 260 1

原创 SpringCloud之OpenFeign服务接口调用

一、OpenFeign是什么?1、概述官网文档网址:点击访问GitHub:点击访问– Feign是一个声明性web服务客户机。它使编写web服务客户机变得更容易。– 它的使用方法是定义一个服务接口并在上面添加注解。– Feign支持可插拔编码器和解码器。– Spring Cloud对Feign进行了封装,使其支持SpringMVC标准注解和HttpttpMessageConverters。Feign可以与Eureka和Ribbon组合使用以支持负载均衡。2、Feign能干什么Feign旨在

2021-01-17 21:30:50 550

原创 SpringCloud之负载均衡

一、Ribbon入门介绍1、Spring Cloud Ribbon 是基于Netflix Ribbon 实现的一套客户端 负载均衡工具。简单的说,Ribbon是Netflix发布的开源项目,主要供功能是提供客户端的软件负载均衡算法和服务调用。Ribbon客户端组件 提供一系列完善的配置项,如:连接超时、重试等。简单的说,就是在配置文件中列出Load Balancer(简称LB)后面所有的机器,Ribbon会自动帮助你基于某种规则(如:简单轮询、随机连接等)去连接这些机器。我们很容易使用Ribbon实现自定

2021-01-12 17:50:34 597 1

原创 自动热部署Devtools

一、功能介绍大家都知道在项目开发过程中,常常会改动页面数据或者修改数据结构,为了显示改动效果,往往需要重启应用查看改变效果,其实就是重新编译生成了新的Class文件,这个文件里记录着和代码等对应的各种信息,然后Class文件将被虚拟机的ClassLoader加载。而热部署正是利用了这个特点,它监听到如果有Class文件改动了,就会创建一个新的ClaassLoader进行加载该文件,即重启项目工程。二、添加Devtools步骤1、添加依赖 <dependency> &l

2020-12-27 16:38:07 204

原创 SpringCloud之服务注册中心

一、zookeeper使用1、进入linux系统使用docker安装zookeeperdocker pull zookeeper2、运行zookeepe查看zookeeper的docker镜像的iddocker images官方给出的docker启动命令为:$ docker run --name some-zookeeper --restart always -d zookeeper此镜像暴露端口:2181(client port:客户端交互) 、2888(follower port:

2020-12-22 17:42:34 1550

原创 SpringCloud基础学习

一、什么是微服务1、微服务的由来微服务最早由Martin Fowler与James Lewis于2014年共同提出,微服务架构风格是一种使用一套小服务来开发单个应用的方式途径,每个服务运行在自己的进程中,并使用轻量级机制通信,通常是HTTP API,这些服务基于业务能力构建,并能够通过自动化部署机制来独立部署,这些服务使用不同的编程语言实现,以及不同数据存储技术,并保持最低限度的集中式管理。2、为什么需要微服务在传统的IT行业软件大多都是各种独立系统的堆砌,这些系统的问题总结来说就是扩展性差,可靠性

2020-12-21 19:23:37 102

原创 EasyExcel基础学习

一、Excel导入导出的应用场景1、数据导入:减轻录入工作量2、数据导出:统计信息归档3、数据传输:异构系统之间数据传输二、EasyExcel简介1、EasyExcel特点Java领域解析、生成Excel比较有名的框架有Apache poi、jxl等。但他们都存在一个严重的问题就是非常的耗内存。如果你的系统并发量不大的话可能还行,但是一旦并发上来后一定会OOM或者JVM频繁的full gc。EasyExcel是阿里巴巴开源的一个excel处理框架,以使用简单、节省内存著称。EasyExcel能

2020-12-10 10:40:44 141

原创 Nginx功能

一、Windows下Nginx使用1、下载windows版nginx解压2、在cmd中进入到该文加目录下,运行nginx.exe运行之后关闭cmd并不会将nginx一并关闭掉,进入控制台查看进程,nginx是存在两个运行的进程(nginx多路复用的特点):如果需要关闭nginx,重新打开cmd进入到nginx文件目下执行:nginx.exe -s stop即可。二、配置Nginx实现其请求转发的功能...

2020-12-08 16:56:54 396

原创 阿里云对象存储OSS使用

一、申请对象存储OSS为了解决海量数据存储与弹性扩容,项目中我们采用云存储的解决方案- 阿里云OSS。1、开通“对象存储OSS”服务(1)申请阿里云账号(2)实名认证(3)开通“对象存储OSS”服务(4)进入管理控制台2、创建Bucket选择:标准存储或低频访问存储(根据实际需要)、公共读、其余功能一律不开通(开通要收费)3、生成自己专属的访问权限的Access key,点击进入创建即可;后面当需要上传文件到OSS需要bucket名称、keyId和keySecret二、Java后端

2020-12-07 22:49:13 1344

原创 ES6入门

一、基本语法ES标准中不包含 DOM 和 BOM的定义,只涵盖基本数据类型、关键字、语句、运算符、内建对象、内建函数等通用语法。本部分只学习前端开发中ES6的最少必要知识,方便后面项目开发中对代码的理解。1、let声明变量创建 let.html<script> // var 声明的变量没有局部作用域 // let 声明的变量 有局部作用域 { var a = 0 let b = 1 } console.log(a) // 0 console.log(b) // R

2020-11-29 17:06:50 266

原创 后端统一日志处理

一、日志1、配置日志级别日志记录器(Logger)的行为是分等级的。如下表所示:分为:OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL默认情况下,spring boot从控制台打印出来的日志级别只有INFO及以上级别,可以配置日志级别# 设置日志级别logging.level.root=WARN这种方式只能将日志打印在控制台上二、Logback日志spring boot内部使用Logback作为日志实现的框架。Logback和log4j非常相似,如果你对log4j

2020-11-29 15:01:55 429

原创 后端统一异常处理

一、什么是统一异常处理1、制造异常除以0int a = 10/0;2、什么是统一异常处理我们想让异常结果也显示为统一的返回结果对象,并且统一处理系统的异常信息,那么需要统一异常处理二、统一异常处理1、创建统一异常处理器在service-base中创建统一异常处理类GlobalExceptionHandler.java:/** * 统一异常处理类 */@ControllerAdvicepublic class GlobalExceptionHandler { @Except

2020-11-29 10:52:12 717

转载 后端统一结果返回类型

一、统一返回数据格式项目中我们会将响应封装成json返回,一般我们会将所有接口的数据格式统一, 使前端(iOS Android, Web)对数据的操作更一致、轻松。一般情况下,统一返回数据格式没有固定的格式,只要能描述清楚返回的数据状态以及要返回的具体数据就可以。但是一般会包含状态码、返回消息、数据这几部分内容例如,我们的系统要求返回的基本数据格式如下:列表:{ "success": true, "code": 20000, "message": "成功", "data": {

2020-11-26 20:03:34 1453

原创 Swapper使用

配置Swagger21、引入相关依赖 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <scope>provided </scope&g

2020-11-26 19:24:04 3019

原创 代码生成器使用

1、引入依赖 <!-- velocity 模板引擎, Mybatis Plus 代码生成器需要 --> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-engine-core</artifactId> </dependency>2、导入生成类

2020-11-26 17:49:59 901

原创 Spring security基础学习

一、Spring security介绍1、是Spring项目组中用提供安全认证服务的框架2、 spring security 的核心功能主要包括:—认证 (你是谁)—授权 (你能干什么)—攻击防护 (防止伪造身份)其核心就是一组过滤器链,项目启动后将会自动配置。最核心的就是 Basic Authentication Filter 用来认证用户的身份,一个在spring security中一种过滤器处理一种认证方式。比如:(1)对于username password认证过滤器来说, 会检查是

2020-11-19 16:06:17 720

原创 MapStruct基础使用

今天分享一个实习期间遇到的一个将entity实体类转化为dto展示类的Java实体映射工具。MapStruct允许我们只需要定义一个 Mapper 接口,MapStruct 就会自动实现这个映射接口,避免了复杂繁琐的映射实现。MapStruct官网地址: http://mapstruct.org/下面展示下这个工具类的基本功能:1、创建一个springboot项目第一步:通过Spring初始化器创建一个springboot项目第二步:给工程命名和分组——>next:第三步:我是为项目

2020-11-12 15:35:43 732 2

原创 Mybatis- Plus条件构造器

条件构造器EntityWrapper1、EntityWrapper1.1、简介(1) Mybatis-Plus通过EntityWrapper(简称EW,MP封装的一个查询条件构造器)或者Condition(与EW类似)来让用户自由的构建查询条件,简单便捷没有额外的负担,能够有效地提高开发效率。(2)是一个实体包装器,主要用于处理sql拼接、排序、实体参数查询等。(3)注意:他使用的是数据库字段,不是java属性。(4)参数说明:1.2、具体方法实例(1)selectPage()方法分页查

2020-11-11 16:54:15 695

原创 Mybatis Plus基础学习

一、简介1、Mybatis-Plus(简称MP),是一个Mybatis的增强工具包,只做增强不做改变,为简化开发工作和提高生产率而生。2、访问mybatis官方网址了解更多特性:https://baomidou.com/二、集成MP1、创建测试表CREATE TABLE employee( id INT(11) PRIMARY KEY AUTO_INCREMENT, last_name VARCHAR(50), email VARCHAR(50), gender C

2020-11-11 15:07:02 356

原创 亚信安全一面

一面通过,二面因为时间安排问题并已经签了三方放弃二面。电话面试总体感觉还行,你答不上来的问题面试官还会给你讲解。1、实习期间做的是实施工作,面试官就问了我下有没有接触过开发,自己做过哪些项目。2、SQL注入方面问题,mybatis怎么避免SQL注入的。我自己做的项目中使用mybatis是基于注解开发的,面试官问了有没有用xml文件实现过?3、做项目期间有接口安全问题是怎么处理的?比如说开发过程中对程序中一些接口有没有设置过权限?5、有没有对HTTPS传输安全方面有过了解?像证书、加盐加密、签名啥的

2020-11-10 17:02:11 1460 1

TypeScript弹窗播放器

使用vscode作为开发工具,主要使用typescript+webpack作为开发技术。只是实现了前端部分。

2021-02-06

空空如也

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

TA关注的人

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