HTTPS协议是如何保证安全的?
2019年10月11日 · 89 字 · 1 分钟
相信大家对于HTTPS协议都不陌生,但是应该存在以下疑问: HTTPS协议到底是如何运作的? HTTPS是如何解决HTTP协议的不安全特性的? HTTPS网站抓包为什么要信任证书? HTTP协议 HTTP协议是一个应用层协议,通常运行在TCP协议之上。它是一个明文协议,客户端发起请求,服务端给出响应的响应。
2019年10月11日 · 89 字 · 1 分钟
相信大家对于HTTPS协议都不陌生,但是应该存在以下疑问: HTTPS协议到底是如何运作的? HTTPS是如何解决HTTP协议的不安全特性的? HTTPS网站抓包为什么要信任证书? HTTP协议 HTTP协议是一个应用层协议,通常运行在TCP协议之上。它是一个明文协议,客户端发起请求,服务端给出响应的响应。
2019年9月27日 · 374 字 · 2 分钟
本文研究一下Javascript的this指向。 Javascript的this指向问题,有些人可能觉得很简单,有些人却觉得扑朔迷离,看完本文之后相应会对this的掌握有一个直观的判断,而不是"开局全靠猜"。 敲黑板 function函数this指向由调用方式确定,跟定义环境无关。 箭头函数this指向由定义环境决定,与调用方式无关,也不可以bind(this)。
2019年9月23日 · 289 字 · 2 分钟
本文研究一下Javascript的核心基础——原型链和继承。 对于使用过基于类的语言(如Java或C#)的人来说,Javascript的继承有点难以搞懂,因为它本身没有class这种东西。(ES6中引入了class关键字,看上去也像传统的OOP语言,但是那只是语法糖,底层还是基于原型)。 原型链 MDN上对于原型链的解释: 当谈到继承时,JavaScript 只有一种结构:对象。每个实例对象( object )都有一个私有属性(称之为 __proto__ )指向它的构造函数的原型对象(prototype )。该原型对象也有一个自己的原型对象( __proto__ ) ,层层向上直到一个对象的原型对象为 null。根据定义,null 没有原型,并作为这个原型链中的最后一个环节。
2019年9月20日 · 453 字 · 3 分钟
本文是力扣算法的第四篇,讲解寻找两个有序数组的中位数。 Question 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。
2019年9月17日 · 107 字 · 1 分钟
本文讲解Javascript变量提升引起的问题以及如何规避。 问题 今天看到一道有意思的面试题,考察的还真是JS的基本功,题目如下: var name = "world"; (function(){ if(typeof name === "undefined") { var name = "Jack"; console.
2019年9月16日 · 341 字 · 2 分钟
本文是力扣算法的第三篇,讲解无重复字符的最长子串问题。 Question 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。
2019年9月12日 · 189 字 · 1 分钟
本文是力扣算法的第二篇,讲解两数相加问题。 Question 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。
2019年9月12日 · 199 字 · 1 分钟
本文是力扣算法的第一篇,讲解两数之和问题。 问题 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
2019年9月10日 · 405 字 · 2 分钟
本文是NestJs的第九篇,讲解拦截器。 拦截器是一个实现了NestInterceptor接口且被**@Injectable**装饰器修饰的类。 拦截器是基于AOP编程思想的一种应用,以下是常用的功能: 在方法执行之前或之后执行额外的逻辑,这些逻辑一般不属于业务的一部分 转换函数执行结果 转换函数执行时抛出的异常 扩展函数基本行为 特定场景下完全重写函数的行为(比如缓存拦截器,一旦有可用的缓存则直接返回,不执行真正的业务逻辑,即业务逻辑处理函数行为已经被重写) 拦截器接口 每个拦截器都需要实现NestInterceptor接口的**intercept()**方法,该方法接收两个参数。方法原型如下:
2019年8月28日 · 387 字 · 2 分钟
本文是NestJs学习之旅的第八篇,讲解管道。 管道 熟悉Linux命令的伙伴应该对“管道运算符”不陌生。 ls -la | grep demo “|” 就是管道运算符,它把左边命令的输出作为输入传递给右边的命令,支持级联,如此一来,便可以通过管道运算符进行复杂命令的交替运算。