暂无个人介绍
暂时未有相关通用技术能力~
阿里云技能认证
详细说明Jmeter性能测试详解之 断言
httpClient使用简介,以及常用的方法,
静态资源的分布对网站加载速度的影响 / 浏览器对同一域名下并发加载资源数量 / browsers network-http-persistent-max-connections-per-server 引文:浏览器在同一个域名下并发加载的资源数量是有限的,访问淘宝首页需要加载126个资源,那么如此小的并发连接数自然会加载很久,所以前端开发人员往往会将上述这些资源文件分布在多个域名下,变相的
《管理》就是管人,而中国人是很难管理的,因为中国人不太理会制度。 在很多企业里,只有那些没有办法的人才受管理制度的约束,只要稍微有一点办法、有一点背景的人,就会把制度抛在脑后。 所以,企业制度所制约的对象,要么是老实人,要么是无依无靠的人,要么是没有能力的人。 稍微有一点办法的人就会动脑筋,找制度的漏洞,甚至找很多理由篡改制度。 但是这一切都在合理的范围内,中国人不会轻易做违法乱纪
1.执行cmake操作的时候要指定参数: 因为我们使用普通用户权限,对root没有写权限,如果我们采用默认的配置,那么我们安装的时候向root目录中写数据就会失败 所以我们需要指定一个安装路径,且我们要对该路径有读写的权限 2.关于my.cnf文件 my.cnf文件是数据库加载时需要读取的配置文件,所以我们在安装的时候要copy这个文件,可以从support-files中copym
日志详解之:常规日志; 慢查询日志;二进制日志;中继日志 出错日志(error log):(log_error)这个日志记载着服务器启动和关闭的情况,还记载着关于故障或异常状况的消息。 我们安装完数据库之后,启动数据库如果发生异常,我们应该首先查这个日志文件。 常规查询日志:(log)该日志包括客户连接的记录,来自客户的SQL查询和其他的各种事件。一般我们可以用其来监视用户的活动
Mysql日志的分类: 出错日志(error log):(log_error)这个日志记载着服务器启动和关闭的情况,还记载着关于故障或异常状况的消息。 我们安装完数据库之后,启动数据库如果发生异常,我们应该首先查这个日志文件。 常规查询日志:(log)该日志包括客户连接的记录,来自客户的SQL查询和其他的各种事件。一般我们可以用其来监视用户的活动,谁在连接,从哪连接,执行哪些操作
1.下载mysql源码: wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.26.tar.gz 备注:至于想以什么方式下载都无所谓,总之得到源码就可以了~ 2.确认需要的开发工具的版本,都要满足mysql安装版本的需要 Building GCC requires GMP 4.2+, MPFR 2.4.0
一、索引的优点: a.索引可以加快查询速度 b.索引是最有效的查询优化条件 c.使用索引可以不用全表扫描 二、索引的缺点 a.降低了写入的速度(insert、update): 写入时不仅要求写入到数据行,还要更新全部索引 索引的创建原则: a.尽量为用来搜索、分类或分组的数据列编制索引,不要为输出显示的列编制索引,为联表查询的关联列设置索引 b.综合考虑数据列的维度(非
1. 下载cmake源码 wget https://cmake.org/files/v3.3/cmake-3.3.2.tar.gz 2.解压缩 tar xzvf cmake-3.3.2.tar.gz 3.进入到cmake文件夹中执行引导命令 注:此时会检查gcc ,gcc-c++,是否安装和版本,如果没有请先安装 yum install gcc yum ins
个体和交互 胜过 流程和工具 可用的软件 胜过 完备的文档 客户协作 胜过 合同谈判 相应变化 胜过 遵循计划 如果项目在额外的100个小时内可以完成,那么我会选择每天加班到8点来完成 如果项目在额外的4000个小时才能解决问题,那么再选择加班是没有意义的 敏捷的测试人员与传统测试人员的不同: 敏捷测试人员多是有开发的基础,能够读懂代码,能够发现代码实现的缺点, 敏
2015.07.04安装可用 Axure RP 7.0 注册码 用户名:axureuser 序列号:8wFfIX7a8hHq6yAy6T8zCz5R0NBKeVxo9IKu+kgKh79FL6IyPD6lK7G6+tqEV4LG
本文允许转载,但请标明出处:http://blog.csdn.net/wanghantong/article/details/46730591, 版权所有 参考StringBuffer的底层源码实现: public final class StringBuffer extends AbstractStringBuilder implements java.io.Seriali
JPA+Mysql开发过程中存储数据,遇到中文乱码: IDE : Eclipse Project Encoding : UTF-8 Mysql Encoding :UTF-8 Table Encoding:DEFAULT CHARSET utf8 执行代码对数据进行保存后,查询数据库发现中文乱码 解决方案: persistence.xml中配置数据库名称的时候,在数
个人原创,版权所有,转发请标明出处:http://blog.csdn.net/wanghantong 基础指南 1.Adding a project to version control(给项目添加一个版本控制) 当我们的repository发生了变化的时候,我们需要知道是谁触发了这次提交,这个标识是由两部分组成:1.name 2.e-mail address 这个信息是存储在文件
个人原创,版权所有,转发请标明出处:http://blog.csdn.net/wanghantong 在Eclipse中显示.project, .classpath, .gitignore文件和.setting文件夹 在Eclipse中使用git,并显示.gitigonre文件,进行项目管理 在Eclipse中,默认工程的视图如下: 我们开发的过程中,为了方便于项目的管理,我们
原创文章,版权所有,允许转载,标明出处: http://blog.csdn.net/wanghantong/article/details/40787739 通常的代理服务器,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器, 并将本来要直接发送到Web服务器上的http请求发送到代理服务器中,然后由代理服务器来完成我们的访问。 普通的Web代理服务器
本文允许转载,但请标明出处:http://blog.csdn.net/wanghantong/article/details/40786455, 版权所有 这里说的架构,指的是在大型网站中常用的分布式架构模式 如果横向来分割我们的系统,一般我们把它分为应用层,服务层,数据层 如果纵向来分割我们的系统,一般我们是按照模块来划分 在提供服务的时候,我们会分布式的架构我们的系统,因为
原创文章,版权所有,允许转载,标明出处:http://blog.csdn.net/wanghantong/article/details/40404939 TestNg提供了监听器和拦截器的几个接口供我们自己开发扩展,通过实现这些接口,来自定义我们在测试中想要的行为 接口列表: IAnnotationTransformer (doc,javadoc) IAnnota
原创文章,版权所有,允许转载,标明出处:http://blog.csdn.net/wanghantong/article/details/40394625 我们在开发过程中经常会遇到多线程的编程,比如最常见的几种情况: 1.互不通信的多线程模式 2.基于共享容器协同的多线程模式 3.通过事件协同的多线程模式 4.多进程的模式 这里我们不去详细讨论每种方式的开发方法,但是
之前说过@Factory更适合于同一类型的参数变化性的测试,那么如果参数值没有特定的规律时,我们可以采用@Factory和@DataProvider相结合的方式进行测试 注意要点:请注意测试方法将被一共执行的次数,因为@Factory本身就属于循环测试的类型,@DataProvider也是属于测试整体循环的类型 Java code: /** * * <p> *
原创文章,版权所有,允许转载,标明出处:http://blog.csdn.net/wanghantong TestNg的@Factory注解从字面意思上来讲就是采用工厂的方法来创建测试数据并配合完成测试 其主要应对的场景是:对于某一个测试用例或方法,我们需要输入多个测试数据进行测试,并且这些测试数据可以是有一定关系(可以通过代码控制), 此时,我们就可以把自动化或者手动测试时的遇到的
使用注解的方式对TestNg线程池配置、执行次数配置、超时配置 注:使用注解来控制测试方法运行的次数和超时时间,timeOut在单线程或者多线程模式下都可用,threadPoolSize设置了线程池的个数 * ,在观察结果时,发现很多值是重复的,但是可能不等于我们配置的线程池个数,因为线程的个数还取决于硬件CPU的支持, invocationCount----表示执行的次数 thre
配置型的依赖测试,让依赖测试不局限于测试代码中,在XML文件中进行灵活的依赖配置 原创文章,版权所有,允许转载,标明出处:http://blog.csdn.net/wanghantong java code: /** * * <p> * Title: TestngDependencyOnXML * </p> * * <p> *
TestNg依赖测试之简单方法依赖,通过dependsOnMethods属性来配置依赖方法 原创文章,版权所有,允许转载,标明出处:http://blog.csdn.net/wanghantong Java code: /** * * <p> * Title: TestngDependencies * </p> * * <p>
原创文章,版权所有,允许转载,标明出处:http://blog.csdn.net/wanghantong TestNg使用dependsOnGroups属性来进行依赖测试, 测试方法依赖于某个或某些方法,这个/这些方法作为前置依赖条件 强制依赖:如果被依赖的某一个方法发生了异常,那么之后的方法都不会被执行(默认) 顺序依赖:无论被依赖的方法是否出现异常,后续的方法都会被执行,通过a
在使用TestNG进行测试时,经常会使用到一些参数化配置,比如数据库、连接池、线程池数, 使用TestNG的参数@Parameter注解进行自动化读取 原创文章,版权所有,允许转载,标明出处:http://blog.csdn.net/wanghantong 使用多线程的方式运行测试代码配置: 在'<suite>'标签中配置data-provider-thread-coun
在编写测试的过程中,我们经常遇到只想执行个别或者某一部分/某一类型的测试用例,这时我们可以使用TestNG的分组测试方法 分组测试在配置时,TestNG执行的原则是:只保留最小集合进行执行 看代码: /** * * <p> * Title: TestngGroups * </p> * * <p> * 对应配置文件testng-
教你解决为什么TestNG中方法加了@Test注解,也在配置文件中配置了,但是方法就是不执行! 在使用TestNG进行测试时,使用配置文件的方式更容易于维护,但是经常遇到明明方法写了也配置执行了,但是run的时候代码就没有执行 看代码:(仔细看注释!) /** * * <p> * Title: TestngMethods * </p> *
JUnit中有讲述使用注解的方式进行数据源读取进行自动循环测试的方法,在TestNG中也提供了相应的方法 public class TestngDataProvider { /** * 数组内的每个元素都会作为一个用例数据被执行 On execution testEmployeeData() will be executed 4 * times, * * 数据源可
一张图搞定软件测试基础理论!(请使用鼠标滚轮放大观看) —— 做一个简单的人,踏实而务实。不沉溺幻想,更不庸人自扰。
原创文章,版权所有,允许转载,标明出处:http://blog.csdn.net/wanghantong 1. 在Maven中配置测试插件surefire <plugin> <groupId>org.apache.maven.plugins</groupId> <artifac
在macbook中设置别名方便使用: 具体方法如下: cd ~ vim .bashrc alias xxx=**** 例: alias mysqladmin=/usr/local/mysql/bin/mysqladmin 退出保存 source .bashrc ----- 使其生效</span> 如果还不行: 打开 ~/.bash_profile
原创文章,版权所有,允许转载,标明出处:http://blog.csdn.net/wanghantong 首先要停止MySQL的服务,可在偏好设置中停止其服务,然后执行下列命令 $ sudo rm /usr/local/mysql $ sudo rm -rf /usr/local/mysql* $ sudo rm -rf /Library/StartupItems/MySQLCO
转载:http://mabusyao.iteye.com/blog/467704 例子 我要举的是一个银行转帐的例子,又是一个被用滥了的例子。但即使这个例子也不是自己想出来的,而是剽窃的<<POJOs in Action>>中的例子,原谅我可怜的想像力 。当钱从一个帐户转到另一个帐户时,转帐的金额不能超过第一个帐户的存款余额,余额总数不能变,钱只是从一个账户
说到聚合与继承我们都很熟悉,maven同样也具备这样的设计原则,下面我们来看一下Maven的pom如何进行聚合与继承的配置实现。 一、为什么要聚合? 随着技术的飞速发展和各类用户对软件的要求越来越高,软件本身也变得越来越复杂,然后软件设计人员开始采用各种方式进行开发,于是就有了我们的分层架构、分模块开发,来提高代码的清晰和重用。针对于这一特性,maven也给予
看着简单而又复杂的pom.xml文件,看似熟悉,当自己编写的时候觉得简单,但是看人家项目的时候又觉得复杂的很,现在我们一起来分析这个pom文件。 Maven的坐标为各种构件引入了秩序,任何一个构件都必须明确的定义自己的坐标,maven的坐标包括如下的元素: groupId: 定义当前Maven项目隶属的实际项目 artifactId: 该元素定义实际项目中的一个Maven项目或模
插件配置 定义解释:插件目标 当我们了解了maven插件之后,我们发现如果为每一个功能编写一个独立的插件显然是不可取的,因为这些任务背后有很多可以复用的代码,因此,把这些功能聚集在一个插件里,每一个功能我们就称之为一个插件目标。 举个例子: maven-dependency-plugin有十多个目标,每个目标对应了一个功能 分析项目依赖:dependency:analyze
Maven是一个优秀的项目管理工具,它能够帮你管理编译、报告、文档等。 Maven的生命周期: maven的生命周期是抽象的,它本身并不做任何的工作。实际的工作都交由"插件"来完成。 maven的每个构建步骤都可以绑定一个或多个插件行为,而且maven为大多数的构建步骤编写并绑定了默认插件。 三套生命周期: clean、default、site clean: 主要目的是
最近经常有人提问,你如何理解和看待这个selenium? 针对这一问题,官网上已经给了很明确的答复:"浏览器的自动化操作,你想干嘛就干嘛.....就这么简单!" Selenium automates browsers. That's it! What you do with that power is entirely up to you. 今天我自己也从头缕缕思路 sel
selenium 多数被应用于功能测试(冒烟测试)、流程测试、回归测试,这里要说的就是在执行这些测试的时候,测试用例的管理问题。 常见的黑盒测试方法分为:边界值分析、等价类划分、因果图、错误推测。。。这里不都一一举例,作者有一篇文章里画了一张图,是专门详解常用的测试方法的。总之,为了完成测试效果和目的,会有很多很多的测试用例产生,面对我们的业务进行测试
自我介绍 I am writing to you to V. The reason I'm writing to you is to V. 我信来旨在...... case: I am writing to you to tell you about our company. The reason I'm writing to you is to introduce mysel
Apache POI API 性能分析图: 资 本 在有些人眼里,他自己是一颗珍珠;在有些人眼里,他自己是一块石头。有的时候,人必须明白自己是普通的石头,而不是价值连城的珍珠。要出人头地问鼎成功,需要有出类拔萃的资本。资本有了,做事胜算也就大了
最近编码的时候,由于经常在windows和Mac OS 之间切换,有些代码不能很好的兼容,在整理代码的时候,需要先判断操作系统的一些相关信息,在这里顺便把使用Java显示常用操作系统信息的方法整理了一下: public class SystemInfo { /** * * @return 操作系统名称 */ public String getOSName()
世界上最宽阔的是海洋,比海洋还宽阔的是天空,比天空还宽阔的是人的心量。做人的心量有多大,人生的成就就有多大。不为一己之利去争、去斗、去夺,扫除报复之心和嫉妒之念,自然“心底无私天地宽”。 Cookie是当前识别用户,实现持久会话的最好方式。Cookie最初是由网景公司开发,但是现在所有的主要浏览器都支持它。 Cookie的类型:会话Cookie和持久Cookie 会话Cook
1. Manage Tabs and Windows ⌘+t Open new tab ⌘+Shift+[/⌘+Shift+] Jump to next / jump to previous tab ⌘+w Close current tab ⌘+z Re-open closed tab (undo command) ⌘+Option+
最近一直在学习使用Macbook,在这里记录一下所有遇到的问题 问题起源: 1.Macbook 安装了Eclipse,Eclipse装入插件maven & git , 但是在git中clone project 的时候,经常会报错: Could not calculate build plan: Failed to parse plugin descriptor for
人应该活的真善美。不虚伪、不做作、直率、干脆,这是真;以同情之心待人,以恻隐之心爱人,这是善;沟通心灵和仪表,融合人类与自然,这是美。以真善美的品味做人,其乐无穷。 关机 (系统的关机、重启以及登出 ) shutdown -h now 关闭系统(1) init 0 关闭系统(2) telinit 0 关闭系统(3) shutdown -h hours:minutes
说起面向对象,人们就会想到继承,常见的继承分为2种:接口继承和实现继承。接口继承只继承方法签名,实现继承则继承实际的方法。 由于函数没有签名,在ECMAScript中无法实现接口继承,只支持实现继承。 1. 原型链 1.1 原型链将作为实现继承的主要方法,基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法。 构造函数---原型---实例 之间的关系: 每一个构造函数都
1. 原型模式 1.1 我们创建的每个函数都有一个prototype属性,这个属性是一个指针,指向一个对象,而这个对象的用途是包含可以由特定类型的所有实例共享的属性和方法。 简单的解释上面的话的意思就是:首先,我们要知道,面向对象的语言中类的存在,而javascript也是一门面向对象的语言(这句话说的可能有一些毛病,但是不影响),在javascript中定义一个类函数的时候,就默认创