C++模板多类型形参

C++模板与Java泛型有共通之处,为了参数化代码。所以也疑惑C++中的类模板是否与Java泛型相同只能指定一个类型?
C++模板格式
1、 函数模板格式

1
2
3
template<typename T1, typename T2, ...> 返回类型 函数名(参数列表){
...
}

2、类模板格式

1
2
3
template<typename T1, typename T2, ...> class 类名{
...
};

Read More

刷脸支付-人脸比对效率

支付宝、微信刷脸支付时都要求先输入手机号,再刷人脸支付。马上刷脸付输入手机后4位,再刷脸认证支付。
都刷脸了,为啥还要输入手机号,不如掏出手机扫一扫。极其不理想
这个问题主要由目前人脸识别算法处理方式导致。我们基于传统业务想象中,应当是

  1. 抓取人脸
  2. 提取特征
  3. 查询验证数据
  4. 支付

如此,果然不再需要手机号。但是“基于人脸特征点的识别算法”,提取的特征并非是唯一数值可供直接比对查询。需要与所有特征点计算以匹配度最高来判断(1:N)。所以真实流程是
1.抓取人脸
2.提取特征
3.查询所有用户特征计算
4.获取最匹配数值与阈值比对
5.支付
如果输入了全的手机号后,就不再有耗时的1:N,而是1:1。
以上

转载请标明出处:
http://2tu.github.io/
本文出自Tu’s blog

支付是同步还是异步

我们一直认为支付是异步的,从未有过其它可能。最近却被收银员实力打脸。线下门店支付时,平台告诉收银员支付中,客人拿走商品后最终却支付失败,谁来买单?谁背锅?如何面对这样的声色俱厉?

异步支付

异步双方不需要共同的时钟,也就是接收方不知道发送方什么时候发送,所以在发送的信息中就要有提示接收方开始接收的信息,如开始位,同时在结束时有停止位。
异步的另外一种含义是计算机多线程的异步处理。与同步处理相对,异步处理不用阻塞当前线程来等待处理完成,而是允许后续操作,直至其它线程将处理完成,并回调通知此线程。
以上是百度百科的概念。所以我们的支付服务一定是异步处理接收、查询支付最终结果,否则所有请求都处于等待支付状态,服务器资源不够,带宽不够,无法支撑大并发。
但是我们仍然无法如此回怒收银员。所以我们要告诉她我们是“
同步支付”(对,就是这么没节操)。

Read More

统计学第二篇,极差、中程数

概念

极差,数据分开有多远,值越大分开越远,越小数据越紧密
中程数,考虑集中趋势的又一种方式

仍然以“1,2,3,3,5,7,7,8,9,10”数据集为例

极差,中程数

Type 示例 说明
极差(range) 10-1 9 最大减去最小
中程数(midrange) (10-1)/2 4.5 最大减最小,再求算术平均数
转载请标明出处:
http://2tu.github.io/2018/02/09/statistics-learn2-range-mid-range/
本文出自Tu’s blog

统计学第一篇,均值、中位数、众数

均值、中位数、众数是表示一组数据集中趋势的量数,下面以“1,2,3,3,5,7,7,8,9,10”数据集为例

均值,中位数,众数

Type 示例 说明
均值(Mean) (1+2+3+3+5+7+7+8+9+10)/10 5.5 算术平均数。求和,再除个数
中位数(Median) (5+7)/2 6 选取平均数。从小到大排序;选取中间的数求算术平均数
众数(Mode) 3,7 3,7 数据集中出现次数最多的数
众数,有多个数出现的次数最多,则它们都是众数

使用Java、Excel数据分析如何有效投资房产中在自己实际投资分析中,应该将房价清洗为以千或500为单位后用众数及中位数进行分析更为合理,否则异常值会误导分析

转载请标明出处:
http://2tu.github.io/2018/02/05/statistics-learn1-average/
本文出自Tu’s blog