<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ToCpp的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ToCpp</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ToCpp]]></copyright><item><title><![CDATA[博客转移阵地]]></title><link>https://blog.youkuaiyun.com/ToCpp/article/details/7969336</link><guid>https://blog.youkuaiyun.com/ToCpp/article/details/7969336</guid><author>ToCpp</author><pubDate>Tue, 11 Sep 2012 23:34:30 +0800</pubDate><description><![CDATA[老早就想搞个自己的博客玩玩，一直拖到今年，换了个自己的空间继续记流水账
http://www.billowqiu.net]]></description><category></category></item><item><title><![CDATA[ORM-Object-Relational Mapping]]></title><link>https://blog.youkuaiyun.com/ToCpp/article/details/6666068</link><guid>https://blog.youkuaiyun.com/ToCpp/article/details/6666068</guid><author>ToCpp</author><pubDate>Sun, 07 Aug 2011 00:00:10 +0800</pubDate><description><![CDATA[记得去年初的时候，想研究下如何处理好数据库操作代码，当时看到过这个词，不过那会没有深入研究下去，且当时也没用发现比较好的相关项目，刚刚闲逛中发现两款开源项目，先留个记号。
http://sourceforge.net/apps/trac/litesql

http://ww]]></description><category></category></item><item><title><![CDATA[C++对象内存结构之虚指针]]></title><link>https://blog.youkuaiyun.com/ToCpp/article/details/6621344</link><guid>https://blog.youkuaiyun.com/ToCpp/article/details/6621344</guid><author>ToCpp</author><pubDate>Wed, 20 Jul 2011 22:28:08 +0800</pubDate><description><![CDATA[虚函数对于C++进行OO的作用毋庸置疑，下面通过一个简单的实例对虚指针进行深入讲解：#include 

class VirtualClass
{
public:
	virtual void foo()
	{

	}
};

class NoVirtualClass
{
publ]]></description><category></category></item><item><title><![CDATA[C++版大数相加：字符串实现]]></title><link>https://blog.youkuaiyun.com/ToCpp/article/details/6460350</link><guid>https://blog.youkuaiyun.com/ToCpp/article/details/6460350</guid><author>ToCpp</author><pubDate>Wed, 01 Jun 2011 23:15:00 +0800</pubDate><description><![CDATA[所以大数即，一般的整数类型无法直接表示，通常即通过字符串表示，下面是用c++字符串实现相加，比较粗糙，但大致原理应该是表述清楚了：std::string stringAdd( const std::string& strLeft, const std::string& strRight )
{
    //结果最长为较长数字加1
    int nLeftLength = strLeft.length();
    int nRigthLength = strRight.length();
   ]]></description><category></category></item><item><title><![CDATA[主备切换之State模式实现]]></title><link>https://blog.youkuaiyun.com/ToCpp/article/details/6373185</link><guid>https://blog.youkuaiyun.com/ToCpp/article/details/6373185</guid><author>ToCpp</author><pubDate>Sat, 30 Apr 2011 00:53:00 +0800</pubDate><description><![CDATA[<br />最近项目中需要实现一个主备切换的功能，通过分析可以得出也就两个状态的切换，使用if/switch之类的语句可以轻松搞定，但是为了学习并实践State模式，这里采取了一个State模式的实现：<br />// HAState.h: interface for the HAState class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_HASTATE_]]></description><category></category></item><item><title><![CDATA[thrift之Hello--python client & cpp sever]]></title><link>https://blog.youkuaiyun.com/ToCpp/article/details/6330090</link><guid>https://blog.youkuaiyun.com/ToCpp/article/details/6330090</guid><author>ToCpp</author><pubDate>Sun, 17 Apr 2011 23:35:00 +0800</pubDate><description><![CDATA[<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]]></description><category></category></item><item><title><![CDATA[CentOS5.5下scribe写入数据到HDFS配置方法]]></title><link>https://blog.youkuaiyun.com/ToCpp/article/details/6327000</link><guid>https://blog.youkuaiyun.com/ToCpp/article/details/6327000</guid><author>ToCpp</author><pubDate>Sat, 16 Apr 2011 01:55:00 +0800</pubDate><description><![CDATA[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]]></description><category></category></item><item><title><![CDATA[CentOS 5.5 下配置Hadoop 0.21单节点]]></title><link>https://blog.youkuaiyun.com/ToCpp/article/details/6314374</link><guid>https://blog.youkuaiyun.com/ToCpp/article/details/6314374</guid><author>ToCpp</author><pubDate>Sun, 10 Apr 2011 23:47:00 +0800</pubDate><description><![CDATA[主要参考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启动所有]]></description><category></category></item><item><title><![CDATA[linux/unix系统中ldconfig命令使用详解]]></title><link>https://blog.youkuaiyun.com/ToCpp/article/details/6310911</link><guid>https://blog.youkuaiyun.com/ToCpp/article/details/6310911</guid><author>ToCpp</author><pubDate>Sat, 09 Apr 2011 00:32:00 +0800</pubDate><description><![CDATA[<br />ldconfig是一个动态链接库管理命令。其目的是为了让动态链接库为系统所共享。   <br />ldconfig命令的用途       <br />
