自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(97)
  • 资源 (3)
  • 收藏
  • 关注

原创 修改linux中ls命令显示文件夹的颜色

linux中默认的文件夹颜色是蓝色,我习惯把终端的背景色设置成黑色。这样有有个问题,蓝色的字符在黑色的背景下,的确是难以辨认。于是,想改一下文件夹的显示颜色。经过一番摸索,总结步骤如下:1 默认定义显示颜色的配置文件是/etc/DIR_COLORS,我们把这个文件复制到自己的根目录下。2 打开文件,找到dir的颜色定义,把颜色值从34改成33,即从蓝色改成了黄色。3 重新加载颜色定

2014-01-01 00:24:30 513

转载 使用 lsof 查找打开的文件

使用 lsof 查找打开的文件Sean A. Walberg ([email protected]), 高级网络工程师简介: 通过查看打开的文件,了解更多关于系统的信息。了解应用程序打开了哪些文件或者哪个应用程序打开了特定的文件,作为系统管理员,这将使得您能够作出更好的决策。例如,您不应该卸载具有打开文件的文件系统。使用 lsof,您可以检查打开的文件,并根据需

2011-10-28 18:17:42 290

原创 ubuntu简单开发设置[g++,mysql,samba]

在ubuntu下安装mysql,g++,samba,dos2unix命令

2010-09-26 00:47:00 700

原创 linux下输出标准错误的方法

GNU glibc提供一个对printf的扩展,直接printf("%m"),可以输出标准的错误信息,例如下面:#include #include #include #include #include #include int main(){        if (open("/usr/test",0)         {        

2010-05-13 00:34:00 886

原创 一个通用的makefile写法,自动推导文件的依赖关系

 今天看了一天的makefile的写法,东拼西凑,好不容易写出了一个makefile,颇有成就感,记录下来,以备温习之用。  假设有两个头文件目录 header1,header2;两个cpp文件目录,src1,src2,一个lib目录 写一个完整的makefile步骤如下:1 定义可执行文件的名称 TARGET = MyPro2 指定此编译工程所要使用的头文件所在的目录

2010-05-13 00:31:00 1400

原创 关于程序设计的两个小小感受

前几天需要在别人的代码的基础上做开发,需要添加一些新的东西。这时我发现了一个问题:尽管我只需要修改一个功能,但是我可能需要修改几个不同的代码模块。这是不合理的,理想的情况应该尽量控制变化的代码在同一个地方。我深深为此纠结了几天:我到底该不该对这个部分的代码重构呢?重构意味着时间的延后,意味着可能引入新的bug,意味着可能每天要加班到很晚;不重构,意味着我以后还会为此纠结...当然,最后我还是对原来

2009-10-11 23:23:00 386

原创 开发人员和自动化测试

这两天想把自己qzone中的日志全部删除,但是一百多篇日志,删除起来还是很麻烦,于是我想,写个脚本吧,让电脑帮我干这些简单乏味的工作。想起了以前曾经看过几天的watir,一个web自动化测试工具,嗯,就是它了。说干就干,用IEDevelop查看一下网页的结构,准备写脚本。但是一看,就傻眼了,大量的css布局,iframe嵌套,动态创建html代码,找起对象来,特别的难受,试了有半个小时,还是找

2009-09-15 21:13:00 549

转载 map使用介绍

说明:如果你具备一定的C++ template知识,即使你没有接触过STL,这个文章你也应该可能较轻易的看懂。本人水平有限,不当之处,望大家辅正。 一.Map概述 Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下ma

2009-07-15 20:33:00 368

原创 http协议简介

http协议能干什么  我们在学一个东西之前,我们总是能问,这个东西到底能干什么?现在的生活压力这么大,谁会耐着性子去学一个无用的东西呢?那么,http到底能干什么呢?要回答这个问题,我们环顾一下我们的周围,从一个普通用户的角度,可以说,没有http协议,就没有互联网的丰富多彩。从一个web开发者的角度,了解了http协议,才能了解web网站的实质。学会了http协议,你就会发现web后台开发

2009-06-27 20:44:00 790

原创 基于c/s非标准控件的自动化尝试和testcomplete介绍

第一部分 探索 1.1 自动化测试的原理  自动化测试的原理就是无人值守的情况下开展对目标软件的测试,关键在于两点:对软件的行为进行控制、检查软件的预期结果来判断软件运行是否正常。 1.2 当前的测试软件和技术  UI级别的测试工具:这类软件通过识别软件的界面原色和记录用户的鼠标键盘操作来达到控制应用程序的目的。对于结果比较也是通过识别用户界面中的元素的状态来判断操作的结果。这些方法对

2009-06-15 22:44:00 1740 1

