最近项目中牵扯到精度计算,原生number类型的小数计算有精度损失,比如0.1+0.2可不是等于0.3。于是需要进行轮子选择。找到了以下的2个方案予以考虑,这里简单列下

当然我最终选择了mathjs

big.js

A small, fast JavaScript library for arbitrary-precision decimal arithmetic.

体积: 5.9 KB minified and 2.7 KB gzipped

阅读全文 »

实际项目开发中,总是会有很多dead code,这些dead code毕竟也是code一部分,占用项目体积事小,但是却对开发造成了困扰,因为你可能改了半天发现不起作用,因为这段代码根本就不执行。
所以面对dead code,个人的认知是一律删除,假如所谓的说辞是”万一以后要用呢!”,我一般的回答是”几月几号呢?当前的代码管理都有Git,本身就存在完整的历史,所以不要为自己的懒惰和不专业找说辞,删!”

当然Team人员的水准参差不齐,认知也不一定一致,最好的办法并非是反复去为他们的错买单,反复指导,而是强制规则约束,及这样一篇有那么几分道理的文章去解释即可。

OK,开搞

TSConfig内置配置

阅读全文 »

Chrome对普通用户仅仅个网页浏览器,但对开发者而言,称之为生产力工具也不为过。

最近出现的一次BUG,我无法复现,唯一判断出来的是用户在页面请求数据时,数据层面有问题,为印证这一点,需要知道当时用户的情况。于是,我委托业务对接人帮忙使用Chrome访问系统,下载下来了HAR文件,传给我,拿到文件后我很快进行了定位,并最终解决。

没错,划重点,HAR。这里就简单介绍下。

HAR

全称是HTTP Archive format, 一种文件格式,记录了网络请求信息。

HAR上传下载操作

阅读全文 »

开源虽免费,版本需谨慎。升级确实存在一定的风险,但如果清晰每次升级的点[fix/feat/breaking change],这个风险也会随之降低,或者没有。同时长远来看技术始终要与时俱进的,尤其是在做产品迭代。

目前从事的WEB项目进入了一个新的迭代,于是借着周末的时间,进行下框架升级。

动机

升级本身不单单只是改变一些依赖模块的版本号,而是版本号背后的一些改变,功能或者性能,或者设计模式。

这里列举下我相对关注的一些地方

关心的几个点

阅读全文 »

在提交代码时会发现yarn.lock文件有这样的diff,多了一些integrity属性,有时又会删除一些。不明所以,这里就简单梳理下该属性。

作用

确保资源完整性[包版本,内容],yarn down下来资源后,用计算出的integrity值与文件中的进行匹配,如果不一致,则安装失败。

阅读全文 »
0%