<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[记路]]></title><description><![CDATA[本博客已移到：zyearn.com]]></description><link>https://blog.csdn.net/Zyearn</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; Zyearn]]></copyright><item><title><![CDATA[如何写一个Web服务器]]></title><link>https://blog.csdn.net/Zyearn/article/details/45826589</link><guid>https://blog.csdn.net/Zyearn/article/details/45826589</guid><author>Zyearn</author><pubDate>Mon, 18 May 2015 20:07:25 +0800</pubDate><description><![CDATA[最近两个月的业余时间在写一个私人项目，目的是在Linux下写一个高性能Web服务器，名字叫Zaver。主体框架和基本功能已完成，还有一些高级功能日后会逐渐增加，代码放在了github。Zaver的框架会在代码量尽量少的情况下接近工业水平，而不像一些教科书上的toy server为了教原理而舍弃了很多原本server应该有的东西，在本篇文章中，我将一步步地阐明Zaver的设计方案和开发过程中遇到的困难以及相应的解决方法]]></description><category></category></item><item><title><![CDATA[Asynchronous vs Nonblocking]]></title><link>https://blog.csdn.net/Zyearn/article/details/22929713</link><guid>https://blog.csdn.net/Zyearn/article/details/22929713</guid><author>Zyearn</author><pubDate>Fri, 04 Apr 2014 13:35:50 +0800</pubDate><description><![CDATA[在I/O模型中有两个概念特别容易混淆，就是同步和异步（synchronous vs nonsynchronous），阻塞和非阻塞（blocking vs nonblocking）的区别在什么地方。

同步非阻塞可能吗，异步阻塞有可能吗？ 这几个概念在stevens的《UNIX网络编程（卷一）》6.2节写得很清楚，这里写个总结吧。

阻塞I/O

最流行的I/O模型就是阻塞模型，如果数据]]></description><category></category></item><item><title><![CDATA[知乎爬虫]]></title><link>https://blog.csdn.net/Zyearn/article/details/20781395</link><guid>https://blog.csdn.net/Zyearn/article/details/20781395</guid><author>Zyearn</author><pubDate>Sat, 08 Mar 2014 15:35:19 +0800</pubDate><description><![CDATA[长久以来一直想解决一个问题，就是知乎上最高赞同的Top10是哪些答案，知乎内部的人可能查一下数据库就可以了，而外部的人只能通过爬虫。可能这个问题对很多人而言意义不是很大，但我一直非常好奇…于是开始写了。

在写具体细节之前，先给一个爬的结果吧，截止至2014年3月7号的知乎Top10如下：


1. 你觉得自己牛逼在哪里？ 18279票
2. 精神分裂症患者眼中的世界是什么样的？ 15]]></description><category></category></item><item><title><![CDATA[C++中用函数返回值初始类对象时的一个问题]]></title><link>https://blog.csdn.net/Zyearn/article/details/9709041</link><guid>https://blog.csdn.net/Zyearn/article/details/9709041</guid><author>Zyearn</author><pubDate>Thu, 01 Aug 2013 23:32:01 +0800</pubDate><description><![CDATA[问题：
有一个类，名字是C，假设有一个函数，它的定义为：
C func()
{
     C tmp;
     return tmp;
}
即返回C类型的函数，那么考虑表达式C newC = func();将调用几次构造函数？分别是什么类型的构造函数？




解答：
>里有提到这个过程，首先会创建一个临时的类对象，该对象是由复制构造函数生成，参数是tmp。然后再调用复]]></description><category></category></item><item><title><![CDATA[什么是可计算理论]]></title><link>https://blog.csdn.net/Zyearn/article/details/9196797</link><guid>https://blog.csdn.net/Zyearn/article/details/9196797</guid><author>Zyearn</author><pubDate>Fri, 28 Jun 2013 14:44:01 +0800</pubDate><description><![CDATA[这个学期刚好上这门课，此课绝对是CS课程中的神课，需要一定的决心和耐心才能啃下来。这篇文章可以说是一篇科普文，争求通俗易懂。


