自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 微信公众号授权登录拿到openid

String appid = "";//填写你的公众号appid String secret = "";//公众号的appsecret response.setHeader("Access-Control-Allow-Origin", "*"); /*星号表示所有的域都可以接受,*/ response.setHeader("Access-Control-Allow-Methods", "GET,POST"); String

2023-02-03 15:02:25 418 1

原创 秒杀项目基本搭建

一、技术点介绍前端:Freemarker、LayUI、jQuery后端:SpringBoot、MyBatisPlus、Lombok中间件:RabbitMQ、Redis(redisson)分布式协调框架:zookeeper二、学习目标1.安全优化:隐藏秒杀地址、验证码、接口限流2.服务优化:RabbitMQ消息队列、接口优化、分布式锁3.页面优化:缓存、静态化分离4.分布式会话:用户登录、共享session5.功能开发:商品列表、商品详情、秒杀、订单详情6.系统压测:JMet

2022-03-17 20:29:20 303

原创 前言技术之swagger

一、swagger介绍1. 前后端分离的特点前后端分离是的前端与后端之间的职责更加明确后台: 负责业务处理前端: 负责显示逻辑在这种情况下,前端和后端可以分别交付给专业的开发人员去做,所以是必须要定义前后端直接的对接 接口,否则各自为是则项目无法集成,这时就需要一个文档来定义统一的接口。2. 在没有swagger之前在没有swagger之间,我们可以使用word,excel等功能来书写接口定义文档,但又有一个弊端,即: 在接口发送改变时需要及时的同步接口文档,否则实际的接口与接

2022-03-15 19:55:15 129

原创 微信程序开发之小程序交互

创建登录页面搭建login.wxml<view class="mage"> <image src="/images/a.jpg" style="width:200px;height:200px" mode="center"></image></view><view> <!-- 11位的电话号码--> <label>用户名</label> <input bind:input

2022-03-14 16:43:56 208

原创 微信程序开发之小程序入门2

01.小程序框架组成在小程序中 ,通过App()来注册一个小程序 ,通过Page()来注册一个页面 1.逻辑层 1.注册小程序 2.注册页面 3.页面生命周期 4.页面路由 5.模块化 6.API 2.视图层 1.wxml 2.wxss 3.wxs wxs是微信小程序自身的脚本语言,用来过滤和计算。wxs可以通过文件可模块标签来定义,文件需要.wxs后缀文件 wxs是专门用...

2022-03-11 16:06:51 135

原创 微信程序开发之小程序入门

1.小程序简介 微信小程序,小程序的一种,英文名Wechat Mini Program, 是一种不需要下载安装即可使用的应用, 它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用。 注1:其它小程序包括,支付宝小程序/百度小程序/QQ小程序/今日头条+抖音小程序 注2:微信已经有了微信订阅号、微信服务号、微信企业号,微信小程序和这三者有什么不同 微信小程序、微信订阅号、微信服务号、微信企业号是并行的体系 注3:微信官方文档地址:https://dev...

2022-03-11 10:20:49 433

原创 微信程序开发之微信

一、 微信公众号1、详情网址微信开发平台 微信官方文档 微信公众平台接口调试工具 内网穿透工具 2、使用测试号①、微信公众平台可以进行登录或注册:公众号分类 使用微信测试号登陆获取令牌access_tokenaccess_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token。开发者需要进行妥善保存。access_token的存储至少要保留512个字符空间。access_token的有效期目前为2个...

2022-03-10 20:10:45 155

原创 微服务自动化.05.Idea插件使用

Docker结合Idea插件使用一、安装docker插件1、新建idea项目2、查看idea中是否具有Docker插件3、在docker.service文件中指明端口号修改Docker服务文件,注释掉"ExecStart"这一行,并添加下面信息 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375重新加载配置文件.

2022-03-05 19:20:20 149

原创 微服务自动化.04.docker-compose

