自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 TCP协议:如何保证页面文件能被完整送达浏览器

衡量Web页面性能有一个重要指标**FP(first paint),指从页面加载到首次开始绘制的时长。**这个指标直接影响了用户的跳出率、pv、更高的参与度以及更高的转化率。影响FP的一个重要指标就是网络加载速度理解网络的关键就是对网络的协议有深刻的认识。通常的网络通信都是基于TCP/IPUDP/IP进行的。主机之间都是通过数据包来进行网络通信的,下面将通过一个数据包的“旅程”来讲解一下以上两个概念IP协议(网际协议)把数据包送达目的主机计算机的地址成为ip地址,访问任何网站实际

2022-04-18 21:58:12 357

原创 年后找工作筹备计划

一、需要了解并能够口述的面试题1.1 JS懒加载闭包1、闭包2、闭包3防抖节流(此处联系user端tabs随滚动触发事件)内存泄露深拷贝(深拷贝需要能够默写)js事件模型cookie webstorage循环引用变量提升原型链同步异步(视频)js任务(视频)以上两个是一个系列视频的一部分,可以选择把这个系列视频看完1.2 es6阅读文档1.3 css3 html5 等基础知识该文档对应的css和html知识1.4 promise(属于js,但需要看视频)视频地址

2022-01-25 13:46:27 906

原创 记录四现象工作法的思考

11.17 关于思维整理以近期坚持实践日常事务四象限为出发点,引发的思考认清过去:告别混乱的生活以前的生活充满了犹豫与错误的选择,犹豫于现在干什么最好,错误于仿佛每走一步路都不是最佳选择,生活没有任何的安排,习惯于拖拖拉拉,有大概的方向而没有明确的目标。 举个最近的例子,当时离一次比赛的结项报告答辩还有两天,而手里正好有需要跟上进度的项目,又有一些衣物需要整理,恰恰这时,因为刚跟朋友们团聚,感觉还是先把这些事情放一放。当时觉得,结项无非就是随便说几句,毕竟东西已经做出来了也就没放在心上,项目.

2021-11-17 14:05:54 359

原创 前端工具API

在这里插入代码片一、APPgo(hash值):hash跳转SPA(单页面)内进行hash跳转无刷新的跳转到另一个urllogout:登出删除Cookie(admin-token)删除Cookie(admin-profile)清空权限列表删除当前用户缓存的信息api(后端api调用接口)path:路径params:参数列表options:配置信息KvStorage缓存工具集:存储数据在浏览器中。存储方案三者使用的优先级从上到下。LocalStorag

2021-10-24 17:16:24 243

原创 定时任务框架初步学习

