- 博客(41)
- 收藏
- 关注
原创 MybatisPlus高级
1. 插件机制1.1 自动填充项目中经常会遇到一些数据,每次都使用相同的方式填充,例如记录的创建时间,更新时间等。我们可以使用MyBatis Plus的自动填充功能,完成这些字段的赋值工作:1.1.1 原理实现元对象处理器接口:com.baomidou.mybatisplus.core.handlers.MetaObjectHandler,确定填充具体操作注解填充字段:@TableField(fill = ...) 确定字段填充的时机FieldFill.INSERT:插入填充字段Fiel
2021-12-21 17:04:21
396
原创 MyBatis Plus入门
1.MyBatis Plus 概述1.1.简介官网:http://mp.baomidou.com/参考教程:http://mp.baomidou.com/guide/MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。1.2 特点无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作强大的 CRUD 操作:内
2021-12-20 19:58:21
307
原创 Nuxt文档
1. Nuxt.js 概述1.1 我们一起做过的SPASPA(single page web application)单页 Web 应用,Web 不再是一张张页面,而是一个整体的应用,一个由路由系统、数据系统、页面(组件)系统等等,组成的应用程序。SPA 应用广泛用于对SEO要求不高的场景中1.2 什么是SEOSEO:搜索引擎优化(Search Engine Optimization), 通过各种技术(手段)来确保,我们的Web内容被搜索引擎最大化收录,最大化提高权重,最终带来更
2021-12-17 20:27:13
3311
原创 Nuxt简介
1、什么是Nuxt.js?Nuxt.js 是一个基于 Vue.js 的通用应用框架。通过对客户端/服务端基础架构的抽象组织,Nuxt.js 主要关注的是应用的 UI 渲染。Nuxt.js 预设了利用 Vue.js 开发服务端渲染的应用所需要的各种配置。2、什么是SEO?SEO:搜索引擎优化(Search Engine Optimization), 通过各种技术(手段)来确保,我们的Web内容被搜索引擎最大化收录,最大化提高权重,最终带来更多流量。非常明显,SPA程序不利于SEO
2021-12-13 21:11:11
1958
1
原创 Hbase常用shell操作
标题1、启动HBase shell:hbase shell2、CRUD操作1.创建表【语法】:create '表名','列蔟名'...【示例】:创建订单表,表名为ORDER_INFO,该表有一个列蔟为C1create 'ORDER_INFO','C1';2、查看表list3、删除表要删除某个表,必须要先禁用表3.1 禁用表【语法】:disable "表名"disable "ORDER_INFO"3.2 删除表【语法】:drop "表名"drop "ORDER_IN
2021-12-01 20:59:20
657
原创 HBase简介
1.什么是Hbase?HBase是BigTable的开源java版本。是建立在HDFS之上,提供高可靠性、高性能、列存储、可伸缩、实时读写NoSQL的数据库系统2.Hbase的优缺点?优点:存储数据量大:一个表可以有上亿行,上百万列。面向列:面向列表(簇)的存储和权限控制,列(簇)独立检索。稀疏:对于为空(NULL)的列,并不占用存储空间,因此,表可以设计的非常稀疏。无模式:每一行都有一个可以排序的主键和任意多的列,列可以根据需要动态增加,同一张表中不同的行可以有截然不同的列。数据多版
2021-11-30 20:56:03
1706
原创 RabbitMQ
1.什么是MQ?MQ(MessageQueue)消息队列,是基础数据结构中“先进先出”的一种数据结构。一般用来解决应用解耦,异步消息,流量削峰等问题,实现高性能,高可用,可伸缩和最终一致性架构。1、常见的MQ实现:ActiveMQRabbitMQRocketMQKafka2、常见MQ的对比:3、选择参考:追求可用性:Kafka、 RocketMQ 、RabbitMQ追求可靠性:RabbitMQ、RocketMQ追求吞吐能力:RocketMQ、Kafka追求消息低延迟:Ra
2021-11-30 18:21:39
180
原创 Hadoop架构模型
1.Hadoop的模块组成1、HDFS:一个高可靠、高吞吐量的分布式文件系统。2、MapReduce:一个分布式的离线并行计算框架。3、YARN:作业调度与集群资源管理的框架。4、Common:支持其他模块的工具模块。2.Hadoop的架构模型Hadoop 1.x架构Hadoop 2.x架构...
2021-11-29 20:35:33
2148
原创 Docker镜像仓库
1.配置Docker信任地址我们的私服采用的是http协议,默认不被Docker信任,所以需要做一个配置:# 打开要修改的文件vi /etc/docker/daemon.json# 添加内容:"insecure-registries":["192.168.200.130:8080"]# 重加载systemctl daemon-reload# 重启dockersystemctl restart docker2.简化版镜像仓库Docker官方的Docker Registry是一个基础
2021-11-29 18:14:45
1639
原创 Docker-Compose
1.初识DockerComposeCompose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。格式如下:version: "3.8" services: mysql: image: mysql:5.7.25 # mysql镜像名称 environment: MYSQL_ROOT_PASSWORD: 123 #mysql登入密码 volumes: - "/tmp/mysql/data:/var/lib/mysql" #数据卷挂载
2021-11-29 18:04:29
623
原创 Dockerfile自定义镜像
1.镜像结构镜像是将应用程序及其需要的系统函数库、环境、配置、依赖打包而成。简单来说,镜像就是在系统函数库、运行环境基础上,添加应用程序文件、配置文件、依赖文件等组合,然后编写好启动脚本打包在一起形成的文件。2.Dockerfile语法构建自定义的镜像时,我们只需要告诉Docker,我们的镜像的组成,需要哪些BaseImage、需要拷贝什么文件、需要安装什么依赖、启动脚本是什么,将来Docker会帮助我们构建镜像。Dockerfile就是一个文本文件,其中包含一个个的指令(Instruct
2021-11-29 17:32:07
974
原创 什么是大数据
1、什么是大数据【大数据】是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。是指一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合,具有海量的数据规模、快速的数据流转、多样的数据类型和价值密度低四大特征。数据的存储单位最小的基本单位是bit1 Byte =8 bit1 KB = 1,024 Bytes = 8192 bitKB ->
2021-11-28 17:22:11
918
原创 集群的简介
什么是集群?集群:由多个相互独立的计算机通过高速计算机网络互联,构成一个组,并以单一系统的模式加以管理的一种计算机系统。什么是计算机网络?计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。什么是交换机?交换机(Switch)意为“开关”是一种用于电(光)信号转发的网络设备。它可以为接入交换机的任意两个网络节点提供独享的电信号通路。最常见的交换机是以太网交换机。其他常
2021-11-28 16:53:16
509
原创 服务器简介
1、什么是服务器?【服务器】: 也称伺服器,是一种高性能计算机,提供计算服务的设备。2、服务器的构成服务器:由处理器(CPU)、硬盘、内存、系统总线等组成,和通用的计算机架构类似。由于服务器需要提供高可靠的服务,所以在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。3、服务器的功能服务器和电脑功能都是一样的,也可以将服务器称之为【电脑】,只是服务器对稳定性与安全性以及处理器数据能力有更高要求。4、服务器类型1、按应用层次划分为四类:入门级服务器工作组级服务器
2021-11-28 16:37:19
3712
原创 Docker的基本操作
1.镜像名称1、镜像的组成1、镜名称一般分两部分组成:[repository]:[tag]。 2、在没有指定tag时,默认是latest,代表最新版本的镜像这里的mysql就是repository,5.7就是tag,合一起就是镜像名称,代表5.7版本的MySQL镜像。2、镜像命令常用命令docker pull ## 从官方拉取镜像---docker pull mysqldocker load ## 加载压缩包为一个镜像格式:docker
2021-11-25 21:15:18
1924
原创 Docker入门
1.初识DockerDocker诞生前1、分布式系统中,依赖的组件非常多,不同组件之间部署时往往会产生一些冲突。2、在数百上千台服务中重复部署,环境不一定一致,会遇到各种问题3、依赖关系复杂,容易出现兼容性问题4、开发、测试、生产环境有差异Docker诞生后1、Docker如何解决依赖兼容问题?1、将应用的Libs(函数库)、Deps(依赖)、配置与应用一起打包2、将每个应用放到一个隔离容器去运行,避免互相干扰2、Docker如何解决不同系统环境的问题?1、Docker将用户
2021-11-25 16:15:12
456
原创 CentOS安装Docker
1.卸载旧版本Docker(可选)yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrot
2021-11-25 15:07:01
540
原创 微服务鉴权JWT
前言:为什么要学习JWT?1、JWT简介JWT,全称是Json Web Token, 是JSON风格轻量级的授权和身份认证规范,可实现无状态、分布式的Web应用授权;它是分布式服务权限控制的标准解决方案!简而言之就是身份认证2、 JWT 与RBAC的区别后台权限服务的数据库设计使用RBAC;前端项目访问后台微服务的权限校验使用JWT3、 JWT数据格式JWT的token包含三部分数据:Header:头部,通常头部有两部分信息:声明类型type,这里是JWT(type
2021-11-18 20:17:41
2479
原创 Gateway服务网关
1.为什么需要网关Gateway网关是我们服务的守门神,所有微服务的统一入口。网关的核心功能特性:请求路由权限控制限流架构图:权限控制:网关作为微服务入口,需要校验用户是是否有请求资格,如果没有则进行拦截。路由和负载均衡:一切请求都必须先经过gateway,但网关不处理业务,而是根据某种规则,把请求转发到某个微服务,这个过程叫做路由。当然路由的目标服务有多个时,还需要做负载均衡。限流:当请求流量过高时,在网关中按照下流的微服务能够接受的速度来放行请求,避免服务压力过大。在Sprin
2021-11-17 21:35:18
395
原创 Feign远程调用
1.Feign替代RestTemplateFeign是一个声明式的http客户端,官方地址:https://github.com/OpenFeign/feignFegin的使用步骤如下:1.1引入依赖在order-service服务的pom文件中引入feign的依赖:<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-clou
2021-11-17 21:17:40
753
原创 Nacos集群搭建
1.集群结构图其中包含3个nacos节点,然后一个负载均衡器代理3个Nacos。这里负载均衡器可以使用nginx。2.搭建集群搭建集群的基本步骤:搭建数据库,初始化数据库表结构下载nacos安装包配置nacos启动nacos集群nginx反向代理2.1.初始化数据库Nacos默认数据存储在内嵌数据库Derby中,不属于生产可用的数据库。首先新建一个数据库,命名为nacos,而后导入下面的SQL:CREATE TABLE `config_info` ( `id` big
2021-11-17 20:58:43
276
原创 Nacos配置管理
1.统一配置管理当微服务部署的实例越来越多时,我们需要一种统一配置管理方案,可以集中管理所有实例的配置。1.1.在nacos中添加配置文件注意:项目的核心配置,需要热更新的配置才有放到nacos管理的必要。基本不会变更的一些配置还是保存在微服务本地比较好。1.2.从微服务拉取配置微服务要拉取nacos中管理的配置,并且与本地的application.yml配置合并,才能完成项目启动。因此spring引入了一种新的配置文件:bootstrap.yaml文件,会在application.ym
2021-11-17 20:44:35
798
原创 Nacos注册中心
1.服务注册到nacosNacos是SpringCloudAlibaba的组件,而SpringCloudAlibaba也遵循SpringCloud中定义的服务注册、服务发现规范。因此使用Nacos和使用Eureka对于微服务来说,并没有太大区别。主要差异在于:依赖不同服务地址不同1.1引入依赖在cloud-demo父工程的pom文件中的<dependencyManagement>中引入SpringCloudAlibaba的依赖:<dependency>
2021-11-17 20:24:21
202
原创 Ribbon负载均衡
1.负载均衡原理2.源码跟踪3.负载均衡策略3.1.负载均衡策略3.2.自定义负载均衡策略通过定义IRule实现可以修改负载均衡规则,有两种方式:代码方式:在order-service中的OrderApplication类中,定义一个新的IRule:@Beanpublic IRule randomRule(){ return new RandomRule();}-配置文件方式:在order-service的application.yml文件中,添加新的配置也可以修改规
2021-11-17 20:10:12
384
原创 Eureka注册中心
1、Eureka的结构和作用2、搭建Eureka-server服务2.1创建Eureka-server服务在cloud-demo父工程下,创建一个子模块:2.2引入eureka依赖引入SpringCloud为eureka提供的starter依赖:<!--引入eureka依赖--><dependency> <groupId>org.springframework.cloud</groupId> <artifactI
2021-11-17 20:00:40
120
原创 微服务的拆分和远程调用
1、服务拆分原则不同微服务,不要重复开发相同业务微服务数据独立,不要访问其它微服务的数据库微服务可以将自己的业务暴露为接口,供其它微服务调用2、服务拆分示例cloud-demo:父工程,管理依赖order-service:订单微服务,负责订单相关业务user-service:用户微服务,负责用户相关业务要求:订单微服务和用户微服务都必须有各自的数据库,相互独立订单服务和用户服务都对外暴露Restful的接口订单服务如果需要查询用户信息,只能调用用户服务的Restfu
2021-11-17 18:14:43
416
原创 认识微服务
1、什么是微服务?微服务是系统架构的一种设计风格,将一个原本独立的服务拆分成多个小型服务,每个服务独立运行在在各自的进程中,服务之间通过 HTTP RESTful API 进行通信.每个小型的服务都围绕着系统中的某个耦合度较高的业务进行构建.2、为什么使用微服务?因为传统的 Servlet + JSP,还是 SSM,还是现在的 SpringBoot,它们都是单体应用,弊端如下:1、部署成本高(无论是修改1行代码,还是10行代码,都要全量替换)2、改动影响大,风险高(不论代码改动多小,成本都
2021-11-17 16:56:56
372
原创 Teacher_School_System
1、项目结构1.1Feign-api工程1.1.1Feign-api 工程结构clients类SchoolClient类package com.czxy.feign.clients;import com.czxy.feign.pojo.School;import org.springframework.cloud.openfeign.FeignClient;import org.springframework.web.bind.annotation.GetMapping;impor
2021-11-15 21:19:25
724
原创 Vue全家桶03
1.Vue-Router路由配置使用 vue-router 之前,我们需要先配置访问的路径与要显示的组件的对应系。我们需要在 router.js 文件中进行配置。router/index.js默认配置了两个路由:1、当访问 / 时,显示 Home 组件2、当访问 /about 时,显示 about 组件2.Vue-Router路由切换当我们定义好路由之后,我们就可以在页面中添加按钮跳转到相应的路由,有两种跳转方法:1、在 HTML 中使用 router-link标签(相当于a标签
2021-10-28 15:51:09
107
原创 Vue全家桶02
Vue CLI构建SPA项目1.下载安装Vue-CLI官方文档:https://cli.vuejs.org/zh/==首先要确定自己的电脑上安装了 Node.js 8.9 或更高版本。然后,我们打开cmd(管理员权限打开)使用 npm 来安装 vue/cli :npm install -g @vue/cli安装之后,我们可以在命令行中使用 vue 指令查看安装的版本: vue --version(或vue -V)2. 创建一个项目vue create 项目名称以下的创建按回车进行下一
2021-10-28 15:39:24
272
原创 Vue全家桶01
1.前置知识1.1什么是模板化模块化就是把代码进行拆分,方便重复利用。类似java中的导包:要使用一个类,必须先导包。因为JS中没有包的概念,换来的是 模块。模块功能主要由两个命令构成:export(导入)和 import(导出)。• export命令用于定义模块的对外接口,• import命令用于导入其他模块提供的功能。export比如我定义一个js文件:hello.js,里面有一个对象:const util = { sum(a,b){ return a
2021-10-28 15:09:53
147
原创 ES6基础语法
1.什么是ES6ECMAScript 6.0(以下简称ES6)是JavaScript语言的下一代标准2. ES6和JavaScript关系ECMAScript和JavaScript的关系是,前者是后者的规格,后者是前者的一种实现(另外的ECMAScript方言还有Jscript和ActionScript)3.基本语法3.1 声明变量// 定义变量//1) var 声明普通变量//2) let 声明局部变量(块级变量) 它的用法类似于var,但是所声明的变量,只在let命令所在的代
2021-10-27 21:22:42
154
原创 Node.js安装步骤
1. Node.js1.1 什么是Node.jsNode.js是一个服务器端的Javascript运行环境(runtime)。Java使用JDK进行编译/运行。 > java HelloWorldJS使用Node进行编译/运行。 > nodeHelloWorld.jsNode.js是一个web服务器Java使用Tomcat提供HTML、CSS、JS等资源访问。. 前端使用Node.js提供HTML、CSS、JS等资源访问。Node.js是资源管理器Node.js
2021-10-27 21:03:45
603
原创 VSCode安装
Vue编辑工具安装教程1.1下载1.2 安装2. 基本操作1.1下载VSCode官网VSCodeUserSetup-x64-1.36.1.exe 1.2 安装1.2.1步骤一:步骤二:步骤三:步骤四:2. 基本操作2.1 选择工作空间(第一次)2.2 创建项目(文件夹)2.3 创建文件 创建新文件 创建空文件成功 编写HTML页面2.4 切换空间 File/Open Folder … 打开指定文件夹2.5 自动保存(可选)常见配置3.1 安装插件3
2021-10-27 20:45:27
1281
原创 NameNode与DateNode
NameNode的作用1、 维护目录树,维护命名空间。2、 负责确定指定的文件块到具体的DataNode结点的映射关系。(在客户端与DataNode之间共享数据)3、管理DataNode结点的状态报告DataNode的作用1、 负责管理它所在结点上数据的存储及存储数据的读写2、 向NameNode结点报告DataNode节点的状态。注:DataNode节点长时间没有给NameNode汇报心跳,NameNode认为其丢失。长时间(10分钟+30秒): 2 * 超时时间 + 10 * 心跳
2020-10-12 18:14:31
660
原创 大数据技术快的原因
1、采用分布式存储的方式2、分布式并行计算3、移动计算程序到数据端4、更前卫、更先进的实现思路5、更细分的业务场景6、更先进的硬件技术和软件技术
2020-10-12 18:02:27
650
原创 Hadoop的文件系统介绍
HDFS 基本介绍前言Hadoop内部组成 HDFS: 海量数据的存储 MapReduce: 海量数据的离线计算 Yarn: 集群资源调度1. 什么是HDFS?H: Hadoop;D: Distribute 分布式;F: File 文件;S: Systerm 系统;HDFS 是 Hadoop Distribute File System 的简称,意为:Hadoop 分布式文件系统。是 Hadoop 核心组件之一,作为最底层的分布式存储服务而存在。 Hadoop 分布式文件系统图
2020-10-08 18:14:16
1733
原创 Linux虚拟机挂载新的硬盘
第一步: 了解linux系统分区的原理1. 一个硬盘可以分成多个分区2. 用户不能直接操作硬件, 需要 让硬件和系统的目录建立映射关系(挂载)才可以操作,称为 挂载第二步:步骤详情第一步:虚拟机添加硬盘第二步:查看系统分区挂载情况lsblk 的记忆小窍门: 老师不离开 的首字母第三步:分区-------fdisk其他命令选项操作如下:fdisk /dev/sdb 开始分区输入 m , 进入 目录列表输入 n , 新增分区输入 p , 开始分区, 后
2020-10-05 21:15:49
42629
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