- 博客(17)
- 资源 (10)
- 收藏
- 关注
原创 Oauth2.0的四种模式
1. 授权码模式(1)资源拥有者打开客户端,客户端要求资源拥有者给予授权,它将浏览器被重定向到授权服务器,重定向时会附加客户端的身份信息。如:/uaa/oauth/authorize?client_id=p2pweb&response_type=code&scope=app&redirect_uri=http://xx.xx/notify参数列表如下:client_id:客户端接入标识。response_type:授权码模式固定为code。scope:客户端权限
2020-07-25 19:44:49 2295
原创 Leetcode-数据库-175
第二高的薪水我第一次尝试:SELECT salary AS SecondHighestSalaryFROM EmployeeORDER BY salary DESCLIMIT 1,1根据salary降序,然后取第二个,但是这有一个问题,就是如果数据少于两个,就会报错错误显示,当表中数据只有一条时,返回了[],预期是得到[null]意思是,如果没有第二高的薪水,应该给返回一条数据...
2020-03-15 00:00:02 232
原创 SpringBoot源码分析
1.自动配置原理首先我们进入@SpringBootApplication这个注解我们会发现里面又这三个注解@SpringBootConfiguration这个注解点进去有@Configuration这个注解,再进去有@Component这个注解,主要告诉我们这个类是一个spring配置、组件。(参照spring的javaConfig类配置方式)@Component...
2020-02-18 23:30:10 209
原创 mysql全部基础知识点回顾
环境Mysql1.关于日期# 查询当前日期select curdate(); 2020-02-09# 获取日期里的年、月、日select YEAR('2020-02-09'); 2020select MONTH('2020-02-09'); 2select DAY('2020...
2020-02-16 15:51:53 230
原创 Mybatis PageHelper的原理
1.PageHelper原理PageHelper是mybatis的通用分页插件,通过mybatis的拦截器实现分页功能,拦截sql查询请求,添加分页语句,最终实现分页查询功能。在调用dao的service方法中设置分页参数:PageHelper.startPage(page, size),分页参数会设置在ThreadLocal中PageHelper在mybatis执行sql前进行拦截,从...
2020-02-16 14:11:11 2023
原创 CMS系统的页面静态化流程
一、CMS系统的功能CMS系统就是内容管理系统(Content Management System)。就是管理网站展示内容的系统。在传统的门户网站或电商网站开发中,我们需要频繁的修改前端展示的内容(如,首页轮播图的图片地址、首页推荐商品的内容等等)。对于这些内容的修改,我们可以让程序员直接修改前端代码来实现,但是工作量巨大,而且还需要频繁的把程序上线下线很容易出差错。我们也可以使用CM...
2020-02-08 22:42:48 2664
原创 RabbitMQ的消息模型
1.消息队列(MQ,MessageQueue)消息队列里可以存放大量消息,这些消息由生产者生成放到队列里,等待消费者获取并处理。使用消息队列可以提升系统的性能,降低系统耦合性。比如说,一个发短信的系统。如果不用消息队列,每发送一条短信都要经过----- 需求产生、发送短信。两个步骤。而发送短信这个步骤相对很慢。这样系统性能就会被拖慢。如果把这两个步骤分开,就会极大地提高性能。而消息队列...
2019-12-18 15:09:16 288
原创 用vuejs实现一个简单的分页条
html模板<ul> <li class="prev" :class="{disabled: search.page == 1}" @click="prev()"> <a href="#">«上一页</a> </li> <li :class="[{active: search.p...
2019-11-23 23:00:35 380
原创 Vue单页应用中的同步ajax请求
1.什么是Vue的单页应用传统的后台管理系统有很多功能模块,需要写很多网页。我们可以使用Vue,通过vue的路由和组件功能,只写一个页面就可以完成一个管理系统。2.axios的使用//1.需要引入的依赖import axios from 'axios' //2.可以对axios做一些配置axios.defaults.baseURL = “xxx”; // 设置axios的基...
2019-10-03 16:12:26 2127
原创 ES6基本语法和Vue简单实例
1.ES6入门1.1定义变量1.1.1用const定义常量//用const定义一个常量 const a = 100;常量就是不会变化的。你强行改变它的值会报错。ES5中不管常量和变量,都是用var定义。1.1.2用let取代var,定义变量 for (var i = 0; i < 4; i++) { console.log(i) } ...
2019-09-30 15:25:45 274
原创 电商网站,商品规格的设计思路
1.商品规格数据结构如图,这是一个商品详情页,它包括商品名称、价格、描述、规格等等数据信息。我们应该如何把这些数据存储到数据库,如何设计数据模型,是一个很关键的问题。如果设计的不好,会大大增加开发、运营、维护的成本。首先,我们需要知道,这些参数不能存在一张表里,因为每个商品的规格参数不同,一个商品的每个规格的价格、名字等参数都不同。一个商品和该商品的所有规格是一对多的关系,所以要分...
2019-09-28 21:38:45 13817 13
原创 Redis的持久化策略
一、为什么做持久化如果我们想要redis仅仅作为纯内存的缓存来用,那么可以禁止RDB和AOF所有的持久化机制。但是在企业实际环境中对数据的安全性非常重视。缓存雪崩:当redis集群挂掉,再启动时如果没有做数据备份,集群里就没有数据了。用户的请求就会都去mysql数据库中去查找数据。一下子mysql承受不了这么大的并发,也挂了。所以,在企业级的redis架构中,持久化是必不可少的。持久...
2019-09-15 22:05:16 155
原创 Redis企业级部署
一、单机版Redis安装1.去redis官网下载一个最新版的Linux版redis包,(就是后缀为.tar.gz的)2.安装一些必要的环境wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gztar -xzvf tcl8.6.1-src.tar.gzcd /usr/local/tcl8.6.1/unix/...
2019-09-04 23:45:37 464
原创 上传文件请求绕过网关
一、问题描述1.本例中,我需要请求上传文件微服务的接口,并且绕过Zuul网关。因为请求会携带图片。如果再通过网关的话,会非常浪费资源。2.图片上传是文件的传输,如果也经过Zuul网关的代理,文件就会经过多次网路传输,造成不必要的网络负担。在高并发时,可能导致网络阻塞,Zuul网关不可用。这样整个系统就瘫痪了。所以文件上传需要绕过网关。二、解决方案1.Zuul的路由过滤Zuul中...
2019-09-04 00:55:07 3986 1
原创 redis replication主从架构
这就是redis replication(也就是redis主从架构)的基本结构。读写分离的redis集群,比非读写分离的redis集群,QPS提升5倍。一、图解1.上图是四个redis节点构成的redis集群,采用了redis replication主从架构。2.Master节点是主节点,Slave节点是从节点。3.主节点负责写操作,从节点负责读操作。4.主节...
2019-09-03 23:36:03 194
原创 FastDFS为什么要用Nginx做代理
一、FastDFS简要介绍1.是什么FastDFS就是一种轻量级的、常用的分布式文件系统,通常用作图片服务器。2.两个部分都是干什么的FastDFS分为两个部分,Tracker和Storage。Tracker作为协调者,用户上传和下载文件都要通过tracker。Storage是存储节点,主要用来存储文件。storage可以分成多个组,每个组有若干个节点,这些节点放的文件...
2019-09-01 21:56:59 2265
原创 跨域问题解决方案
为什么会有跨域问题因为跨域问题是浏览器对于ajax请求的一种安全限制,一个页面发起的ajax请求,只能是与当前页相同域的url,这能有效的阻止跨站攻击。所以跨域问题只针对ajax请求,不包括静态资源的请求。什么是跨域问题当ajax请求和页面的域名不同、端口不同、协议不同时就会产生请求失败的情况。协议不同可以是,http协议和https协议。如果出现跨域问题,浏览器控制台...
2019-08-29 14:29:48 359
xftp_5.0.1028
2018-08-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人