转载 网络游戏同步原理荟萃

 不知道大家是否碰到过这种情况,当某个玩家发出一个火球,这个火球有自己的运动轨迹,那么如何来判断火球是否打中了人呢?大部分情况,当策划提出这个要求的时候,一般会被程序否认,原因是:太麻烦了,呵呵。复杂点的还有包括两个火球相撞之类的事情发生。那么网络游戏中,是否真的无法模拟实现这种模拟呢?首先我们来看看模拟此种操作会带来什么样的麻烦:1,服务器必须trace火球的运行轨迹,乍一想,挺

2009-06-11 00:10:00 2127

原创 新的起点,新的开始,加油

  回头看看自己走过的路,不由一阵唏嘘:我所做的一切,都是我以前没有想到的。  这将近三年的时间,我做过网站开发,做过自动化测试和测试工具的开发,现在又在做游戏的后台server开发。做过的事情太多了....开发语言用过c++,用过perl,用过php,偶尔还用过c#,设计过网页,写过js,甚至还看过几天的web交互。我知道这对我来说是一种不可多得的财富:我经历过很多方面,所以我更知道我想要走

2009-06-07 00:21:00 406 1

原创 实现vbs中传递不定参数

今天被问到一个问题:写一个函数,但是这个函数的参数个数是可变的,该怎么写?我记得c中是有可变参数的写法的,java中也有,由于对vbs不是很熟,只是了解九牛之一毛,于是想当然认为vbs也有。google一把,发现vbs真的没有这个功能。没办法,没有标准的方法,咱就模拟一个,所谓曲径通幽,过程虽然曲折,但是达到目的就行,下面就是用byref和数组模拟的一个可变参数函数:function   test

2009-05-20 09:40:00 1850

原创 Detours使用说明

 Detours使用说明 1 介绍... 12 Detours API hook. 12.1 hook DLL 中的函数... 22.2 hook自定义c 函数... 32.3 hook类成员函数... 42.4 DetourCreateProcessWithDll 52.5 Detouring by Address. 5 1 介绍  Api hoo

2009-05-17 16:02:00 10614 5

原创 客户端的gui自动化测试

   最近一段时间在搞c/s客户端的自动化测试。在中国的大部分企业,自动化测试刚刚起步,大部分人都认为会使用一些商业的或者开源的自动化测试工具,如QTP之类,就算是进行自动化测试了。大谬也!  自动化测试按照基本步骤来说,其实就分为两部分:1 控件的自动化识别,2 结果的自动化比较。至于大家熟悉的suite,自动化测试报告等部分,则是以以上两部分为基础封装起来的,属于易用部分,不属于基础部

2009-05-17 15:30:00 1699

原创 在无聊中等待被召唤...

2009-05-11 19:59:00 264

原创 ubuntu下安装man手册

sudo apt-get install manpagessudo apt-get install manpages-desudo apt-get install manpages-de-devsudo apt-get install manpages-dev

2009-04-04 16:22:00 473 1

原创 自己实现linux下ping工具

 一 原理    ping命令工作在ip层,在程序中通过raw scket进行数据的收发,发数据时不需要填充ip头部,但是在接收数据时需要过滤掉ip头部信息。icmp头部重要的字段有三个,type,code,checksum,其中type表示命令的类型,对于ping命令来说,type的值为8表示发送icmp,type值为0表示是icmp的回包,code表示type下的子命令,对于ping命令来

2009-04-01 00:42:00 1998

