﻿<?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"
	>

<channel>
	<title>SA Notes</title>
	<atom:link href="http://www.sanotes.net/feed" rel="self" type="application/rss+xml" />
	<link>http://www.sanotes.net</link>
	<description>又一个 WordPress Blog</description>
	<pubDate>Wed, 10 Dec 2008 03:19:48 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
	<language>en</language>
			<item>
		<title>虚拟化介绍及主流产品对比</title>
		<link>http://www.sanotes.net/html/y2008/260.html</link>
		<comments>http://www.sanotes.net/html/y2008/260.html#comments</comments>
		<pubDate>Wed, 10 Dec 2008 03:07:05 +0000</pubDate>
		<dc:creator>i_amok</dc:creator>
		
		<category><![CDATA[未分类]]></category>

		<category><![CDATA[hyper-v]]></category>

		<category><![CDATA[vmware]]></category>

		<category><![CDATA[虚拟化]]></category>

		<guid isPermaLink="false">http://www.sanotes.net/?p=260</guid>
		<description><![CDATA[点此下载
存成rar即可... ]]></description>
			<content:encoded><![CDATA[<p><a href="http://bbs.be10.com/vbb3.0.1/attachment.php?attachmentid=271">点此下载</a></p>
<p>存成rar即可</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sanotes.net/html/y2008/260.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>007：大破量子危机</title>
		<link>http://www.sanotes.net/html/y2008/255.html</link>
		<comments>http://www.sanotes.net/html/y2008/255.html#comments</comments>
		<pubDate>Tue, 25 Nov 2008 05:22:20 +0000</pubDate>
		<dc:creator>finalbsd</dc:creator>
		
		<category><![CDATA[影视]]></category>

		<guid isPermaLink="false">http://www.sanotes.net/?p=255</guid>
		<description><![CDATA[周五去看了《007：大破量子危机》，还是数字电影，呵呵，土了，第一次看数字版，发现很清晰，非常爽。
说说这部007吧：
情节上不是非常复杂，一味追求情节的影迷可能会感到失望了；
邦... ]]></description>
			<content:encoded><![CDATA[<p>周五去看了《007：大破量子危机》，还是数字电影，呵呵，土了，第一次看数字版，发现很清晰，非常爽。</p>
<p>说说这部007吧：<br />
情节上不是非常复杂，一味追求情节的影迷可能会感到失望了；<br />
邦女郎，呵呵，邦女郎是国际名模，第一次出演这么重要的角色，感觉在这部007中，邦女郎的戏份其实不多，不是我眼中的那种美女，但是，身材蛮好，哈哈。</p>
<p>但是我还是满喜欢的，或许是因为工作太累，感觉看场电影很放松的缘故吧。还有一个原因是好莱坞的大片看起来场面效果很好，特别是里面的飞车，以及007的各种暴力。速度、力量以及震撼的视觉效果是我们这种天天坐办公室的、坐得患颈椎病的办公一族很好的发泄、放松追求。啥都不说了，去看吧，这次据说是007史上的票房记录。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sanotes.net/html/y2008/255.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>递归和反复查询</title>
		<link>http://www.sanotes.net/html/y2008/253.html</link>
		<comments>http://www.sanotes.net/html/y2008/253.html#comments</comments>
		<pubDate>Mon, 24 Nov 2008 09:05:27 +0000</pubDate>
		<dc:creator>finalbsd</dc:creator>
		
		<category><![CDATA[DNS]]></category>

		<category><![CDATA[recursion]]></category>

		<guid isPermaLink="false">http://www.sanotes.net/?p=253</guid>
		<description><![CDATA[recursion:递归，是一个name server在自己不能提供授权解析的前提下，代替resolver去向其他name server请求解析，待自己得到结果后，再将这个结果返回给local dns（resolver）。递归不一定就是直接向root... ]]></description>
			<content:encoded><![CDATA[<p>recursion:递归，是一个name server在自己不能提供授权解析的前提下，代替resolver去向其他name server请求解析，待自己得到结果后，再将这个结果返回给local dns（resolver）。递归不一定就是直接向root去查，而是先在自己的cache里查找这个域名的就近name server。递归的时候总是将原样查询请求发送给其他Name server，而不会修改它。</p>
<p>Iteration：反复查询，指的是一个name server在自己不能提供授权解析的前提下，直接告诉resolver 你该去某某name server上查。自己只是想指路一样，并不替人跑一圈，local dns在接到回复后，自己再屁颠屁颠的跑去问那台name server，可能那台name server又告诉它一个地址，local dns就又屁颠屁颠的跑去了。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sanotes.net/html/y2008/253.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Perl精简版netstat</title>
		<link>http://www.sanotes.net/html/y2008/247.html</link>
		<comments>http://www.sanotes.net/html/y2008/247.html#comments</comments>
		<pubDate>Thu, 20 Nov 2008 13:24:38 +0000</pubDate>
		<dc:creator>finalbsd</dc:creator>
		
		<category><![CDATA[Perl]]></category>

		<guid isPermaLink="false">http://www.sanotes.net/?p=247</guid>
		<description><![CDATA[写作意图：
Linux系统自带的netstat在很多时候抓信息会发现耗CPU很高，特别是在做一些监控系统的时候，
发现如果使用了netstat，监控系统本身会造成系统负载比较高，因此试着用perl写下，time测... ]]></description>
			<content:encoded><![CDATA[<p>写作意图：<br />
Linux系统自带的netstat在很多时候抓信息会发现耗CPU很高，特别是在做一些监控系统的时候，<br />
发现如果使用了netstat，监控系统本身会造成系统负载比较高，因此试着用perl写下，time测试比自带的<br />
netstat更快更节省资源，欢迎批评，呵呵。</p>
<blockquote><p>#!/usr/bin/perl<br />
# Written by FinalBSD at 2008-11-20.<br />
# The netstat original written by C<br />
# is expensive to me, so this born.<br />
# As long as you retain this notice you<br />
# can do whatever you want with this stuff.<br />
# If we meet some day, and you think<br />
# this stuff is worth it, you can<br />
# buy me a beer in return.</p>
<p>use strict;<br />
use warnings;<br />
use Getopt::Std;</p>
<p>my $tcp     = "/proc/net/tcp";<br />
my $tcp6     = "/proc/net/tcp6";<br />
my $route    = "/proc/net/route";<br />
my @tcpState     = (<br />
"NULL",<br />
"ESTABLISHED" ,<br />
"SYN_SENT",<br />
"SYN_RECV",<br />
"FIN_WAIT1",<br />
"FIN_WAIT2",<br />
"TIME_WAIT",<br />
"CLOSE",<br />
"CLOSE_WAIT",<br />
"LAST_ACK",<br />
"LISTEN",<br />
"CLOSING"<br />
);</p>
<p>my @routeType   = (<br />
"NULL",<br />
"U",        # UP<br />
"G",        # Gateway<br />
"UG"        # UP &amp; Gateway<br />
);</p>
<p>my %opts;<br />
getopts('nhatsrl', \%opts);</p>
<p>if($opts{h}) {<br />
&amp;usage();<br />
}</p>
<p>if($opts{r}) {<br />
&amp;route_info($route);<br />
exit;<br />
}<br />
&amp;tcp_info($tcp);<br />
&amp;tcp_info($tcp6);</p>
<p>###################### FUNCTION DEFINITION ###########################<br />
#############################<br />
# Get statistics Information<br />
############################<br />
sub tcp_info($) {<br />
my $file = shift;<br />
open(FH, $file) or die("$!");</p>
<p>my $format = "%-30s  %-30s %-10s\n";<br />
printf($format,"      Local Address","      Foreign Address","State");<br />
while(&lt;FH&gt;) {<br />
next if /local_address/;<br />
my @data = split;</p>
<p>my $state = $tcpState[hex($data[3])];<br />
# Show listening Sockets.<br />
if($opts{l}){<br />
printf($format, &amp;hextoint($data[1]), &amp;hextoint($data[2]), $state) if $state =~ /LIST/;<br />
} else {<br />
printf($format, &amp;hextoint($data[1]), &amp;hextoint($data[2]), $state);<br />
}<br />
}<br />
close(FH);<br />
}</p>
<p>#############################<br />
# Convert hex to int<br />
############################<br />
sub hextoint($) {<br />
my $tmp     = shift;<br />
my @data;<br />
my @ip;<br />
my $int;</p>
<p># if have ':', then it's  addr:port,else just port.<br />
if( $tmp =~ /:/ ) {<br />
if( $tmp =~ /FFFF/ ) {<br />
@data = split /:/, $tmp;<br />
# break it and do convert later.<br />
@ip   = $data[0] =~ /\w{2}/g;</p>
<p>foreach my $index (12..15){<br />
$ip[$index] = hex($ip[$index]);<br />
}</p>
<p>$int  = sprintf("%-5s %d.%d.%d.%d:%d", "tcp6",$ip[15], $ip[14], $ip[13], $ip[12], hex($data[1]));<br />
} else {<br />
@data = split /:/, $tmp;<br />
@ip   = $data[0] =~ /\w{2}/g;<br />
foreach my $index (0..3){<br />
$ip[$index] = hex($ip[$index]);<br />
}<br />
$int  = sprintf("%-s %d.%d.%d.%d:%d", "     ",$ip[3], $ip[2], $ip[1], $ip[0], hex($data[1]));<br />
}<br />
} else {<br />
@ip   = $tmp =~ /\w{2}/g;<br />
foreach my $index (0..3){<br />
$ip[$index] = hex($ip[$index]);<br />
}<br />
$int  = sprintf("%d.%d.%d.%d", hex($ip[3]), hex($ip[2]), hex($ip[1]), hex($ip[0]));<br />
}</p>
<p>return $int;<br />
}</p>
<p>#############################<br />
# Show Kernel route table<br />
############################<br />
sub route_info($) {<br />
my $routefile = shift;<br />
open(ROUTE, $routefile) or die ("Can't open route file!\n");<br />
my $header = "Iface  Destination     Gateway      Flags   Genmask\n";<br />
printf("%s", $header);<br />
my $format = "%-5s %-15s %-15s %-5s %-15s\n";<br />
while(&lt;ROUTE&gt;) {<br />
next if /Iface/;<br />
my @line = split;<br />
my ($iface, $dest, $gw, $flags, $mask ) = ($line[0], &amp;hextoint($line[1]), &amp;hextoint($line[2]), hex($line[3]), &amp;hextoint($line[7]));<br />
printf($format, $iface, $dest, $gw, $routeType[$flags], $mask );<br />
}<br />
close(ROUTE);<br />
}</p>
<p>#############################<br />
# Show help information<br />
############################<br />
sub usage {<br />
printf("%s\n\n%-30s\n%-30s\n%-30s\n%-30s\n%-30s\n%-30s\n",<br />
"netstat written in Perl by FinalBSD.Copyright(c) 2008.",<br />
"-n Show numeric ip and port address.",<br />
"-r Display the kernel routing table.",<br />
"-a Show both listening and non-listening socktes.",<br />
"-t Show only TCP statistics.",<br />
"-l Show only listening sockets.",<br />
"-h Show help.",<br />
);<br />
exit;<br />
}</p></blockquote>
<p>perl模块如：<a href='http://www.sanotes.net/wp-content/uploads/netstat-001tar.gz'>netstat-0.01.tar.gz</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sanotes.net/html/y2008/247.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>ME &#038; CITY</title>
		<link>http://www.sanotes.net/html/y2008/234.html</link>
		<comments>http://www.sanotes.net/html/y2008/234.html#comments</comments>
		<pubDate>Mon, 17 Nov 2008 01:29:23 +0000</pubDate>
		<dc:creator>Laurence</dc:creator>
		
		<category><![CDATA[未分类]]></category>

		<guid isPermaLink="false">http://www.sanotes.net/?p=234</guid>
		<description><![CDATA[ME &#038; CITY 新品发布极度气派，在上海最高档的商业中心--陆家嘴商业中心，搭建了一个超大超炫的舞台，并邀请了当红的《越狱》男主角--Miller先生参加，Miller同时也是ME &#038; CITY的品牌代言... ]]></description>
			<content:encoded><![CDATA[<p>ME &#038; CITY 新品发布极度气派，在上海最高档的商业中心--陆家嘴商业中心，搭建了一个超大超炫的舞台，并邀请了当红的《越狱》男主角--Miller先生参加，Miller同时也是ME &#038; CITY的品牌代言人以及Model，这次产品发布同时还要求了国际上众多顶级名模参与，可谓是星光熠熠。我一直以为ME &#038; CITY是来自欧洲或者其他发达国家的知名高档品牌，绝不属于大众消费型。为此我马上打开了电脑Google一下，结果发现第一条就是"美特斯·邦威推出新品牌ME &#038; CITY高端城市系列",很倒胃口，我们很快发现上海南京东路上的Meters Bonwe大楼标牌换成了ME &#038; CITY.这回马甲穿得真可以以甲乱真了，不得不佩服浙商。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sanotes.net/html/y2008/234.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>李一男2003年在港湾给开发人员培训时的语录</title>
		<link>http://www.sanotes.net/html/y2008/229.html</link>
		<comments>http://www.sanotes.net/html/y2008/229.html#comments</comments>
		<pubDate>Thu, 09 Oct 2008 01:05:35 +0000</pubDate>
		<dc:creator>finalbsd</dc:creator>
		
		<category><![CDATA[人物]]></category>

		<guid isPermaLink="false">http://www.sanotes.net/?p=229</guid>
		<description><![CDATA[李一男2003年在港湾给开发人员培训时的语录：
【1】好好规划自己的路，不要跟着感觉走！根据个人的理想决策安排，绝大部分人并不指望成为什么院士或教授，而是希望活得滋润一些，爽一... ]]></description>
			<content:encoded><![CDATA[<p>李一男2003年在港湾给开发人员培训时的语录：</p>
<p>【1】好好规划自己的路，不要跟着感觉走！根据个人的理想决策安排，绝大部分人并不指望成为什么院士或教授，而是希望活得滋润一些，爽一些。那么，就需要慎重安排自己的轨迹。从哪个行业入手，逐渐对该行业深入了解，不要频繁跳槽，特别是不要为了一点工资而转移阵地，从长远看，这点钱根本不算什么，当你对一个行业有那么几年的体会，以后钱根本不是问题。频繁地动荡不是上策，最后你对哪个行业都没有摸透，永远是新手！</p>
<p>【2】可以做技术，切不可沉湎于技术。千万不可一门心思钻研技术！给自己很大压力，如果你的心思全部放在这上面，那么注定你将成为孔乙己一类的人物！适可而止为之，因为技术只不过是你今后前途的支柱之一，而且还不是最大的支柱，除非你只愿意到老还是个工程师！</p>
<p>【3】不要去做技术高手，只去做综合素质高手！在企业里混，我们时常瞧不起某人，说他“什么都不懂，凭啥拿那么多钱，凭啥升官！”这是普遍的典型的工程师的迂腐之言。8051很牛吗？人家能上去必然有他的本事，而且是你没有的本事。你想想，老板搞经营那么多年，难道见识不如你这个新兵？人家或许善于管理，善于领会老板意图，善于部门协调等等。因此务必培养自己多方面的能力，包括管理，亲和力，察言观色能力，攻关能力等，要成为综合素质的高手，则前途无量，否则只能躲在角落看示波器！技术以外的技能才是更重要的本事！！从古到今，美国日本，一律如此！</p>
<p>【4】多交社会三教九流的朋友！不要只和工程师交往，认为有共同语言，其实更重要的是和其他类人物交往，如果你希望有朝一日当老板或高层管理，那么你整日面对的就是这些人。了解他们的经历，思维习惯，爱好，学习他们处理问题的模式，了解社会各个角落的现象和问题，这是以后发展的巨大的本钱，没有这些以后就会笨手笨脚，跌跌撞撞，遇到重重困难，交不少学费，成功的概率大大降低！</p>
<p>【5】知识涉猎不一定专，但一定要广！多看看其他方面的书，金融，财会，进出口，税务，法律等等，为以后做一些积累，以后的用处会更大！会少交许多学费！！</p>
<p>【6】抓住时机向技术管理或市场销售方面的转变！要想有前途就不能一直搞开发，适当时候要转变为管理或销售，前途会更大，以前搞技术也没有白搞，以后还用得着。搞管理可以培养自己的领导能力，搞销售可以培养自己的市场概念和思维，同时为自己以后发展积累庞大的人 脉！应该说这才是前途的真正支柱。。?</p>
<p>【7】逐渐克服自己的心里弱点和性格缺陷！多疑，敏感，天真（贬义，并不可爱），犹豫不决，胆怯，多虑，脸皮太薄，心不够黑，教条式思维。。。这些工程师普遍存在的性格弱点必须改变！很难吗？只在床上想一想当然不可能，去帮朋友守一个月地摊，包准有效果，去实践，而不要只想！不克服这些缺点，一切不可能，甚至连项目经理都当不好--尽管你可能技术不错！</p>
<p>【8】工作的同时要为以后做准备！建立自己的工作环境！及早为自己配置一个工作环境，装备电脑，示波器（可以买个二手的），仿真器，编程器等，业余可以接点活，一方面接触市场，培养市场感觉，同时也积累资金，更重要的是准备自己的产品，咱搞技术的没有钱，只有技术，技术的代表不是学历和证书，而是产品，拿出象样的产品，就可技术转让或与人合作搞企业！先把东西准备好，等待机会，否则，有了机会也抓不住！</p>
<p>【9】要学会善于推销自己！不仅要能干，还要能说，能写，善于利用一切机会推销自己，树立自己的品牌形象，很必要！要创造条件让别人了解自己，不然老板怎么知道你能干？外面的投资人怎么相信你？提早把自己推销出去，机会自然会来找你！搞个个人主页是个好注意！！特别是培养自己在行业的名气，有了名气，高薪机会自不在话下，更重要的是有合作的机会... </p>
]]></content:encoded>
			<wfw:commentRss>http://www.sanotes.net/html/y2008/229.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>使用sudo的一些问题</title>
		<link>http://www.sanotes.net/html/y2008/226.html</link>
		<comments>http://www.sanotes.net/html/y2008/226.html#comments</comments>
		<pubDate>Sat, 27 Sep 2008 06:15:24 +0000</pubDate>
		<dc:creator>finalbsd</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<category><![CDATA[sudo]]></category>

		<guid isPermaLink="false">http://www.sanotes.net/?p=226</guid>
		<description><![CDATA[FAQ... ]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.sudo.ws/sudo/troubleshooting.html">FAQ</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sanotes.net/html/y2008/226.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>HTTP pipeline 和 persistent connection</title>
		<link>http://www.sanotes.net/html/y2008/205.html</link>
		<comments>http://www.sanotes.net/html/y2008/205.html#comments</comments>
		<pubDate>Fri, 19 Sep 2008 03:25:21 +0000</pubDate>
		<dc:creator>finalbsd</dc:creator>
		
		<category><![CDATA[HTTP]]></category>

		<category><![CDATA[pipeline]]></category>

		<guid isPermaLink="false">http://www.sanotes.net/?p=205</guid>
		<description><![CDATA[来自Laurence:浏览器pipeline
IE, Firefox, and Safari ship with HTTP pipelining disabled by default; Opera is the only browser I know of that enables it. No pipelining means each request has to be answered and its connection freed up before the next r... ]]></description>
			<content:encoded><![CDATA[<p>来自Laurence:<strong>浏览器pipeline</strong><br />
IE, Firefox, and Safari ship with HTTP pipelining disabled by default; Opera is the only browser I know of that enables it. No pipelining means each request has to be answered and its connection freed up before the next request can be sent. This incurs average extra latency of the round-trip (ping) time to the user divided by the number of connections allowed. Or if your server has HTTP keepalives disabled, doing another TCP three-way handshake adds another round trip, doubling this latency.</p>
<p>来自wikipedia：<strong>HTTP Pipeline</strong></p>
<p>HTTP pipelining is a technique in which multiple HTTP requests are written out to a single socket without waiting for the corresponding responses. Pipelining is only supported in HTTP/1.1, not in 1.0.</p>
<p>The pipelining of requests results in a dramatic improvement in page loading times, especially over high latency connections such as satellite Internet connections.</p>
<p>Since it is usually possible to fit several HTTP requests in the same TCP packet, HTTP pipelining allows fewer TCP packets to be sent over the network, reducing network load.</p>
<p>Only idempotent requests should be pipelined, such as GET and HEAD requests. POST requests should not be pipelined. Requests on a new connection should not be pipelined either, since it has not yet been determined if the origin server (or proxy server) supports HTTP/1.1. Hence, pipelining can only be done when reusing an existing (keepalive) persistent connection.</p>
<p>HTTP pipelining requires both the client and the server to support it. HTTP/1.1 conforming servers are required to support pipelining. This does not mean that servers are required to pipeline responses, but that they are required not to fail if a client chooses to pipeline requests.<br />
<img src="http://pd.images22.51img1.com/6000/finalbsd/d1a8d1f34fd889e5c78050a021c28ccf.gif" alt="HTTP pipeline" /></p>
<p>来自wikepedia:<strong>HTTP Persistence Connection</strong><br />
HTTP persistent connections, also called HTTP keep-alive, or HTTP connection reuse, is the idea of using the same TCP connection to send and receive multiple HTTP requests/responses, as opposed to opening a new connection for every single request/response pair.</p>
<p><strong>Advantages</strong><br />
less CPU and memory usage (because fewer connections are open simultaneously)<br />
enables HTTP pipelining of requests and responses<br />
reduced network congestion (fewer TCP connections)<br />
reduced latency in subsequent requests (no handshaking)<br />
errors can be reported without the penalty of closing the TCP connection<br />
According to RFC 2616 (page 47), a single-user client should not maintain more than 2 connections with any server or proxy. A proxy should use up to 2*N connections to another server or proxy, where N is the number of simultaneously active users. These guidelines are intended to improve HTTP response times and avoid congestion.<br />
<img src="http://p5.images22.51img1.com/6000/finalbsd/50a45612b3a9b15335e69b905af233b1.gif" alt="HTTP persistence connection" /></p>
<p><strong>Reference:</strong><br />
http://www.mozilla.org/projects/netlib/http/pipelining-faq.html<br />
http://en.wikipedia.org/wiki/HTTP_pipelining<br />
http://en.wikipedia.org/wiki/HTTP_persistent_connection</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sanotes.net/html/y2008/205.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>24个最好免费下载电子书(Ebooks)的网站</title>
		<link>http://www.sanotes.net/html/y2008/201.html</link>
		<comments>http://www.sanotes.net/html/y2008/201.html#comments</comments>
		<pubDate>Thu, 18 Sep 2008 01:22:09 +0000</pubDate>
		<dc:creator>finalbsd</dc:creator>
		
		<category><![CDATA[链接]]></category>

		<category><![CDATA[free ebooks]]></category>

		<guid isPermaLink="false">http://www.sanotes.net/?p=201</guid>
		<description><![CDATA[24个最好免费下载电子书(Ebooks)的网站 ... ]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.web20share.com/2008/09/24-best-websites-to-download-free-ebooks.html">24个最好免费下载电子书(Ebooks)的网站 </a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sanotes.net/html/y2008/201.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>js脚本的并行download</title>
		<link>http://www.sanotes.net/html/y2008/196.html</link>
		<comments>http://www.sanotes.net/html/y2008/196.html#comments</comments>
		<pubDate>Sat, 13 Sep 2008 14:43:13 +0000</pubDate>
		<dc:creator>i_amok</dc:creator>
		
		<category><![CDATA[Apache]]></category>

		<category><![CDATA[js]]></category>

		<category><![CDATA[optimize]]></category>

		<category><![CDATA[parallel downloads]]></category>

		<guid isPermaLink="false">http://www.sanotes.net/?p=196</guid>
		<description><![CDATA[今天Laurence 给我看了一个ppt，我觉得很好，因为默认js都是顺序加载的，但是通过一定的设置后，是可以并行加载的，这个对于减少js的加载等待很有帮助。
ppt http://stevesouders.com/docs/oscon-20080724... ]]></description>
			<content:encoded><![CDATA[<p>今天<a href="http://home.51.com/home.php?user=gusingchen" target="_blank">Laurence</a> 给我看了一个ppt，我觉得很好，因为默认js都是顺序加载的，但是通过一定的设置后，是可以并行加载的，这个对于减少js的加载等待很有帮助。</p>
<p>ppt <a href="http://stevesouders.com/docs/oscon-20080724.ppt">http://stevesouders.com/docs/oscon-20080724.ppt</a></p>
<p>视频</p>
<p><a href="http://sites.google.com/site/io/even-faster-web-sites">http://sites.google.com/site/io/even-faster-web-sites</a></p>
<p>通过下面这个工具可以模拟js加载的各种变化，配合httpwatch就可以看到了。</p>
<p><a href="http://stevesouders.com/cuzillion/">http://stevesouders.com/cuzillion/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sanotes.net/html/y2008/196.html/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
