当前位置: 首页 > news >正文

AB测试——流程介绍(设计实验)

前言: 作为AB测试的学习记录,接上文内容, 本文继续介绍假设建立和实验设计部分,包括实验对象、样本量计算(显著性水平、统计功效及最小可检测效应)、实验周期。
相关文章:
AB测试——原理介绍
AB测试——流程介绍(定义问题和指标选取)

3. 假设建立

在这里插入图片描述

3.1 原假设和备择假设

在AB测试中,我们需要建立原假设和备择假设:

  • 零假设(H0)是默认的假设,即控制组和实验组之间没有显着差异。它表明两组之间任何观察到的差异都是由于机会因素造成的。
  • 备择假设(Ha)与零假设相反。它表明控制组和实验组之间存在统计学上显着的差异,而这种差异不是由于机会因素造成的。

3.2 案例说明

例如,我们进行了一个AB测试,将用户随机分为A组和B组,在A组中采用原来的页面设计,在B组中采用新的页面设计,然后比较两组用户的转化率。我们建立如下的假设:

  • 原假设(H0):页面设计对转化率没有显著影响,A组和B组的转化率相同。
  • 备选假设(H1):页面设计对转化率有显著影响,A组和B组的转化率不相同。

一个完整的AB测试假设可以描述为:“通过改进网站的页面设计(优化方向)来提高注册转化率(测试指标),我们将测试两个版本的网站页面(测试变量):版本A和版本B。我们希望看到版本B的注册转化率显著优于版本A,我们将在测试期内每个版本中招募至少1000名用户(测试样本量),测试期为两周(测试时间)。”

在AB测试中,建立清晰明确的假设非常重要,它能够帮助我们更好地理解测试目标和测试方案,高测试的可信度和有效性,从而优化产品和服务的效果


4. 实验设计

4.1 确定实验对象

4.1.1实验对象分类

实验对象类型下面总结了比较常见的六种:

  1. 用户:以每个用户的唯一标识(比如身份证号、用户ID)作为实验样本可以避免数据混淆,但需要注意用户特性、数量和行为对实验结果的影响,如用户数量较少时需要增加实验时间,保证实验组和对照组具有相似的行为习惯和偏好。
  2. 设备:以设备作为实验对象时,每个设备将只分配给一个实验组或对照组。因为这些设备通常只能由一个用户使用,可以避免同一个用户在两个分桶中的情况,从而确保数据的可靠性。使用设备作为实验对象时,需要考虑到设备的数量、品牌和型号的变化。
  3. 页面或屏幕:这是一种适用于网站和应用程序的实验对象分类,因为这些页面或屏幕通常是用户与应用程序交互的主要方式。使用时,需要考虑到页面或屏幕的种类、内容和布局的变化。
  4. 对话:如果要对用户在应用或网站上的交互行为进行实验,可以使用对话作为实验对象,如聊天机器人或客服。需要确保实验的随机性和可重复性,避免实验组和对照组之间对话内容或应用程序使用场景的差异对实验结果的影响。
  5. 区域:通常是将参与实验的用户按照所在区域划分为实验组和对照组。例如,可以按照城市、国家或地域等将用户分组。在这种情况下,需要考虑到区域的多样性、用户数量的变化、用户行为的差异等因素。同时,需要确保实验组和对照组在每个区域的用户数量相当,以确保实验结果的有效性。
  6. 时间:将参与实验的用户按照时间顺序划分为实验组和对照组。例如,可以按照日期、星期几、小时等将用户分组。在这种情况下,需要考虑到时间的变化、用户数量的变化、用户行为的变化等因素。同时,需要注意确保实验组和对照组在每个时间段内的用户数量相当,以确保实验结果的有效性。

4.1.2 明确目标群体

除了确定好实验对象的类型,还需要明确实验目标群体。实际实验中,往往只需要针对特定对象进行实验,基本很少会有把所有用户/设备当做实验对象的情况。

比如在页面设计中,针对B端和C端的页面是不同的,当实验针对的是B端商家的界面优化时,实验就与C端用户无关,即可排除掉无关的C端用户。同时,登录方式包括网页、APP, 网页页面优化和手机用户的体验无关。尽量减少不相干的用户

在实际应用中,需要根据实验的具体情况来选择适合的实验对象分类,并确保实验设计合理、随机性良好,以获得可靠的实验结果。

4.2 计算样本量