原创 使用system()函数要谨慎

 今天在使用system()函数启动apache时,出现了一个问题,程序伪代码如下:int sock = createSocket();bindSocket(sock,1111);listen();while((int clisock = accept())> 0){   string strRecvBuff = recvFromClient(clisock);

2009-03-30 21:03:00 4030 1

转载 进程和线程编程

进程和线程编程目 录进程和线程编程原始管道pipe()dup()dup2()popen()和pclose()命名管道创建FIFO操作FIFO阻塞FIFO消息队列msgget()msgsnd()msgrcv()msgctl()信号量semget()semop()semctl()

2009-03-21 11:51:00 551

原创 linux技巧之查找文件

在linux下,有时会记不住一些文件的位置获知不知道文件的名称,可以按照下面几个组合命令来找到想要的文件: 1 根据文件名查找文件的路径 用find命令,如想找socket.h文件的路径,可以这么写:find / -name socket.h其中/表示在什么目录下开始查找,-name后面跟需要查找的文件名,当然如果你只能记住一部分文件名,可以也可以用*代替,如 find /

2009-03-20 00:22:00 350

原创 推荐一个ubuntu下在线听歌的网站

娱乐始终是linux下的短 处,平时在在windows下听歌有很多选择,最经常用的是qqmusic,可惜qqmusic没有linux版本的。推荐一个在linux下听歌的网站,www.1g1g.com还可以收藏自己的歌曲列表,不错...

2009-03-10 23:11:00 2010

原创 ubuntu升级后删除老版本的内核

命令如下: dpkg --get-selections|grep linux 此命令列出所有安装的内核版本 sudo apt-get remove linux-image-2.6.24-12-genericlinux-image-xxxxxx-generic就是要删除的内核版本

2009-03-07 23:40:00 1124

原创 ubuntu中vim和gedit中文乱码解决方法

听说ubuntu的界面很好,今天一用,果然很好,3D桌面,真的很炫哦。由于是安装的英文系统,故在用vim和gedit时 中文显示有问题,对于vim,解决方法如下:打开vim的配置文件,位置在/etc/vim/vimrc在其中加入set fileencodings=utf-8,gb2312,gbk,gb18030set termencoding=utf-8set encoding=p

2009-03-07 23:16:00 12381 4

原创 php使用simplexml读取xml

今天要用php解析xml,依稀记得以前用过simplexml,但是具体的用法却不记得了,google一下,关于使用的介绍文章始终是那一篇,啰嗦。我就按照我的需求把我理解的简单说一下,也是给自己留个记号,说不定哪一天我又忘记怎么用了呢。首先,接收一个字符串或者文件,得到一个simplexmlElement对象假设xml字符串如下:$xmlstr = ""; $xmlObj = s

2009-03-01 23:44:00 1333

原创 开发一个简单的mysql代理

首先说明一下,本文不是介绍大名鼎鼎的那个mysql proxy,我做的这个应该是mysql客户端的代理。 首先说明一下背景,公司有一台数据库服务器,但是由于安全的需要,只对几个ip作了授权,其他的机器不能连接上。如下图所示:   现在有个工具开发需求,需要从每个人的工作pc上访问DB Server,由于不能直连,就在授权pc上做了一个mysql的代理。代理是一个小型的ser

2009-02-25 22:38:00 867 1

原创 躲猫猫网络调查团:没有惊喜

简单的几个人,即使真正全部由网民组成,没有任何官方背景,也不可能调查出真相。政府有太多的方式拒绝你了,你无名、又无权,还不是想让你查看哪些资料就查看哪些资料?不让你看的你怎么能看得到?在政府眼里,就是作一下秀,而在网民心里,就完全是YY了。真正的解决途径,还是法律,有法律赋予的权利,才会真的有真相

2009-02-22 09:58:00 202

原创 c# 中Process类中的PrivateMemorySize和VirtualMemorySize

在c#中,利用Process类可以方便得到进程的各种信息,包括内存、cpu占用率、io、handle等。但是进程占用的虚拟内存,不是VirtualMemorySize,而是PrivateMemorySize。WorkingSet是占用的物理内存大小,单位都是byte

2009-02-16 23:53:00 754

原创 什么时候需要定义拷贝构造函数

当没有定义拷贝构造函数时,对象值传递时是位拷贝,但是通常情况下,位拷贝已经能满足我们的要求,是我们不必自己定义拷贝构造函数。但是什么时候需要自己定义呢?这里有个简单的规则:如果你需要定义一个非空的析构函数,那么,通常情况下你也需要定义一个拷贝构造函数。如果你定义拷贝构造函数时遇到这样的错误: no copy constructor available or copy construct

2009-01-21 00:17:00 1345

原创 实现一个简单的linux线程池

线程池:简单地说,线程池 就是预先创建好一批线程,方便、快速地处理收到的业务。比起传统的到来一个任务,即时创建一个线程来处理,节省了线程的创建和回收的开销,响应更快,效率更高。 在linux中,使用的是posix线程库,首先介绍几个常用的函数:1 线程的创建和取消函数pthread_create创建线程pthread_join合并线程pthread_cancel

2009-01-17 22:24:00 5634 5

原创 进程间通信---信号量

信号量是一个计数器,用于多进程或者多线程之间的数据同步,最常用的是二进制信号量。为了获取资源,进程需要进行如下操作:1 测试控制该资源的信号量2 若信号量的值为正,表明进程可以使用此资源。进程将信号量的值减13 若信号量的值为0,则进程进入休眠状态,直至信号量大于零,进程被唤醒。 在linux中,信号量的测试和-1操作是原子性的,在内核中实现。下面就来介绍XSI信号量的

2008-12-31 00:14:00 1196 1

原创 关于动态创建的表格单元格中的事件

好久没有搞网页了,今天重新弄了一个 ,做个动态表格代码如下var tableElem = document.getElementById("MyTable"); var tbodyElem = tableElem.getElementsByTagName("tbody")[0]; var trElem = document.createElement("tr"); var td1 = do

2008-12-30 00:57:00 296

原创 2008年又要过去了...

 这周是2008年的最后一周 ,每到年末总觉得时间过得太快了,好像刚过完春节,怎么又到元旦了呢 ? 今天领导找谈话,年终的例行谈话。突然感到一丝危机:领导对我是不满意的。说我没有时间观念,工作中不注意反馈,能力不够。怎么会这样呢?工作两年多了,新换了一个领导,自动这个领导上任之后我总觉得有些别扭,但是又说不出来哪些地方不对。总觉得工作上总不能让他满意,努力在提高自己,但是总是不能提高,

2008-12-29 23:17:00 254

原创 不能忍受了,告诉大家一个拨打腾讯客服电话的好方法

实在不能忍受了,在网上随便搜了一下腾讯的客服电话,发现很多都是骗子,这里要提醒大家一下,腾讯总部在深圳,深圳的区号是0755,凡是不是以0755开始的客服电话,都是假的。 由于腾讯的用户量很多,导致客服电话紧张,实际上客户服务部可能是腾讯人数最多的一个部门了,但是依然不够。。。这里教给大家一个比较bt的拨打腾讯电话的方法,腾讯深圳总部的电话是0755-86013388,当打通总机后,会

2008-12-27 22:47:00 3105 1

原创 拷贝构造函数和运算符重载=

拷贝构造函数应用的场合由以下几个方面:1 函数的参数是一个对象,并且是值传递方式2 函数的返回值是一个对象,并且是值传递方式3 用一个对象初始化另外一个对象 由此,当函数的参数或者返回值为一个对象时,使用的时候要小心,因为值传递的时候执行的是位拷贝,并不会调用对象的构造函数,也就是说生成的临时对象可能不是正确初始化的,这样就可能会出现一些意向不到的问题。当返回值是个对象和用一个

2008-12-26 00:04:00 403

原创 正则表达式实用性练习一 在匹配中排除字符串

 在正则表达式中,匹配是很灵活的,今天介绍一种在正则匹配中排除字符串的方法,举例如下:假如现在有一个这样的字符串 “aaabbbccc”现在想提取最后一个中的内容,该如何写呢 ?如果这么写 /(.*)/,会把匹配aaabbbccc,显然,这个不是我们想要的,分析一下匹配的字符串我们就会发现,我们要匹配的字符串的两端是和,但是中间不含有,那么要写一个符合上述要求的正则表达式该如何写呢?

2008-12-25 20:37:00 1888 2

原创 能解决问题的方法,才是真正的好方法

  前几天看电视,看到IBM的新广告:一个头头,带着一批人,边走边说:我们有全球的资源,我们是国际化的合作...等等等等,但是地下一个员工问:我们该怎么做呢?头头说:我,我还没有想好怎么做。相信很多人看过这个广告,不知道看过之后有何感想。  拿出一个切实可行的方案来,比任何的空谈都要有效果得多。如果空谈的是领导,作为员工,应该怎么做呢?真的能像电视里那样,转身离去吗?

2008-12-13 12:44:00 375

原创 也谈linux下socket的connect超时

今天写程序,涉及到socket的通信,就把以前写的一个socket通信代码拿过来用。然后就碰到了一个当时感觉到很奇怪的问题,当时的想法是:见鬼了,为什么以前用的好好的代码怎么突然就不能用了呢?  代码的流程是这样的  1 建立一个socket  2 设置socket为非阻塞  3 connect  4 把socket放到一个fd_set中  5 select 这个socket,监视可写事件  6

2008-12-11 22:09:00 2100

原创 自动化测试的境界

当初,袁绍与曹操共伐董卓之时,袁绍向曹操说:“如果大事不成,有什么地方可以据守?”曹操说:“你的意思如何?”袁绍说:“我南据黄河,北靠燕、代,集北方蛮族之兵,向南争夺天下,大慨可以成功吧!”曹操说:“我任用天下的贤能智士,加以正确指导,在什么地方都成。”袁绍认为的天下靠得是好地盘,曹操认为靠正确的方法和贤能人才 ,两个人的高下 一看便知。同样对于自动化测试来说,一提到自动化测试 ,很多人都认为

2008-12-08 01:01:00 343

原创 javascript编程的15个陷阱

 这本来是翻译Estelle Weyl的《15 JavaScript Gotchas》,里面介绍的都是在JavaScript编程实践中平时容易出错或需要注意的地方,并提供避开这些陷阱的方法,总体上讲,就是在认清事物本质的基础样要坚持好的编程习惯,其实这就是Douglas Crockford很久以前提出的JavaScript风格要素问题了,有些内容直接是相同的,具体请看《Javascript风格

2008-10-28 23:35:00 273

http协议中文文档

http协议中文描述文档,详细介绍了http协议的规范

2008-10-22

Peer to Peer ( P2P ) 综述

Peer to Peer ( P2P ) 综述

2008-10-22

软件测试方法和经验分享

软件测试的方法,经验分享。提高理论知识和测试实际操作水平

2008-08-26

空空如也

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

TA关注的人

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