上一页 1 ··· 28 29 30 31 32 33 34 35 36 ··· 44 下一页
摘要: In this post I would like to share two tips I have found that greatly improve the performance of KVM guests. Both tips work with Linux guests, although only the second tip will work with windows or BSD guests.With these tips you should notice an immediate improvement in performance including boot ti 阅读全文
posted @ 2012-03-20 22:23 zaleilynn 阅读(417) 评论(0) 推荐(0) 编辑
摘要: 让我们从一个非常简单的例子开始,如下:int n;这个应该被理解为“declare n as an int”(n是一个int型的变量)。接下去来看一下指针变量,如下:int *p;这个应该被理解为“declare p as an int *”(p是一个int *型的变量),或者说p是一个指向一个int型变量的指针。我想在这里展开讨论一下:我觉得在声明一个指针(或引用)类型的变量时,最好将*(或&)写在紧靠变量之前,而不是紧跟基本类型之后。这样可以避免一些理解上的误区,比如:int* p,q;第一眼看去,好像是p和q都是int*类型的,但事实上,只有p是一个指针,而q是一个最简单的int 阅读全文
posted @ 2012-03-19 15:53 zaleilynn 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 有以下这样3个求加法的函数: 1 int Add(int x,int y) 2 { 3 return x+y; 4 } 5 6 double Add(double x,double y) 7 { 8 return x+y; 9 }10 11 long Add(long x,long y)12 {13 return x+y;14 }它们拥有同一个函数名,相同的函数体,却因为参数类型和返回值类型不一样,所以是3个完全不同的函数。即使它们是二元加法的重载函数,但是不得不为每一函数编写一组函数体完全相同的代码。如果从这些函数中提炼出一个通用函数,而它又适用于多种不同类型的数据,这样会使代码的重用率.. 阅读全文
posted @ 2012-03-19 15:41 zaleilynn 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 几乎所有稍微复杂点的程序都需要某种形式的引用计数智能指针。这些智能指针让我们不再需要为了控制被两个或多个对象共享的对象的生存期而编写复杂的逻辑。当引用计费降为零,没有对象再需要这个共享的对象,这个对象就自动被销毁了。引用计数智能指针可以分为插入式(intrusive)和非插入式(non-intrusive)两类。前者要求它所管理的类提供明确的函数或数据成员用于管理引用计数。这意味着在类的设计时就必须预见到它将与一个插入式的引用计数智能指针一起工作,或者重新设计它。非插入式的引用计数智能指针对它所管理的类没有任何要求。引用计数智能指针拥有与它所存指针有关的内存的所有权。没有智能指针的帮助,对象的 阅读全文
posted @ 2012-03-19 15:31 zaleilynn 阅读(441) 评论(0) 推荐(0) 编辑
摘要: Boost智能指针——shared_ptrboost::scoped_ptr虽然简单易用,但它不能共享所有权的特性却大大限制了其使用范围,而boost::shared_ptr可以解决这一局限。顾名思义,boost::shared_ptr是可以共享所有权的智能指针,首先让我们通过一个例子看看它的基本用法:#include <string>#include <iostream>#include <boost/shared_ptr.hpp>class implementation{public:~implementation() { std::cout <& 阅读全文
posted @ 2012-03-19 15:22 zaleilynn 阅读(190) 评论(0) 推荐(0) 编辑
摘要: os.getcwd()函数得到当前工作目录,即当前Python脚本工作的目录路径。 os.listdir()返回指定目录下的所有文件和目录名。 os.remove()函数用来删除一个文件。 os.system()函数用来运行shell命令。 os.listdir(dirname):列出dirname下的目录和文件 os.getcwd():获得当前工作目录 os.chdir(dirname):改变工作目录到dirnameos.path.isdir(name):判断name是不是一个目录,name不是目录就返回false os.path.isfile(name):判断name是不是一个文件,不存. 阅读全文
posted @ 2012-03-18 17:19 zaleilynn 阅读(368) 评论(0) 推荐(0) 编辑
摘要: linux上安装thrift见 http://jinghong.iteye.com/blog/1102535 thrift做为跨语言调用的方案有高效,支持语言较多,成熟等优点;代码侵入较强是其弱点。 下面记录以C++做服务器,C++,java和python做客户端的示例,这个和本人现在工作环境吻合,使用多线程长连接的socket来建立高效分布式系统的跨语言调用平台。 遗憾的是目前版本(0.7.0)的C语言还不支持Compact协议,导致在现在的环境中nginx c module调用thrift要使用binary协议。thrift开发团队似乎对C语言不太感冒。 1.定义idl文件acsuser. 阅读全文
posted @ 2012-03-18 14:24 zaleilynn 阅读(1345) 评论(0) 推荐(0) 编辑
摘要: /usr/local/include/thrift/transport/TSocket.h:216:3: 错误:‘sockaddr’不是一个类型名在TSocket.h中加入#include<sys/socket.h>#include<arpa/inet.h>即可(只用第二个其实就可以了)uint_32 does not name a type在编译选项中加入 -DHAVE_NETINET_IN_H 即可 阅读全文
posted @ 2012-03-18 14:19 zaleilynn 阅读(444) 评论(0) 推荐(0) 编辑
摘要: 参考:http://incubator.apache.org/thrift/http://wiki.apache.org/thrift/FrontPagehttp://jnb.ociweb.com/jnb/jnbJun2009.html非常好的入门教程http://developers.facebook.com/thrift/thrift-20070401.pdfthrift开发者写的论文http://wiki.apache.org/thrift/ThriftUsageC%2B%2B 官方的c++文档Thrift是个啥东东?来自wiki.apache.org/thrift/FrontPage的 阅读全文
posted @ 2012-03-18 13:21 zaleilynn 阅读(402) 评论(0) 推荐(0) 编辑
摘要: 什么是Hadoop?Apache Hadoop 是一个用java语言实现的软件框架,在由大量计算机组成的集群中运行海量数据的分布式计算,它可以让应用程序支持上千个节点和PB级别的数据。 Hadoop是从google MapReduce和Google文件系统的论文获得的灵感。Hadoop是Apache的一线项目,开发和实用来自世界各地的社区,Yahoo!是目前 为止最大的贡献者,并且Yahoo广泛使用它在搜索业务和广告业务上。IBM和Google的联合就是使用的Hadoop,为大学的课程提供分布式计算。 Hadoop的创始人是Doug Cutting(目前在yahoo工作),关于hadoop的命 阅读全文
posted @ 2012-03-18 11:03 zaleilynn 阅读(575) 评论(1) 推荐(1) 编辑
上一页 1 ··· 28 29 30 31 32 33 34 35 36 ··· 44 下一页