4.2.1最小样本量的意义

实验和业务的要求不同。实验是希望样本量越大越好,样本量越大越能保证实验结果准确;但是业务方希望样本小,可以降低风险,加速迭代。

样本量过小可能会导致测试结果不够准确,而样本量过大则可能会浪费资源。因此,实验必须 满足最小样本量,实验结果中的数据检验才可信。如果没有计算样本大小,可能会提前停止测试而得出错误结论。

样本量计算工具网址
加粗样式

4.2.2 显著性水平(Significant level)

在这里插入图片描述
显著性水平是指在假设检验中拒绝零假设的概率,用α表示。通常使用的显著性水平是0.05或0.01,表示假设检验中有5%或1%的概率出现误判,即错误地拒绝了真实的零假设。
换言之,在95%或99%的情况下,我们可以相信实验结果的可靠性。

1-α 为置信度或置信水平

4.2.3 统计功效(Statistical power)

统计功效(statistical power)是指在统计假设检验中,能够正确拒绝原假设的概率,即检验能够发现真实效应的概率。 也可以解释为,正确地获得小的P值(<0.05)的概率。

在计算样本量时,通常会根据要求选择实验的功效为0.8或0.9(或更高),即β在0.2(或0.1)以下。

引用百度百科解释:
在假设检验中, 当原假设错误时, 接受正确的替换假设的概率。
已知在假设检验中:α错误是弃真错误,β错误是取伪错误。取伪错误是指,原假设为假,样本观测值没有落在拒绝域中,从而接受原假设的概率,即在原假设为假的情况下接受原假设的概率。
由此可知, 统计功效等于1-β

它是在假设真实存在一定的效应差异时,我们能够在实验中检测到这种效应的概率。

统计功效与一类错误和二类错误密切相关,因为增加统计功效会降低二类错误的概率,但同时可能增加一类错误的概率。

4.2.4 最小可检测效应(Minimum detectable effect)

MDE指在实验中你希望能够检测到的最小变化量。 换句话说,它是一个指标,可以帮助我们确定是否需要进行实验,并确定实验的样本大小。在实际运用中,我们通常会设定一个最小可检测效应值,如果实验的结果小于该值,我们则认为实验结果不具有显著性,不值得进一步的关注。

通常情况下,最小可检测效应越小,需要的样本量就越大。

举个例子:

一个旅行网站希望能够验证一个方案去提高旅游报销的销售额。
已知: 1)网站每年有730,000个用户预定;2)预计保险的净利润为每个用户3美元;3)新方案将花费团队总计75000美元成本。

因此,在年度基础上,网站必须销售25,000份保险才能达到盈亏平衡,相当于添加保险的预订量为3.42% (25000 / 730000 = 0.0342)。通过ROI计算,3.42%将是一个合理的MDE。 即与现在相比,新方案需要对保险销量有3.42%的提升,该实验才有意义。

4.3 实验周期

在这里插入图片描述
一般而言,AB测试的实验周期应当足够长,以确保测试结果具有统计学意义和稳定性。

测试周期过短可能会导致测试结果不可靠或稳定性差,而测试周期过长则会延长测试周期和成本,影响测试效率。

在实际应用中一般是1~2周,以确保在不同时间段的测试结果差异不会对测试结果造成显著影响。此外,测试时长还应当根据测试指标和变化量大小来决定,一些指标可能需要更长的测试周期才能反映出变化的效果。

需要考虑周期效应和新奇效应:

4.3.1 周期效应(period effect)

周期效应是指用户行为周期带来的效应,比如季节效应、周内效应。用户可能会在某些时间点表现出与其他时间点不同的行为。

为了避免周期效应对实验结果的影响,可以采取以下措施:

  • 控制外部变量:尽可能地控制与实验相关的外部变量,例如假期、天气等因素。这样可以减少这些外部因素对实验结果的干扰,并更准确地评估实验的效果。

  • 分层实验:在实验设计中,可以将用户分成不同的层级,例如按照地理位置、年龄、性别等进行分层。这样可以更好地控制周期效应的影响,因为不同层级的用户可能会受到不同的周期性影响。

  • 长期实验:如果实验的目的是评估某个长期效果,那么可以考虑将实验设计成长期实验,以避免周期效应的影响。通过持续观察实验结果,可以更好地确定实验的效果,并减少周期效应对实验结果的干扰。

4.3.2 新奇效应(novelty effect)

