自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ffeiffei的专栏

记录工作学习中的一些经验。

  • 博客(31)
  • 资源 (10)
  • 收藏
  • 关注

原创 如何用python编写collectd的plugin

collect的python plugin内嵌了一个python的解释器,可以方便我们用python自定义collectd的plugin,各个callback的函数定义可以参考collectd python plugin。比如自定义一个统计cpu利用率的plugin:

2016-02-15 22:04:20 4199 2

原创 collectd安装

collectd 5.5自带write_to_kafka plugin,不过目前需要从源代码安装,没有现成的rpm或者deb包。安装步骤如下:安装zlib,下载地址:http://ncu.dl.sourceforge.net/project/libpng/zlib/1.2.8/zlib-1.2.8.tar.gz安装librdkafka,下载地址:https://codeload.g

2016-01-16 19:57:52 3710

原创 Ruby gem包的管理

export HTTP_PROXY=http://xxx.com:xx1. 配置好Gemfile: gemfile中可以定义项目中必须要安装的包以及相应的版本号,这样就可以避免不同的安装包以及版本之间的差异带来的问题。source "http://rubygems.org"gem 'rake'gem 'fuubar'gem 'fuubar-cucumber', '0.0.18'

2014-03-23 20:47:02 6600

原创 Hudson/Jenkins -- eXtreme Feedback Panel高亮任务结果

Hudson/Jenkins中,如何及时的把每个任务的结果简明扼要的显示出来,引起每个人的注意呢?eXtreme Feeback Panel这个插件提供该功能。利用该插件,我们可以把配置对应的eXtreme Feedback视图,把任务的结果输出到一个显示器上,及时的引起项目组的注意。先上效果图:插件下载地址:https://wiki.jenkins-ci.org/display/JE

2014-03-23 20:05:46 1563

原创 Hudson/Jenkins -- 消除svn警告: "clock of the subversion server appears to be out of sync"

Hudson/Jenkins中配置svn的URL时,有时会出现如下警告信息:“WARNING: clock of the subversion server appears to be out of sync. This can result in inconsistent check out behavior”基本选择每次重新checkout最新的版本,也会出现该警告信息,其解决

2014-03-01 12:32:16 6190 1

原创 Hudson/Jenkins--如何自定义build name

Hudson/Jenkins的job的默认的build name一般都是基于时间格式的,如何在给出一个比时间更具有意义的build name呢,可以利用以下2个插件:Description Setter Plugin下载地址:https://wiki.jenkins-ci.org/display/JENKINS/Description+Setter+Plugin该plugi

2014-02-23 18:11:52 6318

原创 Hudson/Jenkins--配置TestNG/JUnit的email-ext email模板

Hudson/Jenkins默认提供了发送邮件的功能,但是比较有局限性。插件Email-ext提供了比较好的email功能。安装好该插件后,可以在$JENKINS_HOME($HUDSON_HOME)/email-templates目录下定义自己的email模板。下面提供一个jelly script基于junit的测试结果生成email的模板,先上email效果图:该email rep

2014-02-23 17:24:29 11957 5

原创 MS UI Automation简介

MS UI Automation(Microsoft User Interface Automation:UIA)是随.net framework3.0一起发布的,虽然在如今这个几乎每天都有各种新名词、新技术出来的所谓的21世纪,它显得已经有些过时了。前些日子,正好一个项目,可以

2011-07-27 16:48:37 19863

原创 利用with关键字写sql语句的一个小技巧

