第五期开始了!想提高自己算法能力,进击大厂的看过来了 mp.weixin.qq.com
评论
如果你想重命名一个项目中的某个变量,你会怎么做呢? 难道是 ctrl + f 搜索,然后 replace 么?这样不仅效率低,而且容易出错。 更聪明的做法是使用 rename symbol 功能,主流编辑器都有这个功能。比如 vscode 直接点击某个变量,选择 rename symbol,然后你就可以输出新的名字点确定,之后这个项目(可能有多个文件)都会被替换为新名字。由于其实基于 ast 去做的,因此准确率很高。使用这种方法几秒就可以替换完成这个项目。
展开
评论
在上一家公司工作的时候,我负责开发公司的 ab test 系统。说实话,我们的功能极其简单。尽管如此,这个功能也花费了我们大量的时间去设计,实现,调试,发布。 easy-abtest 正如它的名字一样,是一个使用极为简单的 abtest 框架。 有多简单呢?我们来看下。 首先是定义变量,以及权重等配置。 ```js const abtest = require("easy-abtest"); let options = { enabled: true, name: "experiment-ID-here", buckets: [ { variant: 0, weight: 0.4 }, { variant: 1, weight: 0.6 }, ], }; app.use(abtest(options)); ``` > 字段含义参考官方文档 接下来就是使用了。经过上面的配置,你就可以在业务代码拿到之前定义的变量。比如上面的配置,你就有 40% 的请求拿到 variant 为 1,60% 请求拿到 variant 为 2。 这个数据默认是挂在 req.session.test 上的。 ```js if (req.session.test.bucket == 0) { return res.render("index"); // 40% } else if (req.session.test.bucket == 1) { return res.render("index-new"); // 60% } ``` 这是一个刚刚发布不到一个月的产品,代码只有 100 行左右(加上测试用例代码差不多 200 行),不太建议直接在生产环境使用。 地址:github.com
展开
评论
当你试图对一个 npm 库做修改,一个常见的方法是 新建一个不同的名字的库,在这个新的库里你复制原有的代码并做修改。 修改依赖,引用新的被修改的库的名字。 这很不方便,且不利于追踪(比如如何查看改了什么功能?)。 patch-package 就解决了这个问题。使用方式也非常简单。 如下图:
展开
lucifer210于2021-08-07 22:08发布的图片
1
lucifer210的头像
关注了标签 算法 算法
前端架构 @ e签宝
下一页
个人成就
文章被点赞1,293
文章被阅读120,027
掘力值2,923
收藏集
39
关注标签
29
加入于