新奇效应是指在用户面对新的或不同于以往的体验或设计时,会对其产生兴趣和好奇心,从而可能会导致其行为发生变化,而这种变化可能与实验本身无关。

为了避免新奇效应对实验结果的影响,可以采取以下措施:

  • 增加对照组数量:增加对照组数量可以帮助我们更好地确定实验结果是否受到新奇效应的影响。如果对照组数量足够大,那么我们就可以比较对照组和实验组之间的行为差异,从而确定实验结果是否具有统计显著性。

  • 分阶段实验:将实验分成多个阶段进行,逐步引入新设计或体验,可以帮助我们更好地了解用户行为的变化。通过观察不同阶段的实验结果,我们可以更准确地确定新奇效应的影响,并确定新设计或体验所带来的真正效果。

参考资料:
https://www.invespcro.com/blog/calculating-sample-size-for-an-ab-test/
https://www.eyeofcloud.com/abtest-widget/124.html
https://machinelearningmastery.com/statistical-power-and-power-analysis-in-python/
https://towardsdatascience.com/how-to-set-the-minimum-detectable-effect-in-ab-tests-fe07f8002d6d

相关文章:

AB测试——流程介绍(设计实验)

前言&#xff1a; 作为AB测试的学习记录&#xff0c;接上文内容&#xff0c; 本文继续介绍假设建立和实验设计部分&#xff0c;包括实验对象、样本量计算&#xff08;显著性水平、统计功效及最小可检测效应&#xff09;、实验周期。 相关文章&#xff1a; AB测试——原理介绍 A…...

C++中的智能指针有哪些?分别解决的问题以及区别?

1.C中的智能指针有4种&#xff0c;分别为&#xff1a;shared_ptr、unique_ptr、weak_ptr、auto_ptr&#xff0c;其中auto_ptr被C11弃用。 2.使用智能指针的原因 申请的空间&#xff08;即new出来的空间&#xff09;&#xff0c;在使用结束时&#xff0c;需要delete掉&#xff0…...

通达信捉妖改良CCI指标公式,简洁巧妙

高端的食材&#xff0c;往往只需要简单的烹饪方式。好的指标也是一样&#xff0c;只需要简单处理&#xff0c;就可以实现不错的效果。捉妖改良CCI指标公式属于意外之喜&#xff0c;编写指标时写错了&#xff0c;研究后发现结果比原想法更好。 捉妖改良CCI指标公式利用了CCI&am…...

「Python 基础」面向对象编程

文章目录1. 面向对象编程类和实例访问限制继承和多态type()isinstance()dir()实例属性和类属性2. 面向对象高级编程\_\_slots\_\_property多重继承定制类枚举类元类1. 面向对象编程 Object Oriented Programming 简称 OOP&#xff0c;一种程序设计思想&#xff0c;以对象为程…...

【K3s】第23篇 一篇文章带你学习k3s私有镜像仓库配置

目录 1、私有镜像仓库配置 2、registries.yaml Mirrors Configs 1、私有镜像仓库配置 可以配置 Containerd 连接到私有镜像仓库,并使用它们在节点上拉取私有镜像。 启动时,K3s 会检查/etc/rancher/k3s/中是否存在registries.yaml文件,并指示 containerd 使...

Redis学习【12】之Redis 缓存

文章目录前言一 Jedis 简介二 使用 Jedis2.1 测试代码2.2 使用 JedisPool2.3 使用 JedisPooled2.4 连接 Sentinel 高可用集群2.5 连接分布式系统2.6 操作事务三 Spring Boot整合Redis3.1 创建工程3.2 定义 pom 文件3.3 完整代码3.4 总结四 高并发问题4.1 缓存穿透4.2 缓存击穿4…...

Bootargs 参数

bootargs 的参数有很多&#xff0c;而且随着 kernel 的发展会出现一些新的参数&#xff0c;使得设置会更加灵活多样1。除了我之前介绍的 root、console、earlyprintk 和 loglevel 之外&#xff0c;还有以下一些常用的参数&#xff1a;init: 用来指定内核启动后执行的第一个程序…...

Mybatis框架源码笔记(七)之Mybatis中类型转换模块(TypeHandler)解析

