HTTPS原理解析

近年来各大公司对信息安全传输越来越重视,也逐步把网站升级到 HTTPS 了,那么大家知道 HTTPS 的原理是怎样的吗,到底是它是如何确保信息安全传输的?

阅读更多

koa洋葱模型

Koa 有两个核心知识点:一个是中间件ctx,一个就是洋葱模型。
中间件ctx利用js原型,很巧妙的把request和response对象封装在里面。
另外一个核心就是本文要分析的洋葱模型。

阅读更多

手写Promise

这是一道有着成熟的业界规范的 coding 题,完成这道题的前置知识就是要了解什么是 Promises/A+。
这道题的难点就在于它是有规范的,任何一个不满足所有规范条件的解答都是错误的。同时,成熟的规范也配套了成熟的测试用例,官方提供了 872 个测试用例针对规范中的所有条件一一进行检测,哪怕只有一条失败,那也是错误的解答。
而这道题的答题关键也恰恰是因为它是有规范的,只要我们对于规范了然于胸,那么编写代码自然也是水到渠成。因为官方规范提供了一个符合 Promises/A+ 规范的 Promise 应该具有的全部条件,并且在 Requirements 一节中结构清晰、逻辑充分的表述了出来,我们只需将规范中的文字转变为代码,就能够实现一个 Promises/A+ 规范的 Promise。

阅读更多

面试题:网页从输入网址到渲染完成经历了哪些过程?

相信大家都知道,这是前端面试中的一道高频考题,借着马上要去面试的时机, 在此做一个总结。

阅读更多

前端面试

准备出去面试找找自己的不足,为了在面试时掌握主动权,所以写这篇博客回顾前端知识点。

阅读更多

React事件机制

React基于浏览器的事件机制自身实现了一套事件机制,包括事件注册、事件的合成、事件冒泡、事件派发等
在React中这套事件机制被称之为合成事件

阅读更多

前端常用的设计模式

说到设计模式,大家想到的就是六大原则,23种模式。这么多模式,并非都要记住,但作为前端开发,对于前端出现率高的设计模式还是有必要了解并掌握的,浅浅掌握9种模式后,整理了这份文章。
那么,我们先了解六大原则

阅读更多

前端性能优化-CDN

互联网从逻辑上看是一张大网,但实际上是由许多小网络组成的,这其中就有小网络“互连互通”的问题,典型的就是各个电信运营商的网络,比如国内的电信、联通、移动三大家。
这些小网络内部的沟通很顺畅,但网络之间却只有很少的联通点。如果你在 A 网络,而网 站在 C 网络,那么就必须“跨网”传输,和成千上万的其他用户一起去“挤”连接点 的“独木桥”。而带宽终究是有限的,能抢到多少只能看你的运气。
另外,网络中还存在许多的路由器、网关,数据每经过一个节点,都要停顿一下,在二层、 三层解析转发,这也会消耗一定的时间,带来延迟。
最终结果就是,如果仅用现有的 HTTP 传输方式,大多数网站都会访问速度缓慢、用户体 验糟糕。
放到全球来看,物理距离非常大,你在北京,访问旧金山的网站,要跨越半个地球,地理位置距离远、运营商网络、路由转发的影响就会成倍增加。

阅读更多

理解ES6中的继承和派生

在ES6之前,实现继承不是一个容易的操作,我们需要先建立一个子类的实例对象this,然后再将父类的方法添加到这个this上面(Parent.apply(this))来实现继承。

阅读更多

Virtual DOM

熟悉我的人想必都知道,我的主要技术栈是Vue。虽然平时没怎么接触过React,但是原理和Vue是差不多的–都是通过构建虚拟DOM,然后利用diff算法更新真实DOM实现页面的更新。今天我们就一起来学习虚拟DOM。

阅读更多