可计算理论是计算理论的一个分支，还有两个分支分别是自动机和计算复杂性。


这些名词都顾名思义，自动机讲的是计算的模型，比如图灵机，它是由无限长磁带，读写磁头和一些状态转移序列组成；可计算理论，研究的是一个函数（或程序）是不是能被计算，但是什么叫能被计算呢，]]></description><category></category></item><item><title><![CDATA[几道关于计数的趣题]]></title><link>https://blog.csdn.net/Zyearn/article/details/9015825</link><guid>https://blog.csdn.net/Zyearn/article/details/9015825</guid><author>Zyearn</author><pubDate>Mon, 03 Jun 2013 18:20:17 +0800</pubDate><description><![CDATA[1. 用PEPPER的6个字母进行排列，一共有几种不同的排列顺序？
这题和传统的排列不同，不是单纯的6!就好了，因为有重复元素，即每一个P和E都是相同的，若给所有字母标上下标，则以下三种排列P1E1P2P3E2R1，P2E1P1P3E2R1和P3E1P2P1E2R1都是相同的，这三种排列只能算是一种情况。所以现在我们要做的就是在6!种排列顺序中，挑出所有不同的排列顺序。对于一种给定的顺序比如说P]]></description><category></category></item><item><title><![CDATA[基础排序算法总结]]></title><link>https://blog.csdn.net/Zyearn/article/details/8595957</link><guid>https://blog.csdn.net/Zyearn/article/details/8595957</guid><author>Zyearn</author><pubDate>Wed, 20 Feb 2013 21:01:21 +0800</pubDate><description><![CDATA[首先要理解的几个概念：
1. 在原序列中，若Ri = Rj，且i
2. 排序可分为：内排序（数据在内存中）和外排序（数据在外存中）。本文重点在一些内排序的思想。不贴代码和细节考虑。


1. 插入排序
基本思想：每次都将一个待排序的数据元素，按其关键字大小，插入到前面已排好序的一组数据元素中的适当位置上，直到所有数据插入完成。
直接插入排序：
适用于少量数据元素的简单方法，复杂度O]]></description><category></category></item><item><title><![CDATA[读书摘录(四)]]></title><link>https://blog.csdn.net/Zyearn/article/details/8577209</link><guid>https://blog.csdn.net/Zyearn/article/details/8577209</guid><author>Zyearn</author><pubDate>Fri, 08 Feb 2013 20:46:36 +0800</pubDate><description><![CDATA[保持快乐的六件事：
0.早起
1.每日健身
2.放松自己
3.帮助他人
4.学习新技术
5.准备多种"赢"的途径


五岁时，妈妈告诉我，人生的关键在于快乐。上学后，人们问我长大了要做什么，我写下“快乐”。他们告诉我，我理解错了题目，我告诉他们，他们理解错了人生。——约翰·列侬


其实人活着就挺好，至于生命有没有意义另当别论。活着每天都会有太阳升起来，每天都会看到太阳落下]]></description><category></category></item><item><title><![CDATA[学期小结5：大三上学期]]></title><link>https://blog.csdn.net/Zyearn/article/details/8576726</link><guid>https://blog.csdn.net/Zyearn/article/details/8576726</guid><author>Zyearn</author><pubDate>Fri, 08 Feb 2013 12:08:20 +0800</pubDate><description><![CDATA[如果用一个字来概括这一学期，就是累。哪个学期不累呢？紧张的课程，繁忙的实验室使我的心灵和身体同时在旅行着，找不到休息的时间和地方。


这个学期我开始刻意做了每日记录，睡前花几分钟的时间，敲下一天的历程和感受。刚刚回看这些记录，一天天的真实感仿佛就在昨天。




