“测试人生”第一篇文章,献给2019年的移动测试开发大会MTSC。这一次,非常荣幸能够来到北京国际会议中心参会,一睹国内质量保障工作的现状与未来的发展趋势。
在学校期间,我也参与过一些小型的学术会议,但并不如今年的MTSC这样声势浩大。工作一年以来参与的第一个讨论会,已然是全国顶会。借这个机会,能够了解到业内排头企业在质量保障业务上的解决方案,对于自己在业务理解上会颇有帮助。本次议程中,除了参与第一天主会场之外,第二天游戏测试专场也全程参与,收获颇丰,感悟良多,一言难尽。
“测试人生”第一篇文章,献给2019年的移动测试开发大会MTSC。这一次,非常荣幸能够来到北京国际会议中心参会,一睹国内质量保障工作的现状与未来的发展趋势。
在学校期间,我也参与过一些小型的学术会议,但并不如今年的MTSC这样声势浩大。工作一年以来参与的第一个讨论会,已然是全国顶会。借这个机会,能够了解到业内排头企业在质量保障业务上的解决方案,对于自己在业务理解上会颇有帮助。本次议程中,除了参与第一天主会场之外,第二天游戏测试专场也全程参与,收获颇丰,感悟良多,一言难尽。
在lua的学习过程当中,元表metatable的概念及用法是常见的障碍之一
元表,在其它lua杂谈等都提到过,是一种描述lua数据的属性以及行为的表。虽然官方给了set、account等例子详细讲解了metatable,但总还是缺乏些提炼。为了干翻这个痛点,这次,果断强上metatable的精髓。毕竟,犹豫就会败北~
我们首先就会有疑问:通过哪些属性指标,可以描述lua的数据呢?通过官方手册,我们可以很容易地找到答案。
在lua中,我们把元表中的key,也就是描述数据的属性指标,称之为event
我们可以把所有的event分为两组(括号中代表lua里的语法):
描述其基础性质的:
__index
,__newindex
__len(#)
__call
__tostring
描述其运算的:
__add(加+)
,__sub(减-)
,__mul(乘*)
,__div(除/)
,__mod(模%)
,__pow(乘方^)
,__unm(负-)
,__idiv(取整除//)
__band(与&)
,__bor(或|)
,__bxor(异或~)
,__bnot(非~)
,__shl(左移<<)
,__shr(右移>>)
__concat(联结..)
,__eq(全等==)
,__lt(小于<)
,__lte(小于等于<=)
先来看一段程序吧~
前段时间,我和我的领导回到了母校,和我的师父师母聚餐。聚餐点了很多东西,大碗宽面,牛肉炒饭,韩国烤肉,吃都吃不完。虽然我的领导最近长得比以前p了些,但是吃饭速度还是慢悠悠。唉,要是我的领导能有个三头六臂,每个手都夹菜,每个头都去啃,那吃饭速度可就蹭蹭地涨上去了啊!
人无法三头六臂,但在Python里,我们可以做到。
要想实现三头六臂的效率,不走单一顺序流,我们不仅需要让多个任务能够并发(Concurrent),还能够并行(Parallel)运作。
假使吃饭吃到一半,人有三急,摘花回来继续用膳,那么如果把“吃饭”与“解手”当作两个任务,那么它们便是便是并发运作,但不并行。如果太追求效率,蹲坑恰饭,那便即是并发,也是并行了。
在Python中,我们可以用三种方式实现并发。但是并不是所有的方法,都支持并行。
这三种方法是:
最近一直在探索Lua的C API编程部分,上次实现了一个函数执行时间统计库:lfunctimer,这次就果断写了一个lnodelist
来玩玩。在这期间,遇到了许多纠结的问题,因此果断做下分享~
测试用例现在贼少= =想要试用的同学可以走lnodelist
的Github传送门,或者luarocks install lnodelist
,就可以开始干起~
在Lua里,table充当着array以及hashmap两个角色,提供了简单的insert、remove、concat等功能。lnodelist
则是独立于table之外建立一个崭新的list/array
数据结构,暂时是一个双向链表。API的需求上,则兼并java的LinkedList跟js的array两种体系,列表如下:
数据挖掘(Data Mining),一般指从海量抓取的数据中经过一定的数据处理、算法,从而提取出有价值的信息的过程。它大体基于统计学、机器学习(Machine Learning)等原理,辅佐了人类的信息处理工作,为人工智能(AI)铺下道路。
幸运的是,似乎正是因数据挖掘而生的那样,Python社区中有各种数据挖掘相关的package,能够满足各种数据处理与算法模型构建需求。我们只需要pip/conda install 包名
,然后查查api文档,熬几十行代码,就能玩一玩数据挖掘。
为此,在这一话,我们以自然语言处理(NLP)的文本分类(Text Classification)为例,设计一个最simple的,最old school的,以Python为例的,从数据获取到产生数据挖掘结果的流程。