自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

云烟阁

新博客:http://www.cnblogs.com/gwyy/

转载 Unicode 和 UTF-8 有何区别?

unicode是字符集,utf8是unicode的一种编码方式 很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们看到8个开关状态是好的,于是他们把这称为”字节“。再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出很多...

2016-09-30 22:26:01 435 0

转载 Centos 6.4 python 2.6 升级到 2.7

一开始有这个需求,是因为用 YaH3C 替代 iNode 进行校园网认证时,一直编译错误,提示找不到 Python 的某个模块,百度了一下,此模块是在 Python2.7 以上才有的,但是系统的自带的Python是2.6版本,难怪一直连不上网。于是,继续百度google,进行安装,后来又出现问题....

2016-09-26 14:50:54 458 0

转载 为什么计算机最小的存储单位是字节?而最小到的传输单位是bit?

数据存储是以“字节”(Byte)为单位,数据传输是以大多是以“位”(bit,又名“比特”)为单位,一个位就代表一个0或1(即二进制),每8个位(bit,简写为b)组成一个字节(Byte,简写为B),是最小一级的信息单位。 还可以从以下几个方面来理解: 1.字节(Byte)是电脑中表示信息含义的...

2016-05-15 23:09:44 16277 1

转载 C语言中关键字auto、static、register、const、volatile、extern的作用

这些关键词都是c++基础知识,我整理了一下,希望对新学的朋友们有用: (1)auto    这个这个关键字用于声明变量的生存期为自动,即将不在任何类、结构、枚举、联合和函数中定义的变量视为全局变量,而在函数中定义的变量视为局部变量。这个关键字不怎么多写,因为所有的变量默认就是auto的。 ...

2016-05-14 21:29:59 574 0

转载 常量字符串为什么位于静态存储区?

常量字符串为什么位于静态存储区? char *c="zhaobei"; 书上说: "zhaobei"这个字符串被当作常量而且被放置在此程序的内存静态区。 那一般的int i=1; 1也是常量,为什么1就不被放置在此程序的内存静态区了呢...

2016-05-12 22:55:07 2417 0

转载 MySQL 数据库 varchar 到底可以存多少个汉字,多少个英文呢?我们来搞搞清楚

一、关于UTF-8 UTF-8 Unicode Transformation Format-8bit。是用以解决国际上字符的一种多字节编码。 它对英文使用8位(即一个字节) ,中文使用24位(三个字节)来编码。 UTF-8包含全世界所有国家需要用到的字符,是国际编码,...

2016-05-05 10:09:35 40648 4

转载 终极 Shell

在开始今天的 MacTalk 之前,先问两个问题吧: 1、相对于其他系统,Mac 的主要优势是什么? 2、你们平时用哪种 Shell? …… 第一个童靴可以坐下了,Mac 的最大优势是 GUI 和命令行的完美结合,不要把所有注意力放在 Mac 性感的腰身和明媚的显示屏上好吧,这不是...

2016-04-07 11:11:24 586 0

转载 mac-程序员必备工具(2)-iTerm2

Mac 对原生 Shell 的支持是无数程序员喜爱 Mac 的理由之一,程序员用 Mac 而不用 Shell,基本等于自断一臂,威力将大打折扣。Shell 并非凭空而来,它的入口是终端工具。OS X自带的终端工具虽然不错,但是和 iTerm 2一比,就逊色很多了。 iTerm...

2016-04-07 10:50:31 1857 0

转载 客户端 用不用 bind 的区别

无连接的socket的客户端和服务端以及面向连接socket的服务端通过调用bind函数来配置本地信息。使用bind函数时,通过将my_addr.sin_port置为0,函数会自动为你选择一个未占用的端口来使用。   Bind()函数在成功被调用时返回0;出现错误时返回"-1"...

2016-04-01 20:14:46 421 0

转载 #!/usr/bin/env python与#!/usr/bin/python的区别

