欢迎来到 星空Online - 织梦者,我的原创世界。

A/B Testing 与中心极限定理

发布于:12/29/2023, 10:18:50 PM @孙博
技术分享 | AB测试,数学

在对精细化运营愈发重视的今天,A/B 测试已经成为了各大互联网公司中产品迭代过程中重要环节之一,通过随机分流的方式,观察一段时期内不同分支下的数据表现,再从中选择最符合自己预期目标的方案,可以更科学的量化产品的迭代效果。

A/B 测试之所以能够通过局部样本来预估整体大盘的数据表现,其最为重要的理论依据就是中心极限定理。

首先我们先来看下什么是中心极限定理。

阅读更多内容......

Vue 3.3 泛型组件类型识别错误的解决

发布于:11/21/2023, 7:25:01 PM @孙博
技术分享 | Typescript,Vue

2023 年 5 月 11 日,Vue 发布了新版本 3.3。开发团队这个版本里加入了许多新特性,其中就包括了泛型组件。

许多语言都具备支持泛型的能力,尤其是在后端技术栈中更是不可或缺。举一个非常常见的例子 —— List,就是泛型集合类型的代表。

当我们需要定义一个集合时,往往是需要限制用户加入到这个集合对象的内容。例如我们需要定义一个数值类型的集合,那么肯定不希望有字符串混进来,在没有泛型支持之前,JavaC# 是通过 Object 的方式存取数组中的变量,在放入和取出对象时,还需要额外进行装箱与拆箱操作,并在这个过程中手动完成类型检查的动作。自从 C# 2.0 以及 JDK 5 分别正式的加入了泛型支持后,在编译时就可以通过泛型的方式约束操作对象的类型,在编码阶段即可杜绝类型不一致带来的隐患,对 C# 来说,更是在运行时也获得了充分的泛型能力支持,语法层面上更是盖过 Java 一头。

阅读更多内容......

对象方法与静态方法在工具类设计中的边界

发布于:6/13/2023, 1:31:05 PM @孙博
技术分享 | 设计模式,工具类,代码设计,面向对象

对于一个正常规模的业务系统,除了必要的业务代码之外,还会有一些公共方法来完成公共逻辑,如获取请求方 IP 地址、日期和数字的格式化处理、检查用户权限等。尽管这些公共方法的具体实现可能不同,但它们通常都是扮演着完成公共逻辑的角色。这些公共方法可能会被封装成服务,也可能会被写入工具类的静态方法中。那么为什么会有这些差异?这些不同的实现方式在设计层面上有何不同之处?本文将探讨这个问题。

既然提到了静态方法与通过对象暴露的方法,首先我们要想一下这两种方式本质的区别是什么。我们经常会提到“面向对象”这个词,如果从这一点来说,静态方法与通过对象暴露的方法的一个重要的区别就是——工具类的静态方法是一个孤立的方法,而对象提供的方法是隶属于特定对象的。

考虑到大环境的因素,接下来的讨论将以 Java 为例。

阅读更多内容......