<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/binary_service</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; binary_service]]></copyright><item><title><![CDATA[Linux进程退出码]]></title><link>https://blog.youkuaiyun.com/binary_service/article/details/18734073</link><guid>https://blog.youkuaiyun.com/binary_service/article/details/18734073</guid><author>binary_service</author><pubDate>Fri, 24 Jan 2014 14:40:40 +0800</pubDate><description><![CDATA[首先，我们写一个测试程序，很简单，几行代码：

#include 

int main(void)
{
	return -1;
}
编译好，然后运行，然后在shell里面查看进程退出码：

$ ./test_exit_code 
$ echo $?
255

可以看到，拿到的退出码是255，我们返回的明明是-1，为什么拿到的确实255呢？还得从进程的状态码开始讲起，我们知道，当一]]></description><category></category></item><item><title><![CDATA[图解HTTPS]]></title><link>https://blog.youkuaiyun.com/binary_service/article/details/18654643</link><guid>https://blog.youkuaiyun.com/binary_service/article/details/18654643</guid><author>binary_service</author><pubDate>Wed, 22 Jan 2014 10:01:05 +0800</pubDate><description><![CDATA[我们都知道HTTPS能够加密信息，以免敏感信息被第三方获取。所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议。

HTTPS简介

HTTPS其实是有两部分组成：HTTP + SSL / TLS，也就是在HTTP上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过TLS进行加密，所以传输的数据都是加密后的数据。具体是如何进行加密，解密，验证的，且看下图。]]></description><category></category></item><item><title><![CDATA[正向代理和反向代理的区别]]></title><link>https://blog.youkuaiyun.com/binary_service/article/details/18311015</link><guid>https://blog.youkuaiyun.com/binary_service/article/details/18311015</guid><author>binary_service</author><pubDate>Wed, 15 Jan 2014 14:56:16 +0800</pubDate><description><![CDATA[前言：

      通常在公司的服务器里面如果配有集群，那么运维人员对服务器代理将不再陌生，在负载均衡的时候就一定会用到反向代理。或者正向代理。但是他们之间的区别是什么呢？在网上看了一些文章，理解如下（图片来自网络，人家画的不错）

正向代理：



1、用户A主动请求要访问原始服务器B，从图中可以看出A先访问代理服务器z，然后由z将请求发给服务器B，同时代理服务器Z也负责将 返]]></description><category></category></item><item><title><![CDATA[信号处理之自动重启系统调用]]></title><link>https://blog.youkuaiyun.com/binary_service/article/details/18304779</link><guid>https://blog.youkuaiyun.com/binary_service/article/details/18304779</guid><author>binary_service</author><pubDate>Wed, 15 Jan 2014 11:16:26 +0800</pubDate><description><![CDATA[一般来说，不会阻塞的系统调用不存在被信号打断的问题，就是说返回的errno里面不存在EINTR错误，阻塞的系统调用才有可能被信号打断。我们可以看看man page，在linux下输入man 7 signal，我们可以看到系统调用被打断以及系统调用重启的详细描述：
       If a blocked call to one of the following interfaces is inte]]></description><category></category></item><item><title><![CDATA[“惊群”，看看nginx是怎么解决它的]]></title><link>https://blog.youkuaiyun.com/binary_service/article/details/18265997</link><guid>https://blog.youkuaiyun.com/binary_service/article/details/18265997</guid><author>binary_service</author><pubDate>Tue, 14 Jan 2014 16:30:18 +0800</pubDate><description><![CDATA[在说nginx前，先来看看什么是“惊群”？简单说来，多线程/多进程（linux下线程进程也没多大区别）等待同一个socket事件，当这个事件发生时，这些线程/进程被同时唤醒，就是惊群。可以想见，效率很低下，许多进程被内核重新调度唤醒，同时去响应这一个事件，当然只有一个进程能处理事件成功，其他的进程在处理该事件失败后重新休眠（也有其他选择）。这种性能浪费现象就是惊群。




惊群通常发生]]></description><category></category></item><item><title><![CDATA[关于XSS（跨站脚本攻击）和CSRF（跨站请求伪造）]]></title><link>https://blog.youkuaiyun.com/binary_service/article/details/9222377</link><guid>https://blog.youkuaiyun.com/binary_service/article/details/9222377</guid><author>binary_service</author><pubDate>Tue, 02 Jul 2013 10:16:18 +0800</pubDate><description><![CDATA[我们常说的网络安全其实应该包括以下三方面的安全：

