自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

技术改变人生

耕在云端

  • 博客(106)
  • 资源 (9)
  • 收藏
  • 关注

原创 利用tcpdump监控tcp连接三次握手和关闭四次握手

通过tcpdump观测tcp通信基本过程

2014-11-21 15:45:50 16678 3

原创 如何在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 2435

原创 scons 实用说明(一)

scons 一个简单实用的可替代make的编译工具

2014-08-01 21:23:21 37803 1

转载 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 1355

原创 hash算法简易实现

一个简单的hash算法

2014-02-20 12:04:44 2045

原创 c++参数解析类

c++版参数解析类,实现用户输入参数的相关解析,解析结果与命令行的main参数结果一致

2014-02-19 14:36:54 5834

转载 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 14904 3

原创 进程间通信---匿名管道pipe

进程间匿名管道通信,c++

2014-01-28 13:04:34 3812

原创 线程池与非线程池应用场景及模型对比分析

线程池与非线程池应用场景及模型对比分析

2013-12-23 11:14:54 5739 1

原创 makefile编写差异

makefile编写差异

2013-09-18 12:35:56 1567

原创 QT---系统托盘图标不显示原因

QT编程有时遇到系统托盘图标不显示的问题,可以作为一个小的参考

2013-08-28 23:21:01 7550

原创 内存共享基本演示

发送端: 申请共享内存区域并写入数据到共享内存区域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 1676

原创 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 1836

原创 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 15948

原创 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 1501

原创 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 12597

原创 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 3062

原创 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 1512

原创 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 3983 1

转载 20年来我得到的20条编程经验

我从11岁开始编程,并且一直都很喜欢技术和编程。这些是我一直以来获得的经验教训。作为一个程序员,你可能需要这样的忠告。我更希望每个人在获取这些忠告的同时能够学到更多。我将会不间断地更新这里,我可能会有更多的要写,但是就我这20年来看,我认为没有什么更多的需要加在这个清单下了。:-)这就是至今为止我印象最深的一些教训。1、解决问题时估算你所需要的时间。C'mon,admit it!

2012-11-24 21:42:08 1024

原创 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 2578

转载 Shell中脚本变量和函数变量的作用域

在shell中定义函数可以使代码模块化,便于复用代码。不过脚本本身的变量和函数的变量的作用域问题可能令你费解,在这里梳理一下这个问题。(1)Shell脚本中定义的变量是global的,其作用域从被定义的地方开始,到shell结束或被显示删除的地方为止。例1:脚本变量的作用域#!/bin/bash#define the function ltx_funcltx_func(

2012-11-14 09:51:02 827

转载 Linux shell 特殊符号学习总结

在shell中常用的特殊符号罗列如下:# ;    ;;       .       ,        /        \        'string'|        !    $    ${}    $?       $$    $*        "string"*      **    ?       :        ^       $#    $@        `comman

2012-10-11 22:27:12 916

转载 代码运行时间的测量方法【linux/window】

一,返回单位为毫秒 #include DWORD dwStart =    GetTickCount(); //   测试代码 DWORD      dwTime      =   GetTickCount() -    dwStart; 注意:GetTickCount()精确度有限,跟CPU有关,一般精确度在16ms左右,最精确也不会精确过10ms,这就是

2012-10-10 16:52:26 1464

原创 C++构造函数/析构函数 设置成private的原因

将构造函数,析构函数声明为私有和保护的,那么对象如何创建?已经不能从外部调用构造函数了,但是对象必须被构造,应该如何解决,麻烦大家帮忙说明,关于构造,析构函数声明为私有和保护时的用法???提出这个问题,说明你已经对c++有所思考了。从语法上来讲,一个函数被声明为protected或者private,那么这个函数就不能从“外部”直接被调用了。对于protected的函数,子类的“

2012-10-10 10:24:25 12403 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 970

原创 vim配置高亮及自动缩进

1、配置文件的位置在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“.vimrc”。例如,/root目录下,通常已经存在一个.vimrc文件。如果不知道配置文件及脚本的位置,可以在vim中使用命令 :scriptnames,将显示如下路径/etc/vimrc/usr/

2012-09-11 23:32:28 4796

翻译 MongoDB中shard key的选择

