正在搭建公司的 ab test 的小伙伴有福了~

在上一家公司工作的时候,我负责开发公司的 ab test 系统。说实话,我们的功能极其简单。尽管如此,这个功能也花费了我们大量的时间去设计,实现,调试,发布。

easy-abtest 正如它的名字一样,是一个使用极为简单的 abtest 框架。

有多简单呢?我们来看下。

首先是定义变量,以及权重等配置。

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 上的。

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 行),不太建议直接在生产环境使用。

地址:https://github.com/darshanbib/easy-abtest

爱心三连击

1.看到这里了就点个在看支持下吧,你的在看是我创作的动力。

2.关注公众号力扣加加,获取更多算法硬核文章!加个星标,不错过每一条成长的机会。

3.如果你觉得本文的内容对你有帮助,就帮我转发一下吧。

  • 后台回复:「电子书」,获取我精心制作的算法刷题电子书(20+万字)

  • 后台回复:「背包」,自动获取《背包九讲》pdf

  • 后台回复:「脑图」,自动获取我制作的算法脑图总结

  • 后台回复:「刷题插件」,自动获取上万人都在用的力扣刷题插件

另外你还可以回复具体的算法专题获取相应的文章,比如 「二分」「堆」「树」「链表」等等

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值