自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(16)
  • 资源 (4)
  • 收藏
  • 关注

原创 Linux进程退出码

首先,我们写一个测试程序,很简单,几行代码:#include int main(void){ return -1;}编译好,然后运行,然后在shell里面查看进程退出码:$ ./test_exit_code $ echo $?255可以看到,拿到的退出码是255,我们返回的明明是-1,为什么拿到的确实255呢?还得从进程的状态码开始讲起,我们知道,当一

2014-01-24 14:40:40 5186

转载 图解HTTPS

我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取。所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议。HTTPS简介HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后的数据。具体是如何进行加密,解密,验证的,且看下图。

2014-01-22 10:01:05 688

转载 正向代理和反向代理的区别

前言:      通常在公司的服务器里面如果配有集群,那么运维人员对服务器代理将不再陌生,在负载均衡的时候就一定会用到反向代理。或者正向代理。但是他们之间的区别是什么呢?在网上看了一些文章,理解如下(图片来自网络,人家画的不错)正向代理:1、用户A主动请求要访问原始服务器B,从图中可以看出A先访问代理服务器z,然后由z将请求发给服务器B,同时代理服务器Z也负责将 返

2014-01-15 14:56:16 1248

原创 信号处理之自动重启系统调用

一般来说,不会阻塞的系统调用不存在被信号打断的问题,就是说返回的errno里面不存在EINTR错误,阻塞的系统调用才有可能被信号打断。我们可以看看man page,在linux下输入man 7 signal,我们可以看到系统调用被打断以及系统调用重启的详细描述:       If a blocked call to one of the following interfaces is inte

2014-01-15 11:16:26 1858 1

转载 “惊群”,看看nginx是怎么解决它的

在说nginx前,先来看看什么是“惊群”?简单说来,多线程/多进程(linux下线程进程也没多大区别)等待同一个socket事件,当这个事件发生时,这些线程/进程被同时唤醒,就是惊群。可以想见,效率很低下,许多进程被内核重新调度唤醒,同时去响应这一个事件,当然只有一个进程能处理事件成功,其他的进程在处理该事件失败后重新休眠(也有其他选择)。这种性能浪费现象就是惊群。惊群通常发生

2014-01-14 16:30:18 700

转载 关于XSS(跨站脚本攻击)和CSRF(跨站请求伪造)

我们常说的网络安全其实应该包括以下三方面的安全:1、机密性,比如用户的隐私被窃取,帐号被盗,常见的方式是木马。2、完整性,比如数据的完整,举个例子,康熙传位十四子,被当时四阿哥篡改遗诏:传位于四子,当然这是传说,常见的方式是XSS跨站脚本攻击和csrf跨站请求伪造。3、可用性,比如我们的网络服务是否可用,常用的攻击方式是dos和ddos,拒绝服务和分布式拒绝服务攻击。

2013-07-02 10:16:18 1401

转载 session和cookie的辨析

session和cookie是网站浏览中较为常见的两个概念,也是比较难以辨析的两个概念,但它们在点击流及基于用户浏览行为的网站分析中却相当关键。基于网上一些文章和资料的参阅,及作者个人的应用体会,对这两个概念做一个简单的阐述和辨析,希望能与大家共同探讨下。  session和cookie的最大区别在于session是保存在服务端的内存里面,而cookie保存于浏览器或客户端文件里面;ses

2013-07-02 10:11:55 678

转载 架构设计:生产者/消费者模式

