技术文章

测试开发这一年

心不动则不痛 提交于 2021-02-17 09:42:40
上一期我聊到2018年是我做测试开发的一年,然后,有不少测试同学问测试开发做具体在做什么?根据近一年的工作,再次聊聊这个岗位。 我以前的文章曾经对测试开发做过简单的一个划分: 测试工具、测试平台开发:这类开发工作主要服务于“测试”相关业务,本质与开发公司其它产品业务并没有什么不同。 自动化测试开发:这类工作主要围绕公司的产品开发自动化测试脚本,主要包括 UI自动化测试、接口自动化测试和单元测试等。 测试脚本的开发:这类工作主要是服务于一般测试工作,提高测试效率,例如通过测试脚本生成测试数据、抓取页面数据进行对比等。 通过这一年团队的发展和自我定位,我对测试开发有了不同的看法。 大多数测试人员的发展轨迹是这样(包含1、2、3): 1、软件测试工程师: 主要以功能测试为主。 2、自动化测试工程师/性能测试工程师/高级测试工程师: 我认为作为一个比较有经验的测试,掌握一定的编程技术、自动化测试技术、性能测试工具几乎是必备的。所以,其实,拥有公司title为“自动化测试工程师”和“性能测试工程师”的测试人员并不多。 自动化和性能测试是多年来一直学习的技术,但少有测试能够“精通”,其实,我觉得本质上原因还是大家编程能力太弱(我没说测试人员普遍编程能力弱就一定比开发low),又妄想通过学习一两个“先进”的测试工具来弥补这两块不足,但编程能力弱真的影响你对自动化和性能的理解深度。 例如

Kali 配置ssh服务器

我的梦境 提交于 2021-02-17 09:42:06
SSH服务器配置 ssh是大多数Linux大佬必备的一样东西。Linux在工作中通常是命令行界面为主,那么就必定会使用ssh进行远程登录。下面我们介绍ssh配置和使用。 操作系统:kali-linux-2018.4-amd64.iso SSH链接工具:Xshell 1、使用命令:vim /etc/ssh/sshd_config编辑sshd配置文件; 找到#PermitRootLogin prohibit-password,把前面的#去掉,我这是第32行,并且将“prohibit-password”修改为YES,也有可能显示的是 PermitRootLogin without-password, 修改完成 如下 图所示 找到PasswordAuthentication这一行,我这是第56行,将前面的#号注释去掉,如果后面写的是no,需要修改成yes。修改后如下所示 修改完成之后,按Esc一次,然后输入:wq 回车,保存并退出 2、启动ssh服务: service ssh status 查看服务状态: service ssh status 2、使用Xshell登录Kali 首先查看kali系统的IP地址 编辑Xshell链接 输入用户名和密码,点击确定 双击刚才设置的ssh会话信息进行连接 至此,ssh服务配置完成。 来源: oschina 链接: https://my.oschina

公有云、私有云和混合云的区别

删除回忆录丶 提交于 2021-02-17 09:41:42
公司搭建系统的时候该选择公有云,私有云还是混合云? 三者之间有什么区别?各有什么优劣势?哪个性价比最高?当我们在选择云计算平台的时候,或许会有这些疑问,然而今天这篇文章却可以让你一目了然,深刻的理解三者之间的区别以及联系。接下来就给大家普及一下公有云、私有云和混合云的区别。 一、公有云是什么意思? 公有云通常指第三方提供商为用户提供的能够使用的云,比如我们经常使用阿里云即是一种公有云。公有云可通过internet使用,价格非常的低廉,核心的属性是共享服务资源。 公有云被认为是云计算的主要形态,目前市场上公有云也是占据了较大的市场份额的,在国内公有云可以分为以下几类 1、传统的电信基础设施运营商,比如中国移动、中国联通中国电信等提供的公有云服务 2、一类是政府主导的地方性云计算平台,也就是常说的政府云 3、互联网巨头打造的公有云平台,比如阿里云,华为云等等 4、部分IDC运营商,比如世纪互联 5、还有部分国外的云计算企业,比如亚马逊AWS等 二、私有云是什么意思? 私有云是为一个用户单独使用而构建的,因而在数据安全性以及服务质量上自己可以有效的管控,私有云的基础是首先你要拥有基础设施并可以控制在此设施上部署应用程序的方式,私有云可以部署在企业数据中心的防火墙内,核心属性是专有资源。 私有云可以搭建在公司的局域网上,与公司内部的公司的监控系统、资产管理系统等相关系统进行打通

Vue知识点整理

