Yihui’s Blog

The Journal

Notes on frontend development, engineering, and everyday ideas. Find a subject and start reading.

783 articles

宏任务和微任务:不是所有的任务都是一个待遇

在前面几篇文章中,我们介绍了消息队列,并结合消息队列介绍了两种典型的 WebAPI——setTimeout和XMLHttpRequest,通过这两个 WebAPI 我们搞清楚了浏览器的消息循环系统是怎么工作的。不过随着浏览器的应用领域越来越广泛,消息队列中这种粗时间颗粒度的任务已经不能胜任部分领域的需求,所以又出…

Read article

解决 Chrome浏览器翻译功能无法使用

近日(2022.09.25)起,Chrome浏览器翻译功能逐渐在中国大陆无法使用。是由于谷歌撤销了谷歌中国翻译服务,将 业务转移到了 海外。 导致大陆用户无法访问谷歌翻译。 Chrome浏览器的翻译功能是浏览器核心调用的API,不支持读取浏览器设置的代理服务器。 所以浏览器插件设置的浏览器代理无法解决翻译问题。 …

Read article

跨站脚本攻击XSS:为什么cookie中有httpOnly属性

通过上篇文章的介绍,我们知道了同源策略可以隔离各个站点之间的 DOM 交互、页面数据和网络通信,虽然严格的同源策略会带来更多的安全,但是也束缚了 Web。这就需要在安全和自由之间找到一个平衡点,所以我们默认页面中可以引用任意第三方资源,然后又引入 CSP 策略来加以限制;默认 XMLHttpRequest 和 F…

Read article

来了解一下 git fetch 与 git pull的区别

Git pull 和 fetch 是 Git 用户经常使用的两个命令,他们都可以将远端仓库更新至本地。我们看看这两个命令之间的区别。 背景 当我们正在克隆仓库,也就是说你拷贝一份他人的源代码。当源文件有更新的时候,要使你的克隆副本保持最新状态,就需要将这些更新引入到克隆副本,这时候就需要用到 fetch 和 pu…

Read article

牛客设计模式问题总结

1. 创建型模式 在软件工程中,创建型模式是处理对象创建的设计模式,试图根据实际情况使用合适的方式创建对象。基本的对象创建方式可能会导致设计上的问题,或增加设计的复杂度。创建型模式通过以某种方式控制对象的创建来解决问题。 2. 模式分类 结构型模式: (1)代理(Proxy)模式:为某对象提供一种代理以控制对该对…

Read article