主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下，搜索出可共享的动态链接库(格式如lib*.so*)，进而创建出动态装入程序(ld.so)所需的连接和缓存文件。    <br />
缓存文件默认为/etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表。<br /]]></description><category></category></item><item><title><![CDATA[日志收集服务器-scribe vs Flume]]></title><link>https://blog.youkuaiyun.com/ToCpp/article/details/6310883</link><guid>https://blog.youkuaiyun.com/ToCpp/article/details/6310883</guid><author>ToCpp</author><pubDate>Sat, 09 Apr 2011 00:03:00 +0800</pubDate><description><![CDATA[<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]]></description><category></category></item><item><title><![CDATA[Linux core文件生成及设置]]></title><link>https://blog.youkuaiyun.com/ToCpp/article/details/6296299</link><guid>https://blog.youkuaiyun.com/ToCpp/article/details/6296299</guid><author>ToCpp</author><pubDate>Sat, 02 Apr 2011 00:35:00 +0800</pubDate><description><![CDATA[<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/]]></description><category></category></item><item><title><![CDATA[ISO C++ Committee Approves C++0x Final Draft]]></title><link>https://blog.youkuaiyun.com/ToCpp/article/details/6284829</link><guid>https://blog.youkuaiyun.com/ToCpp/article/details/6284829</guid><author>ToCpp</author><pubDate>Mon, 28 Mar 2011 22:59:00 +0800</pubDate><description><![CDATA[<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]]></description><category></category></item><item><title><![CDATA[非客户区 窗口自绘]]></title><link>https://blog.youkuaiyun.com/ToCpp/article/details/6280806</link><guid>https://blog.youkuaiyun.com/ToCpp/article/details/6280806</guid><author>ToCpp</author><pubDate>Sat, 26 Mar 2011 23:51:00 +0800</pubDate><description><![CDATA[在进行界面自绘时，一般都需要处理系统的边框，也就是所谓的非客户区，以前做界面时经常为这个问题发愁，那会摸索出了一种简单的方法：让窗口根本就不存在非客户区，所有的绘制都在客户区里面，但是只会引入另外一个问题，如何实现窗口需要通过鼠标拉伸变化大小？CodeProject上面有个例子可供参考http://www.codeproject.com/KB/MFC/CustomWindow.aspx，里面的处理稍显麻烦，可以自己适当优化下。另外一种方法是在研究QQ2009之后的界面时发现的，通过SPY可以看出其可拉伸的窗]]></description><category></category></item><item><title><![CDATA[PostgreSQL简单封装]]></title><link>https://blog.youkuaiyun.com/ToCpp/article/details/6214494</link><guid>https://blog.youkuaiyun.com/ToCpp/article/details/6214494</guid><author>ToCpp</author><pubDate>Tue, 01 Mar 2011 00:26:00 +0800</pubDate><description><![CDATA[<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]]></description><category></category></item><item><title><![CDATA[Hello，Java]]></title><link>https://blog.youkuaiyun.com/ToCpp/article/details/6110924</link><guid>https://blog.youkuaiyun.com/ToCpp/article/details/6110924</guid><author>ToCpp</author><pubDate>Sat, 01 Jan 2011 00:47:00 +0800</pubDate><description><![CDATA[<br />新的挑战，也是新的机遇，工作需要开始学习java了，来个Hello吧：<br />public class Hello
{
	public static void main(String[] args)
	{
		System.out.println("Hello,2011");
	}	
} ]]></description><category></category></item><item><title><![CDATA[循环左移-海豚算法]]></title><link>https://blog.youkuaiyun.com/ToCpp/article/details/5848387</link><guid>https://blog.youkuaiyun.com/ToCpp/article/details/5848387</guid><author>ToCpp</author><pubDate>Sun, 29 Aug 2010 21:55:00 +0800</pubDate><description><![CDATA[<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]]></description><category></category></item><item><title><![CDATA[Winsock 重复定义的错误]]></title><link>https://blog.youkuaiyun.com/ToCpp/article/details/5797200</link><guid>https://blog.youkuaiyun.com/ToCpp/article/details/5797200</guid><author>ToCpp</author><pubDate>Sun, 08 Aug 2010 18:49:00 +0800</pubDate><description><![CDATA[<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.]]></description><category></category></item><item><title><![CDATA[一次编程实践]]></title><link>https://blog.youkuaiyun.com/ToCpp/article/details/5727462</link><guid>https://blog.youkuaiyun.com/ToCpp/article/details/5727462</guid><author>ToCpp</author><pubDate>Sun, 11 Jul 2010 20:53:00 +0800</pubDate><description><![CDATA[<br />      某天上午，一同事突然过来对我说，走咱们去搞一次敏捷开发，当时让我稍感困惑，我以为只是像平常一样让我去帮忙看个小问题，由于他对MFC不太熟悉，然来是让我配合一起开发一个小工具，呵呵，看来MFC做小工具还是蛮受欢迎的嘛！<br />      刚好半年没碰过这东西了，这次正好实践一下敏捷开发，哈哈，山寨版的，他像我描述下了大致需要做个什么东西，然后在纸上画了下界面，由于需求很简单，界面也不负责，我直接拖控件开工了，我们一边讨论一边写代码，这样很快就有一个跑起来的大致框架了，在我一步一步编]]></description><category></category></item><item><title><![CDATA[链表练习]]></title><link>https://blog.youkuaiyun.com/ToCpp/article/details/5711444</link><guid>https://blog.youkuaiyun.com/ToCpp/article/details/5711444</guid><author>ToCpp</author><pubDate>Sun, 04 Jul 2010 00:10:00 +0800</pubDate><description><![CDATA[<br />一个简单实用的链表，有时间再完善下其他功能：<br />#ifndef LINKLIST_H
#define LINKLIST_H

template <typename T>
struct SLink
{
    T m_tData;
    SLink* m_pNetx;
};

template <typename T>
class CLinkList
{
    template <typename R>
    friend std::ostream& op]]></description><category></category></item><item><title><![CDATA[VS使用技巧]]></title><link>https://blog.youkuaiyun.com/ToCpp/article/details/5615020</link><guid>https://blog.youkuaiyun.com/ToCpp/article/details/5615020</guid><author>ToCpp</author><pubDate>Fri, 21 May 2010 19:40:00 +0800</pubDate><description><![CDATA[       各位搞开发的调试代码想必是少不了的，很多情况下都是为了查看当前内存变量，自从用VS2008后，发现其调试功能相对于之前使用的VS98那可是加强不少，个人体会最深的是对于STL调试时很容易看到其内部结构。       再说说调试中遇到的问题，1：有时我们定义了一个包含多个嵌套结构的类或者是很长的继承链，当需要查看最底层的某个属性时往往在监视窗口中点+-号半天，这样严重影]]></description><category></category></item></channel></rss>