1、机密性，比如用户的隐私被窃取，帐号被盗，常见的方式是木马。

2、完整性，比如数据的完整，举个例子，康熙传位十四子，被当时四阿哥篡改遗诏：传位于四子，当然这是传说，常见的方式是XSS跨站脚本攻击和csrf跨站请求伪造。

3、可用性，比如我们的网络服务是否可用，常用的攻击方式是dos和ddos，拒绝服务和分布式拒绝服务攻击。]]></description><category></category></item><item><title><![CDATA[session和cookie的辨析]]></title><link>https://blog.youkuaiyun.com/binary_service/article/details/9222339</link><guid>https://blog.youkuaiyun.com/binary_service/article/details/9222339</guid><author>binary_service</author><pubDate>Tue, 02 Jul 2013 10:11:55 +0800</pubDate><description><![CDATA[session和cookie是网站浏览中较为常见的两个概念，也是比较难以辨析的两个概念，但它们在点击流及基于用户浏览行为的网站分析中却相当关键。基于网上一些文章和资料的参阅，及作者个人的应用体会，对这两个概念做一个简单的阐述和辨析，希望能与大家共同探讨下。

　　session和cookie的最大区别在于session是保存在服务端的内存里面，而cookie保存于浏览器或客户端文件里面；ses]]></description><category></category></item><item><title><![CDATA[架构设计：生产者/消费者模式]]></title><link>https://blog.youkuaiyun.com/binary_service/article/details/9222225</link><guid>https://blog.youkuaiyun.com/binary_service/article/details/9222225</guid><author>binary_service</author><pubDate>Tue, 02 Jul 2013 10:05:37 +0800</pubDate><description><![CDATA[今天打算来介绍一下“生产者／消费者模式”，这玩意儿在很多开发领域都能派上用场。由于该模式很重要，打算分几个帖子来介绍。今天这个帖子先来扫盲一把。如果你对这个模式已经比较了解，请跳过本扫盲帖，直接看下一个帖子（关于该模式的具体应用） 。
　　看到这里，可能有同学心中犯嘀咕了：在四人帮（GOF）的23种模式里面似乎没听说过这种嘛！其实GOF那经典的23种模式主要是基于OO的（从书名《Design P]]></description><category></category></item><item><title><![CDATA[探索 Java 同步机制（Monitor Object 并发模式在 Java 同步机制中的实现）]]></title><link>https://blog.youkuaiyun.com/binary_service/article/details/9162645</link><guid>https://blog.youkuaiyun.com/binary_service/article/details/9162645</guid><author>binary_service</author><pubDate>Mon, 24 Jun 2013 15:24:42 +0800</pubDate><description><![CDATA[本文将从两个方面进行阐述:


使用 C++ 语言来描述 Monitor Object 设计模式。Java 对于这样一个典型的模式做了很好的语言层面的封装，因此对于 Java 的开发者来说，很多关于该模式本身的东西被屏蔽掉了。本文试图使用 Native C++ 语言，帮助读者从本质上对 Monitor object 设计模式有一个更全面的认识。
结合 C++ 版本的 Monitor Obj]]></description><category></category></item><item><title><![CDATA[深入研究PHP及Zend Engine的线程安全模型]]></title><link>https://blog.youkuaiyun.com/binary_service/article/details/8994769</link><guid>https://blog.youkuaiyun.com/binary_service/article/details/8994769</guid><author>binary_service</author><pubDate>Thu, 30 May 2013 15:00:35 +0800</pubDate><description><![CDATA[在阅读PHP源码和学习PHP扩展开发的过程中，我接触到大量含有“TSRM”字眼的宏。通过查阅资料，知道这些宏与Zend的线程安全机制有关，而绝大多数资料中都建议按照既定规则使用这些宏就可以，而没有说明这些宏的具体作用。不知道怎么回事总是令人不舒服的，因此我通过阅读源码和查阅有限的资料简要了解一下相关机制，本文是我对研究内容的总结。

本文首先解释了线程安全的概念及PHP中线程安全的背景，然后详]]></description><category></category></item><item><title><![CDATA[软件系统开发中的数据交换协议]]></title><link>https://blog.youkuaiyun.com/binary_service/article/details/8993629</link><guid>https://blog.youkuaiyun.com/binary_service/article/details/8993629</guid><author>binary_service</author><pubDate>Thu, 30 May 2013 11:48:38 +0800</pubDate><description><![CDATA[在很多地方都有“数据交换”这个概念，本文所说的“数据交换” 是指在计算机网络中，一个系统把数据传递给另外一个系统。这非常类似于一个人要告诉另外一个人一件事情。

