Fork me on GitHub
  2021年10月31日
摘要: tag-2021-08-02-tag 为什么要CLI CLI 英文全称为Command Line Interface,是在图形界面普及之前人们与电脑的交互方式。例如我们经常在控制台敲的命令系统,或者linux的操作系统命令,或者自己定义的一些列电脑操作命名,凡是通过这种命令去与计算机交互的统称为CL 阅读全文
posted @ 2021-10-31 13:51 chen·yan 阅读(470) 评论(0) 推荐(0) 编辑
摘要: tag-2021-07-15-tag 浏览器 消息队列 我们之前在这篇文章中讲到过关于浏览器线程和进程的知识。这些知识在本文中将继续被用到。浏览器上的任务主要执行在一条线程上,我们称这条线程为浏览器主线程。在它上面执行这众多的任务:包括界面绘制,排版,用户手势/鼠标动作,处理滚动,用户输入,以及执行 阅读全文
posted @ 2021-10-31 13:50 chen·yan 阅读(128) 评论(0) 推荐(0) 编辑
摘要: tag-2021-06-21-tag ###开篇 我们之前在这篇文章里面讲过浏览器的事件循环,还提到事件队列,调用栈等浏览器的一些实现机制。但还有一些细节我们没有提到,这篇文章我们就来把这些细节补充。 帧和动画 你一定知道动画片是怎样制作的,没错,只需要很多张画满动画的纸张,只要这些纸张的动画情景是 阅读全文
posted @ 2021-10-31 13:50 chen·yan 阅读(429) 评论(0) 推荐(0) 编辑
摘要: tag-2021-06-15-tag 问题 有没有遇到这样的一个问题,为什么在某些设备上需要用到2倍图。当你的设计师过来问你的时候,你可能回答她:因为这些设备像素高,需要高清的图片才能显示清楚呢。事实上要搞清楚这个问题,我们需要知道的不仅仅是分辨率这么简单。为了弄清楚为什么要用2倍甚至三倍图这个问题 阅读全文
posted @ 2021-10-31 13:49 chen·yan 阅读(263) 评论(0) 推荐(1) 编辑
摘要: tag-2021-06-12-tag TL;DR 错误的缓存策略是如何抵消你所做的性能优化工作的。 缓存存在于客户端并且通过chrome或者其他抓包工具查看其状态信息。 客户端通过header中的各个字段做缓存的过期判断。 代理服务器上也存在缓存,并且使得我们在计算浏览器缓存时变得复杂了。 合理地配 阅读全文
posted @ 2021-10-31 13:49 chen·yan 阅读(120) 评论(0) 推荐(0) 编辑
摘要: tag-2021-04-15-tag Note: This series blog was translated from Nathan Vaughn's Shaders Language Tutorial and has been authorized by the author. If repr 阅读全文
posted @ 2021-10-31 13:45 chen·yan 阅读(268) 评论(0) 推荐(1) 编辑
  2021年10月25日
摘要: 说明:本文是Mozilla Web应用部署文档,对运维或者后端开发团队的部署行为进行指导。该部署安全规范内容充实,对于部署有很大意义。同时也涉及到了许多web前端应用安全的基本知识,如CSP, TOKEN, HTTPS,COOKIES等,对于前端来说了解安全规范相关知识是十分有必要的,尤其是COOK 阅读全文
posted @ 2021-10-25 09:55 chen·yan 阅读(185) 评论(0) 推荐(0) 编辑
摘要: Note: This series blog was translated from Nathan Vaughn's Shaders Language Tutorial and has been authorized by the author. If reprinted or reposted, 阅读全文
posted @ 2021-10-25 08:55 chen·yan 阅读(1085) 评论(0) 推荐(1) 编辑
  2021年10月13日
摘要: tag-2021-01-30-tag Introduction 本文列出了评测网页基本性能的一些指标。这些指标包含了一个网页从加载到呈现到可交互的一个完成的周期,在评价整体性能上有较大的参考意义。本文基本上是google vitial系列文章的总结,这些文档还没有中文翻译,但是你可以对照着本文进行查 阅读全文
posted @ 2021-10-13 18:03 chen·yan 阅读(1061) 评论(0) 推荐(0) 编辑
  2018年8月22日
摘要: State的不可变化带来的麻烦 在用Redux处理深度复杂的数据时会有一些麻烦。由于js的特性,我们知道当对一个对象进行复制时实际上是复制它的引用,除非你对这个对象进行深度复制。Redux要求你每次你返回的都是一个全新的State,而不是去修改它。这就要求我们要对原来的State进行深度复制。这往往 阅读全文
posted @ 2018-08-22 17:29 chen·yan 阅读(959) 评论(0) 推荐(1) 编辑