在写比较复杂的sql查询语句时,涉及到一个或多个select的语句,作为另外一个select语句的查询条件的情况时,如果一下子写不出来,可以利用with关键字,生成一个临时的表,然后在基于这个临时的表进行查询,这样,就减少了select语句的嵌套,同时也降低了难度。如下所示:with temp1 as (select * from table1 where item1='item1' and

2011-07-06 15:34:53 3814

原创 AQtime代码覆盖率深度分析之二

AQtime的Coverage Profiler有一些不错的特性,能方便我们更好的进行代码覆盖率的检测。 New Area和 Files to Ignore当目标module被加进来是,AQtime会以树形结构,把module的对象层次图显示出来,如c/c++

2011-07-06 14:50:21 1500

原创 AQtime代码覆盖率深度分析之一

前一篇介绍了Code Coverage的一些指标,那么如何比较简单的评价一款软件对这些指标的支持呢。由于公司的项目组选择AQtime这个工具,所以有机会能进行比较深入的体验一下。为了避免IDE自动产生的code,我们采用记事本来编写一个简单的C dll,同时,

2011-07-04 17:42:41 2711

原创 代码覆盖率分析

无论是单元测试、API测试还是功能性测试,最终都是调用了产品的代码;如何评价这些测试的效率,是否真正全部或者大部分覆盖了产品的代码,这个时候,代码覆盖率(code coverage)就是一个比较有价值的参考指标了。通常,代码覆盖率用在如下几个方面找出程序中没有被测试代码执行到的地方;增加新的测试代码,以提高代码覆盖率;分析测试代码的效率,以便设计出更有效的测试代码或测试用例代码覆盖率常用的指标语句

2011-07-03 10:06:25 17908

原创 White使用简介

最近有个文件格式转换的任务,需要把一批用旧版本上创建文件用新版本打开,存为另外一种版本。想想蛮适合自动化实现的:只是涉及到一些简单的最常用的控件, 固定而机械的操作。于是就马上想到了White这个开源的项目(http://white.codeplex.com/)(公司目前还没有商业的自动化测试工具)。 UIA & UISpyWhite是基于微软的UIA(UI automation)这套

2011-06-09 14:42:00 6380

原创 AQtime不能启动的问题

AQtime是AQA公司,现在是SmartBear的一款用于做性能分析、代码覆盖率等的工具,只支持windows系统。使用下来,虽然易用性很好,但是工具不太稳定,对于windows 7系统,有些机器还会出现安装问题。 AQtime Version: 6.50.xxxOS: Windows 7 安装好AQtime后,点击其快捷方式,想输入激活代码,但是AQtime的界面显示后,就

2011-06-07 14:10:00 3089

原创 Selenium学习笔记之五:封装几个通用的函数

<br />实际测试中,不可避免的需要等待控件完全ready,才能进行相关的操作,这个时候,就需要动态的以小步递进的方式,对某个条件判断,进行时间等待,而不是简单的等待几秒。可以把相关函数封装在一个SeleniumUtils类中,供大家调用:<br />import com.thoughtworks.selenium.Selenium;import com.thoughtworks.selenium.SeleneseTestCase;public class SeleniumUtils exte

2011-03-29 10:14:00 5474

原创 Nant使用简介续

若有如下代码目录结构:其中src下包含cs源文件,如dd.cs,class1下包含源文件,如aa.cs, bb.cs,class2下同样包含源文件,如cc.cs,共计4个cs文件。生成的dll文件将被放到release目录下,同时,还需要拷贝到一个公共的目录,比如//srv/release,可以编写如下nant文件来实现:

2011-03-04 14:17:00 1228

原创 Java程序打包成Jar包

例如有如下窗体程序,在package "cn.jar.test" 中,同时,程序有2个资源文件about.txt和about.gif:package cn.jar.test;import java.awt.*;import java.io.*;import java.net.*;import java.util.*;import javax.swing.*;public class ResourceTest { public static void main(String[]

2011-02-21 16:04:00 3411

原创 Selenium学习笔记之四:外部化相关测试数据

在写测试代码时,把locator值直接写到测试代码里面,不具备良好的可读性,同时,后期也不利于代码的维护。如下测试代码:selenium.type("userName", "seleniumtest");selenium.type("password", "seleniumtest");如果在某个build中,控件"User Name"的属性"userName"被开发人员重新改变了,这个时候,测试代码也要做相应的改动。如果把该值外部化到一个文件中,我们仅仅需要修改该文件,不需要对代码进行修改;同时,也利

2011-01-31 15:41:00 3587

原创 Nant使用简介

 下载地址:http://nant.sourceforge.net/1. 创建一个最简单的target:以为标记,输出预定义的常量PROJECT_NAME 和PROJECT_VER

2011-01-21 15:33:00 6800

原创 VIX的几个常用命令

测试到一定规模后,不免会用到虚拟机,针对VMware esx,列出几条常用的命令:1. 列出esx server上的vm的存储路径(仅列出正在运行的vm)vmrun -T esx -h https://ServerIP/sdk -u ServerUserName -p ServerPassword list2. 启动某一个vmvmrun -T esx -h https://ServerIP/sdk -u ServerUserName -p ServerPassword start "[datastore1]

2011-01-12 14:51:00 3612

原创 Error: Collection was modified; enumeration operation may not execute.

<br />当用foreach遍历Collection时,如果对Collection有Add或者Remove操作时,会发生以下运行时错误:<br />"Collection was modified; enumeration operation may not execute." 如下所示:<br /> List<string> list = new List<string>();for (int i = 0; i < 10; i++){ list.Add(i.ToString());

2011-01-12 14:30:00 21316

原创 Selenium学习笔记之三

Selenium一共有6种方式来定位控件(Locating Elements):1. 控件为Hyperlink: 定位字符串为关键字"link=”加上link的显示文本,如下selenium.select("link=Register here");2. 控件具有name或者id属性,如果利用name或者id属性可以区分出来,可以采用如下三种定位字符串中的任意一种:/*control with name or id property that can identify itself. Locator str

2010-12-15 13:54:00 3766

原创 Selenium学习笔记之二

以在http://newtours.demoaut.com/index.php网站上完成一个简单的机票定制流程为例,慢慢优化:1. 打开eclipse,新建一个测试项目,在BuildPath-->Libraries中,加入selenium-java-client-driver-1.0.x文件下所有的jar包,以及junit包;2. 创建junit测试类SimpleWorkFlow, eclipse会自动创建测试的基本框架:3. 把SimpleWorkFlow的文件中的内容改写如下:import org.ju

2010-12-07 17:50:00 2015

原创 Selenium学习笔记之一

Selenium作为最流行的开源的web application的测试工具,很有必要好好的学习一下。主要学习Selenium RC,采用Java语言,开发工具eclipse, junit。开发环境准备:1. 安装JRE or JDK;2. 安装eclipse;3. 下载junit包;4. 安装firefox,并安装插件Selenium IDE, Firebug,Xpath Checker;5. 下载Selenium RC并解压缩相关链接:JRE or JDK:http://www.oracle.com/te

2010-12-07 17:25:00 2182

原创 Hudson配置slave machine

运行Hudson服务的机器叫做Master machine,通过Hudson的node功能,可以配置其他机器作为Master的slave,在master统一分配,运行任务。1. 启动Hudson;2. 点击Hudson-->Manage Hudson-->Manage Nodes-->New Node,输入要作为slave机器的机器名,并选中Dumb Slave;3. 配置相关的slave machine信息:点击Save,一个slave machine创建好了。可以在Hudson左侧栏中看到各个machi

2010-12-07 16:19:00 5033

原创 Hudson配置个人持续集成服务器

1. 安装Java Run Time or JDK,并把java安装目录设置到系统环境变量中(JAVA_HOME);2. 创建Hudson工作目录,例如d:/Hudson,并设置系统环境变量HUDSON_HOME到d:/hudson;3. 下载最新版本的Hudson安装包到d:/hudson目录下(http://hudson-ci.org/latest/hudson.war);4. 从windows命令行启动Hudson:java -jar d:/hudson/hudson.war,打开IE,输入http:

2010-11-26 13:55:00 7800

转载 使用Windows PowerShell 实现UI自动化

<br />这是从MSDN上发现的一篇文章,太长了,具体内容还是看原链接吧:<br />http://msdn.microsoft.com/zh-cn/magazine/cc163301.aspx<br /> <br /> <br />其结论是:<br /> <br />该方法非常适用于超轻型自动化的情况。当您想要执行一些快速、简便的UI自动化时,使用具有小型自定义 UI cmdlet 库的 Windows PowerShell 是个很不错的方法。当您希望从Windows PowerShell 命令行中执行

2010-11-03 16:14:00 4186

原创 C#创建Autocad实例

<br />C#创建AcadApplication实例时,有时候会创建实例失败,找了好久,参考以下链接整理了一下代码,经过测试,运行ok。<br />ref: http://through-the-interface.typepad.com/through_the_interface/2010/02/handling-com-calls-rejected-by-autocad-from-an-external-net-application.html<br /> <br />ref: http://soci

2010-09-27 14:00:00 3075

原创 Debug Error: ContextSwitchDeadlock was detected

利用Visual Studio 2005开发工具时,如果我们有很大量的数据进行处理,譬如3万多条数据写入Excel,对数据库进行频繁的读出写入,有可能会出现一下错误信息:"ContextSwitchDeadlock was detected" error message popping up when debugging. The CLR has been unable to transition from COM context 0x197060 to COM context 0x196ef0 for 6

2010-09-20 17:01:00 1616

转载 C#关闭进程树

Windows并不维护进程间的父子关系链,而是提供了另外一个妥协的办法 - Job对象。你可以自己维护相关的多个进程,或把多个进程放入一个Job对象中,以便统一管理。Windows task manager中"End Process" & "End Process Tree"分别对应kill掉一个单独的进程和一个进程树。关闭一个进程树,与之所有相关的进程也被关闭了;通常,Windows task manager中关闭一个父进程,其子进程不会被关闭(Windows并不维护进程间的父子关系链)。 分析进程的工具

2010-09-20 14:46:00 5617

原创 GIT简介

分布式版本控制系统(Distributed Version Control System,DVCS )在这类系统中,诸如 Git,Mercurial,Bazaar 还有 Darcs 等,客户端并不只提取最新版本的文件快照,而是把原始的代码仓库完整地镜像下来。这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。因为每一次的提取操作,实际上都是一次对代码仓库的完整备份。 而诸如CVS,Perforce等则是集中式版本控制系统。mSysGit下载地址http://code.g

2010-09-20 14:16:00 915

java问题定位

java问题定位,高清,分析常见的错误极其定位,解决方法

2019-04-11

javascript入门经典

javascript入门经典,适合初学者,step by step,高清

2019-04-11

elasticsearch权威指南

elasticsearch权威指南,高清,全面介绍了es的方方面面,从简单的安装到高级的机器学习特性

2019-02-15

Java与模式.

讲解java开发中的设计原则,常用的设计模式,走向系统架构师必读

2018-05-12

基于OSCache的页面缓存

通俗易懂,阿里大神详细介绍操作系统的缓存机制,优化要点

2018-05-12

日志分析并行分解设计与实现

内部资料,吐血推荐,日志分析并行分解设计与实现实战经验

2018-05-12

高性能IO模型浅析

服务器端编程经常需要构造高性能的IO模型,常见的IO模型有四种: (1)同步阻塞IO(Blocking IO):即传统的IO模型。 (2)同步非阻塞IO(Non-blocking IO):默认创建的socket都是阻塞的,非阻塞IO要求socket被设置为NONBLOCK。注意这里所说的NIO并非Java的NIO(New IO)库。 (3)IO多路复用(IO Multiplexing):即经典的Reactor设计模式,有时也称为异步阻塞IO,Java中的Selector和Linux中的epoll都是这种模型。 (4)异步IO(Asynchronous IO):即经典的Proactor设计模式,也称为异步非阻塞IO。 深入浅出介绍这几种模型

2018-05-05

Java应用程序性能调优

java应用程序性能调优,性能瓶颈在哪里 增加带宽 减少网页的http请求 加快服务器脚本计算速度 使用动态内容缓存 使用数据缓存 将动态内容静态化 更换Web服务器组件 页面组件分离 合理部署服务器 使用负载均衡 优化数据库 考虑可扩展性 减少视觉等待

2018-05-05

java问题定位技术

java问题定位技术

2017-05-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除