存档

作者存档

一个轻量级C++单元测试框架——ztest

2010年9月6日 小武哥 没有评论

之前也看过别人写的一些单元测试框架,google的gtest算是比较有名的了,还有其它一些,基本实现都大同小异。总的来说,gtest显得有些重量级,另外的一些,测试用例不能分组,所有的用例只能一起运行,感觉不是很方便。周末的时候,折腾了一个相对比较轻量级的单元测试框架,命名为ZTest, 通过定义不同的测试类,可以支持对用例进行分组。下面从四个方面,对ZTest做一个介绍:

  • 1. ZTest是什么?
  • ZTest是一个轻量级的c++程序单元测试框架

  • 2. 如何获得ZTest?
  • 可以从google code:http://xiao5geproject.googlecode.com/svn/trunk/ztest 处获得ZTest的源码。

  • 3. 如何使用ZTest?
  • 阅读全文…

    UML中类之间的关系小结

    2010年9月4日 小武哥 1 条评论

    好久没用UML的东东了,有点记不太清了,最近要用到了,做个简单的复习。UML中类之间的关系一直让人觉得很容易混淆的东东,这里记录一下今天复习的时候整理的笔记,希望对感兴趣的朋友有所帮助。

  • 1. 关联
  • 关联用来描述类与类之间的连接关系。关联一般是双向的,即关联的对象双方彼此都能与对方通信。换言之,如果两个类的对象之间存在可以互相通信的关系,或者说对象双方能够感知另一方,那么这两个类之间就存在着关联关系。
    关联 阅读全文…

    手把手教你玩转GDB(三)——常用命令

    2010年8月30日 小武哥 8 条评论

    本文是手把手教你玩转GDB的第三篇,主要内容是介绍一些在程序调试过程中最常用的GDB命令,废话不多话,开始今天的正题。
    1.attach process-id/detach

  • (1)attach process-id: 在GDB状态下,开始调试一个正在运行的进程,其进程ID为process-id
  • (2)detach: 停止调试当前正在调试有进程,与attach配对试用
  • 2.kill

  • (1)基本功能:杀掉当前GDB正在调试的应用程序所对应的子进程
  • (2)如果想不退出GDB而对当前正在调试的应用程序重新编译、链接,可以在GDB中执行kill杀掉子进程,等编译、链接完后,再重新执行run,GDB便可加载新的可执行程序启动调试
  • 3.多线程程序调试相关:

  • (1)thread threadno:切换当前线程到由threadno指定的线程
  • (2)info threads:查看GDB当前调试的程序的各个线程的相关信息
  • (3)thread apply [threadno] [all] args:对指定(或所有)的线程执行由args指定的命令
  • 4.多进程程序调试相关(fork/vfork): 阅读全文…

    Keep Smile

    2010年8月27日 小武哥 5 条评论

    keep smileThese days, I always feel tired, and even bored. I didn’t know why, but I really do not want to be like this. Life is beautiful , and there’s lots of things waiting for me to do. Maybe, I just need some time to take a break. Life is a mirror, if you smile at her, she will smile at you, too. Just keep smile, keep smile to everyone, keep smile everyday, enjoy the life!

    分类: 生活感悟 标签: ,

    手把手教你玩转GDB(二)——Breakpoint, Watchpoint和Catchpoint

    2010年8月22日 小武哥 5 条评论

    本文是《手把手教你玩转GDB》系列的第二篇,主要内容是用GDB调试程序中比较常用到的断点(breakpoint)、监视点(watchpoint)和捕捉点(catchpoint)。虽然说这三类point的功能是不一样的,但它们的用法却极为相似。因此,本文将以断breakpoint为例,进行详细的介绍,关于watchpoint和catchpoint的介绍就相对比较粗略,相信读者朋友如果能够理解breakpoint的部分,那么便可以触类旁通,学会watchpoint和catchpoint的用法。

    1. Breakpoint: 作用是让程序执行到某个特定的地方停止运行

  • (1)设置breakpoint:
  • a. break function: 在函数funtion入口处设置breakpoint
    b. break +offset: 在程序当前停止的行向前offset行处设置breakpoint
    c. break offset: 在程序当前停止的行向衙offset行处设置breakpoint
    d. break linenum: 在当前源文件的第linenum行处设置breakpoint
    e. break filename:linenum: 在名为filename的源文件的第linenum行处设置breakpoint 阅读全文…

    写在工作一周年

    2010年8月16日 小武哥 18 条评论

    七夕        今天是个特别的日子,中国人的情人节——七夕,选择在这一个日子来写这篇文章,纯粹是偶然,首先祝愿所有的朋友们都有情人终成眷属吧 :razz: 。一年前的我,走出校园,加入整天忙忙碌碌的上班一族;现在的我,对于生活、工作没有刚来深圳时的那份新奇,一切都在有条不纹的进行着。看着今年一批批刚入职的毕业生同事,想想一年前的自己,一切都是那么的熟悉,但却又离我渐渐地远去。现在我需要的不再仅仅是刚刚入职时那会儿的满腔的热情,更为需要的是对自己职业生涯的深入思索及规划,今后的路该怎么走,怎样才能走得更远。

            过去的一年,总体上来说,经历了一些事情,也让自己收获了一些。工作上的事情,基本都已步入正轨,所有的事情基本都能处理的让大家都满意吧,当然首先是要让自己满意。互联网行业的从业者,加班是家常便饭,我也不例外,但是我总觉得,付出与回报是成正比的,这么想着,自己也就觉得比较欣慰了。 阅读全文…

    小武哥回来了~

    2010年8月15日 小武哥 10 条评论

    加油 已经有20多天没有更新博客了,甚感罪过,不是因为忙的没时间更新,而是因为前段时间,博客主机被封的缘故。刚开始开博的时候,用的是华夏名网的主机,后来因为经常出问题,而且客服态度也不怎么样,就把那边的主机退了。后来和阿祯合搞了bluehost的主机,国外主机,除了速度慢点,其它都挺好的。但是前段时间,突然不能访问了,开始我还以为是主机出啥问题了,去问客服,结果人家说一切正常。于是,我用just-ping ping了一下,果然只有中国ping不通,全球其他地方都可以,于是断定是被国内给和谐了。因为我自己的博客是中规中矩的,没有什么不和谐的内容。想必是因为共享IP的缘故,同IP的其他站点上有不和谐的内容,被天朝给和谐了,相当杯具。于是联系客服,说要是买一年30$的独立IP才可以恢复,最后决定还是换主机吧。最终还是搞了国内主机,也就是现在这个。从与客服周旋,到down数据,到把新的主机搞好,中间的20多天,一直不能访问。造成的后果相关杯具: 阅读全文…

    分类: 站长日志 标签: , ,

    手把手教你玩转GDB(一)——牛刀小试:启动GDB开始调试

    2010年7月24日 小武哥 2 条评论

    写在最前面:GDB是unix相关操作系统中C/C++程序开发必不可少的工具,它的功能之强大,是其它调试器所不能匹敌的。但是,现实的工作中,有很多开发者因为GDB本身入门门槛比较高,而被拒之门,与如此强大的失之交臂。笔者在近两年的C/C++开发工作中,对GDB本身的有一点研究,在这里总结出一系列《手把手教你玩转GDB》的文章,一方面权当是对自己经验的一个总结,一方面也是真的想能够对刚接触GDB的开发者朋友带去一些帮助,让更多的人来使用如此强大的工具。今天推出第一篇:

    第一部分 牛刀小试:启动GDB开始调试

    1. 启动GDB开始调试:

    (1)gdb program ///最常用的用gdb启动程序,开始调试的方式
    (2)gdb program core ///用gdb查看core dump文件,跟踪程序core的原因
    (3)gdb program pid ///用gdb调试已经开始运行的程序,指定pid即可 阅读全文…

    “小武哥的开源项目”正式发布

    2010年7月17日 小武哥 9 条评论

    在google code上建立了一个名为“小武哥的开源项目”的project, 地址是:http://code.google.com/p/xiao5geproject/(也可以用http://code.wuzesheng.com进行访问)
    ,
    建立这个项目,基于以下几点考虑:
    1. 给自己的代码找一个栖身之所,让自己的代码随时随地处于“可用”状态
    2. 积累自己工作、学习中所写的一些相对比较独立的代码,形成自己的代码库
    3. 把自己的代码分享出来,希望对需要的朋友有所帮助,少走一些弯路,少做一些重复的工作
    4. 把自己的代码分享出来,希望感兴趣的朋友能够指点一二,让我能够把代码写得越来越好,大家共同进步 阅读全文…

    动手构建一个推荐系统(Recommendation System)

    2010年7月11日 小武哥 10 条评论

    写在前面:本文通过构建一个电影推荐系统,深入浅出的介绍推荐系统相关的概念、算法,让读者朋友能够在对推荐系统有比较全面的认识的基础之上,能够轻松地构建出自己的推荐系统。

    1. 什么是推荐系统(Recommendation System)

    推荐系统是指根据一个群体的偏好,来为群体中的成员提供推荐的系统。现实生活中这样的例子很多,比如豆瓣(Douban.com)读书中的“豆瓣猜”功能,它根据你看过的一些书和相关评价,与整个豆瓣社区其它会员看过的书与评价经过一系列的计算,就能给你推荐一些你没有读过的,但有可能感兴趣的书(如下图所示):
    这是我读过的或者正在读的书:
    阅读全文…

    详解Google-ProtoBuf中结构化数据的编码

    2010年6月27日 小武哥 没有评论

    本文的主要内容是google protobuf中序列化数据时用到的编码规则,但是,介绍具体的编码规则之前,我觉得有必要先简单介绍一下google protobuf。因此,本文首先会介绍一些google protobuf相关的内容,让读者朋友对google protobuf有一个初步的印象,然后,再开始进入正题—-深入浅出地介绍google protobuf中用到的编码规则。下面言归正传,开始今天的话题。

    1. Google-ProtoBuf是什么

    ProtoBuf,全称是Protocol Buffers, 它是谷歌内部用的一种高效的、可扩展的对结构化数据进行编码的格式规范。谷歌自己内部很多程序之间的通信协议都用了ProtoBuf。

    ProtoBuf可以支持多种编程语言,目前已经C++, Java和Python,本文中所前的内容用到例子的话,会以C++为例。

    2.如何得到Google-ProtoBuf

    ProtoBuf在Google Code上的主页是:http://code.google.com/p/protobuf/, 感兴趣的朋友可以在这里下载ProtoBuf的源码,也可以在这里阅读ProtoBuf的详细的文档。 阅读全文…

    寻找自己

    2010年6月22日 小武哥 13 条评论

    时间一点点的流逝,生命一天天的延续,每天都忙忙碌碌,每个人都如此,忙碌着,却不知道为了什么, 抑或是为了谋生,但是终点在何处。

    生活需要激情,人生需要目标,失去了它们,生命的意义何在?每个人都会迷失,失去自我,不知道如何前行。

    向前,每个人都向望着,但是在这个过程中,人们背负的东西越来越多,很多人都被压得爬了下来,停止了前进的步伐。

    寻找自我,找到真正的自己,找到自己前进的方向,每天都充满对生活的无限激情,向前。

    在觉得累的时候,减减自己身上的重量,积蓄充足的力量,为了继续向前做好准备。

    生命不止,向前不息,寻找迷失的自己,充实每一天!

    分类: 生活感悟 标签: ,

    Chrome相关源码下载

    2010年6月18日 小武哥 没有评论

    今天在网上搜索到的,在这里把需要的内容摘记一下,权当是给自己做个笔记,以备后面查看、使用。

    目前 Google Chrome 源码已经公布了,有兴趣的软件开发者程序员可以从 chromium.org 服务器使用 SVN checkout Google Chrome Source Code,自定义自己的浏览器。

    Google Chrome 源码下载地址 :

    1. Google Chrome 源码 SVN 地址http://src.chromium.org/svn。包含有 Chrome、Gears、Webkit、GCC 等源码以及编译依赖工具。Chrome 浏览器项目的源码,位于目录 http://src.chromium.org/svn/trunk/src/chrome/

    阅读全文…

    最近

    2010年6月17日 小武哥 10 条评论

    最近,觉得很累,各种累
    事情永远都是做不完的,但这不是关键
    心灵的疲惫

    想找个没有人的地方休憩
    静下心来,思考一番
    自己想要的究竟是什么

    光阴荏苒
    过去的都将成为回忆
    但是,不能被尘封

    漫漫长路
    我将继续前行
    前方是什么,终点在哪里

    分类: 生活感悟 标签: , , ,

    从技术型博客的周末效应说起

    2010年6月12日 小武哥 15 条评论

            今天,观察了一下这一段时间以来,从搜索引擎到我博客的来的流量,发现一个很明显的规律:从周一到周五来自搜索引擎的流量相对比较稳定,到了周六、周日,都会有比较明显的下降,下图是截取的最近三周的从谷歌来的流量的统计,数据来自CNZZ。去掉今天的统计(因为今天到目前为上还没有完全统计出来,所以数据不具有可对比性),看前面三周的统计,”周末效应”还是十分明显的。下面来分析一下导致这种效应的具体原因。 阅读全文…