技术演进随想

最近在翻一本买了N久没翻完的书《深入浅出Node.js》,看到第9章玩转进程的Cluster模块,讲到基于事件驱动的单线程模型想要充分利用CPU核心,需要为每个进程各自分配一个CPU,Node.js提供 os.cpus() 方法以获取当前CPU的逻辑核心数,并提供了child_process和cluster来实现Master-Worker模式。

这本书是13年出版的,当时容器的技术还没有大规模流行。而在当前这个容器化时代,我们已经不需要使用cluster的方式来充分利用CPU了,一般一个容器里只启动一个进程。这句话来自天猪2年前在CNodejs论坛的答复

基于前端组件库的跨部门协作方式思考

ToB类的产品,存在业务大量相似,少量差异化的特点。产品在设计的时候如果缺少思考,不考虑复用,产品在后期迭代中会慢慢变成1个厂商1个完全定制化的项目,复用率越来越低,造成企业开发成本升高,设计&开发人员无效工作量大的情况。

本文提供了一种基于组件库的跨部门协作方式思路,供遇到此类问题的读者参考。

需要注意的是,本文的组件库,并不是类似 antd、element-ui 之类的基础组件库,而是基于业务拆分的最小单元,即业务组件库。

Read more

API设计总结

本文总结了笔者近几年在参与设计 API 时收获的一些经验和教训,针对中小型项目初期,供大家参考。

设计角度

  1. 基础数据与用户数据尽量分离。
    分别用不同的字段存储或直接分到不同的 API里。
    逻辑解耦,便于后期修改,也便于优化打开速度。
Read more

微信登录与注册流程分析

某日,天空飘来集成第三方微信登录/注册功能的需求,业务侧轻飘飘的一笔带过,表示这个需求很简单,点击登录,就 ok 了。笔者满脸黑线的表示这个功能想做的好,没有用户吐槽的话,需要考虑的情况非常多。以下便是笔者对该功能的需求分析。因文字描述达不到非常清晰地解释,所以以流程图的方式表示。

Read more