将存储在MongoDB数据库中的Collection进行分片需要选定分片Key(Shard key),对于分片Key的选定直接决定了集群中数据分布是否均衡、集群性能是否合理。那么我们究竟该选择什么样的字段来作为分片Key呢?有如下几个需要考虑点。以下述记录日志的Document为例:{server : "ny153.example.com" ,application : "apac

2012-07-05 10:59:41 2800

原创 MongoDB中arbiter的使用

通过对官方文档的研究得知,如果在rs模式中,先要2份数据备份的话,就必须使用arbiter,因为如果仅有2个副本,那么通过MongoDB自身的选举策略是无法决定哪个是primary,哪个是secondary的,所以需要额外的添加一个arbiter来参与投票选举,当前的MongoDB中最多支持副本集为12个,那么就需要额外的一个arbiter作为投票机器。另外,如果当前rs中有一半以上的机器是宕机的

2012-07-04 16:02:58 11465

原创 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 13607

原创 xshell 自动登录与自动跳转

使用linux环境,有时候需要经常需要远程登录服务器并在登陆后跳转到其他的局域网机器。通过实际使用发现xshell是比较理想的工具,具体设置过程如下:第一步建立自己的登录用户,如下图:通过上面的设置就可以登录到远程主机了,下面介绍通过ssh直接实现服务器间的跳转,比如服务器A为跳转机,登录服务器A后通过命令:ssh [email protected] 跳转到B(ip为192.16

2012-04-26 13:23:01 32721 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 34744

原创 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 6950 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 5383 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 1745

原创 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 1280

原创 GlusterFS命令解析过程

前些时间通过对GlusterFS的源码的阅读和调试,梳理了一下基本的命令流程,今后会陆续的将更深入的理解与大家共享!

2012-01-29 15:23:34 1176

原创 c语言数据结构补齐原则

/* 原则1、数据成员对齐规则:结构(struct或联合union)的数据成员,第一个数据成员放在offset为0的地方,以后每个数据成员存储的起始位置要从该成员大小的整数倍开始(比如int在32位机为4字节,则要从4的整数倍地址开始存储)。 原则2、结构体作为成员:如果一个结构里有某些结构体成员,则结构体成员要从其内部最大元素大小的整数倍地址开始存储。(struct a里存有

2012-01-29 14:55:43 4396 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 1611

原创 Windows下 Win+R 快速运行程序设定方法

基本原理通过Win+R键,键入快捷方式名即可,设定步骤如下:1、  首先在本地路径下建立一个文件夹存放专门的快捷键,我是放在d盘的path目录下,如下图 其中的快捷键名就是我要在命令窗口运行的程序名称,说明一下,office的快捷键是我从安装目录的下发送到桌面建立,并更名后放到这里的,我的office路径是c:\Program Files\MicrosoftOffice\Office1

2011-12-31 17:12:15 5236

cargo之书

Cargo 是Rust的 包经理。Cargo 会下载您 Rust 的包依赖项,编译您的包,生成可分发的包,并将 它们上传到crates.io - Rust 社区的包注册表。 这是官方的翻译版,并不保证翻译的完整准确,希望能想学习rust的朋友一点儿帮助。

2020-03-11

xshell5经典版本.zip

找了好久才找到的老版xshell5,,没有标签个数限制。安装时选择学校版本,只要以后不主动升级就可以一直安全的使用下去的版本。

2019-09-11

系统分析师教程-2010(带目录版)-part1

难得的高清教程,网上找到的都是没有目录的,自己编辑了个目录,希望大家喜欢。这是part1

2015-05-07

ZFS On-Disk Specification

难得的关于ZFS磁盘文件格式说明的文档,虽然是2006年的,但有不少参考价值

2014-11-08

c++参数解析类

使用命令行执行程序的时候在程序后可跟多个参数列表,而main函数的argc和argv分别存储了相关的参数个数和参数内容,而循环输入相关的时候就需要用户自己来解析相关参数。以下代码用c++的方式实现了相关解析的封装,使用起来非常方便。

2014-02-19

c++线程池+任务池

网上有现成的cthreadpool的代码,是c版的,且没有任务队列功能,不能做到任务的安全退出,根据实际需要写了一个c++版的,本程序实现了c++的封装,并实现了任务池和线程安全退出。弥补了c版的不足 在linux调试通过并经过压力测试验证,使用方法参加代码中的main.cpp

2014-01-07

qtp9.2,10.0等破解版,

免费破解,qtp9.2破解,qtp10.0破解,永久使用,已成功测试通过!

2012-03-05

多套c++面试题

这是本人前两年看的一些c++面试的题目,打个包全部贡献给大家,希望对新人有所帮助,当然我也从这些面试的题目中真正的学到了一些基础知识点!

2011-12-12

hadoop入门手册

hadoop的入门手册,主要是获取网络上的一些现有资源进行汇总,希望对分布式技术尤其是hadoop感兴趣的朋友有所帮助

2011-09-26

空空如也

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

TA关注的人

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