漫谈异步函数执行的前世今生

今天简单聊聊异步函数的演变史,不着重讲解语法本身,而是借此窥探一下演变过程,以及是基于什么原因一步步推进。 回调函数 回调函数是最简单处理异步的方式,之所以会有回调函数原因在于 JavaScript 是单线程的语言,如果遇到 io 输入就会阻塞在这里,体验感受较差,为了不影响性能刻意设计。 当然回调...

如何编写爬虫

如何编写爬虫

这是一篇鸽了许久的文章,最近失业在家重构博客的时候发现还有一些文章没有来的及写,就有了这篇文章。 最终代码放到了 codesandbox 准备工作 编写爬虫之前需要调查一下需要爬取的网站是什么形式来渲染的 如果是 spa 页面则只需要拿到账号信息,通常是 token 或者 cookie 之类的,之后...

漫谈程序初始化

前言 在软件工程的开发中有生命周期这个概念,它的作用就是定义各个阶段需要处理的事情跟 tcp/ip 协议分层一个意思,今天重点聊一聊初始化这个阶段。 在日常使用的 webpack、vite 等工具会有一个配置收集的过程,这个过程就是初始化; 在使用 react、vue 等框架时也会有 created...

Babel to Class之私有属性(3)

前言 这是《Babel to Class》系列的第三篇 Babel to Class之编译(1) Babel to Class 做了什么(2) Babel to Class之原生构造函数继承(4) 这个系列主要讲 Class 的普通写法、继承、私有属性和原生构造函数继承 babel 是如何实现这一过...

Babel to Class之继承(2)

前言 这是《Babel to Class》系列的第二篇 Babel to Class之编译(1) Babel to Class之私有属性(3) Babel to Class之原生构造函数继承(4) 这个系列主要讲 Class 的普通写法、继承、私有属性和原生构造函数继承 babel 是如何实现这一过...

Babel to Class之编译(1)

前言 这是《Babel to Class》系列的第一篇 Babel to Class之继承(2) Babel to Class之私有属性(3) Babel to Class之原生构造函数继承(4) 这个系列主要讲 Class 的普通写法、继承、私有属性和原生构造函数继承 babel 是如何实现这一过...

从Vue3看组件开发新写法

这是一篇迟来的文章,原定是 21 年的文章,当时恰逢 Vue3 正式发布已经过去了一段时间,打算介绍一下在 Vue3 中的一些新写法,不过因为种种原因拖延到了今天才动笔。 Hooks Vue3 最大的提升我觉得在于三点: 第一引入了 Proxy 以及编译器的重写,让性能提升一个台阶; 第二 Type...

判断对象全等

JavaScript 自带了==和===两种判断方式,前者会隐式转换类型导致代码出现问题,而后者则是根据指针地址进行判断。 在绝大多数情况这两种已经足够使用了,不过延伸下想判断两个对象或数组元素是否相同,则会显得不太友好,而且在 JavaScript 中有一些特殊的规则:NaN和NaN不相同、+0和...

函数记忆

记忆化(英语:memoization)是一种提高计算机程序执行速度的优化技术。通过储存大计算量函数的返回值,当这个结果再次被需要时将其从缓存提取,而不用再次计算来节省计算时间。 记忆化是一种典型的在计算时间与电脑存储器空间之中获取平衡的方案。 来源:维基百科 从上面的定义可以看出缓存是一种非常有用的...

怎么用 Vue Composition 造轮子

怎么用 Vue Composition 造轮子

wallhaven-zmmwzw 最近项目临近尾声,终于有时间来对这段工作总结。其实之前使用的一直是 Vue 但是现在公司的主要业务使用是 React 为此还特意看了许多文章,加上实际上这两个框架有很多类似的地方,所以就有了这篇文章。 因为主要是分享经验所以下面的示例主要作为抛砖引玉的作用,在正式分...

为 React 添加双向绑定 hooks

为 React 添加双向绑定 hooks

最近换了一家新公司,用的技术栈react为主,所以上周紧急的看了一下react相关的文档,也对照文档写了几个 demo,不过在开发阶段我的体验还是蛮差的。 生态很繁荣,但是不知道那种方案是最佳 开发效率很繁琐(这一点待商榷) 刚刚简单写了一个 todolist 的功能,不过在对 list 进行保存、...

团队规范系列之命名规范

团队规范系列之命名规范

bg 最近一周的工作重心就是在梳理团队规范,在写的过程也查缺补漏了不少知识,剔除掉关于公司场景的部分就有了这一系列的文章,预计写四部分: git 规范 工程规范 用户体验规范 命名规范 命名规范 命名规范请结合团队情况来进行制定,如果想更进阶一些可以配合 git 钩子写校验工具,配合规范食用 代码命...

团队规范系列之用户体验规范

bg 最近一周的工作重心就是在梳理团队规范,在写的过程也查缺补漏了不少知识,剔除掉关于公司场景的部分就有了这一系列的文章,预计写四部分: git 规范 工程规范 用户体验规范 命名规范 用户体验规范 关于用户体验是一个很庞大的命题并且每个人对于体验的理解也各不相同,同时伴随着时效性,随着新技术的出现...

团队规范系列之用户体验规范 - 图片 1
团队规范系列之用户体验规范 - 图片 2
团队规范系列之用户体验规范 - 图片 3

团队规范系列之工程规范

bg 最近一周的工作重心就是在梳理团队规范,在写的过程也查缺补漏了不少知识,剔除掉关于公司场景的部分就有了这一系列的文章,预计写四部分: git 规范 工程规范 用户体验规范 命名规范 工程规范 项目目录 项目目录定义的名称应当做到清晰易读,对于每个文件夹可以放置一个README.md的文件,对重要...

团队规范系列之工程规范 - 图片 1
团队规范系列之工程规范 - 图片 2
团队规范系列之工程规范 - 图片 3