先来说学习方面：
这个学期和上学期一样，保持着高强度的学习。一周的大部分时间都在图书馆或者自习室里，大三活动参加的比]]></description><category></category></item><item><title><![CDATA[《Algorithms》第8章：NP完全问题 学习笔记]]></title><link>https://blog.csdn.net/Zyearn/article/details/8565722</link><guid>https://blog.csdn.net/Zyearn/article/details/8565722</guid><author>Zyearn</author><pubDate>Sat, 02 Feb 2013 18:31:18 +0800</pubDate><description><![CDATA[/*
* 第0~第8章的全部笔记已经整理在http://zjsblog.com/ALGO/index.html
* Algorithms 是一本很经典的算法入门书，希望对朋友们有所帮助
*/


Chapter 8：NP-完全问题


8.1 一些搜索问题:


搜索问题定义：
一个搜索问题是由一个算法C描述的，以问题实例I和一个可能的解S为输入，运行在关于|I|的多项式]]></description><category></category></item><item><title><![CDATA[《Algorithms》第7章：Linear programming and reductions 学习笔记]]></title><link>https://blog.csdn.net/Zyearn/article/details/8557590</link><guid>https://blog.csdn.net/Zyearn/article/details/8557590</guid><author>Zyearn</author><pubDate>Wed, 30 Jan 2013 20:56:38 +0800</pubDate><description><![CDATA[Chapter 7：Linear programming and reductions


1、任何一个线性规划问题都将涉及一组变量。我们的目的是找出这组变量的某种赋值，使得其同时满足下面两个条件：


满足一组由这些变量构成的线性方程或不等式极大或极小化某个给定的线性目标函数


2、举例说明：











3、通常，目标函数的极值在可行区域的]]></description><category></category></item><item><title><![CDATA[USACO Chapter2 The Castle]]></title><link>https://blog.csdn.net/Zyearn/article/details/8491415</link><guid>https://blog.csdn.net/Zyearn/article/details/8491415</guid><author>Zyearn</author><pubDate>Thu, 10 Jan 2013 21:21:27 +0800</pubDate><description><![CDATA[The Castle
IOI'94 - Day 1
In a stroke of luck almost beyond imagination, Farmer John was sent a ticket to the Irish Sweepstakes (really a lottery) for his birthday. This ticket turned out to have on]]></description><category></category></item><item><title><![CDATA[大二暑期小结]]></title><link>https://blog.csdn.net/Zyearn/article/details/7960410</link><guid>https://blog.csdn.net/Zyearn/article/details/7960410</guid><author>Zyearn</author><pubDate>Sun, 09 Sep 2012 16:03:05 +0800</pubDate><description><![CDATA[明日开学，进入大三。今天是个周末清闲的下午，能让我好好思考一下这近两个月假期做了什么和新学期的打算。


假期从7月14号周六开始到今天9月9日周日结束。
受到了李笑来老师《把时间当作朋友》的影响，每天都会写50字左右记录当天做了什么，所以整个暑假回顾起来还算比较轻松。


关于学习：
通常，早上平均学习3小时左右，前一个月，背单词半小时和看算法，并作了学习笔记；后一个月背单词半小]]></description><category></category></item><item><title><![CDATA[读书摘录(三)]]></title><link>https://blog.csdn.net/Zyearn/article/details/7943023</link><guid>https://blog.csdn.net/Zyearn/article/details/7943023</guid><author>Zyearn</author><pubDate>Tue, 04 Sep 2012 17:16:30 +0800</pubDate><description><![CDATA[Everybody is a genius. But if you judge a fish by its ability to climb a tree, it will live its whole life believing that
 it is stupid.

爬山是为了看世界，而不是为了让世界看见你。

所谓成熟，就是以包容之心站在别人的角度看问题。