今天打算来介绍一下“生产者/消费者模式”,这玩意儿在很多开发领域都能派上用场。由于该模式很重要,打算分几个帖子来介绍。今天这个帖子先来扫盲一把。如果你对这个模式已经比较了解,请跳过本扫盲帖,直接看下一个帖子(关于该模式的具体应用) 。  看到这里,可能有同学心中犯嘀咕了:在四人帮(GOF)的23种模式里面似乎没听说过这种嘛!其实GOF那经典的23种模式主要是基于OO的(从书名《Design P

2013-07-02 10:05:37 767

转载 探索 Java 同步机制(Monitor Object 并发模式在 Java 同步机制中的实现)

本文将从两个方面进行阐述:使用 C++ 语言来描述 Monitor Object 设计模式。Java 对于这样一个典型的模式做了很好的语言层面的封装,因此对于 Java 的开发者来说,很多关于该模式本身的东西被屏蔽掉了。本文试图使用 Native C++ 语言,帮助读者从本质上对 Monitor object 设计模式有一个更全面的认识。结合 C++ 版本的 Monitor Obj

2013-06-24 15:24:42 981

转载 深入研究PHP及Zend Engine的线程安全模型

在阅读PHP源码和学习PHP扩展开发的过程中,我接触到大量含有“TSRM”字眼的宏。通过查阅资料,知道这些宏与Zend的线程安全机制有关,而绝大多数资料中都建议按照既定规则使用这些宏就可以,而没有说明这些宏的具体作用。不知道怎么回事总是令人不舒服的,因此我通过阅读源码和查阅有限的资料简要了解一下相关机制,本文是我对研究内容的总结。本文首先解释了线程安全的概念及PHP中线程安全的背景,然后详

2013-05-30 15:00:35 892

转载 软件系统开发中的数据交换协议

在很多地方都有“数据交换”这个概念,本文所说的“数据交换” 是指在计算机网络中,一个系统把数据传递给另外一个系统。这非常类似于一个人要告诉另外一个人一件事情。当一个人要把一件事情告诉另外一个人的时候,我们可以通过电话、邮件、短信、IM工具或者当面说的方式来交流。这种方式类似于系统数据交换要通过 tcp、udp、管道等等的方式实现。当两个人交流的时候,我们需要一种共同的语言才能明白对方的意思

2013-05-30 11:48:38 853

转载 Paxos在大型系统中常见的应用场景

在分布式算法领域,有个非常重要的算法叫Paxos, 它的重要性有多高呢,Google的Chubby [1]中提到all working protocols for asynchronous consensus we have so far encountered have Paxos at their core.关于Paxos算法的详述在维基百科中有更多介绍,中文版介绍的是ch

2013-05-30 11:33:32 709

原创 Socket选项SO_RCVLOWAT

最近朋友问我一个问题,说通过TCP每次发送10个字节,连续发3次,问客户端需要做几次接收操作。这个问题自由度很高。客户端阻塞接收的情况下,还跟接收水线的设置值有关。提到水线,上网搜索了一会,有的博客上说SO_RCVLOWAT只对read和recv有影响,select和poll不理会该选项的数值。后来自己亲自写了两个小程序,测试一下。发现在SUSE Linux Enterprise Server

2012-04-25 15:59:18 2464

转载 CDN四大关键技术(转载自ChinaUnix)

随着宽带网络和宽带流媒体应用的兴起,CDN(通常被称为内容分发网络Content distribution network,有时也被称作内容传递网络Contentdeliverynetwork)作为一种提高网络内容,特别是提高流媒体内容传输的服务质量、节省骨干网络带宽的技术,在国内外得到越来越广泛的应用。    CDN的关键技术主要有内容路由技术、内容分发技术、内容存储技术、内容管理技术等。

2012-04-10 03:12:11 818

转载 IE不支持deflate(转载自zlbruce的blog)

最近在做http的压缩,稍微了解了下gzip,deflate,zlib的关系:deflate(RFC1951):一种压缩算法,使用LZ77和哈弗曼进行编码;zlib(RFC1950):一种格式,是对deflate进行了简单的封装;gzip(RFC1952):一种格式,也是对deflate进行的封装。可以看出deflate是最核心的算法,而zl

2012-04-09 14:25:09 620

转载 HTTP chunked+gzip及浏览器兼容测试(转载自ifreax的blog)

简述:QQ空间提出一个需求,要求qzhttp支持chunked+gzip。每个chunk是一个独立的gzip压缩包,并提到雅虎是这么实现的。分析结论:1.雅虎的chunked+gzip的方式,每个chunk并不是一个独立的gzip压缩包。2.如果采用chunked+gzip方式,并且每个chunk都是一个gzip压缩包的方式,浏览器不支持(用ie和chrome测试)

2012-04-06 17:29:16 780

TCP_IP高级编程PDF

想要做一个健壮的网络程序,光看UNIX网络编程还不够,还需要看这边书。

2014-01-14

C++网络编程卷二

学习ACE必看书目,扫描版,没有电子版,赚点积分后免费下载。

2014-01-14

C++网络编程卷一

C++网络编程卷一,学习ACE必看,赚点积分后,免资源分。

2014-01-14

疯狂的火星虫PDF

免资源分下载,FSM引擎,可以快速实现自己的状态机。

2014-01-14

空空如也

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

TA关注的人

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