自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(83)
  • 资源 (2)
  • 收藏
  • 关注

原创 Neutron中的Quota

Quota的概念和Openstack其他组件的Quota概念类似,Neutron中的Quota向管理员提供了控制租客资源的机制,这些资源包括floatingip,router,network等。Quota的数据库结构非常简单各个字段的意义:id:quota的uuidtenant_id:租客idresource:资源,比如float

2015-12-09 12:36:41 1585

原创 创建虚拟机libvirt报错 Fail bind socket:Permission Deny

解决方法:在/etc/libvirt/qemu.conf中添加选项: security_driver=“none”在/etc/libvirt/libvirtd.conf加上:unix_sock_group = “libvirtd”unix_sock_ro_perms = “0777”unix_sock_rw_perms = “0770" 最

2015-12-09 12:36:00 1731

原创 Cacti部署过程

Cacti的介绍Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。Cacti是通过 snmpget来获取数据,使用 RRDtool绘画图形,而且你完全可以不需要了解RRDtool复杂的参数。它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常

2015-12-09 12:34:11 757

原创 Ironic的安装那些事儿

本文介绍如果使用devstack搭建Ironic环境,以及在安装的过程中可能遇到的问题。环境准备Ubuntu14.04虚拟机一台,建议选择高配的机器,因为会在上面创建三个虚拟机模拟bare metal机器替换apt-get源cp /etc/apt/sources.list /etc/apt/sources.list.bakvim /etc/apt/sources.list

2015-12-09 12:32:57 7128

原创 C语言删除字符串中的指定字符串

