- 博客(28)
- 资源 (2)
- 收藏
- 关注
原创 React全局状态管理 - react-redux
Redux组成redux由action、reducer、store三个部分组成redux工作流程redux分发理解action是把数据从应用传到 store 的有效载荷。它是 store 数据的唯一来源。一般来说,就是通过 store.dispatch() 将 action 传到 store。action 本质上是 JavaScript 普通对象。我们约定,action ...
2020-02-11 16:17:49
1118
原创 HTML 标签分类
标签分类块级元素{block}行内元素{inline}行级块元素(也称块级行元素){inline-block}块级元素可以设置宽高、内、外边距;独占一行(即前后均有换行);块级元素如果不设置宽度和高度,则宽度默认为父级元素的宽度。高度则根据内容大小自动填充。常见的块级元素:div、p、h1、h2…hn,ol、ul、dl、li、form、table行内元素不可设置...
2020-02-11 16:16:03
355
原创 防抖、节流与回流、重绘
防抖:任务频繁触发的情况下,只有任务触发的间隔超过指定间隔的时候,任务才会执行。/** * 防抖函数 * @author vision * @param {执行函数} fn * @param {延迟} delay */export function debounce(fn, delay) { let timer = null; return function() { ...
2020-02-11 16:13:20
973
原创 浏览器解析文档资源、渲染页面的流程
浏览器通过 HTMLParser 根据深度遍历的原则把 HTML 解析成 DOM Tree。浏览器通过 CSSParser 将 CSS 解析成 CSS Rule Tree(CSSOM Tree)。浏览器将 JavaScript 通过 DOM API 或者 CSSOM API 将 JS 代码解析并应用到布局中,按要求呈现响应的结果。根据 DOM 树和 CSSOM 树来构造 render Tr...
2020-02-11 16:06:00
395
原创 什么是闭包?(以防抖函数作为示例)
什么是闭包?简单来说,就是能够读取其他函数内部变量的函数就是闭包。例如:防抖和节流函数就是很好的闭包例子闭包的产生其实来自于js的变量作用域。在js中,变量的作用域属于函数作用域,当函数执行完成之后,作用域就会被清理,内存也就随之被回收。但是由于闭包函数是建立在函数内部的子函数,闭包函数又能够访问父函数的变量,所以就会导致当父函数执行完成时,其作用域不会销毁,该变量永久的保存在内存中直到闭包...
2020-02-11 16:04:32
1815
原创 JavaScript基础类型
1. 七种基础类型nullundefinedbooleanNumberStringSymbol(较新标准)BigInt(新标准)NaN 也属于 number 类型,并且 NaN 不等于自身2. 基础类型的特性基本类型的值是保存在栈内存中的简单数据段基础类型是不可变的即不能强行修改:Array.prototype.sort.call(‘abc’);(会报错)...
2020-02-11 16:02:58
210
原创 离开回调地狱,进入Promise时代
简介在JavaScript的世界中,所有代码都是单线程执行的。由于这个“缺陷”,导致JavaScript的所有网络操作,浏览器事件,都必须是异步执行,所以所期望的结果往往就会不一样,由于JS灵活性,便产生了callback回调函数,将函数作为参数,以获得期望结果,这在简单的异步操作中有很好的表现,但在复杂/多层异步中就会变得恐怖起来,代码将会看起来非常臃肿,且不易维护,这就是“回调地狱”。为了解...
2020-02-11 15:59:35
187
原创 每周一更:网络上值的一看的技术博文第二期
这一周发现一个前端进阶的知识库github,该库收纳了一个合格前端必要掌握的知识体系,并且该库还在持续更新,知识技术都属于当下最新,非常值得一看20W字囊括上百个前端面试题的项目开源了github:https://github.com/xiaomuzhu/front-end-interview1. Java:控制反转(IoC)与依赖注入(DI)内容节选:在我们编码的过程中,通常都需要...
2019-08-17 15:30:30
266
原创 算法的时间复杂度计算方式
基础我们假设计算机运行一行基础代码需要执行一次运算。function foo(num) { console.log("Hello, World!"); // 需要执行 1 次 return 0; // 需要执行 1 次}那么上面这个方法需要执行 2 次运算function foo(num) { for(let i = 0; i<nu...
2019-08-13 22:27:21
1214
原创 每周一更:网络上值的一看的技术博文第一期
1. 挑选 npm 模块很费事?掌握这些技巧就能事半功倍!熟悉 Node 或前端 JavaScript 工作的同学都知道,社区中的可用模块有数十万之多。开发人员经常会提问或抱怨,比如说:“开发易,选模块难…”“X 模块和 Y 模块区别在哪里,哪一个更好?”“npm 很好用,可是那些模块指不定半年一年多就没用了,具体看它们的支持情况。”在谈到这些问题时,你通常会得到十个不同的答案。...
2019-08-11 11:19:17
157
原创 5道JavaScript面试题解析,理解变量提升、闭包、事件循环和微任务
问题1:下面这段代码,浏览器控制台上会打印什么?var a = 10;function foo(){ console.log(a); var a = 20;}foo();答案:undefind解析:使用var关键字声明的变量在JavaScript中会被提升,并在内存中开辟空间,由于没有赋值,无法定义数值类型,所以分配默认值undefined。var声明的变量,真正的数值...
2019-08-10 10:53:32
319
原创 JavaScript 经典算法面试题 - 无重复字符的最长子串的长度
题目给定一个字符串,请你找出其中不含有重复字符的 **最长子串 **的长度。示例**输入: **“abcabcbb”**输出: **3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。解题思路:滑动窗口思想{个人本身不知道这个词,但解题思路是一样,利用队列思想进行解题}什么是滑动窗口?其实就是一个队列,比如例题中的 abcabcbb,进入这个队列(窗口)为 a...
2019-08-08 00:02:21
540
1
原创 JavaScript 经典算法面试题 - 移动零
题目给定一个数组nums, 编写一个函数将所有 0 移动到它的末尾,同时保持非零元素的相对顺序。例如, 定义 nums = [0, 1, 0, 3, 12],调用函数之后, nums 应为 [1, 3, 12, 0, 0]。注意事项:必须在原数组上操作,不要为一个新数组分配额外空间。尽量减少操作总数。解法一:思路:查找出数组中所有的0,从数组中移除后立刻push到数组末尾。其中参数...
2019-08-07 09:08:00
331
转载 99%的人都理解错了HTTP中GET与POST的区别
GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出的他们的区别,你非常清楚知道什么时候该用什么。当你在面试中被问到这个问题,你的内心充满了自信和喜悦。你轻轻松松的给出了一个...
2019-08-06 11:50:42
140
原创 JAVA 基础 之 基本数据类型、引用类型和包装类
java中数据类型有两类基本数据类型引用类型基本数据类型整数型byte - 8bitshort - 16bitint - 32bitlong - 64bit 【赋值时一般在数字后加上** L**(大小写都可以,建议大写与数字1或字母i大写区分开)】浮点型float - 32bit 【直接赋值时必须在数字后加上 F(大小写都可以)】double - 64bit...
2019-08-06 09:33:22
1633
原创 JAVA 基础 之 JVM面试题知识点梳理(1)
JAVA 基础 之 JVM面试题知识点梳理(1)JVM面试题主要考察知识点内存模型,主要考察JVM的内存结构,各个结构的定义、作用以及可能会出现的问题(Eg:栈溢出)PC寄存器Java虚拟机栈 -> 存放基本数据类型、对象的引用、方法出口等,线程私有。本地方法栈 -> 和虚拟栈相似,只不过它服务于Native方法,线程私有。Java堆(Heap) ->...
2019-08-06 09:29:09
1539
原创 Spring Boot 学习------填坑系列(1)
springboot +mybatis +thymeleaf +swagger2整合,根据百度到的各种博文开始搭建springboot,单一搭建到是没什么大坑,毕竟spring官方都说了不能把时间浪费在搭建环境上,就是整合的时候存在各种各样的坑,翻了两天论坛、简书,看了各路大神的搭建过程,总算是把自己的需求搭建完成了,整理一下,顺带推荐一位我觉得写的很棒的大牛LuisChensprin...
2019-08-06 09:14:38
218
原创 Spring标签及注解备注(2)
1. Controller, RestController的共同点 都是用来表示Spring某个类的是否可以接收HTTP请求2. Controller, RestController的不同点 @Controller标识一个Spring类是Spring MVC controller处理器 @RestController: @RestControlle...
2019-08-06 09:11:56
238
原创 Java 利用awt 生成随机验证码图片
VerifyCodeUtilpackage cn.vision.gateway.util;import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.RenderingHints;import java.awt.geom....
2019-08-05 17:21:42
355
原创 【杂文】开发者从工具更新到工具规划(1)-------MySQL5.7免安装版配置
嗯呢,昨天本本莫宁奇妙开不了机,安全模式都进不去,只能通过U盘重装了┭┮﹏┭┮。因为只有系统盘是120g的固态,所以将所有的软件都安装在系统盘里,这种骚操作直接让我一天处于“下载→安装→配置环境→破解开发工具”的状态中。有好有坏吧,起码数据库是“删库跑路”了,Adobe、微软、jetbrains家族集体罢工(穷学生,没钱买正版,工作之后补上),也解决了一个软件更新老大难的问题(做开...
2018-08-16 17:19:26
261
原创 基于spring Boot的微信开发————AccessToken的缓存方案
通过微信授权拿到的token有一个7200秒的有效期,并且获取token的次数也有一定限制,所以token不能“随用随取”,通过网络资源获取,解决方案有①储存在数据库中,每次使用时都查询一次数据库,②定义静态全局变量(单例模式),开启线程监控变量是否“过期”,③结合数据库做缓存,开启定时任务,每7200秒从微信服务器中获取一次token并保存到自己的数据库中各方法的优缺:①:简单粗暴,对数...
2018-08-06 10:17:19
4687
4
原创 Spring 系列 --------------手动注入bean,用于静态工具类
基于spring boot搭建属于自己的技术框架时,突然发现以前都不在意的问题---静态工具类/拦截器/过滤器....非spring管理的组件时,我想使用service层的方法时,该如何实现?一开始时是觉得直接将该类用@Component注册成spring 组件算了,然后发现虽然可以实现,但是多了一层预处理,并且在每一个非spring组件中都要进行预处理(不同类型)。思考许久,发现spring b...
2018-08-03 15:37:54
2332
1
原创 微信API整理(1)——微信常用API
整理一下微信API文档,以备未来开发,本文API内容为常用的微信开发API整理,内容有待完善......package cn.vision.weixindemo.utils.base.API;public class WeiXin_API { // 授权类 /** * 获取授权Token * https请求方式: GET * 字段 ...
2018-08-02 11:55:19
5824
1
原创 微信API整理(2)——网页授权、JSSDK授权API
整理一下微信API文档,以备未来开发,本文API内容为网页授权和JSSDK授权票据获取package cn.vision.weixindemo.utils.base.API;public class WeiXinWeb_API {// 网页授权四步走 /** * 第一步:用户同意授权,获取code * 参数 是否必须 ...
2018-08-02 11:52:32
3433
原创 Mybatis学习入门--------基本环境搭建
工具及软件编辑器:intellijIDEA项目基础:使用maven构建demo项目(maven构建项目,可以节省导jar包的繁琐,由于采用依赖注入的方式,基本不会出现漏jar包导致项目出错的情况)项目结构(备注:使用log4j作为日志输出管理)pom.xml <dependencies> <!-- 引入junit,作为测试 --> ...
2018-08-02 11:40:54
181
原创 基于腾讯云服务器centos7系统搭建ngrok内网映射
前文最近在学习开发微信公众号,由于微信官方要求需要可访问的域名才能测试,使用他人的ngrok又时常掉线等各种原因,故搭建了个ngrok服务器作为个人测试用1、此文用于个人笔记2、不保证正确性(有些东西我自己还没摸索清楚)3、欢迎指正正文1、域名问题:自己去买个域名,并将一级域名解析到自己的服务器的ip下(域名解析各大云服务商都有提供)(xxx.cn)ngrok作为测...
2018-08-01 15:39:04
1993
原创 Spring标签及注解备注(1)
记录开发过程中遇到的标签疑问,通过网络资源搜索之后整理的内容,如有遗漏或不解的标签,欢迎留言,我会去寻找相关资料并整理发布 1. 使用@Controller定义一个控制器 2. 使用@RequestMapping映射请求 3. 使用@RequestParam绑定请求参数到方法参数 4. 使用@ModelAttribute提供一个从模型到数据的链接 5. 使用@Se...
2018-05-17 15:16:08
427
转载 关于SpringMVC返回json数据的三种方式(转载)
方式一:使用JSON工具将对象序列化成json,常用工具Jackson,fastjson,gson。利用HttpServletResponse,然后获取response.getOutputStream()或response.getWriter(),直接输出。如下:这种方式最为直接,但是在既然已经用了SpingMVC框架的情况下,再用这种方式,有点不合时宜,out啦。方式二:非注解形式,配置Json...
2018-05-15 11:38:50
282
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人