核能气质少年 提交于 2021-02-17 09:40:28
Vue重学 语法 key 的重要性 由于 vue 循环时不是将 dom 元素循环创造, 而是一个 dom 元素重复使用, 而它的 diff 机制是同层元素进行对比; 如下图: 如上图: 对比的原则是 父节点 A 与 父节点 A 对比,下面的子节点与子节点进行对比. 如果右边的 A 节点 变为 B 节点, 但是 B 下面的子元素还是 B1, B2, B3 . Vue 的 diff 机制会删除 A 节点, 同时连带下面的子节点也会删除, 并创造 B 节点, 再依次创建下面的 B1, B2, B3 子节点; 如果我们如图所示, B1,B2,B3 是循环出来的相同 dom , 在 B1 和 B2 中间加入一个 B4 节点, 如果没有设置 key 属性时, Vue 的机制是将 B2 改变成 B4 , 将 B3 改变成 B2 , 在创建一个 B3 节点; 如果有 key 属性时, 直接在 B1 与 B2 之间插入 B4 节点就可以了; 而且索引并不推荐它作为 key , 我们在进行对数组的数据操作中, 每一个数组内的元素的索引是在不断变化的,因此并不能很绝对的代表一个节点; v-for 与 v-if 不要同时出现在一个节点上 建议使用 computed 过滤掉不要显示的数据后再做循环 this.$forceUpdate() 强制更新组件 来源: oschina 链接: https://my

sessionId的生成机制

女生的网名这么多〃 提交于 2021-02-17 09:40:06
目录 面试问道这个我居然不知道怎么回答,当然也是因为我确实没有研究过。下面就是百度了一篇文章后简单回答这个问题。 参考: http://www.cnblogs.com/sharpxiajun/p/3395607.html http://lavasoft.blog.51cto.com/62575/275589/ sessionid是一个会话的key, 浏览器第一次访问服务器会在服务器端生成一个session ,有一个sessionid和它对应。 tomcat生成的sessionid叫做jsessionid 。 session在访问tomcat服务器HttpServletRequest的getSession(true)的时候创建 ,tomcat的ManagerBase类提供创建sessionid的方法: 随机数+时间+jvmid; 存储在服务器的内存中,tomcat的StandardManager类将session存储在内存中,也可以持久化到file,数据库,memcache,redis等。客户端只保存sessionid到cookie中,而不会保存session,session销毁只能通过invalidate或超时,关掉浏览器并不会关闭session。 那么Session在何时创建呢?当然还是在服务器端程序运行的过程中创建的,不同语言实现的应用程序有不同创建Session的方法

Python中的mixin模式

Deadly 提交于 2021-02-17 09:39:45
转载注明,本文链接: http://www.bianbingdang.com/article_detail/167.html MixIn和继承的关系 面向对象三大特征,继承、封装、多态。第一次看到MixIn的时候,弄不懂这个和继承有什么关系/区别。首先,继承是父亲和儿子的关系,而python minxin是混入的意思。虽然,MinIn子类可以使用,父类的方法,但这并不是一种继承的关系,而是父类为子类提供了一种可用的方法。 继承的诟病 子类、父类继承关系过多,会导致思维上的混乱,比如我们的父类派生出很多个子类,我们会一直考虑继承了XXX,如果父类没有这个方法,则子类再创造一个方法,那么子类这个方法多个地方用到,我们又得把它加入到父类才行,这样下来并不是很合适。 MixIn MixIn的方式则没有那么得拘束,例如有个Persion类 class Person(): pass 这个人需要修电脑,但是我不会修怎么办。那我写个修电脑的方法给他,那显然不合适。那怎么办,刚好这个人有个朋友,过来帮帮忙吧。 class FriendMixIn(): def repair_compute: return True class Person(FriendMixIn): pass 那么很快就明白,MixIn相当于在原来的基础上,锦上添花。他是包含的意思,而不是继承的关系。

移动端底部fixed固定定位输入框ios下不兼容

情到浓时终转凉″ 提交于 2021-02-17 09:39:26
简短记录下最近开发移动端项目碰到的小坑,产品需求做一个售后对话页面,底部固定输入框,和微信对话差不多,但是在ios下,fixed失效,输入框被虚拟键盘挡住,在安卓下是正常的。 尝试过网上说的很多方法,因为每个页面的需求和布局可能不相同,比如我做的需要下拉刷新消息,上拉加载更多,用的是minit-UI来做,所以都没有效果 后面无奈用了两套代码,用 var u = navigator.userAgent, app = navigator.appVersion; var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端 判断是安卓还是ios,安卓的继续底部用固定定位, ios底部也用固定定位,只是content内容主体部分用绝对定位 <div :class="isIOS?'input-bottom1':'input-bottom'"> <form style="width:70%;"> <input class="message-input" @focus="iosScrollT" @blur="iosScrollB" type="text" v-model="sendMess" > </form> <div class="footer-r" @click="postAdvisory">发送</div> </div>

