编程随想

2018 年 09 月 28 日

那些年被我们忽视的Vary:Origin

之前刷知乎有看到一篇文章,讲Vary头未配置引起资源缓存错乱的问题,当时只是大概瞄了下,对Vary这个头有了点印象,便没有继续深究。 今天同事碰到一个奇怪的bug,由于chrome65开始禁止通过a标...

进一步了解
2018 年 08 月 11 日

HTTPS握手时序图

大图 感觉还有些不明白的地方,等明白了再补上。 源码: title HTTPS Handshake Client->Server: 1.协议版本\n2.加密方式列表\n3.支持的压缩算法\n4....

进一步了解
2018 年 06 月 29 日

Promise杂谈

最近又花时间理了一下Promise的设计逻辑,有一些小收获整理下。 控制反转(IOC) 如果我们使用Spring(Java)或Laravel(PHP)这样的后端语言框架,我们不可避免的会与控制反转(I...

进一步了解
2018 年 06 月 28 日

两个关于Promise的坑

1.Promise.race Promise.race用于处理一般竞态问题,参数为一个迭代器可迭代对象,该对象中的任意成员状态发生改变,Promise.race返回的promise状态随即发生改变。 ...

进一步了解
2018 年 05 月 29 日

127.0.0.1 vs localhost vs 0.0.0.0

127.0.0.1 被看做是永不会宕掉的地址,因为虚拟地址是不需要和网卡绑定,所以电脑在没有安装网卡时就可以ping通,通常用来检查TCP/IP协议栈是否正常。属于环回地址,那什么是环回地址? 环回地...

进一步了解
2018 年 05 月 12 日

Vue中loading状态管理

为了提升用户体验,我们一般会在做耗时操作时显示loading效果,缓解用户等待的焦虑.通常情况下,我们的代码可能是这样子: <div v-show=”isLoading”> loading...

进一步了解
2018 年 03 月 14 日

Vue中异步错误处理

一般在一个项目开始之前,我们一般会对现有的框架做一定功能上的丰富,比如对ajax请求功能的二次封装,封装的功能可能包含了:通用错误处理,请求过滤,响应过滤等等。如果我们封装的函数叫request,那么...

进一步了解
2017 年 12 月 22 日

javascript软绑定

说道软绑定,那么不得不首先提到什么是硬绑定,如Function.prototype.bind,就是硬绑定,有如下代码: let obj1 = { id:’obj1′ }, obj2 = { id: ‘...

进一步了解