- 博客(106)
- 资源 (9)
- 收藏
- 关注
原创 如何在gluster的源码中添加自己的xlator
本文并不说明如何编写一个xlator。在glusterfs3.6.1下验证成功 目标在glusterfs-3.6.1/xlators/debug/下建立一个自己的xlator库并可以统一安装到系统目录下一、 解压glusterfs3.6.1.tar.gztar zxvf glusterfs3.6.1.tar.gzcd glusterfs3.6
2014-11-17 17:30:44 2469
转载 raid技术概述
1.RAID技术概述RAID:即廉价磁盘冗余阵列 / 独立磁盘冗余阵列RAID (redundant array of independent disks, originally redundant array of inexpensive disks) is a storage technology that combines multipledisk drive compone
2014-05-07 14:33:44 1403
转载 makefile编译所有cpp文件
CC := g++CFLAGS := -gTARGET := testSRCS := $(wildcard *.cpp)OBJS := $(patsubst %cpp,%o,$(SRCS))all:$(TARGET)%.o:%.cpp $(CC) $(CFLAGS) -c $<$(TARGET):$(OBJS) $(CC) $(CFLAGS) -o $@ $^
2014-01-28 13:13:46 14981 3
原创 内存共享基本演示
发送端: 申请共享内存区域并写入数据到共享内存区域sender.c#include #include #include #include #include #include #define BUFSIZ 102400int main(){ int shmid=-1; char * viraddr; char buffer[BUFSIZ];
2013-07-31 16:13:32 1695
原创 mongodb 在window下源码编译(vs2010)
2.1.1之前可能需要安装boost等相关库,但2.1.1之后就自带了,不用安装相关的库1、安装vs20102、下载源码,进入到mongodb的源码目录下mongodb-src-r2.2.0\src\mongo\db3、打开db_10.sln4、修改编译版本为win32 debug版,如果是64位机请选择x64,我的服务器是32位的,所以
2013-03-30 13:19:02 1861
原创 mongodb shell 执行 js 脚本
利用mongodb执行js脚本的方法如下:./mongo 10.1.18.181:12000/xmail_db test.js test.js 内容如下:var cursor=db.getCollectionNames(); // 获取collection 名for(i=0;i{ //printjson(cursor[i]); //var db=connect(
2013-03-07 17:25:07 16064
原创 unix网络编程--时间同步
以下代码在centos6.2测试通过客户端代码如下:#include #include #include #include #include #include #include using namespace std;#define MAXLINE 4096 /* max text line length */int main(in
2012-12-04 21:29:27 1532
原创 Linux 端口号划分
Linux下端口的划分使用是由IANA(Internet Assigned Numbers Authority,因特网已分配数值权威机构)维护的,端口号被划分为3个段。1、0~1023,这些端口有IANA分配和控制,可能的话,相同端口号就分配给TCP、UDP和SCTP的同一给定服务。如80端口被赋予web服务2、1024~49151,这些端口不受IANA控制,不过由IANA登记并提供他们的
2012-12-02 10:47:24 12664
原创 Linux下errno.h文件错误号说明
在centos6.2中,分为两个文件,一个在/usr/include/asm-generic/errno-base.h,, 另外一个在/usr/include/asm-generic/errno.h中/usr/include/asm-generic/errno-base.h 文件内容如下:#define EPERM 1 /* Operation not permitted */#de
2012-12-02 10:10:18 3083
原创 Linux 下网络编程错误及处理
错误号 88 ENOTSOCK__ Socket operation on non-socket错误原因:因为在建立socket的时候少了一对括号导致,错误代码如下:if(sockfd=socket(AF_INET, SOCK_STREAM, 0)<0){ cout << "socket error" << endl; return 0;} 正确代码应该是
2012-12-02 09:56:54 1542
原创 linux下c++获取进程号
如何在linux下通过c++程序获取ps -ef | grep “****” 的执行结果,并分解其中的进程号,废话少说,直接上代码: #include #include #include #include #include #include #include using namespace std;map pmap;int prep_map(map &pmap){
2012-11-27 15:37:37 4027 1
转载 20年来我得到的20条编程经验
我从11岁开始编程,并且一直都很喜欢技术和编程。这些是我一直以来获得的经验教训。作为一个程序员,你可能需要这样的忠告。我更希望每个人在获取这些忠告的同时能够学到更多。我将会不间断地更新这里,我可能会有更多的要写,但是就我这20年来看,我认为没有什么更多的需要加在这个清单下了。:-)这就是至今为止我印象最深的一些教训。1、解决问题时估算你所需要的时间。C'mon,admit it!
2012-11-24 21:42:08 1036
原创 VirtualBox-“please use a kernel appropriate for your cpu”
This kernel requires the following features not present on the CPU:paeUnable to boot – please use a kernel appropriate for your CPU.百度了一下,找到解决方案:选中对应的虚拟系统——设置——系统——处理器——启用 PAE/NX!重启搞定!
2012-11-24 10:45:26 2601
转载 Shell中脚本变量和函数变量的作用域
在shell中定义函数可以使代码模块化,便于复用代码。不过脚本本身的变量和函数的变量的作用域问题可能令你费解,在这里梳理一下这个问题。(1)Shell脚本中定义的变量是global的,其作用域从被定义的地方开始,到shell结束或被显示删除的地方为止。例1:脚本变量的作用域#!/bin/bash#define the function ltx_funcltx_func(
2012-11-14 09:51:02 836
转载 Linux shell 特殊符号学习总结
在shell中常用的特殊符号罗列如下:# ; ;; . , / \ 'string'| ! $ ${} $? $$ $* "string"* ** ? : ^ $# $@ `comman
2012-10-11 22:27:12 927
转载 代码运行时间的测量方法【linux/window】
一,返回单位为毫秒 #include DWORD dwStart = GetTickCount(); // 测试代码 DWORD dwTime = GetTickCount() - dwStart; 注意:GetTickCount()精确度有限,跟CPU有关,一般精确度在16ms左右,最精确也不会精确过10ms,这就是
2012-10-10 16:52:26 1479
原创 C++构造函数/析构函数 设置成private的原因
将构造函数,析构函数声明为私有和保护的,那么对象如何创建?已经不能从外部调用构造函数了,但是对象必须被构造,应该如何解决,麻烦大家帮忙说明,关于构造,析构函数声明为私有和保护时的用法???提出这个问题,说明你已经对c++有所思考了。从语法上来讲,一个函数被声明为protected或者private,那么这个函数就不能从“外部”直接被调用了。对于protected的函数,子类的“
2012-10-10 10:24:25 12877 4
转载 C中的volatile用法
volatile 影响编译器编译的结果,指出,volatile 变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错,(VC++ 在产生release版可执行码时会进行编译优化,加volatile关键字的变量有关的运算,将不进行编译优化。)。例如: volatile int i=10; int j = i; ... int k = i;
2012-10-09 16:16:29 980
原创 vim配置高亮及自动缩进
1、配置文件的位置在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“.vimrc”。例如,/root目录下,通常已经存在一个.vimrc文件。如果不知道配置文件及脚本的位置,可以在vim中使用命令 :scriptnames,将显示如下路径/etc/vimrc/usr/
2012-09-11 23:32:28 4810
翻译 MongoDB中shard key的选择
将存储在MongoDB数据库中的Collection进行分片需要选定分片Key(Shard key),对于分片Key的选定直接决定了集群中数据分布是否均衡、集群性能是否合理。那么我们究竟该选择什么样的字段来作为分片Key呢?有如下几个需要考虑点。以下述记录日志的Document为例:{server : "ny153.example.com" ,application : "apac
2012-07-05 10:59:41 2841
原创 MongoDB中arbiter的使用
通过对官方文档的研究得知,如果在rs模式中,先要2份数据备份的话,就必须使用arbiter,因为如果仅有2个副本,那么通过MongoDB自身的选举策略是无法决定哪个是primary,哪个是secondary的,所以需要额外的添加一个arbiter来参与投票选举,当前的MongoDB中最多支持副本集为12个,那么就需要额外的一个arbiter作为投票机器。另外,如果当前rs中有一半以上的机器是宕机的
2012-07-04 16:02:58 11512
原创 Linux 下apache2.4 和 php5.3的安装
一、 安装apache若要安装apache服务器软件,需要安装以下几个依赖软件apr-1.4.6.tar.gz apr-util-1.4.1.tar.gzpcre-8.20.tar.gz软件名版本(当前最新版)下载地址Apr1.4.6http://apr.apache.org/
2012-05-13 15:20:56 13640
原创 xshell 自动登录与自动跳转
使用linux环境,有时候需要经常需要远程登录服务器并在登陆后跳转到其他的局域网机器。通过实际使用发现xshell是比较理想的工具,具体设置过程如下:第一步建立自己的登录用户,如下图:通过上面的设置就可以登录到远程主机了,下面介绍通过ssh直接实现服务器间的跳转,比如服务器A为跳转机,登录服务器A后通过命令:ssh root@192.168.1.100 跳转到B(ip为192.16
2012-04-26 13:23:01 32877 4
原创 七步教你windows下php5.4安装
1、首先php从5.2中已经修改为FastCGI方式安装,所以安装最新版的php5.4需要先安装fastcgi,fastcgi的下载地址如下:http://www.iisboy.com/iis_down/552.html 下载后直接运行安装2、下载php最新代码下载地址:http://windows.php.net/download/下载非线程安全的即可,可根据
2012-04-24 17:16:33 34807
原创 linux 下tomcat6 配置为服务
本人从官网http://tomcat.apache.org/上面下载的6.0.1_31版本,并解压包后改名存放在:/usr/share/tomcat6本人使用的是root用户登录,下面就说说具体的操作步骤, 1、在/usr/share/tomcat6/bin中有commons-daemon-native.tar.gz 压缩包2、解压commons-daemon-native.ta
2012-03-24 07:50:22 6962 1
原创 ssh跳转无密码登录或执行命令
我们在使用linux开发过程中,经常需要在不同服务器间进行跳转,通过ssh,每次都需要输入密码,比较繁琐,今天从网上找了相关的方法,但是实验过程中发现还是有些问题,特将一些细节整理如下:比如我有机器192.168.1.100 和192.168.1.200两台服务器,我想从100登录到200中利用ssh不输入密码,所以我需要进行如下的步骤1、首先在ip为100的机器上执行ssh-keygen
2012-03-20 15:10:32 5404 1
转载 PM和RD如何和谐共处
原文地址:http://www.designstaff.org/articles/how-designers-and-engineers-can-play-nice-2011-12-22.htmlHow designers and engineers can play nice (and still run with scissors)Jenna Bilotta – Dec 22, 201
2012-03-15 13:14:29 1768
原创 list_entry剖析与验证
/*&((type *)0)->member: 把“0”强制转化为指针类型,则该指针一定指向“0”(数据段基址)。因为指针是“type *”型的,所以可取到以“0”为基地址的一个type型变量member域的地址。那么这个地址也就等于member域到结构体基地址的偏移字节数。 ((type *)((char *)(ptr)-(unsigned long)(&((type *)0)->
2012-01-29 17:01:24 1290
原创 GlusterFS命令解析过程
前些时间通过对GlusterFS的源码的阅读和调试,梳理了一下基本的命令流程,今后会陆续的将更深入的理解与大家共享!
2012-01-29 15:23:34 1191
原创 c语言数据结构补齐原则
/* 原则1、数据成员对齐规则:结构(struct或联合union)的数据成员,第一个数据成员放在offset为0的地方,以后每个数据成员存储的起始位置要从该成员大小的整数倍开始(比如int在32位机为4字节,则要从4的整数倍地址开始存储)。 原则2、结构体作为成员:如果一个结构里有某些结构体成员,则结构体成员要从其内部最大元素大小的整数倍地址开始存储。(struct a里存有
2012-01-29 14:55:43 4455 2
原创 xp下virtualbox安装ubuntu系统共享目录设置
virtualbox安装版本4.1.8 下载地址 http://dl.pconline.com.cn/html_2/1/59/id=46462&pn=0.html ubuntu使用最新版本的11.10 下载地址: http://www.ubuntu.com/download/ubuntu/download 下载和安装就不用介绍了,直奔主题,在安装好ubuntu虚拟系统后,启
2012-01-09 13:39:33 1623
原创 Windows下 Win+R 快速运行程序设定方法
基本原理通过Win+R键,键入快捷方式名即可,设定步骤如下:1、 首先在本地路径下建立一个文件夹存放专门的快捷键,我是放在d盘的path目录下,如下图 其中的快捷键名就是我要在命令窗口运行的程序名称,说明一下,office的快捷键是我从安装目录的下发送到桌面建立,并更名后放到这里的,我的office路径是c:\Program Files\MicrosoftOffice\Office1
2011-12-31 17:12:15 5300
cargo之书
2020-03-11
c++参数解析类
2014-02-19
c++线程池+任务池
2014-01-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人