docker-composeDocker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排 通过编写docker-compose文件可对多个服务同时进行启动/停止/更新(可定义依赖,按顺序启动服务) docker-compose将所管理的容器分为3层结构:project 1 一个微服务项目 service N 由N个微服务组成 containe...

2022-03-04 16:44:01 77

原创 微服务自动化.03.跨主机集群

一、容器间内部通信 bridge模式 host模式 自定义网络 Container模式 None模式 二、跨主机通信 Docker默认的网络环境下,单台主机上的Docker容器可以通过docker0网桥直接通信,而不同主机上的Docker容器之间只能通过在主机上做端口映射进行通信。 这种端口映射方式对很多集群应用来说极不方便。 如果能让Docker容器之间直接使用自己的IP地址进行通信,会解决很多问题。 按实现原理可分别直接路由方式、桥接方式(如pipew.

2022-03-03 21:01:42 826

原创 微服务自动化.02.etcd集群搭建

搭建 etcd 集群etcd构建自身高可用集群主要有三种形式: 静态发现: 预先已知etcd集群中有哪些节点,在启动时通过--initial-cluster参数直接指定好etcd的各个节点地址 etcd动态发现: 静态配置前提是在搭建集群之前已经提前知道各节点的信息,而实际应用中可能存在预先并不知道各节点ip的情况, 这时可通过已经搭建的etcd来辅助搭建新的etcd集群。通过已有的etcd集群作为数据交互点,然后在扩展新的集群时 实现通过已有集群进行服务发现的机制。比如官方提

2022-03-02 22:05:00 130

原创 微服务自动化.01.etcd基本介绍

Etcd介绍etcd 是一个高度一致的分布式键值(key-value)存储,它提供了一种可靠的方式来存储需要由分布式系统或机器集群访问的数据。它可以优雅地处理网络分区期间的领导者选举,即使在 领导者节点中也可以容忍机器故障。 etcd 是用Go语言编写的,它具有出色的跨平台支持,小的二进制文件和强大的社区。etcd机器之间的通信通过Raft共识算法处理。服务发现 务发现要解决的也是分布式系统中最常见的问题之一,即在同一个分布式集群中的进程或服务,要如何才能找到对方并建立连接。.

2022-02-28 16:36:53 106

原创 rabbitMQ死信.延迟队列

死信队列(延迟队列) 死信,在官网中对应的单词为“Dead Letter”,它是 RabbitMQ 的一种消息机制。 般来说,生产者将消息投递到 broker 或者直接到 queue 里了,consumer 从 queue 取出消息进行消费,如果它一直无法消费某条数据,那么可以把这条消息放入死信队列里面。等待 条件满足了再从死信队列中取出来再次消费,从而避免消息丢失。 死信消息来源: 消息 TTL 过期 队列满了,无法再次添加数据 消息被拒绝(reject 或 nack),并且

2022-02-26 20:12:22 1432

原创 rabbitMQ交换机的讲解

交换机Exchange在rabbitmq中,生产者发送消息不会直接将消息投递到队列中,而是先将消息投递到交换机中,在由交换机转发到具体的队列,队列再将消息以推送或者拉取的方式给消费者进行消费生产者将消息发送到Exchange,由Exchange再路由到一个或者多个队列中路由键(Routingkey)生产者将消息发送给交换机的时候,会指定Routingkey指定路由规则绑定键(Bindingkey)通过绑定键将交换机与队列关联起来,这样rabbitMQ就知道如何正..

2022-02-25 20:56:52 1435

原创 RabbitMQ基本使用

消息队列Message queue 释义 服务之间最常见的通信方式是直接调用彼此来通信,消息从一端发出后立即就可以达到另一端,称为即时消息通讯(同步通信) 消息从某一端发出后,首先进入一个容器进行临时存储,当达到某种条件后,再由这个容器发送给另一端,称为延迟消息通讯(异步通信)消息队列相关 AMQP 一个提供统一消息服务的应用层标准高级消息队列协议,是一个通用的应用层协议 消息发送与接受的双方遵守这个协议可以实现异步通讯.这个协议约定了消息的格式和工作方式.

2022-02-25 18:17:38 1169

原创 docker.nacos集群部署

mysql安装与基操拉取mysqldocker pull mysql:8.0.27定义挂载目录mkdir -p /home/mysql/{conf,data}配置my.cnf(window中是my.ini)开启mysql容器(bridge)docker run -itd -p 2333:3306 --name mysql \> -v /home/mysql/conf/my.cnf:/etc/my.cnf \> -v /home/mysql/

2022-02-23 20:09:16 859

原创 docker.nginx部署

先拉取nginxdocker pull nginx分配端口docker run -itd --name nginx02 -p 8082:80 nginx运行成功了进入nginx里面的conf.d修改default.conf文件server { listen 80; server_name www.zking.com; #charset koi8-r; #access_log /var/log/nginx/ho.

2022-02-23 15:48:46 152

原创 docker网络配置

网络相关 IP 子网掩码 网关 DNS 端口号 子网掩码 互联网是由许多小型网络构成的,每个网络上都有许多主机,这样便构成了一个有层次的结构。 IP地址在设计时就考虑到地址分配的层次特点,将每个IP地址都分割成网络号和主机号两部分,以便于 IP地址的寻址操作。子网掩码是“255.255.255.0”的网络: 最后面一个数字可以在0~255范围内任意变化,因此可以提供256个IP地址。但是实际可用的IP地 址数量是256-2,即254个,因为主机号不能全是“

2022-02-21 20:31:52 347 1

原创 docker镜像上传

1.修改Dockerfile 文件#1.指定基础镜像,并且必须是第一条指令#FROM alpine:latestFROM alpine:3.10#2.指明该镜像的作者和其电子邮件MAINTAINER xyz "xyz@qq.com"#3.在构建镜像时,指定镜像的工作目录,之后的命令都是基于此工作目录,如果不存在,则会创建目录WORKDIR /usr/local/java#4.将一些安装包复制到镜像中,语法:ADD/COPY <src>... <dest>#

2022-02-21 18:33:20 631

原创 docker数据卷与Dockerfile

数据卷 为了很好的实现数据保存和数据共享,Docker提出了Volume这个概念,简单的说就是绕过默认的联合 文件系统,而以正常的文件或者目录的形式存在于宿主机上。又被称作数据卷。 数据卷 是一个可供一个或多个容器使用的特殊目录,它绕过 UFS,可以提供很多有用的特性: 数据卷 可以在容器之间共享和重用 对 数据卷 的修改会立马生效 对 数据卷 的更新,不会影响镜像 数据卷 默认会一直存在,即使容器被删除 创建数据卷 docker volume create m

2022-02-20 15:45:20 162

原创 springcloud网关

Spring Cloud Gateway是Spring官方基于Spring5.0、SpringBoot2.0和Project Reactor等技术开发的网 关 旨在为微服务框架提供一种简单而有效的统一的API路由管理方式,统一访问接口。 Spring Cloud Gateway作为Spring Cloud生态体系中的网关,目标是替代Netflix的Zuul,其不仅提供统 一的路由方式,并且基于Filter链的方式提供了网关基本的功能,例如:安全、监控/埋点和限流等等。 它是基于Netty

2022-02-19 19:55:56 3067

原创 Docker概述与安装

服务器选型 在选择服务器操作系统时,Windows附带了许多您需要付费的功能。Linux是开放源代码,可让用户免费使用。对比Linux是开源的,因此是免费的。Web主机仅需要支付技术支持即可安装和维护程序(如果需要)。服务器提供商不需要将额外的成本转嫁给客户。另一方面,对于Windows服务器,公司通常必须为操作系统和定期使用许可证付费。Linux服务器及其运行的应用程序通常设计为精益运行,因此通常使用较少的计算机资源。好处是程序员可以“即时”修改Linux服务器和软件,而无需.

2022-02-18 18:26:58 638

原创 springcloud配置中心

SpringCloud Config 微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中会出现大量的服务。由于每个服务都需要必要的配置信息才能运行,所以一套集中式的,动态的配置管理设施是必不可少的。Spring Cloud 提供了 ConfigServer来解决这个问题.Spring Cloud Config 为微服务架构中的微服务提供集中化的外部配置支持,配置服务器为各个不同微服务应用的所有环境提供了一个中心化的外部配置。SpringCloud C

2022-02-18 15:42:54 183

原创 springcloud远程消费

一、SpringCloud搭建springcloud架构图:先建立一个maven父项目然后删除src因为父项目不需要代码然后导入依赖代码:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xs.

2022-02-16 19:26:32 334

原创 quartz的基本使用

一、spring自带调度器Scheduled参数 @Scheduled(fixedRate=5000):上⼀次开始执⾏时间点之后5秒再执⾏ @Scheduled(fixedDelay=5000):上⼀次执⾏完毕时间点之后5秒再执⾏ @Scheduled(initialDelay=1000, fixedRate=5000):第⼀次延迟1秒后执⾏,之后按fixedRate的规则 每5秒执⾏⼀次 @Scheduled(cron="*/5 * * * * *"):通过cron表达式定义规则

2022-02-10 18:48:31 527

原创 springboot集成连接池

连接池:C3P0 :是一个开放源代码的JDBC连接池,它在lib目录中与Hibernate一起发布,包括了实现jdbc3和 jdbc2扩展规范说明的Connection 和Statement 池的DataSources 对象。 Proxool:是一个Java SQL Driver驱动程序,提供了对选择的其它类型的驱动程序的连接池封装。可以 非常简单的移植到现存的代码中,完全可配置,快速、成熟、健壮。可以透明地为现存的JDBC驱动程序 增加连接池功能。 Jakarta DBCP:DB.

2022-02-10 10:07:56 1119

原创 springboot入门

新建一个springboot选中lombokyml语法@ConfigurationProperties() 可以通过指定 prefix 指定加载的对象的前缀 如果对象的数据不在 application.xml 中,则需要通过 @PropertySource() 指定文件加载,并且需要配 合 @Value("${xx}") 标签studentpackage com.smy.code.pojo;import lombok.AllArgsConstructor;im

2022-01-19 20:19:11 353

原创 增删改查。

后端:controller层package com.zking.ssm.controller;import com.zking.ssm.model.Order;import com.zking.ssm.service.IOrderService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.*;import jav

2022-01-11 18:21:24 246

原创 mybatis实现二级缓存

课程目标集成ehcache一、Mybatis集成ehcache1. 为什么需要缓存 拉高程序的性能2. 什么样的数据需要缓存 很少被修改或根本不改的数据 业务场景比如:耗时较高的统计分析sql、电话账单查询sql等3. ehcache是什么 Ehcache 是现在最流行的纯Java开源缓存框架,配置简单、结构清晰、功能强大 注1:本章介绍的是2.X版本,3.x的版本和2.x的版本API差异比较大4. ehcache的特点 4.1 ...

2021-12-22 08:38:04 136

原创 mybatis与spring的集成

课程目标Mybatis与spring集成 Aop整合pagehelper插件一、mybatis与spring的集成导入pom依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://m

2021-12-21 18:34:55 63

原创 mybatis动态sql和分页

课程目标:mybatis动态sql 模糊查询 查询返回结果集的处理 分页查询 特殊字符处理一、mybatis动态sqlif、foreach标签 <update id="updateByPrimaryKeySelective" parameterType="com.smy.model.Book" > update t_mvc_book <set > <if test="bname != null" > b.

2021-12-14 08:53:16 246

原创 mybatis入门

课程目标搭建mybatis框架环境 基于ssm逆向工程的使用(IDEA) 3.Mybatis增删改查案例一、搭建mybatis框架环境创建maven工程注意别选错了这名字随便取注意maven路径 用户设置文件 本地仓库选好 然后在添加下面那个maven属性2.导入相关pom依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/...

2021-12-12 17:21:54 84

原创 liunx 安装mysql

一、yum安装使用yum安装 01.查看是否装有mysql服务 rpm -qa | grep mysql查看当前linux内核版本 cat /etc/redhat-release02.前往mysql的yum安装库(MySQL :: Download MySQL Yum Repository),下载对应版本 03.复制文件名,执行命令 wget https://dev.mysql.com/get/mysql80-community-relea.

2021-12-03 15:38:01 242

原创 liunx 安装jdk Tomcat

一、安装jdk注意:安装tomcat需要先配置jdk一种是yum安装一种是手动安装(个人推荐手动安装)手动安装1.去Oracle官网下载需要安装的jdk版本,我这里用的是jdk-8u171-linux-x64.tar.gz2.将该压缩包放到/usr/local/jdk目录下,jdk目录需要自己手动创建,也可以叫java,名字自己随意取(见名知意),然后解压该压缩包,输入如下指令:tar zxvf jdk-8u172-linux-x64.tar.gz解压成功后去etc下.

2021-12-02 20:04:12 882

原创 Vuex

一、了解vuex中的各个js文件的用途1、了解vuex 变量传值的演变形式:官方解释:Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。vuex是管理整个前端项目的变量,狭义的认为vuex相当于前端的数据库vuex是为了解决一个传值问题 图解Vuex:vuex包含了四大控件——》state、getters、mutations、actions 1.State:单一状态树,变量的定义 2.Getters:状态...

2021-11-18 16:10:01 75

原创 SPA项目开发之CRUD+表单验证

一、表单验证Articles.vue:1、编辑的界面:<!-- 编辑界面 --> <el-dialog :title="title" :visible.sync="editFormVisible" width="30%" @click="closeDialog"> <el-form label-width="120px" :model="editForm" :rules="rules" ref="editForm"> &lt...

2021-11-17 14:20:10 120

原创 SPA项目开发之动态树+数据表格+分页

一、树形菜单显示开启了后台,main.js就不需要引用”process.env.MOCK && require('@/mock')“1、拿到数据库的数据LeftNav:<template> <el-menu default-active="2" class="el-menu-vertical-demo" background-color="#334157" text-color="#fff" active-text-color="#ffd0...

2021-11-16 16:03:25 733

原创 SPA项目开发之首页导航+左侧菜单

本期内容: 1、mock.js模拟响应ajax请求 2、前台主界面的搭建 3、退出功能 4、左侧树收缩功能(vue总线的概念)一、mock.js模拟响应ajax请求1、安装mockjs依赖npm install mockjs -D #只在开发环境使用2、配置开发环境及生产环境 为了只在开发环境使用mock,而打包到生产环境时自动不使用mock,我们可以在env中...

2021-11-15 18:34:11 47

原创 SPA项目开发之登录注册

一、spa项目完成登录注册布局1、安装开发模块 npm安装elementUlnpm install element-ui -S axios/qs/vue-axios安装npm install axios -Snpm install qs -S npm install vue-axios -S 进入新建项目的跟目录内打开命令提示符cmd进行执行语句安装:npm install element-ui -Snpm install axi...

2021-11-12 09:47:19 1146

原创 hibernate之HQL

一,HQL入门1、HQL的含义: HQL是Hibernate Query Language(专属于hibernate框架的一个查询语言)的缩写2. hql和sql区别/异同 HQL SQL 类名/属性 ...

2021-11-11 19:26:11 210

空空如也

空空如也

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

TA关注的人

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