碎片🧩梳理
幂等请求
- 通用2种方式,后端生成一般是幂等token,前端RequestID(同一次提交动作,不重复生成新的ID)2种方式,2种都离不开后端支持,因为需要幂等判断,和存储校验,前端无法实现幂等。
UUID (v4)
- 全局几乎不会重复的字符串ID,由32个十六机制字符+4个横杠分隔
- crypto.randomUUID()
- 唯一性 不需要中心服务器 字符串类型
RSA 算法
- 非对称加密算法
- 不适合加密大文件(速度慢,加密长度有限)
- 使用公钥加密AES密钥,并跟随请求传给服务器,服务端用私钥解密拿到AES密钥
- 数字签名 私钥进行签名 公钥验签(防篡改,身份认证)
哈希表(散列表)
- js map 底层基于和散列表,额外维护一个双向链表,双向链表保证按照插入顺序有序输出
- 哈希表 无序性
基础库开发的性能要求
构建npm包或公司级工具库时,需考虑百万级的使用场景。循环逻辑、条件判断等基础写法在复杂应用中可能形成性能问题,基础工具开发需建立严格规范。
官方文档的核心作用
以ECMA262文档对for-of循环流程的完整描述为例,强调权威规范对理解底层逻辑的重要性,避免基于表象的主观推测。
POC验证
- 最小成本、只验证核心逻辑、不关心健壮性、不处理异常、不考虑性能、不适合上线。
制定衡量标准的原则
- 制定标准不应以“自己做了什么”为衡量依据,而是要以“做成了什么”为核心,坚持结果导向,这对自我衡量更有价值。