自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 va_list ,va_start,va_end的使用

函数头文件#include缺省函数参数可以用...来指定,void test_va(char * test,...)函数参数一般是从右到左入栈va_list来定义一个遍历参数列表的指针,va_list va_ptr;va_start(va_ptr,test);指定指针的初始值va_arg(va_ptr,int) 来获取当前参数的值,这里的类型可以通过test格式字符串类型进行分

2013-11-30 23:23:07 557

原创 signal与raise,sigaction

头文件:#includesignal  用法:void(*)(int) signal(int signum,void(*)(int)) 注册信号处理函数,可以是SIG_DFL(默认处理)、SIG_IGN(忽略)、用户自定义函数                         int raise(int signum) 产生指定信号,可以出发信号处理函数调用,返回为0代表产生成功siga

2013-11-30 00:48:37 738

原创 读写锁pthread_rwlock_t的使用

读写锁是用来解决读者写者问题的,读操作可以共享,写操作是排他的,读可以有多个在读,写只有唯一个在写,同时写的时候不允许读。具有强读者同步和强写者同步两种形式强读者同步:当写者没有进行写操作,读者就可以访问;强写者同步:当所有写者都写完之后,才能进行读操作,读者需要最新的信息,一些事实性较高的系统可能会用到该所,比如定票之类的。读写锁的操作:读写锁的初始化: 

2013-11-25 12:45:59 40301 4

原创 正则表达式基础

。。。

2013-11-24 20:31:31 527

原创 nginx location匹配规则

。。。

2013-11-24 20:31:06 473

原创 c++日志工具log4cplus的使用

。。。

2013-11-24 20:29:15 589

原创 数据库连接池设计与实现

。。。

2013-11-24 20:28:13 453

原创 c++内存池设计与实现

。。。

2013-11-24 20:27:37 579

原创 c++线程池设计与实现

。。。

2013-11-24 20:26:57 730

原创 strace 和 pstack使用

strace:查看一个应用程序在运行过程中所发起的系统函数调用ltrace:查看动态库函数调用strace -p pid:查看进程号为pid的进程调用的情况strace -o filename:将跟踪结果定向到某个文件strace -f :跟踪创建子进程,fork调用strace -t :每个系统调用发起时间strace -T:每个系统调用消耗的时间ctrl+c,退出s

2013-11-24 20:23:17 1325

原创 Linux 抓包工具tcpdump的使用

tcpdump输出格式:系统时间,源主机.端口>目的主机.端口,数据包参数tcp数据包格式:src > dst: flags data-seqno ack window urgent optionsflags:flags 标志有S(SYN), F(FIN), P(PUSH, R(RST),W(ECN CWT)或者 E(ECN-Echo)组成,单独一个'.'表示没有flags

2013-11-24 11:47:57 1081

原创 linux gdb 调试技巧

首先 生成gdb可调试的二进制文件: gdb -g -O0  -o test test.c ,-O0关闭编译时代码优化,防止list的时候代码的行数变动。然后 gdb test 就可以对程序进行调试运行了gdb 提供的命令如下:      l(list) ->打印出二进制文件的源代码,从第一行开始     break n ->在源代码的第n行设置断点     break 函数名

2013-11-23 23:48:02 942

Fast TCP设计原理

Fast TCP采用延时队列作为拥塞信号。现有的TCP采用丢包来判断是否拥塞,所以平均的发送数据的速率依赖于丢包概率,导致有两个缺点:低丢包率需要保持高传输速率;丢包提供的拥塞等级的信息太少,但是延时可以知道一个连续的状况,可以提供更多有关网络状况的信息。

2014-08-28

Nginx文件上传模块配置

Nginx是一个高性能的HTTP和反向代理服务器,也是IMAP/POP3/SMTP代理服务器,是由俄罗斯人lgor Sysoev开发,支持模块加载和卸载,其中upload_module和upload_progress_module就是第三方开发的模块,并没有加入到Nginx的源码中,upload_module是上传文件到服务器的模块,upload_progress_module是监听和报告文件上传进度模块。其大概的思想是,客户端通过file表单向Nginx发送http请求,请求中附带名为X-Progress-ID的随机数来标明上传文件的id,请求头如:http://hostname/upload?X-Progress-ID=id。upload_progress_module通过该id来标示上传文件的状态,客户端可以通过http://hostname/progress?X-Progress-ID=id来请求查看文件上传进度状态,将其封装成JSON格式,返回给客户端。我们要做的工作就是要将这两个模块加入到Nginx中,提供文件上传的服务。

2014-04-22

空空如也

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

TA关注的人

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