<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Berry's Laptop</title>
	<atom:link href="http://berryfl.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://berryfl.wordpress.com</link>
	<description>Berry's main Blog!</description>
	<lastBuildDate>Mon, 14 Dec 2009 04:01:54 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>zh-cn</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='berryfl.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/ccf38df6d921797372e715b5c05c1d3e?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Berry's Laptop</title>
		<link>http://berryfl.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://berryfl.wordpress.com/osd.xml" title="Berry&#8217;s Laptop" />
		<item>
		<title>Tracert与Traceroute</title>
		<link>http://berryfl.wordpress.com/2009/12/14/tracert%e4%b8%8etraceroute/</link>
		<comments>http://berryfl.wordpress.com/2009/12/14/tracert%e4%b8%8etraceroute/#comments</comments>
		<pubDate>Mon, 14 Dec 2009 04:00:13 +0000</pubDate>
		<dc:creator>Berry</dc:creator>
				<category><![CDATA[Black Study]]></category>
		<category><![CDATA[Packet Tracer]]></category>
		<category><![CDATA[traceroute]]></category>
		<category><![CDATA[tracert]]></category>

		<guid isPermaLink="false">http://berryfl.wordpress.com/?p=218</guid>
		<description><![CDATA[traceroute是一个检查网络路径的工具，最初由Van Jacobson实现。它现在已经成为Linux、Cisco IOS以及其他很多操作系统的基本网络工具之一，Windows下也有一个类似的工具tracert。下图是Linux执行traceroute的结果，它能显示每一跳的IP地址及域名（如果反向查询成功），以及对应的往返时间。

traceroute与tracert的原理是很类似的，它们通过设置IP报文里的TTL字段，TTL在每个路由器里都会减1，因此到了指定的跳数之后，TTL刚好减到0。如果这时候还没到达目的地，那么路由器会返回一个类型11的ICMP报文，表示time exceeded（TTL为0）。从而，原主机根据这个ICMP报文就能知道每一跳的IP地址。
但是，其实traceroute具体的实现方法与tracert是不同的，我昨晚在Packet Tracer做了下面的实现。首先看看实验的拓扑图，我做了两次实验，第一次从laptop2a使用tracert，目的地是dhcp（IP地址是8.8.8.2）；第二次从core2使用traceroute，目的地同样是dhcp。我的目的是观察到tracert与traceroute的不同。


从上图可以看到，tracert使用的ICMP类型8报文，即ICMP Echo Request，与ping程序一样。可以看到，第一次TTL设为了1，可以预见这个报文将会在core2丢弃，并返回ICMP Time Exceeded报文。下图是返回的报文，可以见到ICMP报文里还会附上原来报文的内容。根据《TCP/IP详解》的说明，ICMP的差错报文需要附上原来报文的IP报头，以及后面紧跟着的8个字节，不过现在的实现一般都把更多的字节附上。

为什么必须多8个字节呢？因为这样做可以把ICMP Echo Request报文里的标识符字段和序列号字段包含进来，那么如果原来客户端同时开了两个tracert程序，客户端可以根据标识符字段区分交给哪个进程处理。实际上，TCP/IP协议栈就是故意这样设计的，IP报头后面的ICMP报头，或者UDP报头，或者TCP报头，它们的前8个字节就已经包含了端口号、序列号等所有能区分进程的信息，从而ICMP差错报文会把这些信息附上。
对于tracert来说，如果TTL大到可以到达目的地，那么目的地会返回一个ICMP Echo Reply（ICMP报文类型0），就像ping一样。这时，tracert就可以结束了。
traceroute则不一样，它不是使用ICMP Echo Request报文，从下图可以看出，它是使用UDP报文。UDP的源端口用于标识主机上不同的traceroute程序，原理刚才已经分析过了。目的端口从33434开始，每一个报文会把目的端口增加1，直到33534，目的是为了区分返回的报文对应哪个发出的报文。


如果TTL不足以去到目的地，就和tracert的情况一样，路由器返回一个ICMP Time Exceeded报文。那么如果到达目的地会发生什么事呢？上图里有了答案，目的地返回一个类型3，代码也是3的ICMP报文，表示端口不可达。所以，我们还可以知道多一个常识，即主机的33434到33534端口一般不能作为服务用途的，因为traceroute希望目的地返回端口不可达。traceroute收到这个报文之后，就知道已经到达目的地，可以结束程序了。
总结一下，tracert是使用ICMP Echo Request报文去实现，traceroute是使用UDP报文去实现，不过基本原理都是利用IP报文的TTL字段。现在的互联网复杂很多，有些路由器屏蔽了其中一种检查路径的方式（甚至两种都屏蔽），所以同时使用tracert和traceroute，再把结果合并，有时会更好。因此，traceroute实际上更有优势，因为现代版的traceroute只要加-I选项就相当于tracert的功能。据说现在还有一种使用-P选项的方式使用TCP报文的，但是我还没试过。
Posted in Black Study Tagged: Packet Tracer, traceroute, tracert      <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=berryfl.wordpress.com&blog=506960&post=218&subd=berryfl&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>traceroute是一个检查网络路径的工具，最初由Van Jacobson实现。它现在已经成为Linux、Cisco IOS以及其他很多操作系统的基本网络工具之一，Windows下也有一个类似的工具tracert。下图是Linux执行traceroute的结果，它能显示每一跳的IP地址及域名（如果反向查询成功），以及对应的往返时间。</p>
<p><a title="来YUPOO看我的照片" href="http://www.yupoo.com/photos/view?id=ff808081258868cc01258b143d3e1684"><img src="http://pic.yupoo.com/berryfl/331978891cf4/medium.jpg" border="0" alt="traceroute3" width="500" height="322" /></a></p>
<p>traceroute与tracert的原理是很类似的，它们通过设置IP报文里的TTL字段，TTL在每个路由器里都会减1，因此到了指定的跳数之后，TTL刚好减到0。如果这时候还没到达目的地，那么路由器会返回一个类型11的ICMP报文，表示time exceeded（TTL为0）。从而，原主机根据这个ICMP报文就能知道每一跳的IP地址。</p>
<p>但是，其实traceroute具体的实现方法与tracert是不同的，我昨晚在Packet Tracer做了下面的实现。首先看看实验的拓扑图，我做了两次实验，第一次从laptop2a使用tracert，目的地是dhcp（IP地址是8.8.8.2）；第二次从core2使用traceroute，目的地同样是dhcp。我的目的是观察到tracert与traceroute的不同。</p>
<p><a title="来YUPOO看我的照片" href="http://www.yupoo.com/photos/view?id=ff8080812571070001258b14227823dd"><img src="http://pic.yupoo.com/berryfl/997498891cf2/medium.jpg" border="0" alt="sample-topology" width="500" height="445" /></a></p>
<p><a title="来YUPOO看我的照片" href="http://www.yupoo.com/photos/view?id=ff8080812582f99e01258b142bef70ac"><img src="http://pic.yupoo.com/berryfl/683438891cf4/02utu1zg.jpg" border="0" alt="tracert1" width="450" height="609" /></a></p>
<p>从上图可以看到，tracert使用的ICMP类型8报文，即ICMP Echo Request，与ping程序一样。可以看到，第一次TTL设为了1，可以预见这个报文将会在core2丢弃，并返回ICMP Time Exceeded报文。下图是返回的报文，可以见到ICMP报文里还会附上原来报文的内容。根据《TCP/IP详解》的说明，ICMP的差错报文需要附上原来报文的IP报头，以及后面紧跟着的8个字节，不过现在的实现一般都把更多的字节附上。</p>
<p><a title="来YUPOO看我的照片" href="http://www.yupoo.com/photos/view?id=ff8080812582f99e01258b142d6270ad"><img src="http://pic.yupoo.com/berryfl/006148891cf4/7p0m4cea.jpg" border="0" alt="tracert2" width="530" height="724" /></a></p>
<p>为什么必须多8个字节呢？因为这样做可以把ICMP Echo Request报文里的标识符字段和序列号字段包含进来，那么如果原来客户端同时开了两个tracert程序，客户端可以根据标识符字段区分交给哪个进程处理。实际上，TCP/IP协议栈就是故意这样设计的，IP报头后面的ICMP报头，或者UDP报头，或者TCP报头，它们的前8个字节就已经包含了端口号、序列号等所有能区分进程的信息，从而ICMP差错报文会把这些信息附上。</p>
<p>对于tracert来说，如果TTL大到可以到达目的地，那么目的地会返回一个ICMP Echo Reply（ICMP报文类型0），就像ping一样。这时，tracert就可以结束了。</p>
<p>traceroute则不一样，它不是使用ICMP Echo Request报文，从下图可以看出，它是使用UDP报文。UDP的源端口用于标识主机上不同的traceroute程序，原理刚才已经分析过了。目的端口从33434开始，每一个报文会把目的端口增加1，直到33534，目的是为了区分返回的报文对应哪个发出的报文。</p>
<p><a title="来YUPOO看我的照片" href="http://www.yupoo.com/photos/view?id=ff8080812582f99e01258b1425d670ab"><img src="http://pic.yupoo.com/berryfl/543038891cf2/el775co1.jpg" border="0" alt="traceroute1" width="530" height="666" /></a></p>
<p><a title="来YUPOO看我的照片" href="http://www.yupoo.com/photos/view?id=ff808081258868cc01258b143a2b1683"><img src="http://pic.yupoo.com/berryfl/288718891cf2/an92bo7b.jpg" border="0" alt="traceroute2" width="530" height="685" /></a></p>
<p>如果TTL不足以去到目的地，就和tracert的情况一样，路由器返回一个ICMP Time Exceeded报文。那么如果到达目的地会发生什么事呢？上图里有了答案，目的地返回一个类型3，代码也是3的ICMP报文，表示端口不可达。所以，我们还可以知道多一个常识，即主机的33434到33534端口一般不能作为服务用途的，因为traceroute希望目的地返回端口不可达。traceroute收到这个报文之后，就知道已经到达目的地，可以结束程序了。</p>
<p>总结一下，tracert是使用ICMP Echo Request报文去实现，traceroute是使用UDP报文去实现，不过基本原理都是利用IP报文的TTL字段。现在的互联网复杂很多，有些路由器屏蔽了其中一种检查路径的方式（甚至两种都屏蔽），所以同时使用tracert和traceroute，再把结果合并，有时会更好。因此，traceroute实际上更有优势，因为现代版的traceroute只要加-I选项就相当于tracert的功能。据说现在还有一种使用-P选项的方式使用TCP报文的，但是我还没试过。</p>
Posted in Black Study Tagged: Packet Tracer, traceroute, tracert <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/berryfl.wordpress.com/218/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/berryfl.wordpress.com/218/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/berryfl.wordpress.com/218/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/berryfl.wordpress.com/218/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/berryfl.wordpress.com/218/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/berryfl.wordpress.com/218/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/berryfl.wordpress.com/218/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/berryfl.wordpress.com/218/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/berryfl.wordpress.com/218/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/berryfl.wordpress.com/218/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=berryfl.wordpress.com&blog=506960&post=218&subd=berryfl&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://berryfl.wordpress.com/2009/12/14/tracert%e4%b8%8etraceroute/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0ac1bf12ceaff73ef41188de398409dd?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Berry</media:title>
		</media:content>

		<media:content url="http://pic.yupoo.com/berryfl/331978891cf4/medium.jpg" medium="image">
			<media:title type="html">traceroute3</media:title>
		</media:content>

		<media:content url="http://pic.yupoo.com/berryfl/997498891cf2/medium.jpg" medium="image">
			<media:title type="html">sample-topology</media:title>
		</media:content>

		<media:content url="http://pic.yupoo.com/berryfl/683438891cf4/02utu1zg.jpg" medium="image">
			<media:title type="html">tracert1</media:title>
		</media:content>

		<media:content url="http://pic.yupoo.com/berryfl/006148891cf4/7p0m4cea.jpg" medium="image">
			<media:title type="html">tracert2</media:title>
		</media:content>

		<media:content url="http://pic.yupoo.com/berryfl/543038891cf2/el775co1.jpg" medium="image">
			<media:title type="html">traceroute1</media:title>
		</media:content>

		<media:content url="http://pic.yupoo.com/berryfl/288718891cf2/an92bo7b.jpg" medium="image">
			<media:title type="html">traceroute2</media:title>
		</media:content>
	</item>
		<item>
		<title>Ubuntu下使用Packet Tracer</title>
		<link>http://berryfl.wordpress.com/2009/12/11/ubuntu%e4%b8%8b%e4%bd%bf%e7%94%a8packet-tracer/</link>
		<comments>http://berryfl.wordpress.com/2009/12/11/ubuntu%e4%b8%8b%e4%bd%bf%e7%94%a8packet-tracer/#comments</comments>
		<pubDate>Fri, 11 Dec 2009 03:57:08 +0000</pubDate>
		<dc:creator>Berry</dc:creator>
				<category><![CDATA[Orange Software]]></category>
		<category><![CDATA[Packet Tracer]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://berryfl.wordpress.com/?p=212</guid>
		<description><![CDATA[我目前还是使用Ubuntu 8.10系统，Packet Tracer使用的是最新的5.2.1版本。
最新版的PT和以往一样，对Windows，Linux和Mac OS X都提供支持，估计主要原因是使用了Qt4编写的GUI。问题是PT针对Ubuntu的版本，字体显示很是难看（有锯齿），而新版甚至出现输入框输入IP地址时，显示不出来或者只显示部分的问题。
上网查找了一番，原来原因在于PT是用自带Qt库，而这个Qt库可能版本较旧或者存在缺陷。因此解决方法就是不使用PT自带的Qt库，转而使用系统自身的Qt库。对于Ubuntu，首先找到路径/usr/local/PacketTracer5，用编辑器打开packettracer脚本，把其中的指定库路径的LD_LIBRARY_PATH注释掉即可。第二步，系统需要安装部分Qt4的运行库，具体要安装哪些，可以参考里面的lib目录，运行库在Ubuntu里的package名字都是以libqt4开头的，具体名字用apt-cache搜索一下，比如Qt4的XML支持在Ubuntu下的安装，
sudo apt-get install libqt4-xml
其他Qt4的运行库也可以用类似的方法安装。

这样就大功告成了，运行的时候字体和系统的一致了，而且估计Ubuntu下的System菜单配置中全局的Qt4配置也会对PT起作用。完成了之后，就可以愉悦地在Ubuntu上学习CCNA或者其他思科技术了。
Posted in Orange Software Tagged: Packet Tracer, Ubuntu      <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=berryfl.wordpress.com&blog=506960&post=212&subd=berryfl&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>我目前还是使用Ubuntu 8.10系统，Packet Tracer使用的是最新的5.2.1版本。</p>
<p>最新版的PT和以往一样，对Windows，Linux和Mac OS X都提供支持，估计主要原因是使用了Qt4编写的GUI。问题是PT针对Ubuntu的版本，字体显示很是难看（有锯齿），而新版甚至出现输入框输入IP地址时，显示不出来或者只显示部分的问题。</p>
<p>上网查找了一番，原来原因在于PT是用自带Qt库，而这个Qt库可能版本较旧或者存在缺陷。因此解决方法就是不使用PT自带的Qt库，转而使用系统自身的Qt库。对于Ubuntu，首先找到路径/usr/local/PacketTracer5，用编辑器打开packettracer脚本，把其中的指定库路径的LD_LIBRARY_PATH注释掉即可。第二步，系统需要安装部分Qt4的运行库，具体要安装哪些，可以参考里面的lib目录，运行库在Ubuntu里的package名字都是以libqt4开头的，具体名字用apt-cache搜索一下，比如Qt4的XML支持在Ubuntu下的安装，</p>
<p><code>sudo apt-get install libqt4-xml</code></p>
<p>其他Qt4的运行库也可以用类似的方法安装。</p>
<p><a title="来YUPOO看我的照片" href="http://www.yupoo.com/photos/view?id=ff8080812571094f01257bb4d5ec2526"><img src="http://pic.yupoo.com/berryfl/753438852d82/medium.jpg" border="0" alt="PT" width="500" height="283" /></a></p>
<p>这样就大功告成了，运行的时候字体和系统的一致了，而且估计Ubuntu下的System菜单配置中全局的Qt4配置也会对PT起作用。完成了之后，就可以愉悦地在Ubuntu上学习CCNA或者其他思科技术了。</p>
Posted in Orange Software Tagged: Packet Tracer, Ubuntu <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/berryfl.wordpress.com/212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/berryfl.wordpress.com/212/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/berryfl.wordpress.com/212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/berryfl.wordpress.com/212/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/berryfl.wordpress.com/212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/berryfl.wordpress.com/212/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/berryfl.wordpress.com/212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/berryfl.wordpress.com/212/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/berryfl.wordpress.com/212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/berryfl.wordpress.com/212/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=berryfl.wordpress.com&blog=506960&post=212&subd=berryfl&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://berryfl.wordpress.com/2009/12/11/ubuntu%e4%b8%8b%e4%bd%bf%e7%94%a8packet-tracer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0ac1bf12ceaff73ef41188de398409dd?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Berry</media:title>
		</media:content>

		<media:content url="http://pic.yupoo.com/berryfl/753438852d82/medium.jpg" medium="image">
			<media:title type="html">PT</media:title>
		</media:content>
	</item>
		<item>
		<title>找工作</title>
		<link>http://berryfl.wordpress.com/2009/11/12/%e6%89%be%e5%b7%a5%e4%bd%9c/</link>
		<comments>http://berryfl.wordpress.com/2009/11/12/%e6%89%be%e5%b7%a5%e4%bd%9c/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 15:25:01 +0000</pubDate>
		<dc:creator>Berry</dc:creator>
				<category><![CDATA[Green Diary]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://berryfl.wordpress.com/2009/11/12/%e6%89%be%e5%b7%a5%e4%bd%9c/</guid>
		<description><![CDATA[经过一个多月的忙碌，今天总算告一段落了。
国庆刚过，迎来了百度。百度在华工五山校区举行了笔试，七点钟才开始。于是，循着曾经走过的小路，慢慢来到教学楼。很多同班同学的面孔，也有很多IBM同事的面孔。笔试是几条大题，不算很难，但也有很多不记得，出来的时候已经过了九点了。于是和女友快速赶上地铁，成功返回大学城。百度效率很高（后来才知道原来不在广州的公司都是这样），第二天就邀请去面试了，是一些技术问题，隔了一天，去三面，是经理面，主要是谈谈项目和经验，之后就是等消息了。等了很久，别人都拿到offer了，于是我也放弃等待了。不过世事难料，最后又收到百度的offer。
第二个面试的是阿里研发院，它的效率更高，因为笔试完第二天一次过举行完所有面试。我这次报的是测试，战战兢兢，却幸运地答到一些算法问题，和写出一些简单的字符串操作的代码。结果，经过几个小时后，竟然有机会去三面，三面是总监的面试，谈人生问理想，感觉还是蛮开心的，最后四面也是类似的感觉，不过时间要少一些。总的来说，一天超过八小时的面试让我筋疲力尽，但是使我对阿里有更深入的理解，我想反过来也是。本想着十拿九稳，结果事与愿违，第二天我的名字没有出现在圆桌会议的名单上，阿里就告一段落了。
第三个面试的是腾讯，笔试在大学城华工，面试则在东苑宾馆，和阿里一样，我又一次来到自己的主场。腾讯的笔试还是相对容易的，但是为此，没有能笔试网易邮箱。一面以技术面为主，发挥得还不错，二面是经理面，也是谈谈项目和经验，三面是HR面，也比较轻松，最后还有素质测试，又要去华工做，还不幸地超时九分钟。腾讯这次招人很多，素质测试的时候有人算过有一百五十多人，最后也顺利拿到offer。
第四个面试的是网易游戏，它其实在百度之后就笔试了，但是一直音信全无，以为没戏了，结果十一月初才面试。网易三令五申，所以具体的面试形式就不说了，算是很戏剧性地进入了终面，而且拿到offer。
开复说，“每一次选择和放弃的背后都有一片广阔的天空”，我也相信这句话，我选择了网易游戏，希望会有一段精彩的人生。
Posted in Green Diary Tagged: Work      <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=berryfl.wordpress.com&blog=506960&post=211&subd=berryfl&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>经过一个多月的忙碌，今天总算告一段落了。</p>
<p>国庆刚过，迎来了百度。百度在华工五山校区举行了笔试，七点钟才开始。于是，循着曾经走过的小路，慢慢来到教学楼。很多同班同学的面孔，也有很多IBM同事的面孔。笔试是几条大题，不算很难，但也有很多不记得，出来的时候已经过了九点了。于是和女友快速赶上地铁，成功返回大学城。百度效率很高（后来才知道原来不在广州的公司都是这样），第二天就邀请去面试了，是一些技术问题，隔了一天，去三面，是经理面，主要是谈谈项目和经验，之后就是等消息了。等了很久，别人都拿到offer了，于是我也放弃等待了。不过世事难料，最后又收到百度的offer。</p>
<p>第二个面试的是阿里研发院，它的效率更高，因为笔试完第二天一次过举行完所有面试。我这次报的是测试，战战兢兢，却幸运地答到一些算法问题，和写出一些简单的字符串操作的代码。结果，经过几个小时后，竟然有机会去三面，三面是总监的面试，谈人生问理想，感觉还是蛮开心的，最后四面也是类似的感觉，不过时间要少一些。总的来说，一天超过八小时的面试让我筋疲力尽，但是使我对阿里有更深入的理解，我想反过来也是。本想着十拿九稳，结果事与愿违，第二天我的名字没有出现在圆桌会议的名单上，阿里就告一段落了。</p>
<p>第三个面试的是腾讯，笔试在大学城华工，面试则在东苑宾馆，和阿里一样，我又一次来到自己的主场。腾讯的笔试还是相对容易的，但是为此，没有能笔试网易邮箱。一面以技术面为主，发挥得还不错，二面是经理面，也是谈谈项目和经验，三面是HR面，也比较轻松，最后还有素质测试，又要去华工做，还不幸地超时九分钟。腾讯这次招人很多，素质测试的时候有人算过有一百五十多人，最后也顺利拿到offer。</p>
<p>第四个面试的是网易游戏，它其实在百度之后就笔试了，但是一直音信全无，以为没戏了，结果十一月初才面试。网易三令五申，所以具体的面试形式就不说了，算是很戏剧性地进入了终面，而且拿到offer。</p>
<p>开复说，“每一次选择和放弃的背后都有一片广阔的天空”，我也相信这句话，我选择了网易游戏，希望会有一段精彩的人生。</p>
Posted in Green Diary Tagged: Work <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/berryfl.wordpress.com/211/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/berryfl.wordpress.com/211/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/berryfl.wordpress.com/211/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/berryfl.wordpress.com/211/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/berryfl.wordpress.com/211/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/berryfl.wordpress.com/211/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/berryfl.wordpress.com/211/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/berryfl.wordpress.com/211/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/berryfl.wordpress.com/211/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/berryfl.wordpress.com/211/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=berryfl.wordpress.com&blog=506960&post=211&subd=berryfl&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://berryfl.wordpress.com/2009/11/12/%e6%89%be%e5%b7%a5%e4%bd%9c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0ac1bf12ceaff73ef41188de398409dd?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Berry</media:title>
		</media:content>
	</item>
		<item>
		<title>逐渐离开盗版</title>
		<link>http://berryfl.wordpress.com/2009/06/28/%e9%80%90%e6%b8%90%e7%a6%bb%e5%bc%80%e7%9b%97%e7%89%88/</link>
		<comments>http://berryfl.wordpress.com/2009/06/28/%e9%80%90%e6%b8%90%e7%a6%bb%e5%bc%80%e7%9b%97%e7%89%88/#comments</comments>
		<pubDate>Sun, 28 Jun 2009 01:59:24 +0000</pubDate>
		<dc:creator>Berry</dc:creator>
				<category><![CDATA[Green Diary]]></category>
		<category><![CDATA[WPS]]></category>

		<guid isPermaLink="false">http://berryfl.wordpress.com/?p=209</guid>
		<description><![CDATA[上个月开始使用WPS2009个人版代替微软的Office 2007，现在离完全正版又进了一步。
以前长期使用盗版Windows操作系统，这个情况终于在我上年第一次买笔记本电脑时结束，因为笔记本上面预安装了正版的Windows Vista Home版。其他小软件现在已经很多是免费的了，所以基本不用担心，比如浏览器可以用Firefox，FTP客户端可以用FileZilla，视频播放软件可以用暴风影音（虽然臭名昭著，但是我比较懒），音频播放软件可以用千千静听。但是大型软件就不容易找到免费或者开源的替代品。微软的Office的替代品主要有国内的WPS，永中Office，还有开源的OpenOffice，以及基于它的Lotus Symphony等。我装了WPS2009之后感觉很不错，到现在超过一个月了。
WPS2009跟之前的WPS其实差不多，界面上和Office 2003非常相似。可以把WPS2009看作是Office 2003的提速版，因为启动速度非常快，也可以看作是轻量版，去掉了一些对于我不常用的功能，剩下的安装文件只有29MB左右，但同时又对已有的功能作了一些改善。WPS2009我喜欢的功能就是公式编辑器，它比起微软那个真是方便多了，最常用的希腊字母、数学符号等，都只需要点一下到两下鼠标就可以输入了。WPS2009还有一个创新的功能，就是提供了网络硬盘，可以直接把文档保存在网络硬盘里，这个功能还是不错的，虽然其他的同步软件也能做到。
WPS2009也不是很完美，不能称作完美的Office 2003。比如它的演示软件，比起PowerPoint还是有一些缺陷，比如要粘帖图片进ppt，原来的文本框一定会自动缩小一半，而图片则放到右边。
但是不管怎样，WPS2009让我又向正版靠近一步，我目前只剩下FTP客户端还是用着破解版的FlashFXP。另外，WPS2009比起Linux下的OpenOffice真是好太多太多了，不过Windows版的OpenOffice我还没有试过，我希望有一天也能在Linux下轻松愉快地有处理各种各样的doc、xls和ppt文档。
Posted in Green Diary Tagged: WPS      <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=berryfl.wordpress.com&blog=506960&post=209&subd=berryfl&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>上个月开始使用WPS2009个人版代替微软的Office 2007，现在离完全正版又进了一步。</p>
<p>以前长期使用盗版Windows操作系统，这个情况终于在我上年第一次买笔记本电脑时结束，因为笔记本上面预安装了正版的Windows Vista Home版。其他小软件现在已经很多是免费的了，所以基本不用担心，比如浏览器可以用Firefox，FTP客户端可以用FileZilla，视频播放软件可以用暴风影音（虽然臭名昭著，但是我比较懒），音频播放软件可以用千千静听。但是大型软件就不容易找到免费或者开源的替代品。微软的Office的替代品主要有国内的WPS，永中Office，还有开源的OpenOffice，以及基于它的Lotus Symphony等。我装了WPS2009之后感觉很不错，到现在超过一个月了。</p>
<div id="attachment_208" class="wp-caption alignnone" style="width: 439px"><img class="size-full wp-image-208" title="wps2009" src="http://berryfl.files.wordpress.com/2009/06/wps2009.jpg?w=429&#038;h=304" alt="wps2009" width="429" height="304" /><p class="wp-caption-text">wps2009</p></div>
<p>WPS2009跟之前的WPS其实差不多，界面上和Office 2003非常相似。可以把WPS2009看作是Office 2003的提速版，因为启动速度非常快，也可以看作是轻量版，去掉了一些对于我不常用的功能，剩下的安装文件只有29MB左右，但同时又对已有的功能作了一些改善。WPS2009我喜欢的功能就是公式编辑器，它比起微软那个真是方便多了，最常用的希腊字母、数学符号等，都只需要点一下到两下鼠标就可以输入了。WPS2009还有一个创新的功能，就是提供了网络硬盘，可以直接把文档保存在网络硬盘里，这个功能还是不错的，虽然其他的同步软件也能做到。</p>
<p>WPS2009也不是很完美，不能称作完美的Office 2003。比如它的演示软件，比起PowerPoint还是有一些缺陷，比如要粘帖图片进ppt，原来的文本框一定会自动缩小一半，而图片则放到右边。</p>
<p>但是不管怎样，WPS2009让我又向正版靠近一步，我目前只剩下FTP客户端还是用着破解版的FlashFXP。另外，WPS2009比起Linux下的OpenOffice真是好太多太多了，不过Windows版的OpenOffice我还没有试过，我希望有一天也能在Linux下轻松愉快地有处理各种各样的doc、xls和ppt文档。</p>
Posted in Green Diary Tagged: WPS <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/berryfl.wordpress.com/209/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/berryfl.wordpress.com/209/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/berryfl.wordpress.com/209/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/berryfl.wordpress.com/209/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/berryfl.wordpress.com/209/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/berryfl.wordpress.com/209/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/berryfl.wordpress.com/209/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/berryfl.wordpress.com/209/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/berryfl.wordpress.com/209/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/berryfl.wordpress.com/209/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=berryfl.wordpress.com&blog=506960&post=209&subd=berryfl&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://berryfl.wordpress.com/2009/06/28/%e9%80%90%e6%b8%90%e7%a6%bb%e5%bc%80%e7%9b%97%e7%89%88/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0ac1bf12ceaff73ef41188de398409dd?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Berry</media:title>
		</media:content>

		<media:content url="http://berryfl.files.wordpress.com/2009/06/wps2009.jpg" medium="image">
			<media:title type="html">wps2009</media:title>
		</media:content>
	</item>
		<item>
		<title>vi的缓冲区</title>
		<link>http://berryfl.wordpress.com/2009/05/21/vi%e7%9a%84%e7%bc%93%e5%86%b2%e5%8c%ba/</link>
		<comments>http://berryfl.wordpress.com/2009/05/21/vi%e7%9a%84%e7%bc%93%e5%86%b2%e5%8c%ba/#comments</comments>
		<pubDate>Thu, 21 May 2009 05:20:56 +0000</pubDate>
		<dc:creator>Berry</dc:creator>
				<category><![CDATA[Black Study]]></category>
		<category><![CDATA[vi]]></category>

		<guid isPermaLink="false">http://berryfl.wordpress.com/?p=204</guid>
		<description><![CDATA[vi的缓冲区除了保存当前文本之外，还可以完成复制、粘帖等任务。熟悉vi的缓冲区对于使用vi编辑文档有很大好处。
vi有一个保存当前文本内容的缓冲区，编辑文档的时候只是改变这个缓冲区的内容，存盘的时候vi才会把缓冲区内容拷贝到磁盘。
vi中非常有用的缓冲区是用来做复制和粘帖的。每次使用d命令（表示delete）和y命令（表示yank），其实vi就是把相应的删除内容或者复制内容放到缓冲区，使用p命令（表示paste）就会把这个无名缓冲区的内容放到光标所在位置。因此d和p组合使用就能实现剪切的效果，y和p组合使用就能实现复制的效果。
但是只有一个用来复制和粘帖的缓冲区，灵活性还不够。其实vi也考虑到这一点，因此除了这个无名缓冲区，vi还提供a到z一共26个命名的缓冲区，可以像无名缓冲区一样使用。需要使用时，先敲双引号&#8221;，然后敲a到z其中一个字母表示指定改名字的缓冲区，然后d和y命令照常输入即可。
除了英文命名缓冲区，其实vi还提供数字命名缓冲区，从1到9。这9个缓冲区不能随意存，能随意取。实际上这些缓冲区是之前的d和y命令所得的缓冲区，举个例子，如果执行d命令，那么内容会放到1号缓冲区，再执行y命令，新的内容放到1号缓冲区，而原来1号缓冲区的内容则放置在2号缓冲区，以此类推。因此可以合理猜测，1号缓冲区和无名缓冲区可能是同一回事。
Posted in Black Study Tagged: vi      <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=berryfl.wordpress.com&blog=506960&post=204&subd=berryfl&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>vi的缓冲区除了保存当前文本之外，还可以完成复制、粘帖等任务。熟悉vi的缓冲区对于使用vi编辑文档有很大好处。</p>
<p>vi有一个保存当前文本内容的缓冲区，编辑文档的时候只是改变这个缓冲区的内容，存盘的时候vi才会把缓冲区内容拷贝到磁盘。</p>
<p>vi中非常有用的缓冲区是用来做复制和粘帖的。每次使用d命令（表示delete）和y命令（表示yank），其实vi就是把相应的删除内容或者复制内容放到缓冲区，使用p命令（表示paste）就会把这个无名缓冲区的内容放到光标所在位置。因此d和p组合使用就能实现剪切的效果，y和p组合使用就能实现复制的效果。</p>
<div class="wp-caption alignnone" style="width: 510px"><img title="vi buffer" src="http://pic.yupoo.com/berryfl/997167784c5c/medium.jpg" alt="vi buffer" width="500" height="322" /><p class="wp-caption-text">vi buffer</p></div>
<p>但是只有一个用来复制和粘帖的缓冲区，灵活性还不够。其实vi也考虑到这一点，因此除了这个无名缓冲区，vi还提供a到z一共26个命名的缓冲区，可以像无名缓冲区一样使用。需要使用时，先敲双引号&#8221;，然后敲a到z其中一个字母表示指定改名字的缓冲区，然后d和y命令照常输入即可。</p>
<p>除了英文命名缓冲区，其实vi还提供数字命名缓冲区，从1到9。这9个缓冲区不能随意存，能随意取。实际上这些缓冲区是之前的d和y命令所得的缓冲区，举个例子，如果执行d命令，那么内容会放到1号缓冲区，再执行y命令，新的内容放到1号缓冲区，而原来1号缓冲区的内容则放置在2号缓冲区，以此类推。因此可以合理猜测，1号缓冲区和无名缓冲区可能是同一回事。</p>
Posted in Black Study Tagged: vi <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/berryfl.wordpress.com/204/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/berryfl.wordpress.com/204/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/berryfl.wordpress.com/204/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/berryfl.wordpress.com/204/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/berryfl.wordpress.com/204/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/berryfl.wordpress.com/204/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/berryfl.wordpress.com/204/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/berryfl.wordpress.com/204/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/berryfl.wordpress.com/204/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/berryfl.wordpress.com/204/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=berryfl.wordpress.com&blog=506960&post=204&subd=berryfl&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://berryfl.wordpress.com/2009/05/21/vi%e7%9a%84%e7%bc%93%e5%86%b2%e5%8c%ba/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0ac1bf12ceaff73ef41188de398409dd?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Berry</media:title>
		</media:content>

		<media:content url="http://pic.yupoo.com/berryfl/997167784c5c/medium.jpg" medium="image">
			<media:title type="html">vi buffer</media:title>
		</media:content>
	</item>
		<item>
		<title>弹出GNOME右键菜单</title>
		<link>http://berryfl.wordpress.com/2009/05/16/%e5%bc%b9%e5%87%bagnome%e5%8f%b3%e9%94%ae%e8%8f%9c%e5%8d%95/</link>
		<comments>http://berryfl.wordpress.com/2009/05/16/%e5%bc%b9%e5%87%bagnome%e5%8f%b3%e9%94%ae%e8%8f%9c%e5%8d%95/#comments</comments>
		<pubDate>Sat, 16 May 2009 00:36:31 +0000</pubDate>
		<dc:creator>Berry</dc:creator>
				<category><![CDATA[Black Study]]></category>
		<category><![CDATA[GNOME]]></category>

		<guid isPermaLink="false">http://berryfl.wordpress.com/?p=201</guid>
		<description><![CDATA[弹出GNOME右键菜单的方法，顾名思义，就是单击鼠标右键弹出的菜单。但是如果鼠标不灵，也有其他的键盘替代方法。可以用键盘上的Context键（一般和Win键位置相对），这样也能弹出右键菜单。如果键盘上没有这个键，还可以用快捷键Shift+F10达到目的。
Posted in Black Study Tagged: GNOME      <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=berryfl.wordpress.com&blog=506960&post=201&subd=berryfl&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>弹出GNOME右键菜单的方法，顾名思义，就是单击鼠标右键弹出的菜单。但是如果鼠标不灵，也有其他的键盘替代方法。可以用键盘上的Context键（一般和Win键位置相对），这样也能弹出右键菜单。如果键盘上没有这个键，还可以用快捷键Shift+F10达到目的。</p>
<div class="wp-caption alignnone" style="width: 348px"><img title="Context Menu" src="http://pic.yupoo.com/berryfl/018817717ff2/81nbtf7x.jpg" alt="Context Menu" width="338" height="296" /><p class="wp-caption-text">Context Menu</p></div>
Posted in Black Study Tagged: GNOME <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/berryfl.wordpress.com/201/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/berryfl.wordpress.com/201/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/berryfl.wordpress.com/201/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/berryfl.wordpress.com/201/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/berryfl.wordpress.com/201/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/berryfl.wordpress.com/201/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/berryfl.wordpress.com/201/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/berryfl.wordpress.com/201/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/berryfl.wordpress.com/201/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/berryfl.wordpress.com/201/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=berryfl.wordpress.com&blog=506960&post=201&subd=berryfl&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://berryfl.wordpress.com/2009/05/16/%e5%bc%b9%e5%87%bagnome%e5%8f%b3%e9%94%ae%e8%8f%9c%e5%8d%95/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0ac1bf12ceaff73ef41188de398409dd?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Berry</media:title>
		</media:content>

		<media:content url="http://pic.yupoo.com/berryfl/018817717ff2/81nbtf7x.jpg" medium="image">
			<media:title type="html">Context Menu</media:title>
		</media:content>
	</item>
		<item>
		<title>GNOME的鼠标中键</title>
		<link>http://berryfl.wordpress.com/2009/05/15/gnome%e7%9a%84%e9%bc%a0%e6%a0%87%e4%b8%ad%e9%94%ae/</link>
		<comments>http://berryfl.wordpress.com/2009/05/15/gnome%e7%9a%84%e9%bc%a0%e6%a0%87%e4%b8%ad%e9%94%ae/#comments</comments>
		<pubDate>Fri, 15 May 2009 03:14:12 +0000</pubDate>
		<dc:creator>Berry</dc:creator>
				<category><![CDATA[Black Study]]></category>
		<category><![CDATA[GNOME]]></category>

		<guid isPermaLink="false">http://berryfl.wordpress.com/?p=199</guid>
		<description><![CDATA[鼠标中键一般我只作为滚轮使用，而没有考虑过它还有其他功能。然而在GNOME里，鼠标中键有着实用的功能。
首先，如果我们在剪贴板里已经有复制的文字，则可以直接在目标地方单击中键，执行粘帖。还有一个更有趣的方法，也可以执行复制文字和粘帖，先用鼠标选定一些文字，但是不需要Ctrl+C复制，直接在目的地单击中键，就可以把选定的文字粘帖。下图中演示了把选择了的“Move”复制到“Search框”里。
Posted in Black Study Tagged: GNOME      <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=berryfl.wordpress.com&blog=506960&post=199&subd=berryfl&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>鼠标中键一般我只作为滚轮使用，而没有考虑过它还有其他功能。然而在GNOME里，鼠标中键有着实用的功能。</p>
<p>首先，如果我们在剪贴板里已经有复制的文字，则可以直接在目标地方单击中键，执行粘帖。还有一个更有趣的方法，也可以执行复制文字和粘帖，先用鼠标选定一些文字，但是不需要Ctrl+C复制，直接在目的地单击中键，就可以把选定的文字粘帖。下图中演示了把选择了的“Move”复制到“Search框”里。</p>
<div class="wp-caption alignnone" style="width: 510px"><img title="MiddleClick" src="http://pic.yupoo.com/berryfl/2702877028fd/medium.jpg" alt="MiddleClick" width="500" height="284" /><p class="wp-caption-text">MiddleClick</p></div>
Posted in Black Study Tagged: GNOME <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/berryfl.wordpress.com/199/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/berryfl.wordpress.com/199/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/berryfl.wordpress.com/199/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/berryfl.wordpress.com/199/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/berryfl.wordpress.com/199/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/berryfl.wordpress.com/199/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/berryfl.wordpress.com/199/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/berryfl.wordpress.com/199/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/berryfl.wordpress.com/199/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/berryfl.wordpress.com/199/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=berryfl.wordpress.com&blog=506960&post=199&subd=berryfl&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://berryfl.wordpress.com/2009/05/15/gnome%e7%9a%84%e9%bc%a0%e6%a0%87%e4%b8%ad%e9%94%ae/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0ac1bf12ceaff73ef41188de398409dd?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Berry</media:title>
		</media:content>

		<media:content url="http://pic.yupoo.com/berryfl/2702877028fd/medium.jpg" medium="image">
			<media:title type="html">MiddleClick</media:title>
		</media:content>
	</item>
		<item>
		<title>nslookup的使用</title>
		<link>http://berryfl.wordpress.com/2009/05/10/nslookup%e7%9a%84%e4%bd%bf%e7%94%a8/</link>
		<comments>http://berryfl.wordpress.com/2009/05/10/nslookup%e7%9a%84%e4%bd%bf%e7%94%a8/#comments</comments>
		<pubDate>Sun, 10 May 2009 11:27:58 +0000</pubDate>
		<dc:creator>Berry</dc:creator>
				<category><![CDATA[Black Study]]></category>
		<category><![CDATA[Colorful Internet]]></category>

		<guid isPermaLink="false">http://berryfl.wordpress.com/?p=196</guid>
		<description><![CDATA[终于抽出时间继续上次还没说完的话题。总结一下nslookup的用法，当然这里的nslookup是Linux下的，Windows下的nslookup我没有怎么研究，貌似弱一些。
nslookup命令后的参数跟的是域名服务器的名字或者IP地址，比如“nslookup 202.116.64.2”，表示查询该域名服务器里的信息。如果不指定参数，则使用/etc/resolv.conf中设定的域名服务器。敲了命令之后进入交互模式，就可以查询了。
开启后默认是查询A条目的，即域名到IP地址的查询。也是大家最常用的查询方式，查询的结果有两种可能的字眼，“Authoritative”和“Non-authoritative”。如果得到后者的答案，表明是从服务器的cache得到的，进一步可以推断该DNS服务器是cache-only的服务器，因为现在架DNS服务器一般都把含区域信息的服务器和纯粹作查询用途的服务器分开；前者表明信息是直接查该区域授权机器得到。
除了常用的A条目外，实际上每个DNS服务器中的区域信息还包含其他条目，下面就逐个看一下。SOA (Start of Authority)条目，声明区域管辖权与基本资料；NS条目，指明了本区域下的域名服务器；MX条目，指明了本区域的邮件交换中心服务器；AAAA条目，和A条目类似，但是是IPv6的。要改变nslookup查询的条目类型，使用“set type=x”，如上图所示。也可以指定为“set type=any”，这样就查询所有的条目。
Posted in Black Study, Colorful Internet       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=berryfl.wordpress.com&blog=506960&post=196&subd=berryfl&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>终于抽出时间继续上次还没说完的话题。总结一下nslookup的用法，当然这里的nslookup是Linux下的，Windows下的nslookup我没有怎么研究，貌似弱一些。</p>
<p>nslookup命令后的参数跟的是域名服务器的名字或者IP地址，比如“nslookup 202.116.64.2”，表示查询该域名服务器里的信息。如果不指定参数，则使用/etc/resolv.conf中设定的域名服务器。敲了命令之后进入交互模式，就可以查询了。</p>
<p>开启后默认是查询A条目的，即域名到IP地址的查询。也是大家最常用的查询方式，查询的结果有两种可能的字眼，“Authoritative”和“Non-authoritative”。如果得到后者的答案，表明是从服务器的cache得到的，进一步可以推断该DNS服务器是cache-only的服务器，因为现在架DNS服务器一般都把含区域信息的服务器和纯粹作查询用途的服务器分开；前者表明信息是直接查该区域授权机器得到。</p>
<div class="wp-caption alignnone" style="width: 510px"><img title="nslookup1" src="http://pic.yupoo.com/berryfl/171187548d02/medium.jpg" alt="nslookup1" width="500" height="322" /><p class="wp-caption-text">nslookup1</p></div>
<div class="wp-caption alignnone" style="width: 510px"><img title="nslookup2" src="http://pic.yupoo.com/berryfl/206487548d04/medium.jpg" alt="nslookup2" width="500" height="322" /><p class="wp-caption-text">nslookup2</p></div>
<p>除了常用的A条目外，实际上每个DNS服务器中的区域信息还包含其他条目，下面就逐个看一下。SOA (Start of Authority)条目，声明区域管辖权与基本资料；NS条目，指明了本区域下的域名服务器；MX条目，指明了本区域的邮件交换中心服务器；AAAA条目，和A条目类似，但是是IPv6的。要改变nslookup查询的条目类型，使用“set type=x”，如上图所示。也可以指定为“set type=any”，这样就查询所有的条目。</p>
Posted in Black Study, Colorful Internet  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/berryfl.wordpress.com/196/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/berryfl.wordpress.com/196/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/berryfl.wordpress.com/196/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/berryfl.wordpress.com/196/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/berryfl.wordpress.com/196/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/berryfl.wordpress.com/196/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/berryfl.wordpress.com/196/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/berryfl.wordpress.com/196/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/berryfl.wordpress.com/196/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/berryfl.wordpress.com/196/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=berryfl.wordpress.com&blog=506960&post=196&subd=berryfl&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://berryfl.wordpress.com/2009/05/10/nslookup%e7%9a%84%e4%bd%bf%e7%94%a8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0ac1bf12ceaff73ef41188de398409dd?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Berry</media:title>
		</media:content>

		<media:content url="http://pic.yupoo.com/berryfl/171187548d02/medium.jpg" medium="image">
			<media:title type="html">nslookup1</media:title>
		</media:content>

		<media:content url="http://pic.yupoo.com/berryfl/206487548d04/medium.jpg" medium="image">
			<media:title type="html">nslookup2</media:title>
		</media:content>
	</item>
		<item>
		<title>次探DNS</title>
		<link>http://berryfl.wordpress.com/2009/04/25/%e6%ac%a1%e6%8e%a2dns/</link>
		<comments>http://berryfl.wordpress.com/2009/04/25/%e6%ac%a1%e6%8e%a2dns/#comments</comments>
		<pubDate>Sat, 25 Apr 2009 09:45:07 +0000</pubDate>
		<dc:creator>Berry</dc:creator>
				<category><![CDATA[Black Study]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[Network]]></category>

		<guid isPermaLink="false">http://berryfl.wordpress.com/?p=193</guid>
		<description><![CDATA[之前已经写过一次DNS的文章了，不过那时刚接触，文中还有很多不正确的地方。DNS分为客户端和服务器端，客户端称为resolver，但是不是一个应用程序，而是一个函数库。在Linux里，resolver实现在libc库中，这个话题以后研究到再写。今天主要想总结一下域名服务器的查询方法，以及nslookup的使用方法。
域名系统是按层次划分的，从根域“.”开始。它可以使得不同域的主机可以改一样的名字，只要保证一个域里的名字不重复就可以了，类似于C++和Java的命名空间的好处。然后还要引入一个“区域（zone）”的概念，它跟“域（domain）”不同，区域指的是域里的管理范围。举个例子，假设域“.sysu.edu.cn”由中大管理，然后中大把子域“cs.sysu.edu.cn”授权给计算机系管理，那么中大管理的区域实际上是除了计算机系外的主机。也就是说，中大负责给各个主机域名解析，除了计算机系的主机外。
域定义了层次结构，区域定义了管理范围。每个区域可以授权下级管理一个子域，从而把子域所在的区域划出自己的管理。因此，每个区域的域名服务器只包含自己区域的名字解析，不包含已授权出去的子域的解析，但是会包含授权的子域的域名服务器名字。IANA规定每个区域至少包含两台DNS服务器。
比如想查询cisco.sysu.edu.cn。首先得查根域的域名服务器，查询“cisco.sysu.edu.cn”，但是根域中没有这个名字的解析，它会返回“.cn”子域的域名服务器。然后再向该域名服务器作同样的查询，这次还是没有得到结果，服务器只是返回“.edu.cn”的域名服务器。一直重复下去。
顺便值得一提的是，执行查询任务的DNS服务器一般是catch-only的服务器。DNS服务器分两种，一种是保存区域信息，另一种专门执行查询任务。我们在操作系统一般配置的DNS服务器就是catch-only的，只作查询任务的服务器。
Posted in Black Study Tagged: DNS, Network      <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=berryfl.wordpress.com&blog=506960&post=193&subd=berryfl&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>之前已经写过一次DNS的文章了，不过那时刚接触，文中还有很多不正确的地方。DNS分为客户端和服务器端，客户端称为resolver，但是不是一个应用程序，而是一个函数库。在Linux里，resolver实现在libc库中，这个话题以后研究到再写。今天主要想总结一下域名服务器的查询方法，以及nslookup的使用方法。</p>
<p>域名系统是按层次划分的，从根域“.”开始。它可以使得不同域的主机可以改一样的名字，只要保证一个域里的名字不重复就可以了，类似于C++和Java的命名空间的好处。然后还要引入一个“区域（zone）”的概念，它跟“域（domain）”不同，区域指的是域里的管理范围。举个例子，假设域“.sysu.edu.cn”由中大管理，然后中大把子域“cs.sysu.edu.cn”授权给计算机系管理，那么中大管理的区域实际上是除了计算机系外的主机。也就是说，中大负责给各个主机域名解析，除了计算机系的主机外。</p>
<div class="wp-caption alignnone" style="width: 465px"><img title="Domain Name System" src="http://pic.yupoo.com/berryfl/664847564fdf/3kg3owms.jpg" alt="Domain Name System" width="455" height="295" /><p class="wp-caption-text">Domain Name System</p></div>
<p>域定义了层次结构，区域定义了管理范围。每个区域可以授权下级管理一个子域，从而把子域所在的区域划出自己的管理。因此，每个区域的域名服务器只包含自己区域的名字解析，不包含已授权出去的子域的解析，但是会包含授权的子域的域名服务器名字。IANA规定每个区域至少包含两台DNS服务器。</p>
<p>比如想查询cisco.sysu.edu.cn。首先得查根域的域名服务器，查询“cisco.sysu.edu.cn”，但是根域中没有这个名字的解析，它会返回“.cn”子域的域名服务器。然后再向该域名服务器作同样的查询，这次还是没有得到结果，服务器只是返回“.edu.cn”的域名服务器。一直重复下去。</p>
<p>顺便值得一提的是，执行查询任务的DNS服务器一般是catch-only的服务器。DNS服务器分两种，一种是保存区域信息，另一种专门执行查询任务。我们在操作系统一般配置的DNS服务器就是catch-only的，只作查询任务的服务器。</p>
Posted in Black Study Tagged: DNS, Network <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/berryfl.wordpress.com/193/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/berryfl.wordpress.com/193/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/berryfl.wordpress.com/193/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/berryfl.wordpress.com/193/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/berryfl.wordpress.com/193/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/berryfl.wordpress.com/193/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/berryfl.wordpress.com/193/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/berryfl.wordpress.com/193/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/berryfl.wordpress.com/193/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/berryfl.wordpress.com/193/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=berryfl.wordpress.com&blog=506960&post=193&subd=berryfl&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://berryfl.wordpress.com/2009/04/25/%e6%ac%a1%e6%8e%a2dns/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0ac1bf12ceaff73ef41188de398409dd?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Berry</media:title>
		</media:content>

		<media:content url="http://pic.yupoo.com/berryfl/664847564fdf/3kg3owms.jpg" medium="image">
			<media:title type="html">Domain Name System</media:title>
		</media:content>
	</item>
		<item>
		<title>初探/dev/random</title>
		<link>http://berryfl.wordpress.com/2009/04/10/%e5%88%9d%e6%8e%a2devrandom/</link>
		<comments>http://berryfl.wordpress.com/2009/04/10/%e5%88%9d%e6%8e%a2devrandom/#comments</comments>
		<pubDate>Fri, 10 Apr 2009 13:37:51 +0000</pubDate>
		<dc:creator>Berry</dc:creator>
				<category><![CDATA[Black Study]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://berryfl.wordpress.com/?p=191</guid>
		<description><![CDATA[以前我以为比较基本的产生随机数的方法就是用C语言中的srand()和rand()函数。但是最近我发现除了这种方法之外，还有使用起来几乎一样简单的方法，就是读取/dev/random设备文件。
以前要生成随机数，通常首先用srand()设定种子。为了要每次运行的结果不一样，种子也必须不同。所以比较简单的方法就是利用time()函数返回当前的时间作为种子。如果希望随机性更大一些，则种子设定时也可以考虑其他因素，比如目前内存的使用数目，甚至同时包含好几个因素。
最近，我发现了有一种更简便，但是效果要更好的方法，就是使用字符型设备文件/dev/random。据Wikipedia说，是Linux首先实现了这个设备文件，不过现在其他Unix-like的系统也能找到。使用这个文件产生随机数很简单，就是先打开这个文件，然后读取里面的字节就可以了。它的优点是随机数质量非常高，甚至可以用在一次性加密的环境下，我的理解是它跟伪随机数产生器还是有点区别。不过读取这个文件需要注意要使用二进制的读取方式，用fread库函数，或者read系统调用，因为字节中可能有各种字符。另外，/dev/random不能并发打开，如果要并发打开，据说可以使用/dev/urandom，u表示unlock。
Posted in Black Study Tagged: Linux      <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=berryfl.wordpress.com&blog=506960&post=191&subd=berryfl&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>以前我以为比较基本的产生随机数的方法就是用C语言中的srand()和rand()函数。但是最近我发现除了这种方法之外，还有使用起来几乎一样简单的方法，就是读取/dev/random设备文件。</p>
<p>以前要生成随机数，通常首先用srand()设定种子。为了要每次运行的结果不一样，种子也必须不同。所以比较简单的方法就是利用time()函数返回当前的时间作为种子。如果希望随机性更大一些，则种子设定时也可以考虑其他因素，比如目前内存的使用数目，甚至同时包含好几个因素。</p>
<div class="wp-caption alignnone" style="width: 510px"><img title="/dev/random" src="http://pic.yupoo.com/berryfl/77910742bf1c/medium.jpg" alt="/dev/random" width="500" height="322" /><p class="wp-caption-text">/dev/random</p></div>
<p>最近，我发现了有一种更简便，但是效果要更好的方法，就是使用字符型设备文件/dev/random。据Wikipedia说，是Linux首先实现了这个设备文件，不过现在其他Unix-like的系统也能找到。使用这个文件产生随机数很简单，就是先打开这个文件，然后读取里面的字节就可以了。它的优点是随机数质量非常高，甚至可以用在一次性加密的环境下，我的理解是它跟伪随机数产生器还是有点区别。不过读取这个文件需要注意要使用二进制的读取方式，用fread库函数，或者read系统调用，因为字节中可能有各种字符。另外，/dev/random不能并发打开，如果要并发打开，据说可以使用/dev/urandom，u表示unlock。</p>
Posted in Black Study Tagged: Linux <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/berryfl.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/berryfl.wordpress.com/191/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/berryfl.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/berryfl.wordpress.com/191/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/berryfl.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/berryfl.wordpress.com/191/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/berryfl.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/berryfl.wordpress.com/191/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/berryfl.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/berryfl.wordpress.com/191/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=berryfl.wordpress.com&blog=506960&post=191&subd=berryfl&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://berryfl.wordpress.com/2009/04/10/%e5%88%9d%e6%8e%a2devrandom/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0ac1bf12ceaff73ef41188de398409dd?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Berry</media:title>
		</media:content>

		<media:content url="http://pic.yupoo.com/berryfl/77910742bf1c/medium.jpg" medium="image">
			<media:title type="html">/dev/random</media:title>
		</media:content>
	</item>
	</channel>
</rss>