1、JDBC的基本操作回顾 这里使用伪代码概括一下流程: 对应数据库版本的驱动包自行下载加载驱动类 (Class.forName("com.mysql.cj.jdbc.Driver"))创建Connection连接: conn DriverManager.getConnection("jdbc:mysql://数据库IP:port/数据库名称?useUnico…...

论文阅读《Block-NeRF: Scalable Large Scene Neural View Synthesis》

论文地址&#xff1a;https://arxiv.org/pdf/2202.05263.pdf 复现源码&#xff1a;https://github.com/dvlab-research/BlockNeRFPytorch 概述 Block-NeRF是一种能够表示大规模环境的神经辐射场&#xff08;Neural Radiance Fields&#xff09;的变体&#xff0c;将 NeRF 扩展到…...

【Matlab】如何设置多个y轴

MTALAB提供了创建具有两个y轴的图&#xff0c;通过help yyaxis就能看到详细的使用方式。 但是如果要实现3个及以上y轴的图&#xff0c;就没有现成的公式使用了&#xff0c;如下图所示。 具体代码 % 数据准备 x10:0.01:10; y1sin(x1); x20:0.01:10; y2cos(x2); x30:0.01:10;…...

圆桌(满足客人空座需求,合理安排客人入座圆桌,准备最少的椅子)

CSDN周赛第30期第四题算法解析。 (本文获得CSDN质量评分【91】)【学习的细节是欢悦的历程】Python 官网&#xff1a;https://www.python.org/ Free&#xff1a;大咖免费“圣经”教程《 python 完全自学教程》&#xff0c;不仅仅是基础那么简单…… 地址&#xff1a;https://lq…...

如何入门大数据?

我们首先了解一下大数据到底是什么~ 大数据开发做什么&#xff1f; 大数据开发分两类&#xff0c;编写Hadoop、Spark的应用程序和对大数据处理系统本身进行开发。 大数据开发工程师主要负责公司大数据平台的开发和维护、相关工具平台的架构设计与产品开发、网络日志大数据分…...

如何在Vite项目中使用Lint保证代码质量

通常,大型前端项目都是多人参与的,由于开发者的编码习惯和喜好都不尽相同,为了降低维护成本,提高代码质量,所以需要专门的工具来进行约束,并且可以配合一些自动化工具进行检查,这种专门的工具称为Lint,可能大家接触得最多就是ESLint。 对于实现自动化代码规范检查及修…...

Spark高手之路1—Spark简介

文章目录Spark 概述1. Spark 是什么2. Spark与Hadoop比较2.1 从时间节点上来看2.2 从功能上来看3. Spark Or Hadoop4. Spark4.1 速度快4.2 易用4.3 通用4.4 兼容5. Spark 核心模块5.1 Spark-Core 和 弹性分布式数据集(RDDs)5.2 Spark SQL5.3 Spark Streaming5.4 Spark MLlib5.5…...

社科院与杜兰大学金融管理硕士项目——人生没有太晚的开始,不要过早的放弃

经常听到有人问&#xff0c;“我都快40了&#xff0c;现在学车晚不晚呢”“现在考研晚不晚&#xff1f;”“学画画晚不晚&#xff1f;”提出这些疑问的人&#xff0c;往往存在拖延&#xff0c;想法只停留在想的阶段&#xff0c;从来不去行动。当看到周边行动起来的人开始享受成…...

Spatial-Temporal Graph ODE Networks for Traffic Flow Forecasting

Spatial-Temporal Graph ODE Networks for Traffic Flow Forecasting 摘要 交通流量的复杂性和长范围时空相关性是难点 经典现存的工作&#xff1a; 1.利用浅图神经网络&#xff08;shallow graph convolution networks&#xff09;和 时间提取模块去分别建模空间和时间依赖…...

IP协议+以太网协议

在计算机网络体系结构的五层协议中&#xff0c;第三层就是负责建立网络连接&#xff0c;同时为上层提供服务的一层&#xff0c;网络层协议主要负责两件事&#xff1a;即地址管理和路由选择&#xff0c;下面就网络层的重点协议做简单介绍~~ IP协议 网际协议IP是TCP/IP体系中两…...

可视化组件届的仙女‖蝴蝶结图、玫瑰环图、小提琴图

在上一篇内容中为大家介绍了几个堪称可视化组件届吴彦祖的高级可视化图表。既然帅哥有了&#xff0c;怎么能少得了美女呢&#xff1f;今天就为大家介绍几个可视化组件届的“美女姐姐”&#xff0c;说一句是组件届的刘亦菲不为过。蝴蝶结图蝴蝶结图因其形似蝴蝶结而得名&#xf…...

人的高级认知:位置感

你知道吗&#xff1f;人有个高级认知&#xff1a;位置感 位置感是啥&#xff1f;咋提高位置感&#xff1f; 趣讲大白话&#xff1a;知道自己几斤几两 【趣讲信息科技99期】 ******************************* 位置感 就是对自己所处环境和自身存在的领悟 属于人生智慧 来源于阅历…...

MATLAB——信号的采样与恢复

**题目&#xff1a;**已知一个连续时间信号 其中&#xff1a;f01HZ&#xff0c;取最高有限带宽频率fm5f0。分别显示原连续时间信号波形和 3种情况下抽样信号的波形。并画出它们的幅频特性曲线&#xff0c;并对采样后的信号进行恢复。 step1.绘制出采样信号 这部分相对简单…...

Docker Nginx 反向代理

最近在系统性梳理网关的知识&#xff0c;其中网关的的功能有一个是代理&#xff0c;正好咱们常用的Nginx也具备次功能&#xff0c;今天正好使用Nginx实现一下反向代理&#xff0c;与后面网关的代理做一个对比&#xff0c;因为我使用的docker安装的Nginx&#xff0c;与直接部署N…...

手把手教你实现书上的队列,进来试试?

一.队列的基本概念队列的定义队列&#xff08;queue&#xff09;是只允许在一端进行插入操作&#xff0c;而在另一端进行删除操作的线性表。队列是一种先进先出&#xff08;First In First Out&#xff09;的线性表&#xff0c;简称FIFO。允许插入的一端称为队尾&#xff0c;允…...

【springboot】springboot介绍

学习资料 SpringBoot 语雀 (yuque.com)【尚硅谷】SpringBoot2零基础入门教程&#xff08;spring boot2干货满满&#xff09;_哔哩哔哩_bilibiliSpringBoot2核心技术与响应式编程: SpringBoot2核心技术与响应式编程 (gitee.com) Spring 和Springboot 1、Spring能做什么 1.1…...

PMP项目管理项目整合管理

目录1 项目整合管理概述2 制定项目章程3 制定项目管理计划4 指导与管理项目工作5 管理项目知识6 监控项目工作7 实施整体变更控制8 结束项目或阶段1 项目整合管理概述 项目整合管理包括对隶属于项目管理过程组的各种过程和项目管理活动进行识别、定义、组合、统一和协调的各个…...

ADS中导入SPICE模型

这里写目录标题在官网中下载SPICE模型ADS中导入SPICE模型在官网中下载SPICE模型 英飞凌官网 ADS中导入SPICE模型 点击option&#xff0c;设置导入选项 然后点击ok 如果destination选择当前的workspace&#xff0c;那么导入完成之后如下&#xff1a; &#xff08;推荐使用…...

C++:异常

在学习异常之前&#xff0c;来简单总结一下传统的处理错误的方式&#xff1a; 1. 终止程序&#xff0c;如assert&#xff0c;缺陷&#xff1a;用户难以接受。如发生内存错误&#xff0c;除0错误时就会终止程序。 2. 返回错误码&#xff0c;缺陷&#xff1a;需要程序员自己去查找…...

3.初识Vue

目录 1 vue 浏览器调试工具 1.1 安装 1.2 配置 2 数据驱动视图与双向数据绑定 3 简单使用 3.1 下载 3.2 将信息渲染到DOM上 4 使用vue浏览器调试工具 5 vue指令 1 vue 浏览器调试工具 chrome可能是我浏览器的原因&#xff0c;装上用不了&#xff0c;我们使…...

【C语言复习】程序的编译与链接

程序的编译与链接写在前面程序的编译与链接编译的过程程序编译环境程序执行过程编译链接的过程预处理预处理符号#define条件编译写在前面 程序的编译与链接是C语言中非常重要的一节。关键点在于详解C语言的程序编译和链接、宏的定义和与函数的区别、条件编译等知识。 程序的编…...

Golang sql 事务如何进行分层

在写代码过程中遇到了需要使用gorm执行sql事务的情况&#xff0c;研究了一下各位大佬的实现方案&#xff0c;结合了自身遇到的问题&#xff0c;特此记录。 代码架构介绍 . ├── apis ├── config ├── internal │ ├── constant │ ├── controller │ ├──…...

linux系统openssh升级

linux系统openssh升级 说明 整个过程不需要卸载原先的openssl包和openssh的rpm包。本文的环境都是系统自带的openssh&#xff0c;没有经历过手动编译安装方式。如果之前有手动编译安装过openssh&#xff0c;请参照本文自行测试是否能成功。 如果严格参照本文操作&#xff0c;保…...

力扣-求关注者的数量

大家好&#xff0c;我是空空star&#xff0c;本篇带大家了解一道简单的力扣sql练习题。 文章目录前言一、题目&#xff1a;1729. 求关注者的数量二、解题1.正确示范①提交SQL运行结果2.正确示范②提交SQL运行结果3.正确示范③提交SQL运行结果4.正确示范④提交SQL运行结果5.正确…...

近红外荧光染料修饰氨基IR 825 NH2,IR 825-Amine,IR-825 NH2

IR 825 NH2&#xff0c;IR 825-NH2&#xff0c;IR825 Amine&#xff0c;IR825-Amine&#xff0c;新吲哚菁绿-氨基&#xff0c;荧光染料修饰氨基产品规格&#xff1a;1.CAS号&#xff1a;N/A2.包装规格&#xff1a;10mg&#xff0c;25mg&#xff0c;50mg&#xff0c;包装灵活&am…...

Android Crash和ANR监控

文章目录一、Crash1.1 概念1.2 类型二、ANR2.1 概念2.2 类型2.2.1 KeyDispatchTimeout&#xff08;常见&#xff09;2.2.2 BroadcastTimeout2.2.3 ServiceTimeout2.2.4 ContentProviderTimeout三、测试中如何关注3.1 Crash测试关注方法3.2 ANR测试关注方法四、如何记录与处理4.…...

【02 赖世雄英语语法:复句的语法】

复句的语法复句&#xff1a;把单句 连在一起&#xff08;标点符号&#xff0c;连词&#xff0c;关系词&#xff09;1. 连接符号1.1 破折号 — &#xff1a;补充说明&#xff0c;同位语1.2 冒号 : &#xff08;同位语&#xff09;1.3 分号 ; &#xff08; , 连词&#xff09;&am…...

北斗导航 | 多参考一致性监测算法(MRCC)(附伪码)—— B值计算

===================================================== github:https://github.com/MichaelBeechan CSDN:https://blog.csdn.net/u011344545 ===================================================== MRCC 用于接收机失效检查与排除。在进行 MRCC 之前,先判断 4 台接收机…...

数字孪生与 UWB 人员定位:双剑合璧的智能物联新时代

人员定位是指利用各种定位技术对人员在特定场所的位置进行准确定位的技术。人员定位技术主要应用于需要实时监控、管理和保障人员安全的场所&#xff0c;如大型厂区、仓库、医院、学校、商场等。人员定位技术的应用范围非常广泛&#xff0c;例如&#xff1a;-在工厂生产线上&am…...

奇点云DataSimba发版全解析:“企业级”版本升级,提供最佳组合

近日&#xff0c;奇点云发布数据云产品商业化版本的全新升级&#xff1a;DataSimba&#xff08;数据云平台&#xff09;提供极速版、专业版、旗舰版、红旗版&#xff0c;可靠性、可用性、可服务性再进阶&#xff0c;四大版本满足不同企业选择。 「乐高式DIY」or「最佳组合」&am…...

2-7 SpringCloud快速开发入门: Eureka 注册中心高可用集群搭建

接上一章节Eureka 服务注册中心发现与消费服务&#xff0c;这里讲讲Eureka 注册中心高可用集群搭建 Eureka 注册中心高可用集群搭建 Eureka 注册中心高可用集群就是各个注册中心相互注册 Eureka Server的高可用实际上就是将自己作为服务向其他服务注册中心注册自己&#xff0c…...

STL中的函数对象

STL-函数对象 函数对象概念 重载函数调用操作符的类&#xff0c;其对象常称为函数对象函数对象使用重载的()时&#xff0c;行为类似函数调用&#xff0c;也叫仿函数 本质 函数对象(仿函数)是一个类&#xff0c;不是一个函数—修改算法策略—采用虚拟对象调用 函数对象的使用理…...

linux下libevent的编译安装

1&#xff0c;官网下载最新的&#xff0c;https://libevent.org/2&#xff0c;将文件解压&#xff0c;虚拟机可以右键解压&#xff0c;也可以用命令解压&#xff0c;tar zxvf libevent.tar.gz&#xff0c;进行解压缩。这里压缩包的名称只是举例&#xff0c;实际它还会带上版本号…...

深度学习部署笔记(十): CUDA RunTime API-2.2流的学习

1. 流的定义 流&#xff08;Stream&#xff09;是一个基于上下文&#xff08;Context&#xff09;的任务管道抽象&#xff0c;是一组由GPU依次执行的CUDA操作序列&#xff0c;其中每个操作可能会使用或产生数据。在一个上下文中可以创建多个流&#xff0c;每个流都拥有自己的任…...

[ROC-RK3568-PC] [Firefly-Android] 10min带你了解I2C的使用

&#x1f347; 博主主页&#xff1a; 【Systemcall小酒屋】&#x1f347; 博主追寻&#xff1a;热衷于用简单的案例讲述复杂的技术&#xff0c;“假传万卷书&#xff0c;真传一案例”&#xff0c;这是林群院士说过的一句话&#xff0c;另外“成就是最好的老师”&#xff0c;技术…...

工作记录:举步维艰的在线 word 之旅 - tinymce

项目中需要实现 “在线编辑 word 模板” 的功能&#xff0c;我打算使用富文本组件 tinymce &#xff0c;因为业务需求比较特殊&#xff0c;研究一下 tinymce 是否能实现。 如何在 vue 项目中引用 tinymce&#xff0c;可以看另一篇文章 《在 vue 项目中使用 tinymce》 &#x…...

动态规划编译距离

583. 两个字符串的删除操作方法&#xff1a;dp状态表示&#xff1a;以i-1和j-1为结尾的字符串world1和world2&#xff0c;抵达相同的字符串所需的最少操作数属性&#xff1a;最小值状态计算&#xff1a;world1[i-1]和world2[j-1]相同dp[i][j] dp[i-1][j-1];world1[i-1]和world…...

Netty 教程 – 解码器详解

TCP以流的方式进行数据传输&#xff0c;上层的应用为了对消息进行区分&#xff0c;往往采用如下方式 固定消息长度&#xff0c;累计读取到长度和定长LEN的报文后&#xff0c;就认为读取到了个完整的消息&#xff0c;然后将计数器位置重置在读取下一个报文内容将回车换行符作为…...

Allegro如何自动添加测试点操作指导

Allegro如何自动添加测试点操作指导 在做PCB设计的时候,在一些应用场合下需要给PCB上的网络添加测试点,如下图 测试点除了可以手动逐个添加之外,Allegro还支持自动添加测试点,具体操作如下 点击Manufacture点击Testprep...

【CSS】CSS 背景设置 ③ ( 背景位置-长度值设置 | 背景位置-长度值方位值同时设置 )

文章目录一、背景位置-长度值设置二、背景位置-长度值方位值同时设置三、完整代码示例一、背景位置-长度值设置 长度值设置 效果展示 : 设置背景位置为具体值 10px 50px : 粉色区域是盒子的区域 , 图片背景位于盒子位置 x 轴方向 10 像素 , y 轴方向 50 像素 ; 在水平方向上 ,…...

AbTest —— 不同场景下的应用模式

文章目录不同人群眼中的 AbTestAbTest 不同的功能倚重用户关联性弱&#xff0c;经典场景为 Feed - 部门组织形式大多非垂直业务用户关联性强&#xff0c;经典场景为 垂类/工具类APP&#xff1b;部门组织形式大多为垂直业务康为定律-组织决定产品形态不同应用模式下服务构建开机…...

fast-api 一款快速将spring的bean发布成接口并生产对应swagger文档调试的轻量级工具

fast-api简介背景开发痛点:分析需求实战fast-api快速上手1. 引入依赖2. FastApiMapping标记service对象3. swagger2/knife4j 在线测试进阶使用开启调试模式支持指定类或包目录发布如何关闭fast-api自定义fast-api的前缀写在最后简介 fast-api 一款快速将spring的bean(service)发…...

以公益之名 让人类发现数学之美

目录 1.品牌理念高举高打 2.创新赛制 赋能品牌 3.全球化的品牌传播 9月26日&#xff0c;2022阿里巴巴全球数学竞赛获奖名单公布&#xff0c;4座金杯分别由平均年龄25岁&#xff0c;来自美国麻省理工学院、美国布朗大学、北京大学在读数学博士斩获。77位获奖者中00后超五成引热…...