脚本语言的第一行,目的就是指出,你想要你的这个文件中的代码用什么可执行程序去运行它,就这么简单 #!/usr/bin/python是告诉操作系统执行这个脚本的时候,调用/usr/bin下的python解释器; #!/usr/bin/env python这种用法是为了防止操作系统用户没有将p...

2016-02-22 12:02:34 390 0

转载 php-fpm 启动参数及重要配置详解

约定几个目录 /usr/local/php/sbin/php-fpm/usr/local/php/etc/php-fpm.conf/usr/local/php/etc/php.ini 一,php-fpm的启动参数 1 2 3 4 5...

2016-02-17 15:59:00 660 0

转载 mysql 中 unix_timestamp和from_unixtime 时间戳函数

1.unix_timestamp 将时间转化为时间戳。(date 类型数据转换成 timestamp 形式整数) 没传时间参数则取当前时间的时间戳 mysql> select unix_timestamp(); +------------------+ | unix_t...

2016-02-16 11:27:33 638 0

转载 线程同步 - 互斥量

一、什么是互斥量 互斥量是另一种用于多线程中的同步访问方法,它允许程序锁住某个对象,使得每次只能有一个线程访问它。为了控制对关键代码的访问,必须在进入这段代码之前锁住一个互斥量,然后在完成操作之后解锁。 二、互斥量的函数的使用 它们的定义与使用信号量的函数非常相似,它...

2016-02-12 17:49:55 475 0

转载 pthread_cleanup_push与pthread_cleanup_pop的目的 作用

首先你必须知道pthread_cleanup_push与pthread_cleanup_pop的目的(作用)是什么。 比如thread1: 执行 pthread_mutex_lock(&mutex); //一些会阻塞程序运行的调用,比如套接字的accept,等待客户连接 ...

2016-02-12 17:47:36 415 0

转载 curl 作为 http 客户端使用示例

curl 是与 url 进行交互的工具,支持 HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, DICT, TELNET, LDAP or FILE 协议,这里示例 curl 与 http, https 的 url 进行交互。 GET HEAD POST PU...

2016-01-21 17:34:50 3137 0

原创 linux下C 信号集处理函数

sigset_t  为信号集 可 sizeof(sigset_t) 查看  128K int sigemptyset(sigset_t * set) 清空设置 int sigfillset(sigset_t * set) 置满信号集 ...

2016-01-19 22:53:10 899 0

转载 volatile 和 sig_atomic_t