当一个人要把一件事情告诉另外一个人的时候，我们可以通过电话、邮件、短信、IM工具或者当面说的方式来交流。这种方式类似于系统数据交换要通过 tcp、udp、管道等等的方式实现。当两个人交流的时候，我们需要一种共同的语言才能明白对方的意思]]></description><category></category></item><item><title><![CDATA[Paxos在大型系统中常见的应用场景]]></title><link>https://blog.youkuaiyun.com/binary_service/article/details/8993530</link><guid>https://blog.youkuaiyun.com/binary_service/article/details/8993530</guid><author>binary_service</author><pubDate>Thu, 30 May 2013 11:33:32 +0800</pubDate><description><![CDATA[在分布式算法领域，有个非常重要的算法叫Paxos, 它的重要性有多高呢，Google的Chubby [1]中提到

all working protocols for asynchronous consensus we have so far encountered have Paxos at their core.


关于Paxos算法的详述在维基百科中有更多介绍，中文版介绍的是ch]]></description><category></category></item><item><title><![CDATA[Socket选项SO_RCVLOWAT]]></title><link>https://blog.youkuaiyun.com/binary_service/article/details/7498289</link><guid>https://blog.youkuaiyun.com/binary_service/article/details/7498289</guid><author>binary_service</author><pubDate>Wed, 25 Apr 2012 15:59:18 +0800</pubDate><description><![CDATA[最近朋友问我一个问题，说通过TCP每次发送10个字节，连续发3次，问客户端需要做几次接收操作。这个问题自由度很高。客户端阻塞接收的情况下，还跟接收水线的设置值有关。
提到水线，上网搜索了一会，有的博客上说SO_RCVLOWAT只对read和recv有影响，select和poll不理会该选项的数值。后来自己亲自写了两个小程序，测试一下。发现在SUSE Linux Enterprise Server]]></description><category></category></item><item><title><![CDATA[CDN四大关键技术（转载自ChinaUnix）]]></title><link>https://blog.youkuaiyun.com/binary_service/article/details/7443547</link><guid>https://blog.youkuaiyun.com/binary_service/article/details/7443547</guid><author>binary_service</author><pubDate>Tue, 10 Apr 2012 03:12:11 +0800</pubDate><description><![CDATA[随着宽带网络和宽带流媒体应用的兴起，CDN（通常被称为内容分发网络Content distribution network，有时也被称作内容传递网络Contentdeliverynetwork）作为一种提高网络内容，特别是提高流媒体内容传输的服务质量、节省骨干网络带宽的技术，在国内外得到越来越广泛的应用。
    CDN的关键技术主要有内容路由技术、内容分发技术、内容存储技术、内容管理技术等。]]></description><category></category></item><item><title><![CDATA[IE不支持deflate（转载自zlbruce的blog）]]></title><link>https://blog.youkuaiyun.com/binary_service/article/details/7440842</link><guid>https://blog.youkuaiyun.com/binary_service/article/details/7440842</guid><author>binary_service</author><pubDate>Mon, 09 Apr 2012 14:25:09 +0800</pubDate><description><![CDATA[最近在做http的压缩，稍微了解了下gzip,deflate,zlib的关系：


deflate(RFC1951):一种压缩算法，使用LZ77和哈弗曼进行编码；



zlib(RFC1950):一种格式，是对deflate进行了简单的封装；



gzip(RFC1952):一种格式，也是对deflate进行的封装。


可以看出deflate是最核心的算法，而zl]]></description><category></category></item><item><title><![CDATA[HTTP chunked+gzip及浏览器兼容测试（转载自ifreax的blog）]]></title><link>https://blog.youkuaiyun.com/binary_service/article/details/7433180</link><guid>https://blog.youkuaiyun.com/binary_service/article/details/7433180</guid><author>binary_service</author><pubDate>Fri, 06 Apr 2012 17:29:16 +0800</pubDate><description><![CDATA[简述：

QQ空间提出一个需求，要求qzhttp支持chunked+gzip。每个chunk是一个独立的gzip压缩包，并提到雅虎是这么实现的。

分析结论：

1.雅虎的chunked+gzip的方式，每个chunk并不是一个独立的gzip压缩包。

2.如果采用chunked+gzip方式，并且每个chunk都是一个gzip压缩包的方式，浏览器不支持(用ie和chrome测试)]]></description><category></category></item></channel></rss>