void replace_string(char * source_str,char * targ_str,char *val)/*将字符串中指定子字符串用指定字符串代替,targ_str 是被替换的,val是替换的字符串*/{ char temp_sstr[513],result[513]; char * p,*q; int len;len=0;q=p=NULL;

2014-12-18 11:37:02 9339

原创 C语言删除字符串中的某个字符

#include #include int main(){ char *s = "changzhi"; int i, j; char data[100] = {0}; strcpy(data, s); for(i = 0, j = 0; data[i] != '\0'; i++){ if(data[i] != 'h'){

2014-12-17 15:00:42 11026 1

原创 C语言strtok函数的用法

#includeint main(){ char *s = "[123456,abced,bjhu88a]"; char *start = NULL; char *end = NULL; char dest[100] ; char *ss; start = strchr(s, (int)'['); // 找到字符'['的位置

2014-12-16 15:17:02 6032

原创 Windows C获取hostname

#include #include int main(){ char szPath[128] = ""; WSADATA wsaData; WSAStartup(MAKEWORD(2, 2), &wsaData); gethostname(szPath, sizeof(szPath)); printf("%s\n", szPath); WSA

2014-12-11 12:27:32 2203

原创 Windows C 获取mac地址

#include #include #include #include #include static void PrintMACaddress(unsigned char MACData[]){ printf("MAC Address: %02X-%02X-%02X-%02X-%02X-%02X\n", MACData[0], MACData[1],MACData[

2014-12-11 12:20:15 3652

原创 通过使用cJSON使得C语言支持JSON数据

由于C语言本身不支持JSON数据,所以我们可以通过cJSON使得C语言支持JSON格式的数据。给出链接就是这里使用说明:下载以上链接的文件,里面有c和h文件,在C代码中包含头文件#include 在编译时,和cJSON.c一起编译,比如这样:gcc test.c cJSON.c -o out下面是代码示例: 构造一个形如{ "username": "ch

2014-12-11 11:21:25 2811

原创 Windows C下利用wininet发送http请求

在Windows下,通过使用wininet库发送http请求,以下是代码实例:char szBuffer[1024] = {0};//声明全局变量,作为服务端返回的数据void SendHttpRequest(char ip[], int port, char url[])//参数说明:IP:1.2.3.4 port:40000, url:"/login" {

2014-12-11 11:08:50 4645

原创 C语言单向链表的操作(持续更新中)

struct node{    int data;    struct node *next;};struct node* CreateHeadList() //头插法{ int i; struct node* head = NULL; //声明头节点 struct node* new; //声明新节点 for(i = 0;

2014-11-29 16:24:29 828

转载 语言中的static 详细分析

C语言代码是以文件为单位来组织的,在一个源程序的所有源文件中,一个外部变量(注意不是局部变量)或者函数只能在一个源程序中定义一次,如果有重复定义的话编译器就会报错。伴随着不同源文件变量和函数之间的相互引用以及相互独立的关系,产生了extern和static关键字。        下面,详细分析一下static关键字在编写程序时有的三大类用法:        一,static全局变量  

2014-11-28 11:00:33 535

转载 内存分配——静态存储区 栈 堆

一、内存基本构成    可编程内存在基本上分为这样的几大部分:静态存储区、堆区和栈区。他们的功能不同,对他们使用方式也就不同。    静态存储区:内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。它主要存放静态数据、全局数据和常量。    栈区:在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的

2014-11-27 11:09:26 577

原创 通过Openstack + novadocker创建有存储功能的docker

一. 实现的功能创建带存储功能的 docker,所谓“存储”,就是把 docker 内的某个目录挂在到 host 上的某个目录下。在本实验中,将 docker 根目录下的一个文件夹,挂在到 host 中。具体说明:通过修改 nova 代码,使得既可以创建普通的 docker( 不带存储 ),也可以创建带存储的 docker。

2014-11-10 17:23:05 987 1

原创 linux 安装discuz出现“ mysqli_connect()不支持advice_mysqli_connect ”解决方法

由于不了解php相关技术,所以在安装discuz的时候

2014-11-10 17:16:24 18909

原创 CentOS6.5配置epel源

下载rpm包:

2014-11-07 12:58:09 747

原创 Openstack的Icehouse版配置Horizon支持Https

点击打开链接

2014-11-05 12:21:25 1644

原创 在使用jQuery2.1.0和bootstrap2.3.2出现“TypeError: $.browser is undefined”错误的解决方法

只要添加一段js代码即可:var matched, browser;jQuery.uaMatch = function( ua ) { ua = ua.toLowerCase(); var match = /(chrome)[ \/]([\w.]+)/.exec( ua ) || /(webkit)[ \/]([\w.]+)/.exec( ua )

2014-10-30 20:15:28 1622

转载 Sublime Text 2 快捷键

文件 File新建文件Ctrl + N打开文件Ctrl + O打开最近关闭的文件Ctrl + Shift + T保存Ctrl + S另存为…Ctrl + Shift + S关闭文件Ctrl + W新建窗口Ctrl + Shift + N关闭窗口Ct

2014-10-09 09:49:07 565

转载 Linux是怎么启动的

按下电源按钮的直到欢迎页出来之后,linux总共做的事可以分为五步来完成。1、  BIOS加电自检:加电自检,检测硬件设备。然后按照cmos上面的顺序来搜索处在活动状态下的可以引导的设备。可以是光驱、软盘、USB等。2、  加载主引导加载程序(MBR):主引导程序是一个512字节的映像。包含一点机器码还有一个小的分区。主引导程序的任务就是查找并且加载处在硬盘分区上的次引导程序。

2014-09-15 18:07:41 516

转载 什么是EPEL 及 Centos上安装EPEL

RHEL以及他的衍生发行版如CentOS、Scientific Linux为了稳定,官方的rpm repository提供的rpm包往往是很滞后的,当然了,这样做这是无可厚非的,毕竟这是服务器版本,安全稳定是重点,官方的rpm repository提供的rpm包也不够丰富,很多时候需要自己编译那太辛苦了,而EPEL恰恰可以解决这两方面的问题。什么是EPEL?EPEL的全称叫 Ext

2014-09-12 10:48:43 536

原创 一道C语言题目引发的讨论

首先看一道C语言题目#includestruct testbit{ unsigned char a:3; unsigned char b:2; unsigned char c:3;};int main(){ struct testbit s; unsigned char *p = (char*)&s; *p = 0xac; p

2014-08-27 16:50:03 720

转载 linux下mysql的root密码忘记解决方法

1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。 因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的 状态下,其他的用户也可以任意地登录和修改MySQL的信息。可以采用将MySQL对 外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全 状态。最安全的状态是到服务器的Console上面操作,并且

2014-07-29 19:21:57 485

转载 SCSI硬盘

为了使硬盘能够适应大数据量、超长工作时间的工作环境,服务器一般采用高速、稳定、安全的SCSI硬盘。 现在的硬盘从接口方面分,可分为IDE硬盘与SCSI硬盘(目前还有一些支持PCMCIA接口、IEEE 1394接口、SATA接口、USB接口和FC-AL(FibreChannel-Arbitrated Loop)光纤通道接口的产品,但相对来说非常少);IDE硬盘即我们日常所用的硬盘,它由于价格便宜

2014-07-23 10:51:52 641

转载 python整数与IP地址转换 [转]

我们有时会将一个整数与IP地址进行互换,用python代码实现很简单将一个整数如2000000,变为一个IP地址的方式>>> import socket>>> import struct>>> int_ip = 123456789>>> ip = socket.inet_ntoa(struct.pack('I',socket.htonl(int_ip))) #int to

2014-07-14 09:53:07 2292

转载 python - easy_install的安装和使用

为什么要装easy_install?正常情况下,我们要给Python安装第三方的扩展包,我们必须下载压缩包,解压缩到一个目录,然后命令行或者终端打开这个目录,然后执行python setup.py install来进行安装。这样是不是很繁琐呢?如果我们直接命令行执行easy_install Twisted就把最新版的Twisted包装上去了,是不是很爽呢?所以easy_

2014-07-10 12:18:03 669

转载 FTP的主动模式(PORT Mode)及被动模式(Passive Mode)

FTP的特殊性:   大多数的TCP服务是使用单个的连接,一般是客户向服务器的一个周知端口发起连接,然后使用这个连接进行通讯。但是,FTP协议却有所不同,它使用双向的多个连接,而且使用的端口很难预计。一般,FTP连接包括:  1) 一个控制连接(control connection)   这个连接用于传递客户端的命令和服务器端对命令的响应。它使用服务器的21端口,生存期是整个FTP

2014-07-08 11:51:23 7104

转载 AMQP,RabbitMQ,Qpidd和Kombu

一、AMQP简介   AMQP全称是Advanced MessageQueuing Protocol (高级消息队列协议)。其官方网站在[1]。   AMQP是一个应用层的异步消息传递协议,为面向消息的中间件而设计。其目的是通过协议使应用模块之间或应用程序与中间件等进行充分解耦。而在设计初期,AMQP的原始用途只是为金融界提供一个可以彼此协作的消息协议。现在已经有相当一部分遵循AMQP的服

2014-07-04 12:20:31 2079

转载 IPtables中SNAT、DNAT和MASQUERADE的含义

IPtables中可以灵活的做各种网络地址转换(NAT),网络地址转换主要有两种:SNAT和DNAT。SNAT是source networkaddress translation的缩写,即源地址目标转换。比如,多个PC机使用ADSL路由器共享上网,每个PC机都配置了内网IP,PC机访问外部网络的时候,路由器将数据包的报头中的源地址替换成路由器的ip,当外部网络的服务器比如网站web服务器接到访

2014-06-30 18:51:36 596

转载 IP 数据包格式

(1)版本 占4位,指IP协议的版本。通信双方使用的IP协议版本必须一致。(2)首部长度 占4位,可表示的最大十进制数值是15。请注意,这个字段所表示数的单位是32位字长(1个32位字长是4字节),因此,当IP的首部长度为1111时(即十进制的15),首部长度就达到60字节。当IP分组的首部长度不是4字节的整数倍时,必须利用最后的填充字段加以填充。因此数据部分永远在4字节的整数倍开始,这样在实

2014-06-09 14:54:58 752

转载 C语言中字符数组和字符串指针分析

#include int main(int argc, char *argv[]){  char day[15] = "abcdefghijklmn";  char* strTmp = "opqrstuvwxyz";  printf("&day is %x\n",&day);  printf("&day[0] is %x\n",&day[0]);  printf("da

2014-05-15 10:53:27 633

原创 Crontab的格式

第1列分钟1~59第2列小时1~23(0表示子夜)第3列日1~31第4列月1~12第5列星期0~6(0表示星期天)第6列要运行的命令下面是crontab的格式:分 时 日 月 星期 要运行的命令这里有crontab文件条目的一些例子:30 21 * * * /usr/local/apache/bin/apachectl restart上面的例子表示每晚的2

2014-05-12 11:29:01 544

转载 进程 vs 线程

进程 vs. 线程我们来讨论一下进程和线程的优缺点。首先,要实现多任务,通常我们会设计Master-Worker模式,Master负责分配任务,Worker负责执行任务,因此,多任务环境下,通常是一个Master,多个Worker。如果用多进程实现Master-Worker,主进程就是Master,其他进程就是Worker。如果用多线程实现Master-Worker,主线程

2014-05-11 16:38:06 998

转载 Python中的偏函数

一个获取第几天后的函数[python] view plaincopyfrom datetime import datetime,timedelta  def GetNextDay(baseday,n):      return str((datetime.strptime(str(baseday),'%Y-%m-%d')+timedelta(days=n)).dat

2014-05-09 09:34:05 625

原创 Django中的widthratio标签

http://detail.tmall.com/item.htm?spm=a230r.1.14.29.9Ry0hS&id=16270348608&ad_id=&am_id=&cm_id=140105335569ed55e27b&pm_id=一下是

2014-04-29 18:29:30 3579

转载 python模块之binascii

二进制和ASCII互转Python版本:1.5及以后版本         binascii模块包含很多在二进制和ASCII编码的二进制表示转换的方法。通常情况不会直接使用这些功能,而是使用像UU,base64编码,或BinHex封装模块。 binascii模块包含更高级别的模块使用的,用C语言编写的低级高效功能。         偶有使用于字符串和ASCII的转换,比如

2014-04-16 10:49:45 2102

转载 内核中的unlikey和likely宏的说明

在内核代码中经常会看到unlikely和likely的踪影,他们实际上是定义在linux/compiler中的两个宏,定义如下。#definelikely(x)    __builtin_expect(!!(x), 1)        // 表示x的值为真的可能性更大#defineunlikely(x)  __builtin_expect(!!(x), 0)        // 表示x的值为假

2014-04-16 10:43:55 620

转载 Python Socket模块中的IP转换函数

Python Socket模块中包含一些有用IP转换函数,说明如下:socket.ntohl(x)         // 类似于C语言的ntohl(x)把32位正整数从网络序转换成主机字节序。socket.ntohs(x)        // 类似于C语言的ntohs(x)把16位正整数从网络序转换成主机字节序。socket.htonl(x)         // 类似于C语言

2014-04-16 10:42:28 1222

转载 Python中int()函数的用法

int()是Python的一个内部函数 Python系统帮助里面是这么说的[python] view plaincopy>>> help(int)  Help on class int in module __builtin__:  class int(object)   |  int(x[, base]) -> integer   |     |  Conve

2014-04-16 10:19:44 9055

cjson使用到的c和h文件

解压后,有cjson.h和cjson.c两个文件,在c代码中include "cjson.h",并且在编译的时候连cjson.c一起编译即可使用

2014-12-10

netperf-2.6.0

netperf-2.6.0 对其解压缩之后 ./configure; make; make install之后就能用啦~

2014-02-11

空空如也

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

TA关注的人

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