Blog | Kerminate


  • 首页

  • 分类

  • 标签

  • 归档

从小程序的双线程架构展开

发表于 2023-08-12 | | 阅读次数:
字数统计: 2,092 | 阅读时长 ≈ 8

浏览器中 GUI 渲染线程和 JavaScript 引擎线程是互斥的,JavaScript 在执行过程中会阻塞 UI 渲染。即使脚本执行时间过长,页面也会长时间无响应,然后崩溃。正是这种 GUI 渲染线程和 JavaScript 引擎线程之间互斥、阻塞的线程管理,让一些前端开发者认为浏览器是单线程的。

小程序双线程模型

逻辑层和渲染层拆分,每个 page 页面使用一个 webview 线程,逻辑层的 JsCore 是共享的。

阅读全文 »

Kerminate 的 2020 年度总结

发表于 2021-02-15 | 分类于 个人总结 | | 阅读次数:
字数统计: 1,194 | 阅读时长 ≈ 4

2021 已经到来,秉承着每年都要做一次个人总结,尽管现在已经是大年初四,我还是简单的写一点吧😂。

阅读全文 »

Webpack5 changelog

发表于 2020-03-27 | | 阅读次数:
字数统计: 4,218 | 阅读时长 ≈ 16

总体方向

这个版本重点关注以下内容:

  • 我们尝试通过持久性缓存提高构建性能。
  • 我们尝试通过更好的算法和默认值来改善长期缓存。
  • 我们尝试使用更好的 Tree Shaking 和代码生成来改善打包体积。
  • 我们尝试清除处于怪异状态的内部结构,同时在 v4 中不引入任何重大改变的情况下实现功能。
  • 我们现在尝试通过引入重大改变来为将来的功能做准备,以使我们能够尽可能地长时间使用 v5。
阅读全文 »

Vue3.0 响应式原理解析

发表于 2020-01-31 | 分类于 技术帖 | | 阅读次数:
字数统计: 10,406 | 阅读时长 ≈ 45

2019 年 10 月 5 日 Vue3.0 pre-alpha 版本正式发布,之后数个月历经 500 多个 PR,1000 多个 commit,终于在 2020 年 1 月 4 日正式发布了 Vue3.0 alpha.1 版本。Vue3.0 的核心代码基本完成,截止目前为止剩下的主要工作就是服务端渲染,Vue 团队也正在积极进行中。
响应式 API 的代码也基本稳定,不会再发生太大的变化(packages 里的 reactivity 包),下面我将从源码分析 Vue3.0 的响应式原理。

阅读全文 »

Kerminate 的 2019 年度总结

发表于 2020-01-29 | 分类于 个人总结 | | 阅读次数:
字数统计: 1,109 | 阅读时长 ≈ 4

按照往年,我都会在 19 年的年底就写下这份年终总结。因为太忙,拖了一个月,才静下来总结下自己的 2019。
今年是我正式工作的第二个年头,相比于 2018 年的稚嫩,在工作和技术上也是获得了不小的提升。

我做了什么

  • 写了 8 篇博客
  • 参加了 VueConf2019
  • 工作中得到了晋升
    阅读全文 »

前端测试的最佳实践

发表于 2019-12-22 | 分类于 技术帖 | | 阅读次数:
字数统计: 5,550 | 阅读时长 ≈ 24

前些时候在团队里接入了前端测试,并总结了相关经验将文章发表到了内网博客上。临近年末了,也把文章发布到个人博客上,希望能让更多的人看到。

2019 年前端测试依然是一个炙手可热的话题。笔者在今年 5 月份参加 Vueconf 的时候,Vue 单元测试的主题演讲者曾向现场的参与者发出提问,有多少团队引入了单元测试,意外的是只有寥寥数人举起了手。尽管,那个时候笔者的团队也还没有引入前端测试,但是考虑到测试的必要性,且团队正在着手一个新项目,所以回去之后在这个新项目全量地接入了前端测试。

现如今大部分互联网团队都是走 敏捷开发 的节奏。实际上,自动化测试才是实现“敏捷”的基本保障。业务端的快速上线和快速验证对技术侧的响应力提出了更高的要求:更快上线,持续上线。再考虑到人员流动和应用逐步变大的事实,日后迭代的成本只会变得越来越高。当然这个项目迭代的成本也跟项目的复杂度有关,比如笔者所在的点餐业务,项目有足够的复杂性,有些细微的改动点其实会牵扯到很多内容,而对刚加入团队的新人就会显得不太友好。因此,项目拥有前端测试是必不可少的,它能够有效保障业务迭代的质量和稳定性。

阅读全文 »

nvm,nrm,yrm 的使用

发表于 2019-10-15 | 分类于 工具 | | 阅读次数:
字数统计: 660 | 阅读时长 ≈ 3

最近把电脑上的 Node 版本升级到了 10.16.3 的稳定版本,但是后面在项目开发的时候,发现有些项目重装依赖后打包失败,最后发现是因为 Node 版本的问题。但我又不想降级到 Node8.0,这时候怎么办?

我们就需要借助于 nvm 这个 Node 版本管理工具了,同时我还会介绍下 nrm 和 yrm 这两个管理源的工具。

阅读全文 »

Vue 3.0 会有哪些变化

发表于 2019-06-29 | 分类于 技术帖 | | 阅读次数:
字数统计: 1,557 | 阅读时长 ≈ 6

前段时间在 Vue RFCs 提出的 Functional API 在社区中引起了轩然大波,感觉是 Vue 史上最有争议的一个特性。那么,Vue 3.0 到底会带来哪些改变呢,让我们一起来看一看。

阅读全文 »

参加 VueConf2019

发表于 2019-06-08 | 分类于 Conf | | 阅读次数:
字数统计: 1,837 | 阅读时长 ≈ 7

千呼万唤始出来,终于等到了 VueConf2019。本次 VueConf 选在了交大百年历史的文治堂里,下面我们一起来一睹风采!

阅读全文 »

[译] DefinitelyTyped

发表于 2019-06-05 | 分类于 翻译 | | 阅读次数:
字数统计: 5,618 | 阅读时长 ≈ 21

最近在使用 TypeScript 的时候,发现所有 npm 包上的类型定义都在 DefinitelyTyped 这里。看了下它的 README,感觉写的有点晦涩,又发现已经有韩语,西班牙语和俄罗斯语的 README。所有,我打算给开源社区一点帮助,就译了这篇 README,并提了 PR,目前已经被仓库合并。

阅读全文 »
12…5
Kerminate

Kerminate

一个喜欢篮球的程序猿.

42 日志
11 分类
9 标签
RSS
GitHub E-Mail Twitter Weibo
Links
  • lazzzis
  • MRZ's Blog
  • Happy Cloud
  • LFhacks.com
  • kalacloud
© 2023 Kerminate
本站总访问量 次 由 Hexo 强力驱动
|
主题 — NexT.Pisces v5.1.3