axios中responseType配置blob、arraybuffer、stream值有什么差异

2023-06-25
阅读 3 分钟
3k
之前在测试朋友的大文件传输代码时发现个现象:arraybuffer时浏览器内存会不断占用,如果数据引用不释放内存是不会被释放的。而blob也会占用内存,但到一定层度即使引用没释放但内存也会释放,仔细对比一看磁盘读写会不断升高,而且还这产生一些卡顿。是不是有点奇怪?

Theia 开发环境搭建

2023-03-28
阅读 5 分钟
1.2k
Node.js >= 16.14.0 and < 17.If you are interested in Theia's VS Code Extension support then you should use a Node version at least compatible with the one included in the version of Electron used by VS Code.

判断多边形是否属于复杂多边形

2022-04-20
阅读 4 分钟
1.7k
标注场景下,用户可以选取多点框选一个区域,这样会生成一个多边形。但某些多边形不适合标注场景,还会增加其他参数计算复杂度,需要判断出来禁止绘制。

鞋带公式计算canvas多边形图形面积

2022-04-12
阅读 2 分钟
2.6k
$$ S=\frac{1}{2}\left|\sum_{i=1}^{n}\left(x_{i} y_{i+1}-x_{i+1} y_{i}\right)\right|=\frac{1}{2}\left|\sum_{i=1}^{n} x_{i}\left(y_{i+1}-y_{i-1}\right)\right| $$

更安全的随机数生成

2022-01-04
阅读 2 分钟
6.5k
但如果涉及稍微严谨的一些场景中,Math.random()随机分布不够平均,这时候可以使用浏览器提供的更安全的随机数生成接口Crypto.getRandomValues()

利用husky实现前端项目自定义规范校验

2021-11-01
阅读 4 分钟
4.3k
触发检测的方式既然想到ESlint,那第一个念头是给ESlint增加自定义插件。但仔细又想了想,因为检测的是非JavaScript文件,而且也不是代码那种逻辑检测,只是在提交前做一下相应的文件是否有修改,实际上并不是很适合的场景。最适合的还是直接用Git的钩子,ESlint就是利用husky在相关钩子中调用检测。之前写了篇husky7 + ...

PEG实现 git diff 数据解析器

2021-10-19
阅读 8 分钟
2.7k
项目中想使用git diff的文件变更比对功能,但git diff返回的格式是纯文本且未解析的。网上找了相关的库,像是parse-git-patch,使用的是git format-patch命令生成的补丁文件,无法直接接收命令行中返回的文本格式,找了几个都是这样,所以干脆就自己动手实现一个。

理解JavaScript中各种二进制对象关系

2021-09-01
阅读 4 分钟
3.8k
现代 JavaScript 要面临更加复杂的场景,对于各种类型的数据传输也多了起来,其中涉及二进制传输,为了方便处理数据提高效率于是创造了ArrayBuffer对象。

CRC32计算JavaScript实现代码

2021-05-27
阅读 2 分钟
3.2k
网上有的代码会计算出负数,有的不支持中文,这里整合了一下代码。验证网站: [链接] {代码...}

即划即标 文本选中段落打标功能

2021-04-02
阅读 8 分钟
5.1k
由于选取标签避免麻烦,所以需要划出区域后立即弹出标签选择菜单,同时弹出菜单后可以支持快捷键的快速标注。在普通情况下,鼠标移入标签区域会浮现删除按钮,可以删除相应的标签,或者是点击标签区域,可以更换标签。

动手实现获取并展示快捷键效果的Input组件

2021-01-12
阅读 3 分钟
2.3k
遇到一个需求,页面内要自定义快捷键,这就需要可以有地方设置和展示快捷键,找了一圈Element UI发现没有能稍微改改就能用的组件,所以自己动手写了一个。这个只有快捷键展示功能,快捷键实际绑定生效的话是依赖传回的快捷键数据,由另外的组件处理的。目前只测试了Chrome的环境。

TypeScript类型标注相关概念一览

2020-08-26
阅读 10 分钟
6.2k
用TypeScript重构了一遍业务后台,TS很大一部分在处理类型标注,基础的类型很容易上手,但到泛型一块,抽象程度一下子就高了起来,提供的许多工具也复杂了起来。重构的时候一直想整理一份方便查询的笔记一直没空,现在总算抽出时间整理了一份,将于类型有关的部分整理了出来,其他部分还需要自行翻阅相关文档。笔记类似...

LZW算法压缩字符串数据

2020-04-04
阅读 7 分钟
9.2k
有的时候代码里不得不带上一串长的字符数据表,本来就是小功能,将这种不大不小的数据外部存放显得累赘,放源码里又碍眼又占空间。这时候数据适合的可以通过设计精巧的结构简化存储的占位,没办法简化的可能会手工替换一下重复次数多的字符,但数量一大就没办法手工操作了,这时候应该用压缩算法来帮助我们。