<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[cohenxiaomiao的专栏]]></title><description><![CDATA[博学之，审问之，慎思之，明辨之，笃行之]]></description><link>https://blog.youkuaiyun.com/cohenxiaomiao</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; cohenxiaomiao]]></copyright><item><title><![CDATA[开源性能测试工具 - Apache ab 介绍]]></title><link>https://blog.youkuaiyun.com/cohenxiaomiao/article/details/49641193</link><guid>https://blog.youkuaiyun.com/cohenxiaomiao/article/details/49641193</guid><author>cohenxiaomiao</author><pubDate>Wed, 04 Nov 2015 17:47:30 +0800</pubDate><description><![CDATA[Apache附带的压力测试工具ab，非常容易使用，并且完全可以摸你各种条件对Web服务器发起测试请求。ab可以直接在Web服务器本地发起测试请求，这对于需要了解服务器的处理性能至关重要，因为它不包括数据的网络传输时间以及用户PC本地的计算时间。
      下面我们开始压力测试（环境说明：win7，需要在命令行cmd中切换至ab.exe所在目录），执行以下命令：







1]]></description><category></category></item><item><title><![CDATA[KMP算法]]></title><link>https://blog.youkuaiyun.com/cohenxiaomiao/article/details/49621597</link><guid>https://blog.youkuaiyun.com/cohenxiaomiao/article/details/49621597</guid><author>cohenxiaomiao</author><pubDate>Tue, 03 Nov 2015 20:46:30 +0800</pubDate><description><![CDATA[前言　　

　　之前对kmp算法虽然了解它的原理，即求出P0···Pi的最大相同前后缀长度k；但是问题在于如何求出这个最大前后缀长度呢？我觉得网上很多帖子都说的不是很清楚，总感觉没有把那层纸戳破，后来翻看算法导论，32章
 字符串匹配虽然讲到了对前后缀计算的正确性，但是大量的推理证明不大好理解，没有与程序结合起来讲。今天我在这里讲一讲我的一些理解，希望大家多多指教，如果有不清楚的或错误的请给]]></description><category></category></item><item><title><![CDATA[AC自动机算法简介]]></title><link>https://blog.youkuaiyun.com/cohenxiaomiao/article/details/49621443</link><guid>https://blog.youkuaiyun.com/cohenxiaomiao/article/details/49621443</guid><author>cohenxiaomiao</author><pubDate>Tue, 03 Nov 2015 20:35:16 +0800</pubDate><description><![CDATA[AC自动机简介： 

首先简要介绍一下AC自动机：Aho-Corasick automation，该算法在1975年产生于贝尔实验室，是著名的多模匹配算法之一。一个常见的例子就是给出n个单词，再给出一段包含m个字符的文章，让你找出有多少个单词在文章里出现过。要搞懂AC自动机，先得有字典树Trie和KMP模式匹配算法的基础知识。KMP算法是单模式串的字符匹配算法，AC自动机是多模式串的字符匹配算]]></description><category></category></item><item><title><![CDATA[大数据排序 去重相关问题]]></title><link>https://blog.youkuaiyun.com/cohenxiaomiao/article/details/49337143</link><guid>https://blog.youkuaiyun.com/cohenxiaomiao/article/details/49337143</guid><author>cohenxiaomiao</author><pubDate>Thu, 22 Oct 2015 18:40:07 +0800</pubDate><description><![CDATA[1. 给定a、b两个文件，各存放50亿个url，每个url各占64字节，内存限制是4G，让你找出a、b文件共同的url？ 
方案1：可以估计每个文件安的大小为50G×64=320G，远远大于内存限制的4G。所以不可能将其完全加载到内存中处理。考虑采取分而治之的方法。 
s 遍历文件a，对每个url求取 ，然后根据所取得的值将url分别存储到1000个小文件（记为 ）中。这样每个小文件的大约为3]]></description><category></category></item><item><title><![CDATA[linux内核中send与recv函数详解]]></title><link>https://blog.youkuaiyun.com/cohenxiaomiao/article/details/35277365</link><guid>https://blog.youkuaiyun.com/cohenxiaomiao/article/details/35277365</guid><author>cohenxiaomiao</author><pubDate>Fri, 27 Jun 2014 16:26:59 +0800</pubDate><description><![CDATA[﻿﻿
目录(?)[+]

