自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(109)
  • 资源 (8)
  • 收藏
  • 关注

原创 博客转移阵地

老早就想搞个自己的博客玩玩,一直拖到今年,换了个自己的空间继续记流水账http://www.billowqiu.net

2012-09-11 23:34:30 761

原创 ORM-Object-Relational Mapping

记得去年初的时候,想研究下如何处理好数据库操作代码,当时看到过这个词,不过那会没有深入研究下去,且当时也没用发现比较好的相关项目,刚刚闲逛中发现两款开源项目,先留个记号。http://sourceforge.net/apps/trac/litesqlhttp://ww

2011-08-07 00:00:10 1026

原创 C++对象内存结构之虚指针

虚函数对于C++进行OO的作用毋庸置疑,下面通过一个简单的实例对虚指针进行深入讲解:#include class VirtualClass{public: virtual void foo() { }};class NoVirtualClass{publ

2011-07-20 22:28:08 996

原创 C++版大数相加:字符串实现

所以大数即,一般的整数类型无法直接表示,通常即通过字符串表示,下面是用c++字符串实现相加,比较粗糙,但大致原理应该是表述清楚了:std::string stringAdd( const std::string& strLeft, const std::string& strRight ){ //结果最长为较长数字加1 int nLeftLength = strLeft.length(); int nRigthLength = strRight.length();

2011-06-01 23:15:00 3140 2

原创 主备切换之State模式实现

<br />最近项目中需要实现一个主备切换的功能,通过分析可以得出也就两个状态的切换,使用if/switch之类的语句可以轻松搞定,但是为了学习并实践State模式,这里采取了一个State模式的实现:<br />// HAState.h: interface for the HAState class.////////////////////////////////////////////////////////////////////////#if !defined(AFX_HASTATE_

2011-04-30 00:53:00 1267

原创 thrift之Hello--python client & cpp sever

<br />Thrift是一个开发跨语言服务的软件框架。编写thrift文件,通过自带的代码生成引擎即可生成各种语言(C++,Java,Python,PHP,Ruby,Erlang,C#等)的对应代码,下面以最经典的hello为例讲述,如何通过thrift编写跨语言的RPC程序:<br />1编写thrift文件,保存为hello.thrift:<br />service Hello { void Hello()}<br />2生成cpp和py框架文件<br />在hello.thri

2011-04-17 23:35:00 6337 5

原创 CentOS5.5下scribe写入数据到HDFS配置方法

1按照CentOS 5.5 下配置Hadoop 0.21单节点一文中的方法配置Hadoop2编译scribe,支持hdfs   2.1下载thrift,libevent,boost等库,可以都下载最新版本,基本上都是make & make install   2.2下载最新版scribe-2.2,之前在网上看到说scribe有很多bug,必须在当前开发版本才能写入HDFS,试了好久没成功,也以为确实是代码的问题,现在发现不是这个问题,直接下载该版本   2.3在scribe源码包里面bootstra

2011-04-16 01:55:00 3191 1

原创 CentOS 5.5 下配置Hadoop 0.21单节点

主要参考Apache官方文档http://hadoop.apache.org/common/docs/r0.21.0/single_node_setup.html唯一注意的是对于CentOS默认安装后的主机名问题,默认主机名为bogon,需要在/etc/hosts中加入如下一行:127.0.0.1 bogon.localdomain bogon运行bin/hadoop namenode -format后进行文件系统的格式化,运行bin/start-all.sh启动所有

2011-04-10 23:47:00 1548

转载 linux/unix系统中ldconfig命令使用详解

<br />ldconfig是一个动态链接库管理命令。其目的是为了让动态链接库为系统所共享。 <br />ldconfig命令的用途 <br />主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(格式如lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件。 <br />缓存文件默认为/etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表。<br /

2011-04-09 00:32:00 1431

转载 日志收集服务器-scribe vs Flume

<br />I read this ☞ post about Cloudera’s Flume with much interest. Flume sounds like a very interesting tool, not to mention that from Cloudera’s business perspective it makes a lot of sense:<br />We’ve seen our customers have great success using Ha

2011-04-09 00:03:00 3672 2

原创 Linux core文件生成及设置

<br />首先是生成core文件,可以通过ulimit命令设置,但是要想在整个系统中生效光在shell里面设置是不行的,可以通过如下方法:<br />1编辑/root/.bash_profile文件,在其中加入:ulimit -S -c unlimited<br />需要注意的是不是每个版本的系统都有这个文件(Suse下面就是),如果没有可以手工创建<br />2重启系统或者执行:soruce /root/.bash_profile<br /> <br />core文件的设置:<br />1)/proc/

2011-04-02 00:35:00 2364

转载 ISO C++ Committee Approves C++0x Final Draft

<br />"On the 25th, in Madrid, Spain, the ISO C++ committee approved a Final Draft International Standard (FDIS) for the C++ programming language. This means that the proposed changes to the new standard so far known as C++0x are now final. The final

2011-03-28 22:59:00 1015

原创 非客户区 窗口自绘

在进行界面自绘时,一般都需要处理系统的边框,也就是所谓的非客户区,以前做界面时经常为这个问题发愁,那会摸索出了一种简单的方法:让窗口根本就不存在非客户区,所有的绘制都在客户区里面,但是只会引入另外一个问题,如何实现窗口需要通过鼠标拉伸变化大小?CodeProject上面有个例子可供参考http://www.codeproject.com/KB/MFC/CustomWindow.aspx,里面的处理稍显麻烦,可以自己适当优化下。另外一种方法是在研究QQ2009之后的界面时发现的,通过SPY可以看出其可拉伸的窗

2011-03-26 23:51:00 3429 3

原创 PostgreSQL简单封装

<br />工作需要,虽然有libpqxx,但是目前为了刚刚够用,尽量不要引入第三方库。在网上找到简单的封装http://www.touspassagers.com/2010/12/a-postgresql-database-interface-wrapper-in-c/<br /> <br />直接贴上代码:<br />#include <iostream>#include <stdio.h>#include <string>#include <stdlib.h>#include <lib

2011-03-01 00:26:00 1808

原创 Hello,Java

<br />新的挑战,也是新的机遇,工作需要开始学习java了,来个Hello吧:<br />public class Hello{ public static void main(String[] args) { System.out.println("Hello,2011"); } } 

2011-01-01 00:47:00 848

原创 循环左移-海豚算法

<br />题目要求是这样的:<br /> <br />/*<br />设将n (n > 1) 个整数存放到一维数组 R中。设计一个在时间和空间两方面尽可能高效的算法。<br />将 R 中的序列循环左移 p(0 < p < n)个位置,即将 R 中的数据由 (a0, a1, ……an-1)<br />变换为(ap, ap-1, …an-1, a0, a1, …, ap-1)。要求:<br />       (1) 给出算法的基本设计思想。<br />       (2) 根据设计思想,采用C或C++或Ja

2010-08-29 21:55:00 3216 2

原创 Winsock 重复定义的错误

<br />Winsock提示重复定义,<br />这是一个老问题了,之前也碰到过,最近一个项目中再次遇到,摘抄自MSDN:<br />The Winsock2.h header file internally includes core elements from the Windows.h header file, so there is not usually an #include line for the Windows.h header file in Winsock applications.

2010-08-08 18:49:00 1242

原创 一次编程实践

<br />      某天上午,一同事突然过来对我说,走咱们去搞一次敏捷开发,当时让我稍感困惑,我以为只是像平常一样让我去帮忙看个小问题,由于他对MFC不太熟悉,然来是让我配合一起开发一个小工具,呵呵,看来MFC做小工具还是蛮受欢迎的嘛!<br />      刚好半年没碰过这东西了,这次正好实践一下敏捷开发,哈哈,山寨版的,他像我描述下了大致需要做个什么东西,然后在纸上画了下界面,由于需求很简单,界面也不负责,我直接拖控件开工了,我们一边讨论一边写代码,这样很快就有一个跑起来的大致框架了,在我一步一步编

2010-07-11 20:53:00 697

原创 链表练习

<br />一个简单实用的链表,有时间再完善下其他功能:<br />#ifndef LINKLIST_H#define LINKLIST_Htemplate <typename T>struct SLink{ T m_tData; SLink* m_pNetx;};template <typename T>class CLinkList{ template <typename R> friend std::ostream& op

2010-07-04 00:10:00 790

原创 VS使用技巧

       各位搞开发的调试代码想必是少不了的,很多情况下都是为了查看当前内存变量,自从用VS2008后,发现其调试功能相对于之前使用的VS98那可是加强不少,个人体会最深的是对于STL调试时很容易看到其内部结构。       再说说调试中遇到的问题,1:有时我们定义了一个包含多个嵌套结构的类或者是很长的继承链,当需要查看最底层的某个属性时往往在监视窗口中点+-号半天,这样严重影

2010-05-21 19:40:00 970

原创 试用期个人总结

      新的工作,新的试用期,4月初试用期结束了,项目经理倒是记得比较清楚,不用我提就主动给经理说了,更让我意外的是基本工资竟然给多了一点,而且是发的转正后的工资,加之之前每个月都貌似多发了一点点中餐补助,看来今年财运不错呀,希望能继续保持。      新的环境让接触了不少新东西,也让我再次体会到沟通是很重要的,技术上面没有太多的提升,但是对于大型软件开发的模型有一个初步的认识了,下面主要

2010-04-17 00:02:00 3703 1

原创 大环境

      刚刚看到说Java之父离开Oracle,下面的介绍那叫牛X啊:James Gosling (1955.5.19-)加拿大出生的程序员,美国工程院院士。以“Java 技术之父”而闻名于世。他是Java 技术的创始人,亲手设计了Java语言,并开发了Java编译器和Java虚拟机,使Java成为了世界上最流行的开发语言。       他自己还说希望2030年的时候仍在写代码,真

2010-04-12 00:36:00 730 1

原创 boost中各种各样的timer

最近由于工作需要,大量使用boost,某天闲来无事整了个hello world版的timer实现。#include #include #include #include void threadTimer( boost::posix_time::time_duration duration ,boost::function funCallback){ //使用local

2010-03-31 23:17:00 1511

转载 长连接和Keepalive

原文链接:http://www.cppblog.com/zhangyq/archive/2010/02/28/108615.html之前一个项目的服务器端好像就是在待机之后,tcp链接已经断开,但是服务器没有检测到,看了这篇文章之后就比较明了了。 TCP协议中有长连接和短连接之分。短连接在数据包发送完成后就会自己断开,长连接在发包完毕后,会在一定的时间内保持连接,即我们通常所说的Kee

2010-03-01 23:32:00 3334

原创 行为模式之Observer

最近项目中遇到一个需求:在服务器进行一次调度以后,要给客户端一个通知,而客户端在调用服务端的调度之前会进行通知的注册。这是一个典型的Observer模式,因此顺便将观察者模式再复习了一次,这个模式其实就只涉及到主题和观察者两个类,也相对比较简单,UML类图如下:顺序图:有了这两个图,观察者模式就一目了然了,这里在讲HF上面的对应的设计原则贴上来:1找出程序中会变化的方面,然后将

2010-02-28 23:41:00 909

原创 深圳之行

      从深圳回武汉刚好一个月了,上个月19号坐的车,离开了生活了16个月的深圳,再次回到熟悉的城市,但是心情完全不一样了。发现呆了4年的武昌除了学校那块比较熟悉外,其它好多地方还是那么的陌生,这也从某种意义上反映了自己的大学生活不是很丰富。      在深圳的一年多,虽然对之前的公司没有太多好感,但是作为自己工作的第一步,只能说既然选择了那么肯定也是也有其存在的理由,由于公司所处的行业特

2010-01-19 22:36:00 1245 5

原创 ATL 窗口类源码浅析

图1对于典型的Win32应用程序而言,一般包括WinMain,窗口类注册,创建显示窗口,消息循环,消息处理。下面是ATL Internals上面对上图的说明:ATL对Win32窗口API的封装如上图,其中粗体子的类比较重要,而其它的则是作为一般的辅助类,当然这个图并没有包括所有的内容,比如窗口类注册,消息循环等,下面我会一一道来。1WinMain在ATL窗口程序中没有太大的变化

2009-12-10 17:38:00 1681

原创 TFTP服务器接收文件

最近看到很多UDP可靠文件传输的文章,其中有提到TFTP协议,在CodeProject上面搜到一个客户端的,觉得很不错,http://www.codeproject.com/KB/IP/tftp_client.aspx这里模仿者写了个服务器端,只实现了服务器端的接受文件,配合着基本上就可以作为一般的UDP文件接发例子了,大致代码如下头文件:#pragma comment(lib,"ws

2009-12-10 15:12:00 1623

原创 N个数组成最大整数

 最近帮一个高中同学做其专升本的数据结构试卷,总体感觉比我们那会考试时难多了,其中最后一道算法设计题如下: “请设计一个程序,其功能是:从键盘输入整数n及n个无符号数,将这n个无符号数连成一个最大的多位整数并输出之。例如,将5个无符号整数6750,67,34,345,7连成767675034534。” 第一次将题目看错,以为很简单,当然我基本上都是用C++写的,没有太考虑其中的数据

2009-11-23 23:33:00 1648 1

转载 C/C++数组名与指针区别深入探索(转)

 引言  指针是C/C++语言的特色,而数组名与指针有太多的相似,甚至很多时候,数组名可以作为指针使用。于是乎,很多程序设计者就被搞糊涂了。而许多的大学老师,他们在C语言的教学过程中也错误得给学生讲解:"数组名就是指针"。很幸运,我的大学老师就是其中之一。时至今日,我日复一日地进行着C/C++项目的开发,而身边还一直充满这样的程序员,他们保留着"数组名就是指针"的误解。  想必这种误解的根源在于国

2009-11-06 20:33:00 552

原创 简易模版栈及数制转换

 #pragma onceconst int INIT_SIZE = 100;const int INCRENT_SIZE = 10;template class CStack{private: T* m_pBase; /*基址*/ int m_nSize; int m_nTop;public: CStack() { m_pBa

2009-11-01 22:17:00 845

原创 IWebBrowser2登陆网站(无验证码的)

      忙活了快两天,第一次正儿八经的使用COM(仅仅是使用),需求是客户端登陆网站获取相关信息,比如是否有新的事务,开始通过WinInet抓包,由于是第一次接触这个,搞了两天终于登陆成功(主要是卡在SessionID上面了),进入主界面后发现获取事务的信息不是直接在HTML中,一个做Web的同事给我分析了一遍,竟然是通过JS+AJAX +_+然后再怎么直接更新(不刷新页面),反正是搞不清,而

2009-10-20 22:51:00 2703 2

原创 行为模式之Command

      “本来是打算看ThinkInC++上面的设计模式学习的,看到第二个模式也就是Command发现上面讲得实在是太少了,只好看那本经典的EBook了,幸好还算清晰,第一章看完一半就决定买一本纸质书了,犹豫了两天昨天晚上终于下单了,Head First 设计模式,明天估计就到货了,希望选择是对的。”       刚刚把EBook上面的Commad一节看完,对这个模式有一点点体会了,但是由

2009-10-19 22:40:00 756

原创 Singleton

      这个应该是最简单的一个设计模式,记得当初在学校学习C++时看到这样一个类,当时还觉得这确实是个技巧,但是那会基本上没有实际用到,这次在项目中则到处可见,个人觉得Singleton用到的场合还比较多,基本上叫做**Mgr之类的都是Singleton,当然经验还不足不知道是不是有些地方有滥用,我们项目中用到的是一个#define:#define SINGLE_INSTANCE(clas

2009-10-18 00:01:00 803

原创 什么是设计模式

       Think In C++上面说,可以把模式的基本概念看做一般情况下程序设计的基本概念:增加一些抽象层(让我想到了沉思录上面经常说的一句话C++的惯用法用类来表示概念)。当人们对某事物进行抽象的时候,隔离特定的细节,最直接的动机之一就是为了变化的事物与不变的事物分离开。做到这一点的另一个方法是,一旦发现程序中的某些部分可能被修改,那么就要阻止那些修改在代码中到处传播副作用。    

2009-10-16 22:57:00 979

转载 HTTP协议之处理Cookie

“由于工作需要,最近在学习HTTP协议相关的一些知识,在登陆一个jsp网站时,POST过去的请求被拒绝了,通过抓包分析可以看到此网站需要设置Cookie,这里找打一篇文章写得很不错,只截抄了关于Cookie协议的一部分” 大多数的 Web 应用程序都要求维护某种会话状态,如用户购物车的内容。这种会话状态的保持很多情况下需要借助于Cookie或者Session的帮助。本文结合在线页面翻译 (

2009-10-16 15:13:00 4361 5

原创 DIB数据转换为DDB

前段时间做视频拍照时,需要将接受到的视频数据进行拍照,由于传输过来的是原始的DIB数据,因此需要将其转换为DDB,经过查找MSDN得出如下片段,比较实用,留个记号 HDC hdc = ::GetDC(NULL); HBITMAP hbmpFriend = NULL; BITMAPINFO bmi; memset(&bmi,sizeof(BITMAPINFO),0)

2009-10-12 15:55:00 938

原创 ClearCase一点心得

    使用这个工具快一年了,个人感觉是非常强大的,不知道还有没有更强大的,没怎么用过SVN之类的,以后有时间也多试试。最近在一次误装VS SP后,导致CC与VS关联失效,但是当时也没意识到是什么导致的,以为是和服务器连接的问题,又把管理员搞来了,他看了半天也不知道是什么问题,结果又是我想起了由于装SP导致的,(其实之前也因为自己的一次恶搞导致CC比较工具出现问题,那次也是让管理员搞的,当时只

2009-10-11 19:38:00 816

转载 社会保障卡

      社会保障卡是由劳动和社会保障部统一规划,由各地劳动保障部门面向社会发行,应用于劳动和社会保障各项业务领域的集成电路卡(IC卡)。其中,面向城镇从业人员、失业人员和离退休人员发放的称为社会保障(个人)卡,面向用人单位发放的称为社会保障(用人单位)卡。由于社会保障(个人)卡是目前劳动保障部有关卡规划和规范的重点,各地实际发放的也多集中于这一种卡,所以通常我们所说的社会保障卡,就是指社会保障

2009-10-07 19:45:00 833

原创 VS2005向导生成的win32程序编译GDI+问题

昨天用VS2005向导生成的Win32程序,当向其中添加GDI+相关文件引用时会提示如下错误 1>f:/microsoft visual studio 8/vc/platformsdk/include/gdiplusimaging.h(67) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int1>f:/microsoft visual st

2009-09-26 13:59:00 3056

zipkin

twitter的分布式跟踪系统

2015-09-22

无客户区 窗口 自绘

实现类似QQ属性窗口,无客户区,可以拉伸大小,方便界面自绘,例子代码好久了,参考了一些其他代码,仅供参考

2011-03-26

QQSearchUI

模仿QQ2008搜索框的UI,用WTL实现的,有一定的参考价值

2010-03-01

IWebBrowser2登陆网站(无验证码的)

通过IWebBrowser2登录不带验证码的网站,很简单

2009-10-20

SliderCtrl

利用WTL+Custom Draw绘制的SlideCtrl 没有做细节部分的处理

2009-05-23

HelloCWnd

这样的MFC程序比那个向导的学习起来好多了

2008-08-06

Rebar SDK Demo

用SDK写的使用Rebar控件的简单Demo

2008-07-13

空空如也

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

TA关注的人

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