setTimeout 模拟 setInterval

本文主要讲一下为什么要用 setTimeout 去模拟 setInterval,以及如何实现

阅读全文

解决 Github Dns 污染问题

最近 github 老是抽风,打不开,排查了一番,发现电脑端开启代理的 pac 模式就会出现这个问题,全局模式和不开代理是没问题的。手机端连了公司的 wifi 会打不开,不连 wifi 打得开,目测是 dns 被污染了。

解决方法就是去网上用 ping 工具 ping 一下 github 域名,看看哪些能用,然后在本地再 ping 一下,ok 的话就去 host 文件里面配置一下 github 的 ip 为刚刚测试的可用 ip。

阅读全文

Lodash 源码解析 —— Slice

lodash slice 函数学习

阅读全文

实现数组拍平

有一个深层嵌套的数组,需要输出拍平后的新数组

const input = [1, [2, [3, 4], [5], [6]]];
const output = [1, 2, 3, 4, 5, 6];

阅读全文

HTTP 笔记

一、HTTP 1.0

  1. 每请求一个资源都要新建一个TCP连接,而且是串行请求,性能比较差

阅读全文

我所不知道的 Vue 细节

用 Vue 已经有几年了,使用上大概是人们口中所说的老司机了吧,熟知 Vue 生态,用来开发了十来个项目,也可谓是驾轻熟路了吧。遇到问题也会通过 debug 找到问题出处,不明白的回去翻翻源码相应的位置。不过还是有很多地方是我不知道的,更确切的说是自己只是把他当做工具,能用就行,从来没有想过这个工具为什么这么设计,对于开发有什么借鉴意义,我想这也是大部分人的做法吧。

阅读全文

记突发事件导致的服务降级

昨天早上我整理好手头的 task,刚安排好当天要做的事情,做了一点点,就听到办公室有人在说正式版服务挂了,用七牛 CDN 的所有项目都打不开,因为七牛 CDN 挂了,我想到我们还有 pc 端,静态资源不走 CDN,就跟同事说让外面用着 PC 版先,功能都一样的,同事说视频,文档这些动态调用的静态资源都放在七牛,上传图片的路径也是七牛,还是会有部分功能用不了,不过我想我们也没办法,感觉这是服务端的事情,我这边应该也不用做什么措施,继续淡定的敲我的代码。

阅读全文

关于做技术这件事

想做技术的契机来源于大学计算机老师的影响,大一教 c 语言的老师让我知道了编程竟然这么有趣,可以做这么多好玩的东西。大二时听到老师很有兴致的讲到他大学的时候通过局域网去恶作剧,觉得懂技术竟然可以这么好玩,真有意思。后来的数据库课程的老师布置的期末大作业,开发一个动态网站,我第一次知道了了网站开发竟然这么简单,几行代码就可以出来一个让全世界人们都能看到的页面。就是这么一个个老师的影响,我有了编程这个爱好,也坚持这个爱好并找到了相关工作。

阅读全文

Vue 数据驱动视图更新实现

写了几年的 Vue 了,对其中的内部实现还是一知半解,日常开发中,基本问题 debug + 官方文档基本可以解决了,很少有触及源码的需求。最近发现看看源码也有好处,用的时候可能会多了一些自己的理解,知道了为什么,使用起来也更加得心应手。下面来讲讲 Vue 数据驱动视图是怎么做到的。

在讲 Vue 如何做到数据驱动视图之前,我们先来看看用纯 js 我们是如何改变页面数据的

阅读全文

JavaScript 事件循环

JavaScript 事件循环理解

阅读全文