简介send解析recv解析


Linux send与recv函数详解

1.简介



[plain] 
view plaincopyprint?


#include   ssize_t recv(int sockfd, void *buff, size_t nbytes, int flags);  ssize_t send(int ]]></description><category></category></item><item><title><![CDATA[LINUX的五种IO模型]]></title><link>https://blog.youkuaiyun.com/cohenxiaomiao/article/details/27529241</link><guid>https://blog.youkuaiyun.com/cohenxiaomiao/article/details/27529241</guid><author>cohenxiaomiao</author><pubDate>Thu, 29 May 2014 14:42:27 +0800</pubDate><description><![CDATA[﻿﻿
socket阻塞与非阻塞，同步与异步


作者：huangguisu





1. 概念理解




     在进行网络编程时，我们常常见到同步(Sync)/异步(Async)，阻塞(Block)/非阻塞(Unblock)四种调用方式：
同步：
      所谓同步，就是在发出一个功能调用时，在没有得到结果之前，该调用就不返回。也就是必须一件一件事做,等]]></description><category></category></item><item><title><![CDATA[解析select]]></title><link>https://blog.youkuaiyun.com/cohenxiaomiao/article/details/27504543</link><guid>https://blog.youkuaiyun.com/cohenxiaomiao/article/details/27504543</guid><author>cohenxiaomiao</author><pubDate>Thu, 29 May 2014 12:48:01 +0800</pubDate><description><![CDATA[﻿﻿
int select(int maxfdp,fd_set *readset,fd_set *writefds,fd_set *fds,struct timeval *timeout);]]></description><category></category></item><item><title><![CDATA[redis学习笔记]]></title><link>https://blog.youkuaiyun.com/cohenxiaomiao/article/details/25481985</link><guid>https://blog.youkuaiyun.com/cohenxiaomiao/article/details/25481985</guid><author>cohenxiaomiao</author><pubDate>Sat, 10 May 2014 15:02:31 +0800</pubDate><description><![CDATA[一.redis 环境搭建


1.简介
       redis是一个开源的key-value数据库。它又经常被认为是一个数据结构服务器。因为它的value不仅包括基本的string类型还有 list,set ,sorted set和hash类型。当然这些类型的元素也都是string类型。也就是说list,set这些集合类型也只能包含
string 类型。你可以在这些类型上做很多原子性的]]></description><category></category></item><item><title><![CDATA[C语言数据类型长度及作用域]]></title><link>https://blog.youkuaiyun.com/cohenxiaomiao/article/details/9879161</link><guid>https://blog.youkuaiyun.com/cohenxiaomiao/article/details/9879161</guid><author>cohenxiaomiao</author><pubDate>Sat, 10 Aug 2013 16:01:37 +0800</pubDate><description><![CDATA[C语言中数据类型的长度以及作用值域




类型标识符
类型说明
长度
   （字节）
范围
备注


char
字符型
1
-128 ~ 127
-27 ~ (27 -1)


unsigned char
无符字符型
1
0 ~ 255
0 ~ (28 -1)


short int
短整型
2
-32768 ~ 32767
2-15]]></description><category></category></item><item><title><![CDATA[String与Char]]></title><link>https://blog.youkuaiyun.com/cohenxiaomiao/article/details/9024327</link><guid>https://blog.youkuaiyun.com/cohenxiaomiao/article/details/9024327</guid><author>cohenxiaomiao</author><pubDate>Tue, 04 Jun 2013 17:44:28 +0800</pubDate><description><![CDATA[C++中string是标准库中一种容器,相当于保存元素类型为char的vector容器(自己理解),这个类提供了相当丰富的函数来完成对字符串操作,以及与C风格字符串之间转换,下面是对string一些总结

 

一，C语言的字符串

在C语言里，对字符串的处理一项都是一件比较痛苦的事情，因为通常在实现字符串的操作的时候都会用到最不容易驾驭的类型——指针。