MySQL的information_schema的介绍

老子叫甜甜 提交于 2021-02-17 09:27:01
大家在安装或使用MYSQL时,会发现除了自己安装的数据库以外,还有一个 information_schema数据库。information_schema数据库是做什么用的呢,使用WordPress博客的朋友可能会想,是不是安装模板添加的数据库呀?看完本片文章后,你就会对information_schema数据库有所了解。 information_schema数据库是MySQL自带的,它提供了访问数据库元数据的方式。什么是元数据呢?元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等。有些时候用于表述该信息的其他术语包括“数据词典”和“系统目录”。 在 MySQL中,把 information_schema 看作是一个数据库,确切说是信息数据库。其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权限等。在INFORMATION_SCHEMA中,有数个只读表。它们实际上是视图,而不是基本表,因此,你将无法看到与之相关的任何文件。 information_schema数据库表说明: SCHEMATA表 :提供了当前mysql实例中所有数据库的信息。是show databases的结果取之此表。 TABLES表 :提供了关于数据库中的表的信息(包括视图)。详细表述了某个表属于哪个schema,表类型,表引擎

python机器学习基本概念快速入门

浪子不回头ぞ 提交于 2021-02-17 09:10:50
//2019.08.01 机器学习基础入门1-2 1、 半监督学习的数据特征在于其数据集一部分带有一定的"标记"和或者"答案",而另一部分数据没有特定的标记 ,而更常见的半监督学习数据集产生的原因是各种原因引起的数据缺失。 2、半监督学习的数据集处理方式大多采用: 先用无监督学习算法对数据进行相关的处理,再利用监督学习算法对其进行模型的训练和预测。 3、增强学习: 它是指根据周围的环境进行相应的行动,然后根据采取行动的结果,学习行动的方式 ,其算法得到整体闭环原理图如下图所示: 图1 4、机器学习算法的其他分类方式: (1)在线学习(online learning)和批量学习(离线学习)(batch learning) (2)参数学习(parametric learning)与非参数学习(nonparametric learning) 5、批量学习算法的整体流程如下图所示: 图2 它的优点在于比较简单,它适应环境变化的方式是:进行定时重新批量学习,不过这种方式也有比较大的缺点就是:每次重新批量学习,其运算量巨大;另外在某些环境变化非常迅速的情况下,其实现是基本不可能的。 6、在线学习:它是指在批量学习的基础上将新的产生的数据集输入到机器学习算法的学习资料中进行实时的训练和迭代优化,从而及时地适应环境的变化,其具体原理图如下: 图3 它的优点在于能够及时地反映新的环境的变化

深圳市气象局&华为云AI:无畏气象变幻,乘风踏浪而行

孤者浪人 提交于 2021-02-17 09:10:14
月黑见渔灯,孤光一点萤。 当世界还沉浸在甜梦中不愿醒来的时候,在深圳南澳的某渔村,此起彼伏的发动机轰鸣,让凌晨的海湾回荡着不属于它的喧嚣。 一艘艘斑驳的渔船,载着一份份沉甸甸的期待,驶向大海…… 用AI听风辨雨,让天有可测风云 生死祸福,皆在风浪变化的瞬息之间 靠天、靠水、靠时运,渔民们的每一份收获,都是与大海博弈的结果。 东虹日头西虹雨,南闪乌云北闪风。这些代代相承、未“捕”先知的智慧,是渔民们从生产经验的“大数据”中摸索的,甚至是用生命的代价换来的。 渔民老杨说:“有些新手出海没经验,碰上风浪掌不好舵,人就这么没了。 天气预报太重要了 ,出不出海、去哪出海都得靠它,每次出发前必须要查。” 气象信息,是渔民的指南针和定心丸,更是渔民生命的保护伞。 “天有可测风云”:探寻气象预报新道路 在深圳这样多台风、多暴雨等气象灾害的沿海城市, 气象信息的重要性不言而喻 。 然而,天气预报始终是预测性的科学,其本质是在海量无垠,瞬时变幻的大数据里寻找唯一的答案,其困难程度可想而知。 为了帮助各单位根据天气合理安排计划,减少气象灾害造成的人员伤亡及经济损失,守护每一个深圳人,包括海上作业人员的安全,深圳市气象局始终在追求提高气象预报的准确性。 在这场与“风云数据”的对决中,AI的出现给予了人类新的力量。AI能通过深度学习大量的气象数据,寻找预测的线索,为人工预报提供强有力的辅助。 深圳市气象局+