1).volatile    影响编译器编译的结果,指出,volatile 变量是随时可能发生变化的,每次使用时都需要去内存里重新读取它的值,与volatile变量有关的运算,不要进行编译优化,以免出错,(VC++ 在产生release版可执行码时会进行编译优化,加volatile关键字...

2016-01-19 22:49:44 412 0

转载 linux 信号处理机制简介

鉴于后面把进程的形象给彻底毁掉了,我提前声明一下,进程是有尊严的有节操的,当然大部分人可能也看不到毁形象那一段。为什么介绍linux要从信号开始呢,当然是为了保证能讲明白,因为翻了翻书我发现这一部分是最简单的了,所以呢,就讲这个吧,顺便把之前源码阅读的东西总结一下。 信号是什么东西呢? 两个直...

2015-12-27 21:53:45 490 0

转载 Linux Ctrl+Z的使用方法

假设你发现前台运行的一个程序需要很长的时间,但是需要干其他的事情,你就可以用 Ctrl-Z ,终止这个程序,然后可以看到系统提示:     [1]+ Stopped /root/bin/rsync.sh     然后我们可以把程序调度到后台执行:(bg 后面的数字为作业号)   ...

2015-12-27 20:27:53 1094 0

转载 进程信号的未决状态(pending status)

这两天看了apue有关进程信号的部分,觉得未决状态这个词很是不一般,呵呵。一开始当我看到这个词,我不理解,什么意思呢,读了好几遍。不知道是书里面讲的晦涩难懂,还是脑子越来越不行了,就是没有搞明白。后来看到后面的例子,然后再回想一下,终于清楚了!下面记录一下吧。 定义:信号产生和传递之间的时间...

2015-12-24 22:56:15 5587 0

转载 mmap:是什么 为什么 怎么用

mmap基础概念 mmap是一种内存映射文件的方法,即将一个文件或者其它对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对映关系。实现这样的映射关系后,进程就可以采用指针的方式读写操作这一段内存,而系统会自动回写脏页面到对应的文件磁盘上,即完成了对文件的操作而...

2015-12-23 23:06:07 1408 0

转载 总线错误和段错误问题的定位

对现在的很多初级的程序原来说如果遇到总线错误(bus error)或者段错误(segementation fault/ core dump)是一件非常折磨人的事,让人一时间找不到什么好的方法也不知从何处下手去解决这个问题;和许多人一样,我很快也遇到了这样的问题:         出现这个错误...

2015-12-23 22:59:15 599 0

转载 php性能分析工具工具xhprof的安装与使用

下载源码包的网址   http://pecl.php.net/package/xhprof 上面说了,每个版本适用的php版本。 一、这是一个php扩展的形式。我们安装gd2,curl都是php的扩展形式。只不过有的时候编译的时候就安装进去了。 像操作mysql数据库,也...

2015-12-09 18:12:02 2934 0

转载 RabbitMQ的原理与操作示例

AMPQ协议为了能够满足各种消息队列需求,在概念上比较复杂。首先,rabbitMQ启动默认是没有任何配置的,需要客户端连接上去,设置交换机等才能工作。不把这些基础概念弄清楚,后面程序设计就容易产生问题。 1.vhosts : 虚拟主机。 一个RabbitMQ的实体上可以有多个vhost...

2015-12-09 18:03:37 6692 1

转载 RabbitMQ消息队列在PHP下的应用

消息队列的实现中,RabbitMQ以其健壮和可靠见长.公司的项目中选择了它作为消息队列的实现.关于MQ的机制和原理网上有很多文章可以看,这里就不再赘述,只讲几个比较容易混淆的问题 1,binding key和routing key   binding key和routing key是都...

2015-12-09 17:45:49 5724 0

原创 RabbitMQ 入门四(Publish/Subscribe)

这次我们将完成一个基于Publish/Subscribe的应用场景。      首先我们得知道Exchange的三种类型:direct, fanout,topic。direct是直接模式,会将消息传递给我们所定义的唯一queue中,fanout就是广播模式,会将所有的Message都放到它所知...

2015-12-09 17:33:12 624 0

原创 RabbitMQ 入门三(Work Queues)

上次我们简单的实现了发送与接收消息,接下来我们将学习更高级的用法。 假如现在有这样的一个应用场景,有大量的密集计算需要后台去完成,单一的进程速度稍慢,这时候我们就需要多进程去协作完成了。 现在我们建一个名为producer2.php的文件,用来发送消息,内容如下。 接下来我们再来建立...

2015-11-30 19:21:27 734 0

原创 RabbitMQ 入门二(hello world)

经过上节的安装以及简单配置,RabbitMQ已经跑起来了,接下来就到我们的代码实验环节了。    话不多说,开始搞起。    打开RabbitMQ 的官网,http://www.rabbitmq.com/tutorials/tutorial-one-php.html ,根据提示我们先安装Rab...

2015-11-30 19:05:37 568 0

转载 linux c学习笔记----进程创建(fork,wait,waitpid)

1.pid_t fork(); (1)当一个进程调用了fork 以后,系统会创建一个子进程.这个子进程和父进程不同的地方只有他的进程ID 和父进程ID,其他的都是一样.就象符进程克隆(clone)自己一样. (2)为了区分父进程和子进程,我们必须跟踪fork 的返回值. 当fork 掉...

2015-11-28 21:32:25 801 0

原创 C++ 类操作符重载笔记

不能改变操作符优先级 不能改变操作符的结合性 不能改变操作符所需要的操作数 不能创建新的操作符 对于二元操作符重载,如果操作符左边是类 那么就在该类内部成员函数重载操作符即可 如果操作符左边不是类,而是一个常量,那么就必须在类的外部定义一个操作符重载函数 有一个最基本条...

2015-09-13 13:51:18 505 1

转载 如何编写makefile文件

最近一直在学习makefile是如何编写的。     当我们写的程序文件比较少的时候,敲入gcc /g++,当你在大型工程中,在一个个编译文件的话,你可能就会很郁闷。linux有一个自带的make命令,它让你的工作省去了很大的力气,但是你要学习如何编写makefile文件。 makefile是...

2015-09-02 21:34:38 446 0

转载 Redis系列-存储篇sorted set主要操作函数小结

redis支持有序集合,即sorted set。sorted set在set的基础上,增加了排序属性,是set的升级版。这里简要谈谈sorted set的常用函数: 1)insert a)  zadd 语法:zadd key score member [[score memb...

2015-08-20 13:14:50 494 0

转载 MySQL建议列属性尽量为NOT NULL

除非你有一个很特别的原因去使用 NULL 值,你应该总是让你的字段保持 NOT NULL。这看起来好像有点争议,请往下看。 首先,我们要搞清楚“空值” 和 “NULL” 的概念: 1、空值是不占用空间的 2、MySQL中的NULL其实是占用空间的 所谓的NULL就是什么都没...

2015-08-11 21:12:56 612 0

原创 为PHP设置服务器(Apache/Nginx)环境变量

为PHP设置服务器(Apache/Nginx)环境变量 设置环境变量常见的地方为区分开发环境/生产环境,或者定义一些数据库的帐号密码 设置Apache环境变量 指令 设置当前环境变量为DEV SetEnv RUNTIME_ENVIROMENT DEV 数据库帐号密码 SetEnv MYSQL...

2015-08-11 12:57:26 3523 0

原创 RabbitMQ 入门一(下载安装)

很久以前,就已经在项目中使用RabbitMQ了,但是就是这么糊里糊涂的用着,按照别人的写好的模板,修改几个参数就好了,实际上对RabbitMQ并不了解多少,所以打算从下载安装开始,慢慢了解RabbitMQ。     一 RabbitMQ是什么?     RabbitMQ 是一个由erlang开发...

2015-08-07 15:35:53 4905 0

转载 如何在Linux下安装Erlang

这里的是CentOs操作系统下的安装,其他操作可以借鉴这篇文章查看如何安装,具体步骤如下: 1.访问官网下载页找到适合自己机器运行的版本; 2.将Erlang下载到本地 wget http://www.erlang.org/download/otp_src_R16B02.tar.gz ...

2015-08-07 15:17:22 704 0

原创 vim 配置

set ts=4 "autocmd BufNewFile *.py 0r ~/.vim/template/simple.py "autocmd BufNewFile *.sh 0r ~/.vim/template/simple.sh "autocmd BufNewFi...

2015-08-03 17:10:49 485 0

转载 TortoiseGit(乌龟git)保存用户名密码的方法

windows下比较比较好用的git客户端有2种: 1. msysgit + TortoiseGit(乌龟git) 2. GitHub for Windows github的windows版也用过一段时间,但还是不太习惯。所以目前仍然青睐与msysgit+乌龟git的组合。Tor...

2015-07-30 22:15:10 2743 0

转载 (转)git命令与github使用

此文是转载 GitHub 是一个类似 SourceForge 的免费项目管理及分享的服务平台,要想使用 github,用户可以免费注册成为 github 注册用户,之后使用git命令进行操作使用。github 的网址是:github.com。 一、建立 github 仓库. ...

2015-07-16 17:45:39 778 0

原创 Mac安装Brew

安装命令如下: curl -LsSf http://github.com/mxcl/homebrew/tarball/master | sudo tar xvz -C/usr/local --strip 1 当brew安装成功后,就可以随意安装自己想要的软件了,例如wget,命令如下: ...

2015-07-15 20:10:15 850 0

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