使用 cnpm 替代 npm 加速下载(极速加速方案)
# 安装 cnpm(淘宝镜像客户端)
npm install -g cnpm --registry=https://registry.npmmirror.com
# 通过 cnpm 安装(速度提升 5-10 倍)
cnpm install serialport --save
# 安装 cnpm(淘宝镜像客户端)
npm install -g cnpm --registry=https://registry.npmmirror.com
# 通过 cnpm 安装(速度提升 5-10 倍)
cnpm install serialport --save
npm 安装 electron 加速方法
以下是针对 npm 国内镜像源测试与推荐 的总结,结合最新可用信息和工具提供解决方案:
最近在做一些项目(一个上位机和下位机通过串口通信,而下位机采用的是空闲中断接收处理的方式)的时候,从理论分析是能发现如果电脑侧上位机发送数据因为性能或外部环境的因素干扰而出现波动时,下位机由于采用的是空闲中断,且是一次性处理(没有收集组成一个完整包,是不是很low),这种情况下,肯定会出现这次处理异常的。
换做是我自己处理这种情况:
那么我的思路会是如下:
1,我应该不会采用这么low的处理方式,无论是否使用空闲中断,我都会仅仅当做一次接收的数据,使用一个队列来收集数据,然后再使用一个任务从接收队列中找到可以合理处理的包,然后加入到一个能够处理的队列中,再通知具体的处理业务处理
2,尽可能将外部环境想象的恶劣,例如长时间接收不到数据,亦或者接收一部分然后隔一会续上,甚至续上的也是乱序的之类的,然后想象这些情况该这样处理,并且走一遍之前的逻辑,看看能否构建这种异常的环境来触发想象的逻辑
3,将代码逻辑中不可预料到的情况尽可能做一些异常处理或留下log,例如本身就引入的超时重试逻辑用来规避或减少异常情况下的不良影响。
但是新同事的思想几乎是相反的:
1,他首先直接从使用者来思考这个问题,他认为使用者使用不好配置的可能性非常低,因此这个问题出现的概率就基本不可能,没必要关心
2,如果真的能出现,又不是没有超时逻辑处理,对使用者又没有影响