If you]]></description><category></category></item><item><title><![CDATA[xhtml & css 简易学习笔记（三）]]></title><link>https://blog.csdn.net/Zyearn/article/details/7913062</link><guid>https://blog.csdn.net/Zyearn/article/details/7913062</guid><author>Zyearn</author><pubDate>Mon, 27 Aug 2012 17:33:12 +0800</pubDate><description><![CDATA[1、Child Selectors.
what is a child, what is a parent? for example ,  is child of ,  is parent of 
例：


     
          p > a{
               color:red;
               font-size:30px;
          }]]></description><category></category></item><item><title><![CDATA[酒桌上的计算机网络]]></title><link>https://blog.csdn.net/Zyearn/article/details/7894712</link><guid>https://blog.csdn.net/Zyearn/article/details/7894712</guid><author>Zyearn</author><pubDate>Wed, 22 Aug 2012 10:42:41 +0800</pubDate><description><![CDATA[酒宴开始。

 

酒杯盛酒，酒杯碰撞，这是物理层；

你要根据不同人的外貌特征找到你要敬酒的人所坐的位置，这是IP协议（网络层）；

你明白，敬酒的实际目的是加深感情，这在应用层，而这酒中的感情，才是报文的数据部分。

 

你和某位新见面的兄弟互相来回敬酒，这叫TCP；

你给同一位好兄弟敬酒好多次，死命灌他，他也不回礼，这叫UDP；

你对全桌的人说，来，咱们]]></description><category></category></item><item><title><![CDATA[斐波那契数列的几种计算机解法]]></title><link>https://blog.csdn.net/Zyearn/article/details/7878657</link><guid>https://blog.csdn.net/Zyearn/article/details/7878657</guid><author>Zyearn</author><pubDate>Fri, 17 Aug 2012 18:58:58 +0800</pubDate><description><![CDATA[斐波那契数列传说起源于一对非常会生的兔子。定义：




这个数列有很多奇妙的性质（比如 F(n+1)/F(n) 的极限是黄金分割率），用计算机有效地求解这个问题的解是一个比较有意思的问题，本文一共提供了4种解法。




解法一：递归

这是最最最直观的想法，是每个人都能编写的简单程序，优点是非常明显的：简单易懂，清晰明了。但是缺点就是效率非常低，时间复杂度是指数级的。举]]></description><category></category></item><item><title><![CDATA[二分查找 的一些讨论]]></title><link>https://blog.csdn.net/Zyearn/article/details/7874660</link><guid>https://blog.csdn.net/Zyearn/article/details/7874660</guid><author>Zyearn</author><pubDate>Thu, 16 Aug 2012 19:27:12 +0800</pubDate><description><![CDATA[一、折半查找
版本一：递归
/*
说明：v为数组，low为数组的下界，high为上界，x为需要查找的元素
*/

int binsearch(int v[],int low, int high, int x)
{
	int mid = (low+high) / 2;
	if(x == v[mid])
		return mid;

	if(low >= high)
		return -1;]]></description><category></category></item><item><title><![CDATA[xhtml & css 简易学习笔记(二)]]></title><link>https://blog.csdn.net/Zyearn/article/details/7852836</link><guid>https://blog.csdn.net/Zyearn/article/details/7852836</guid><author>Zyearn</author><pubDate>Fri, 10 Aug 2012 18:48:02 +0800</pubDate><description><![CDATA[1、List:


unorder List:

     apple
     banana
     orange
     pineapple



order List:

     apple
     banana
     orange
     pineapple






2、If xhtml is a core foundation, css is]]></description><category></category></item><item><title><![CDATA[读书摘录(二)]]></title><link>https://blog.csdn.net/Zyearn/article/details/7819879</link><guid>https://blog.csdn.net/Zyearn/article/details/7819879</guid><author>Zyearn</author><pubDate>Wed, 01 Aug 2012 19:36:50 +0800</pubDate><description><![CDATA[人们只能听到自己喜欢听的，只能看到自己喜欢看的。


博弈论中的一个关键教训：你需要了解对方的想法。你需要考虑他们知道些什么，是什么在激励着他们，甚至他们是怎么看你的。


无论你多努力，你都很有可能完全没有机会做到富有富足。


往往只有优秀的人才拥有有效的人脉。专心打造自己，把自己打造成一个优秀的人，一个有用的人，一个独立的人，比什么都重要。


很多人拒绝学习，本质上]]></description><category></category></item></channel></rss>