繁易の前端乐园

不为繁华易匠心

美与期望

之前一直在想,在计算机这个领域里,我到底喜欢什么,什么才是美。在读到《成为一个自己喜欢的,而不是自己觉得厉害的》这篇文章,开始真正探索内心深处一直不为人所言的想法。 架构之美架构是我在计算机领域中,觉得最美的事情。他只是在那儿,设置了某种了规则,提出了某种解决方案,便让某个问题得以顺利解决。好的架构里体现出的个人智慧,系统整洁性,完备性,都会使人深深的着迷。我喜欢这种感觉,深深的迷恋着,在探......

进程与线程的区别

起因今天在读《计算机网络-自顶向下方法》这本书。中间有提到一个进程间通信的概念。正好这段时间试着在做 RN 的优化,在优化安卓的冷启动时间时,使用了多线程去处理初始化时,对于第三方 SDK,部分服务的启动。从而把启动时间从 770ms+ 优化到了 320ms+,基本是无感秒开的状态。 不过这也引起了自己的兴趣,那么就是进程和线程究竟是什么?自己之前有自学过《操作系统》这门课程,也知道进程是C......

微型库解读之200byte的EventEmitter - Mitt

起源关于 EventEmitter 我想应该很多同学都很熟悉了。简而言之是一个事件的发布与订阅器。这两天读到了一些非常有意思的小库,虽然小但是功能完备,比如说这次我们要讲解的 Mitt. Github地址 小Mitt是一个微型的 EventEmitter 库,实现了基本的 on, off, emit 三个Api,对于使用 EventEmitter 其他功能不多的同学来说,200byte 的......

React setState 解读

起因之前对于 React 的源代码与底层实现一直很感兴趣,但是 React 的源代码大且多,不易读。再加上之前也遇到过在调用 setState 的 Api 后,this.state 属性并未及时更新的问题,这对于我个人而言,就如同一个黑匣子一般。现今有空了,总得打开黑匣子,一探究竟。 setState 的疑惑看下面这段代码,你认为会输出什么呢? 答案在右侧的 console 中,是 0,0......

DOM Api-insertAdjacent 系列

起因看朋友圈时候,有看到一个自己从来没有发现过的Api。 名字是 insertAdjacentHTML。 觉得很好奇,就试着看了看这个Api,发现在某些场景下,出奇的好用。 概述 insertAdjacentElement() 方法将一个给定的元素节点插入到相对于被调用的元素的给定的一个位置。 其他几个 Api 效果类似 语法与使用element.insertAdjacentHTML 直......

Intersection Observer 实现哨兵元素

起因在自己之前写的博客《JavaScript实现列表无限加载》中,有提到使用 getBoundingClientRect 实现一个哨兵元素,从而实现无限加载等功能。 然而 getBoundingClientRect 的方法,用起来其实挺别扭的,因为每次滚动都要调用与检测,且必须自己书写检测函数,并不是很方便。所幸的是,浏览器给我们添加了新的 Api,Intersection Observer......

React Native 性能优化

起因自己使用 RN 已经很长时间了,但是对于 RN 的了解却不够深入,接下来一段时间会多关注性能优化相关的知识 课程:https://www.youtube.com/watch?v=NdUg_hjI30w 加载方式Native端:Native init 与 JS initJS端:Fetch Data, JS RenderNative: Native Render 启动流程 问题: Vie......

了解网络请求的生命周期 - Resource Timing

起因自己在学习性能优化的相关知识。准备从网络请求这儿出发,配合着对 Chrome Dev Tools 的学习与使用,从而深入性能优化的相关知识。 关于 Resource Timing 所有网络请求都被视为资源。通过网络对它们进行检索时,资源具有不同生命周期,以 Resource Timing 表示。 下面是一个资源的生命周期 参考资料:了解 Resource Timing ...

解读 DOMContentLoaded 与 load 事件

起因自己在最近的学习过程中,发现一些之前记住的知识点因为太久没有用到,而产生了模糊感。所以在回学校的空隙时间,准备好好的理一下这些基础知识。而自己又对性能优化比较感兴趣,所以这次从性能优化的角度出发。 两种加载事件一般在加载的时候,会触发两种事件,一种是 DOMContentLoaded,一种是 Load 事件。两种看起来差不多,其实内部还是有很大的区别的。 查看 MDN 的解释是: 当初......

TypeScript - 不止稳,而且快

前言关于 TypeScript 是什么,应该大部分人都已经知道了,但是在这儿,还是摘抄一下知乎的回答: TypeScript 是 JavaScript 的强类型版本。然后在编译期去掉类型和特有语法,生成纯粹的 JavaScript 代码。由于最终在浏览器中运行的仍然是 JavaScript,所以 TypeScript 并不依赖于浏览器的支持,也并不会带来兼容性问题。 对于我个人而言, 使......