比如下面这个例子：]]></description><category></category></item><item><title><![CDATA[标准C++中的string类的用法总结]]></title><link>https://blog.youkuaiyun.com/cohenxiaomiao/article/details/9024173</link><guid>https://blog.youkuaiyun.com/cohenxiaomiao/article/details/9024173</guid><author>cohenxiaomiao</author><pubDate>Tue, 04 Jun 2013 17:33:38 +0800</pubDate><description><![CDATA[C++string类常用函数

string类的构造函数：

string(const char *s);    //用c字符串s初始化

string(int n,char c);     //用n个字符c初始化

此外，string类还支持默认构造函数和复制构造函数，如 string s1；string s2="hello"；都是正确的写法。

  当构造的string太长]]></description><category></category></item><item><title><![CDATA[VS2010下编译thrift之学习文档一]]></title><link>https://blog.youkuaiyun.com/cohenxiaomiao/article/details/7909554</link><guid>https://blog.youkuaiyun.com/cohenxiaomiao/article/details/7909554</guid><author>cohenxiaomiao</author><pubDate>Sun, 26 Aug 2012 18:01:44 +0800</pubDate><description><![CDATA[在google的帮助下，找到一篇文章，关于thrift on windows with MSVC 2010
http://www.brianfosterallen.com/tag/apache-thrift/
该文档详细介绍了利用VS2010，编译出thrift的程序。
 
另外关于thrift用法，详见一下两篇文档
http://dongxicheng.org/search-engin]]></description><category></category></item><item><title><![CDATA[阻塞模式之多线程]]></title><link>https://blog.youkuaiyun.com/cohenxiaomiao/article/details/7852873</link><guid>https://blog.youkuaiyun.com/cohenxiaomiao/article/details/7852873</guid><author>cohenxiaomiao</author><pubDate>Fri, 10 Aug 2012 19:17:32 +0800</pubDate><description><![CDATA[阻塞模式下的多线程编程
由于send recv等函数的阻塞，将会导致主程序一直在等待某个send或者recv调用结束，才会处理其他的事情，那么多客户端与服务器的通信将变得无法完成。此时将引用线程的方式来解决这一问题。
一个简单的多客户端与服务器通信
server.cpp
       SOCKET  sock_listen;
      SOCKET talk;
      WORD]]></description><category></category></item><item><title><![CDATA[winsock i/o方法]]></title><link>https://blog.youkuaiyun.com/cohenxiaomiao/article/details/7852861</link><guid>https://blog.youkuaiyun.com/cohenxiaomiao/article/details/7852861</guid><author>cohenxiaomiao</author><pubDate>Fri, 10 Aug 2012 18:52:22 +0800</pubDate><description><![CDATA[首先,Windows套接字在两种模式下执行I / O操作：锁定和非锁定。 
         在锁定模式下，在I / O操作完成前，执行操作的Wi nsock函数（比如send和recv）会一直等候下去，不会立即返回程序（将控制权交还给程序）。而在非锁定模式下， Wi nsock函数无论如何都会立即返回。
1 锁定模式

       耗费或长或短的时间“等待”。
      大多数Wi]]></description><category></category></item><item><title><![CDATA[socket发送自定义IP包之解析]]></title><link>https://blog.youkuaiyun.com/cohenxiaomiao/article/details/7852842</link><guid>https://blog.youkuaiyun.com/cohenxiaomiao/article/details/7852842</guid><author>cohenxiaomiao</author><pubDate>Fri, 10 Aug 2012 18:38:30 +0800</pubDate><description><![CDATA[使用原始套接字发送自定义IP包

这里介绍Windows Sockets的一些关于原始套接字(Raw Socket)的编程。同Winsock1相比，最明显的就是支持了Raw Socket套接字类型，通过原始套接字，我们可以更加自如地控制Windows下的多种协议，而且能够对网络底层的传输机制进行控制。
1、创建一个原始套接字，并设置IP头选项。 
SOCKET sock; 
sock =]]></description><category></category></item></channel></rss>