9.10 定时任务框架初步了解阅读框架实现方式,有助于更好的使用框架,理解设计思想。一、基本使用了解定时任务的基本使用1.1 引入框架源码1.2 调用SchedulerManager创建定时任务该类是定时任务的线程管理工具,可通过此类提供的方法,创建定时任务,并加入线程队列 schedulerManager.schedule("activitybegin-job", "0 0/5 * * * ?", new ScheduledJob() { @Override priva.

2021-09-10 15:45:03 346

原创 评论功能实现

9.8 评论功能实现整理这里以实现文章页面的评论列表为例一、业务分析模拟B站评论业务1.1 业务逻辑当访问某篇文章的时候,尝试获取该文章的评论列表。按照文章评论配置(这些配置单独一张表,与文章一对一关系),进行分页展示相应的一级评论和二级评论。...

2021-09-08 21:02:28 8526 7

原创 OSS与业务场景学习

9.1 Oss学习、Oss文件直传前端、耗时任务异步处理方式Oss搭建Oss文件传输直接与前端交互重任务的异步处理一、Oss阿里云存储Oss,将文件图片等资源存储在云端。应用场景:存储项目中文件、图片、音频等资源不易在数据库和服务器中存储的资源解决问题:文件不经过Api服务器,减轻APi服务器压力。减少数据库压力,提高读写性能1.1 创建Bucket1.2 权限设置1.3 项目引用1.4 搭建与使用Oss业务框架二、Oss与前端直传Oss与前端直传,能够减轻Api服务.

2021-09-03 11:29:10 1483 3

原创 Kv缓存用法指南

8-27 kv缓存初步学习一、理解业务中的使用缓存优势举个简单的例子,我们可以类比去图书馆看书。没有使用缓存的情况当我们想要查看某本书的时候(查看数据库的记录),需要先去图书馆找到这本书所在的类目(记录存在的表),然后再找到这本书,看一会后再把这本书还回去。但是如果有几本我们常看的数,我们每次看都要去图书馆取,取完了再放回去太麻烦。使用缓存的情况当我们想要查看某本书的时候(查看数据库的记录),需要先去图书馆找到这本书所在的类目(记录存在的表),然后再找到这本书,把这本书借回去放到自己的书架.

2021-08-27 16:02:49 1201

原创 session存储、登录认证、权限认证解决方案

8-25 session存储、登录认证、权限认证解决方案初步学习本章节将围绕登录功能的实现,来搭建sessin存储方案登录认证方案权限验证方案一、整体思路分析1.1 登录思路登录的目的:生成token令牌:在登录之后,当访问那些需要登录才能访问的接口时,放置令牌在请求中是证明我们登录过的手段存储session到数据库:session是什么,为什么要存储session,后面会介绍到整体思路分析效验数据:验证账号密码是否正确写session:提供我们在项目的任何地方.

2021-08-25 16:10:28 1534

原创 Http理解、跨域处理、复杂查询预检处理综合应用

8.23 分析封装的基础拦截器BaseInterceptor的跨域处理而深入学习的一系列知识点汇总一、理解Http1.1 Http简介HTTP协议工作于客户端-服务端架构上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器有:Apache服务器,IIS服务器(Internet Information Services)等。Web服务器根据接收到的请求后,向客户端发送响应信息。HTTP默认端口号为80,但是你也可以改为8080或者其他端口。1.

2021-08-23 18:48:07 272

原创 多巴胺分析

动力的源泉:多巴胺多巴胺是为我们做事情产生动力的一种化学物质,对于做那些能够促使我们产生更多的多巴胺事情,将会使让有更多的动力去做,这个时候我们表现的是积极、兴奋、幸福。相反,如果做某件事情让我们产生的多巴胺很少,那我们将表现为无聊、疲惫。因此,了解多巴胺的机制,并根据自身情况了解该如何安排自己的事情,将会更有利于我们朝着理想的生活奋斗。脱缰的野马:耐受性当处在寒冷环境的时候,我们会想办法让自己暖和起来,比如搓手,身体发抖。当处在炎热环境的时候,我们会不停的出汗,机体想要通过这种途径散发热量来维

2021-08-16 17:52:12 795

原创 多语言异常处理用法指南

8-9 多语言异常架构初次分析本文将以程序运行的顺序进行讲解,涉及到的方法都会解释。末尾会整理所有用法,并列举可能出错的细节问题。一、引入框架1.1 基础架构Exception相关ServiceException…等自定义的ServiceExceptionDefaultExceptionInterceptor全局异常处理的地方,我们可以在这里指定哪些异常在这里被拦截处理。多语言处理工具recources包下的所有类日志L错误码Error基础工具包u.

2021-08-10 16:57:18 681

原创 BaseRepository 用法指南

8-7 BaseRepository API本文将通过讲解+测试来一一列举该JPA的用法与特点。并在结尾附上API。一、使用流程在理解使用的每一步意义之前,我们先来了解一下整体使用过程。本章节将通过描述对Article类的查询来进行。查询条件为:根据userId来查找根据title来全模糊匹配根据descr来左模糊匹配进行分页,每页2条数据,查找第2页内容正序排序1.1 搭建使用环境1.1.1 引入框架源码引入这些类,这些类是我们的封装JPA框架的底层代码。1.1..

2021-08-07 16:18:51 3197 1

原创 Spring Data JPA分析与封装

在这流行前后端分离的时代,mvc架构

2021-08-06 16:34:04 1389

原创 对于未来,应该做出什么改变?

认清过去:对待过去,是憎恨还是无视?从出生到现在,自己有过很多的失败和悔恨,我总喜欢在自己对现在的生活丧失热情的时候找一个安静的地方,想象着把自己推倒重来,带着现在的心智回到一个我觉得可以挽回一切的时间节点,并对自己的人生重新定义,重新编排。但一会的功夫,当我重新审视这个世界的时候,巨大的反差会让我对现在所处的生活更加的厌恶,更加后悔自己当初做的一些决定,对于一些不可避免的选择,又会抱怨自己的身世和环境。内耗增加了、对生活的信心更少了,但是生活还在继续,我还是没有做出改变。是太多的尝试都失败,绝望了,但生

2021-08-02 23:33:37 254

原创 回溯思想与数独问题解决

一、回溯思想回溯算法是为了解决按照特定路线穷举的问题。比如说自动寻路、走迷宫、数独等需要列举所有结果并选择能够完成任务的路线的问题。二、回溯算法解题框架public void backTrace(int i){ if(i > x) return; // 终止条件 // 做选择 doSelect(); // 进入下一层 backTrace(i + 1); // 撤销选择 cancelSelect();}三、解决问题3.1 简单数独问题假定给定只有一排的棋盘,里面有几个

2021-07-15 10:12:56 250 2

原创 《动态规划》买股票的最佳时机

记录一道非常有趣的动态规划问题一、题目位置https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/二、解法1. 暴力解法 public int maxProfit(int[] prices) { if(prices == null) return 0; // 状态:利润 // 选择:购股日期 // dp(n)定义:输入一个数字n代表.

2021-03-24 13:52:54 82

原创 redis事务、锁、分布锁

redis事务、锁、分布锁都是对redis数据的一种并发保护措施,只是作用域和应用场景不同。一、redis事务redis事务指的是提供一种将多个命令打包,以自行按顺序地执行,如果有一个环节出错,所有操作都会回滚。如果有用户在操作这个事务当中的数据,其他用户都不能访问。1.1 事务三个阶段开启事务命令入列执行事务/放弃事务1.2 事务四大指令multi:开启一个事务exec:执行一个事务discard:取消一个事务watch:为事务提供一个锁,用来监听一个或多个变量,如果这.

2021-03-18 15:42:21 149

原创 使用配置属性

一、细粒度的自动配置Spring有两种不同的(但相关)的配置:bean装配:声明在spring应用上下文中创建哪些组件以及它们之间如何互相注入的配置。属性配置:设置Spring应用上下文中bean的值的配置...

2021-03-18 14:39:38 109

原创 Redis缓存穿透

一、什么是redis缓存穿透假如,有数百名黑客,疯狂的登录错误的账号。按照一般流程,我们首先会在redis缓存中查询有无该账号,如果没有,继续往数据库中查询该账号。那么,缓存机制就是去意义了。因为所有请求都绕过redis缓存,直接命中在数据库中,数据库就会宕机。二、解决办法当用户进行登录的时候,如果在redis和数据库中都没有找到账号,那么,暂时把该账号通过redistemplate.opsForValue().set(username,"",300,TimeUnit.MINUTES);存储起来

2021-03-15 21:53:03 502

原创 缓存Session到Redis服务器中

spring在管理session的时候,会把session放到服务器的内存中,这样影响程序性能,学习了redis,我们就可以把session放到redis当中进行管理一、添加redis和spring session支持依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactI.

2021-03-15 21:45:20 620

原创 SpringSecurity

一、添加starter添加starter到pom.xml我们即可得到如下安全性所有的Http请求路径都需要认证不需要特定的角色和权限没有登陆页面认证过程是通过HTTP basic认证对话框实现的系统只有一个用户,用户名为user二、保证应用安全性的基本实现通过登录页面来进行认证。提供一个注册页面,注册完成即成为我们用户。对不同的请求路径,执行不同的安全规则。比如,主页和注册页面不需要认证。三、 配置SpringSecurity类的注解标识:@Configuration@E

2021-03-15 20:49:36 76

原创 认识Spring

一、项目结构mvnw和mvnw.cmd:maven包装器(wapper)脚本文件,借助这些甲苯,即使电脑上没有maven环境也可以构建项目pox.xml:Maven构建规范文件xxxApplication.java:SpringBoot主类,用来启动SpringBoot项目application.properties:配置属性的地方static:存放任意为浏览器提供服务的静态内容(图片、样式表、Javascript)templates:用来存放渲染内容到浏览器的模板文件xxxApplicat

2021-03-14 21:14:00 132

原创 动态规划解题套路框架

学习算法不在一招一式,而是培养框架思维。所谓框架思维,就是套路。不管增删改查,这些代码都是永远无法脱离的结构,你可以把这个结构化作大纲,根据具体问题在框架上添加代码就行了。一、认识数据结构数据结构是工具,算法是通过合适的数据结构解决待定为你的方法。1.1 数据结构存储方式数据结构的底层存储方式有两种:数组(顺序存储)链表(链式存储)1.2 数据结构种类链表数组散列表树图队列栈堆1.3 数据结构的基本操作数据结构的操作无非:增删改查1.4 数据结构遍历 +.

2021-03-14 20:20:45 164

原创 复杂度、二分法、标记法

我们进行编程,无非就是对数据的操作打交道。数据结构与算法就是为了在设计程序的时候更省时、更省内存的处理数据。一、复杂度我们怎么才能决定哪个程序设计的更省时、省位置?如果仅仅通过程序开始到结束运行时间的差额和内存使用情况来计算会出现以下几个问题。硬件依赖:当同一个程序运行在不同配置的电脑电脑时运行的时间可能不同。测试结果需要事后才能计算:一般情况下,我们的程序希望在伪码阶段就能够预测程序的性能。测试结果受原始数据特性影响大:举个例子,在1~100中查找一个数组,如果按照暴力的解法,而恰恰需要.

2021-02-02 13:22:00 626

原创 gitee使用

使用在终端打开项目。git init初始化git仓库。git add .将需要推送的文件发送到本地仓库中统一由git管理。git commit -m "info"添加推送携带的信息。git remote add origin xxx添加推送的远程仓库源,xxx为仓库位置。git push -u origin master推送到远程仓库中,master分支。其他git命令git status查看本地git仓库中管理的文件和未管理的文件git add xxx添加某个文件到本地仓库

2021-01-06 19:26:43 78

原创 vue+element-ui+mybatis-plus+springboot实现分页查询功能

一、准备利用代码生成器,生成User相关文件userMapper.xmluserServiceuserServiceImplUserController创建对应查询视图对象(package:vo)userVO:属性为提供的可查询的条件二、为UserMapper添加查询方法IPage<User> findUserPage(Page<User> page,@Param(Constants.WRAPPER) QueryWrapper<User> wrapp

2020-12-20 21:02:09 1759 2

原创 带着目标学习编程

目标大厂一、去大厂需要什么能力?基本功项目经验编码能力表达能力(有能力说不出来是万万不能的)二、基本功首先搞明白,面试就像高考,面试官是出题人,自己是考生。想象一下高中的学习阶段:老师授课每日练习复习考试复习模拟考试高考借鉴高中教育流程,我们要站在老师的角度来考虑问题:面试会问什么?网上搜索一大堆文档。当我们拿到一份文档的时候,我们会感到头大——知识点太多,很多陌生的知识,不知道从何入手。这个时候,我们可以想一想,我们高中三年下来,其实也学了非常多的知识点.

2020-12-17 20:12:05 111

转载 理解vue中export default与import

文章转载地址export default与import 是vue在使用ES6模块化的体现一、什么是ES6(JavaScript模块间通信方案)官方解释:历史上,JavaScript 一直没有模块(module)体系,无法将一个大程序拆分成互相依赖的小文件,再用简单的方法拼装起来。其他语言都有这项功能,比如 Ruby 的require、Python 的import,甚至就连 CSS 都有@import,但是 JavaScript 任何这方面的支持都没有,这对开发大型的、复杂的项目形成了巨大障碍。

2020-12-16 00:33:08 534

原创 字符集、ASCII、Unicode

ASCII是国际通用的字符集。字符集计算机之间通信最终要转化为二进制的机器码进行通信,但是我们通常不可能使用机器码,也同样很难读懂机器码。如果我们要输入一个字符a,我们需要将字符a转化为一个二进制码,再进行通信。而字符集,把所有的我们可能用到的字符定义为指定二进制进行编排。ASCII码ASCII码就是我们最常用的一套字符集规范百度百科一个字符通常由8个比特(bit),也就是1个字节(byte)来表示。一个byte最大可以表示255。我们可以看到ASCII通过0~127描述常用的符号.

2020-12-15 00:08:41 650

原创 Springboot+axios+vue使用VerifyCodeUtils工具类实现验证码图片功能

一、环境准备ideajava 1.8maven 3.6.3操作系统:window10vue.min.jsaxios.min.js二、VerifyCodeUtils工具类import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.RenderingHints;import java.awt.geom.AffineTran

2020-12-13 18:45:46 681 2

原创 数据库设计规范与设计工具

数据库的设计要遵守三范式来设计,这样的设计的好处是可以消除数据冗余,缺点是增加了sql语句的难度。因此,我们在设计表结构的时候不一定要完全遵守三范式,如果遇到复杂问题,可以尝试着打破三范式找到解决问题或优化性能的方法。一、三范式第一范式表中的字段要保持原子性,即字段不可再分eg学生信息表中的联系方式有两种——邮箱和电话,如果作为一个字段(联系方式)就违反了第一范式的要求。我们应该设置为两个字段(邮箱)(电话)第二范式基于第一范式,表中非主键要完全依赖于主键,不能出现部份依赖eg.

2020-12-13 13:00:10 213

原创 Redis服务端学习笔记

一、什么是RedisRedis是一款key-value型的nosql缓存数据库。二、nosql与sqlnosql是非关系型数据库,sql是关系型数据库。区别(引用百度百科)数据存储方式不同。关系型数据天然是表格式的,因此存储在数据表的行和列中。数据表可以彼此关联协作存储非关系型数据是大块组合在一起。通常存储在数据集中,就像文档、键值对或者图结构。你的数据及其特性是选择数据存储和提取方式的首要影响因素。扩展方式不同SQL数据库是纵向扩展,关系型数据支持更多并发量,纵向扩展提高处理

2020-12-12 14:30:04 265

原创 云服务器搭建redis环境

Redis是key-value存储的nosql,作用于缓存。是持久化数据库与客户端的之间的一个中间件。一、下载redis压缩包官网下载二、上传到远程服务器准备工具:xshell需要下载的软件:解压与上传工具 rz解压tar -xzvf redis-x.x.x.tar.gz安装make & make install三、修改配置参考文档...

2020-12-10 23:29:22 140

原创 jQuery学习笔记

12-10,1h,视频学习一、什么是jQueryjQuery是js的库,代码简练。且解决了浏览器兼容问题。二、jQuery使用版本选择jQuery一共有三个版本1x2x3x一般大的企业都用1x,所以我们也用1x只有1x支持ie浏览器,不足的是正是因为如此比较大。类型选择压缩版未压缩版阅读编写的时候用未压缩版运行的时候用压缩版1. 下载jQuery文件官网下载2. 项目中引入jQuery文件<script src=""></script&gt.

2020-12-10 23:08:40 182 2

原创 jedis连接redis失败解决

一、设置云服务器安全组添加6379端口号的访问权限,授权对象为0.0.0.0二、配置redis.conf将绑定端口号注释。Linux上的redis处于安全保护模式,所以不能直接从外部建立连接。两种方式解决2.1 关闭保护模式2.2 加上安全认证,redis默认没有密码可以直接访问,这里加上密码三、重启redis服务杀掉redis进程,重启服务,并使用刚修改的配置文件ps -ef |grep redis //查看redis的进程,查看进程idkill -9 进程id /

2020-12-10 18:18:10 405 2

原创 Vue代码结构与双向绑定

声明式渲染在div.app中以{{}}的形式嵌入其中定义变量<script>export default{ name:"app", data(){ return { a:'', b:[], ... } }}</script>or<script>export default{ name:"app", data:function(){ return { a:'', b:[], ... } }

2020-11-23 23:39:14 134

原创 初识vue

vue是一款javascript的渐进式框架,有着易用、灵活、性能优的优点前言之前一直在用语雀写博客,来到CSDN后感觉到了浓厚的code气息所以决定从今天开始,在CSDN写博客。搭建环境下载node.js我们这里不需要了解node.js是何方神圣,因为下载node.js是为了使用它的包管理工具(npm)来从npm服务器上下载我们的vue与vue脚手架**检查是否下载成功node -v //检查node.js是否安装成功npm -v //检查npm是否安装成功我们还需要vu.

2020-11-23 23:00:46 93

空空如也

空空如也

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

TA关注的人

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