<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-145804083675914388</id><updated>2012-01-28T05:15:47.517-08:00</updated><title type='text'>阮一峰的网络日志</title><subtitle type='html'>Ruan YiFeng's Blog</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ruanyf.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://ruanyf.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default?start-index=101&amp;max-results=100'/><author><name>Ruan YiFeng</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>273</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-145804083675914388.post-7287155829083505422</id><published>2012-01-28T05:15:00.001-08:00</published><updated>2012-01-28T05:15:47.703-08:00</updated><title type='text'>阮一峰的网络日志</title><content type='html'>&lt;style type="text/css"&gt;                          h1 a:hover {background-color:#888;color:#fff ! important;}                          div#emailbody table#itemcontentlist tr td div ul {                                         list-style-type:square;                                         padding-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div blockquote {                                 padding-left:6px;                                 border-left: 6px solid #dadada;                                 margin-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div li {                                 margin-bottom:1em;                                 margin-left:1em;                         }                           table#itemcontentlist tr td a:link, table#itemcontentlist tr td a:visited, table#itemcontentlist tr td a:active, ul#summarylist li a {                                 color:#000099;                                 font-weight:bold;                                 text-decoration:none;                         }                                 img {border:none;}                   &lt;/style&gt; &lt;div xmlns="http://www.w3.org/1999/xhtml" id="emailbody" style="margin:0 2em;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt; &lt;table style="border:0;padding:0;margin:0;width:100%"&gt; &lt;tr&gt; &lt;td style="vertical-align:top" width="99%"&gt; &lt;h1 style="margin:0;padding-bottom:6px;"&gt; &lt;a style="color:#888;font-size:22px;font-family:Arial, Helvetica, sans-serif;font-weight:normal;text-decoration:none;" href="http://www.ruanyifeng.com/blog/" title="(http://www.ruanyifeng.com/blog/)"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt; &lt;a href="http://fusion.google.com/add?source=atgs&amp;amp;feedurl=http://feeds.feedburner.com/ruanyifeng"&gt; &lt;img style="padding-top:6px" alt="" border="0" src="http://gmodules.com/ig/images/plus_google.gif" /&gt; &lt;/a&gt; &lt;/h1&gt; &lt;/td&gt; &lt;td width="1%" /&gt; &lt;/tr&gt; &lt;/table&gt; &lt;hr style="border:1px solid #ccc;padding:0;margin:0" /&gt; &lt;table id="itemcontentlist"&gt; &lt;tr xmlns=""&gt; &lt;td style="margin-bottom:0;line-height:1.4em;"&gt; &lt;p style="margin:1em 0 3px 0;"&gt; &lt;a name="1" style="font-family:Arial, Helvetica, sans-serif;font-size:18px;" href="http://www.ruanyifeng.com/blog/2012/01/egypts_youth_in_ongoing_revolution.html"&gt;革命中的埃及青年（组图）&lt;/a&gt; &lt;/p&gt; &lt;p style="font-size:13px;color:#555;margin:9px 0 3px 0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;"&gt; &lt;span&gt;Posted:&lt;/span&gt; 27 Jan 2012 06:57 PM PST&lt;/p&gt; &lt;div style="margin:0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt;&lt;p&gt;2011年1月25日，第一批抗议者走进开罗市中心的&lt;a href="http://en.wikipedia.org/wiki/Tahrir_Square"&gt;解放广场&lt;/a&gt;（Tahrir Square），&lt;a href="http://en.wikipedia.org/wiki/2011_Egyptian_revolution"&gt;埃及革命&lt;/a&gt;拉开序幕。&lt;/p&gt;&lt;p&gt;24岁的华人摄影师&lt;a href="http://www.edouphoto.com"&gt;Ed Ou&lt;/a&gt;，意识到这是不可错过的历史事件，接受&lt;a href="http://lens.blogs.nytimes.com/2011/01/31/getting-into-cairos-byways/"&gt;《纽约时报》&lt;/a&gt;的委托，立即赶赴埃及，用相机记录下他所看到的一切。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt00.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;一年后的今天，他发表了系列照片&lt;a href="http://www.wired.com/rawfile/2012/01/an-intimate-look-at-egypts-youth-in-ongoing-revolution/"&gt;《革命中的埃及青年》&lt;/a&gt;（Egyptian Youth），向世人展示了这一段不平凡的日子。&lt;/p&gt;  &lt;p&gt;1.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt01.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;2011年2月11日，埃及总统穆巴拉克辞职的消息传来，人们跳上坦克庆祝。&lt;/p&gt;  &lt;p&gt;2.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt02.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;2011年2月8日，19岁的Khaled Yahia蜷缩在床上熟睡，他一个通宵都在编辑视频。20岁的Lina Megahed则在更新Facebook，将解放广场的最新情况传向全世界。&lt;/p&gt;  &lt;p&gt;3.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt03.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;2011年2月3日，穆巴拉克的支持者和反对者，在解放广场发生冲突。&lt;/p&gt;  &lt;p&gt;4.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt04.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;2011年2月7日深夜，17岁的Menna Elshishini（左）和18岁的Hana El-Rakhawi，向解放广场的抗议者送食品。&lt;/p&gt;  &lt;p&gt;5.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt05.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;2011年2月1日凌晨，23岁的大学生Rami Essam在解放广场自弹自唱。天亮以后，反对派就要在这里发动"百万人大进军"（March of the Millions）。&lt;/p&gt;  &lt;p&gt;6.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt06.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;2011年2月11日，穆巴拉克辞职，人群一片欢腾。&lt;/p&gt;  &lt;p&gt;（以下照片拍摄于利比亚和沙特阿拉伯，时间为2011年3月。）&lt;/p&gt;  &lt;p&gt;7.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt07.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;2011年2月24日，利比亚反对派在班加西的一幢政府大楼里，将各种视频和照片上传到互联网。&lt;/p&gt;  &lt;p&gt;8.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt08.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;2011年2月24日，利比亚反对派战士在班加西高等法院附近，收拾装备。&lt;/p&gt;  &lt;p&gt;9.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt09.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;2011年2月28日，一个利比亚男人穿过公路。这里通向反对派占领的Bayda市，政府军正在计划发起进攻。&lt;/p&gt;  &lt;p&gt;10.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt10.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;2011年3月12日，利比亚Gaminus市郊，一家人在采野花。&lt;/p&gt;  &lt;p&gt;11.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt11.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;2011年3月7日，利比亚的Darna市，一群年轻人在玩桌球。半岛电视台正在播出卡扎菲上校的画面。&lt;/p&gt;  &lt;p&gt;12.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt12.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;2011年3月7日，利比亚的Darna市，孩子们在清真寺的圆顶上玩耍。&lt;/p&gt;  &lt;p&gt;13.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt13.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;2011年3月2日，利比亚的班加西，地中海边，一个反对派战士扛着火箭筒站岗，防范政府军空袭。&lt;/p&gt;  &lt;p&gt;14.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt14.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;2011年3月23日，沙特阿拉伯的利雅得，一幢摩天大楼没有护栏的楼顶，两个阿拉伯青年用手机留影。&lt;/p&gt;  &lt;p&gt;（注：以下照片全部拍摄于开罗，时间为2011年2月到2011年11月。）&lt;/p&gt;  &lt;p&gt;15.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt15.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;16.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt16.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;17.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt17.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;18.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt18.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;19.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt19.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;20.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt20.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;21.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt21.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;22.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt22.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;23.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt23.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;24.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt24.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;25.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt25.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;26.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt26.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;27.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt27.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;28.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt28.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;29.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt29.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;30.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt30.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;31.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt31.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;32.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt32.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;33.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt33.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;34.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt34.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;35.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt35.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;36.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt36.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;37.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt37.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;38.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt38.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;39.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt39.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;40.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt40.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;41.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt41.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;42.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt42.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;43.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt43.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;44.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt44.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;45.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt45.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;46.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt46.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;47.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt47.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;48.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt48.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;49.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt49.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;50.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt50.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;51.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt51.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;52.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt52.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;53.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt53.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;54.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt54.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;55.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt55.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;56.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt56.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;57.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt57.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;58.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt58.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;59.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt59.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;60.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt60.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;61.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt61.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;62.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt62.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;63.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt63.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;64.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt64.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;65.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt65.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;66.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/egypt66.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;（完）&lt;br /&gt; &lt;/p&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;border:1px solid #d3d3d3;margin:1em;background-color:#AAD2F0;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;h3&gt;文档信息&lt;/h3&gt; &lt;ul&gt; &lt;li&gt;版权声明：自由转载-非商用-非衍生-保持署名 | &lt;a href="http://creativecommons.org/licenses/by-nc-nd/3.0/deed.zh"&gt;Creative Commons BY-NC-ND 3.0&lt;/a&gt;&lt;/li&gt; &lt;li&gt;原文网址：&lt;a href="http://www.ruanyifeng.com/blog/2012/01/egypts_youth_in_ongoing_revolution.html"&gt;http://www.ruanyifeng.com/blog/2012/01/egypts_youth_in_ongoing_revolution.html&lt;/a&gt;&lt;/li&gt; &lt;li&gt;最后修改时间：2012年1月28日 17:45&lt;/li&gt; &lt;li&gt;付费支持：&lt;a href="https://mai.alipay.com/p.htm?id=2012010602227616" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/rmb_32.png" alt="支付宝担保交易" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; | &lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=yifeng.ruan@gmail.com&amp;currency_code=USD&amp;amount=2.99&amp;return=http://www.ruanyifeng.com/thank.html&amp;item_name=Ruan%20YiFeng's%20Blog&amp;undefined_quantity=1&amp;no_note=0" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/dollar_32.png"  alt="paypal" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;/div&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;margin:1em;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;table style="border-top:1px solid #999;padding-top:4px;margin-top:1.5em;width:100%" id="footer"&gt; &lt;tr&gt; &lt;td style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;You are subscribed to email updates from &lt;a href="http://www.ruanyifeng.com/blog/"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt;To stop receiving these emails, you may &lt;a href="http://feedburner.google.com/fb/a/mailunsubscribe?k=b6ipjNNe03Kg9F0mfXlCfBoBJ7M"&gt;unsubscribe now&lt;/a&gt;.&lt;/td&gt; &lt;td style="font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;text-align:right;vertical-align:top"&gt;Email delivery powered by Google&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td colspan="2" style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;Google Inc., 20 West Kinzie, Chicago IL USA 60610&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/145804083675914388-7287155829083505422?l=ruanyf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/7287155829083505422'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/7287155829083505422'/><link rel='alternate' type='text/html' href='http://ruanyf.blogspot.com/2012/01/blog-post_28.html' title='阮一峰的网络日志'/><author><name>Ruan YiFeng</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-145804083675914388.post-4887102685853366485</id><published>2012-01-23T05:19:00.001-08:00</published><updated>2012-01-23T05:19:22.380-08:00</updated><title type='text'>阮一峰的网络日志</title><content type='html'>&lt;style type="text/css"&gt;                          h1 a:hover {background-color:#888;color:#fff ! important;}                          div#emailbody table#itemcontentlist tr td div ul {                                         list-style-type:square;                                         padding-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div blockquote {                                 padding-left:6px;                                 border-left: 6px solid #dadada;                                 margin-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div li {                                 margin-bottom:1em;                                 margin-left:1em;                         }                           table#itemcontentlist tr td a:link, table#itemcontentlist tr td a:visited, table#itemcontentlist tr td a:active, ul#summarylist li a {                                 color:#000099;                                 font-weight:bold;                                 text-decoration:none;                         }                                 img {border:none;}                   &lt;/style&gt; &lt;div xmlns="http://www.w3.org/1999/xhtml" id="emailbody" style="margin:0 2em;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt; &lt;table style="border:0;padding:0;margin:0;width:100%"&gt; &lt;tr&gt; &lt;td style="vertical-align:top" width="99%"&gt; &lt;h1 style="margin:0;padding-bottom:6px;"&gt; &lt;a style="color:#888;font-size:22px;font-family:Arial, Helvetica, sans-serif;font-weight:normal;text-decoration:none;" href="http://www.ruanyifeng.com/blog/" title="(http://www.ruanyifeng.com/blog/)"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt; &lt;a href="http://fusion.google.com/add?source=atgs&amp;amp;feedurl=http://feeds.feedburner.com/ruanyifeng"&gt; &lt;img style="padding-top:6px" alt="" border="0" src="http://gmodules.com/ig/images/plus_google.gif" /&gt; &lt;/a&gt; &lt;/h1&gt; &lt;/td&gt; &lt;td width="1%" /&gt; &lt;/tr&gt; &lt;/table&gt; &lt;hr style="border:1px solid #ccc;padding:0;margin:0" /&gt; &lt;ul style="clear:both;padding:0 0 0 1.2em;width:100%" id="summarylist"&gt; &lt;li&gt; &lt;a href="#1"&gt;现代医学200年&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href="#2"&gt;理查德&amp;middot;斯托曼一直是对的&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href="#3"&gt;SOPA为什么是一部恶法&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href="#4"&gt;王实味的《野百合花》&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href="#5"&gt;处理Apache日志的Bash脚本&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href="#6"&gt;2011年的两首歌&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href="#7"&gt;iDaily的诞生&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href="#8"&gt;SSH原理与运用（二）：远程操作与端口转发&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt; &lt;table id="itemcontentlist"&gt; &lt;tr xmlns=""&gt; &lt;td style="margin-bottom:0;line-height:1.4em;"&gt; &lt;p style="margin:1em 0 3px 0;"&gt; &lt;a name="1" style="font-family:Arial, Helvetica, sans-serif;font-size:18px;" href="http://www.ruanyifeng.com/blog/2012/01/modern_medicine_timeline.html"&gt;现代医学200年&lt;/a&gt; &lt;/p&gt; &lt;p style="font-size:13px;color:#555;margin:9px 0 3px 0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;"&gt; &lt;span&gt;Posted:&lt;/span&gt; 23 Jan 2012 04:35 AM PST&lt;/p&gt; &lt;div style="margin:0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt;&lt;p&gt;今年是世界最有影响力的医学杂志&lt;a href="http://www.nejm.org/"&gt;《新英格兰医学杂志》&lt;/a&gt;（The New England Journal of Medicine, NEJM）创刊&lt;a href="http://news.sciencenet.cn/htmlnews/2012/1/258594.shtm"&gt;200周年&lt;/a&gt;。&lt;/p&gt;&lt;p&gt;为了这个纪念日，该杂志制作了一个&lt;a href="http://nejm200.nejm.org/timeline/"&gt;专题&lt;/a&gt;，回顾了创刊以来的医学发展，从中可以看到现代医学取得的巨大进步。&lt;/p&gt;  &lt;p&gt;下面是我根据whyes的&lt;a href="http://www.whyes.org/?p=882"&gt;中译&lt;/a&gt;做的一个摘录。&lt;/p&gt;  &lt;p&gt;===========================================================&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;现代医学200年&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;原载《新英格兰医学杂志》&lt;/p&gt;  &lt;p&gt;whyes 译&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1816年&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;René Laennec发明听诊器。在此之前，医生只能用手按在病人胸膛，了解病人体内状况。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012201.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1837年3月8日&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;J. Warren Mason描述了美国第一例鼻整形手术。这个手术是现代整形术的基础之一。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012202.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1846年11月18日&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;波士顿的外科医生Henry Jacob Bigelow，让病人吸入乙醚进行麻醉。这个技术后来运用到各种手术中，从拔牙到截肢。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012203.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1847年&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;匈牙利的医生Ignaz Semmelweis发现，在对手进行消毒后，新生儿败血症的发生率显著下降。他认为，用漂白粉洗手可以减少产妇热。这种看法遭到了同行的强烈反对，但今天已经成为常识。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012204.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1855年5月3日&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;第一例子宫切除术被报道。患者是一名34岁的子宫肌瘤患者，在每次月经来临时都会有致命性的出血。作者称子宫切除手术是"最后的办法"（a last resort）。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012205.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1867年&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;英国外科医生Joseph Lister倡导手术操作时要消毒。他注意到接生婆接生的新生儿的死亡率比外科医生接生的要低，他将这点归功于接生婆比外科医生洗手更频繁。他提出外科医生不仅需要用石炭酸洗手，还要消毒手术器械。这些是微生物理论提出的起源。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012206.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1869年4月29日&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Beard引入电疗，治疗"神经衰弱"（neurasthenia），并沿用至今。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012207.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1872年10月17日&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;C.E. Brown-Sequard提出了革命性的脑功能理论，认为一侧大脑半球可以影响两侧的躯体。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012208.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1882年&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;有"现代外科学之父"美誉的William Stewart Halsted开展根治性乳房切除术，这种方法作为标准手术方式使用了近一个世纪，直到20世纪70年度中期。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012209.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1887年&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;美国的国立卫生研究院（NIH）的前身"卫生实验室"，在纽约Staten岛的Marine医院成立，当时只有一个房间，专门研究霍乱等传染病。这个机构后来成为全世界最重要的医学研究机构。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012210.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1889年2月21日&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;Reginald Fitz第一次完整的描述了胰腺炎，从最初的典型临床表现到死后的病理诊断。直到今天，胰腺炎依然是一个让人望而生畏的疾病。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012212.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1890年&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Robert Koch提出了特定微生物引起特定疾病的诊断要点，后来被称作"科赫法则（Koch's postulates）"，经过一些修订，传染病教科书中至今还介绍这个法则。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012213.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1890年12月4日&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;日本医生Shibasaburo Kitasato和德国生理学家Emil Adolf von Behring发现白喉杆菌的免疫方法。他们让兔子对破伤风杆菌免疫，获得血液，将血清注射到小鼠体内，再将小鼠与破伤风梭菌接触，发现小鼠可以表现为对常规毒素作用的免疫力。他们的研究论文提出了术语"抗毒素"（antitoxin）。一周之后，Behring发表了动物对白喉免疫的研究的论文，并因此获得了1901年的诺贝尔奖。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012214.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1895年12月1日&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;德国物理学家Wilhelm Roentgen（伦琴）发线了x射线。在发现x射线后的两周左右，伦琴给他的妻子的手拍了张照片，当她的妻子看到了自己的骨骼，惊呼"我看到了自己的死亡"。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012215.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1897年8月10日&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;为了减轻父亲的关节炎疼痛，药剂师Felix Hoffmann将稳定的乙酰化水杨酸与乙酸混合，获得了阿司匹林。在成功地完成了数个大规模临床试验后，Hoffmann所就职的公司----拜耳公司----开始在全球市场上销售这个药物。尽管阿司匹林的治疗适应证发生了很多变化，但它的发现依然是医学和药理学史上的里程碑式事件。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012216.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1898年&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;居里夫妇发现了元素镭和钋，并发明了术语"放射性"（radioactivity）。该发现让他们获得了1903年的诺贝尔物理学奖。这些放射线元素后来在医学上获得巨大应用。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012217.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1899年&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;弗洛伊德（Freud）发表《梦的解析》，开创了心理分析学。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012218.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1901年&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;第一个诺贝尔医学奖授予了Emil Adolf von Behring，他发明了治疗白喉的"血清疗法"，使白喉的死亡率得到了极大的下降。最终，白喉在世界范围内绝迹。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012219.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1906年&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Priscilla Wald在《传染病》（Contagious）一书中描述了传染病的"超级传染源"，并举了一个"伤寒玛丽"（Typhoid Mary）的例子。在1900至1907间的七年，玛丽将伤寒传染给了53人，而自己却无症状，被认为是第一个"健康的"伤寒携带者。这种形象化称呼后来被用于艾滋病大流行和SARS的爆发，它更容易被大众所接受，引导大众参与传染病的防治。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012220.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1906年6月7日&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;James Homer Wright报道了骨髓染色的方法，并描述了巨核细胞和血小板。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012221.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1907年&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;生物学家Karl Landsteiner于1901年第一次描述了血液之间的相容性和排斥性，并提出了ABO血型的系统。正是得益于这个理论，1907年第一次成功的输血得以实施。Landsteiner在1930年获得了诺贝尔医学奖。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012222.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1911年3月16日&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Joel E. Goldthwait详细描述了一例背痛病例，在手术过程中没有发现明显异常。他怀疑是腰骶关节与椎间隙产生移位和椎间盘的脱出，后者压迫神经根和脊髓。他认为，治疗这个疾病必须把腰椎间盘部分或全部切除。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012223.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1911年&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;一篇论文描述用salvarsan（胂凡钠明）治疗"慢性天胞疮"，salvarsan是第一个抗微生物药物。用药两天之后，疾病消失了。不久，Paul Ehrlich同样使用这个"神奇的子弹"（magic bullet）治疗了一名患梅毒的士兵。这个药物是Ehrlich尝试过的第606个化合物，所以又名"606"。因为副作用巨大，606很快被青霉素淘汰，但依然是重大的科学突破。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012224.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1918年&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;西班牙流感大流行，导致2100万至5000万人死亡，这是历史上死亡人数最多的一次，并且死亡人口多数是年轻人。这可能因为第一次世界大战期间的士兵的密切接触而传播，并导致了全球的大流行。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012225.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1925年6月28日&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;一个12岁女孩接受了心脏二尖瓣狭窄治疗手术。尽管现在二尖瓣置换很常见，但是那个年代，只能在她狭窄的瓣膜上划一刀以缓解症状。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012226.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1927年&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Drinker和Shaw发明了"铁肺（iron lung）"以治疗脊髓灰质炎引起的呼吸肌麻痹。他们的做法是，把病人除了颈部和脑袋外，均放在一个密封的容器内，通过改变容器内的压力以带动患者的呼吸机活动，帮助吸气和呼气。在1923年，Drinker描述了一个"房间大小的呼吸机"，这个装置可以同时帮助数名病人进行呼吸。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012227.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1928年&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Alexander Fleming（弗莱明）发现了盘尼西林，就是著名的青霉素。这可能是历史上最偶然的科学发现。在研究各型葡萄球菌时，弗莱明将一些培养皿置于实验台上以用于日后观察。几天后，他发现培养物被霉菌孢子所污染，但惊奇地发现，在霉菌孢子生长的区域，葡萄球菌被击退了。尽管弗拉明已经发现了青霉素，但是正式的临床应用却在十年以后，因为制造青霉素很难，并且青霉素对其它细菌性感染的治疗作用还没有被认可。1940年代，德国开始侵犯欧洲，牛津的一群科学家的工作使大规模生产青霉素称为可能，并且最终认识到了青霉素的强大疗效。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012228.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1948年6月3日&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Sidney Farber报道了治疗儿童早期白血病的发现。根据传统认识，如果白血病儿童给予叶酸的话，他们的急性白血病会恶化，根据这个理论，Farber给予儿童一个叶酸抑制剂，就是氨嘌呤，16名儿童中的10个获得了明显的疗效。尽管还存在很多问题，例如副作用和只是临时缓解，但这毕竟是一个开始。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012229.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1951年&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;John Gibbon在1935年已经开始了人工循环的尝试，那时候已经能成功给一只猫维持循环达半个小时之久，但因为Gibbon在二战中参加了陆军医疗队而中断。退伍回来之后，他使用体外循环装置成功给一只狗施行了模拟心脏手术。1954年Gibbon给一名先心病的女病人施行了第一例开放心脏手术。体外循环装置现在是心脏外科手术的标准配置。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012230.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1952年11月13日&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Paul Zoll给一组心脏骤停的病人安装了一个新型的体外起搏装置，避免了痛苦的开胸心脏按摩。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012231.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1954年12月23日&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Joseph Murray和David Hume在波士顿的Peter Bent Brigham Hospital施行了第一例成功的人类肾脏移植手术。尽管当时没有抗排斥药物，但幸运的是，接受肾移植的小伙子的供肾来自于同卵双生的双胞胎兄弟，他幸运的再活了8年。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012232.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1955年4月12日&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;这一天见证了Jonas Salk发明的脊髓灰质炎灭活疫苗的巨大成功。180万的儿童参与了这个灭活疫苗的试验，这个疫苗最终被证实是安全、有效且强大的。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012233.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1955年&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;第一个口服避孕药得以在1955年的一个内分泌会议上亮相。1957年，避孕药可以在市场上销售，不过只用于治疗严重的月经症状。一直到了1960年才得以批准用于避孕。早期的避孕药的主要成分是雄激素，副作用很多，直到1980年才得以减量。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012234.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1956年&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;此前，急性心肌梗塞的诊断依赖于心电图，这导致很多病人被漏诊了。血清标志物，例如白细胞计数和红细胞沉降率等指标也在使用，但都不够特异。S.J. Adelstein和同事发现急性心梗患者锌浓度下降，乳酸脱氢酶和苹果酸脱氢酶的浓度上升。其中乳酸脱氢酶的表现尤为突出，这使得血清标志物诊断急性心梗成为可能，加速了临床诊断并且使诊断更加精确。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012235.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1957年9月12日&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;E. Donnall Thomas等报道了第一例人类的静脉骨髓移植。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012236.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1960年7月28日&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;1958年，麻疹还是个让人生畏的儿童传染病。在美国，这一年导致了552名儿童死亡。相比较而言，脊髓灰质炎的致死人数为255人。在这天发表的系列文章中，麻疹减毒活疫苗的临床试验表现出重大成功，并且副作用很小。在这之后的1963年，麻疹减毒活疫苗被批准注册，此后，麻疹的发病率急剧下降。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012237.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1963年6月13日&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;那个年代，为了避免机体对移植肾的排斥反应，通常会联合全身放疗、局部放疗以及药物治疗。Brigham Hospital的医生们试图只用药物控制排斥反应，以避免放疗带来的副作用。这个涉及5例患者的病例报告的结果让人振奋。如今，免疫抑制药物已经成为了器官移植的基准。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012238.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1968年&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;哈佛大学医学院的一个特别委员会建议修改死亡的定义，这促使遭受毁灭性神经损伤的病人可能成为器官移植的供体。这个脑死亡的概念成为了无数的器官捐献和移植在法律上和伦理上的依据。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012239.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1969年2月13日&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;尽管帕金森病早在1817年就有报道，那时候被称作是"震颤麻痹"，但是一个多世纪过去了，还没有有效地治疗方法。到了1950年代，终于出现了转机。研究者发现帕金森病患者的脑中多巴胺的含量偏低。这篇文章发现了一个叫做左旋多巴的多巴胺的前体物质可以部分控制患者的帕金森病症状。后来又加入了卡比多巴以缓和左旋多巴的副作用。两者的联合尽管还不完美，但却成为了如今多帕金森病治疗的基石。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012240.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1971年2月25日&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Baruch Blumberg于1965年在黄疸的澳大利亚土著居民体内分离出了"肝炎相关澳大利亚抗原"（HAA），被我们简称"澳抗"。后来澳抗与急性肝炎之间的关系被确认了。但是，澳抗是否与自身免疫性疾病有关，为什么某些肝炎病人澳抗持续存在，这样的问题还没有答案。澳抗后来成为了众所周知的乙肝表面抗原，这个抗原的发现也成为了筛查乙肝病毒感染者的重要步骤，并最终帮助乙肝疫苗的发明。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012241.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1973年2月15日&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;第一次报道在筛查中使用结肠镜切除结肠息肉，从而降低结肠癌发病率。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012242.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1974年3月28日&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Lindner和他的同事注意到接受长期透析治疗的患者中的数例患上了心绞痛、心肌梗塞和卒中。这组病例的报告使人们得以关注长期血透的副作用，并且促使人们去研究动脉粥样硬化形成的病理生理机制。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012243.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1974年12月5日&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Parrish和同事第一次提出"光化学疗法"的术语，他们用这种新的治疗方法治疗银屑病（牛皮癣）。这种方法先口服光敏感化药物8-甲氧基补骨脂素，再将皮肤暴露于长波的紫外线A光下治疗。尽管后来的研究担心长时间的光疗可能引起肿瘤，但该疗法却成为了控制广泛银屑病的方法。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012244.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1980年5月1日&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;第33届世界卫生大会上，世界卫生组织官方确认天花在全球范围内已经灭绝。这是历史上人类主动消灭的第一种疾病。天花大约在公元前1万年前就被发现，造成了成千上万死亡，这个高度传染性和致死性的疾病最终被灭绝了，可以算是20世纪最大的医学成就。根除天花之后引发了一个争论，那就是是否继续保留这个病毒以用于进一步研究。因为现在儿童并不常规的接受天花疫苗接种，如再次感染天花，后果将不堪设想（例如被生物恐怖主义者利用）。最终，一些活的天花病毒现在被严格的保护了起来。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012246.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1980年8月7日&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;一篇报道最早描述了使用植入式自动除颤器治疗顽固性药物治疗不敏感的室性心律失常。现在这被称为"植入式心律复律器和除颤仪"（ICD），它可以识别并逆转潜在的室性心律失常，如今ICD已经成为了治疗致死性心律失常的重要选择。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012247.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1980年10月9日&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;Szmuness及同事开展的临床对照试验显示，在接受乙肝疫苗一次注射后，96%的患者可以获得高水平的乙肝表面抗体，并且可以极大程度的降低高危患者的肝炎发生率。尽管这不是如今使用的疫苗的形式，但这却是迈向免疫保护这个严重的疾病的一大步。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012245.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1980年12月25日&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;根据自身患癌症的经验，NEJM的编辑兼胃肠病专家Franz Ingelfinger提出：医生应着力建设与患者之间独裁且家长制的关系。这跟目前教科书教导的理念相互抵触。在这篇文章中，Ingelfinger主张医生应当对患者负起责任，而不是把决策的重任交付到患者的肩上。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012248.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1981年7月2日&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;这是肿瘤外科学上里程碑式的事件。一直以来乳腺癌患者都需要接受根治性的乳癌根治术，这种传统的手术方式一直追溯到1882年Halsted的贡献，但手术创伤很大，副作用很多。在这一年的随机对照试验中，小于2 cm且淋巴结阴性的乳腺癌患者，研切除肿块所在的1/4象限乳房加上淋巴结清扫和放疗可以获得与乳腺癌根治术同等的疗效。肿瘤外科自此开始由巨创走向低创，而不是盲目扩大切除范围，开始重视了肿瘤生物学。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012249.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1981年12月10日&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;一组关于同性恋男性的病例报告成为了最早描述HIV病程的报告，故而算是里程碑性的。它报道了4个既往健康的同性恋男性受卡氏肺孢子虫感染、广泛粘膜念珠菌感染和多种病毒感染。4人中的3名长期未明原因发热，所有病人均对病原无抵抗力且淋巴结肿大。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012250.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1982年5月27日&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;如果面临肺癌的诊断，患者是倾向于选择手术还是放疗。在以往的一个报道里，患者倾向于放疗，但是在这个研究中，当患者被告知两种疗法的预期生存数据时，患者会倾向于选择手术。此外患者的选择也与他们以前对各种疗法的了解有关。故而，作者认为，医生和患者需要预先知道疗效的差别，从而减少偏倚，提高医疗决策的质量。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012251.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1982年12月2日&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;William DeVries医生第一次尝试植入人工心脏，病人是一名61岁的充血性心力衰竭的患者。尽管手术本身很成功，但是术后的处理却异常困难，以至于在1990年，该型号的人工心脏被停用。因为人工心脏可以缓解心脏移植供体的不足，故而对其的研发从未中断。许多年之后，这个1982年的研究的价值才被发觉。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012252.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1988年1月7日&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;尽管"放弃抢救"（do-not-resuscitate, DNR）法令备受争议，但Tom Tomlinson和Howard Brody却提出了3点理由支持DNR。他们描述了在不同的环境下医生影响和患者及家属决策的适用性。根据作者的意见，医生在认为抢救肯定无效时，可以给出停止复苏的医嘱，但是如果以复苏前后的生活质量作为主要考虑的因素，患者及家属的价值观及医院必须纳入考虑。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012253.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1988年1月28日&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;有研究发现，325 mg阿司匹林的隔天使用可以大幅度（近1/2）降低致死性/非致死性心肌梗塞的发病率。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012254.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1991年10月17日&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;两个开创性的研究发现了幽门螺杆菌与胃癌之间的强烈联系。其中Haenszel等的研究发现日裔美国人在最初数十年的胃癌发病主要决定于环境因素；而Parsonnet等的研究发现幽门螺杆菌感染与胃腺癌风险增加有关，从而推测幽门螺杆菌可能是癌变的辅助因素。基于这两个研究，可以部分的认为，胃癌其实也算是一个感染性疾病。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012255.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1997年4月17日&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;发现饮食疗法可以干预高血压。将患者分为（1）典型的美国饮食，（2）低糖且水果蔬菜丰富的食物和（3）联合水果蔬菜丰富且低脂少肉的饮食。后两种饮食方式均可以降低血压，这就是DASH饮食的来源。如今，DASH饮食和运动一起，已经成为了抵抗高血压的一线治疗方式。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012256.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1997年9月11日&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Gulick的研究发现使用茚地那韦、齐多夫定和拉米夫定3种不同机制药物的联合，可以显著并持续抑制HIV的复制。这就是革命性的艾滋病鸡尾酒疗法的诞生。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012257.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;2001年2月1日&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Nature和Science两家杂志都报道了人类基因组的测序和分析。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012258.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;2002年11月12日&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;Koutsky和同事长达20年的探索发现了人类乳头瘤病毒（HPV）与宫颈癌之间的关系。这个双盲的随机对照试验发现，HPV疫苗接种完后的1.5年左右，HPV-16相关的宫颈癌几乎绝迹。仅仅4年后，FDA批准了四价HPV疫苗，用于预防宫颈、外阴和阴道肿瘤。尽管还有很多细节问题需要商榷，但HPV疫苗的出现也许意味着宫颈癌的末日。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012259.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;2003年3月&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;SARS爆发，最终在29个国家出现了8100个病例，至少导致774人死亡。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012261.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;2004年4月8日&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;急性冠脉综合征患者接受阿伐他汀的治疗可以显著降低低密度脂蛋白（LDL）胆固醇、减少心血管病风险和提高生存率。此后，阿伐他汀成为了这种类型患者的标准辅助治疗，而不管他们的基础LDL水平如何。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012012260.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;（完）&lt;/p&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;border:1px solid #d3d3d3;margin:1em;background-color:#AAD2F0;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;h3&gt;文档信息&lt;/h3&gt; &lt;ul&gt; &lt;li&gt;版权声明：自由转载-非商用-非衍生-保持署名 | &lt;a href="http://creativecommons.org/licenses/by-nc-nd/3.0/deed.zh"&gt;Creative Commons BY-NC-ND 3.0&lt;/a&gt;&lt;/li&gt; &lt;li&gt;原文网址：&lt;a href="http://www.ruanyifeng.com/blog/2012/01/modern_medicine_timeline.html"&gt;http://www.ruanyifeng.com/blog/2012/01/modern_medicine_timeline.html&lt;/a&gt;&lt;/li&gt; &lt;li&gt;最后修改时间：2012年1月23日 20:37&lt;/li&gt; &lt;li&gt;付费支持：&lt;a href="https://mai.alipay.com/p.htm?id=2012010602227616" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/rmb_32.png" alt="支付宝担保交易" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; | &lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=yifeng.ruan@gmail.com&amp;currency_code=USD&amp;amount=2.99&amp;return=http://www.ruanyifeng.com/thank.html&amp;item_name=Ruan%20YiFeng's%20Blog&amp;undefined_quantity=1&amp;no_note=0" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/dollar_32.png"  alt="paypal" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;/div&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;margin:1em;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td style="margin-bottom:0;line-height:1.4em;"&gt; &lt;p style="margin:1em 0 3px 0;"&gt; &lt;a name="2" style="font-family:Arial, Helvetica, sans-serif;font-size:18px;" href="http://www.ruanyifeng.com/blog/2012/01/richard_stallman_was_right_all_along.html"&gt;理查德&amp;middot;斯托曼一直是对的&lt;/a&gt; &lt;/p&gt; &lt;p style="font-size:13px;color:#555;margin:9px 0 3px 0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;"&gt; &lt;span&gt;Posted:&lt;/span&gt; 19 Jan 2012 04:29 AM PST&lt;/p&gt; &lt;div style="margin:0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt;&lt;p&gt;所有反对&lt;a href="http://www.ruanyifeng.com/blog/2012/01/why_sopa_is_evil.html"&gt;SOPA&lt;/a&gt;的文章之中，有一篇的题目是&lt;a href="http://www.osnews.com/story/25469/Richard_Stallman_Was_Right_All_Along"&gt;《理查德·斯托曼一直是对的》&lt;/a&gt;，我印象最深。&lt;/p&gt;&lt;p&gt;它指出，最近几个月，美国的公民自由严重倒退。先是&lt;a href="http://en.wikipedia.org/wiki/National_Defense_Authorization_Act_for_Fiscal_Year_2012"&gt;《国防授权法案》&lt;/a&gt;（NDAA）允许政府可以不经任何程序，无限期拘捕具有恐怖活动嫌疑的人；接着是参与"占领华尔街"运动的民众被污蔑成"恐怖分子"；现在又是SOPA，它企图通过控制传播渠道，来抑制信息的流通。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012011901.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;这些对公民自由的侵犯，不禁让人联想到，30年前的1983年，有一个叫做&lt;a href="http://www.ruanyifeng.com/blog/2005/03/post_112.html"&gt;理查德·斯托曼&lt;/a&gt;的程序员，声称&lt;strong&gt;"软件的自由，关系到人类的自由"&lt;/strong&gt;。这个观点当时被认为荒唐偏激，但是现在来看，他担心的事情正在变成现实，他其实是对的。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012011902.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;很多人不赞成理查德·斯托曼，一部分原因是觉得他过于极端，是一个狂热的偏执症患者。比如，他仅有的个人电脑是一台&lt;a href="http://www.lemote.com/en/products/Notebook/2010/0310/112.html"&gt;龙芯上网本&lt;/a&gt;，因为这是世界唯一的全部使用自由软件（Bios、硬件驱动、操作系统、应用软件）的电脑；他拒绝使用手机，因为手机的硬件和软件太封闭，使用某个品牌的手机，几乎等同于接受某家公司的控制；甚至他的头发、他的胡子、他的服装，都让人们觉得这是一个怪人，大可不必理会他的观点。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012011903.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;他创立的&lt;a href="http://www.fsf.org/"&gt;自由软件基金会&lt;/a&gt;的主页上这样&lt;a href="http://www.fsf.org/about/"&gt;写道&lt;/a&gt;：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;"我们的社会正越来越依赖计算机，我们使用的软件对保证未来社会的自由至关重要。&lt;strong&gt;自由软件使我们能够控制我们使用的技术，让技术造福个人和社会，而不是让技术被商业公司或政府控制，用来限制或监视我们。&lt;/strong&gt;"&lt;/p&gt;  &lt;p&gt;(As our society grows more dependent on computers, the software we run is of critical importance to securing the future of a free society. Free software is about having control over the technology we use in our homes, schools and businesses, where computers work for our individual and communal benefit, not for proprietary software companies or governments who might seek to restrict and monitor us.)&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;很长时间内，我也认为理查德·斯托曼太极端，对他说的"软件=自由"根本没有感觉，只是觉得自由软件可以免费使用，这点很不错。我从没想过，软件与大公司的垄断、政府的独裁有什么关系，言论自由、公民权力，这些问题怎么会涉及到编程呢？任何时候，只要自由软件能让我不花钱就用上新功能，我就心满意足了。&lt;/p&gt;  &lt;p&gt;但是近几年来，随着《爱国者法案》、国家防火墙、实名制、SOPA这样的事情越来越多，我逐渐意识到，我是错的，理查德·斯托曼是对的。&lt;strong&gt;如今，政府控制人民不再需要警察和军队了，他们只需要控制软件和硬件就行了。&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;电脑和网络技术，在现代社会中占据了至关重要的位置。控制了它们，就可以监视人们的一举一动、一言一行，等同于控制言论、思想、真理和权力。你或许会说，面对面的交谈，就可以免受控制。错！想一想我们怎么安排见面？再想一想，我们身上的每一台设备都与网络相连，这意味着什么？&lt;/p&gt;  &lt;p&gt;假设一个邪恶的政府与大资本家联手，企图剥夺人民的自由。只要自由软件存在，他们就不可能完全成功，因为代码和技术细节都是开放的，他们无法掩人耳目，自由软件将是人民反抗的武器。反过来，如果没有自由软件，代码、协议、操作系统、硬件驱动、文件格式都是保密的，请问你怎么反抗呢？你拿什么反抗呢？根本不需要SOPA，你的自由早就在他人的控制之下了。&lt;/p&gt;  &lt;p&gt;这就是斯托曼一直重复的警告，可惜大多数人都忽视了他的话，只从经济角度看待代码。直到有一天，代码与我们的自由紧密相关的时候，我们才开始醒悟。&lt;strong&gt;自由软件是抵抗邪恶政府、捍卫自由的武器。&lt;/strong&gt;源码包含着力量，我们必须保证，它控制在自由的人们手里。&lt;/p&gt;  &lt;p&gt;最终来说，自由软件与商业无关，它只关系到人类的自由。GPL许可证从来不反对用软件挣钱，它只反对你通过限制他人的自由来挣钱。在理查德·斯托曼看来，专有软件剥夺用户的自由，最终将导致灾难性的后果，高度依赖计算机的社会尤其如此。&lt;/p&gt;  &lt;p&gt;如果你想推广你的代码，让更多的人使用，那么&lt;a href="http://www.ruanyifeng.com/blog/2011/05/how_to_choose_free_software_licenses.html"&gt;BSD许可证&lt;/a&gt;效果更好。但是，如果你想保证自由从此再不会消失、而是像雪球那样越滚越大，那么GPL许可证是最好的选择。&lt;/p&gt;  &lt;p&gt;理查德·斯托曼在30年前，就意识到这一点。他忍受各种艰难困苦，绝不妥协，到处鼓吹自由软件的合理性和必要性。今天我们已经看清楚了，30年了，他一直是对的！&lt;/p&gt;  &lt;p&gt;必须让大家明白，软件代码不仅仅是商业产品，更重要的，它是人类自由的一部分。如果我们要保卫自由，就必须支持自由软件。你可以使用闭源软件，但是你应该支持自由软件，因为没有它，就没有我们的自由，不仅未来如此，而且现在已经如此了。&lt;/p&gt;  &lt;p&gt;（完）&lt;br /&gt; &lt;/p&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;border:1px solid #d3d3d3;margin:1em;background-color:#AAD2F0;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;h3&gt;文档信息&lt;/h3&gt; &lt;ul&gt; &lt;li&gt;版权声明：自由转载-非商用-非衍生-保持署名 | &lt;a href="http://creativecommons.org/licenses/by-nc-nd/3.0/deed.zh"&gt;Creative Commons BY-NC-ND 3.0&lt;/a&gt;&lt;/li&gt; &lt;li&gt;原文网址：&lt;a href="http://www.ruanyifeng.com/blog/2012/01/richard_stallman_was_right_all_along.html"&gt;http://www.ruanyifeng.com/blog/2012/01/richard_stallman_was_right_all_along.html&lt;/a&gt;&lt;/li&gt; &lt;li&gt;最后修改时间：2012年1月23日 10:08&lt;/li&gt; &lt;li&gt;付费支持：&lt;a href="https://mai.alipay.com/p.htm?id=2012010602227616" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/rmb_32.png" alt="支付宝担保交易" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; | &lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=yifeng.ruan@gmail.com&amp;currency_code=USD&amp;amount=2.99&amp;return=http://www.ruanyifeng.com/thank.html&amp;item_name=Ruan%20YiFeng's%20Blog&amp;undefined_quantity=1&amp;no_note=0" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/dollar_32.png"  alt="paypal" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;/div&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;margin:1em;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td style="margin-bottom:0;line-height:1.4em;"&gt; &lt;p style="margin:1em 0 3px 0;"&gt; &lt;a name="3" style="font-family:Arial, Helvetica, sans-serif;font-size:18px;" href="http://www.ruanyifeng.com/blog/2012/01/why_sopa_is_evil.html"&gt;SOPA为什么是一部恶法&lt;/a&gt; &lt;/p&gt; &lt;p style="font-size:13px;color:#555;margin:9px 0 3px 0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;"&gt; &lt;span&gt;Posted:&lt;/span&gt; 17 Jan 2012 12:27 AM PST&lt;/p&gt; &lt;div style="margin:0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt;&lt;p&gt;最近，美国互联网界最热门的话题，非&lt;a href="http://en.wikipedia.org/wiki/SOPA"&gt;SOPA&lt;/a&gt;莫属。&lt;/p&gt;&lt;p&gt;SOPA是《禁止网络盗版法案》（Stop Online Piracy Act）的缩写。该法案目前正在美国国会审议，引起了大量争议。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012011704.png" /&gt;&lt;/p&gt;  &lt;p&gt;SOPA的主要内容是，采取更严厉的措施打击互联网盗版。具体来说，就是以下四条：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　（1）美国政府在得到法院禁令后，可以命令"网络广告提供商"（比如&lt;a href="http://www.google.com/doubleclick/"&gt;doubleclick&lt;/a&gt;）和"在线支付提供商"（比如&lt;a href="https://www.paypal.com"&gt;PayPal&lt;/a&gt;）停止向侵权网站提供服务。&lt;/p&gt;  &lt;p&gt;　　（2）美国政府还可以命令搜索引擎（比如Google）不得显示侵权网站的内容，以及命令电信服务商屏蔽侵权网站。&lt;/p&gt;  &lt;p&gt;　　（3）在六个月内获取（包括转贴和上传）盗版材料累计10次者，最高可判处5年有期徒刑。&lt;/p&gt;  &lt;p&gt;　　（4）如果互联网服务提供商事先采取防盗版措施，可免除侵权责任；如果明知有人利用该服务进行盗版活动，却不加以制止，将加重惩罚。&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;可以看到，以上四条措施，都不是通过打击盗版者来防止盗版，而是通过扩大&lt;a href="http://www.ruanyifeng.com/blog/2009/12/should_isp_bear_joint_liabilities.html"&gt;连带责任&lt;/a&gt;来防止盗版。&lt;/p&gt;  &lt;p&gt;这种"责任扩大化"的后果，可以归结为以下几点：&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;A. 一旦这个法案通过，整个互联网产业都将受到牵连。&lt;/strong&gt;任何公司只要提供互联网服务，就必须为服务对象的行为负责，这会影响公司的运作模式，大大提高成本。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012011703.png" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;B. 该法案还会影响到互联网的技术架构。&lt;/strong&gt;因为网络代理服务（Proxy）和域名解析（DNS）也属于该法案禁止向盗版者提供的服务，如果Proxy和DNS都部署实时监控，互联网架构将变得复杂，效率也会降低。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;C. 该法案实际上将&lt;a href="http://en.wikipedia.org/wiki/Internet_censorship"&gt;"互联网审查"&lt;/a&gt;（internet censorship）合法化。&lt;/strong&gt;它规定任何公司如果没有"事先采取防盗版的措施"，就是连带责任人。这等于命令各家公司必须自行审查用户提交的内容，"言论自由"将不复存在。维基百科、Youtube、Flickr这一类用户直接贡献内容的网站，也没法生存下去了。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012011701.png" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;D. 该法案还废除了&lt;a href="http://www.ruanyifeng.com/blog/2010/03/dmca.html"&gt;《数字千禧年版权法》&lt;/a&gt;（DMCA）规定的"安全港"(safe harbor)原则。&lt;/strong&gt;所谓"安全港"，指只要服务商在接到侵权通知后的规定时间，采取相应措施，就可免除责任。而SOPA要求服务商设法自行鉴别出侵权内容，否则就要承担责任。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;总之，这个法案将加重所有人的责任，改变互联网的运行模式，提高成本，阻碍创新，剥夺人民的言论自由，却无法真正地消灭盗版。&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;现在的形势是，电影公司和唱片公司是这个法案最主要的支持者，而互联网业者普遍持反对态度。Google和Facebook已经发表声明，批评该法案；&lt;a href="http://wikimediafoundation.org/wiki/English_Wikipedia_anti-SOPA_blackout"&gt;维基百科&lt;/a&gt;和&lt;a href="http://blog.reddit.com/2012/01/stopped-they-must-be-on-this-all.html"&gt;Reddit&lt;/a&gt; 明天（2012年1月18日）将全站变黑，以示抗议。&lt;/p&gt;  &lt;p&gt;如果你想知道，什么叫"全站变黑"（blackout），可以看看&lt;a href="http://sopablackout.org/"&gt;SOPAblackout.org&lt;/a&gt;，它寓意如果SOPA通过，互联网世界将一片黑暗。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012011706.png" /&gt;&lt;/p&gt;  &lt;p&gt;就连&lt;a href="https://wwws.whitehouse.gov/petition-tool/response/combating-online-piracy-while-protecting-open-and-innovative-internet"&gt;白宫&lt;/a&gt;也反对国会通过这个法案。奥巴马政府的技术主管&lt;a href="http://www.nytimes.com/2012/01/15/us/white-house-says-it-opposes-parts-of-2-antipiracy-bills.html?_r=2&amp;ref=us"&gt;说&lt;/a&gt;，虽然盗版问题必须得到解决，但是&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;"我们不支持那些影响言论自由、增加网络风险、阻碍创新的立法。......任何法案不应该破坏互联网的技术架构。"&lt;/p&gt;  &lt;p&gt;（We will not support legislation that reduces freedom of expression, increases cybersecurity risk or undermines the dynamic, innovative global Internet.... [any proposed legislation] must not tamper with the technical architecture of the Internet.)&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;这个月，美国国会将第三次讨论SOPA。太平洋对岸的整个互联网界都已经动员起来了，越来越多的人开始采取行动反对SOPA，让我们拭目以待这部恶法的结局。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012011702.png" /&gt;&lt;/p&gt;  &lt;p&gt;【预告】&lt;/p&gt;  &lt;p&gt;我的下一篇文章将继续评论SOPA，题目为&lt;a href="http://www.ruanyifeng.com/blog/2012/01/richard_stallman_was_right_all_along.html"&gt;《理查德·斯托曼一直是对的》&lt;/a&gt;。&lt;/p&gt;  &lt;p&gt;（完）&lt;br /&gt; &lt;/p&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;border:1px solid #d3d3d3;margin:1em;background-color:#AAD2F0;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;h3&gt;文档信息&lt;/h3&gt; &lt;ul&gt; &lt;li&gt;版权声明：自由转载-非商用-非衍生-保持署名 | &lt;a href="http://creativecommons.org/licenses/by-nc-nd/3.0/deed.zh"&gt;Creative Commons BY-NC-ND 3.0&lt;/a&gt;&lt;/li&gt; &lt;li&gt;原文网址：&lt;a href="http://www.ruanyifeng.com/blog/2012/01/why_sopa_is_evil.html"&gt;http://www.ruanyifeng.com/blog/2012/01/why_sopa_is_evil.html&lt;/a&gt;&lt;/li&gt; &lt;li&gt;最后修改时间：2012年1月21日 17:19&lt;/li&gt; &lt;li&gt;付费支持：&lt;a href="https://mai.alipay.com/p.htm?id=2012010602227616" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/rmb_32.png" alt="支付宝担保交易" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; | &lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=yifeng.ruan@gmail.com&amp;currency_code=USD&amp;amount=2.99&amp;return=http://www.ruanyifeng.com/thank.html&amp;item_name=Ruan%20YiFeng's%20Blog&amp;undefined_quantity=1&amp;no_note=0" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/dollar_32.png"  alt="paypal" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;/div&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;margin:1em;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td style="margin-bottom:0;line-height:1.4em;"&gt; &lt;p style="margin:1em 0 3px 0;"&gt; &lt;a name="4" style="font-family:Arial, Helvetica, sans-serif;font-size:18px;" href="http://www.ruanyifeng.com/blog/2012/01/wang_shiwei.html"&gt;王实味的《野百合花》&lt;/a&gt; &lt;/p&gt; &lt;p style="font-size:13px;color:#555;margin:9px 0 3px 0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;"&gt; &lt;span&gt;Posted:&lt;/span&gt; 14 Jan 2012 08:56 AM PST&lt;/p&gt; &lt;div style="margin:0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt;&lt;p&gt;1.&lt;/p&gt;  &lt;p&gt;去年12月26日，南京大学历史系&lt;a href="http://www.nbweekly.com/news/people/201104/14356.aspx"&gt;高华教授&lt;/a&gt;患肝癌&lt;a href="http://news.163.com/11/1228/02/7MB1HENP00014AED.html"&gt;去世&lt;/a&gt;，享年57岁。&lt;/p&gt;&lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012011406.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;他是中共党史专家，我读过他的许多文章（比如&lt;a href="http://www.ruanyifeng.com/blog/2011/08/cooking_technology_innovation_movement.html"&gt;"做饭技术革新运动"&lt;/a&gt;)。听到他去世的消息，我很难过，决定好好读一遍他的代表作&lt;a href="http://www.google.com.hk/search?hl=zh-CN&amp;newwindow=1&amp;safe=strict&amp;q=%E7%BA%A2%E5%A4%AA%E9%98%B3%E6%98%AF%E6%80%8E%E6%A0%B7%E5%8D%87%E8%B5%B7%E7%9A%84&amp;oq=%E7%BA%A2%E5%A4%AA%E9%98%B3%E6%98%AF%E6%80%8E%E6%A0%B7%E5%8D%87%E8%B5%B7%E7%9A%84&amp;aq=f&amp;aqi=g10&amp;aql=&amp;gs_sm=e&amp;gs_upl=123057l124683l0l125258l2l2l0l0l0l0l347l600l2-1.1l2l0"&gt;《红太阳是怎样升起的----延安整风的来龙去脉》&lt;/a&gt;。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012011405.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;此书是目前国内唯一的系统研究"延安整风运动"的学术著作，具有很高的学术价值。但是，因为与官方观点截然相反，只能在香港出版。我认为，如果想要真正理解中国共产党和毛泽东，此书是必读的。&lt;/p&gt;  &lt;p&gt;（插一句，网上还有高华教授的一些讲座录音，可下载。请自行搜索关键词"高华"+"&lt;a href="http://www.google.com.hk/#hl=zh-CN&amp;newwindow=1&amp;safe=strict&amp;q=%E9%AB%98%E5%8D%8E+%E6%9C%89%E5%85%B3%E7%BA%A2%E5%86%9B%E9%95%BF%E5%BE%81%E7%A0%94%E7%A9%B6%E7%9A%84%E8%8B%A5%E5%B9%B2%E9%97%AE%E9%A2%98&amp;oq=%E9%AB%98%E5%8D%8E+%E6%9C%89%E5%85%B3%E7%BA%A2%E5%86%9B%E9%95%BF%E5%BE%81%E7%A0%94%E7%A9%B6%E7%9A%84%E8%8B%A5%E5%B9%B2%E9%97%AE%E9%A2%98&amp;aq=f&amp;aqi=&amp;aql=&amp;gs_sm=s&amp;gs_upl=22071l22071l4l22742l1l1l0l0l0l0l254l254l2-1l1l0&amp;bav=on.2,or.r_gc.r_pw.,cf.osb&amp;fp=3fb9d3de4de47f4&amp;biw=999&amp;bih=486"&gt;有关红军长征研究的若干问题&lt;/a&gt;"、"&lt;a href="http://www.google.com.hk/#hl=zh-CN&amp;newwindow=1&amp;safe=strict&amp;q=%E9%AB%98%E5%8D%8E+%E8%B0%88%E8%B0%88%E6%8A%97%E6%88%98%E5%8E%86%E5%8F%B2%E7%9A%84%E5%87%A0%E4%B8%AA%E9%97%AE%E9%A2%98&amp;oq=%E9%AB%98%E5%8D%8E+%E8%B0%88%E8%B0%88%E6%8A%97%E6%88%98%E5%8E%86%E5%8F%B2%E7%9A%84%E5%87%A0%E4%B8%AA%E9%97%AE%E9%A2%98&amp;aq=f&amp;aqi=&amp;aql=&amp;gs_sm=s&amp;gs_upl=19305l19305l0l20306l1l1l0l0l0l0l353l353l3-1l1l0&amp;bav=on.2,or.r_gc.r_pw.,cf.osb&amp;fp=3fb9d3de4de47f4&amp;biw=999&amp;bih=486"&gt;谈谈抗战历史的几个问题&lt;/a&gt;"、"&lt;a href="http://www.google.com.hk/#hl=zh-CN&amp;newwindow=1&amp;safe=strict&amp;q=%E9%AB%98%E5%8D%8E+%E5%9B%BD%E6%B0%91%E5%85%9A%E5%9C%A81949%E5%B9%B4%E5%A4%B1%E8%B4%A5%E7%9A%84%E5%8E%9F%E5%9B%A0&amp;oq=%E9%AB%98%E5%8D%8E+%E5%9B%BD%E6%B0%91%E5%85%9A%E5%9C%A81949%E5%B9%B4%E5%A4%B1%E8%B4%A5%E7%9A%84%E5%8E%9F%E5%9B%A0&amp;aq=f&amp;aqi=&amp;aql=&amp;gs_sm=s&amp;gs_upl=37891l37891l2l38840l1l1l0l0l0l0l255l255l2-1l1l0&amp;bav=on.2,or.r_gc.r_pw.,cf.osb&amp;fp=3fb9d3de4de47f4&amp;biw=999&amp;bih=486"&gt;国民党在1949年失败的原因&lt;/a&gt;"、"&lt;a href="http://www.google.com.hk/#hl=zh-CN&amp;newwindow=1&amp;safe=strict&amp;q=%E9%AB%98%E5%8D%8E+%E6%AF%9B%E6%B3%BD%E4%B8%9C%E4%BD%95%E4%BB%A5%E5%8F%91%E5%8A%A8%E6%96%87%E9%9D%A9&amp;oq=%E9%AB%98%E5%8D%8E+%E6%AF%9B%E6%B3%BD%E4%B8%9C%E4%BD%95%E4%BB%A5%E5%8F%91%E5%8A%A8%E6%96%87%E9%9D%A9&amp;aq=f&amp;aqi=&amp;aql=&amp;gs_sm=s&amp;gs_upl=20368l20368l6l21020l1l1l0l0l0l0l312l312l3-1l1l0&amp;bav=on.2,or.r_gc.r_pw.,cf.osb&amp;fp=3fb9d3de4de47f4&amp;biw=999&amp;bih=486"&gt;毛泽东何以发动文革&lt;/a&gt;"、"&lt;a href="http://www.google.com.hk/#hl=zh-CN&amp;newwindow=1&amp;safe=strict&amp;q=%E9%AB%98%E5%8D%8E+%E5%86%8D%E6%8E%A2%E6%9E%97%E5%BD%AA%E4%BA%8B%E4%BB%B6&amp;oq=%E9%AB%98%E5%8D%8E+%E5%86%8D%E6%8E%A2%E6%9E%97%E5%BD%AA%E4%BA%8B%E4%BB%B6&amp;aq=f&amp;aqi=&amp;aql=&amp;gs_sm=s&amp;gs_upl=20758l20758l8l21614l1l1l0l0l0l0l223l223l2-1l1l0&amp;bav=on.2,or.r_gc.r_pw.,cf.osb&amp;fp=3fb9d3de4de47f4&amp;biw=999&amp;bih=486"&gt;再探林彪事件&lt;/a&gt;"。）&lt;/p&gt;  &lt;p&gt;2.&lt;/p&gt;  &lt;p&gt;"延安整风运动"为什么值得研究，并且极其重要？&lt;/p&gt;  &lt;p&gt;高华教授这样写道：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;&lt;strong&gt;"延安整风运动是毛泽东运用其政治优势，彻底改组中共上层机构，重建以毛为绝对主宰的上层权力再分配的过程。同时，延安整风运动又是毛泽东以自己的理念和思想，彻底转换中共的"俄化"气质，将中共改造成为毛泽东的中共的过程。&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;毛泽东在整风中运用他所创造的思想改造和审干、肃反两种手段，沉重打击了党内存留的五四自由民主思想的影响和对苏俄盲目崇拜的气氛，不仅完成了党的全盘毛泽东化的基础工程，而且还建立起一整套烙有毛泽东鲜明个人印记的中共新传统，其一系列概念与范式相沿成习，在1949年后改变了几亿中国人的生活和命运。"&lt;/strong&gt;&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;这就是说，1949年后，直到现在，我们所处的政治制度，我们接受的革命教育，我们习惯的思维模式，很大程度上都源自"延安整风运动"。&lt;/p&gt;  &lt;p&gt;一个证据就是王实味的《野百合花》事件。它反映了一个理想主义倾向的知识分子在延安的遭遇，揭示了1949年后，整个中国自由主义知识阶层的命运。同时，这个事件还能让我们看到，历史上真正的延安是一个怎样的地方。&lt;/p&gt;  &lt;p&gt;下面是我根据《红太阳是怎样升起的》一书整理的。&lt;/p&gt;  &lt;p&gt;3.&lt;/p&gt;  &lt;p&gt;王实味，作家，1906年生于河南省潢川县。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012011402.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;1926年，他在北京大学读书期间，加入中国共产党。不久以后，因为追求党内女同学，他与支部书记发生矛盾，被说成"小资情调浓厚，革命意志和组织观念十分淡薄，入党动机卑鄙"。北大支部最后决定，将其开除出党。&lt;/p&gt;  &lt;p&gt;1937年10月，31岁的王实味来到延安，进入鲁迅艺术学院的马列学院编译室，参与翻译马克思主义经典著作。他个性耿直狷介，看不惯顶头上司陈伯达种种谋上压下的表现，导致与领导关系紧张。&lt;/p&gt;  &lt;p&gt;1941年9月，马列研究院改名为中央研究院，王实味转入中国文艺研究室作特别研究员，不再翻译外文著作，有了一定的创作自由，开始写文章了。&lt;/p&gt;  &lt;p&gt;1942年3月，他将自己对延安生活的感受，写成了5000多字的杂文《野百合花》，发表在中共中央机关报《解放日报》的文艺副刊。这篇文章为他惹来杀身大祸。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012011403.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;4.&lt;/p&gt;  &lt;p&gt;《野百合花》的开头，王实味写道，国民党统治区的爱国青年怀着抗日热情来到延安，却发现延安中央大礼堂的舞会在通宵达旦地举行，一派"歌啭玉堂春、舞回金莲步的升平气象"。&lt;/p&gt;  &lt;p&gt;他说，在路上听到两个延安女青年的对话。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;"（某领导）动不动，就说人家小资产阶级平均主义，其实，他自己倒真有点特殊主义。事事都只顾自己特殊化。对下面同志，身体好也罢，坏也罢，病也罢，死也罢，差不多漠不关心！" &lt;/p&gt;  &lt;p&gt;"哼，到处乌鸦一般黑，我们底××同志还不也是这样！" &lt;/p&gt;  &lt;p&gt;"说得好听！阶级友爱呀，什么呀----屁！好象连人对人的同情心都没有！平常见人装得笑嘻嘻，其实是皮笑肉不笑，肉笑心不笑，稍不如意，就瞪起眼睛，摆出首长架子来训人。 "&lt;/p&gt;  &lt;p&gt;"大头子是这样，小头子也是这样。我们的科长，对上是毕恭毕敬的，对我们，却是神气活现，好几次同志病了，他连看都不伸头看一下。可是一次老鹰抓了他一只小鸡，你看他多么关心这件大事呀！以后每次看见老鹰飞来，他都嚎嚎的叫，扔土块去打它----自私自利的家伙！" &lt;/p&gt;  &lt;p&gt;"我两年来换了三四个工作机关，那些首长以及科长、主任之类，真正关心干部爱护干部的，实在太少了。"&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;通过这段对话，王实味说出了，延安青年知识分子中普遍存在的失望和激愤。&lt;/p&gt;  &lt;p&gt;然后，他进一步指出，延安存在一些不合理的现象，比如"害病的同志喝不到一口曲汤，青年学生一天只得到两餐稀粥"、"颇为健康的'大人物'作非常不必要不合理的'享受'"、"食分五等，衣着三色"...... &lt;/p&gt;  &lt;p&gt;写到这里，王实味已经从表达年轻人的不满，转为批评延安的政治制度了。他得出结论：中国专制主义的旧传统已严重侵蚀了中共的肌体，即使在延安，"旧中国的肮脏污秽也沾染了我们自己，散布细菌，传染疾病"。&lt;/p&gt;  &lt;p&gt;仿佛还嫌这样说不过瘾，他笔锋一转，将批评的矛头直指毛泽东独创的名言"天塌不下来"论。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;"有一种民族形式的理论，叫做'天塌不下来'。&lt;/p&gt;  &lt;p&gt;是的，天是不会塌下来的。可是，我们的工作和事业，是否因为'天塌不下来'就不受损失呢？这一层，'大师'们的脑子绝少想到甚至从未想到。"&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;高华教授解释了，为什么这段话闯了大祸：从四十年代初开始，毛泽东就愈来愈喜欢讲"天塌不下来"，在形势紧张，中共面临困境时，毛爱谈"天塌不下来"；在闻知党内外有不满意见时，毛更爱说这句话："有意见，你让人家讲吗，天又不会塌下来！"，"有话就说，有屁就放，天塌不下来！"，"我劝同志们硬着头皮顶住，地球照转，天塌不下来！"&lt;/p&gt;  &lt;p&gt;王实味完全没有意识到这样直接批评的后果，继续满腔热血地慷慨陈辞：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;"我们须要以战斗的布尔什维克能动性，去防止黑暗的产生，削减黑暗的滋长......要想在今天，把我们的阵营里一切黑暗消灭净尽，这是不可能的；但把黑暗消灭至最小限度，却不但可能，而且必要。 &lt;/p&gt;  &lt;p&gt;如果让这样发展下去，则天----革命事业的天----是'必然'要塌下来的。别那么安心罢。"&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;最后，他还书生气十足地声明，自己放言直谏绝非为争个人利益，甚至对延安的等级制度表现出善意的理解，认为"对那些健康上需特殊优待的重要负责者，予以特殊的优待是合理的而且是必要的。一般负轻重要责任者，也可略予优待"。只是处在当前"艰难困苦的革命过程中"，"许多人都失去最可宝贵的健康的时期"，为了"产生真正铁一般的团结"，"负责任更大的人，倒更应该表现与下层同甘共苦（这倒是真正应该发扬的民族美德的精神）。"&lt;/p&gt;  &lt;p&gt;5.&lt;/p&gt;  &lt;p&gt;《野百合花》发表后，在延安引起轰动。&lt;/p&gt;  &lt;p&gt;各学校、机关纷纷仿效，办起自己的内部刊物，说出人们真实的感想。王实味的工作单位中央研究院，95%的工作人员同情、支持王实味的观点，研究院领导成为大家批评的目标。延安大学也出现了民主"一边倒"的局势。在3月26日全体党员大会上，与会者控诉了"个别领导同志，以主观武断的态度处理问题，缺少民主精神，以'尊重组织'、'尊重领导人的威信'等为借口变相地压制民主，以致造成一部分同志不敢讲话和不愿讲话的现象"，会议"打破了过去大家畏缩不敢发言的空气，充分发扬了民主"，有人甚至提议，应以清算的方式，明确责任问题，"是非属谁。责任属谁，根究到底，必须得出正确的结论"。&lt;/p&gt;  &lt;p&gt;已经奉命停课，或即将停课转入整风的各学校，和已转入整风检查阶段的各机关，都不同程度地出现了动荡的局面，青年知识分子普遍要求"揭盖子"和割领导的"尾巴"...... &lt;/p&gt;  &lt;p&gt;一时之间，延安的宣传阵地有失控的迹象。&lt;/p&gt;  &lt;p&gt;6.&lt;/p&gt;  &lt;p&gt;毛泽东对《野百合花》是什么态度呢？&lt;/p&gt;  &lt;p&gt;据胡乔木回忆，毛泽东读完《野百会花》后，气愤地"猛拍办公桌上的报纸"，厉声问道，"这是王实味挂帅，还是马克思挂帅"？毛当即给《解放日报》打电话，要求作出深刻检查。他感到情况不妙，担心运动将失去控制，迅速改变原先制定的利用"自由主义"打击"教条主义"的策略，决定抛出王实味作为靶子，先行将"自由化"打压下去。&lt;/p&gt;  &lt;p&gt;1942年3月31日，《野百合花》发表后一个星期，毛泽东在《解放日报》改版座谈会上，抓住"立场"、"绝对平均观念"和"冷嘲暗箭"三个问题，向延安青年知识分子发出严厉警告： &lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;"有些人是从不正确的立场说话的，这就是绝对平均的观念和冷嘲暗箭的办法。近来颇有些求绝对平均，但这是一种幻想，不能实现的。我们工作制度中确有许多缺点，应加改革，但如果要求绝对平均，则不但现在，将来也是办不到的。小资产阶级的空想社会主义思想，我们应该拒绝。......冷嘲暗箭，则是一种销蚀剂，是对团结不利的。"&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;毛泽东的上述警告赫然刊登在4月2日《解放日报》的头版。&lt;/p&gt;  &lt;p&gt;第二天，1942年4月3日，中宣部正式发出有名的"四三决定"（即《关于在延安讨论中央决定及毛泽东同志整顿三风报告的决定》）。这个决定是"在毛泽东直接领导下"，针对中研院整风出现的"自由化"倾向，特为"纠偏"而制定的。《决定》明确申明：整风必须在各部门的领导机关负责人领导下进行，不得以群众选举的方式，组织领导整风的检查委员会；在检查工作时，不仅只检查领导方面的，而且要检查下面的和各个侧面的；每人都必须反省自己的全部历史。"四三决定"的颁布不仅结束了短暂的延安之春，而且标志着自1941年10月就秘密酝酿的干部审查运动即将拉开帷幕（当时成立了以康生为首的"党与非党干部审查委员会"），整风不久将转入严酷的审干肃反阶段。&lt;/p&gt;  &lt;p&gt;1942年4月5日，《解放日报》刊登胡乔木起草的《整顿三风必须正确进行》的社论，指斥整风已出现了"不正确的方法"，再次重复毛泽东3月31日发出的警告，不指名地抨击王实味是"从不正确的立场来说话"，谴责王实味等的"错误的观念，错误的办法，不但对于整顿三风毫无补益，而且是有害的"。&lt;/p&gt;  &lt;p&gt;至此，局势完全转变，暴风雨即将来临。&lt;/p&gt;  &lt;p&gt;7.&lt;/p&gt;  &lt;p&gt;1942年4月7日，中央研究院开始整顿内部，有条不紊地部署反王实味斗争。很快，院内原先支持、同情王实味的干部，被骤然降临的风暴吓得不知所措，随即为求自保，纷纷反戈一击，或痛哭流涕检讨自己立场不稳，上当受骗；或义愤填膺，控诉王实味一贯"反党"、"反领导"。一些人甚至作出与王实味"势不两立"的模样，要求组织上严惩王实味。&lt;/p&gt;  &lt;p&gt;王实味被控的罪名也不断升级，先后戴上了三项"帽子"：反党分子（不久又升格为"反党集团头目"）、托匪、国民党特务（又称"国民党探子"）。他抵抗了几天，先是称病缺席，后被抬着担架至会场接受批斗。&lt;/p&gt;  &lt;p&gt;1942年6月4日，在持续的精神恐惧中，王实味的书呆子气再一次发作，宣布褪出中共（来到延安前，他已经重新入党），以为就此可以摆脱一切。但是，他太天真了，党组织这个时候绝不会给他这种自由，而是要将其开除出党。&lt;/p&gt;  &lt;p&gt;1942年6月6日，他被定为托派分子，并与延安中央研究院、中央政治研究室的其他4人，一起被打成"五人反党集团"，被开除出党。即使他痛哭流悌，收回褪党声明，承认自己的言论犯了弥天大罪，跪在中央组织部磕头求饶，也丝毫无济于事。&lt;/p&gt;  &lt;p&gt;1943年4月，康生下令逮捕王实味。关押期间，又查出王实味1927年在国民党中央党部当过3个月文书。于是，王实味头上除"反革命托派奸细分子"、"反党五人集团成员"外，又加戴一顶黑帽子："暗藏的国民党特务"。&lt;/p&gt;  &lt;p&gt;1946年，王实味的审查结论公布，他被定为"反革命托派奸细分子"。&lt;/p&gt;  &lt;p&gt;1947年3月，胡宗南进攻延安。王实味作为在押犯，随同大队撤离延安，来到山西省兴县，关押在晋绥公安总局的一个看守所。&lt;/p&gt;  &lt;p&gt;1947年6月，兴县遭国民党飞机轰炸，晋绥公安总局请求处决王实味，得到康生的批准。&lt;/p&gt;  &lt;p&gt;1947年7月1日晚上，王实味被砍头，尸体扔进一眼枯井，时年41岁。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012011401.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;8.&lt;/p&gt;  &lt;p&gt;1962年1月30日，毛泽东《在扩大的中央工作会议上的讲话》中说，王实味是个"暗藏的国民党探子"，"他当特务，写文章骂我们，又死不肯改"。&lt;/p&gt;  &lt;p&gt;1991年2月7日，中华人民共和国公安部在经过长期取证后，作出《关于对王实味同志托派问题的复查决定》，指出：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;"经复查，王实味同志1930年在沪期间与原北大同学王凡西、陈清晨（均系托派分子）的来往中，接受和同情他们的某些托派观点，帮助翻译过托派的文章。在现有王实味的交代材料中，王对参加托派组织一事反反复复。在复查中没有查出王实味同志参加托派组织的材料。因此，1946年定为'反革命托派奸细分子'的结论予以纠正，王在战争环境中被错误处决给于平凡昭雪。"&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;（完）&lt;br /&gt; &lt;/p&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;border:1px solid #d3d3d3;margin:1em;background-color:#AAD2F0;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;h3&gt;文档信息&lt;/h3&gt; &lt;ul&gt; &lt;li&gt;版权声明：自由转载-非商用-非衍生-保持署名 | &lt;a href="http://creativecommons.org/licenses/by-nc-nd/3.0/deed.zh"&gt;Creative Commons BY-NC-ND 3.0&lt;/a&gt;&lt;/li&gt; &lt;li&gt;原文网址：&lt;a href="http://www.ruanyifeng.com/blog/2012/01/wang_shiwei.html"&gt;http://www.ruanyifeng.com/blog/2012/01/wang_shiwei.html&lt;/a&gt;&lt;/li&gt; &lt;li&gt;最后修改时间：2012年1月23日 17:09&lt;/li&gt; &lt;li&gt;付费支持：&lt;a href="https://mai.alipay.com/p.htm?id=2012010602227616" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/rmb_32.png" alt="支付宝担保交易" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; | &lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=yifeng.ruan@gmail.com&amp;currency_code=USD&amp;amount=2.99&amp;return=http://www.ruanyifeng.com/thank.html&amp;item_name=Ruan%20YiFeng's%20Blog&amp;undefined_quantity=1&amp;no_note=0" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/dollar_32.png"  alt="paypal" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;/div&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;margin:1em;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td style="margin-bottom:0;line-height:1.4em;"&gt; &lt;p style="margin:1em 0 3px 0;"&gt; &lt;a name="5" style="font-family:Arial, Helvetica, sans-serif;font-size:18px;" href="http://www.ruanyifeng.com/blog/2012/01/a_bash_script_of_apache_log_analysis.html"&gt;处理Apache日志的Bash脚本&lt;/a&gt; &lt;/p&gt; &lt;p style="font-size:13px;color:#555;margin:9px 0 3px 0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;"&gt; &lt;span&gt;Posted:&lt;/span&gt; 05 Jan 2012 09:32 PM PST&lt;/p&gt; &lt;div style="margin:0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt;&lt;p&gt;去年一年，我写了将近100篇网络日志。&lt;/p&gt;&lt;p&gt;现在这一年结束了，我要统计"访问量排名"，看看哪些文章最受欢迎。&lt;strong&gt;（隆重预告：本文结尾处将揭晓前5名。）&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201201/bg2012010501.png" /&gt;&lt;/p&gt;  &lt;p&gt;以往，我用的是&lt;a href="http://awstats.sourceforge.net/"&gt;AWStats&lt;/a&gt;日志分析软件。它可以生成很详细的报表，但是不太容易定制，得不到某些想要的信息。所以，我就决定自己写一个Bash脚本，统计服务器的日志，顺便温习一下脚本知识。&lt;/p&gt;  &lt;p&gt;事实证明，这件事比我预想的难。虽然最终脚本只有20多行，但花了我整整一天，反复查看手册，确认用法和合适的参数。下面就是我的日志分析脚本，虽然它还不是通用的，但是我相信里面用到的命令，足以满足一般的日志分析需求，同时也是很好的学习Bash的实例。如果下面的每一个命令你都知道，我觉得可以堪称熟练使用Bash了。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;一、操作环境&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;在介绍脚本之前，先讲一下我的服务器环境。&lt;/p&gt;  &lt;p&gt;我的网络服务器软件是Apache，它会对每一个http请求留下记录，就像下面这一条：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　203.218.148.99 - - [01/Feb/2011:00:02:09 +0800] "GET /blog/2009/11/an_autobiography_of_yang_xianyi.html HTTP/1.1" 200 84058 "http://www.ruanyifeng.com/blog/2009/11/freenomics.html" "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13"&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;它的意思是2011年2月1日，IP地址为203.218.148.99的访问者，向服务器请求访问网址/blog/2009/11/an_autobiography_of_yang_xianyi.html。&lt;/p&gt;  &lt;p&gt;当天所有的访问记录，组成一个日志。过去一年，一共生成了365个日志文件。它们存放在12个目录中，每一个目录表示一个月（2011-01、2011-02、......2011-12），里面的日志文件依次为www-01.log、www-02.log、......www-31.log（假定该月有31天）。&lt;/p&gt;  &lt;p&gt;在不压缩的情况下，365个日志文件加起来，要占掉10GB空间。我的目标就是分析这10GB日志，最后得到一个如下形式的访问量排名：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　访问量 网址1&lt;br /&gt; 　　访问量 网址2&lt;br /&gt; 　　访问量 网址3&lt;br /&gt; 　　......   ......&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;二、为什么要用Bash&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;很多计算机语言，都可以用来完成这个任务。但是，如果只是简单的日志分析，我觉得Bash脚本是最合适的工具。&lt;/p&gt;  &lt;p&gt;主要原因有两个：一是"开发快"，Bash脚本是各种Linux命令的组合，只要知道这些命令怎么用，就可以写脚本，基本上不用学习新的语法，而且它不用编译，直接运行，可以边写边试，对开发非常友好。二是"功能强"，Bash脚本的设计目的，就是为了处理输入和输出，尤其是单行的文本，所以非常合适处理日志文件，各种现成的参数加上管道机制，威力无穷。&lt;/p&gt;  &lt;p&gt;前面已经说过，最终的脚本我只用了20多行，处理10GB的日志，20秒左右就得到了结果。考虑到排序的巨大计算量，这样的结果非常令人满意，充分证明了Bash的威力。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;三、总体思路&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;我的总体处理思路是这样的：&lt;/p&gt;  &lt;p&gt;　　第一步，处理单个日志。统计每一天各篇文章的访问量。&lt;/p&gt;  &lt;p&gt;　　第二步，生成月度排名。将每一天的统计结果汇总，得到月度访问量。&lt;/p&gt;  &lt;p&gt;　　第三步，生成年度排名。将12个月的统计结果汇总，进行年度访问量的排序。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;四、处理单个日志&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;以2011年1月1日的日志为例，它在目录2011-01之中，文件名是www-01.log，里面有10万条如下格式的记录：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　203.218.148.99 - - [01/Feb/2011:00:02:09 +0800] "GET /blog/2009/11/an_autobiography_of_yang_xianyi.html HTTP/1.1" 200 84058 "http://www.ruanyifeng.com/blog/2009/11/freenomics.html" "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13"&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;处理这个日志，我只用了一行代码：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　awk '$9 == 200 {print $7}' www-01.log | grep -i '^/blog/2011/.*\.html$' | sort | uniq -c | sed 's/^ *//g' &amp;gt; www-01.log.result&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;它用管道连接了5个命令，每一个都很简单，我们依次来看：&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;（1） awk '$9 == 200 {print $7}' www-01.log&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;awk命令默认用空格，将每一行文本分割成若干个字段。仔细数一下，我们需要的只是第7个字段，即http请求的网址，{print $7}表示将第7个字段输出，结果就是：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　/blog/2009/11/an_autobiography_of_yang_xianyi.html&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;考虑到我们只统计成功的请求，因此再加一个限制条件，服务器的状态代码必须是200（表示成功），写成"$9 == 200"，即第9个字段必须是200，否则不输出第7个字段。&lt;/p&gt;  &lt;p&gt;更精细的统计，还应该区分网络蜘蛛和真实访问者，由于我想不出简单的分辨方法，这里只好忽略了。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;（2）grep -i '^/blog/2011/.*\.html$'&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;在输出的所有记录的第7个字段之中，并不是每一条记录都需要统计的。根据我的文章的命名特点，它们的网址应该都以"/blog/2011/"开头，以".html"结尾。所以，我用一个正则表达式"^/blog/2011/.*\.html$"，找出这些记录。参数i表示不区分大小写。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;（3）sort&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;这时，所有需要统计的记录应该都列出来了，但是它们的次序是杂乱的。接着，使用sort命令，不过目的不是为了排序，而是把相同的网址排列在一起，为后面使用uniq命令创造条件。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;（4）uniq -c&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;uniq的作用是过滤重复的记录，只保留一行。c参数的作用，是在每行的开头添加该记录的出现次数。处理之后的输出应该是这样的：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　32 /blog/2011/01/guidelines_for_english_translations_in_public_places.html&lt;br /&gt; 　　32 /blog/2011/01/api_for_google_s_url_shortener.html&lt;br /&gt; 　　30 /blog/2011/01/brief_history_of_arm.html&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;它表示以上三篇文章，在1月1日的日志中，分别有32条、32条、30条的访问记录（即访问次数）。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;（5）sed 's/^ *//g' &amp;gt; www-01.log.result&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;上一步uniq命令添加的访问次数，是有前导空格的。也就是说，在上例的32、32、30之前有一连串空格，为了后续操作的方便，这里把前导空格删去。sed命令是一个处理行文本的编辑器，'s/^ *//g'是一个正则表达式（^和*之间有一个空格），表示将行首的连续空格替换为空（即删除）。接着，将排序结果重定向到文件www-01.result。单个日志分析就完成了。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;五、月度汇总排名&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;经过上一步之后，1月份的31个日志文件，生成了31个对应的分析结果文件。为了汇总整个月的情况，必须把这31个结果文件合并。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;（6）合并分析结果&lt;/strong&gt;&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　for i in www-*.log.result &lt;br /&gt; 　　do &lt;br /&gt; 　　　　cat $i &amp;gt;&amp;gt; log.result&lt;br /&gt; 　　done&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;这是一个循环结构，把所有www-01.log.result形式的文件，都写进log.result文件。&lt;/p&gt;  &lt;p&gt;然后，我用一行语句，计算月度排名。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　sort -k2 log.result | uniq -f1 --all-repeated=separate |./log.awk |sort -rn &amp;gt; final.log.result&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;这行语句由3个命令和1个awk脚本组成：&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;（7）sort -k2 log.result&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;由于是31个文件汇总，log.result文件里面的记录是无序的，必须用sort命令，将相同网址的记录归类在一起。但是此时，访问次数是第一个字段，网址是第二个字段，因此参数k2表示根据第二个字段进行排序。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;（8）uniq -f1 --all-repeated=separate&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;uniq的作用是过滤重复的记录，参数f1表示忽略第一个字段（访问次数），只考虑后面的字段（网址）；参数表示all-repeated=separate，表示过滤掉所有只出现一次的记录，保留所有重复的记录，并且每一组之间用一个空行分隔。这一步完成以后，输出结果变成如下的形式：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　617 /blog/2011/01/guidelines_for_english_translations_in_public_places.html&lt;br /&gt; 　　455 /blog/2011/01/guidelines_for_english_translations_in_public_places.html&lt;/p&gt;  &lt;p&gt;　　223 /blog/2011/01/2010_my_blogging_summary.html&lt;br /&gt; 　　253 /blog/2011/01/2010_my_blogging_summary.html&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;相同网址都归在一组，组间用空行分割。为了简洁，上面的例子每一组只包含两条记录，实际上每一组都包含31条记录（分别代表当月每天的访问次数）。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;（9）log.awk脚本&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;为了将31天的访问次数加总，我动了很多脑筋。最后发现，唯一的方法就是用awk命令，而且必须另写一个awk脚本。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　#!/usr/bin/awk -f&lt;/p&gt;  &lt;p&gt;　　BEGIN {&lt;br /&gt; 　　　　RS="" #将多行记录的分隔符定为一个空行&lt;br /&gt; 　　}&lt;/p&gt;  &lt;p&gt;　　{&lt;br /&gt; 　　　　sum=0 #定义一个表示总和的变量，初值为0&lt;br /&gt; 　　　　for(i=1;i&amp;lt;=NF;i++){ #遍历所有字段&lt;br /&gt; 　　　　　　if((i%2)!=0){ #判断是否为奇数字段&lt;br /&gt; 　　　　　　　　sum += $i #如果是的话，累加这些字段的值&lt;br /&gt; 　　　　　　}&lt;br /&gt; 　　　　}&lt;br /&gt; 　　　　print sum,$2 #输出总和，后面跟上对应的网址 &lt;br /&gt; 　　}&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;我已经对上面这个&lt;a href="http://pastebin.com/h6w6hUrK"&gt;log.awk脚本&lt;/a&gt;加了详细注释。这里再说明几点：首先，默认情况下，awk将"\n"作为记录的分隔符，设置RS=""表示改为将空行作为分隔符，因此形成了一个多行记录；其次，NF是一个awk的内置变量，表示当前行的字段总数。由于输入文件之中，每一行都包含两个字段，第一个是访问数，第二个是网址，所以这里做一个条件判断，只要是奇数字段就累加，偶数字段则一律跳过。最后，每个记录输出一个累加值和网址，它们之间用空格分割。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;（10）sort -rn &amp;gt; final.log.result&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;对awk脚本的处理结果进行排序，sort默认使用第一个字段，参数r表示逆序，从大往小排；参数n表示以数值形式排序，不以默认的字典形式排序，否则会出现10小于2的结果。排序结果重定向到final.log.result。至此，月度排名完成。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;六、脚本文件&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;用一个脚本，包含上面两节所有的内容。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　#!/bin/bash&lt;/p&gt;  &lt;p&gt;　　if ls ./*.result &amp;&gt; /dev/null #判断当前目录中是否有后缀名为result的文件存在&lt;br /&gt; 　　then&lt;br /&gt; 　　　　rm *.result #如果有的话，删除这些文件&lt;br /&gt; 　　fi&lt;/p&gt;  &lt;p&gt;　　touch log.result #创建一个空文件&lt;/p&gt;  &lt;p&gt;　　for i in www-*.log #遍历当前目录中所有log文件&lt;br /&gt; 　　do &lt;br /&gt; 　　　　echo $i ... #输出一行字，表示开始处理当前文件&lt;br /&gt; 　　　　awk '$9 == 200 {print $7}' $i|grep -i '^/blog/2011/.*\.html$'|sort|uniq -c|sed 's/^ *//g' &amp;gt; $i.result #生成当前日志的处理结果&lt;br /&gt; 　　　　cat $i.result &amp;gt;&amp;gt; log.result #将处理结果追加到log.result文件&lt;br /&gt; 　　　　echo $i.result finished #输出一行字，表示结束处理当前文件&lt;br /&gt; 　　done&lt;/p&gt;  &lt;p&gt;　　echo final.log.result ... #输出一行字，表示最终统计开始&lt;/p&gt;  &lt;p&gt;　　sort -k2 log.result | uniq -f1 --all-repeated=separate |./log.awk |sort -rn &gt; final.log.result #生成最终的结果文件final.log.result&lt;/p&gt;  &lt;p&gt;　　echo final.log.result finished #输出一行字，表示最终统计结束&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;这就是月度排名的&lt;a href="http://pastebin.com/UPUL2P8t"&gt;最终脚本&lt;/a&gt;。编写的时候，我假定这个脚本和log.awk脚本与日志文件在同一个目录中，而且这两个脚本都具有执行权限。&lt;/p&gt;  &lt;p&gt;年度排名的处理与此类似，就不再赘述了。&lt;/p&gt;  &lt;p&gt;=================================================================&lt;/p&gt;  &lt;p&gt;关于脚本介绍，就到此为止。&lt;/p&gt;  &lt;p&gt;接下来，揭晓2011年度访问量最大的我的5篇文章。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;第五名、&lt;a href="http://www.ruanyifeng.com/blog/2011/05/my_google_adsense_is_disabled.html"&gt;《我的Google Adsense帐户被关》&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201105/bg2011051601.jpg" /&gt;&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;我真想问问Google Adsense中国小组的成员："难道你们都是机器人吗？难道你们看不出来哪些是流氓网站，哪些是正派网站吗？你们是否真的尽职工作了，还是在不负责任地草菅人命？"&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;第四名、&lt;a href="http://www.ruanyifeng.com/blog/2011/10/steve_jobs_farewell.html"&gt;《乔布斯的告别》&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201110/bg2011100714.jpg" /&gt;&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;斯蒂夫·乔布斯活着的时候，对病情讳莫如深，外界对他的身体状态毫不知情。现在他去世了，根据各方面透露的信息，我们终于可以还原他的病历，了解像他这样伟人怎样对待生与死。&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;第三名、&lt;a href="http://www.ruanyifeng.com/blog/2011/04/the_dan_plan.html"&gt;《Dan计划：重新定义人生的10000个小时》&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201104/bg2011041604.jpg" /&gt;&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;在此之前，他几乎没有打过高尔夫球，甚至对这项运动都没有太大兴趣。他的计划是，辞职以后，每天练习6个小时，一周练习6天，坚持6年，总计超过10000个小时，然后成为职业选手。他把这称为"Dan计划"。&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;第二名、&lt;a href="http://www.ruanyifeng.com/blog/2011/10/dennis_ritchie.html"&gt;《保持简单----纪念丹尼斯•里奇（Dennis Ritchie）》&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201110/bg2011102503.jpg" /&gt;&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;13岁的丹尼斯•里奇（Dennis Ritchie），就这样随着父亲一起来到新泽西。那时，谁也没有想到，这个文静的少年将在这里待上一辈子，并且创造出改变世界的发明。&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;第一名、&lt;a href="http://www.ruanyifeng.com/blog/2011/05/900-month_lifespan.html"&gt;《人生只有900个月》&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201105/bg2011050805.jpg" /&gt;&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;你可以画一个30x30的表格，一张A4纸就够了。每过一个月，就在一个格子里打钩。你全部的人生就在这张纸上。你会因此有一个清晰的概念：你的人生是如何蹉跎的。&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;（完）&lt;br /&gt; &lt;/p&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;border:1px solid #d3d3d3;margin:1em;background-color:#AAD2F0;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;h3&gt;文档信息&lt;/h3&gt; &lt;ul&gt; &lt;li&gt;版权声明：自由转载-非商用-非衍生-保持署名 | &lt;a href="http://creativecommons.org/licenses/by-nc-nd/3.0/deed.zh"&gt;Creative Commons BY-NC-ND 3.0&lt;/a&gt;&lt;/li&gt; &lt;li&gt;原文网址：&lt;a href="http://www.ruanyifeng.com/blog/2012/01/a_bash_script_of_apache_log_analysis.html"&gt;http://www.ruanyifeng.com/blog/2012/01/a_bash_script_of_apache_log_analysis.html&lt;/a&gt;&lt;/li&gt; &lt;li&gt;最后修改时间：2012年1月17日 23:50&lt;/li&gt; &lt;li&gt;付费支持：&lt;a href="https://mai.alipay.com/p.htm?id=2012010602227616" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/rmb_32.png" alt="支付宝担保交易" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; | &lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=yifeng.ruan@gmail.com&amp;currency_code=USD&amp;amount=2.99&amp;return=http://www.ruanyifeng.com/thank.html&amp;item_name=Ruan%20YiFeng's%20Blog&amp;undefined_quantity=1&amp;no_note=0" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/dollar_32.png"  alt="paypal" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;/div&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;margin:1em;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td style="margin-bottom:0;line-height:1.4em;"&gt; &lt;p style="margin:1em 0 3px 0;"&gt; &lt;a name="6" style="font-family:Arial, Helvetica, sans-serif;font-size:18px;" href="http://www.ruanyifeng.com/blog/2012/01/2011.html"&gt;2011年的两首歌&lt;/a&gt; &lt;/p&gt; &lt;p style="font-size:13px;color:#555;margin:9px 0 3px 0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;"&gt; &lt;span&gt;Posted:&lt;/span&gt; 31 Dec 2011 08:27 AM PST&lt;/p&gt; &lt;div style="margin:0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt;&lt;p&gt;去年（再过一个小时，就是前年）的12月14日，迈克尔·杰克逊的遗作专辑发行了。&lt;/p&gt;&lt;p&gt;其中一首歌叫做《握我的手》（Hold my hand），我非常喜欢。后面的整个一月份，反反复复，都在听它。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011123101.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;歌中唱到：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　&lt;strong&gt;This life don't last forever (hold my hand)&lt;/strong&gt;&lt;br /&gt; 　　&lt;strong&gt;人生有尽头&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;　　&lt;strong&gt;So tell me what we're waitin for (hold my hand)&lt;/strong&gt;&lt;br /&gt; 　　&lt;strong&gt;告诉我，你还在等什么&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;　　&lt;strong&gt;Better off being together (hold my hand)&lt;/strong&gt;&lt;br /&gt; 　　&lt;strong&gt;我们在一起&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;　　&lt;strong&gt;Than being miserable alone (hold my hand)&lt;/strong&gt;&lt;br /&gt; 　　&lt;strong&gt;胜过痛苦的孤单&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;　　&lt;embed src="http://player.youku.com/player.php/sid/XMjMwMTcxMjU2/v.swf" allowFullScreen="true" quality="high" width="480" height="400" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;今天，2011年的最后一天，我又听到了另一首相似的歌，Mat Kearney的《或迟或早》（Sooner or later），也很喜欢。&lt;/p&gt;  &lt;p&gt;歌中唱到：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　&lt;strong&gt;We're all standing with our backs against the wall, Sooner or later&lt;/strong&gt;&lt;br /&gt; 　　&lt;strong&gt;或迟或早，退到无路可退&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;　　&lt;strong&gt;Waiting on a phone that never calls, at all&lt;/strong&gt;&lt;br /&gt; 　　&lt;strong&gt;或迟或早，等一个永远不会来的电话&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;　　&lt;strong&gt;Heartbreak comes, rollin' in like a storm, Sooner or later&lt;/strong&gt;&lt;br /&gt; 　　&lt;strong&gt;或迟或早，那样伤心，仿佛承受着风暴&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;　　&lt;strong&gt;Trying to swim but you're sinking like a stone, alone&lt;/strong&gt;&lt;br /&gt; 　　&lt;strong&gt;或迟或早，想要游泳，却像石头一样沉下去&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;　　&lt;strong&gt;And I can feel fire in the night waiting here&lt;/strong&gt;&lt;br /&gt; 　　&lt;strong&gt;黑夜中，等在这里，我感到内心在燃烧&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;　　&lt;strong&gt;Baby it's like we're walking on a wire through the fear&lt;/strong&gt;&lt;br /&gt; 　　&lt;strong&gt;宝贝，我们的生活好像走钢丝，令人恐惧&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;　　&lt;strong&gt;Take my hand, we'll get there&lt;/strong&gt;&lt;br /&gt; 　　&lt;strong&gt;那么，握着我的手，一切终会过去&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;　　&lt;embed src="http://player.youku.com/player.php/sid/XMzM0NjQxNTA0/v.swf" allowFullScreen="true" quality="high" width="480" height="400" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;这首歌是Google公司制作的视频《2011热点回顾》（Zeitgeist 2011）的背景曲。视频非常非常棒，推荐去Youtube观看&lt;a href="http://www.youtube.com/watch?v=SAIEamakLoY"&gt;原版&lt;/a&gt;。（上面优酷的版本有剪接。）&lt;/p&gt;  &lt;p&gt;回顾2011年的世界大事：阿拉伯之春、本拉登之死、占领华尔街、伊拉克战争结束......有些人感到，这是最坏的一年，暴民走上街头，世界乱糟糟；但是另一些人感到，这是最好的一年，人民在觉醒，旧秩序被打破，世界向着更自由的方向迈出了一大步。&lt;/p&gt;  &lt;p&gt;Google毫无保留地站在后者的立场，歌颂世界进步力量的胜利。这就是我爱它的原因：永远地支持变革。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011123102.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;（图片说明：2011年7月9日，南苏丹正式宣布独立，成为世界上最年轻的国家。）&lt;/p&gt;  &lt;p&gt;那么就这样，怀着热情，憧憬着自由，付出汗水和真心，让我们期待一个更美好、更丰硕的2012年。&lt;/p&gt;  &lt;p&gt;（完）&lt;br /&gt; &lt;/p&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;border:1px solid #d3d3d3;margin:1em;background-color:#AAD2F0;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;h3&gt;文档信息&lt;/h3&gt; &lt;ul&gt; &lt;li&gt;版权声明：自由转载-非商用-非衍生-保持署名 | &lt;a href="http://creativecommons.org/licenses/by-nc-nd/3.0/deed.zh"&gt;Creative Commons BY-NC-ND 3.0&lt;/a&gt;&lt;/li&gt; &lt;li&gt;原文网址：&lt;a href="http://www.ruanyifeng.com/blog/2012/01/2011.html"&gt;http://www.ruanyifeng.com/blog/2012/01/2011.html&lt;/a&gt;&lt;/li&gt; &lt;li&gt;最后修改时间：2012年1月18日 03:31&lt;/li&gt; &lt;li&gt;付费支持：&lt;a href="https://mai.alipay.com/p.htm?id=2012010602227616" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/rmb_32.png" alt="支付宝担保交易" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; | &lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=yifeng.ruan@gmail.com&amp;currency_code=USD&amp;amount=2.99&amp;return=http://www.ruanyifeng.com/thank.html&amp;item_name=Ruan%20YiFeng's%20Blog&amp;undefined_quantity=1&amp;no_note=0" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/dollar_32.png"  alt="paypal" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;/div&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;margin:1em;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td style="margin-bottom:0;line-height:1.4em;"&gt; &lt;p style="margin:1em 0 3px 0;"&gt; &lt;a name="7" style="font-family:Arial, Helvetica, sans-serif;font-size:18px;" href="http://www.ruanyifeng.com/blog/2011/12/idaily.html"&gt;iDaily的诞生&lt;/a&gt; &lt;/p&gt; &lt;p style="font-size:13px;color:#555;margin:9px 0 3px 0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;"&gt; &lt;span&gt;Posted:&lt;/span&gt; 27 Dec 2011 05:49 AM PST&lt;/p&gt; &lt;div style="margin:0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt;&lt;p&gt;1.&lt;/p&gt;  &lt;p&gt;我知道沈一鸣（网名"且听枫吟"、lancelot23），是因为他的网站&lt;a href="http://www.leica.org.cn/"&gt;"Leica中文摄影杂志"&lt;/a&gt;。那时是2006年。&lt;/p&gt;&lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011122712.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;后来，我们有一些通信，才发现居然是校友。我的母校是财经类高校，以培养会计师和财税官吏而闻名，能遇到做互联网的校友，真是让人吃惊。&lt;/p&gt;  &lt;p&gt;2.&lt;/p&gt;  &lt;p&gt;（说明：本文公开之后，当天晚上就收到了一鸣的邮件。他表示不愿意宣传个人，只愿意以团队名义做介绍。&lt;/p&gt;  &lt;p&gt;我的本意其实是展示一个媒体人的成长、新媒体发展的动态，以及推荐他们的作品。既然一鸣不愿意多曝光，我只能对下面的原文进行修改，删除了一些涉及他个人的内容，所有的介绍都针对他们整个团队。）&lt;/p&gt;  &lt;p&gt;进校的第一个月，他就觉得崇尚实利的校园气氛，与自己的理想格格不入。从大一下学期开始，他就决定放弃大学学业，寻找自己的道路。&lt;/p&gt;  &lt;p&gt;开始的时候，他靠给新闻媒体写稿子挣钱。在这个过程中，慢慢意识到新媒体的潜力。2008年，他所在的团队负责推出了现代传播集团旗下的网络杂志&lt;a href="http://m.metroer.com/"&gt;《良品杂志》&lt;/a&gt;。这个项目的口碑相当好，广告效益也不错，从此奠定了专做都市白领阅读市场的方向。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011122713.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;2010年，他们团队又制作了iPhone平台的新闻类App&lt;a href="http://iweek.ly/"&gt;《周末画报·iWeekly》&lt;/a&gt;。这个项目以精美的制作、大幅的彩照、时尚的文章，一炮走红。一鸣说，本来预计2010年底的用户数为10万，结果上线第一个月，用户数就到了20万，年底的时候冲到了200万。与用户数一起上升的，还有良好的广告收入。正是这个项目的成功，坚定了他们专做iOS平台的决心。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011122714.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;2011年9月，因为与投资方发生矛盾，整个团队脱离了原公司，开始了自己创业。我今天想讲的故事，就从这里开始，因为上周三晚上，我和一鸣见了面，聊了很长时间，有一些东西值得分享。&lt;/p&gt;  &lt;p&gt;3.&lt;/p&gt;  &lt;p&gt;他们的创业从零开始，必须尽快拿出自己的产品，创造收入。那么，三个多月过去了，他们拿出了什么产品？&lt;/p&gt;  &lt;p&gt;9月，新版的&lt;a href="http://iphoto.ly/"&gt;《中文摄影杂志》&lt;/a&gt;发布。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011122708.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;9月，新版的&lt;a href="http://itunes.apple.com/cn/app//id421383404?mt=8"&gt;《iMoney·全球汇率转换》&lt;/a&gt;发布。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011122707.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;10月，&lt;a href="http://itunes.apple.com/cn/app//id474384318?mt=8"&gt;《每日星座运程·NowNow 闹闹的女巫店》&lt;/a&gt;发布。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011122709.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;10月，新版的&lt;a href="http://itunes.apple.com/cn/app//id416445790?mt=8"&gt;《倒数日》&lt;/a&gt;发布。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011122706.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;12月，&lt;a href="http://itunes.apple.com/cn/app//id483486123?mt=8"&gt;《每日壁纸杂志》&lt;/a&gt;发布。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011122710.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;12月，&lt;a href="http://itunes.apple.com/cn/app//id488528128?mt=8"&gt;《iDaily·每日环球视野》&lt;/a&gt;发布。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011122701.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;这就是他们在100天内取得的成果。所有产品，全部进入中国区免费App排行榜前10名，其中好几个到过榜首。据他们统计，累计用户数已经达到500万，明年年中有望冲击1000万。&lt;/p&gt;  &lt;p&gt;我非常惊叹他们的执行力。一鸣说，目前的开发速度是，每个月推一个App，争取明年年中进行整合。他向我展示了几个正在开发中的项目。&lt;/p&gt;  &lt;p&gt;4.&lt;/p&gt;  &lt;p&gt;见面的那一天，正赶上他们的新项目&lt;a href="http://itunes.apple.com/app/id488528128"&gt;iDaily&lt;/a&gt;在应用商店上架。一鸣对这个项目寄予厚望，希望把它打造成一个新媒体平台。目前，iDaily每天会提供1到2张新闻图片，每张的尺寸是前所未有的3000像素，所有的细节一览无遗，可以提供震撼性的看图体验。配合每张照片还会有若干篇新闻背景资料和Google地图，基本上就是，我们想象中的网络时代读新闻的方式。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011122703.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;它的商业模式是这样的：所有应用一律免费，依靠优秀的内容争取大量的装机用户，然后通过出售广告盈利。比如，iDaily的新闻照片，都是从美联社和法新社买来的，每一张都价格不菲，一个月下来，购买图片就要花掉一大笔钱，但是这样保证了读者可以看到别处看不到的照片，尤其对白领和高端读者会有吸引力，从而提升了广告价值，保证广告可以精确到达它的目标受众。&lt;/p&gt;  &lt;p&gt;我觉得，这种商业模式的探索，比他的那些App软件意义更大。如果这种模式行得通，整个新媒体的生态都将被改变。好消息是，目前他们已经做到收支平衡了，而且还有重量级的国际摄影器材厂商决定在《中文摄影杂志》上面投放广告。&lt;/p&gt;  &lt;p&gt;5.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011122715.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;那天晚上，一鸣还带着我参观了他们的公司&lt;a href="http://clover.ly/"&gt;Clover.ly&lt;/a&gt;（四叶新媒体）。那是建国中路的一幢高层商住楼，房间很小，整个团队七八个人，对着墙一坐，就没有多少空间剩下了。虽然拥挤，但是房间布置得非常简洁、精致、温馨，很有家的感觉。书架上堆满了设计类书籍和摄影图册，墙上的白板贴着新产品的界面构思图，给我感觉是一个非常团结、有朝气、决心和战斗力的创业团队。&lt;/p&gt;  &lt;p&gt;告别以后，走在回家路上，我心情很不平静。一鸣是85年出生的，他的年龄与他的老成完全不相符；他们整个团队都是这个年龄段，还有90后合伙人，从他们已经取得的成绩和正在做的事情来看，将来还有巨大的提升空间，可能会成为中文互联网界的重量级开发公司。另一方面，他们的经历也说明了，互联网时代可以为我们带来多少机会！只要你做了，拿出产品，这个时代就会为你敞开。&lt;/p&gt;  &lt;p&gt;（完） &lt;br /&gt; &lt;/p&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;border:1px solid #d3d3d3;margin:1em;background-color:#AAD2F0;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;h3&gt;文档信息&lt;/h3&gt; &lt;ul&gt; &lt;li&gt;版权声明：自由转载-非商用-非衍生-保持署名 | &lt;a href="http://creativecommons.org/licenses/by-nc-nd/3.0/deed.zh"&gt;Creative Commons BY-NC-ND 3.0&lt;/a&gt;&lt;/li&gt; &lt;li&gt;原文网址：&lt;a href="http://www.ruanyifeng.com/blog/2011/12/idaily.html"&gt;http://www.ruanyifeng.com/blog/2011/12/idaily.html&lt;/a&gt;&lt;/li&gt; &lt;li&gt;最后修改时间：2012年1月16日 09:18&lt;/li&gt; &lt;li&gt;付费支持：&lt;a href="https://mai.alipay.com/p.htm?id=2012010602227616" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/rmb_32.png" alt="支付宝担保交易" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; | &lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=yifeng.ruan@gmail.com&amp;currency_code=USD&amp;amount=2.99&amp;return=http://www.ruanyifeng.com/thank.html&amp;item_name=Ruan%20YiFeng's%20Blog&amp;undefined_quantity=1&amp;no_note=0" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/dollar_32.png"  alt="paypal" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;/div&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;margin:1em;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td style="margin-bottom:0;line-height:1.4em;"&gt; &lt;p style="margin:1em 0 3px 0;"&gt; &lt;a name="8" style="font-family:Arial, Helvetica, sans-serif;font-size:18px;" href="http://www.ruanyifeng.com/blog/2011/12/ssh_port_forwarding.html"&gt;SSH原理与运用（二）：远程操作与端口转发&lt;/a&gt; &lt;/p&gt; &lt;p style="font-size:13px;color:#555;margin:9px 0 3px 0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;"&gt; &lt;span&gt;Posted:&lt;/span&gt; 23 Dec 2011 04:21 AM PST&lt;/p&gt; &lt;div style="margin:0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt;&lt;p&gt;接着前一次的&lt;a href="http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html"&gt;文章&lt;/a&gt;，继续介绍SSH的用法。&lt;/p&gt;&lt;p&gt;=======================================&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;SSH原理与运用（二）：远程操作与端口转发&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;作者：阮一峰&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011122301.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;（Image credit: &lt;a href="http://www.flickr.com/photos/skiquel/"&gt;Tony Narlock&lt;/a&gt;）&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;七、远程操作&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;SSH不仅可以用于远程主机登录，还可以直接在远程主机上执行操作。&lt;/p&gt;  &lt;p&gt;上一节的操作，就是一个例子：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　$ ssh user@host 'mkdir -p .ssh &amp;&amp; cat &amp;gt;&amp;gt; .ssh/authorized_keys' &amp;lt; ~/.ssh/id_rsa.pub&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;单引号中间的部分，表示在远程主机上执行的操作；后面的输入重定向，表示数据通过SSH传向远程主机。&lt;/p&gt;  &lt;p&gt;这就是说，SSH可以在用户和远程主机之间，建立命令和数据的传输通道，因此很多事情都可以通过SSH来完成。&lt;/p&gt;  &lt;p&gt;下面看几个例子。&lt;/p&gt;  &lt;p&gt;【例1】 &lt;/p&gt;  &lt;p&gt;将$HOME/src/目录下面的所有文件，复制到远程主机的$HOME/src/目录。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　$ cd &amp;&amp; tar czv src | ssh user@host 'tar xz'&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;【例2】&lt;/p&gt;  &lt;p&gt;将远程主机$HOME/src/目录下面的所有文件，复制到用户的当前目录。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　$ ssh user@host 'tar cz src' | tar xzv&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;【例3】&lt;/p&gt;  &lt;p&gt;查看远程主机是否运行进程httpd。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　$ ssh user@host 'ps ax | grep [h]ttpd'&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;八、绑定本地端口&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;既然SSH可以传送数据，那么我们可以让那些不加密的网络连接，全部改走SSH连接，从而提高安全性。&lt;/p&gt;  &lt;p&gt;假定我们要让8080端口的数据，都通过SSH传向远程主机，命令就这样写：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　$ ssh -D 8080 user@host&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;SSH会建立一个socket，去监听本地的8080端口。一旦有数据传向那个端口，就自动把它转移到SSH连接上面，发往远程主机。可以想象，如果8080端口原来是一个不加密端口，现在将变成一个加密端口。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;九、本地端口转发&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;有时，绑定本地端口还不够，还必须指定数据传送的目标主机，从而形成点对点的"端口转发"。为了区别后文的"远程端口转发"，我们把这种情况称为"本地端口转发"（Local forwarding）。&lt;/p&gt;  &lt;p&gt;假定host1是本地主机，host2是远程主机。由于种种原因，这两台主机之间无法连通。但是，另外还有一台host3，可以同时连通前面两台主机。因此，很自然的想法就是，通过host3，将host1连上host2。&lt;/p&gt;  &lt;p&gt;我们在host1执行下面的命令：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　$ ssh -L 2121:host2:21 host3&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;命令中的L参数一共接受三个值，分别是"本地端口:目标主机:目标主机端口"，它们之间用冒号分隔。这条命令的意思，就是指定SSH绑定本地端口2121，然后指定host3将所有的数据，转发到目标主机host2的21端口（假定host2运行FTP，默认端口为21）。&lt;/p&gt;  &lt;p&gt;这样一来，我们只要连接host1的2121端口，就等于连上了host2的21端口。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　$ ftp localhost:2121&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;"本地端口转发"使得host1和host3之间仿佛形成一个数据传输的秘密隧道，因此又被称为"SSH隧道"。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;十、远程端口转发&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;既然"本地端口转发"是指绑定本地端口的转发，那么"远程端口转发"（remote forwarding）当然是指绑定远程端口的转发。&lt;/p&gt;  &lt;p&gt;还是接着看上面那个例子，host1与host2之间无法连通，必须借助host3转发。但是，特殊情况出现了，host3是一台内网机器，它可以连接外网的host1，但是反过来就不行，外网的host1连不上内网的host3。这时，"本地端口转发"就不能用了，怎么办？&lt;/p&gt;  &lt;p&gt;解决办法是，既然host3可以连host1，那么就从host3上建立与host1的SSH连接，然后在host1上使用这条连接就可以了。&lt;/p&gt;  &lt;p&gt;我们在host3执行下面的命令：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　$ ssh -R 2121:host2:21 host1&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;R参数也是接受三个值，分别是"远程主机端口:目标主机:目标主机端口"。这条命令的意思，就是让host1监听它自己的2121端口，然后将所有数据经由host3，转发到host2的21端口。由于对于host3来说，host1是远程主机，所以这种情况就被称为"远程端口绑定"。&lt;/p&gt;  &lt;p&gt;绑定之后，我们在host1就可以连接host2了：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　$ ftp localhost:2121&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;这里必须指出，"远程端口转发"的前提条件是，host1和host3两台主机都有sshD和ssh客户端。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;十一、SSH的其他参数&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;SSH还有一些别的参数，也值得介绍。&lt;/p&gt;  &lt;p&gt;N参数，表示只连接远程主机，不打开远程shell；T参数，表示不为这个连接分配TTY。这个两个参数可以放在一起用，代表这个SSH连接只用来传数据，不执行远程操作。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　$ ssh -NT -D 8080 host&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;f参数，表示SSH连接成功后，转入后台运行。这样一来，你就可以在不中断SSH连接的情况下，在本地shell中执行其他操作。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　$ ssh -f -D 8080 host&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;要关闭这个后台连接，就只有用kill命令去杀掉进程。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;十二、参考文献&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;　　* SSH, The Secure Shell: The Definitive Guide: &lt;a href="http://docstore.mik.ua/orelly/networking_2ndEd/ssh/ch02_04.htm"&gt;2.4. Authentication by Cryptographic Key&lt;/a&gt;, O'reilly&lt;/p&gt;  &lt;p&gt;　　* SSH, The Secure Shell: The Definitive Guide: &lt;a href="http://docstore.mik.ua/orelly/networking_2ndEd/ssh/ch09_02.htm"&gt;9.2. Port Forwarding&lt;/a&gt;, O'reilly&lt;/p&gt;  &lt;p&gt;　　* Shebang: &lt;a href="http://shebang.brandonmintern.com/tips-for-remote-unix-work-ssh-screen-and-vnc"&gt;Tips for Remote Unix Work (SSH, screen, and VNC)&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;　　* brihatch: &lt;a href="http://www.symantec.com/connect/articles/ssh-host-key-protection"&gt;SSH Host Key Protection&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;　　* brihatch: &lt;a href="http://www.symantec.com/connect/articles/ssh-user-identities"&gt;SSH User Identities&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;　　* IBM developerWorks: &lt;a href="http://www.ibm.com/developerworks/cn/linux/l-cn-sshforward/"&gt;实战 SSH 端口转发&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;　　* Jianing YANG：&lt;a href="http://blog.jianingy.com/2009/09/ssh%E9%9A%A7%E9%81%93%E6%8A%80%E6%9C%AF%E7%AE%80%E4%BB%8B/"&gt;ssh隧道技术简介&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;　　* WikiBooks: &lt;a href="http://en.wikibooks.org/wiki/Internet_Technologies/SSH"&gt;Internet Technologies/SSH&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;（完）&lt;br /&gt; &lt;/p&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;border:1px solid #d3d3d3;margin:1em;background-color:#AAD2F0;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;h3&gt;文档信息&lt;/h3&gt; &lt;ul&gt; &lt;li&gt;版权声明：自由转载-非商用-非衍生-保持署名 | &lt;a href="http://creativecommons.org/licenses/by-nc-nd/3.0/deed.zh"&gt;Creative Commons BY-NC-ND 3.0&lt;/a&gt;&lt;/li&gt; &lt;li&gt;原文网址：&lt;a href="http://www.ruanyifeng.com/blog/2011/12/ssh_port_forwarding.html"&gt;http://www.ruanyifeng.com/blog/2011/12/ssh_port_forwarding.html&lt;/a&gt;&lt;/li&gt; &lt;li&gt;最后修改时间：2012年1月19日 20:52&lt;/li&gt; &lt;li&gt;付费支持：&lt;a href="https://mai.alipay.com/p.htm?id=2012010602227616" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/rmb_32.png" alt="支付宝担保交易" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; | &lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=yifeng.ruan@gmail.com&amp;currency_code=USD&amp;amount=2.99&amp;return=http://www.ruanyifeng.com/thank.html&amp;item_name=Ruan%20YiFeng's%20Blog&amp;undefined_quantity=1&amp;no_note=0" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/dollar_32.png"  alt="paypal" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;/div&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;margin:1em;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;table style="border-top:1px solid #999;padding-top:4px;margin-top:1.5em;width:100%" id="footer"&gt; &lt;tr&gt; &lt;td style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;You are subscribed to email updates from &lt;a href="http://www.ruanyifeng.com/blog/"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt;To stop receiving these emails, you may &lt;a href="http://feedburner.google.com/fb/a/mailunsubscribe?k=VV_gHI1yynfLxpDetfQct6jeXHU"&gt;unsubscribe now&lt;/a&gt;.&lt;/td&gt; &lt;td style="font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;text-align:right;vertical-align:top"&gt;Email delivery powered by Google&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td colspan="2" style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;Google Inc., 20 West Kinzie, Chicago IL USA 60610&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/145804083675914388-4887102685853366485?l=ruanyf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/4887102685853366485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/4887102685853366485'/><link rel='alternate' type='text/html' href='http://ruanyf.blogspot.com/2012/01/blog-post.html' title='阮一峰的网络日志'/><author><name>Ruan YiFeng</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-145804083675914388.post-2773409796002731661</id><published>2011-12-18T05:24:00.001-08:00</published><updated>2011-12-18T05:24:54.911-08:00</updated><title type='text'>阮一峰的网络日志</title><content type='html'>&lt;style type="text/css"&gt;                          h1 a:hover {background-color:#888;color:#fff ! important;}                          div#emailbody table#itemcontentlist tr td div ul {                                         list-style-type:square;                                         padding-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div blockquote {                                 padding-left:6px;                                 border-left: 6px solid #dadada;                                 margin-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div li {                                 margin-bottom:1em;                                 margin-left:1em;                         }                           table#itemcontentlist tr td a:link, table#itemcontentlist tr td a:visited, table#itemcontentlist tr td a:active, ul#summarylist li a {                                 color:#000099;                                 font-weight:bold;                                 text-decoration:none;                         }                                 img {border:none;}                   &lt;/style&gt; &lt;div xmlns="http://www.w3.org/1999/xhtml" id="emailbody" style="margin:0 2em;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt; &lt;table style="border:0;padding:0;margin:0;width:100%"&gt; &lt;tr&gt; &lt;td style="vertical-align:top" width="99%"&gt; &lt;h1 style="margin:0;padding-bottom:6px;"&gt; &lt;a style="color:#888;font-size:22px;font-family:Arial, Helvetica, sans-serif;font-weight:normal;text-decoration:none;" href="http://www.ruanyifeng.com/blog/" title="(http://www.ruanyifeng.com/blog/)"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt; &lt;a href="http://fusion.google.com/add?source=atgs&amp;amp;feedurl=http://feeds.feedburner.com/ruanyifeng"&gt; &lt;img style="padding-top:6px" alt="" border="0" src="http://gmodules.com/ig/images/plus_google.gif" /&gt; &lt;/a&gt; &lt;/h1&gt; &lt;/td&gt; &lt;td width="1%" /&gt; &lt;/tr&gt; &lt;/table&gt; &lt;hr style="border:1px solid #ccc;padding:0;margin:0" /&gt; &lt;table id="itemcontentlist"&gt; &lt;tr xmlns=""&gt; &lt;td style="margin-bottom:0;line-height:1.4em;"&gt; &lt;p style="margin:1em 0 3px 0;"&gt; &lt;a name="1" style="font-family:Arial, Helvetica, sans-serif;font-size:18px;" href="http://www.ruanyifeng.com/blog/2011/12/zen_and_the_art_of_motorcycle_maintenance.html"&gt;《禅与摩托车维修艺术》读后感&lt;/a&gt; &lt;/p&gt; &lt;p style="font-size:13px;color:#555;margin:9px 0 3px 0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;"&gt; &lt;span&gt;Posted:&lt;/span&gt; 17 Dec 2011 10:03 PM PST&lt;/p&gt; &lt;div style="margin:0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt;&lt;p&gt;过去两个月，我一直在读这本400页的书。&lt;/p&gt;&lt;p&gt;这是我今年读过的最有价值的好书之一。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011121801.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;它很独特，一半是游记，讲述作者与儿子的一次摩托车旅行，从明尼苏达州一直到加州，耗时17天；另一半是哲学讨论，作者剖析自己的思想，寻求心灵的答案。两种文体交织在一起，&lt;a href="http://en.wikipedia.org/wiki/Zen_and_the_Art_of_Motorcycle_Maintenance"&gt;维基百科&lt;/a&gt;称它为"哲学小说"。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011121802.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;作者波西格（1928-，Robert M. Pirsig）大学时主修生物化学，后来对哲学产生兴趣，1950年前往印度学习东方哲学。回国后，在当地大学担任写作课教师。1961年，他被诊断为偏执型精神分裂症和临床忧郁症，被多次送进精神病院，接受过28次电击疗法。&lt;/p&gt;  &lt;p&gt;1968年出院后，他带着10岁的儿子克里斯，进行了一次长途摩托车旅行。他把旅行的感受和思考，写成了一本书《禅与摩托车维修艺术》（Zen and the Art of Motorcycle Maintenance）。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011121812.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;由于连续被121家出版社拒绝，直到1974年，这本书才出版。但是出版后，销售量惊人，超过500万册，成为70年代美国十大畅销书之一，目前累计销售量已经超过1000万册。《吉尼斯世界纪录》称它是"世界上被拒稿次数最多的畅销书"。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011121810.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;此书在国内有两个中文版：《父子的世界》（中国友谊出版公司，黄欣译，1999）和《万里任禅游》（重庆出版社，张国辰译，2006）。后面一个版本，今年9月已经再版了，并且终于将书名改成原名了。网上有这个版本的下载，翻译得相当不错。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011121807.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;第一次看到这个书名，我很奇怪，"禅"和"摩托车"有什么关系，怎么会放在一起呢？&lt;/p&gt;  &lt;p&gt;读完才明白，这两个词都是象征。"禅"象征一个人内心的心灵探索，是主观哲学思考；"摩托车"象征科学技术，是客观的外部存在。作者把它们放在一起，就是暗示这本书讲的是，如何将主观和客观统一起来，正确地认识自我和外部世界，达到一种和谐存在的境界。也就是说，&lt;strong&gt;如果有一天，"维修摩托车"也能成为一种"禅"，那会怎样？&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;正如作者在序言中所说：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;"本书不应该在任何意义上，与东方佛教徒的禅学实践联系在一起。它与摩托车的关系也不是很大。"&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011121809.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;这本书的主题其实可以概况为，&lt;strong&gt;在工业时代，如何成为一个有信仰的人，以及如何去信。&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;所谓"信仰"，说到底就是对世界的某种理解，相信自己做的事情是对的。在工业时代，这并不是一件容易的事：科技高度发达、产品的复杂性远远超出普通人的理解、工业力量仿佛一种不受操控的怪兽，理解这样的世界，找到内心的信仰和平静，谈何容易？&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;"在你经过大城市的工业区时，你就会看到整片所谓的科技区。门前围了高高的铁丝网，大门紧锁，告示牌上写着"禁止跨越"。在一片污浊的空气之后，你看到的是奇形怪状而又丑陋的金属物和砖块，也不知用途为何。它的主人你永远也见不着，它为什么在那儿也没有人知道，所以你感受到的只是一股莫名的疏离感，仿佛你并不属于那儿。它的主人和知其来由的人可不希望你在附近闲逛，这些工厂让你在自己的土地上竟有陌生的感觉。它特殊的形状、外观还有神秘感，一切都在叫你"滚开"。&lt;/p&gt;  &lt;p&gt;你知道这一切总有解释，而且它们毫无疑问地对人类间接地有些益处，但是这些益处你没看见，你只看见"禁止跨越"和"保持距离"的牌子，你只看见人们像蝼蚁一样为这些庞然巨物做工。于是你想，即使我是它们的一分子，也不过是另一只做苦役的蝼蚁罢了。"&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;作者认为，寻找心灵的平静，需要感性方法和理性方法的统一。&lt;/p&gt;  &lt;p&gt;"感性"是指追求内心感受，不追究事物背后的原因和运行机制。比如，感性的人骑摩托车兜风，看重的是骑行的快感、旅途的美景，以及其中包含的禅意思考。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;"骑摩托车旅游和其他的方式完全不同。坐在汽车里你只是被局限在一个小空间之内，因为已经习惯了，你意识不到从车窗向外看风景和看电视差不多。你只是个被动的观众，景物只能呆板地从窗外飞驰而过。 骑摩托车可就不同了。它没有什么车窗玻璃在面前阻挡你的视野，你会感到自己和大自然紧密地结合在了一起。你就处在景致之中，而不再是观众，你能感受到那种身临其境的震撼。脚下飞驰而过的是实实在在的水泥公路，和你走过的土地没有两样。它结结实实地躺在那儿，虽然因为车速快而显得模糊，但是你可以随时停车，及时感受它的存在，让那份踏实感深深印在你的脑海中。"&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;"理性"则是指逻辑分析和科学理解能力。理性的人骑摩托车兜风，会想搞清楚摩托车的运行原理，以及发生故障时如何维修。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;"出毛病的时候，活塞因为过热而膨胀，会很容易就卡住汽缸壁，有的时候甚至会熔化。它会卡住发动机和后轮，造成突然刹车。这辆车第一次出现这种问题的时候，害得我整个人都冲到前轮的上方，后面的人几乎趴在我身上。&lt;/p&gt;  &lt;p&gt;......发动机当时非常热，周围的空气都受到传染，微微地震颤起来。我们几乎可以看到热力所发射出来的光芒。如果我将手指沾湿放上去，它一定会像碰到热铁一样嗞嗞地响起来。因此我们就只能慢慢地骑回家了。一听发动机的声音就知道是活塞出了问题，需要大修一番。"&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;如果感性和理性能够结合起来，一个人就能正确面对这个世界，找到心灵的宁静。&lt;/p&gt;  &lt;p&gt;当旅行结束，作者骑到了加州，看到了大海。在那一刻，他相信自己的答案是对的。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;"几分钟之后，我们顺着这条路骑到了山顶，然后又笔直地往山谷落下。一路风景十分优美。我觉得这个山谷和美国其他的山谷完全不同。往南边一点就是所有葡萄美酒的产地。山坡像波浪一样起伏，呈现出优美的曲线，而路也是蜿蜒曲折。我们的身体和车子缓缓地顺着山路向下走，同时向路边倾斜过去，几乎可以碰到树叶和树枝。高山地区的岩石和枞树远远落在身后，在我们周围是平缓的山坡和葡萄树，还有许多紫色和红色的花朵。从山谷冒出了浓郁的雾气，那是森林的气息和花香融合在了一起。在遥远的那一端，则是看不到但可以微微嗅得到的海洋气息。&lt;/p&gt;  &lt;p&gt;......人只要活着就会发生不愉快的事和不幸的事。但是我现在有一种以前没有过的感觉，这种感觉并不只停留在表面，而是深入内里：我们赢了。情况正在慢慢好起来。我们几乎可以这样期待。"&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;==========================================================&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;《禅与摩托车维修艺术》摘录&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;1.&lt;/p&gt;  &lt;p&gt;过一种充满生命力的、怀着爱意的生活，一种高高兴兴、简单明了的生活。&lt;/p&gt;  &lt;p&gt;2.&lt;/p&gt;  &lt;p&gt;单调乏味的日子让人几年后想起来不禁怀疑，究竟自己是怎么过的，而时间已悄悄溜走了。&lt;/p&gt;  &lt;p&gt;现在我们的确空下来了，我想谈一些我自己觉得颇为重要的事。&lt;/p&gt;  &lt;p&gt;3.&lt;/p&gt;  &lt;p&gt;风一时起，一时落，不断地吹送过来......它们来自那么遥远的地方。&lt;/p&gt;  &lt;p&gt;4.&lt;/p&gt;  &lt;p&gt;我对许多事情都有些不确定，或许这就是为什么我话说得这么多。&lt;/p&gt;  &lt;p&gt;5.&lt;/p&gt;  &lt;p&gt;她说如果埋葬一个人时出了问题，他的鬼魂就会出现。这一点的确如此，斐德洛没有得到安葬，这就是问题的根源。&lt;/p&gt;  &lt;p&gt;6.&lt;/p&gt;  &lt;p&gt;我想了一下，他还是值得我向他解释的。&lt;/p&gt;  &lt;p&gt;7.&lt;/p&gt;  &lt;p&gt;是什么把他们带进殿堂里的......答案不一而足......逃避平凡生活的芜杂，无可救药的厌倦，逃离自己欲望的束缚。&lt;/p&gt;  &lt;p&gt;一个脾气好的人想要逃离喧闹、令人紧张的环境，而来到寂静的高山，在这里你极目远眺，透过静谧清新的空气，愉快地描摹永恒宁静的山色。&lt;/p&gt;  &lt;p&gt;8.&lt;/p&gt;  &lt;p&gt;他的确是跨入了这个领域，但是却对答案不满意。&lt;/p&gt;  &lt;p&gt;9.&lt;/p&gt;  &lt;p&gt;他几乎从生理上产生了对这座山的需要。他抽象的思路已经变得这样绵长，必须要在一个非常安静的地方，才能够保持思路的清晰。稍有分心或是有其他的思想或是有责任在身，都很可能破坏思想的进展。&lt;/p&gt;  &lt;p&gt;早期的失败使他觉得不需要按照一般的社会标准去思考，他的思想早已很少有人能明白。他认为像学校、教会、政府和政治组织这种机构，都是想用某种特定的目标而非真理来引导别人的思考，以使他们的机构能够继续存活下去，以控制别人来继续为这些机构服务。&lt;/p&gt;  &lt;p&gt;因而，他认为早年的失败，其实对他来说是一种福气，在偶然之间就使自己从为他所设下的陷阱中逃了出来。在他的下半辈子，他对于这些机构所谓的真理警戒心变得非常高。当然一开始，他并没有这样想，只是后来逐渐演变成这样。&lt;/p&gt;  &lt;p&gt;10.&lt;/p&gt;  &lt;p&gt;他很高兴能够独自一个人在空旷的船舱里读这本书，否则他永远不可能读进去。&lt;/p&gt;  &lt;p&gt;11.&lt;/p&gt;  &lt;p&gt;有些人一辈子都生活在山底下，从来不知道有这么高的地方存在。&lt;/p&gt;  &lt;p&gt;12.&lt;/p&gt;  &lt;p&gt;在这思想的高原地带，你想得愈用力，走得就愈慢。&lt;/p&gt;  &lt;p&gt;他以科学的方法来阅读，不只读字面的意思，而且把每个句子都拿来实验，同时记下问题，以待日后解决。&lt;/p&gt;  &lt;p&gt;我的运气不错，我有他大量的笔记。&lt;/p&gt;  &lt;p&gt;13.&lt;/p&gt;  &lt;p&gt;你成了一部机器，不断地对那些如潮水般涌来的天真学生重复同样枯燥乏味的教材。他们不了解为什么你变得这样乏味，因而对你失去了尊敬。大家也受了你的传染。&lt;/p&gt;  &lt;p&gt;你不断上课、上课、上课的原因是，这是经营一所学校最经济的方法，让外界的人误以为学生得到了完整的教育。&lt;/p&gt;  &lt;p&gt;14.&lt;/p&gt;  &lt;p&gt;真正的大学并不听命于任何民意机关，也不是由任何建筑物所构成的，只要它自己宣布这个地方已不再是圣所，真正的大学就已经消失，所遗留下来的只是一些砖墙、藏书和种种物质的结构罢了。&lt;/p&gt;  &lt;p&gt;15.&lt;/p&gt;  &lt;p&gt;真正的大学并没有特定的地点，也没有校产；既不支付薪水，也不接受物质的报酬。&lt;/p&gt;  &lt;p&gt;真正的大学是心灵的世界，是多少世纪以来流传给我们的理性思想，它不存在于任何特定的建筑物之内。这种心灵的世界，许多世纪以来都是通过一群所谓的教授所传递的，而教授这个头衔并不属于真正大学的一部分，大学的本质在于流传下来的理性的自身。&lt;/p&gt;  &lt;p&gt;16.&lt;/p&gt;  &lt;p&gt;除了这种心灵的世界之外，不巧也有一种合法的机构有同样的名称，但是却完全是两码子事。它是非营利性的组织，隶属于州政府，同时坐落在特定的地方，它不但拥有校产，还能发薪水，收学费，还要受法律的约束。&lt;/p&gt;  &lt;p&gt;然而这种大学，也就是合法的组织，却没有办法真正提供任何教导，它不但无法激发新知识的产生，也无法衡量学问的价值。它根本就不是真正的大学，它只像教会外表的建筑一样，坐落在某个特定的地点，提供真正的教会各种有利于生存的环境。&lt;/p&gt;  &lt;p&gt;斐德洛认为，凡是没有办法觉察这种差异的人，就会误以为掌握了教会的建筑就等于掌握了教会。他们认为，学校的教授既然领了薪水，一旦得到上面的指示，就应该抛弃自己的见解，毫无异议地接受学校的指挥，就像受雇于一般公司行号，处处要为老板说话一样。 他们看到的是虚假的大学，而没看到真正的大学。&lt;/p&gt;  &lt;p&gt;17.&lt;/p&gt;  &lt;p&gt;他的动力：勇于说出真理的使命感。&lt;/p&gt;  &lt;p&gt;18.&lt;/p&gt;  &lt;p&gt;一个人可以信仰真理，也可以通过理性去追寻真理，或者和当局对抗，但是为什么会像他这样夜以继日地燃烧自己？&lt;/p&gt;  &lt;p&gt;19.&lt;/p&gt;  &lt;p&gt;如果你对事情有完全的信心，就不太可能产生狂热的态度。&lt;/p&gt;  &lt;p&gt;20.&lt;/p&gt;  &lt;p&gt;如果一直向前看，或者只看到目前的状况，对你并没有任何意义。一旦你回顾以往，就会看到一种模式隐隐出现。如果你由这个模式出发，那么很可能会迸发出一些东西。&lt;/p&gt;  &lt;p&gt;21.&lt;/p&gt;  &lt;p&gt;科学的问题在于它并没有和人的心灵连在一起，所以在盲目之中表露出它丑陋的一面，因而必然引起人们的厌恶。然而过去人们并没有注意到这一点，因为大家最关心的是衣食住行的问题，而科学正好能满足人们这方面的需要。 &lt;/p&gt;  &lt;p&gt;但是现在有更多人相信、也注意到科学所产生的丑陋现象，因而怀疑我们是否需要牺牲灵性和美感上的需要，以满足物质方面的欲望。&lt;/p&gt;  &lt;p&gt;22.&lt;/p&gt;  &lt;p&gt;解决的方法不是抛弃或否定理性，而是拓展理性的内涵，使它能够找到解决的方法。&lt;/p&gt;  &lt;p&gt;23.&lt;/p&gt;  &lt;p&gt;在温暖的被窝中，我又想了好一阵子山顶的雪和风，还有哥伦布。&lt;/p&gt;  &lt;p&gt;24.&lt;/p&gt;  &lt;p&gt;除了她走后所留下的精神涡流，教室里只剩下一股悲伤的气氛。而原先我所要来看的东西已经消失了。&lt;/p&gt;  &lt;p&gt;25.&lt;/p&gt;  &lt;p&gt;实体的山往往能象征人们灵性长进的路。就好像那些在我们身后的山谷里的人们，大部分人望着灵性的高峰，但是一生从来不曾攀上过，只是听听别人的经验就已经很满足，而自己不愿意花费任何心血。有一些人则是靠着有经验的向导，他们知道最安全的路，因而能够很顺利地到达他们的目的地。但是还有另外一批人，不但没有经验，而且不太相信别人的经验，想要走出自己的路。其中很少有人能成功，但是总有一些靠着自己的意志、运气还有上天的恩典而做到了。&lt;/p&gt;  &lt;p&gt;26.&lt;/p&gt;  &lt;p&gt;那些成功的人要比别人更明白，其实登山并没有惟一或是固定的路线，有多少这样的人物就有多少条路。&lt;/p&gt;  &lt;p&gt;27.&lt;/p&gt;  &lt;p&gt;她之所以写不出有关波斯曼的事，是因为她想不出波斯曼有什么值得重复写下来的地方。很奇怪，她竟然不知道自己可以从不同的角度观察，而不要在乎别人说过什么。而把题材缩减到一块砖就突破了她的瓶颈。因为很明显地，她必须直接地、不受任何阻碍地观察这块砖。&lt;/p&gt;  &lt;p&gt;28.&lt;/p&gt;  &lt;p&gt;一旦他们能自己直接观察，就会明白有无穷的题材值得写，这是一种培养信心的训练，虽然他们所写的看似微不足道，但是终究是自己的作品，而不是模仿别人之作。&lt;/p&gt;  &lt;p&gt;29.&lt;/p&gt;  &lt;p&gt;废除分数和学位的目的，并不是要去处罚驴子或者是抛弃它们，而是给这些驴子适当的环境，让它变成自由的人。&lt;/p&gt;  &lt;p&gt;30.&lt;/p&gt;  &lt;p&gt;愈聪明愈认真的学生愈不需要分数，很可能是因为他们对学问的本身比较感兴趣。而愈懒惰愈愚笨的学生则愈需要分数，因为可以让他们知道自己是否及格了。&lt;/p&gt;  &lt;p&gt;31.&lt;/p&gt;  &lt;p&gt;把心怀怨恨的学生教成一个模子里出来的，这不是他想要做的。&lt;/p&gt;  &lt;p&gt;32.&lt;/p&gt;  &lt;p&gt;他和太太在山里露营了许久，她问他为什么一直都这么沉默，他也说不出原因，他只是停下来等待，等待那颗思想上尚未出现的晶种，能够突然地把一切都具体化。&lt;/p&gt;  &lt;p&gt;33.&lt;/p&gt;  &lt;p&gt;如果你只是为了爬到山顶，这种目标是很肤浅的，维持山的活力是靠这些周遭的环境，而不单单只是山顶而已。 但是当然，没有山顶，就不会有山的周围，是山顶界定了周围。&lt;/p&gt;  &lt;p&gt;34.&lt;/p&gt;  &lt;p&gt;凡是有创意的人都有那个神秘而属于个人的内在目标。&lt;/p&gt;  &lt;p&gt;35.&lt;/p&gt;  &lt;p&gt;他谈论的话题永远是别的事和别的地方。他的人虽然在这里，但是他的心却不在这里。因为他拒绝活在此时此地，他想要赶快爬到山顶，但是一旦爬上去之后仍然不快乐，因为山顶立刻就变成"此地"。他追寻的，他想要的都已经围绕在他的四周，但是他并不要这一切，因为这些就在他旁边。于是在体力和精神上，他所跨出的每一步都很吃力，因为他总认为自己的目标在远方。&lt;/p&gt;  &lt;p&gt;36.&lt;/p&gt;  &lt;p&gt;学校这座理性的教会主要就是研究那些能被界定的事物，所以一个人如果想研究神秘的主义，他就应该去修道院而不是去大学，大学要研究的是能够形之于文字的事物。&lt;/p&gt;  &lt;p&gt;37.&lt;/p&gt;  &lt;p&gt;一旦你被训练得轻视自己的喜好，那么当然你就会对别人更加顺服----变成好奴隶。一旦你学会不做自己喜欢的事，那么你就会为整个体系所接受。&lt;/p&gt;  &lt;p&gt;38.&lt;/p&gt;  &lt;p&gt;爬到山顶的时候，很自然地就会看到蓝天。&lt;/p&gt;  &lt;p&gt;39.&lt;/p&gt;  &lt;p&gt;当远方有座高山或者哪怕只是山丘，你就拥有了空间。&lt;/p&gt;  &lt;p&gt;40.&lt;/p&gt;  &lt;p&gt;前沿就是一切行动所在。前沿包含着未来的全部可能性。前沿也包含着过去的全部历史。除此之外，我们还能到哪里去追寻过去与未来呢？&lt;/p&gt;  &lt;p&gt;41.&lt;/p&gt;  &lt;p&gt;这是一种无法解释的伤怀，又一天消逝了，展现在眼前的只是逐渐沉重的暮色。&lt;/p&gt;  &lt;p&gt;42.&lt;/p&gt;  &lt;p&gt;一直到作品呈现出它该有的形式，他的内心才会得到真正的安宁。&lt;/p&gt;  &lt;p&gt;43.&lt;/p&gt;  &lt;p&gt;钓鱼回来的人通常充满了热忱，有力量去面对几个礼拜前他已经厌恶至极的事物。因此，事实上他并没有浪费时间，只是我们以世俗的眼光认为他是如此。&lt;/p&gt;  &lt;p&gt;44.&lt;/p&gt;  &lt;p&gt;在修理机器这方面，如果你的自我太强，往往无法把工作做好。因为你总是会被愚弄，很容易犯错，所以修理人员自大的个性对他颇为不利。如果你认识很多技术人员，我想你会同意我的观点，他们往往相当谦虚而且安静。当然，也有例外。不过即使他们起初无法保持安静和谦逊，长久工作下来，也会变成这样的个性。同时，他们还具有高度的警戒心，专注而又懂得怀疑，不会以自我为中心。&lt;/p&gt;  &lt;p&gt;45.&lt;/p&gt;  &lt;p&gt;机器会反映出你真正的个性、感受、推理和行动，而不是反映你自我吹嘘、膨胀的那一部分。如果你的士气来自于你的自我，而非良质，那么这种虚假的形象很快就会完全崩溃，那你就会非常沮丧。&lt;/p&gt;  &lt;p&gt;46.&lt;/p&gt;  &lt;p&gt;我在公路上慢慢地走着，不想去打扰阳光，这正是早秋的感觉。&lt;/p&gt;  &lt;p&gt;47.&lt;/p&gt;  &lt;p&gt;森林里面的寂静会让每一个人都有所进步。&lt;/p&gt;  &lt;p&gt;48.&lt;/p&gt;  &lt;p&gt;我认为身体上的距离和寂寞毫不相关，造成寂寞的原因是心理的距离。在蒙大拿和爱达荷州，身体上的距离虽然很遥远，人们心理的距离却很近，而在这里正好相反。&lt;/p&gt;  &lt;p&gt;49.&lt;/p&gt;  &lt;p&gt;大众媒体让他们以为身边的事物是不重要的，这就是他们寂寞的原因。你可以从他们脸上看到寂寞。先是他们眼中闪过一丝搜寻的神情，然后一旦看见你，你对他们来说便只不过像一个物体，算不得什么，而不是他们想要寻找的对象，因为你不是电视上的人物。&lt;/p&gt;  &lt;p&gt;50.&lt;/p&gt;  &lt;p&gt;然而伟大的书籍早已为世人所知，斐德洛的作品却没有出版，所以我的责任之一就是要把他的思想详细地写下来。&lt;/p&gt;  &lt;p&gt;51.&lt;/p&gt;  &lt;p&gt;苏格拉底曾经告诉高尔吉亚，修辞学和烹饪都是煽动人的学问----是很卑微的思想----因为它们所诉求的是人的情感而非真正的知识。&lt;/p&gt;  &lt;p&gt;52.&lt;/p&gt;  &lt;p&gt;代表善的智者和代表真理的辩证学者为人类未来的世界走向而争斗。真理这一方赢了，而善输了。这就是为什么我们今天接受真实很少有困难，而接受良质的阻力则很大。&lt;/p&gt;  &lt;p&gt;53.&lt;/p&gt;  &lt;p&gt;雨小多了，所以我们能看到地平线，遥远的天边有如此明显的一条线，清楚地区分开了浅灰的天空和深灰的海水。&lt;/p&gt;  &lt;p&gt;一个人只要望着地平线，内心就能得到宁静。&lt;/p&gt;  &lt;p&gt;54.&lt;/p&gt;  &lt;p&gt;往往我们对别人指责最严苛之处，就是我们最害怕自己的地方。&lt;/p&gt;  &lt;p&gt;55.&lt;/p&gt;  &lt;p&gt;大海寒冷湛蓝，很奇怪，却让我有绝望的感觉。住在海边的人永远不会了解海洋对于住在内陆的人的意义----它代表了如此遥远而庞大的梦想，虽然就在眼前，但是在最深的潜意识里，你却看不见它。当他们到达海洋的时候，将意识与潜意识的梦境相比较，就会感到挫败。他们走了这么远的路，却到达了一个永远无法探知深度的神秘之处。它是一切的源头。&lt;/p&gt;  &lt;p&gt;56.&lt;/p&gt;  &lt;p&gt;现在在思索，海到底究竟有多远......&lt;/p&gt;  &lt;p&gt;57.&lt;/p&gt;  &lt;p&gt;克里斯哭的声音渐渐小下来，但还是没有止住。海风吹在我们四周长长的野草上，雾逐渐散去。&lt;/p&gt;  &lt;p&gt;（完）&lt;br /&gt; &lt;/p&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;border:1px solid #d3d3d3;margin:1em;background-color:#AAD2F0;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;h3&gt;文档信息&lt;/h3&gt; &lt;ul&gt; &lt;li&gt;版权声明：自由转载-非商用-非衍生-保持署名 | &lt;a href="http://creativecommons.org/licenses/by-nc-nd/3.0/deed.zh"&gt;Creative Commons BY-NC-ND 3.0&lt;/a&gt;&lt;/li&gt; &lt;li&gt;原文网址：&lt;a href="http://www.ruanyifeng.com/blog/2011/12/zen_and_the_art_of_motorcycle_maintenance.html"&gt;http://www.ruanyifeng.com/blog/2011/12/zen_and_the_art_of_motorcycle_maintenance.html&lt;/a&gt;&lt;/li&gt; &lt;li&gt;最后修改时间：2011年12月18日 15:14&lt;/li&gt; &lt;li&gt;付费支持（&lt;a href="http://www.ruanyifeng.com/blog/2011/05/my_google_adsense_is_disabled.html" target="_blank" style="text-decoration:underline;"&gt;说明&lt;/a&gt;）：&lt;a href="https://mai.alipay.com/p.htm?id=2011101500701706" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/rmb_32.png" alt="支付宝担保交易" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; | &lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=yifeng.ruan@gmail.com&amp;currency_code=USD&amp;amount=2.99&amp;return=http://www.ruanyifeng.com/thank.html&amp;item_name=Ruan%20YiFeng's%20Blog&amp;undefined_quantity=1&amp;no_note=0" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/dollar_32.png"  alt="paypal" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;/div&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;margin:1em;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;table style="border-top:1px solid #999;padding-top:4px;margin-top:1.5em;width:100%" id="footer"&gt; &lt;tr&gt; &lt;td style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;You are subscribed to email updates from &lt;a href="http://www.ruanyifeng.com/blog/"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt;To stop receiving these emails, you may &lt;a href="http://feedburner.google.com/fb/a/mailunsubscribe?k=VV_gHI1yynfLxpDetfQct6jeXHU"&gt;unsubscribe now&lt;/a&gt;.&lt;/td&gt; &lt;td style="font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;text-align:right;vertical-align:top"&gt;Email delivery powered by Google&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td colspan="2" style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;Google Inc., 20 West Kinzie, Chicago IL USA 60610&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/145804083675914388-2773409796002731661?l=ruanyf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/2773409796002731661'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/2773409796002731661'/><link rel='alternate' type='text/html' href='http://ruanyf.blogspot.com/2011/12/blog-post_18.html' title='阮一峰的网络日志'/><author><name>Ruan YiFeng</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-145804083675914388.post-4310329806522118988</id><published>2011-12-10T05:17:00.001-08:00</published><updated>2011-12-10T05:17:37.253-08:00</updated><title type='text'>阮一峰的网络日志</title><content type='html'>&lt;style type="text/css"&gt;                          h1 a:hover {background-color:#888;color:#fff ! important;}                          div#emailbody table#itemcontentlist tr td div ul {                                         list-style-type:square;                                         padding-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div blockquote {                                 padding-left:6px;                                 border-left: 6px solid #dadada;                                 margin-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div li {                                 margin-bottom:1em;                                 margin-left:1em;                         }                           table#itemcontentlist tr td a:link, table#itemcontentlist tr td a:visited, table#itemcontentlist tr td a:active, ul#summarylist li a {                                 color:#000099;                                 font-weight:bold;                                 text-decoration:none;                         }                                 img {border:none;}                   &lt;/style&gt; &lt;div xmlns="http://www.w3.org/1999/xhtml" id="emailbody" style="margin:0 2em;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt; &lt;table style="border:0;padding:0;margin:0;width:100%"&gt; &lt;tr&gt; &lt;td style="vertical-align:top" width="99%"&gt; &lt;h1 style="margin:0;padding-bottom:6px;"&gt; &lt;a style="color:#888;font-size:22px;font-family:Arial, Helvetica, sans-serif;font-weight:normal;text-decoration:none;" href="http://www.ruanyifeng.com/blog/" title="(http://www.ruanyifeng.com/blog/)"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt; &lt;a href="http://fusion.google.com/add?source=atgs&amp;amp;feedurl=http://feeds.feedburner.com/ruanyifeng"&gt; &lt;img style="padding-top:6px" alt="" border="0" src="http://gmodules.com/ig/images/plus_google.gif" /&gt; &lt;/a&gt; &lt;/h1&gt; &lt;/td&gt; &lt;td width="1%" /&gt; &lt;/tr&gt; &lt;/table&gt; &lt;hr style="border:1px solid #ccc;padding:0;margin:0" /&gt; &lt;table id="itemcontentlist"&gt; &lt;tr xmlns=""&gt; &lt;td style="margin-bottom:0;line-height:1.4em;"&gt; &lt;p style="margin:1em 0 3px 0;"&gt; &lt;a name="1" style="font-family:Arial, Helvetica, sans-serif;font-size:18px;" href="http://www.ruanyifeng.com/blog/2011/12/scenes_of_life.html"&gt;诗意摄影《生活场景》&lt;/a&gt; &lt;/p&gt; &lt;p style="font-size:13px;color:#555;margin:9px 0 3px 0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;"&gt; &lt;span&gt;Posted:&lt;/span&gt; 09 Dec 2011 09:18 PM PST&lt;/p&gt; &lt;div style="margin:0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt;&lt;p&gt;今天，我看到了一组非常漂亮的照片&lt;a href="http://www.lensculture.com/luciesimon.html?thisPic=100"&gt;《生活场景》&lt;/a&gt;（Scenes of Life）&lt;/p&gt;&lt;p&gt;它们用垂直俯视的视角，展示了普通人的生活瞬间，将时间定格在那一刻，在一个空旷和宁静的时空中，把人们内心淡淡的孤独和忧伤放大凝固了。&lt;/p&gt;  &lt;p&gt;所有照片中，主人公都处在休息或静止的状态，四周是如诗如画的景色，人与环境之间仿佛有一种隔阂。我们不禁要问："他们在想什么呢？为什么不能融入周围呢？"&lt;/p&gt;  &lt;p&gt;这样的疑问大大增加了照片的可看性，拓展了它们图像之外的含义，使其有了深度，不再是一般的人物照片或风景照片，具备了打动人心的力量。&lt;/p&gt;  &lt;p&gt;1.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/scenesoflife01.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;2.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/scenesoflife02.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;3.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/scenesoflife03.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;4.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/scenesoflife04.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;5.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/scenesoflife05.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;6.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/scenesoflife06.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;7.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/scenesoflife07.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;8.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/scenesoflife08.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;9.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/scenesoflife09.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;10.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/scenesoflife10.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;11.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/scenesoflife11.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;12.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/scenesoflife12.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;13.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/scenesoflife13.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;14.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/scenesoflife14.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;15.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/scenesoflife15.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;16.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/scenesoflife16.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;17.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/scenesoflife17.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;18.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/scenesoflife18.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;======================================&lt;/p&gt;  &lt;p&gt;下面是这组照片的作者专访：&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;《垂直俯视的诗意影像品》&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;作者：朱炯&lt;/p&gt;  &lt;p&gt;原载《摄影之友》2010年06期&lt;/p&gt;  &lt;p&gt;网址：&lt;a href="http://fotomen.cn/2010/06/vertical-overlooking/"&gt;http://fotomen.cn/2010/06/vertical-overlooking/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;【导言】&lt;/p&gt;  &lt;p&gt;浪漫的生活有时显得过于甜美。Lucie和Simon用自上而下的超然视角、细腻而迷人的色彩搭配以及绘画性的构图方式，从平淡的生活中挖掘出诗意，他们的浪漫影像不失细腻而朴素的现实气息。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011121001.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;（图片说明：Lucie 和Simon。28岁来自法国南部、毕业于的巴黎高等工艺美术学院的女摄影师Lucie和23岁有着德国血统、担任过多名摄影师助手的男摄影师Simon。）&lt;/p&gt;  &lt;p&gt;【正文】&lt;/p&gt;  &lt;p&gt;在巴黎和Lucie与Simon的见面时间是当天匆忙确定的----虽然之前我们花费了将近一个月的时间反复沟通预约，但由于他们要给法国政治家们拍摄肖像，每天需守在摄影 棚里等政要来临，所以我们只能在政要临时取消拍摄计划时，见缝插针约到咖啡馆见面。&lt;/p&gt;  &lt;p&gt;他们实在太年轻了，若不是面前的咖啡桌上放着装照片的盒子以及电脑，我实在不敢 确定这一女一男就是Lucie和Simon。我们互相介绍的时候，他们讲话甚至都有些害羞， 但当说到作品、构思的时候却一下滔滔不绝起来。&lt;/p&gt;  &lt;p&gt;Lucie和Simon合作拍摄《生活场景》这组作品开始于2007年夏天，最初的点子是拍摄 一组俯视角度的照片，他们迷上了这种视角的影像效果：挤压了的垂直空间，透视被严重削弱，可以忽略的画面景深，同时他们将改变了常规的摄影视点----镜头对准简 单的日常内容，让奇迹从平凡中诞生。&lt;/p&gt;  &lt;p&gt;最初的拍摄中，解决技术问题是首要的。为了能产生"垂直俯视"的效果，他们自己 设计、加工了一个摄影升降支架，最高可以升至五米，照相机安装在上面。谈起拍摄过程，他们说，"极其需要耐心"----因为每拍摄一张照片大约需要一天的时间，至少四五个小时。他们用不同的相机，有胶片有数码，用过佳能EOS5D，潘太克斯，现在 用哈苏数字后背。现场的布光以自然光为主。当使用胶片相机时，是用连线在下面控制，使用数码相机就连接电脑来控制了。&lt;/p&gt;  &lt;p&gt;起先Lucie和Simon想找职业演员来扮演被摄对象，但当时由于经费、工作时间等问题，他们最终决定由自己和身边的家人、朋友出镜，他们希望通过自己和熟悉的人再现真实而自然的生活场景。于是在这些照片中，我们会看到摄影师自己在花园里悠闲小憩的场景，而带着两个孩子在童话般池塘边钓鱼的老人其实就是Lucie的爸爸。&lt;/p&gt;  &lt;p&gt;家人和朋友的参与，带给他们作品更多灵感和感动。拍摄期间，他们一位好友生了一个女孩，因为很喜欢Lucie和Simon的摄影风格，特意邀请他们为这个新生命拍张特别的留影。于是Lucie和Simon把摄影升降装置安装到了妇产医院的病房，拍摄操作过程很长， 他们蹑手蹑脚地组装起拍摄装置，丝毫没有惊动刚出生２４小时的婴儿。她安静地躺在妈妈怀抱里，吃得饱饱的，睡得无比香甜。整个房间笼罩在柔和的光线中，房间、物品 以及人物衣服的色彩那么和谐地统一在暖色调里，新的生命是如此甜美。（后来这组作 品在法国展出，展览开幕式上，这位妈妈带着已经会走路了的小姑娘在作品前留念，吸引了很多观众。）这个场景让人再次感受到，所有的影像，无论是导演摄影的手法还是 纪实摄影的手法，都是消失时间的珍贵留存。而真正浪漫的生活不是刻意地去制造，它们往往存在于现实中。&lt;/p&gt;  &lt;p&gt;《摄影之友》：拍摄出这样的垂直俯视效果是否经过了后期的制作？&lt;/p&gt;  &lt;p&gt;Lucie和Simon：大部分都是直接拍摄成功的。我们的作品中既有用胶片也有用数码拍摄的。后期的处理基本没超出传统胶片时代暗房所做的范畴：调整色彩的饱和度，调整画 面影调的平衡。只有少许的两三张，因为没有足够的拍摄空间，摄影师拍摄了五六张，最后合成拼接。我们追求的，是真实存在的状态。&lt;/p&gt;  &lt;p&gt;《摄影之友》：你们把生活场景拍摄得如此美丽、浪漫，但其实日常生活中一般摄影师 很少能拍摄到这些美妙的影像，能否给我们一些具体的提示？&lt;/p&gt;  &lt;p&gt;Lucie和Simon：我们这个系列作品其实是在虚构真实的生活。画面内的物品虽然大多是 被摄者的生活用品，但其实每一个细节，色彩的配置等都是经过精心设计、摆布的。同时被摄者在属于自己的熟悉空间内扮演他们自己。人物的姿态动作，除了要考虑俯拍角 度的呈现之外，多是被摄者在经过几个小时的准备过程后完全放松而展现的自然状态。 我们是先被某一空间的色彩所吸引，然后再决定如何进行人物造型。&lt;/p&gt;  &lt;p&gt;======================================&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.lucieandsimon.com"&gt;Lucie和Simon&lt;/a&gt;的其他作品：&lt;/p&gt;  &lt;p&gt;19.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011121002.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;20.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011121003.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;21.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011121004.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;22.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011121005.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;23.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011121006.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;24.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011121007.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;25.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011121008.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;26.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011121009.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;27.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011121010.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;28.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011121011.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;29.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011121012.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;30.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011121013.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;31.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011121014.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;32.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011121015.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;33.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011121016.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;34.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011121017.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;35.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011121018.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;36.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011121019.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;37.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011121020.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;38.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011121021.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;39.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011121022.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;40.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011121023.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;41.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011121024.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;（完）&lt;br /&gt; &lt;/p&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;border:1px solid #d3d3d3;margin:1em;background-color:#AAD2F0;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;h3&gt;文档信息&lt;/h3&gt; &lt;ul&gt; &lt;li&gt;版权声明：自由转载-非商用-非衍生-保持署名 | &lt;a href="http://creativecommons.org/licenses/by-nc-nd/3.0/deed.zh"&gt;Creative Commons BY-NC-ND 3.0&lt;/a&gt;&lt;/li&gt; &lt;li&gt;原文网址：&lt;a href="http://www.ruanyifeng.com/blog/2011/12/scenes_of_life.html"&gt;http://www.ruanyifeng.com/blog/2011/12/scenes_of_life.html&lt;/a&gt;&lt;/li&gt; &lt;li&gt;最后修改时间：2011年12月10日 20:26&lt;/li&gt; &lt;li&gt;付费支持（&lt;a href="http://www.ruanyifeng.com/blog/2011/05/my_google_adsense_is_disabled.html" target="_blank" style="text-decoration:underline;"&gt;说明&lt;/a&gt;）：&lt;a href="https://mai.alipay.com/p.htm?id=2011101500701706" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/rmb_32.png" alt="支付宝担保交易" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; | &lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=yifeng.ruan@gmail.com&amp;currency_code=USD&amp;amount=2.99&amp;return=http://www.ruanyifeng.com/thank.html&amp;item_name=Ruan%20YiFeng's%20Blog&amp;undefined_quantity=1&amp;no_note=0" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/dollar_32.png"  alt="paypal" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;/div&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;margin:1em;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;table style="border-top:1px solid #999;padding-top:4px;margin-top:1.5em;width:100%" id="footer"&gt; &lt;tr&gt; &lt;td style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;You are subscribed to email updates from &lt;a href="http://www.ruanyifeng.com/blog/"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt;To stop receiving these emails, you may &lt;a href="http://feedburner.google.com/fb/a/mailunsubscribe?k=VV_gHI1yynfLxpDetfQct6jeXHU"&gt;unsubscribe now&lt;/a&gt;.&lt;/td&gt; &lt;td style="font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;text-align:right;vertical-align:top"&gt;Email delivery powered by Google&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td colspan="2" style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;Google Inc., 20 West Kinzie, Chicago IL USA 60610&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/145804083675914388-4310329806522118988?l=ruanyf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/4310329806522118988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/4310329806522118988'/><link rel='alternate' type='text/html' href='http://ruanyf.blogspot.com/2011/12/blog-post_10.html' title='阮一峰的网络日志'/><author><name>Ruan YiFeng</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-145804083675914388.post-4544652418608327521</id><published>2011-12-06T05:27:00.001-08:00</published><updated>2011-12-06T05:27:02.892-08:00</updated><title type='text'>阮一峰的网络日志</title><content type='html'>&lt;style type="text/css"&gt;                          h1 a:hover {background-color:#888;color:#fff ! important;}                          div#emailbody table#itemcontentlist tr td div ul {                                         list-style-type:square;                                         padding-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div blockquote {                                 padding-left:6px;                                 border-left: 6px solid #dadada;                                 margin-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div li {                                 margin-bottom:1em;                                 margin-left:1em;                         }                           table#itemcontentlist tr td a:link, table#itemcontentlist tr td a:visited, table#itemcontentlist tr td a:active, ul#summarylist li a {                                 color:#000099;                                 font-weight:bold;                                 text-decoration:none;                         }                                 img {border:none;}                   &lt;/style&gt; &lt;div xmlns="http://www.w3.org/1999/xhtml" id="emailbody" style="margin:0 2em;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt; &lt;table style="border:0;padding:0;margin:0;width:100%"&gt; &lt;tr&gt; &lt;td style="vertical-align:top" width="99%"&gt; &lt;h1 style="margin:0;padding-bottom:6px;"&gt; &lt;a style="color:#888;font-size:22px;font-family:Arial, Helvetica, sans-serif;font-weight:normal;text-decoration:none;" href="http://www.ruanyifeng.com/blog/" title="(http://www.ruanyifeng.com/blog/)"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt; &lt;a href="http://fusion.google.com/add?source=atgs&amp;amp;feedurl=http://feeds.feedburner.com/ruanyifeng"&gt; &lt;img style="padding-top:6px" alt="" border="0" src="http://gmodules.com/ig/images/plus_google.gif" /&gt; &lt;/a&gt; &lt;/h1&gt; &lt;/td&gt; &lt;td width="1%" /&gt; &lt;/tr&gt; &lt;/table&gt; &lt;hr style="border:1px solid #ccc;padding:0;margin:0" /&gt; &lt;table id="itemcontentlist"&gt; &lt;tr xmlns=""&gt; &lt;td style="margin-bottom:0;line-height:1.4em;"&gt; &lt;p style="margin:1em 0 3px 0;"&gt; &lt;a name="1" style="font-family:Arial, Helvetica, sans-serif;font-size:18px;" href="http://www.ruanyifeng.com/blog/2011/12/pain_builds_character.html"&gt;痛苦造就性格（也许还造就产品）&lt;/a&gt; &lt;/p&gt; &lt;p style="font-size:13px;color:#555;margin:9px 0 3px 0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;"&gt; &lt;span&gt;Posted:&lt;/span&gt; 05 Dec 2011 09:49 AM PST&lt;/p&gt; &lt;div style="margin:0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt;&lt;p&gt;如果你知道&lt;a href="http://www.techcrunch.com/"&gt;TechCrunch&lt;/a&gt;，那么你可能知道&lt;a href="http://en.wikipedia.org/wiki/Michael_Arrington"&gt;Michael Arrington&lt;/a&gt;。&lt;/p&gt;&lt;p&gt;他是一个律师，自称对"Web 2.0"更有兴趣，因此创办了个人网志TechCrunch，专门报道硅谷的创业公司和风险资本家。&lt;/p&gt;  &lt;p&gt;虽然不少人认为TechCrunch缺乏可读性，但是它可能是世界上订阅人数最多的科技类网志，2010年9月被AOL以2500万美元收购。有了这笔钱，Michael Arrington就改行当上了风险资本家。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011120501.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;一周前，他发表了一篇文章，评论了网络游戏公司Zynga的劳资矛盾。文章的题目叫做&lt;a href="http://uncrunched.com/2011/11/27/startups-are-hard-so-work-more-cry-less-and-quit-all-the-whining/"&gt;《创业是艰难的：多工作，少喊累，别发牢骚》&lt;/a&gt;（ "Startups Are Hard. So Work More, Cry Less, And Quit All The Whining"）。&lt;/p&gt;  &lt;p&gt;这篇文章引用了程序员&lt;a href="http://www.jwz.org"&gt;Jamie Zawinski&lt;/a&gt;写于1994年的&lt;a href="http://www.jwz.org/gruntle/nscpdorm.html"&gt;日记&lt;/a&gt;（详见后文），得出了这么一个观点：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;"If you work at a startup and you think you're working too hard and sacrificing too much, find a job somewhere else that will cater to your needs."&lt;/p&gt;  &lt;p&gt;"如果你在创业公司工作，觉得工作得很累，牺牲太多，那么换个地方，找一份更合适你的工作吧。"&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;言下之意，软件业就是一个很累的地方，要想成功，就必须拼命，哪怕放弃正常生活和休闲，也在所不惜，否则你失败就是活该。&lt;/p&gt;  &lt;p&gt;第二天，Jamie Zawinski发表&lt;a href="http://www.jwz.org/blog/2011/11/watch-a-vc-use-my-name-to-sell-a-con/"&gt;回应&lt;/a&gt;，严厉批评了Michael Arrington。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;"He's using my words to try and back up that thesis.&lt;/p&gt;  &lt;p&gt;他用我的话，支持这种观点。&lt;/p&gt;  &lt;p&gt;I hate this, because it's not true, and it's disingenuous.&lt;/p&gt;  &lt;p&gt;我很反感，因为这不是事实，而是诡辩。&lt;/p&gt;  &lt;p&gt;What is true is that for a VC's business model to work, it's necessary for you to give up your life in order for him to become richer.&lt;/p&gt;  &lt;p&gt;事实是，风险资本家的商业模式需要这种宣传。只有你放弃你的生活，才能使他变得更富有。&lt;/p&gt;  &lt;p&gt;He's telling you the story of, "If you bust your ass and don't sleep, you'll get rich" because the only way that people in his line of work get richer is if young, poorly-socialized, naive geniuses believe that story! Without those coat-tails to ride, VCs might have to work for a living. Once that kid burns out, they'll just slot a new one in.&lt;/p&gt;  &lt;p&gt;他鼓吹，如果你忙得一刻不停，不休息不睡觉，你就会致富。因为干他那一行的人致富的唯一方法，就是那些年轻的、不擅于社交的、天真的程序员相信他那一套鬼话！没有这些垫背，风险资本家可能就必须自己动手谋生了。一旦那些孩子们失去利用价值，他们就接着去骗下一批人。"&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;别信风险资本家的鬼话，真正值得追求的生活是这样的：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;"I recommend that you do what you love because you love doing it. If that means long hours, fantastic. If that means leaving the office by 6pm every day for your underwater basket-weaving class, also fantastic.&lt;/p&gt;  &lt;p&gt;我的建议是，你去做那些你喜欢做的事，只要喜欢就行。如果这意味着长时间工作，那很好。如果这意味着每天6点钟准时下班，参加潜水培训班，那也很好。"&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;===================================&lt;/p&gt;  &lt;p&gt;看了他的这篇回应，我的第一个感觉是，当年那个特立独行、不羁放纵的Jamie Zawinski又回来了。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011120502.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;他是一个非常传奇的人，高中都没有毕业，却是世界上最好的程序员之一，Netscape公司的主力程序员，划时代产品"网景浏览器"的主要开发者。&lt;/p&gt;  &lt;p&gt;他在公司里就是一身摇滚明星的打扮，留长发、穿皮夹克、戴金属饰品，非常有个性。当微软公司不正当竞争，将IE与Windows捆绑在一起，击败Netscape的时候，他就公开发誓，终身不使用微软公司的任何产品，也不授权任何人将他的代码用于Windows平台。他是Mozilla这个名字的创造者，也是第一个提议将"网景浏览器"开源的人。当同事们决定彻底放弃以前的代码，重头编写一个全新的浏览器，他心灰意冷，辞职离开，在旧金山买下一家酒吧，不再编程，改当一个小店主，从此退出江湖。&lt;/p&gt;  &lt;p&gt;我知道他的故事，是因为纪录片&lt;a href="http://www.ruanyifeng.com/blog/2009/09/code_rush.html"&gt;《Code Rush》&lt;/a&gt;。我强烈推荐这部作品，那是1998年一个摄制组在Netscape公司整整跟拍一年的结果。你不仅可以从中了解"网景浏览器"衰落的那一段历史，还可以看到硅谷程序员的日常生活。&lt;/p&gt;  &lt;p&gt;==================================&lt;/p&gt;  &lt;p&gt;回到Michael Arrington的文章，我最大的收获是得知Jamie Zawinski还写过日记。&lt;/p&gt;  &lt;p&gt;我把他的这份&lt;a href="http://www.jwz.org/gruntle/nscpdorm.html"&gt;日记&lt;/a&gt;读了一遍，感触非常多。日记的名称叫做"the netscape dorm."，直译过来就是《睡在Netscape的日子》，记录了1994年Netscape刚成立时的情景：小公司，没有产品，急需证明自己，必须赶在资金用完之前写出代码。那些日记是创业公司的真实写照，以及一个非常孤独、拼命工作的程序员的内心独白。&lt;/p&gt;  &lt;p&gt;编程是一种非常单调枯燥的工作，长时间、全身心、独自一人地与机器打交道，人际交往和日常生活难免会受到影响。这份日记告诉我们，一个优秀程序员怎么看待这些事情：为什么要这么做？值得吗？乐趣在哪里呢？......&lt;/p&gt;  &lt;p&gt;日记的开头，有这样一段话，一下子就打动我了。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;&lt;strong&gt;"Time always softens the pain and makes things look like more fun than they really were.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;时间总是淡化痛苦，让一切变得比实际情况更轻松。&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;But who said everything has to be fun?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;但是谁说生活一定是轻松的？&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Pain builds character. (Sometimes it builds products, too.)&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;痛苦造就性格。（也许还造就产品。）"&lt;/strong&gt;&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;我反复看着这段话，心里只有一个愿望。如果经受的这些痛苦无法避免，那么我希望它们是值得的，最终带来想要的结果，一切皆有所偿。&lt;/p&gt;  &lt;p&gt;下面是我翻译的他的部分日记。&lt;/p&gt;  &lt;p&gt;=====================================&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Jamie Zawinski日记（节选）&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;阮一峰 译&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011120503.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;(Image credit: &lt;a href="http://www.flickr.com/photos/m-joedicke/4783650995/"&gt;m.joedicke&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1994年6月26日，星期二，凌晨四点&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;我已经在Mosaic工作一个半月了。睡眠很少，不常回家。&lt;/p&gt;  &lt;p&gt;今天一整天，Lou和Rob都在玩遥控汽车。这真让人恼火，因为其他所有人都忙得不可开交，他们却在那里玩耍。我走到Chouck旁边，问他"你生气吗？"他张开双臂，板着脸，说"我的火气有这么大"。我点点头，走回自己的办公桌。&lt;/p&gt;  &lt;p&gt;十分钟后，他走过来问："你是因为自己也生气，还是因为你想看看，我是否容易被激怒？"我说我也生气，但是可能程度比他稍稍轻一点。&lt;/p&gt;  &lt;p&gt;大约凌晨四点，Lou收拾东西，准备离开办公室了。他跟我说，Marc把他叫进办公室，问他是不是无事可干。我心里也是这么想的，就说"是这样吗？"他说，这些天来彻底筋疲力尽，真的需要放松。我完全理解他的感受，但是我说最好在办公室以外的地方放松，而不是工作时当着其他人的面这样做。&lt;/p&gt;  &lt;p&gt;Marc要我去写Unix客户端，配合SGI公司与Irix 5.3一起发布。这意味着巨大的工作量，时间却不到两个月。我还一点代码都没写，甚至没有把握，这个产品是否可行，任务就已经来到了我的面前。所有部件散落一地，我脑海中却还没有整体的概念。Marc可以很轻易地把这个任务强加给我，但是我不愿意冒失败的风险。这个项目的影响太大了，太多的人在等着我们出丑......&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1994年6月28日，星期四，晚上十一点&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;昨天，我又在干活的时候睡着了。缩在办公桌底下，盖着毯子，从中午11点睡到下午1点半，2个半小时。然后突然惊醒，想起来开会要迟到了。我们在会上要讨论如何在可怕的8位空间的条件下，生成彩色图案。不过，迟到就迟到了，可以找别的时间讨论。如果你因为长时间工作、极度疲劳而迟到，大概不会有人因此指责你。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1994年8月5日，星期天，凌晨5点&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;我回家了。距离上一次入睡，已经39个小时了。我现在还不觉得累，正处在第二次或者第三次也许第十八次回光返照。我回家只是因为担心，如果再待在办公室，可能又要在那里睡了。我不想连续在那里熬夜，因为现在真的必须洗个澡。昨天太热了，我和Lou玩air hockey太投入，汗流浃背。&lt;/p&gt;  &lt;p&gt;哦，我一定是累了。打开电视机，觉得MTV画面动得太快了，完全无法理解。&lt;/p&gt;  &lt;p&gt;过去一个星期，我一直喉咙痛和咳嗽。但是，我没有采取任何措施，因为没时间。我觉得，自己纯粹靠意志力，在抵御感冒的进攻。&lt;/p&gt;  &lt;p&gt;我上一次起床还是在星期五，大概下午三点到了公司，已经有一吨的电子邮件等着我，全部与工作有关。下午四点还有全体大会，开会前每个人都在找我。我感到自己真的被击溃压倒了。我的意思是，其实我只离开了办公室7个小时！不过，会议很振奋人心，一份OEM合同已经达成（我忘了与哪家公司），可以安装60万个客户端。不错啊，我真觉得市场部的那些人有两下子！以前我从没有这种感觉，太疯狂了。&lt;/p&gt;  &lt;p&gt;60万个用户！我写过的所有软件的用户数字，从来没有到达过这个级别。真是骇人啊！&lt;/p&gt;  &lt;p&gt;我的手最近伤了。我希望，不断的打字不会废掉我的手腕。如果我不能打字，我的人生就完了。我的右手一直在抖，中间两根手指的最后一个关节在疼，好像淤青得很厉害。我猜想是时候了，该去问问公司提供的医疗保险怎么用。如果医生不说"停止大量打字"，我就该笑死了。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1994年8月11日，星期四，凌晨二点&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;几个月来第一次，我见到了Ian。他的第一句话就是，"哇，你看上去一团糟。" 他说我有点神情恍惚、浑身痉挛。可是，我自我感觉还不错啊！昨晚，睡了一个完整的觉，其他的事情也都正常。我只是没有正常的生活，看不到任何一个与工作无关的朋友，我正在浪费自己只有一次的青春。我应该离开办公室，去做一些更好玩更积极的事情。等我的精神和肉体都衰老的时候，就做不动这些事情了。但是，现实是我守在荧光灯下，往计算机里输入一个个比特位，只有其他与我一样的怪人才会对这种事情感兴趣。我看着一张最新的电影排片表，发现一部也没有听说过。怎么会这样？我真是吓坏了。&lt;/p&gt;  &lt;p&gt;我在药店里买了一些腕部护套，这几天都戴着它们打字。我觉得没什么用，我的中指疼得不算严重，但食指的情况很差。这份工作摧垮了我的身体，这是不值得的。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1994年8月26日，星期五，凌晨一点&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;我重读了过去几个月的日记，很多部分根本连不起来！完全是只言片语，一个个不连贯的词，各种随机的超现实意向，我自己也理解不了，只记得打字时的情景。这是不是我在梦里写下的？我希望，人际交往之中，我留给别人的不是这种印象。我很想知道，我的代码看上去什么样！不过还好，它们至少还能运行。&lt;/p&gt;  &lt;p&gt;晚上9:30，我离开办公室，因为Eric和Susan打电话约我一起看电影。我已经工作了31个小时，其中零零星星合计睡了4个小时。我还在等编译结果出来，但是他们已经替我买了10点半的电影票，我还怎么拒绝呢？我说："我太累了，但是你们是对的，我需要看场电影。" &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1994年8月28日，星期天&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Mozilla已经有点像一个产品了，也许我们最终可以活下来。今天我到办公室的时候，大家都坐着看影碟Repo Man。我完全认同他们，花掉几个小时看电影，我没有产生任何负罪感。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1994年10月12日，星期三，上午十一点&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;今天，我们将发布Mozilla 0.9。我刚刚结束在6种不同的Unix平台上的编译。上午9点，我们发现了一些灾难性的bug，然后立刻修正。现在我正在重新编译所有的二进制文件。它们应该在一个半小时后完成，然后再过不到一个小时，出现在我们的FTP上。&lt;/p&gt;  &lt;p&gt;毫无疑问，这太疯狂了。&lt;/p&gt;  &lt;p&gt;下午六点，所有人都有一种缓期执行的感觉，因为发布时间推迟到了今天午夜。大家开始测试我在下午1:50分新编译出来的文件。这时我开始去睡觉。&lt;/p&gt;  &lt;p&gt;午夜，我们终于把这该死的程序放上了FTP，200万人立刻尝试下载，这时我们甚至还没发布软件上线的消息。我们终于完成了，我想从此所有人都可以幸福生活了。&lt;/p&gt;  &lt;p&gt;我们坐在会议室里，将显示器与一台大电视机连在一起。在黑暗里，我们看着FTP的下载日志快速向下滚动。jg即兴写了一个脚本，每当一次下载成功，电脑就发出一声加农炮的声音。我们听着这声音，坐在黑暗里庆祝。&lt;/p&gt;  &lt;p&gt;接着，我就回家了。我想如果现在就走，应该不至于在路上因过度疲劳而发生车祸，否则今晚我又只能蜷缩在办公桌下睡觉了。&lt;/p&gt;  &lt;p&gt;（完）&lt;br /&gt; &lt;/p&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;border:1px solid #d3d3d3;margin:1em;background-color:#AAD2F0;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;h3&gt;文档信息&lt;/h3&gt; &lt;ul&gt; &lt;li&gt;版权声明：自由转载-非商用-非衍生-保持署名 | &lt;a href="http://creativecommons.org/licenses/by-nc-nd/3.0/deed.zh"&gt;Creative Commons BY-NC-ND 3.0&lt;/a&gt;&lt;/li&gt; &lt;li&gt;原文网址：&lt;a href="http://www.ruanyifeng.com/blog/2011/12/pain_builds_character.html"&gt;http://www.ruanyifeng.com/blog/2011/12/pain_builds_character.html&lt;/a&gt;&lt;/li&gt; &lt;li&gt;最后修改时间：2011年12月 6日 21:10&lt;/li&gt; &lt;li&gt;付费支持（&lt;a href="http://www.ruanyifeng.com/blog/2011/05/my_google_adsense_is_disabled.html" target="_blank" style="text-decoration:underline;"&gt;说明&lt;/a&gt;）：&lt;a href="https://mai.alipay.com/p.htm?id=2011101500701706" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/rmb_32.png" alt="支付宝担保交易" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; | &lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=yifeng.ruan@gmail.com&amp;currency_code=USD&amp;amount=2.99&amp;return=http://www.ruanyifeng.com/thank.html&amp;item_name=Ruan%20YiFeng's%20Blog&amp;undefined_quantity=1&amp;no_note=0" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/dollar_32.png"  alt="paypal" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;/div&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;margin:1em;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;table style="border-top:1px solid #999;padding-top:4px;margin-top:1.5em;width:100%" id="footer"&gt; &lt;tr&gt; &lt;td style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;You are subscribed to email updates from &lt;a href="http://www.ruanyifeng.com/blog/"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt;To stop receiving these emails, you may &lt;a href="http://feedburner.google.com/fb/a/mailunsubscribe?k=VV_gHI1yynfLxpDetfQct6jeXHU"&gt;unsubscribe now&lt;/a&gt;.&lt;/td&gt; &lt;td style="font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;text-align:right;vertical-align:top"&gt;Email delivery powered by Google&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td colspan="2" style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;Google Inc., 20 West Kinzie, Chicago IL USA 60610&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/145804083675914388-4544652418608327521?l=ruanyf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/4544652418608327521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/4544652418608327521'/><link rel='alternate' type='text/html' href='http://ruanyf.blogspot.com/2011/12/blog-post_06.html' title='阮一峰的网络日志'/><author><name>Ruan YiFeng</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-145804083675914388.post-6437610869936054364</id><published>2011-12-04T05:08:00.001-08:00</published><updated>2011-12-04T05:08:09.757-08:00</updated><title type='text'>阮一峰的网络日志</title><content type='html'>&lt;style type="text/css"&gt;                          h1 a:hover {background-color:#888;color:#fff ! important;}                          div#emailbody table#itemcontentlist tr td div ul {                                         list-style-type:square;                                         padding-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div blockquote {                                 padding-left:6px;                                 border-left: 6px solid #dadada;                                 margin-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div li {                                 margin-bottom:1em;                                 margin-left:1em;                         }                           table#itemcontentlist tr td a:link, table#itemcontentlist tr td a:visited, table#itemcontentlist tr td a:active, ul#summarylist li a {                                 color:#000099;                                 font-weight:bold;                                 text-decoration:none;                         }                                 img {border:none;}                   &lt;/style&gt; &lt;div xmlns="http://www.w3.org/1999/xhtml" id="emailbody" style="margin:0 2em;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt; &lt;table style="border:0;padding:0;margin:0;width:100%"&gt; &lt;tr&gt; &lt;td style="vertical-align:top" width="99%"&gt; &lt;h1 style="margin:0;padding-bottom:6px;"&gt; &lt;a style="color:#888;font-size:22px;font-family:Arial, Helvetica, sans-serif;font-weight:normal;text-decoration:none;" href="http://www.ruanyifeng.com/blog/" title="(http://www.ruanyifeng.com/blog/)"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt; &lt;a href="http://fusion.google.com/add?source=atgs&amp;amp;feedurl=http://feeds.feedburner.com/ruanyifeng"&gt; &lt;img style="padding-top:6px" alt="" border="0" src="http://gmodules.com/ig/images/plus_google.gif" /&gt; &lt;/a&gt; &lt;/h1&gt; &lt;/td&gt; &lt;td width="1%" /&gt; &lt;/tr&gt; &lt;/table&gt; &lt;hr style="border:1px solid #ccc;padding:0;margin:0" /&gt; &lt;table id="itemcontentlist"&gt; &lt;tr xmlns=""&gt; &lt;td style="margin-bottom:0;line-height:1.4em;"&gt; &lt;p style="margin:1em 0 3px 0;"&gt; &lt;a name="1" style="font-family:Arial, Helvetica, sans-serif;font-size:18px;" href="http://www.ruanyifeng.com/blog/2011/12/inode.html"&gt;理解inode&lt;/a&gt; &lt;/p&gt; &lt;p style="font-size:13px;color:#555;margin:9px 0 3px 0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;"&gt; &lt;span&gt;Posted:&lt;/span&gt; 03 Dec 2011 09:30 PM PST&lt;/p&gt; &lt;div style="margin:0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt;&lt;p&gt;&lt;a href="http://en.wikipedia.org/wiki/Inode"&gt;inode&lt;/a&gt;是一个重要概念，是理解Unix/Linux文件系统和硬盘储存的基础。&lt;/p&gt;&lt;p&gt;我觉得，理解inode，不仅有助于提高系统操作水平，还有助于体会Unix设计哲学，即如何把底层的复杂性抽象成一个简单概念，从而大大简化用户接口。&lt;/p&gt;  &lt;p&gt;下面就是我的inode学习笔记，尽量保持简单。&lt;/p&gt;  &lt;p&gt;===================================&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;理解inode&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;作者：阮一峰&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011120401.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;一、inode是什么？&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;理解inode，要从文件储存说起。&lt;/p&gt;  &lt;p&gt;文件储存在硬盘上，硬盘的最小存储单位叫做"扇区"（Sector）。每个扇区储存512字节（相当于0.5KB）。&lt;/p&gt;  &lt;p&gt;操作系统读取硬盘的时候，不会一个个扇区地读取，这样效率太低，而是一次性连续读取多个扇区，即一次性读取一个"块"（block）。这种由多个扇区组成的"块"，是文件存取的最小单位。"块"的大小，最常见的是4KB，即连续八个 sector组成一个 block。&lt;/p&gt;  &lt;p&gt;文件数据都储存在"块"中，那么很显然，我们还必须找到一个地方储存文件的元信息，比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode，中文译名为"索引节点"。&lt;/p&gt;  &lt;p&gt;每一个文件对应一个inode，硬盘上有多少文件，就有多少个inode。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;二、inode的内容&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;inode包含文件的元信息，具体来说有以下内容：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　* 文件的字节数&lt;/p&gt;  &lt;p&gt;　　* 文件拥有者的User ID&lt;/p&gt;  &lt;p&gt;　　* 文件的Group ID&lt;/p&gt;  &lt;p&gt;　　* 文件的读、写、执行权限&lt;/p&gt;  &lt;p&gt;　　* 文件的时间戳，共有三个：ctime指inode上一次变动的时间，mtime指文件内容上一次变动的时间，atime指文件上一次打开的时间。&lt;/p&gt;  &lt;p&gt;　　* 链接数，即有多少文件名指向这个inode&lt;/p&gt;  &lt;p&gt;　　* 文件数据block的位置&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;可以用stat命令，查看某个文件的inode信息：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　stat example.txt&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011120402.png" /&gt;&lt;/p&gt;  &lt;p&gt;总之，除了文件名以外的所有文件信息，都存在inode之中。至于为什么没有文件名，下文会有详细解释。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;三、inode的大小&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;inode也会消耗硬盘空间，所以硬盘格式化的时候，操作系统自动将硬盘分成两个区域。一个是数据区，存放文件数据；另一个是inode区（inode table），存放inode所包含的信息。&lt;/p&gt;  &lt;p&gt;每个inode节点的大小，一般是128字节或256字节。inode节点的总数，在格式化时就给定，一般是每1KB或每2KB就设置一个inode。假定在一块1GB的硬盘中，每个inode节点的大小为128字节，每1KB就设置一个inode，那么inode table的大小就会达到128MB，占整块硬盘的12.8%。&lt;/p&gt;  &lt;p&gt;查看每个硬盘分区的inode总数和已经使用的数量，可以使用df命令。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　df -i&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011120403.png" /&gt;&lt;/p&gt;  &lt;p&gt;查看每个inode节点的大小，可以用如下命令：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　sudo dumpe2fs -h /dev/hda | grep "Inode size"&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011120404.png" /&gt;&lt;/p&gt;  &lt;p&gt;由于每个文件都必须有一个inode，因此有可能发生inode已经用光，但是硬盘还未存满的情况。这时，就无法在硬盘上创建新文件。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;四、inode号码&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;每个inode都有一个号码，操作系统用inode号码来识别不同的文件。&lt;/p&gt;  &lt;p&gt;这里值得重复一遍，Unix/Linux系统内部不使用文件名，而使用inode号码来识别文件。对于系统来说，文件名只是inode号码便于识别的别称或者绰号。&lt;/p&gt;  &lt;p&gt;表面上，用户通过文件名，打开文件。实际上，系统内部这个过程分成三步：首先，系统找到这个文件名对应的inode号码；其次，通过inode号码，获取inode信息；最后，根据inode信息，找到文件数据所在的block，读出数据。&lt;/p&gt;  &lt;p&gt;使用ls -i命令，可以看到文件名对应的inode号码：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　ls -i example.txt&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011120405.png" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;五、目录文件&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Unix/Linux系统中，目录（directory）也是一种文件。打开目录，实际上就是打开目录文件。&lt;/p&gt;  &lt;p&gt;目录文件的结构非常简单，就是一系列目录项（dirent）的列表。每个目录项，由两部分组成：所包含文件的文件名，以及该文件名对应的inode号码。&lt;/p&gt;  &lt;p&gt;ls命令只列出目录文件中的所有文件名：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　ls /etc&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011120406.png" /&gt;&lt;/p&gt;  &lt;p&gt;ls -i命令列出整个目录文件，即文件名和inode号码：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　ls -i /etc&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011120407.png" /&gt;&lt;/p&gt;  &lt;p&gt;如果要查看文件的详细信息，就必须根据inode号码，访问inode节点，读取信息。ls -l命令列出文件的详细信息。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　ls -l /etc&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011120408.png" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;六、硬链接&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;一般情况下，文件名和inode号码是"一一对应"关系，每个inode号码对应一个文件名。但是，Unix/Linux系统允许，多个文件名指向同一个inode号码。&lt;/p&gt;  &lt;p&gt;这意味着，可以用不同的文件名访问同样的内容；对文件内容进行修改，会影响到所有文件名；但是，删除一个文件名，不影响另一个文件名的访问。这种情况就被称为"硬链接"（hard link）。&lt;/p&gt;  &lt;p&gt;ln命令可以创建硬链接：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　ln 源文件 目标文件&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011120409.png" /&gt;&lt;/p&gt;  &lt;p&gt;运行上面这条命令以后，源文件与目标文件的inode号码相同，都指向同一个inode。inode信息中有一项叫做"链接数"，记录指向该inode的文件名总数，这时就会增加1。&lt;/p&gt;  &lt;p&gt;反过来，删除一个文件名，就会使得inode节点中的"链接数"减1。当这个值减到0，表明没有文件名指向这个inode，系统就会回收这个inode号码，以及其所对应block区域。&lt;/p&gt;  &lt;p&gt;这里顺便说一下目录文件的"链接数"。创建目录时，默认会生成两个目录项："."和".."。前者的inode号码就是当前目录的inode号码，等同于当前目录的"硬链接"；后者的inode号码就是当前目录的父目录的inode号码，等同于父目录的"硬链接"。所以，任何一个目录的"硬链接"总数，总是等于2加上它的子目录总数（含隐藏目录）。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;七、软链接&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;除了硬链接以外，还有一种特殊情况。&lt;/p&gt;  &lt;p&gt;文件A和文件B的inode号码虽然不一样，但是文件A的内容是文件B的路径。读取文件A时，系统会自动将访问者导向文件B。因此，无论打开哪一个文件，最终读取的都是文件B。这时，文件A就称为文件B的"软链接"（soft link）或者"符号链接（symbolic link）。&lt;/p&gt;  &lt;p&gt;这意味着，文件A依赖于文件B而存在，如果删除了文件B，打开文件A就会报错："No such file or directory"。这是软链接与硬链接最大的不同：文件A指向文件B的文件名，而不是文件B的inode号码，文件B的inode"链接数"不会因此发生变化。&lt;/p&gt;  &lt;p&gt;ln -s命令可以创建软链接。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　ln -s 源文文件或目录 目标文件或目录&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011120410.png" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;八、inode的特殊作用&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;由于inode号码与文件名分离，这种机制导致了一些Unix/Linux系统特有的现象。&lt;/p&gt;  &lt;p&gt;　　1.  有时，文件名包含特殊字符，无法正常删除。这时，直接删除inode节点，就能起到删除文件的作用。&lt;/p&gt;  &lt;p&gt;　　2.  移动文件或重命名文件，只是改变文件名，不影响inode号码。&lt;/p&gt;  &lt;p&gt;　　3.  打开一个文件以后，系统就以inode号码来识别这个文件，不再考虑文件名。因此，通常来说，系统无法从inode号码得知文件名。&lt;/p&gt;  &lt;p&gt;第3点使得软件更新变得简单，可以在不关闭软件的情况下进行更新，不需要重启。因为系统通过inode号码，识别运行中的文件，不通过文件名。更新的时候，新版文件以同样的文件名，生成一个新的inode，不会影响到运行中的文件。等到下一次运行这个软件的时候，文件名就自动指向新版文件，旧版文件的inode则被回收。&lt;/p&gt;  &lt;p&gt;（完）&lt;br /&gt; &lt;/p&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;border:1px solid #d3d3d3;margin:1em;background-color:#AAD2F0;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;h3&gt;文档信息&lt;/h3&gt; &lt;ul&gt; &lt;li&gt;版权声明：自由转载-非商用-非衍生-保持署名 | &lt;a href="http://creativecommons.org/licenses/by-nc-nd/3.0/deed.zh"&gt;Creative Commons BY-NC-ND 3.0&lt;/a&gt;&lt;/li&gt; &lt;li&gt;原文网址：&lt;a href="http://www.ruanyifeng.com/blog/2011/12/inode.html"&gt;http://www.ruanyifeng.com/blog/2011/12/inode.html&lt;/a&gt;&lt;/li&gt; &lt;li&gt;最后修改时间：2011年12月 4日 20:37&lt;/li&gt; &lt;li&gt;付费支持（&lt;a href="http://www.ruanyifeng.com/blog/2011/05/my_google_adsense_is_disabled.html" target="_blank" style="text-decoration:underline;"&gt;说明&lt;/a&gt;）：&lt;a href="https://mai.alipay.com/p.htm?id=2011101500701706" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/rmb_32.png" alt="支付宝担保交易" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; | &lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=yifeng.ruan@gmail.com&amp;currency_code=USD&amp;amount=2.99&amp;return=http://www.ruanyifeng.com/thank.html&amp;item_name=Ruan%20YiFeng's%20Blog&amp;undefined_quantity=1&amp;no_note=0" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/dollar_32.png"  alt="paypal" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;/div&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;margin:1em;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;table style="border-top:1px solid #999;padding-top:4px;margin-top:1.5em;width:100%" id="footer"&gt; &lt;tr&gt; &lt;td style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;You are subscribed to email updates from &lt;a href="http://www.ruanyifeng.com/blog/"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt;To stop receiving these emails, you may &lt;a href="http://feedburner.google.com/fb/a/mailunsubscribe?k=VV_gHI1yynfLxpDetfQct6jeXHU"&gt;unsubscribe now&lt;/a&gt;.&lt;/td&gt; &lt;td style="font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;text-align:right;vertical-align:top"&gt;Email delivery powered by Google&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td colspan="2" style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;Google Inc., 20 West Kinzie, Chicago IL USA 60610&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/145804083675914388-6437610869936054364?l=ruanyf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/6437610869936054364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/6437610869936054364'/><link rel='alternate' type='text/html' href='http://ruanyf.blogspot.com/2011/12/blog-post_04.html' title='阮一峰的网络日志'/><author><name>Ruan YiFeng</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-145804083675914388.post-1084703268451150466</id><published>2011-12-01T05:21:00.001-08:00</published><updated>2011-12-01T05:21:11.103-08:00</updated><title type='text'>阮一峰的网络日志</title><content type='html'>&lt;style type="text/css"&gt;                          h1 a:hover {background-color:#888;color:#fff ! important;}                          div#emailbody table#itemcontentlist tr td div ul {                                         list-style-type:square;                                         padding-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div blockquote {                                 padding-left:6px;                                 border-left: 6px solid #dadada;                                 margin-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div li {                                 margin-bottom:1em;                                 margin-left:1em;                         }                           table#itemcontentlist tr td a:link, table#itemcontentlist tr td a:visited, table#itemcontentlist tr td a:active, ul#summarylist li a {                                 color:#000099;                                 font-weight:bold;                                 text-decoration:none;                         }                                 img {border:none;}                   &lt;/style&gt; &lt;div xmlns="http://www.w3.org/1999/xhtml" id="emailbody" style="margin:0 2em;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt; &lt;table style="border:0;padding:0;margin:0;width:100%"&gt; &lt;tr&gt; &lt;td style="vertical-align:top" width="99%"&gt; &lt;h1 style="margin:0;padding-bottom:6px;"&gt; &lt;a style="color:#888;font-size:22px;font-family:Arial, Helvetica, sans-serif;font-weight:normal;text-decoration:none;" href="http://www.ruanyifeng.com/blog/" title="(http://www.ruanyifeng.com/blog/)"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt; &lt;a href="http://fusion.google.com/add?source=atgs&amp;amp;feedurl=http://feeds.feedburner.com/ruanyifeng"&gt; &lt;img style="padding-top:6px" alt="" border="0" src="http://gmodules.com/ig/images/plus_google.gif" /&gt; &lt;/a&gt; &lt;/h1&gt; &lt;/td&gt; &lt;td width="1%" /&gt; &lt;/tr&gt; &lt;/table&gt; &lt;hr style="border:1px solid #ccc;padding:0;margin:0" /&gt; &lt;table id="itemcontentlist"&gt; &lt;tr xmlns=""&gt; &lt;td style="margin-bottom:0;line-height:1.4em;"&gt; &lt;p style="margin:1em 0 3px 0;"&gt; &lt;a name="1" style="font-family:Arial, Helvetica, sans-serif;font-size:18px;" href="http://www.ruanyifeng.com/blog/2011/12/ode_to_a_nightingale.html"&gt;济慈的《夜莺颂》&lt;/a&gt; &lt;/p&gt; &lt;p style="font-size:13px;color:#555;margin:9px 0 3px 0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;"&gt; &lt;span&gt;Posted:&lt;/span&gt; 01 Dec 2011 01:20 AM PST&lt;/p&gt; &lt;div style="margin:0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt;&lt;p&gt;1.&lt;/p&gt;  &lt;p&gt;昨天，上海开始大幅降温。&lt;/p&gt;&lt;p&gt;到了晚上，寒冷的北风夹带着雨点，从街道的一头刮到另一头，行人匆匆。昏黄的路灯下只听到风声，以及雨水溅落在路面的声音。&lt;/p&gt;  &lt;p&gt;结束了一整天忙碌的工作，我站在窗前，想歇口气，但是只觉得寒风一阵阵往脖子里钻，令人簌簌发抖。&lt;/p&gt;  &lt;p&gt;突然之间，一个词冒了出来："温柔的夜色"。此时此刻，我多么期待"温柔的夜色"啊！&lt;/p&gt;  &lt;p&gt;2.&lt;/p&gt;  &lt;p&gt;这个词是如此熟悉，不加思索就出现了，似乎在哪里见过。&lt;/p&gt;  &lt;p&gt;想了半天，我恍然大悟，原来这是菲茨杰拉德的一篇小说的名字：《夜色温柔》（Tender is the Night）。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011120101.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;好多年前，我读&lt;a href="http://www.ruanyifeng.com/blog/2005/04/post_113.html"&gt;《了不起的盖茨比》&lt;/a&gt;入了迷，觉得原著的语言太优美了。读完以后，就想看菲茨杰拉德的其他作品，首当其冲的就是堪称《了不起的盖茨比》的续集《夜色温柔》。虽然后来终究没有读，但是对这本书始终没有忘记。&lt;/p&gt;  &lt;p&gt;菲茨杰拉德是20世纪美国文坛的大才子，海明威的密友。他出身普通家庭，但是爱上了富家小姐塞尔达，经过苦苦追求，两人终于结婚。他最有名的作品，内容都与这场婚姻有关。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011120103.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;婚后，两人移居巴黎。塞尔达富家小姐的习性暴露无遗：喜欢喝酒、讲究排场、挥霍无度。菲茨杰拉德为了维持婚姻，伤透了脑筋，最终身心俱疲，不仅写不出小说，身体也垮了，1940年死于酗酒后的心脏病。他死后，患了精神分裂症的塞尔达被送入精神病院，1948年死于一场火灾。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011120104.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;不知为什么，这个寒冷的夜晚，我又想起了菲茨杰拉德的悲剧人生，以及他笔下死于心碎的盖茨比。&lt;/p&gt;  &lt;p&gt;3.&lt;/p&gt;  &lt;p&gt;我找到了小说《夜色温柔》，想让菲茨杰拉德抒情忧伤的笔触，伴随我度过这个夜晚。&lt;/p&gt;  &lt;p&gt;翻开第一页，意外发现有一段题诗。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011120102.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;这段诗是这样的：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　&lt;em&gt;&lt;strong&gt;Already with thee! tender is the night...&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt; 　　&lt;em&gt;&lt;strong&gt;...But here there is no light,&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt; 　　&lt;em&gt;&lt;strong&gt;Save what from heaven is with the breezes blown&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt; 　　&lt;em&gt;&lt;strong&gt;Through verdurous glooms and winding mossy ways.&lt;/strong&gt;&lt;/em&gt; &lt;/p&gt;  &lt;p&gt;　　　　&lt;strong&gt;-- Ode to a Nightingale&lt;/strong&gt;&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;译成中文就是（本文所有译文都是我的翻译）：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　&lt;strong&gt;你已经在我身边！夜色如此温柔......&lt;/strong&gt;&lt;br /&gt; 　　&lt;strong&gt;......但是没有一丝光亮，&lt;/strong&gt;&lt;br /&gt; 　　&lt;strong&gt;四周只有微风吹来&lt;/strong&gt;&lt;br /&gt; 　　&lt;strong&gt;穿过阴暗的绿茵，以及长满青苔的小径。&lt;/strong&gt;&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;多美的诗句啊！而且与菲茨杰拉德想在小说中表达的情感，异常贴切：找到了自己所爱的人，"你已经在我身边"，就连夜色也"如此温柔"；但是，这段感情没有希望，看不见"一丝光亮"；黑暗中"微风吹来"，四周是"阴暗的"环境，以及"长满青苔的"弯曲道路，暗示内心的寂寞，以及前途未卜的未来。&lt;/p&gt;  &lt;p&gt;难怪这本小说取名为《夜色温柔》。作者借此表达心中的忧伤，也就是后面三句。&lt;/p&gt;  &lt;p&gt;4.&lt;/p&gt;  &lt;p&gt;这一段诗，出自19世纪英国诗人济慈的名作《夜莺颂》（Ode to a Nightingale）。&lt;/p&gt;  &lt;p&gt;我这才想到，菲茨杰拉德引用济慈的作品不是偶然的，他们两人的人生非常相似，同样的悲惨。&lt;/p&gt;  &lt;p&gt;济慈堪称是英国历史上出身最卑微的大诗人。父亲是马厩工人，在他8岁时去世，母亲也在几年后死亡，他依靠兄弟姐妹互相支持长大。20岁以后，他的唯一经济来源就是写诗，终生拮据。1820年，他患上了肺结核，第二年逝世，享年只有26岁。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011120105.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;根据记载，1819年5月，他住在伦敦一个朋友家里。一个黄昏，听到花园的树上有夜莺啼叫，他心有所感，就写下了《夜莺颂》。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011120106.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;当时，他正与邻家女孩Fanny Brawne恋爱。他很珍惜这段感情，但是一想到自己的身体和经济状况，就不胜烦恼，觉得前途渺茫。盼望逃避现实，像夜莺一样飞走，但是又不可能实现。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011120107.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;网上的&lt;a href="http://baike.baidu.com/view/39091.htm"&gt;材料&lt;/a&gt;这样介绍两人的爱情：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;"1820年的初春，济慈去了伦敦城，那天他没有穿大衣。回来的时候为了省钱，他坐在马车的外面，结果全身都被雨淋透了。等他回到家里，他的恋人范妮为他打开门，他几乎是倒在范妮的怀中。&lt;/p&gt;  &lt;p&gt;那天晚上，他开始咳血。他知道自己得了肺结核，并从此不让范妮再接近他。他每天坐在窗前，看着范妮在院子里玩耍，他每天给范妮写信，尽管她就住在自己的隔壁。&lt;/p&gt;  &lt;p&gt;到秋天的时候，医生建议他必须住到比较温暖的地方去。他在友人的陪伴下，来到罗马。1821年2月，济慈在罗马病逝。&lt;/p&gt;  &lt;p&gt;消息传回伦敦，范妮悲痛欲绝，她那个时候只有19岁。"&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;5.&lt;/p&gt;  &lt;p&gt;《夜莺颂》不长，只有80行，但是用词华丽、语法古老，不易读。好在全诗的结构，以及想要表达的情绪，还是很清楚的。&lt;/p&gt;  &lt;p&gt;开头先说，作者羡慕夜莺的欢乐。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　&lt;strong&gt;'Tis not through envy of thy happy lot,&lt;/strong&gt; &lt;br /&gt; 　　&lt;strong&gt;But being too happy in thine happiness --&lt;/strong&gt;   &lt;/p&gt;  &lt;p&gt;　　&lt;strong&gt;我并不感到妒忌，&lt;/strong&gt;&lt;br /&gt; 　　&lt;strong&gt;反而因为你的欢乐，我也产生欢乐。&lt;/strong&gt;&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;接着说，希望追随夜莺而去。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　&lt;strong&gt;...leave the world unseen &lt;/strong&gt;&lt;br /&gt; 　　&lt;strong&gt;And with thee fade away into the forest dim.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;　　&lt;strong&gt;将这个世界抛在身后&lt;/strong&gt;&lt;br /&gt; 　　&lt;strong&gt;与你一起，隐入幽静的森林。&lt;/strong&gt;&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;因为这个世界实在太悲伤了。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　&lt;strong&gt;Here, where men sit and hear each other groan;&lt;/strong&gt; &lt;br /&gt; 　　&lt;strong&gt;Where palsy shakes a few, sad, last grey hairs.&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;　　&lt;strong&gt;这里，人们只能坐着互相叹气；&lt;/strong&gt;&lt;br /&gt; 　　&lt;strong&gt;在岁月的麻木中，听任白发飘零&lt;/strong&gt;&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;但是，四周是一片黑夜，终究无力飞翔。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　&lt;strong&gt;...But here there is no light, &lt;/strong&gt; &lt;br /&gt; 　　&lt;strong&gt;Save what from heaven is with the breezes blown&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;　　&lt;strong&gt;......没有一丝光亮，&lt;/strong&gt;&lt;br /&gt; 　　&lt;strong&gt;四周只有微风吹来&lt;/strong&gt;&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;作者感叹身边的花草是如此葱郁，&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　&lt;strong&gt;I cannot see what flowers are at my feet,&lt;/strong&gt; &lt;br /&gt; 　　&lt;strong&gt;Nor what soft incense hangs upon the boughs,&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;　　&lt;strong&gt;我不知道脚边是什么花，&lt;/strong&gt;&lt;br /&gt; 　　&lt;strong&gt;也不知道枝头的清香从何而来，&lt;/strong&gt;&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;若能就此死去，也算是美好。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　&lt;strong&gt;Darkling I listen; and for many a time&lt;/strong&gt;&lt;br /&gt; 　　&lt;strong&gt;I have been half in love with easeful Death&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;　　&lt;strong&gt;许多次，我在黑暗中这样倾听&lt;/strong&gt;&lt;br /&gt; 　　&lt;strong&gt;几乎爱上这种安详的死亡&lt;/strong&gt;&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;但是，夜莺的歌声是不死的。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　&lt;strong&gt;Thou wast not born for death, immortal Bird!&lt;/strong&gt;&lt;br /&gt; 　　&lt;strong&gt;No hungry generations tread thee down; &lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;　　&lt;strong&gt;永生的鸟儿，你不会死&lt;/strong&gt;！&lt;br /&gt; 　　&lt;strong&gt;人类世代的悲伤，无法令你停止歌唱。&lt;/strong&gt;&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;只可惜现在它飞走了，只把我一个留在这里。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　&lt;strong&gt;Was is a vision, or a waking dream?&lt;/strong&gt;&lt;br /&gt; 　　&lt;strong&gt;Fled is that music -- Do I wake or sleep?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;　　&lt;strong&gt;这是幻觉，还是白日梦？&lt;/strong&gt;&lt;br /&gt; 　　&lt;strong&gt;歌声消逝，我到底算醒着还是在做梦？&lt;/strong&gt;&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;6.&lt;/p&gt;  &lt;p&gt;此诗有查良铮（穆旦）的&lt;a href="http://www.google.com.hk/search?gcx=w&amp;sourceid=chrome&amp;ie=UTF-8&amp;q=Ode+to+a+Nightingale+%E6%9F%A5%E8%89%AF%E9%93%AE"&gt;中译&lt;/a&gt;。我认为，他的译文质量很好，基本上把原诗的意思翻译出来了，没有错译。但是还不算完美，有些段落他的译文与原诗的意境差别比较大，而且没有注解，典故的处理不理想。&lt;/p&gt;  &lt;p&gt;我个人特别喜欢全诗的第三大段，那一段描写现实世界的悲凉，我想很多中国人会深有同感。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　&lt;strong&gt;Here, where men sit and hear each other groan;&lt;/strong&gt; &lt;br /&gt; 　　&lt;strong&gt;这里，人们只能坐着互相叹气，&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;　　&lt;strong&gt;Where palsy shakes a few, sad, last grey hairs. &lt;/strong&gt;&lt;br /&gt; 　　&lt;strong&gt;在岁月的麻木中，听任白发飘零。&lt;/strong&gt;&lt;br /&gt;                                                                                 &lt;br /&gt; 　　&lt;strong&gt;Where youth grows pale, and spectre-thin, and dies;&lt;/strong&gt;&lt;br /&gt; 　　&lt;strong&gt;这里，青年逐渐变得苍白、消瘦，直至死亡；&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;　　&lt;strong&gt;Where but to think is to be full of sorrow&lt;/strong&gt;&lt;br /&gt; 　　&lt;strong&gt;这里，稍一思考，就充满悲伤&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;　　&lt;strong&gt;And leaden-eyed despairs;&lt;/strong&gt; &lt;br /&gt; 　　&lt;strong&gt;黯淡的眼神中只有绝望；&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;　　&lt;strong&gt;Where Beauty cannot keep her lustrous eyes,&lt;/strong&gt;&lt;br /&gt; 　　&lt;strong&gt;这里，美神无法保住她的姿色，&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;　　&lt;strong&gt;Or new Love pine at them beyond to-morrow.&lt;/strong&gt;&lt;br /&gt; 　　&lt;strong&gt;新生的爱情第二天就消亡。&lt;/strong&gt;&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;（完）&lt;br /&gt; &lt;/p&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;border:1px solid #d3d3d3;margin:1em;background-color:#AAD2F0;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;h3&gt;文档信息&lt;/h3&gt; &lt;ul&gt; &lt;li&gt;版权声明：自由转载-非商用-非衍生-保持署名 | &lt;a href="http://creativecommons.org/licenses/by-nc-nd/3.0/deed.zh"&gt;Creative Commons BY-NC-ND 3.0&lt;/a&gt;&lt;/li&gt; &lt;li&gt;原文网址：&lt;a href="http://www.ruanyifeng.com/blog/2011/12/ode_to_a_nightingale.html"&gt;http://www.ruanyifeng.com/blog/2011/12/ode_to_a_nightingale.html&lt;/a&gt;&lt;/li&gt; &lt;li&gt;最后修改时间：2011年12月 1日 20:23&lt;/li&gt; &lt;li&gt;付费支持（&lt;a href="http://www.ruanyifeng.com/blog/2011/05/my_google_adsense_is_disabled.html" target="_blank" style="text-decoration:underline;"&gt;说明&lt;/a&gt;）：&lt;a href="https://mai.alipay.com/p.htm?id=2011101500701706" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/rmb_32.png" alt="支付宝担保交易" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; | &lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=yifeng.ruan@gmail.com&amp;currency_code=USD&amp;amount=2.99&amp;return=http://www.ruanyifeng.com/thank.html&amp;item_name=Ruan%20YiFeng's%20Blog&amp;undefined_quantity=1&amp;no_note=0" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/dollar_32.png"  alt="paypal" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;/div&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;margin:1em;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;table style="border-top:1px solid #999;padding-top:4px;margin-top:1.5em;width:100%" id="footer"&gt; &lt;tr&gt; &lt;td style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;You are subscribed to email updates from &lt;a href="http://www.ruanyifeng.com/blog/"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt;To stop receiving these emails, you may &lt;a href="http://feedburner.google.com/fb/a/mailunsubscribe?k=VV_gHI1yynfLxpDetfQct6jeXHU"&gt;unsubscribe now&lt;/a&gt;.&lt;/td&gt; &lt;td style="font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;text-align:right;vertical-align:top"&gt;Email delivery powered by Google&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td colspan="2" style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;Google Inc., 20 West Kinzie, Chicago IL USA 60610&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/145804083675914388-1084703268451150466?l=ruanyf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/1084703268451150466'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/1084703268451150466'/><link rel='alternate' type='text/html' href='http://ruanyf.blogspot.com/2011/12/blog-post.html' title='阮一峰的网络日志'/><author><name>Ruan YiFeng</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-145804083675914388.post-7074978133895384386</id><published>2011-11-26T05:31:00.001-08:00</published><updated>2011-11-26T05:31:24.688-08:00</updated><title type='text'>阮一峰的网络日志</title><content type='html'>&lt;style type="text/css"&gt;                          h1 a:hover {background-color:#888;color:#fff ! important;}                          div#emailbody table#itemcontentlist tr td div ul {                                         list-style-type:square;                                         padding-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div blockquote {                                 padding-left:6px;                                 border-left: 6px solid #dadada;                                 margin-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div li {                                 margin-bottom:1em;                                 margin-left:1em;                         }                           table#itemcontentlist tr td a:link, table#itemcontentlist tr td a:visited, table#itemcontentlist tr td a:active, ul#summarylist li a {                                 color:#000099;                                 font-weight:bold;                                 text-decoration:none;                         }                                 img {border:none;}                   &lt;/style&gt; &lt;div xmlns="http://www.w3.org/1999/xhtml" id="emailbody" style="margin:0 2em;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt; &lt;table style="border:0;padding:0;margin:0;width:100%"&gt; &lt;tr&gt; &lt;td style="vertical-align:top" width="99%"&gt; &lt;h1 style="margin:0;padding-bottom:6px;"&gt; &lt;a style="color:#888;font-size:22px;font-family:Arial, Helvetica, sans-serif;font-weight:normal;text-decoration:none;" href="http://www.ruanyifeng.com/blog/" title="(http://www.ruanyifeng.com/blog/)"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt; &lt;a href="http://fusion.google.com/add?source=atgs&amp;amp;feedurl=http://feeds.feedburner.com/ruanyifeng"&gt; &lt;img style="padding-top:6px" alt="" border="0" src="http://gmodules.com/ig/images/plus_google.gif" /&gt; &lt;/a&gt; &lt;/h1&gt; &lt;/td&gt; &lt;td width="1%" /&gt; &lt;/tr&gt; &lt;/table&gt; &lt;hr style="border:1px solid #ccc;padding:0;margin:0" /&gt; &lt;table id="itemcontentlist"&gt; &lt;tr xmlns=""&gt; &lt;td style="margin-bottom:0;line-height:1.4em;"&gt; &lt;p style="margin:1em 0 3px 0;"&gt; &lt;a name="1" style="font-family:Arial, Helvetica, sans-serif;font-size:18px;" href="http://www.ruanyifeng.com/blog/2011/11/dice_portrait.html"&gt;骰子作画的算法&lt;/a&gt; &lt;/p&gt; &lt;p style="font-size:13px;color:#555;margin:9px 0 3px 0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;"&gt; &lt;span&gt;Posted:&lt;/span&gt; 26 Nov 2011 05:28 AM PST&lt;/p&gt; &lt;div style="margin:0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt;&lt;p&gt;程序员Scott MacDonald做了一个很有趣的项目----&lt;a href="http://www.elusivesnark.com/2008/11/carolines-dice-portrait.html"&gt;骰子作画&lt;/a&gt;。&lt;/p&gt;&lt;p&gt;他用黑底白点的骰子。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011112601.png" /&gt;&lt;/p&gt;  &lt;p&gt;模拟出一张人像照片。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011112602.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;把图像放大，就可以看得更清楚。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011112603.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;他一共用了2500多颗骰子。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011112604.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;最后的成品就是这样。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011112605.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;任何一张图片都可以用骰子模拟出来，算法非常简单：将图片分成若干个区域，每个区域经过计算以后，用1-6之间的一个整数表示，代表骰子的一个面。&lt;/strong&gt;这种将连续的量转化成不连续的整数的算法，属于&lt;a href="http://en.wikipedia.org/wiki/Vector_quantization"&gt;vector quantization&lt;/a&gt;（矢量量化）的一个应用。&lt;/p&gt;  &lt;p&gt;具体来说，&lt;/p&gt;  &lt;p&gt;第一步，将图片分割成16像素x16像素的小方块。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　for (int i=0; i &amp;lt; (pic_width/16); ++i) {&lt;/p&gt;  &lt;p&gt;　　　　for (int j=0; j &amp;lt; (pic_height/16); ++j) {&lt;/p&gt;  &lt;p&gt;　　　　　　patch = cropped_img.get(i*16, j*16, 16, 16);&lt;/p&gt;  &lt;p&gt;　　　　}&lt;/p&gt;  &lt;p&gt;　　}&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;第二步，每个小方块内共有256个像素，将每个像素点的灰度值，存入一个数组。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　for (int k=0; k &amp;lt; patch.pixels.length; ++k) {&lt;/p&gt;  &lt;p&gt;　　　x[k] = rgb2gray(patch.pixels[k]);&lt;/p&gt;  &lt;p&gt;　　}&lt;/p&gt;  &lt;p&gt;　　int rgb2gray(int argb) { &lt;/p&gt;  &lt;p&gt;　　　　int _alpha = (argb &gt;&gt; 24) &amp; 0xFF;&lt;/p&gt;  &lt;p&gt;　　　　int _red = (argb &amp;gt;&amp;gt; 16) &amp; 0xFF;&lt;/p&gt;  &lt;p&gt;　　　　int _green = (argb &amp;gt;&amp;gt; 8 ) &amp; 0xFF;&lt;/p&gt;  &lt;p&gt;　　　　int _blue = (argb) &amp; 0xFF;&lt;/p&gt;  &lt;p&gt;　　　　return int(0.3*_red + 0.59*_green + 0.11*_blue);&lt;/p&gt;  &lt;p&gt;　　}&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;第三步，计算该数组的平均值，并用1-6之间的一个整数来表示。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　int dice_num = six_step_gray(mean(x));&lt;/p&gt;  &lt;p&gt;　　int mean(int[] x) {&lt;/p&gt;  &lt;p&gt;　　　　float m = 0;&lt;/p&gt;  &lt;p&gt;　　　　for (int i=0; i &amp;lt; x.length; ++i) {&lt;/p&gt;  &lt;p&gt;　　　　　　m += x[i];&lt;/p&gt;  &lt;p&gt;　　　　}&lt;/p&gt;  &lt;p&gt;　　　　m = m/x.length;  &lt;/p&gt;  &lt;p&gt;　　　　return int(m);&lt;/p&gt;  &lt;p&gt;　　}&lt;/p&gt;  &lt;p&gt;　　int six_step_gray(int x) {&lt;/p&gt;  &lt;p&gt;　　　　if (0 &amp;lt;= x &amp;&amp; x &amp;lt;= 41) return 1;&lt;/p&gt;  &lt;p&gt;　　　　if (41 &amp;lt; x &amp;&amp; x &amp;lt;= 83) return 2;&lt;/p&gt;  &lt;p&gt;　　　　if (83 &amp;lt; x &amp;&amp; x &amp;lt;= 124) return 3;&lt;/p&gt;  &lt;p&gt;　　　　if (124 &amp;lt; x &amp;&amp; x &amp;lt;= 165) return 4;&lt;/p&gt;  &lt;p&gt;　　　　if (165 &amp;lt; x &amp;&amp; x &amp;lt;= 206) return 5;&lt;/p&gt;  &lt;p&gt;　　　　if (x &amp;lt; 206 &amp;&amp; x &amp;lt;= 247) return 6;&lt;/p&gt;  &lt;p&gt;　　　　else return 6;&lt;br /&gt; 　　}&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;整数1，表示骰子朝上的一面有1个白点；整数2，表示有2个白点；以此类推。白点越少，表示这个区域越接近全黑；白点越多，表示越接近全白。根据白点值，将骰子依次放入，就能模拟出全图。&lt;/p&gt;  &lt;p&gt;这种算法早在1981年就有人&lt;a href="http://4c.ucc.ie/~hcambaza/page5/page5.html"&gt;提出&lt;/a&gt;，当时用的是1~9个白点的多米诺骨牌。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011112606.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;如果区域划分得越小，模拟图的生成效果就越好。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011112607.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011112608.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011112609.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011112610.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011112611.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011112612.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;此外，不用编程，使用&lt;a href="http://www.attackofdesign.com/how-to-build-a-portrait-with-dice-using-photoshop/"&gt;Photoshop&lt;/a&gt;也可以得到类似效果。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011112613.png" /&gt;&lt;/p&gt;  &lt;p&gt;（完）&lt;br /&gt; &lt;/p&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;border:1px solid #d3d3d3;margin:1em;background-color:#AAD2F0;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;h3&gt;文档信息&lt;/h3&gt; &lt;ul&gt; &lt;li&gt;版权声明：自由转载-非商用-非衍生-保持署名 | &lt;a href="http://creativecommons.org/licenses/by-nc-nd/3.0/deed.zh"&gt;Creative Commons BY-NC-ND 3.0&lt;/a&gt;&lt;/li&gt; &lt;li&gt;原文网址：&lt;a href="http://www.ruanyifeng.com/blog/2011/11/dice_portrait.html"&gt;http://www.ruanyifeng.com/blog/2011/11/dice_portrait.html&lt;/a&gt;&lt;/li&gt; &lt;li&gt;最后修改时间：2011年11月26日 21:27&lt;/li&gt; &lt;li&gt;付费支持（&lt;a href="http://www.ruanyifeng.com/blog/2011/05/my_google_adsense_is_disabled.html" target="_blank" style="text-decoration:underline;"&gt;说明&lt;/a&gt;）：&lt;a href="https://mai.alipay.com/p.htm?id=2011101500701706" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/rmb_32.png" alt="支付宝担保交易" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; | &lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=yifeng.ruan@gmail.com&amp;currency_code=USD&amp;amount=2.99&amp;return=http://www.ruanyifeng.com/thank.html&amp;item_name=Ruan%20YiFeng's%20Blog&amp;undefined_quantity=1&amp;no_note=0" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/dollar_32.png"  alt="paypal" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;/div&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;margin:1em;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;table style="border-top:1px solid #999;padding-top:4px;margin-top:1.5em;width:100%" id="footer"&gt; &lt;tr&gt; &lt;td style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;You are subscribed to email updates from &lt;a href="http://www.ruanyifeng.com/blog/"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt;To stop receiving these emails, you may &lt;a href="http://feedburner.google.com/fb/a/mailunsubscribe?k=VV_gHI1yynfLxpDetfQct6jeXHU"&gt;unsubscribe now&lt;/a&gt;.&lt;/td&gt; &lt;td style="font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;text-align:right;vertical-align:top"&gt;Email delivery powered by Google&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td colspan="2" style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;Google Inc., 20 West Kinzie, Chicago IL USA 60610&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/145804083675914388-7074978133895384386?l=ruanyf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/7074978133895384386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/7074978133895384386'/><link rel='alternate' type='text/html' href='http://ruanyf.blogspot.com/2011/11/blog-post_26.html' title='阮一峰的网络日志'/><author><name>Ruan YiFeng</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-145804083675914388.post-2561647227632730426</id><published>2011-11-24T05:03:00.001-08:00</published><updated>2011-11-24T05:03:07.925-08:00</updated><title type='text'>阮一峰的网络日志</title><content type='html'>&lt;style type="text/css"&gt;                          h1 a:hover {background-color:#888;color:#fff ! important;}                          div#emailbody table#itemcontentlist tr td div ul {                                         list-style-type:square;                                         padding-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div blockquote {                                 padding-left:6px;                                 border-left: 6px solid #dadada;                                 margin-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div li {                                 margin-bottom:1em;                                 margin-left:1em;                         }                           table#itemcontentlist tr td a:link, table#itemcontentlist tr td a:visited, table#itemcontentlist tr td a:active, ul#summarylist li a {                                 color:#000099;                                 font-weight:bold;                                 text-decoration:none;                         }                                 img {border:none;}                   &lt;/style&gt; &lt;div xmlns="http://www.w3.org/1999/xhtml" id="emailbody" style="margin:0 2em;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt; &lt;table style="border:0;padding:0;margin:0;width:100%"&gt; &lt;tr&gt; &lt;td style="vertical-align:top" width="99%"&gt; &lt;h1 style="margin:0;padding-bottom:6px;"&gt; &lt;a style="color:#888;font-size:22px;font-family:Arial, Helvetica, sans-serif;font-weight:normal;text-decoration:none;" href="http://www.ruanyifeng.com/blog/" title="(http://www.ruanyifeng.com/blog/)"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt; &lt;a href="http://fusion.google.com/add?source=atgs&amp;amp;feedurl=http://feeds.feedburner.com/ruanyifeng"&gt; &lt;img style="padding-top:6px" alt="" border="0" src="http://gmodules.com/ig/images/plus_google.gif" /&gt; &lt;/a&gt; &lt;/h1&gt; &lt;/td&gt; &lt;td width="1%" /&gt; &lt;/tr&gt; &lt;/table&gt; &lt;hr style="border:1px solid #ccc;padding:0;margin:0" /&gt; &lt;table id="itemcontentlist"&gt; &lt;tr xmlns=""&gt; &lt;td style="margin-bottom:0;line-height:1.4em;"&gt; &lt;p style="margin:1em 0 3px 0;"&gt; &lt;a name="1" style="font-family:Arial, Helvetica, sans-serif;font-size:18px;" href="http://www.ruanyifeng.com/blog/2011/11/zhuhai.html"&gt;珠海印象&lt;/a&gt; &lt;/p&gt; &lt;p style="font-size:13px;color:#555;margin:9px 0 3px 0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;"&gt; &lt;span&gt;Posted:&lt;/span&gt; 23 Nov 2011 07:54 PM PST&lt;/p&gt; &lt;div style="margin:0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt;&lt;p&gt;过去一周，我在珠海旅行。&lt;/p&gt;&lt;p&gt;这是我第一次去珠海，写一些感想。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011112401.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;动身之前，我心目中的珠海，是一个美丽的、现代化的、宜居的海滨城市。可是，身临其境，我发现并非如此。&lt;/p&gt;  &lt;p&gt;虽然临海，但是除了一条狭长的情侣路，完全看不出这是一个海滨城市；市内的旅游景点非常少，几乎没有什么值得去的地方；市区与国内其他大城市一样，高楼林立，五光十色，交通拥堵，铺天盖地的喧哗和广告；马路很宽，路灯昏暗，凡是行人稀少的路段，车速都飞快，一个红灯长达100秒；路上很难拦到出租车，而且由于主干道不设自行车道，即使拦到，路边停车也很困难。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011112402.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;我感觉，珠海的城市规划很成问题。一个典型的例子就是情侣路。这是珠海的名片，外地游客必到之处，但是完全没有开发好。整个情侣路长达十多公里，但是一路上几乎没有任何商业设施，买瓶水都很麻烦。情侣路旁边居然是一条宽阔的高速干道，车速极快，使得游客无法自由通行，仿佛这条路存在的主要目的，就是为了行车，而不是为了游览。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011112403.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;海滨浴场是整条路上唯一的沙滩，设施破败陈旧，垃圾遍地，显然缺乏管理和资金投入。很难想象，市政当局居然会对这样一个重要的城市休闲地标放任不管。倒是房地产商充分利用了这个地段，海滨浴场周围都是密密麻麻的楼盘，把整个沙滩像山谷一样围了起来，这块理应属于全体市民的海滩，实际上成了业主们的后花园。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011112404.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;总之，珠海这个城市缺乏特色。拱北口岸附近，是全市最热闹的地方，即使半夜12点，通关的人流都络绎不绝。给我的感觉是，这个城市的主要功能，就是通往澳门的通道。&lt;/p&gt;  &lt;p&gt;但是，珠海其实拥有很好的自然条件，如果好好规划，完全不会是现在这个样子。要是将来有人收集中国城市规划的失败案例，珠海可以算一个。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011112405.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;旅行的最后两天，我去了珠江口的外伶仃岛。岛上环境优美，海水清澈，生活宁静安逸，各种设施齐全，更重要的是网络全覆盖。如果以后有空，我会考虑在岛上租一间房，休假一个月。&lt;/p&gt;  &lt;p&gt;（完）&lt;br /&gt; &lt;/p&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;border:1px solid #d3d3d3;margin:1em;background-color:#AAD2F0;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;h3&gt;文档信息&lt;/h3&gt; &lt;ul&gt; &lt;li&gt;版权声明：自由转载-非商用-非衍生-保持署名 | &lt;a href="http://creativecommons.org/licenses/by-nc-nd/3.0/deed.zh"&gt;Creative Commons BY-NC-ND 3.0&lt;/a&gt;&lt;/li&gt; &lt;li&gt;原文网址：&lt;a href="http://www.ruanyifeng.com/blog/2011/11/zhuhai.html"&gt;http://www.ruanyifeng.com/blog/2011/11/zhuhai.html&lt;/a&gt;&lt;/li&gt; &lt;li&gt;最后修改时间：2011年11月24日 20:03&lt;/li&gt; &lt;li&gt;付费支持（&lt;a href="http://www.ruanyifeng.com/blog/2011/05/my_google_adsense_is_disabled.html" target="_blank" style="text-decoration:underline;"&gt;说明&lt;/a&gt;）：&lt;a href="https://mai.alipay.com/p.htm?id=2011101500701706" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/rmb_32.png" alt="支付宝担保交易" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; | &lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=yifeng.ruan@gmail.com&amp;currency_code=USD&amp;amount=2.99&amp;return=http://www.ruanyifeng.com/thank.html&amp;item_name=Ruan%20YiFeng's%20Blog&amp;undefined_quantity=1&amp;no_note=0" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/dollar_32.png"  alt="paypal" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;/div&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;margin:1em;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;table style="border-top:1px solid #999;padding-top:4px;margin-top:1.5em;width:100%" id="footer"&gt; &lt;tr&gt; &lt;td style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;You are subscribed to email updates from &lt;a href="http://www.ruanyifeng.com/blog/"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt;To stop receiving these emails, you may &lt;a href="http://feedburner.google.com/fb/a/mailunsubscribe?k=VV_gHI1yynfLxpDetfQct6jeXHU"&gt;unsubscribe now&lt;/a&gt;.&lt;/td&gt; &lt;td style="font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;text-align:right;vertical-align:top"&gt;Email delivery powered by Google&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td colspan="2" style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;Google Inc., 20 West Kinzie, Chicago IL USA 60610&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/145804083675914388-2561647227632730426?l=ruanyf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/2561647227632730426'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/2561647227632730426'/><link rel='alternate' type='text/html' href='http://ruanyf.blogspot.com/2011/11/blog-post_24.html' title='阮一峰的网络日志'/><author><name>Ruan YiFeng</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-145804083675914388.post-5466766222800192342</id><published>2011-11-12T05:39:00.001-08:00</published><updated>2011-11-12T05:39:38.273-08:00</updated><title type='text'>阮一峰的网络日志</title><content type='html'>&lt;style type="text/css"&gt;                          h1 a:hover {background-color:#888;color:#fff ! important;}                          div#emailbody table#itemcontentlist tr td div ul {                                         list-style-type:square;                                         padding-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div blockquote {                                 padding-left:6px;                                 border-left: 6px solid #dadada;                                 margin-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div li {                                 margin-bottom:1em;                                 margin-left:1em;                         }                           table#itemcontentlist tr td a:link, table#itemcontentlist tr td a:visited, table#itemcontentlist tr td a:active, ul#summarylist li a {                                 color:#000099;                                 font-weight:bold;                                 text-decoration:none;                         }                                 img {border:none;}                   &lt;/style&gt; &lt;div xmlns="http://www.w3.org/1999/xhtml" id="emailbody" style="margin:0 2em;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt; &lt;table style="border:0;padding:0;margin:0;width:100%"&gt; &lt;tr&gt; &lt;td style="vertical-align:top" width="99%"&gt; &lt;h1 style="margin:0;padding-bottom:6px;"&gt; &lt;a style="color:#888;font-size:22px;font-family:Arial, Helvetica, sans-serif;font-weight:normal;text-decoration:none;" href="http://www.ruanyifeng.com/blog/" title="(http://www.ruanyifeng.com/blog/)"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt; &lt;a href="http://fusion.google.com/add?source=atgs&amp;amp;feedurl=http://feeds.feedburner.com/ruanyifeng"&gt; &lt;img style="padding-top:6px" alt="" border="0" src="http://gmodules.com/ig/images/plus_google.gif" /&gt; &lt;/a&gt; &lt;/h1&gt; &lt;/td&gt; &lt;td width="1%" /&gt; &lt;/tr&gt; &lt;/table&gt; &lt;hr style="border:1px solid #ccc;padding:0;margin:0" /&gt; &lt;table id="itemcontentlist"&gt; &lt;tr xmlns=""&gt; &lt;td style="margin-bottom:0;line-height:1.4em;"&gt; &lt;p style="margin:1em 0 3px 0;"&gt; &lt;a name="1" style="font-family:Arial, Helvetica, sans-serif;font-size:18px;" href="http://www.ruanyifeng.com/blog/2011/11/eof.html"&gt;EOF是什么？&lt;/a&gt; &lt;/p&gt; &lt;p style="font-size:13px;color:#555;margin:9px 0 3px 0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;"&gt; &lt;span&gt;Posted:&lt;/span&gt; 12 Nov 2011 03:42 AM PST&lt;/p&gt; &lt;div style="margin:0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt;&lt;p&gt;我学习C语言的时候，遇到的一个问题就是&lt;a href="http://en.wikipedia.org/wiki/End-of-file"&gt;EOF&lt;/a&gt;。&lt;/p&gt;&lt;p&gt;它是end of file的缩写，表示"文字流"（stream）的结尾。这里的"文字流"，可以是文件（file），也可以是标准输入（stdin）。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011111201.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;比如，下面这段代码就表示，如果不是文件结尾，就把文件的内容复制到屏幕上。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　int c;&lt;br /&gt;  &lt;br /&gt; 　　&lt;strong&gt;while ((c = fgetc(fp)) != EOF) {&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;　　　　putchar (c);&lt;/p&gt;  &lt;p&gt;　　}&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;很自然地，我就以为，每个文件的结尾处，有一个叫做EOF的特殊字符，读取到这个字符，操作系统就认为文件结束了。&lt;/p&gt;  &lt;p&gt;但是，后来我发现，EOF不是特殊字符，而是一个定义在头文件stdio.h的常量，一般等于-1。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　#define EOF (-1)&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;于是，我就困惑了。&lt;/p&gt;  &lt;p&gt;如果EOF是一个特殊字符，那么假定每个文本文件的结尾都有一个EOF（也就是-1），还是可以做到的，因为文本对应的ASCII码都是正值，不可能有负值。但是，二进制文件怎么办呢？怎么处理文件内部包含的-1呢？&lt;/p&gt;  &lt;p&gt;这个问题让我想了很久，后来查了资料才知道，&lt;strong&gt;在Linux系统之中，EOF根本不是一个字符，而是当系统读取到文件结尾，所返回的一个信号值（也就是-1）。&lt;/strong&gt;至于系统怎么知道文件的结尾，资料上说是通过比较文件的长度。&lt;/p&gt;  &lt;p&gt;所以，处理文件可以写成下面这样：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　int c;&lt;/p&gt;  &lt;p&gt;　　while ((c = fgetc(fp)) != EOF) {&lt;/p&gt;  &lt;p&gt;　　　　do something&lt;/p&gt;  &lt;p&gt;　　}&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;这样写有一个&lt;a href="http://www.cplusplus.com/reference/clibrary/cstdio/fgetc/"&gt;问题&lt;/a&gt;。fgetc()不仅是遇到文件结尾时返回EOF，而且当发生错误时，也会返回EOF。因此，C语言又提供了feof()函数，用来保证确实是到了文件结尾。上面的代码feof()版本的写法就是：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　int c;&lt;/p&gt;  &lt;p&gt;　　while (!feof(fp)) {&lt;/p&gt;  &lt;p&gt;　　　　c = fgetc(fp);&lt;/p&gt;  &lt;p&gt;　　　　do something;&lt;/p&gt;  &lt;p&gt;　　}&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;但是，这样写也有&lt;a href="http://www.drpaulcarter.com/cs/common-c-errors.php#4.2"&gt;问题&lt;/a&gt;。fgetc()读取文件的最后一个字符以后，C语言的feof()函数依然返回0，表明没有到达文件结尾；只有当fgetc()向后再读取一个字符（即越过最后一个字符），feof()才会返回一个非零值，表示到达文件结尾。&lt;/p&gt;  &lt;p&gt;所以，按照上面这样写法，如果一个文件含有n个字符，那么while循环的内部操作会运行n+1次。所以，最保险的&lt;a href="http://www.geeksforgeeks.org/archives/9797"&gt;写法&lt;/a&gt;是像下面这样：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　int c = fgetc(fp);&lt;/p&gt;  &lt;p&gt;　　while (c != EOF) {&lt;/p&gt;  &lt;p&gt;　　　　do something;&lt;br /&gt;  &lt;br /&gt; 　　　　c = fgetc(fp);&lt;/p&gt;  &lt;p&gt;　　}&lt;/p&gt;  &lt;p&gt;　　if (feof(fp)) {&lt;/p&gt;  &lt;p&gt;　　　　printf("\n End of file reached.");&lt;/p&gt;  &lt;p&gt;　　} else {&lt;/p&gt;  &lt;p&gt;　　　　printf("\n Something went wrong.");&lt;/p&gt;  &lt;p&gt;　　}&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;除了表示文件结尾，EOF还可以表示标准输入的结尾。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　int c;&lt;/p&gt;  &lt;p&gt;　　while ((c = getchar()) != EOF) {&lt;/p&gt;  &lt;p&gt;　　　　putchar(c);&lt;/p&gt;  &lt;p&gt;　　}&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;但是，标准输入与文件不一样，无法事先知道输入的长度，必须手动输入一个字符，表示到达EOF。&lt;/p&gt;  &lt;p&gt;Linux中，在新的一行的开头，按下Ctrl-D，就代表EOF（如果在一行的中间按下Ctrl-D，则表示输出"标准输入"的缓存区，所以这时必须按两次Ctrl-D）；Windows中，Ctrl-Z表示EOF。（顺便提一句，Linux中按下Ctrl-Z，表示将该进程中断，在后台挂起，用fg命令可以重新切回到前台；按下Ctrl-C表示终止该进程。）&lt;/p&gt;  &lt;p&gt;那么，如果真的想输入Ctrl-D怎么办？这时必须先按下Ctrl-V，然后就可以输入Ctrl-D，系统就不会认为这是EOF信号。&lt;a href="http://en.wikipedia.org/wiki/Ctrl-V"&gt;Ctrl-V&lt;/a&gt;表示按"字面含义"解读下一个输入，要是想按"字面含义"输入Ctrl-V，连续输入两次就行了。&lt;/p&gt;  &lt;p&gt;（完）&lt;br /&gt; &lt;/p&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;border:1px solid #d3d3d3;margin:1em;background-color:#AAD2F0;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;h3&gt;文档信息&lt;/h3&gt; &lt;ul&gt; &lt;li&gt;版权声明：自由转载-非商用-非衍生-保持署名 | &lt;a href="http://creativecommons.org/licenses/by-nc-nd/3.0/deed.zh"&gt;Creative Commons BY-NC-ND 3.0&lt;/a&gt;&lt;/li&gt; &lt;li&gt;原文网址：&lt;a href="http://www.ruanyifeng.com/blog/2011/11/eof.html"&gt;http://www.ruanyifeng.com/blog/2011/11/eof.html&lt;/a&gt;&lt;/li&gt; &lt;li&gt;最后修改时间：2011年11月12日 21:19&lt;/li&gt; &lt;li&gt;付费支持（&lt;a href="http://www.ruanyifeng.com/blog/2011/05/my_google_adsense_is_disabled.html" target="_blank" style="text-decoration:underline;"&gt;说明&lt;/a&gt;）：&lt;a href="https://mai.alipay.com/p.htm?id=2011101500701706" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/rmb_32.png" alt="支付宝担保交易" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; | &lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=yifeng.ruan@gmail.com&amp;currency_code=USD&amp;amount=2.99&amp;return=http://www.ruanyifeng.com/thank.html&amp;item_name=Ruan%20YiFeng's%20Blog&amp;undefined_quantity=1&amp;no_note=0" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/dollar_32.png"  alt="paypal" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;/div&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;margin:1em;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;table style="border-top:1px solid #999;padding-top:4px;margin-top:1.5em;width:100%" id="footer"&gt; &lt;tr&gt; &lt;td style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;You are subscribed to email updates from &lt;a href="http://www.ruanyifeng.com/blog/"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt;To stop receiving these emails, you may &lt;a href="http://feedburner.google.com/fb/a/mailunsubscribe?k=VV_gHI1yynfLxpDetfQct6jeXHU"&gt;unsubscribe now&lt;/a&gt;.&lt;/td&gt; &lt;td style="font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;text-align:right;vertical-align:top"&gt;Email delivery powered by Google&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td colspan="2" style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;Google Inc., 20 West Kinzie, Chicago IL USA 60610&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/145804083675914388-5466766222800192342?l=ruanyf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/5466766222800192342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/5466766222800192342'/><link rel='alternate' type='text/html' href='http://ruanyf.blogspot.com/2011/11/blog-post_12.html' title='阮一峰的网络日志'/><author><name>Ruan YiFeng</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-145804083675914388.post-7010220260225059874</id><published>2011-11-06T04:15:00.001-08:00</published><updated>2011-11-06T04:15:12.888-08:00</updated><title type='text'>阮一峰的网络日志</title><content type='html'>&lt;style type="text/css"&gt;                          h1 a:hover {background-color:#888;color:#fff ! important;}                          div#emailbody table#itemcontentlist tr td div ul {                                         list-style-type:square;                                         padding-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div blockquote {                                 padding-left:6px;                                 border-left: 6px solid #dadada;                                 margin-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div li {                                 margin-bottom:1em;                                 margin-left:1em;                         }                           table#itemcontentlist tr td a:link, table#itemcontentlist tr td a:visited, table#itemcontentlist tr td a:active, ul#summarylist li a {                                 color:#000099;                                 font-weight:bold;                                 text-decoration:none;                         }                                 img {border:none;}                   &lt;/style&gt; &lt;div xmlns="http://www.w3.org/1999/xhtml" id="emailbody" style="margin:0 2em;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt; &lt;table style="border:0;padding:0;margin:0;width:100%"&gt; &lt;tr&gt; &lt;td style="vertical-align:top" width="99%"&gt; &lt;h1 style="margin:0;padding-bottom:6px;"&gt; &lt;a style="color:#888;font-size:22px;font-family:Arial, Helvetica, sans-serif;font-weight:normal;text-decoration:none;" href="http://www.ruanyifeng.com/blog/" title="(http://www.ruanyifeng.com/blog/)"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt; &lt;a href="http://fusion.google.com/add?source=atgs&amp;amp;feedurl=http://feeds.feedburner.com/ruanyifeng"&gt; &lt;img style="padding-top:6px" alt="" border="0" src="http://gmodules.com/ig/images/plus_google.gif" /&gt; &lt;/a&gt; &lt;/h1&gt; &lt;/td&gt; &lt;td width="1%" /&gt; &lt;/tr&gt; &lt;/table&gt; &lt;hr style="border:1px solid #ccc;padding:0;margin:0" /&gt; &lt;table id="itemcontentlist"&gt; &lt;tr xmlns=""&gt; &lt;td style="margin-bottom:0;line-height:1.4em;"&gt; &lt;p style="margin:1em 0 3px 0;"&gt; &lt;a name="1" style="font-family:Arial, Helvetica, sans-serif;font-size:18px;" href="http://www.ruanyifeng.com/blog/2011/11/tisiwi_demo_day.html"&gt;天使湾创业之夏Demo Day见闻&lt;/a&gt; &lt;/p&gt; &lt;p style="font-size:13px;color:#555;margin:9px 0 3px 0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;"&gt; &lt;span&gt;Posted:&lt;/span&gt; 06 Nov 2011 12:27 AM PDT&lt;/p&gt; &lt;div style="margin:0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt;&lt;p&gt;今年5月，我对&lt;a href="http://www.tisiwi.com"&gt;天使湾创投&lt;/a&gt;的庞小伟，做过一个&lt;a href="http://www.ruanyifeng.com/blog/2011/05/pang_xiaowei.html"&gt;访谈&lt;/a&gt;。&lt;/p&gt;&lt;p&gt;当时，他正在筹备&lt;a href="http://www.tisiwi.com/blog/?p=320"&gt;"创业之夏"&lt;/a&gt;活动，准备模仿美国的&lt;a href="http://www.ruanyifeng.com/blog/2010/12/paul_graham_the_disruptor_in_the_valley.html"&gt;Y Combinator&lt;/a&gt;，资助15个创业团队，在杭州集中开发3个月。现在，3个月过去了，"创业之夏"已经结束，到了15个创业团队拿出Demo的时候了。&lt;/p&gt;  &lt;p&gt;昨天，就是天使湾举办的Demo Day，让创业团队与风险投资家直接见面，展示自己取得了怎样的成果。非常感谢庞兄，邀请我观摩这个活动。&lt;/p&gt;  &lt;p&gt;下面就是我昨天在杭州的见闻。&lt;/p&gt;  &lt;p&gt;===========================================&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011110604.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;会场在西湖南麓、凤凰山下的万松书院内，要从万松岭路进去，这是一条幽静的小马路。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011110603.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;万松书院是明清两代杭州最大的文人读书讲学的场所，现在成了公园。大门口是一个大型浮雕，传说梁山伯和祝英台在此相遇。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011110601.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;从大门进去，沿着台阶往山上走，然后右拐100米，就到了正谊堂。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011110602.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;这座小楼是2009年重建的，远看像是古建筑，底下还有石砌平台，其实是一个现代化的讲课、开会的场所。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011110605.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;会场内已经架设了投影，这是庞小伟正在发言。&lt;/p&gt;  &lt;p&gt;接下来的两个多小时，就是15个创业团队的项目展示，我先说一下我的感想。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　（1）所有的团队都非常年轻，大部分人都是85年后出生，还有几个90后团队。但是，所有人在开发上都很成熟，至少没有一个产品让我觉得幼稚，这表明中国互联网开发的新生力量非常强大，未来可期。&lt;/p&gt;  &lt;p&gt;　　（2）每个团队有8分钟的展示时间，实事求是地说，我觉得有些团队的展示不是很理想，听了以后，抓不住重点，不知道产品和团队的卖点在哪里。建议这些年轻的朋友，多向乔布斯和奥巴马学习公开讲演的技巧。&lt;/p&gt;  &lt;p&gt;　　（3）15个产品当中，有6、7个是纯粹的手机App（应用程序），剩下来的项目也全部打算开发手机端。几乎所有人都把手机应用，当做自己项目的重点。虽然我也认同移动互联网的广阔未来，但是太关注手机端，会不会是一种局限，我个人觉得有一个好的API（应用程序接口）意义可能更大一些。&lt;/p&gt;  &lt;p&gt;　　（4）这些产品大部分都是针对个人的生活需求，针对企业商业需求的产品太少。&lt;/p&gt;  &lt;p&gt;　　（5）从创意到成品，三个月的时间，还是太短了。大部分项目的完成度不高，有好几个只是刚刚能够在本机上运行，只能做到让你看懂他的想法，距离真正可以上线的Demo还要一段时间。不过，所有团队都拿出了自己的作品，这一点很不容易。&lt;/p&gt;  &lt;p&gt;　　（6）最后一点感想，是关于我自己的。我发现，我与风险投资家（尤其是不懂技术的风险投资家）沟通起来很不顺畅，共同语言比较少，聊了一会就找不到话题了，远不如我与工程师聊天那样自如。我还是不适应这种社交场合。&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;=============================================&lt;/p&gt;  &lt;p&gt;接着，我就来介绍一下这15个项目（按昨天的出场顺序）。&lt;/p&gt;  &lt;p&gt;我只介绍项目的基本情况，不做评论，也不涉及开发团队，因为我对他们本人都不熟悉。我根据的是自己对产品的理解，可能不是很准确。一些项目的网站还没有完成，也就不提供网址了。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1. 会云&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;网址：&lt;a href="http://www.confone.com"&gt;http://www.confone.com&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.confone.com"&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011110606.png" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;【简介】&lt;/p&gt;  &lt;p&gt;会议管理工具。&lt;/p&gt;  &lt;p&gt;会议组合者可以在网站上，注册一个会议，然后这个会议就有一个自己的主页（&lt;a href="http://www.confone.com/conference/info_schedule.php?url=tisiwidday"&gt;示例&lt;/a&gt;）。通过这个主页，你可以邀请会议参加者、发布会议消息和FAQ、增加参会人员的互动等等。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;2. 乐帮&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;网址：&lt;a href="http://whohelp.me/"&gt;http://whohelp.me/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://whohelp.me/"&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011110607.png" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;【简介】&lt;/p&gt;  &lt;p&gt;基于LBS的移动帮助应用。&lt;/p&gt;  &lt;p&gt;生活中，我们经常遇到麻烦事，比如电脑蓝屏了、下雨没带伞、宠物走丢了......这时，你会希望身边有人可以帮你。"乐帮"使你可以向3000米以内的其他用户求援，他们打开手机，看到周围有哪些需要帮助的事情，再决定是否给你发短信或打电话。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;3. 木耳&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011110608.png" /&gt;&lt;/p&gt;  &lt;p&gt;【简介】&lt;/p&gt;  &lt;p&gt;个人信息展示平台。&lt;/p&gt;  &lt;p&gt;木耳允许用户自定义个人主页，用户把任何想要展示的内容（图片、文本、音乐等等），拖动到页面上就可以了。页面的布局和内容，完全自定义，所有操作只需要鼠标就能完成。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;4. 百里挑一&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;网址：&lt;a href="http://www.bailty.com"&gt;http://www.bailty.com&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.bailty.com"&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011110609.png" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;【简介】&lt;/p&gt;  &lt;p&gt;随身的商品口碑和购物决策助手。&lt;/p&gt;  &lt;p&gt;当你看到琳琅满目的商品，是否觉得无从下手？你只要拿出手机，拍摄商品的条形码，"百里挑一"就会返回商品的基本信息，以及其他消费者对该商品的评价。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;5. 错落&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;网址：&lt;a href="http://cuoluo.com"&gt;http://cuoluo.com&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://cuoluo.com"&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011110610.png" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;【简介】&lt;/p&gt;  &lt;p&gt;随机生成器。&lt;/p&gt;  &lt;p&gt;生活中有很多场合，需要得到随机结果。比如，你想随机看一张照片、随机听一首歌、随机阅读一段文字、随机生成一段密码、随机选择一个彩票号码、随机为来宾抽奖......"错落"就是一个随机生成器，为你返回一个随机结果。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;6. 有鱼&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;网址：&lt;a href="http://youyur.com/"&gt;http://youyur.com/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://youyur.com/"&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011110611.png" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;【简介】&lt;/p&gt;  &lt;p&gt;项目外包平台。&lt;/p&gt;  &lt;p&gt;项目主在"有鱼"上面发布工作，自由职业者在上面找工作，双方约定完成日期和薪酬。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;7. 觅乎&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;网址：&lt;a href="http://www.miihuu.com"&gt;http://www.miihuu.com&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.miihuu.com"&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011110612.png" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;【简介】&lt;/p&gt;  &lt;p&gt;个人信息的搜索工具。&lt;/p&gt;  &lt;p&gt;"觅乎"允许用户将自己的个人信息（比如浏览历史、电子邮件、微博发言、个人网志等等）汇集在一个地方，然后统一进行搜索。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;8. 聚朋&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;网址：&lt;a href="http://www.juupoo.com"&gt;http://www.juupoo.com&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.juupoo.com"&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011110613.png" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;【简介】&lt;/p&gt;  &lt;p&gt;聚会管理工具。&lt;/p&gt;  &lt;p&gt;你可以发起一个聚会，然后通过网页，自动短信通知所有参加人员。（抱歉，这个项目是下半场的第一个项目，我进会场晚了，有一些介绍没有听到。）&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;9. 52赫兹&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;网址：&lt;a href="http://www.52hz.com/"&gt;http://www.52hz.com/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.52hz.com/"&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011110614.png" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;【简介】&lt;/p&gt;  &lt;p&gt;网页推荐引擎。&lt;/p&gt;  &lt;p&gt;根据用户收藏的网页，向他推荐个性化的相关网页，与美国网站&lt;a href="http://www.stumbleupon.com/"&gt;StumbleUpon&lt;/a&gt;类似。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;10. Timap&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;网址：&lt;a href="http://timap.me/"&gt;http://timap.me/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://timap.me/"&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011110615.png" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;【简介】&lt;/p&gt;  &lt;p&gt;基于LBS的日程管理工具。&lt;/p&gt;  &lt;p&gt;用户可以用自然语言输入日程（比如"明天下午1点与张先生在xx饭馆吃饭"），Timap会自动分析语义，得到时间、地点（结合用户的当前位置）、事项，并向用户推荐最优日常安排。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;11. 小恩爱&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;网址：&lt;a href="http://www.xiaoenai.com"&gt;http://www.xiaoenai.com&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.xiaoenai.com"&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011110616.png" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;【简介】&lt;/p&gt;  &lt;p&gt;情侣应用。&lt;/p&gt;  &lt;p&gt;"小恩爱"必须情侣两人共同使用，供双方进行各种特殊沟通。留言的时候，可以设置规则（比如，男生收信后，倒计时8小时才能打开）；女生还可以向男生出选择题（"我最喜欢以下哪一种口味的冰激凌？"），并设置奖励和惩罚。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;12. 琥珀&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011110617.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;【简介】&lt;/p&gt;  &lt;p&gt;基于LBS的校园社交应用。&lt;/p&gt;  &lt;p&gt;主要是四大功能：发送匿名情书；实时抓拍并分享校园八卦；校园雷达，3D显示校园各个位置最新发生的事件；校园密友，显示你关注的人现在的动态。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;13. 饭有引力&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;网址：&lt;a href="http://www.fanyor.com/"&gt;http://www.fanyor.com/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.fanyor.com/"&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011110618.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;【简介】&lt;/p&gt;  &lt;p&gt;社会化的聚餐平台。&lt;/p&gt;  &lt;p&gt;它让你通过聚餐，结识新朋友。你可以在"饭有引力"上，浏览新发起的聚餐，找到自己感兴趣的人和食品，然后申请加入；你也可以自己发起聚餐，等待别人申请加入。所有聚餐的人，还可以一起在网上发言讨论。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;14. 同行&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;网址：&lt;a href="http://itongxing.com/"&gt;http://itongxing.com/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://itongxing.com/"&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011110619.png" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;【简介】&lt;/p&gt;  &lt;p&gt;基于LBS的拼车应用。&lt;/p&gt;  &lt;p&gt;当你想在附近找人拼车、或找到想搭你的车的人，"同行"会告诉你有没有这样的人，你也可以发出这样的消息，"同行"会帮你自动推送到周围的用户，并转发到社交网站上。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;15. 马蹄&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011110620.png" /&gt;&lt;/p&gt;  &lt;p&gt;【简介】&lt;/p&gt;  &lt;p&gt;自助游行程的制定和管理工具。&lt;/p&gt;  &lt;p&gt;用户确定旅游目的地和游玩天数之后，"马蹄"会帮助用户制定一个合理的行程和路线，并在旅行过程中，不断帮助用户实施这份行程，还可以根据用户现在所处的位置，实时推荐周围的景点。&lt;/p&gt;  &lt;p&gt;==================================&lt;/p&gt;  &lt;p&gt;如果你是投资者，对上述项目感兴趣的话，可以通过天使湾&lt;a href="http://www.tisiwi.com/blog/?page_id=16"&gt;联系&lt;/a&gt;开发者。&lt;/p&gt;  &lt;p&gt;如果你是普通用户，欢迎积极使用这些产品，为创业团队提供鼓励和建议。&lt;/p&gt;  &lt;p&gt;如果你是创业者，欢迎向天使湾&lt;a href="http://www.tisiwi.com/dashboard/new"&gt;申请风投&lt;/a&gt;，也欢迎在11月底报名参加明年3月~5月举办的第二期创业训练营。&lt;/p&gt;  &lt;p&gt;（完）&lt;br /&gt; &lt;/p&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;border:1px solid #d3d3d3;margin:1em;background-color:#AAD2F0;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;h3&gt;文档信息&lt;/h3&gt; &lt;ul&gt; &lt;li&gt;版权声明：自由转载-非商用-非衍生-保持署名 | &lt;a href="http://creativecommons.org/licenses/by-nc-nd/3.0/deed.zh"&gt;Creative Commons BY-NC-ND 3.0&lt;/a&gt;&lt;/li&gt; &lt;li&gt;原文网址：&lt;a href="http://www.ruanyifeng.com/blog/2011/11/tisiwi_demo_day.html"&gt;http://www.ruanyifeng.com/blog/2011/11/tisiwi_demo_day.html&lt;/a&gt;&lt;/li&gt; &lt;li&gt;最后修改时间：2011年11月 6日 18:36&lt;/li&gt; &lt;li&gt;付费支持（&lt;a href="http://www.ruanyifeng.com/blog/2011/05/my_google_adsense_is_disabled.html" target="_blank" style="text-decoration:underline;"&gt;说明&lt;/a&gt;）：&lt;a href="https://mai.alipay.com/p.htm?id=2011101500701706" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/rmb_32.png" alt="支付宝担保交易" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; | &lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=yifeng.ruan@gmail.com&amp;currency_code=USD&amp;amount=2.99&amp;return=http://www.ruanyifeng.com/thank.html&amp;item_name=Ruan%20YiFeng's%20Blog&amp;undefined_quantity=1&amp;no_note=0" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/dollar_32.png"  alt="paypal" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;/div&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;margin:1em;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;table style="border-top:1px solid #999;padding-top:4px;margin-top:1.5em;width:100%" id="footer"&gt; &lt;tr&gt; &lt;td style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;You are subscribed to email updates from &lt;a href="http://www.ruanyifeng.com/blog/"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt;To stop receiving these emails, you may &lt;a href="http://feedburner.google.com/fb/a/mailunsubscribe?k=VV_gHI1yynfLxpDetfQct6jeXHU"&gt;unsubscribe now&lt;/a&gt;.&lt;/td&gt; &lt;td style="font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;text-align:right;vertical-align:top"&gt;Email delivery powered by Google&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td colspan="2" style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;Google Inc., 20 West Kinzie, Chicago IL USA 60610&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/145804083675914388-7010220260225059874?l=ruanyf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/7010220260225059874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/7010220260225059874'/><link rel='alternate' type='text/html' href='http://ruanyf.blogspot.com/2011/11/blog-post.html' title='阮一峰的网络日志'/><author><name>Ruan YiFeng</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-145804083675914388.post-3439386949426485813</id><published>2011-10-15T05:07:00.001-07:00</published><updated>2011-10-15T05:07:37.659-07:00</updated><title type='text'>阮一峰的网络日志</title><content type='html'>&lt;style type="text/css"&gt;                          h1 a:hover {background-color:#888;color:#fff ! important;}                          div#emailbody table#itemcontentlist tr td div ul {                                         list-style-type:square;                                         padding-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div blockquote {                                 padding-left:6px;                                 border-left: 6px solid #dadada;                                 margin-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div li {                                 margin-bottom:1em;                                 margin-left:1em;                         }                           table#itemcontentlist tr td a:link, table#itemcontentlist tr td a:visited, table#itemcontentlist tr td a:active, ul#summarylist li a {                                 color:#000099;                                 font-weight:bold;                                 text-decoration:none;                         }                                 img {border:none;}                   &lt;/style&gt; &lt;div xmlns="http://www.w3.org/1999/xhtml" id="emailbody" style="margin:0 2em;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt; &lt;table style="border:0;padding:0;margin:0;width:100%"&gt; &lt;tr&gt; &lt;td style="vertical-align:top" width="99%"&gt; &lt;h1 style="margin:0;padding-bottom:6px;"&gt; &lt;a style="color:#888;font-size:22px;font-family:Arial, Helvetica, sans-serif;font-weight:normal;text-decoration:none;" href="http://www.ruanyifeng.com/blog/" title="(http://www.ruanyifeng.com/blog/)"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt; &lt;a href="http://fusion.google.com/add?source=atgs&amp;amp;feedurl=http://feeds.feedburner.com/ruanyifeng"&gt; &lt;img style="padding-top:6px" alt="" border="0" src="http://gmodules.com/ig/images/plus_google.gif" /&gt; &lt;/a&gt; &lt;/h1&gt; &lt;/td&gt; &lt;td width="1%" /&gt; &lt;/tr&gt; &lt;/table&gt; &lt;hr style="border:1px solid #ccc;padding:0;margin:0" /&gt; &lt;table id="itemcontentlist"&gt; &lt;tr xmlns=""&gt; &lt;td style="margin-bottom:0;line-height:1.4em;"&gt; &lt;p style="margin:1em 0 3px 0;"&gt; &lt;a name="1" style="font-family:Arial, Helvetica, sans-serif;font-size:18px;" href="http://www.ruanyifeng.com/blog/2011/10/usenet_downloading_crash_tutorial.html"&gt;usenet下载最简教程&lt;/a&gt; &lt;/p&gt; &lt;p style="font-size:13px;color:#555;margin:9px 0 3px 0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;"&gt; &lt;span&gt;Posted:&lt;/span&gt; 14 Oct 2011 08:49 AM PDT&lt;/p&gt; &lt;div style="margin:0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt;&lt;p&gt;上周，美国的&lt;a href="http://www.giganews.com/?a=ruanyf"&gt;Giganews&lt;/a&gt;公司来信。&lt;/p&gt;&lt;p&gt;他们推出了两个新业务----VPN服务&lt;a href="https://www.goldenfrog.com/vyprvpn"&gt;VyprVPN&lt;/a&gt;和在线存储服务&lt;a href="https://www.goldenfrog.com/dumptruck"&gt;Dump Truck&lt;/a&gt;----想让我帮忙宣传。&lt;/p&gt;  &lt;p&gt;我毫不怀疑这两个服务的优异品质，但是也坦率地告诉他们，现在的价格在中国市场不可能有任何竞争力。VPN和网盘，国内市场竞争很激烈，美国的价格直接拿过来，就好像天文数字一样。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://www.ruanyifeng.com/images/usenet.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;Giganews最有竞争力的产品，其实是它的主业usenet。它是全美最大的usenet服务商，在这个领域实力很强。（不了解usenet的朋友，可以看一下我刚刚整理好的系列文章&lt;a href="http://www.ruanyifeng.com/docs/usenet/"&gt;《usenet使用指南》&lt;/a&gt;。）&lt;/p&gt;  &lt;p&gt;usenet堪称"下载宝库"，资源之多难以想象。喜欢高清影视和电子游戏的朋友，其实根本不必PT下载，只要上usenet，应有尽有。&lt;/p&gt;  &lt;p&gt;usenet推广的最大困难有两个，一是没有中文内容，二是存在一定的使用门槛。如果有一个针对中国用户的usenet下载搜索引擎，我觉得它的国内市场需求会很大。国内至今没有任何一家公司，提供usenet相关服务，真是很遗憾。&lt;/p&gt;  &lt;p&gt;====================================================&lt;/p&gt;  &lt;p&gt;对于那些需要usenet下载的朋友，我下面用最简单的语言，告诉你怎么下载。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;（1）软件&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;你首先需要一个下载客户端，可以使用免费软件&lt;a href="http://www.shemes.com/"&gt;Grabit&lt;/a&gt;（&lt;a href="http://www.ruanyifeng.com/blog/2008/02/newsgroups_the_ultimate_p2p_alternative.html"&gt;教程&lt;/a&gt;）或&lt;a href="http://sabnzbd.org/"&gt;sabnzbd&lt;/a&gt;，也可以使用商业软件&lt;a href="http://www.newsbin.com/"&gt;Newsbin&lt;/a&gt;。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;（2）NZB搜索引擎&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;你通过nzb文件搜索，找到自己需要下载的文件。免费的搜索引擎有&lt;a href="http://binsearch.info/"&gt;Binsearch.info&lt;/a&gt;和&lt;a href="http://nzbindex.nl/"&gt;nzbindex.nl&lt;/a&gt;，小额收费的搜索引擎有&lt;a href="http://nzbmatrix.com"&gt;Nzbmatrix.com&lt;/a&gt;和&lt;a href="http://www.nzbsrus.com/"&gt;NZBsrus.com&lt;/a&gt;。&lt;/p&gt;  &lt;p&gt;Giganews本身有一个搜索引擎&lt;a href="http://www.giganews.com/mimo/"&gt;mimo&lt;/a&gt;，可惜只提供给钻石用户使用。另外，德国的&lt;a href="http://www.ruanyifeng.com/blog/2008/11/usenext_tutorial.html"&gt;UseNeXT&lt;/a&gt;公司有一个自带搜索引擎的客户端，非常易用，我很推荐。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;（3）购买usenet账号&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;由于usenet下载流量非常巨大，所以不存在免费下载，必须付费使用。&lt;/p&gt;  &lt;p&gt;Giganews的&lt;a href="https://cn.giganews.com/signup/?a=ruanyf"&gt;收费&lt;/a&gt;不便宜，最低价是4.99美元/每月，只能下载5GB。如果你想无限量下载，每月价格是24.99美元，大概只有下载发烧友和游戏发烧友才会购买吧。好在Giganews允许14天的免费试用期（下载量不超过10GB）。当你急需下载某个文件时，可以考虑先&lt;a href="https://cn.giganews.com/signup/?a=ruanyf"&gt;注册&lt;/a&gt;一个账户，然后在14天内注销（否则自动从信用卡扣款）。&lt;/p&gt;  &lt;p&gt;写到这里，我帮自己打个广告。如果你点击下面的图片，购买Giganews的服务，我会得到一笔介绍费，欢迎点击。&lt;/p&gt;  &lt;p&gt;&lt;a href="http://cn.giganews.com/?a=ruanyf"&gt;&lt;img  src="http://www.giganews.com/banners/ruanyf/468x60a.gif" alt="Giganews Newsgroups" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;如果觉得Giganews太贵，还有一家&lt;a href="http://www.supernews.com/?r=ruanyf"&gt;Supernews&lt;/a&gt;可以考虑，它的价格就很好：每月11.99美元，提供无限量下载。但是，由于是廉价服务，它不提供试用，也不允许退款。&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.supernews.com/?r=ruanyf"&gt;&lt;img  src="http://www.supernews.com/ads/ruanyf/super-468x60.gif" alt="Supernews Newsgroups" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;（完）&lt;/p&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;border:1px solid #d3d3d3;margin:1em;background-color:#AAD2F0;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;h3&gt;文档信息&lt;/h3&gt; &lt;ul&gt; &lt;li&gt;版权声明：自由转载-非商用-非衍生-保持署名 | &lt;a href="http://creativecommons.org/licenses/by-nc-nd/3.0/deed.zh"&gt;Creative Commons BY-NC-ND 3.0&lt;/a&gt;&lt;/li&gt; &lt;li&gt;原文网址：&lt;a href="http://www.ruanyifeng.com/blog/2011/10/usenet_downloading_crash_tutorial.html"&gt;http://www.ruanyifeng.com/blog/2011/10/usenet_downloading_crash_tutorial.html&lt;/a&gt;&lt;/li&gt; &lt;li&gt;最后修改时间：2011年10月15日 14:07&lt;/li&gt; &lt;li&gt;付费支持（&lt;a href="http://www.ruanyifeng.com/blog/2011/05/my_google_adsense_is_disabled.html" target="_blank" style="text-decoration:underline;"&gt;说明&lt;/a&gt;）：&lt;a href="https://mai.alipay.com/p.htm?id=2011101500701706" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/rmb_32.png" alt="支付宝担保交易" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; | &lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=yifeng.ruan@gmail.com&amp;currency_code=USD&amp;amount=2.99&amp;return=http://www.ruanyifeng.com/thank.html&amp;item_name=Ruan%20YiFeng's%20Blog&amp;undefined_quantity=1&amp;no_note=0" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/dollar_32.png"  alt="paypal" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;/div&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;margin:1em;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;table style="border-top:1px solid #999;padding-top:4px;margin-top:1.5em;width:100%" id="footer"&gt; &lt;tr&gt; &lt;td style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;You are subscribed to email updates from &lt;a href="http://www.ruanyifeng.com/blog/"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt;To stop receiving these emails, you may &lt;a href="http://feedburner.google.com/fb/a/mailunsubscribe?k=x5q3e3oXiwrRC8QL5seztLZik1c"&gt;unsubscribe now&lt;/a&gt;.&lt;/td&gt; &lt;td style="font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;text-align:right;vertical-align:top"&gt;Email delivery powered by Google&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td colspan="2" style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;Google Inc., 20 West Kinzie, Chicago IL USA 60610&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/145804083675914388-3439386949426485813?l=ruanyf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/3439386949426485813'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/3439386949426485813'/><link rel='alternate' type='text/html' href='http://ruanyf.blogspot.com/2011/10/blog-post_15.html' title='阮一峰的网络日志'/><author><name>Ruan YiFeng</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-145804083675914388.post-7144005664952282099</id><published>2011-10-08T05:35:00.001-07:00</published><updated>2011-10-08T05:35:10.815-07:00</updated><title type='text'>阮一峰的网络日志</title><content type='html'>&lt;style type="text/css"&gt;                          h1 a:hover {background-color:#888;color:#fff ! important;}                          div#emailbody table#itemcontentlist tr td div ul {                                         list-style-type:square;                                         padding-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div blockquote {                                 padding-left:6px;                                 border-left: 6px solid #dadada;                                 margin-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div li {                                 margin-bottom:1em;                                 margin-left:1em;                         }                           table#itemcontentlist tr td a:link, table#itemcontentlist tr td a:visited, table#itemcontentlist tr td a:active, ul#summarylist li a {                                 color:#000099;                                 font-weight:bold;                                 text-decoration:none;                         }                                 img {border:none;}                   &lt;/style&gt; &lt;div xmlns="http://www.w3.org/1999/xhtml" id="emailbody" style="margin:0 2em;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt; &lt;table style="border:0;padding:0;margin:0;width:100%"&gt; &lt;tr&gt; &lt;td style="vertical-align:top" width="99%"&gt; &lt;h1 style="margin:0;padding-bottom:6px;"&gt; &lt;a style="color:#888;font-size:22px;font-family:Arial, Helvetica, sans-serif;font-weight:normal;text-decoration:none;" href="http://www.ruanyifeng.com/blog/" title="(http://www.ruanyifeng.com/blog/)"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt; &lt;a href="http://fusion.google.com/add?source=atgs&amp;amp;feedurl=http://feeds.feedburner.com/ruanyifeng"&gt; &lt;img style="padding-top:6px" alt="" border="0" src="http://gmodules.com/ig/images/plus_google.gif" /&gt; &lt;/a&gt; &lt;/h1&gt; &lt;/td&gt; &lt;td width="1%" /&gt; &lt;/tr&gt; &lt;/table&gt; &lt;hr style="border:1px solid #ccc;padding:0;margin:0" /&gt; &lt;table id="itemcontentlist"&gt; &lt;tr xmlns=""&gt; &lt;td style="margin-bottom:0;line-height:1.4em;"&gt; &lt;p style="margin:1em 0 3px 0;"&gt; &lt;a name="1" style="font-family:Arial, Helvetica, sans-serif;font-size:18px;" href="http://www.ruanyifeng.com/blog/2011/10/steve_jobs_farewell.html"&gt;乔布斯的告别&lt;/a&gt; &lt;/p&gt; &lt;p style="font-size:13px;color:#555;margin:9px 0 3px 0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;"&gt; &lt;span&gt;Posted:&lt;/span&gt; 07 Oct 2011 07:57 AM PDT&lt;/p&gt; &lt;div style="margin:0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt;&lt;p&gt;斯蒂夫·乔布斯活着的时候，对病情讳莫如深，外界对他的身体状态毫不知情。&lt;/p&gt;&lt;p&gt;现在他去世了，根据各方面透露的信息，我们终于可以还原他的病历，了解像他这样伟人怎样对待生与死。&lt;/p&gt;  &lt;p&gt;1.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201110/bg2011100701.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;2000年5月，乔布斯在旧金山WWDC大会（苹果全球开发者大会）上，演示Mac OS X操作系统。这时，他的身体还是完全健康的。&lt;/p&gt;  &lt;p&gt;2.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201110/bg2011100702.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;2002年7月17日，乔布斯光临位于纽约Soho的苹果商店。此时，距离他病情确诊还有一年。&lt;/p&gt;  &lt;p&gt;3.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201110/bg2011100703.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;2003年1月，乔布斯在旧金山Macworld大会上，介绍新发布的17寸Powerbook。&lt;/p&gt;  &lt;p&gt;同年10月，在一次CT检查中，医生发现乔布斯的胰腺有一个肿瘤，但是属于恶性程度较低的癌症：胰岛细胞神经内分泌肿瘤。起初，乔布斯不愿接受手术，想通过饮食调整来控制病情。&lt;/p&gt;  &lt;p&gt;4.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201110/bg2011100704.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;2004年1月，乔布斯在旧金山Macworld大会上，介绍新型的iPod。此时，他已经知道自己患有胰腺癌，但是未对外界透露。&lt;/p&gt;  &lt;p&gt;2004年7月，由于病情没有得到控制，在坚持饮食疗法9个月后，乔布斯终于接受手术，摘除了肿瘤。8月1日，他首次对外公布病情，表示手术很成功，也不需要化疗或者放疗（另一种说法是，乔布斯本人坚持不要化疗和放疗）。&lt;/p&gt;  &lt;p&gt;5.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201110/bg2011100705.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;2004年10月，乔布斯与U2乐队成员Bono等人一起登台，庆祝苹果iPod发售。此时，他刚刚完成癌症手术三个月。&lt;/p&gt;  &lt;p&gt;6.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201110/bg2011100706.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;2005年1月，手术后半年，乔布斯展示Mac Mini个人电脑。&lt;/p&gt;  &lt;p&gt;7.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201110/bg2011100707.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;2006年8月，手术后两年，乔布斯在WWDC上发布演讲。苹果公司称，他的健康状况良好。&lt;/p&gt;  &lt;p&gt;8.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201110/bg2011100708.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;2007年1月，手术后两年半，乔布斯发布iPhone。&lt;/p&gt;  &lt;p&gt;9.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201110/bg2011100709.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;2008年6月，手术后第四年，乔布斯发布"全球最薄笔记本电脑"MacBook Air。他显得消瘦憔悴，但是苹果公司称，他只是受到"常见细菌"感染。事实上，现在我们知道，那时他的癌症已经复发，病情扩散到了肝脏。&lt;/p&gt;  &lt;p&gt;10.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201110/bg2011100710.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;2009年1月，苹果公司宣布乔布斯患上了"荷尔蒙失衡症"，将缺席本年度的WWDC。仅仅过了一周，乔布斯发表声明称，由于病情比原想的复杂，将病休5个月。事实上，此时他已经是重度癌症病人，肝脏布满了癌细胞。&lt;/p&gt;  &lt;p&gt;2009年4月，乔布斯在孟菲斯的卫理公会大学附属医院接受肝脏移植手术。院方透露，乔布斯在轮候换肝名单上属病情最严重者，因此当有适合肝脏，便第一时间为他进行移植手术。并说，当乔布斯换肝时，他的肝脏病情已到末期。手术后，乔布斯康复情况良好。&lt;/p&gt;  &lt;p&gt;11.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201110/bg2011100711.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;2010年1月27日，肝脏移植手术后九个月，乔布斯宣布推出平板电脑iPad。&lt;/p&gt;  &lt;p&gt;12.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201110/bg2011100712.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;2010年6月7日，肝脏移植手术后一年，乔布斯宣布推出iPhone 4。&lt;/p&gt;  &lt;p&gt;13.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201110/bg2011100713.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;2010年7月，乔布斯在新闻发布会上宣布，将免费提供胶套以解决iPhone 4信号接收问题。&lt;/p&gt;  &lt;p&gt;14.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201110/bg2011100714.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;2010年9月，在旧金山的一个音乐主题媒体活动上，乔布斯面带笑容。&lt;/p&gt;  &lt;p&gt;15.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201110/bg2011100715.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;2010年10月，乔布斯出席苹果公司活动时的照片，距离去世只剩一年。&lt;/p&gt;  &lt;p&gt;2011年1月17日：乔布斯在一封发给公司员工的电子邮件中宣布因个人健康原因将再次休假。他说，"我是如此热爱苹果，我希望尽快返回公司。"&lt;/p&gt;  &lt;p&gt;16.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201110/bg2011100716.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;2011年3月2日，正在休病假的乔布斯意外出席了iPad 2发布会，距离去世只剩半年。&lt;/p&gt;  &lt;p&gt;17.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201110/bg2011100717.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;2011年6月6日，乔布斯在WWDC上发布iCloud服务，距离去世只剩4个月。这是乔布斯在公开场合的最后照片。&lt;/p&gt;  &lt;p&gt;2011年8月，乔布斯宣布辞去苹果公司CEO。&lt;/p&gt;  &lt;p&gt;2011年10月5日，乔布斯去世，终年56岁。&lt;/p&gt;  &lt;p&gt;==================================&lt;/p&gt;  &lt;p&gt;乔布斯去世后，&lt;a href="http://www.nytimes.com/2011/10/07/technology/with-time-running-short-steve-jobs-managed-his-farewells.html"&gt;《纽约时报》&lt;/a&gt;的报道，透露了他临终前的一些细节。他的癌症复发是在2010年底发现的，所以乔布斯在2011年1月宣布病休。&lt;/p&gt;  &lt;p&gt;2011年2月，医生告诉乔布斯，已经没有治愈可能了，他的时间不多了。但是，乔布斯依然选择出席iPad 2和iCloud发布会，那时他其实已经知道自己将不久于人世。&lt;/p&gt;  &lt;p&gt;也是从那时起，乔布斯开始为自己的后事做安排。他选择会见一些老朋友，与他们告别。&lt;/p&gt;  &lt;p&gt;《华尔街日报》的莫博士，这样记录自己与乔布斯的&lt;a href="http://tech.sina.com.cn/it/2011-10-06/13256143674.shtml"&gt;会面&lt;/a&gt;：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;"我在他家待了三个小时，中间还到附近的公园走了一圈。虽然他的身体之差令我很担心，但是他坚持要去那里。"&lt;/p&gt;  &lt;p&gt;"他说他每天都走路锻炼，而且每天为自己定一个更远一点的目标。今天，社区公园就是他的目标。我们边走边谈，他突然停下来，看上去很痛苦。我央求他回家，因为我根本不懂急救术，万一出事了，第二天报纸标题就是《束手无策的记者眼睁睁看着乔布斯在路边死去》。"&lt;/p&gt;  &lt;p&gt;"乔布斯听了就笑了，拒绝回去。片刻之后，他继续向公园走去。我们坐在长椅上，谈起生活、家庭和各自的疾病（我几年前曾经突发心脏病）。他教导我健康的重要性。然后，我们就往回走了。"&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;2011年8月，乔布斯辞去苹果CEO的时候，他的身体已经彻底不行了，不可能有奇迹了。&lt;/p&gt;  &lt;p&gt;生命的最后几个星期，乔布斯非常虚弱，躺在家里，走路也走不动。他最后一次请了几个朋友----Ornish医生、风险投资家John Doerr、苹果公司董事Bill Campbell、迪斯尼公司执行长Robert A. Iger----在Palo Alto的Jin Sho餐馆举行告别宴。在宴会上，他还给即将发布的iPhone 4S出主意。&lt;/p&gt;  &lt;p&gt;Ornish医生回忆说："我问他，养育了四个孩子，对这件事他是否感到满意。他说，这比我做过的任何事都好上10000倍。"&lt;/p&gt;  &lt;p&gt;乔布斯还见了他的传记作者Isaacson。后者问他，你如此重视隐私，为什么会授权我写你的传记。乔布斯回答："我希望我的孩子了解我。在他们成长过程中，我并没有一直在他们身边。我要他们知道为什么，并且理解我所做的事情。"&lt;/p&gt;  &lt;p&gt;在他的弥留之际，他的妹妹Mona Simpson说："最后，他的语调充满了温柔的歉意，为离开我们前走一步，感到非常抱歉。"&lt;/p&gt;  &lt;p&gt;==================================&lt;/p&gt;  &lt;p&gt;2005年，乔布斯在斯坦福大学毕业典礼上，曾经&lt;a href="http://www.ruanyifeng.com/docs/speech/steve_jobs.html"&gt;说过&lt;/a&gt;：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;&lt;strong&gt;"我深信，保持前进的唯一动力，就是我热爱自己所做的事。"&lt;/strong&gt;（I'm convinced that the only thing that kept me going was that I loved what I did.）&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;他用自己的人生，实践了这句话。他生命的最后八年，是与癌症做斗争的八年，也是创造了惊人成果的八年。在这期间，他一手造就了创造历史的新产品----Macbook、iPhone和iPad----这使苹果公司从濒临破产，变成了世界市值最高的公司。&lt;/p&gt;  &lt;p&gt;但是，如果你仔细想想，就会发现他完全没必要这么做，尤其在得了癌症的情况下。在重新入主苹果之前，他已经功成名就了。为什么他工作到生命的最后一刻，只有一个解释，那就是他真的热爱自己所做的一切。&lt;/p&gt;  &lt;p&gt;乔布斯的一生是一个奇迹。他是一个弃儿，养父母都是蓝领，大学只读了六个月，曾经靠捡饮料瓶谋生。但就是这样一个人，创造了世界上第一台个人电脑，打造了全世界最辉煌的电脑公司，彻底改变了整个电子工业。他用自己的一生告诉我们，只要你敢于追求自己的梦想，热爱你所做的事情，nothing is impossible（一切皆有可能）。&lt;/p&gt;  &lt;p&gt;只要有人记得，他就永不消逝。乔布斯并没有离开我们，未来的人们将永远记得他。因为乔布斯来过这个世界，我们所有人都有了更多希望。&lt;/p&gt;  &lt;p&gt;（完）&lt;br /&gt; &lt;/p&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;border:1px solid #d3d3d3;margin:1em;background-color:#AAD2F0;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;h3&gt;文档信息&lt;/h3&gt; &lt;ul&gt; &lt;li&gt;版权声明：自由转载-非商用-非衍生-保持署名 | &lt;a href="http://creativecommons.org/licenses/by-nc-nd/3.0/deed.zh"&gt;Creative Commons BY-NC-ND 3.0&lt;/a&gt;&lt;/li&gt; &lt;li&gt;原文网址：&lt;a href="http://www.ruanyifeng.com/blog/2011/10/steve_jobs_farewell.html"&gt;http://www.ruanyifeng.com/blog/2011/10/steve_jobs_farewell.html&lt;/a&gt;&lt;/li&gt; &lt;li&gt;最后修改时间：2011年10月 8日 20:27&lt;/li&gt; &lt;li&gt;付费支持（&lt;a href="http://www.ruanyifeng.com/blog/2011/05/my_google_adsense_is_disabled.html" target="_blank" style="text-decoration:underline;"&gt;说明&lt;/a&gt;）：&lt;a href="https://lab.alipay.com/p.htm?id=2011081500435188" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/rmb_32.png" alt="支付宝担保交易" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; | &lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=yifeng.ruan@gmail.com&amp;currency_code=USD&amp;amount=0.3&amp;return=http://www.ruanyifeng.com/thank.html&amp;item_name=Ruan%20YiFeng's%20Blog&amp;undefined_quantity=1&amp;no_note=0" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/dollar_32.png"  alt="paypal" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;/div&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;margin:1em;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;table style="border-top:1px solid #999;padding-top:4px;margin-top:1.5em;width:100%" id="footer"&gt; &lt;tr&gt; &lt;td style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;You are subscribed to email updates from &lt;a href="http://www.ruanyifeng.com/blog/"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt;To stop receiving these emails, you may &lt;a href="http://feedburner.google.com/fb/a/mailunsubscribe?k=x5q3e3oXiwrRC8QL5seztLZik1c"&gt;unsubscribe now&lt;/a&gt;.&lt;/td&gt; &lt;td style="font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;text-align:right;vertical-align:top"&gt;Email delivery powered by Google&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td colspan="2" style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;Google Inc., 20 West Kinzie, Chicago IL USA 60610&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/145804083675914388-7144005664952282099?l=ruanyf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/7144005664952282099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/7144005664952282099'/><link rel='alternate' type='text/html' href='http://ruanyf.blogspot.com/2011/10/blog-post_08.html' title='阮一峰的网络日志'/><author><name>Ruan YiFeng</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-145804083675914388.post-4722045641207820079</id><published>2011-10-03T05:05:00.001-07:00</published><updated>2011-10-03T05:05:40.268-07:00</updated><title type='text'>阮一峰的网络日志</title><content type='html'>&lt;style type="text/css"&gt;                          h1 a:hover {background-color:#888;color:#fff ! important;}                          div#emailbody table#itemcontentlist tr td div ul {                                         list-style-type:square;                                         padding-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div blockquote {                                 padding-left:6px;                                 border-left: 6px solid #dadada;                                 margin-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div li {                                 margin-bottom:1em;                                 margin-left:1em;                         }                           table#itemcontentlist tr td a:link, table#itemcontentlist tr td a:visited, table#itemcontentlist tr td a:active, ul#summarylist li a {                                 color:#000099;                                 font-weight:bold;                                 text-decoration:none;                         }                                 img {border:none;}                   &lt;/style&gt; &lt;div xmlns="http://www.w3.org/1999/xhtml" id="emailbody" style="margin:0 2em;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt; &lt;table style="border:0;padding:0;margin:0;width:100%"&gt; &lt;tr&gt; &lt;td style="vertical-align:top" width="99%"&gt; &lt;h1 style="margin:0;padding-bottom:6px;"&gt; &lt;a style="color:#888;font-size:22px;font-family:Arial, Helvetica, sans-serif;font-weight:normal;text-decoration:none;" href="http://www.ruanyifeng.com/blog/" title="(http://www.ruanyifeng.com/blog/)"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt; &lt;a href="http://fusion.google.com/add?source=atgs&amp;amp;feedurl=http://feeds.feedburner.com/ruanyifeng"&gt; &lt;img style="padding-top:6px" alt="" border="0" src="http://gmodules.com/ig/images/plus_google.gif" /&gt; &lt;/a&gt; &lt;/h1&gt; &lt;/td&gt; &lt;td width="1%" /&gt; &lt;/tr&gt; &lt;/table&gt; &lt;hr style="border:1px solid #ccc;padding:0;margin:0" /&gt; &lt;table id="itemcontentlist"&gt; &lt;tr xmlns=""&gt; &lt;td style="margin-bottom:0;line-height:1.4em;"&gt; &lt;p style="margin:1em 0 3px 0;"&gt; &lt;a name="1" style="font-family:Arial, Helvetica, sans-serif;font-size:18px;" href="http://www.ruanyifeng.com/blog/2011/10/javascript_loading.html"&gt;Javascript文件加载：LABjs和RequireJS&lt;/a&gt; &lt;/p&gt; &lt;p style="font-size:13px;color:#555;margin:9px 0 3px 0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;"&gt; &lt;span&gt;Posted:&lt;/span&gt; 02 Oct 2011 08:51 PM PDT&lt;/p&gt; &lt;div style="margin:0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt;&lt;p&gt;传统上，加载Javascript文件都是使用&amp;lt;script&amp;gt;标签。&lt;/p&gt;&lt;p&gt;就像下面这样：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　&amp;lt;script type="text/javascript" src="example.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201110/bg2011100301.png" /&gt;&lt;/p&gt;  &lt;p&gt;&amp;lt;script&amp;gt;标签很方便，只要加入网页，浏览器就会读取并运行。但是，它存在一些严重的缺陷。&lt;/p&gt;  &lt;p&gt;　　&lt;strong&gt;（1）严格的读取顺序。&lt;/strong&gt;由于浏览器按照&amp;lt;script&amp;gt;在网页中出现的顺序，读取Javascript文件，然后立即运行，导致在多个文件互相依赖的情况下，依赖性最小的文件必须放在最前面，依赖性最大的文件必须放在最后面，否则代码会报错。&lt;/p&gt;  &lt;p&gt;　　&lt;strong&gt;（2）性能问题。&lt;/strong&gt;浏览器采用"同步模式"加载&amp;lt;script&amp;gt;标签，也就是说，页面会"堵塞"（blocking），等待javascript文件加载完成，然后再运行后面的HTML代码。当存在多个&amp;lt;script&amp;gt;标签时，浏览器无法同时读取，必须读取完一个再去读取另一个，造成读取时间大大延长，页面响应缓慢。&lt;/p&gt;  &lt;p&gt;为了解决这些问题，可以使用DOM方法，动态加载Javascript文件。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　function loadScript(url){&lt;/p&gt;  &lt;p&gt;　　　　var script = document.createElement("script");&lt;/p&gt;  &lt;p&gt;　　　　script.type = "text/javascript";&lt;/p&gt;  &lt;p&gt;　　　　script.src = url;&lt;/p&gt;  &lt;p&gt;　　　　document.body.appendChild(script);&lt;/p&gt;  &lt;p&gt;　　}&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;这样做的原理是，浏览器即时创造出一个&amp;lt;script&amp;gt;标签，然后"异步"读取Javascript文件。这样不会造成页面堵塞，但会造成另外一个问题：这样加载的Javascript文件，不在原始的DOM结构之中，因此在DOM-ready（DOMContentLoaded）事件和window.onload事件中指定的回调函数对它无效。&lt;/p&gt;  &lt;p&gt;外部函数库&lt;a href="http://labjs.com/"&gt;LABjs&lt;/a&gt;和&lt;a href="http://requirejs.org/"&gt;RequireJS&lt;/a&gt;，可以帮助我们更有效地管理Javascript加载。 &lt;/p&gt;  &lt;p&gt;下面根据&lt;a href="http://msdn.microsoft.com/en-us/scriptjunkie/ff943568"&gt;ScriptJunkie&lt;/a&gt;的文章，举一个最简单的例子，来说明这两个函数库的基本用法。更高级的用法，请参阅它们的文档。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　&amp;lt;script src="script1.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;/p&gt;  &lt;p&gt;　　&amp;lt;script src="script2-a.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;/p&gt;  &lt;p&gt;　　&amp;lt;script src="script2-b.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;/p&gt;  &lt;p&gt;　　&amp;lt;script type="text/javascript"&amp;gt;&lt;/p&gt;  &lt;p&gt;　　　　initScript1();&lt;/p&gt;  &lt;p&gt;　　　　initScript2();&lt;/p&gt;  &lt;p&gt;　　&amp;lt;/script&amp;gt;&lt;/p&gt;  &lt;p&gt;　　&amp;lt;script src="script3.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;/p&gt;  &lt;p&gt;　　&amp;lt;script type="text/javascript"&amp;gt;&lt;/p&gt;  &lt;p&gt;　　　　initScript3();&lt;/p&gt;  &lt;p&gt;　　&amp;lt;/script&amp;gt;&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;上面这段代码，将依次加载4个javascript文件：script1.js、script2-a.js、script2-b.js和script3.js。在加载完前三个文件后，运行两个函数initScript1()和initScript2()；加载完第四个文件后，再运行函数initScript3()。&lt;/p&gt;  &lt;p&gt;下面，用LABjs对其进行改写：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　&amp;lt;script src="LAB.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;/p&gt;  &lt;p&gt;　　&amp;lt;script type="text/javascript"&amp;gt;&lt;/p&gt;  &lt;p&gt;　　　　$LAB&lt;/p&gt;  &lt;p&gt;　　　　　.script("script1.js").wait()&lt;/p&gt;  &lt;p&gt;　　　　　.script("script2-a.js")&lt;/p&gt;  &lt;p&gt;　　　　　.script("script2-b.js")&lt;/p&gt;  &lt;p&gt;　　　　　.wait(function(){&lt;/p&gt;  &lt;p&gt;　　　　　　　initScript1();&lt;/p&gt;  &lt;p&gt;　　　　　　　initScript2();&lt;/p&gt;  &lt;p&gt;　　　　　})&lt;/p&gt;  &lt;p&gt;　　　　　.script("script3.js")&lt;/p&gt;  &lt;p&gt;　　　　　.wait(function(){&lt;/p&gt;  &lt;p&gt;　　　　　　　initScript3();&lt;/p&gt;  &lt;p&gt;　　　　　});&lt;/p&gt;  &lt;p&gt;　　&amp;lt;/script&amp;gt;&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;首先，$LAB对象替代了&amp;lt;script&amp;gt;标签，然后.script()方法表示加载Javascript文件，不带参数的.wait()方法表示立即运行刚才加载的Javascript文件，带参数的.wait()方法也是立即运行刚才加载的Javascript文件，但是还运行参数中指定的函数。&lt;/p&gt;  &lt;p&gt;这里需要注意的是，可以同时运行多条$LAB链，但是它们之间是完全独立的，不存在次序关系。如果你要确保一个Javascript文件在另一个文件之后运行，你只能把它们写在同一个链操作之中。只有当某些脚本是完全无关的时候，你才应该考虑把它们分成不同的$LAB链，表示它们之间不存在相关关系。&lt;/p&gt;  &lt;p&gt;接下来是requireJS的改写：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　&amp;lt;script src="require.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;/p&gt;  &lt;p&gt;　　&amp;lt;script type="text/javascript"&amp;gt;&lt;/p&gt;  &lt;p&gt;　　　　require([&lt;/p&gt;  &lt;p&gt;　　　　　　"script1.js",&lt;br /&gt; 　　　　　　"script2-a.js",&lt;br /&gt; 　　　　　　"script2-b.js",&lt;br /&gt; 　　　　　　"script3.js"&lt;/p&gt;  &lt;p&gt;　　　　　],&lt;/p&gt;  &lt;p&gt;　　　　　function(){&lt;/p&gt;  &lt;p&gt;　　　　　　initScript1();&lt;br /&gt; 　　　　　　initScript2();&lt;br /&gt; 　　　　　　initScript3();&lt;/p&gt;  &lt;p&gt;　　　　　}&lt;/p&gt;  &lt;p&gt;　　　　);&lt;/p&gt;  &lt;p&gt;　　&amp;lt;/script&amp;gt;&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;require()接受两个参数，第一个数组表示所要加载的Javascript文件，第二个是加载完成后所要运行的回调函数。原生的require()不支持按次序加载，所以四个Javascript文件到底先加载哪个，无法事前知道，require()只保证这四个文件全部加载完成之后，才会运行所指定的回调函数。&lt;/p&gt;  &lt;p&gt;如果按次序加载对你很重要，你可以使用官方提供的&lt;a href="http://requirejs.org/docs/api.html#order"&gt;order插件&lt;/a&gt;。&lt;/p&gt;  &lt;p&gt;（完）&lt;br /&gt; &lt;/p&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;border:1px solid #d3d3d3;margin:1em;background-color:#AAD2F0;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;h3&gt;文档信息&lt;/h3&gt; &lt;ul&gt; &lt;li&gt;版权声明：自由转载-非商用-非衍生-保持署名 | &lt;a href="http://creativecommons.org/licenses/by-nc-nd/3.0/deed.zh"&gt;Creative Commons BY-NC-ND 3.0&lt;/a&gt;&lt;/li&gt; &lt;li&gt;原文网址：&lt;a href="http://www.ruanyifeng.com/blog/2011/10/javascript_loading.html"&gt;http://www.ruanyifeng.com/blog/2011/10/javascript_loading.html&lt;/a&gt;&lt;/li&gt; &lt;li&gt;最后修改时间：2011年10月 3日 12:18&lt;/li&gt; &lt;li&gt;付费支持（&lt;a href="http://www.ruanyifeng.com/blog/2011/05/my_google_adsense_is_disabled.html" target="_blank" style="text-decoration:underline;"&gt;说明&lt;/a&gt;）：&lt;a href="https://lab.alipay.com/p.htm?id=2011081500435188" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/rmb_32.png" alt="支付宝担保交易" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; | &lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=yifeng.ruan@gmail.com&amp;currency_code=USD&amp;amount=0.3&amp;return=http://www.ruanyifeng.com/thank.html&amp;item_name=Ruan%20YiFeng's%20Blog&amp;undefined_quantity=1&amp;no_note=0" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/dollar_32.png"  alt="paypal" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;/div&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;margin:1em;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;table style="border-top:1px solid #999;padding-top:4px;margin-top:1.5em;width:100%" id="footer"&gt; &lt;tr&gt; &lt;td style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;You are subscribed to email updates from &lt;a href="http://www.ruanyifeng.com/blog/"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt;To stop receiving these emails, you may &lt;a href="http://feedburner.google.com/fb/a/mailunsubscribe?k=x5q3e3oXiwrRC8QL5seztLZik1c"&gt;unsubscribe now&lt;/a&gt;.&lt;/td&gt; &lt;td style="font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;text-align:right;vertical-align:top"&gt;Email delivery powered by Google&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td colspan="2" style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;Google Inc., 20 West Kinzie, Chicago IL USA 60610&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/145804083675914388-4722045641207820079?l=ruanyf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/4722045641207820079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/4722045641207820079'/><link rel='alternate' type='text/html' href='http://ruanyf.blogspot.com/2011/10/blog-post.html' title='阮一峰的网络日志'/><author><name>Ruan YiFeng</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-145804083675914388.post-4862402285504423223</id><published>2011-09-26T05:37:00.001-07:00</published><updated>2011-09-26T05:37:34.896-07:00</updated><title type='text'>阮一峰的网络日志</title><content type='html'>&lt;style type="text/css"&gt;                          h1 a:hover {background-color:#888;color:#fff ! important;}                          div#emailbody table#itemcontentlist tr td div ul {                                         list-style-type:square;                                         padding-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div blockquote {                                 padding-left:6px;                                 border-left: 6px solid #dadada;                                 margin-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div li {                                 margin-bottom:1em;                                 margin-left:1em;                         }                           table#itemcontentlist tr td a:link, table#itemcontentlist tr td a:visited, table#itemcontentlist tr td a:active, ul#summarylist li a {                                 color:#000099;                                 font-weight:bold;                                 text-decoration:none;                         }                                 img {border:none;}                   &lt;/style&gt; &lt;div xmlns="http://www.w3.org/1999/xhtml" id="emailbody" style="margin:0 2em;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt; &lt;table style="border:0;padding:0;margin:0;width:100%"&gt; &lt;tr&gt; &lt;td style="vertical-align:top" width="99%"&gt; &lt;h1 style="margin:0;padding-bottom:6px;"&gt; &lt;a style="color:#888;font-size:22px;font-family:Arial, Helvetica, sans-serif;font-weight:normal;text-decoration:none;" href="http://www.ruanyifeng.com/blog/" title="(http://www.ruanyifeng.com/blog/)"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt; &lt;a href="http://fusion.google.com/add?source=atgs&amp;amp;feedurl=http://feeds.feedburner.com/ruanyifeng"&gt; &lt;img style="padding-top:6px" alt="" border="0" src="http://gmodules.com/ig/images/plus_google.gif" /&gt; &lt;/a&gt; &lt;/h1&gt; &lt;/td&gt; &lt;td width="1%" /&gt; &lt;/tr&gt; &lt;/table&gt; &lt;hr style="border:1px solid #ccc;padding:0;margin:0" /&gt; &lt;table id="itemcontentlist"&gt; &lt;tr xmlns=""&gt; &lt;td style="margin-bottom:0;line-height:1.4em;"&gt; &lt;p style="margin:1em 0 3px 0;"&gt; &lt;a name="1" style="font-family:Arial, Helvetica, sans-serif;font-size:18px;" href="http://www.ruanyifeng.com/blog/2011/09/full-text_feed_reloaded.html"&gt;全文Feed重新发布&lt;/a&gt; &lt;/p&gt; &lt;p style="font-size:13px;color:#555;margin:9px 0 3px 0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;"&gt; &lt;span&gt;Posted:&lt;/span&gt; 26 Sep 2011 02:44 AM PDT&lt;/p&gt; &lt;div style="margin:0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt;&lt;p&gt;好几年前，我曾经发布过一些&lt;a href="http://www.ruanyifeng.com/blog/2008/04/some_full-text_news_feeds.html"&gt;新闻媒体&lt;/a&gt;的全文Feed。&lt;/p&gt;&lt;p&gt;当时，采用了Yahoo的&lt;a href="http://pipes.yahoo.com"&gt;Pipes&lt;/a&gt;服务。但是，那个服务不稳定，中文乱码问题始终无法解决。8月底，它改版以后，索性就不能用了。（对一家连&lt;a href="http://www.delicious.com/"&gt;Delicious&lt;/a&gt;都要卖掉的公司，你还能有什么期望呢？）&lt;/p&gt;  &lt;p&gt;放弃这些Feed，有些舍不得，毕竟它们可以提供大量有用信息。&lt;/p&gt;  &lt;p&gt;因此今天，我把"全文Feed服务"搬到了自己的服务器上。从此以后，我用自己的资源支持这个服务。&lt;/p&gt;  &lt;p&gt;下面是我目前维护的4个Feed，欢迎大家订阅。&lt;/p&gt;  &lt;p&gt;（说明：所有Feed托管在Feedburner上面，大陆读者只有用Feed阅读器订阅，直接点击会被屏蔽。）&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201109/bg2011092601.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1. 德国之声&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Feed：&lt;a href="http://feeds.feedburner.com/dw-world"&gt;http://feeds.feedburner.com/dw-world&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;[说明]&lt;/p&gt;  &lt;p&gt;来自德国的权威中文网站，聚焦德国、欧盟与中国的时事新闻话题，以及德中之间经济、文化动态。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201109/bg2011092602.gif" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;2. 华尔街日报（中文版）&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Feed：&lt;a href="http://feeds.feedburner.com/wsj_cn"&gt;http://feeds.feedburner.com/wsj_cn&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;[说明]&lt;/p&gt;  &lt;p&gt;《华尔街日报》中文版网站，提供美国、亚太、欧洲及中港台政治经济新闻。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201109/bg2011092603.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;3. 《体坛周报》国际足球&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Feed：&lt;a href="http://feeds.feedburner.com/titan_full"&gt;http://feeds.feedburner.com/titan_full&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;[说明]&lt;/p&gt;  &lt;p&gt;体坛网国际足球频道，详尽报道欧洲各大联赛。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201109/bg2011092604.gif" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;4. CNbeta&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Feed：&lt;a href="http://feeds.feedburner.com/cnbeta_full"&gt;http://feeds.feedburner.com/cnbeta_full&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;[说明]&lt;/p&gt;  &lt;p&gt;IT业界资讯。&lt;/p&gt;  &lt;p&gt;（完）&lt;br /&gt; &lt;/p&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;border:1px solid #d3d3d3;margin:1em;background-color:#AAD2F0;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;h3&gt;文档信息&lt;/h3&gt; &lt;ul&gt; &lt;li&gt;版权声明：自由转载-非商用-非衍生-保持署名 | &lt;a href="http://creativecommons.org/licenses/by-nc-nd/3.0/deed.zh"&gt;Creative Commons BY-NC-ND 3.0&lt;/a&gt;&lt;/li&gt; &lt;li&gt;原文网址：&lt;a href="http://www.ruanyifeng.com/blog/2011/09/full-text_feed_reloaded.html"&gt;http://www.ruanyifeng.com/blog/2011/09/full-text_feed_reloaded.html&lt;/a&gt;&lt;/li&gt; &lt;li&gt;最后修改时间：2011年9月26日 18:28&lt;/li&gt; &lt;li&gt;付费支持（&lt;a href="http://www.ruanyifeng.com/blog/2011/05/my_google_adsense_is_disabled.html" target="_blank" style="text-decoration:underline;"&gt;说明&lt;/a&gt;）：&lt;a href="https://lab.alipay.com/p.htm?id=2011081500435188" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/rmb_32.png" alt="支付宝担保交易" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; | &lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=yifeng.ruan@gmail.com&amp;currency_code=USD&amp;amount=0.3&amp;return=http://www.ruanyifeng.com/thank.html&amp;item_name=Ruan%20YiFeng's%20Blog&amp;undefined_quantity=1&amp;no_note=0" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/dollar_32.png"  alt="paypal" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;/div&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;margin:1em;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;p&gt;&lt;a href="http://www.nanrenwa.com/click/go/ruanyifeng.banner.feed.yfblogfeed/gift"&gt;&lt;img src="http://nanrenwa.com/_img/a/2011/yfblog_feed.png" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;table style="border-top:1px solid #999;padding-top:4px;margin-top:1.5em;width:100%" id="footer"&gt; &lt;tr&gt; &lt;td style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;You are subscribed to email updates from &lt;a href="http://www.ruanyifeng.com/blog/"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt;To stop receiving these emails, you may &lt;a href="http://feedburner.google.com/fb/a/mailunsubscribe?k=x5q3e3oXiwrRC8QL5seztLZik1c"&gt;unsubscribe now&lt;/a&gt;.&lt;/td&gt; &lt;td style="font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;text-align:right;vertical-align:top"&gt;Email delivery powered by Google&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td colspan="2" style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;Google Inc., 20 West Kinzie, Chicago IL USA 60610&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/145804083675914388-4862402285504423223?l=ruanyf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/4862402285504423223'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/4862402285504423223'/><link rel='alternate' type='text/html' href='http://ruanyf.blogspot.com/2011/09/blog-post_26.html' title='阮一峰的网络日志'/><author><name>Ruan YiFeng</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-145804083675914388.post-390420636678243457</id><published>2011-09-22T05:39:00.001-07:00</published><updated>2011-09-22T05:39:48.144-07:00</updated><title type='text'>阮一峰的网络日志</title><content type='html'>&lt;style type="text/css"&gt;                          h1 a:hover {background-color:#888;color:#fff ! important;}                          div#emailbody table#itemcontentlist tr td div ul {                                         list-style-type:square;                                         padding-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div blockquote {                                 padding-left:6px;                                 border-left: 6px solid #dadada;                                 margin-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div li {                                 margin-bottom:1em;                                 margin-left:1em;                         }                           table#itemcontentlist tr td a:link, table#itemcontentlist tr td a:visited, table#itemcontentlist tr td a:active, ul#summarylist li a {                                 color:#000099;                                 font-weight:bold;                                 text-decoration:none;                         }                                 img {border:none;}                   &lt;/style&gt; &lt;div xmlns="http://www.w3.org/1999/xhtml" id="emailbody" style="margin:0 2em;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt; &lt;table style="border:0;padding:0;margin:0;width:100%"&gt; &lt;tr&gt; &lt;td style="vertical-align:top" width="99%"&gt; &lt;h1 style="margin:0;padding-bottom:6px;"&gt; &lt;a style="color:#888;font-size:22px;font-family:Arial, Helvetica, sans-serif;font-weight:normal;text-decoration:none;" href="http://www.ruanyifeng.com/blog/" title="(http://www.ruanyifeng.com/blog/)"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt; &lt;a href="http://fusion.google.com/add?source=atgs&amp;amp;feedurl=http://feeds.feedburner.com/ruanyifeng"&gt; &lt;img style="padding-top:6px" alt="" border="0" src="http://gmodules.com/ig/images/plus_google.gif" /&gt; &lt;/a&gt; &lt;/h1&gt; &lt;/td&gt; &lt;td width="1%" /&gt; &lt;/tr&gt; &lt;/table&gt; &lt;hr style="border:1px solid #ccc;padding:0;margin:0" /&gt; &lt;table id="itemcontentlist"&gt; &lt;tr xmlns=""&gt; &lt;td style="margin-bottom:0;line-height:1.4em;"&gt; &lt;p style="margin:1em 0 3px 0;"&gt; &lt;a name="1" style="font-family:Arial, Helvetica, sans-serif;font-size:18px;" href="http://www.ruanyifeng.com/blog/2011/09/germany_pirate_party_s_victory.html"&gt;德国盗版党选举获胜的感想&lt;/a&gt; &lt;/p&gt; &lt;p style="font-size:13px;color:#555;margin:9px 0 3px 0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;"&gt; &lt;span&gt;Posted:&lt;/span&gt; 22 Sep 2011 01:14 AM PDT&lt;/p&gt; &lt;div style="margin:0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt;&lt;p&gt;上周日（9月18日），德国柏林地区选举的结果揭晓。&lt;/p&gt;&lt;p&gt;盗版党获得8.9%的选票，成功进入柏林议会，提名的15个候选人全部当选。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201109/bg2011092201.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;德国盗版党受瑞典盗版党的启发，成立于2006年。2009年议会选举，该党获得2%的选票，没有到达5%的门槛，无法进入议会。今年，总算成功了。&lt;/p&gt;  &lt;p&gt;这是除了瑞典以外（瑞典盗版党目前是该国在欧洲议会的第三大党），盗版党第一次在其他国家获得选举胜利。很多分析家认为，这个结果对未来的德国政治影响深远。&lt;/p&gt;  &lt;p&gt;大家看看照片，就知道为什么"影响深远"了。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201109/bg2011092202.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;（图片说明：电视辩论时，谁是盗版党一目了然。）&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201109/bg2011092203.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;（图片说明：盗版党议员与媒体见面。）&lt;/p&gt;  &lt;p&gt;我们常说，政治家必须反映人民的心声。有了盗版党，我们才意识到，政治家还必须看上去像人民，不能高高在上，装得一本正经，跟普通人一点不像。因为说到底，政治就是一群普通人的自我管理。&lt;/p&gt;  &lt;p&gt;盗版党的政治主张，非常简单，只有两点：&lt;/p&gt;  &lt;p&gt;　　&lt;strong&gt;（1）获取信息是一种人权。为了个人使用的目的，自由获取版权材料的权利，应该得到保护。&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;　　&lt;strong&gt;（2）反对网络审查。&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;从快速上升的支持率来看，这些主张正在得到越来越多的人的拥护。人们对现行版权制度和网络监管制度，感到越来越不满。&lt;/p&gt;  &lt;p&gt;盗版党的发起人和中坚分子，主要是程序员和计算机爱好者。一般来说，程序员对政治不太感兴趣，但是这不代表他们没有政治主张。&lt;/p&gt;  &lt;p&gt;Paul Graham在&lt;a href="http://www.ruanyifeng.com/docs/pg/"&gt;《黑客与画家》&lt;/a&gt;中这样说：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;"为什么程序员那么在乎言论自由？部分原因在于，革新对于软件行业实在太重要了，而革新和异端实际上是同一件事。"&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;如果政治家们漠视程序员的心声，强行维持一种封闭的制度，不允许自由表达，不允许改革，那么总有一天，程序员会登上政治舞台，领导一股新兴的、年轻的政治力量，彻底荡涤这个旧制度。&lt;/p&gt;  &lt;p&gt;（完）&lt;br /&gt; &lt;/p&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;border:1px solid #d3d3d3;margin:1em;background-color:#AAD2F0;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;h3&gt;文档信息&lt;/h3&gt; &lt;ul&gt; &lt;li&gt;版权声明：自由转载-非商用-非衍生-保持署名 | &lt;a href="http://creativecommons.org/licenses/by-nc-nd/3.0/deed.zh"&gt;Creative Commons BY-NC-ND 3.0&lt;/a&gt;&lt;/li&gt; &lt;li&gt;原文网址：&lt;a href="http://www.ruanyifeng.com/blog/2011/09/germany_pirate_party_s_victory.html"&gt;http://www.ruanyifeng.com/blog/2011/09/germany_pirate_party_s_victory.html&lt;/a&gt;&lt;/li&gt; &lt;li&gt;最后修改时间：2011年9月22日 19:51&lt;/li&gt; &lt;li&gt;付费支持（&lt;a href="http://www.ruanyifeng.com/blog/2011/05/my_google_adsense_is_disabled.html" target="_blank" style="text-decoration:underline;"&gt;说明&lt;/a&gt;）：&lt;a href="https://lab.alipay.com/p.htm?id=2011081500435188" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/rmb_32.png" alt="支付宝担保交易" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; | &lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=yifeng.ruan@gmail.com&amp;currency_code=USD&amp;amount=0.3&amp;return=http://www.ruanyifeng.com/thank.html&amp;item_name=Ruan%20YiFeng's%20Blog&amp;undefined_quantity=1&amp;no_note=0" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/dollar_32.png"  alt="paypal" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;/div&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;margin:1em;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;p&gt;&lt;a href="http://www.nanrenwa.com/click/go/ruanyifeng.banner.feed.yfblogfeed/gift"&gt;&lt;img src="http://nanrenwa.com/_img/a/2011/yfblog_feed.png" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;table style="border-top:1px solid #999;padding-top:4px;margin-top:1.5em;width:100%" id="footer"&gt; &lt;tr&gt; &lt;td style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;You are subscribed to email updates from &lt;a href="http://www.ruanyifeng.com/blog/"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt;To stop receiving these emails, you may &lt;a href="http://feedburner.google.com/fb/a/mailunsubscribe?k=x5q3e3oXiwrRC8QL5seztLZik1c"&gt;unsubscribe now&lt;/a&gt;.&lt;/td&gt; &lt;td style="font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;text-align:right;vertical-align:top"&gt;Email delivery powered by Google&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td colspan="2" style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;Google Inc., 20 West Kinzie, Chicago IL USA 60610&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/145804083675914388-390420636678243457?l=ruanyf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/390420636678243457'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/390420636678243457'/><link rel='alternate' type='text/html' href='http://ruanyf.blogspot.com/2011/09/blog-post_22.html' title='阮一峰的网络日志'/><author><name>Ruan YiFeng</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-145804083675914388.post-6218000038091353755</id><published>2011-09-18T05:03:00.001-07:00</published><updated>2011-09-18T05:03:40.814-07:00</updated><title type='text'>阮一峰的网络日志</title><content type='html'>&lt;style type="text/css"&gt;                          h1 a:hover {background-color:#888;color:#fff ! important;}                          div#emailbody table#itemcontentlist tr td div ul {                                         list-style-type:square;                                         padding-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div blockquote {                                 padding-left:6px;                                 border-left: 6px solid #dadada;                                 margin-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div li {                                 margin-bottom:1em;                                 margin-left:1em;                         }                           table#itemcontentlist tr td a:link, table#itemcontentlist tr td a:visited, table#itemcontentlist tr td a:active, ul#summarylist li a {                                 color:#000099;                                 font-weight:bold;                                 text-decoration:none;                         }                                 img {border:none;}                   &lt;/style&gt; &lt;div xmlns="http://www.w3.org/1999/xhtml" id="emailbody" style="margin:0 2em;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt; &lt;table style="border:0;padding:0;margin:0;width:100%"&gt; &lt;tr&gt; &lt;td style="vertical-align:top" width="99%"&gt; &lt;h1 style="margin:0;padding-bottom:6px;"&gt; &lt;a style="color:#888;font-size:22px;font-family:Arial, Helvetica, sans-serif;font-weight:normal;text-decoration:none;" href="http://www.ruanyifeng.com/blog/" title="(http://www.ruanyifeng.com/blog/)"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt; &lt;a href="http://fusion.google.com/add?source=atgs&amp;amp;feedurl=http://feeds.feedburner.com/ruanyifeng"&gt; &lt;img style="padding-top:6px" alt="" border="0" src="http://gmodules.com/ig/images/plus_google.gif" /&gt; &lt;/a&gt; &lt;/h1&gt; &lt;/td&gt; &lt;td width="1%" /&gt; &lt;/tr&gt; &lt;/table&gt; &lt;hr style="border:1px solid #ccc;padding:0;margin:0" /&gt; &lt;table id="itemcontentlist"&gt; &lt;tr xmlns=""&gt; &lt;td style="margin-bottom:0;line-height:1.4em;"&gt; &lt;p style="margin:1em 0 3px 0;"&gt; &lt;a name="1" style="font-family:Arial, Helvetica, sans-serif;font-size:18px;" href="http://www.ruanyifeng.com/blog/2011/09/c_programming_language_textbooks.html"&gt;学习C语言的教材&lt;/a&gt; &lt;/p&gt; &lt;p style="font-size:13px;color:#555;margin:9px 0 3px 0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;"&gt; &lt;span&gt;Posted:&lt;/span&gt; 18 Sep 2011 12:12 AM PDT&lt;/p&gt; &lt;div style="margin:0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt;&lt;p&gt;我的C语言是自学的，这些年看过不少教材。&lt;/p&gt;&lt;p&gt;下面，我对其中一些教材做个点评。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1. How to Think Like a Computer Scientist: C version&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201109/bg2011091801.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;这是我读过最易懂的C语言教材。&lt;/p&gt;  &lt;p&gt;虽然它只讲解最基本的语法，但是写得特别好懂，深入浅出，读起来不觉得累，而且它还允许免费下载。我认为，这是C语言的首选入门教材。&lt;/p&gt;  &lt;p&gt;下载网址：&lt;a href="http://prof.beuth-hochschule.de/scheffler/lehre/programmieren-in-c/"&gt;http://prof.beuth-hochschule.de/scheffler/lehre/programmieren-in-c/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;2. C Primer Plus&lt;/strong&gt;和&lt;strong&gt;C Programming: A Modern Approach&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201109/bg2011091802.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201109/bg2011091803.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;上面这两本，都是著名的C语言初级教材，都是厚厚的大部头。&lt;/p&gt;  &lt;p&gt;我通读过它们，感觉都写得不错，都值得推荐。但是因为这两本书定位类似，内容重复，相比之下，我觉得C Primer Plus可能更适合中国读者的思维，更易读一些。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;3. C Programming Language (2nd Edition)&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201109/bg2011091804.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;这是最著名的C语言书籍。&lt;/p&gt;  &lt;p&gt;但是，它不是写给初学者看的，更偏重C语言的编程技巧和算法思维。我读过两遍，还是觉得很多地方没读懂。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;4. 国产教材&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;通常来说，国产教材质量不高，不值得推荐。但是有两本，我想特别提一下。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;《零基础学C语言》&lt;/strong&gt;，康莉等著，机械工业出版社，2009。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201109/bg2011091805.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;这本是我在图书馆里偶然捡起来的，翻了几页，发现是原创的，而且写得比较认真，代码解释详尽，行文错误少，就把它读完了。我认为，在国产教材中，这本书的质量很高，值得推荐。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;《Linux C编程一站式学习》&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201109/bg2011091806.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;这本书在国产书籍中罕见地采用了GFDL许可证，&lt;a href="http://learn.akae.cn"&gt;http://learn.akae.cn&lt;/a&gt;有在线阅读，可以免费下载。这一点值得高度肯定。&lt;/p&gt;  &lt;p&gt;但是，正如前言所说，它的主要资料来源是两本英语教材《How To Think Like A Computer Scientist: Learning with C++》和《Programming from the Ground Up》，以及一些教师的上课讲义，然后拼在一起，做成一本书。所以，造成它的体系比较生硬，缺乏整体感，衔接得不好，很多地方没有做到由潜入深、循序渐进。所以，我觉得这本书不适合初学者，可以当做手册查资料。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;5. Beginning Linux Programming&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201109/bg2011091807.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;这是我现在正在阅读的书。我看它在Amazon上排名Linux C编程的第一位，就选了它。&lt;/p&gt;  &lt;p&gt;它主要讲解如何用C语言调用Linux的系统API，偏重基本概念的解释，我已经读了两章，感觉还不错。&lt;/p&gt;  &lt;p&gt;=================================&lt;/p&gt;  &lt;p&gt;下面想听听大家的意见。&lt;/p&gt;  &lt;p&gt;我现在的C语言，到了这样一个水平：语法已经基本掌握了，可以独立开发一些小程序。下一步，我想进一步提高C语言水平，主要用于Linux开发。&lt;/p&gt;  &lt;p&gt;大家能不能推荐一些C语言的中级教材？&lt;/p&gt;  &lt;p&gt;（完）&lt;br /&gt; &lt;/p&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;border:1px solid #d3d3d3;margin:1em;background-color:#AAD2F0;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;h3&gt;文档信息&lt;/h3&gt; &lt;ul&gt; &lt;li&gt;版权声明：自由转载-非商用-非衍生-保持署名 | &lt;a href="http://creativecommons.org/licenses/by-nc-nd/3.0/deed.zh"&gt;Creative Commons BY-NC-ND 3.0&lt;/a&gt;&lt;/li&gt; &lt;li&gt;原文网址：&lt;a href="http://www.ruanyifeng.com/blog/2011/09/c_programming_language_textbooks.html"&gt;http://www.ruanyifeng.com/blog/2011/09/c_programming_language_textbooks.html&lt;/a&gt;&lt;/li&gt; &lt;li&gt;最后修改时间：2011年9月18日 19:49&lt;/li&gt; &lt;li&gt;付费支持（&lt;a href="http://www.ruanyifeng.com/blog/2011/05/my_google_adsense_is_disabled.html" target="_blank" style="text-decoration:underline;"&gt;说明&lt;/a&gt;）：&lt;a href="https://lab.alipay.com/p.htm?id=2011081500435188" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/rmb_32.png" alt="支付宝担保交易" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; | &lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=yifeng.ruan@gmail.com&amp;currency_code=USD&amp;amount=0.3&amp;return=http://www.ruanyifeng.com/thank.html&amp;item_name=Ruan%20YiFeng's%20Blog&amp;undefined_quantity=1&amp;no_note=0" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/dollar_32.png"  alt="paypal" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;/div&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;margin:1em;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;p&gt;&lt;a href="http://www.nanrenwa.com/click/go/ruanyifeng.banner.feed.yfblogfeed/gift"&gt;&lt;img src="http://nanrenwa.com/_img/a/2011/yfblog_feed.png" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;table style="border-top:1px solid #999;padding-top:4px;margin-top:1.5em;width:100%" id="footer"&gt; &lt;tr&gt; &lt;td style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;You are subscribed to email updates from &lt;a href="http://www.ruanyifeng.com/blog/"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt;To stop receiving these emails, you may &lt;a href="http://feedburner.google.com/fb/a/mailunsubscribe?k=x5q3e3oXiwrRC8QL5seztLZik1c"&gt;unsubscribe now&lt;/a&gt;.&lt;/td&gt; &lt;td style="font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;text-align:right;vertical-align:top"&gt;Email delivery powered by Google&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td colspan="2" style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;Google Inc., 20 West Kinzie, Chicago IL USA 60610&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/145804083675914388-6218000038091353755?l=ruanyf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/6218000038091353755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/6218000038091353755'/><link rel='alternate' type='text/html' href='http://ruanyf.blogspot.com/2011/09/blog-post_18.html' title='阮一峰的网络日志'/><author><name>Ruan YiFeng</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-145804083675914388.post-7109739369886456099</id><published>2011-09-12T05:11:00.001-07:00</published><updated>2011-09-12T05:11:47.030-07:00</updated><title type='text'>阮一峰的网络日志</title><content type='html'>&lt;style type="text/css"&gt;                          h1 a:hover {background-color:#888;color:#fff ! important;}                          div#emailbody table#itemcontentlist tr td div ul {                                         list-style-type:square;                                         padding-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div blockquote {                                 padding-left:6px;                                 border-left: 6px solid #dadada;                                 margin-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div li {                                 margin-bottom:1em;                                 margin-left:1em;                         }                           table#itemcontentlist tr td a:link, table#itemcontentlist tr td a:visited, table#itemcontentlist tr td a:active, ul#summarylist li a {                                 color:#000099;                                 font-weight:bold;                                 text-decoration:none;                         }                                 img {border:none;}                   &lt;/style&gt; &lt;div xmlns="http://www.w3.org/1999/xhtml" id="emailbody" style="margin:0 2em;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt; &lt;table style="border:0;padding:0;margin:0;width:100%"&gt; &lt;tr&gt; &lt;td style="vertical-align:top" width="99%"&gt; &lt;h1 style="margin:0;padding-bottom:6px;"&gt; &lt;a style="color:#888;font-size:22px;font-family:Arial, Helvetica, sans-serif;font-weight:normal;text-decoration:none;" href="http://www.ruanyifeng.com/blog/" title="(http://www.ruanyifeng.com/blog/)"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt; &lt;a href="http://fusion.google.com/add?source=atgs&amp;amp;feedurl=http://feeds.feedburner.com/ruanyifeng"&gt; &lt;img style="padding-top:6px" alt="" border="0" src="http://gmodules.com/ig/images/plus_google.gif" /&gt; &lt;/a&gt; &lt;/h1&gt; &lt;/td&gt; &lt;td width="1%" /&gt; &lt;/tr&gt; &lt;/table&gt; &lt;hr style="border:1px solid #ccc;padding:0;margin:0" /&gt; &lt;table id="itemcontentlist"&gt; &lt;tr xmlns=""&gt; &lt;td style="margin-bottom:0;line-height:1.4em;"&gt; &lt;p style="margin:1em 0 3px 0;"&gt; &lt;a name="1" style="font-family:Arial, Helvetica, sans-serif;font-size:18px;" href="http://www.ruanyifeng.com/blog/2011/09/restful.html"&gt;理解RESTful架构&lt;/a&gt; &lt;/p&gt; &lt;p style="font-size:13px;color:#555;margin:9px 0 3px 0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;"&gt; &lt;span&gt;Posted:&lt;/span&gt; 12 Sep 2011 12:53 AM PDT&lt;/p&gt; &lt;div style="margin:0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt;&lt;p&gt;越来越多的人开始意识到，&lt;strong&gt;网站即软件&lt;/strong&gt;，而且是一种新型的软件。&lt;/p&gt;&lt;p&gt;这种"互联网软件"采用客户端/服务器模式，建立在分布式体系上，通过互联网通信，具有高延时（high latency）、高并发等特点。&lt;/p&gt;  &lt;p&gt;网站开发，完全可以采用软件开发的模式。但是传统上，软件和网络是两个不同的领域，很少有交集；软件开发主要针对单机环境，网络则主要研究系统之间的通信。互联网的兴起，使得这两个领域开始融合，&lt;strong&gt;现在我们必须考虑，如何开发在互联网环境中使用的软件。&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201109/bg2011091202.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;RESTful架构，就是目前最流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便，所以正得到越来越多网站的采用。&lt;/p&gt;  &lt;p&gt;但是，到底什么是RESTful架构，并不是一个容易说清楚的问题。下面，我就谈谈我理解的RESTful架构。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;一、起源&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;REST这个词，是&lt;a href="http://en.wikipedia.org/wiki/Roy_Fielding"&gt;Roy Thomas Fielding&lt;/a&gt;在他2000年的&lt;a href="http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm"&gt;博士论文&lt;/a&gt;中提出的。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201109/bg2011091201.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;Fielding是一个非常重要的人，他是HTTP协议（1.0版和1.1版）的主要设计者、Apache服务器软件的作者之一、Apache基金会的第一任主席。所以，他的这篇论文一经发表，就引起了关注，并且立即对互联网开发产生了深远的影响。&lt;/p&gt;  &lt;p&gt;他这样介绍论文的写作目的：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;"本文研究计算机科学两大前沿----软件和网络----的交叉点。长期以来，软件研究主要关注软件设计的分类、设计方法的演化，很少客观地评估不同的设计选择对系统行为的影响。而相反地，网络研究主要关注系统之间通信行为的细节、如何改进特定通信机制的表现，常常忽视了一个事实，那就是改变应用程序的互动风格比改变互动协议，对整体表现有更大的影响。&lt;strong&gt;我这篇文章的写作目的，就是想在符合架构原理的前提下，理解和评估以网络为基础的应用软件的架构设计，得到一个功能强、性能好、适宜通信的架构。&lt;/strong&gt;"&lt;/p&gt;  &lt;p&gt;(This dissertation explores a junction on the frontiers of two research disciplines in computer science: software and networking. Software research has long been concerned with the categorization of software designs and the development of design methodologies, but has rarely been able to objectively evaluate the impact of various design choices on system behavior. Networking research, in contrast, is focused on the details of generic communication behavior between systems and improving the performance of particular communication techniques, often ignoring the fact that changing the interaction style of an application can have more impact on performance than the communication protocols used for that interaction. My work is motivated by the desire to understand and evaluate the architectural design of network-based application software through principled use of architectural constraints, thereby obtaining the functional, performance, and social properties desired of an architecture. )&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;二、名称&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Fielding将他对互联网软件的架构原则，定名为REST，即Representational State Transfer的缩写。我对这个词组的翻译是"表现层状态转化"。&lt;/p&gt;  &lt;p&gt;如果一个架构符合REST原则，就称它为RESTful架构。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;要理解RESTful架构，最好的方法就是去理解Representational State Transfer这个词组到底是什么意思，它的每一个词代表了什么涵义。&lt;/strong&gt;如果你把这个名称搞懂了，也就不难体会REST是一种什么样的设计。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;三、资源（Resources）&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;REST的名称"表现层状态转化"中，省略了主语。"表现层"其实指的是"资源"（Resources）的"表现层"。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;所谓"资源"，就是网络上的一个实体，或者说是网络上的一个具体信息。&lt;/strong&gt;它可以是一段文本、一张图片、一首歌曲、一种服务，总之就是一个具体的实在。你可以用一个URI（统一资源定位符）指向它，每种资源对应一个特定的URI。要获取这个资源，访问它的URI就可以，因此URI就成了每一个资源的地址或独一无二的识别符。&lt;/p&gt;  &lt;p&gt;所谓"上网"，就是与互联网上一系列的"资源"互动，调用它的URI。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;四、表现层（Representation）&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;"资源"是一种信息实体，它可以有多种外在表现形式。&lt;strong&gt;我们把"资源"具体呈现出来的形式，叫做它的"表现层"（Representation）。&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;比如，文本可以用txt格式表现，也可以用HTML格式、XML格式、JSON格式表现，甚至可以采用二进制格式；图片可以用JPG格式表现，也可以用PNG格式表现。&lt;/p&gt;  &lt;p&gt;URI只代表资源的实体，不代表它的形式。严格地说，有些网址最后的".html"后缀名是不必要的，因为这个后缀名表示格式，属于"表现层"范畴，而URI应该只代表"资源"的位置。它的具体表现形式，应该在HTTP请求的头信息中用Accept和Content-Type字段指定，这两个字段才是对"表现层"的描述。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;五、状态转化（State Transfer）&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;访问一个网站，就代表了客户端和服务器的一个互动过程。在这个过程中，势必涉及到数据和状态的变化。&lt;/p&gt;  &lt;p&gt;互联网通信协议HTTP协议，是一个无状态协议。这意味着，所有的状态都保存在服务器端。因此，&lt;strong&gt;如果客户端想要操作服务器，必须通过某种手段，让服务器端发生"状态转化"（State Transfer）。而这种转化是建立在表现层之上的，所以就是"表现层状态转化"。&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;客户端用到的手段，只能是HTTP协议。具体来说，就是HTTP协议里面，四个表示操作方式的动词：GET、POST、PUT、DELETE。它们分别对应四种基本操作：&lt;strong&gt;GET用来获取资源，POST用来新建资源（也可以用于更新资源），PUT用来更新资源，DELETE用来删除资源。&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;六、综述&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;综合上面的解释，我们总结一下什么是RESTful架构：&lt;/p&gt;  &lt;p&gt;　　（1）每一个URI代表一种资源；&lt;/p&gt;  &lt;p&gt;　　（2）客户端和服务器之间，传递这种资源的某种表现层；&lt;/p&gt;  &lt;p&gt;　　（3）客户端通过四个HTTP动词，对服务器端资源进行操作，实现"表现层状态转化"。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;七、误区&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;RESTful架构有一些典型的设计误区。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;最常见的一种设计错误，就是URI包含动词。&lt;/strong&gt;因为"资源"表示一种实体，所以应该是名词，URI不应该有动词，动词应该放在HTTP协议中。&lt;/p&gt;  &lt;p&gt;举例来说，某个URI是/posts/show/1，其中show是动词，这个URI就设计错了，正确的写法应该是/posts/1，然后用GET方法表示show。&lt;/p&gt;  &lt;p&gt;如果某些动作是HTTP动词表示不了的，你就应该把动作做成一种资源。比如网上汇款，从账户1向账户2汇款500元，错误的URI是：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　POST /accounts/1/transfer/500/to/2&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;正确的写法是把动词transfer改成名词transaction，资源不能是动词，但是可以是一种服务：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　POST /transaction HTTP/1.1&lt;br /&gt; 　　Host: 127.0.0.1&lt;br /&gt; 　　&lt;br /&gt; 　　from=1&amp;to=2&amp;amount=500.00&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;另一个设计误区，就是在URI中加入版本号&lt;/strong&gt;：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　http://www.example.com/app/1.0/foo&lt;/p&gt;  &lt;p&gt;　　http://www.example.com/app/1.1/foo&lt;/p&gt;  &lt;p&gt;　　http://www.example.com/app/2.0/foo&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;因为不同的版本，可以理解成同一种资源的不同表现形式，所以应该采用同一个URI。版本号可以在HTTP请求头信息的Accept字段中进行区分（参见&lt;a href="http://www.informit.com/articles/article.aspx?p=1566460"&gt;Versioning REST Services&lt;/a&gt;）：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　Accept: vnd.example-com.foo+json; version=1.0&lt;/p&gt;  &lt;p&gt;　　Accept: vnd.example-com.foo+json; version=1.1&lt;/p&gt;  &lt;p&gt;　　Accept: vnd.example-com.foo+json; version=2.0&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;（完）&lt;/p&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;border:1px solid #d3d3d3;margin:1em;background-color:#AAD2F0;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;h3&gt;文档信息&lt;/h3&gt; &lt;ul&gt; &lt;li&gt;版权声明：自由转载-非商用-非衍生-保持署名 | &lt;a href="http://creativecommons.org/licenses/by-nc-nd/3.0/deed.zh"&gt;Creative Commons BY-NC-ND 3.0&lt;/a&gt;&lt;/li&gt; &lt;li&gt;原文网址：&lt;a href="http://www.ruanyifeng.com/blog/2011/09/restful.html"&gt;http://www.ruanyifeng.com/blog/2011/09/restful.html&lt;/a&gt;&lt;/li&gt; &lt;li&gt;最后修改时间：2011年9月12日 17:36&lt;/li&gt; &lt;li&gt;付费支持（&lt;a href="http://www.ruanyifeng.com/blog/2011/05/my_google_adsense_is_disabled.html" target="_blank" style="text-decoration:underline;"&gt;说明&lt;/a&gt;）：&lt;a href="https://lab.alipay.com/p.htm?id=2011081500435188" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/rmb_32.png" alt="支付宝担保交易" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; | &lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=yifeng.ruan@gmail.com&amp;currency_code=USD&amp;amount=0.3&amp;return=http://www.ruanyifeng.com/thank.html&amp;item_name=Ruan%20YiFeng's%20Blog&amp;undefined_quantity=1&amp;no_note=0" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/dollar_32.png"  alt="paypal" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;/div&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;margin:1em;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;p&gt;&lt;a href="http://www.nanrenwa.com/click/go/ruanyifeng.banner.feed.yfblogfeed/gift"&gt;&lt;img src="http://nanrenwa.com/_img/a/2011/yfblog_feed.png" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;table style="border-top:1px solid #999;padding-top:4px;margin-top:1.5em;width:100%" id="footer"&gt; &lt;tr&gt; &lt;td style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;You are subscribed to email updates from &lt;a href="http://www.ruanyifeng.com/blog/"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt;To stop receiving these emails, you may &lt;a href="http://feedburner.google.com/fb/a/mailunsubscribe?k=x5q3e3oXiwrRC8QL5seztLZik1c"&gt;unsubscribe now&lt;/a&gt;.&lt;/td&gt; &lt;td style="font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;text-align:right;vertical-align:top"&gt;Email delivery powered by Google&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td colspan="2" style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;Google Inc., 20 West Kinzie, Chicago IL USA 60610&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/145804083675914388-7109739369886456099?l=ruanyf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/7109739369886456099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/7109739369886456099'/><link rel='alternate' type='text/html' href='http://ruanyf.blogspot.com/2011/09/blog-post_12.html' title='阮一峰的网络日志'/><author><name>Ruan YiFeng</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-145804083675914388.post-2821293241888686131</id><published>2011-09-09T05:14:00.001-07:00</published><updated>2011-09-09T05:14:02.422-07:00</updated><title type='text'>阮一峰的网络日志</title><content type='html'>&lt;style type="text/css"&gt;                          h1 a:hover {background-color:#888;color:#fff ! important;}                          div#emailbody table#itemcontentlist tr td div ul {                                         list-style-type:square;                                         padding-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div blockquote {                                 padding-left:6px;                                 border-left: 6px solid #dadada;                                 margin-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div li {                                 margin-bottom:1em;                                 margin-left:1em;                         }                           table#itemcontentlist tr td a:link, table#itemcontentlist tr td a:visited, table#itemcontentlist tr td a:active, ul#summarylist li a {                                 color:#000099;                                 font-weight:bold;                                 text-decoration:none;                         }                                 img {border:none;}                   &lt;/style&gt; &lt;div xmlns="http://www.w3.org/1999/xhtml" id="emailbody" style="margin:0 2em;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt; &lt;table style="border:0;padding:0;margin:0;width:100%"&gt; &lt;tr&gt; &lt;td style="vertical-align:top" width="99%"&gt; &lt;h1 style="margin:0;padding-bottom:6px;"&gt; &lt;a style="color:#888;font-size:22px;font-family:Arial, Helvetica, sans-serif;font-weight:normal;text-decoration:none;" href="http://www.ruanyifeng.com/blog/" title="(http://www.ruanyifeng.com/blog/)"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt; &lt;a href="http://fusion.google.com/add?source=atgs&amp;amp;feedurl=http://feeds.feedburner.com/ruanyifeng"&gt; &lt;img style="padding-top:6px" alt="" border="0" src="http://gmodules.com/ig/images/plus_google.gif" /&gt; &lt;/a&gt; &lt;/h1&gt; &lt;/td&gt; &lt;td width="1%" /&gt; &lt;/tr&gt; &lt;/table&gt; &lt;hr style="border:1px solid #ccc;padding:0;margin:0" /&gt; &lt;table id="itemcontentlist"&gt; &lt;tr xmlns=""&gt; &lt;td style="margin-bottom:0;line-height:1.4em;"&gt; &lt;p style="margin:1em 0 3px 0;"&gt; &lt;a name="1" style="font-family:Arial, Helvetica, sans-serif;font-size:18px;" href="http://www.ruanyifeng.com/blog/2011/09/michael_s_hart_passed_away.html"&gt;Michael S. Hart去世了&lt;/a&gt; &lt;/p&gt; &lt;p style="font-size:13px;color:#555;margin:9px 0 3px 0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;"&gt; &lt;span&gt;Posted:&lt;/span&gt; 08 Sep 2011 01:44 PM PDT&lt;/p&gt; &lt;div style="margin:0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt;&lt;p&gt;早上起床看到&lt;a href="http://www.gutenberg.org/wiki/Michael_S._Hart"&gt;讣告&lt;/a&gt;，古登堡计划宣布，创始人&lt;a href="http://en.wikipedia.org/wiki/Michael_S._Hart"&gt;Michael S. Hart&lt;/a&gt;（1947-2011）去世。我非常难受。&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.gutenberg.org"&gt;古登堡计划&lt;/a&gt;是世界上最早的电子书网站，全部由志愿者维护，主要提供公共领域的文史作品下载，完全免费。目前，藏书量约为36000种，囊括20世纪之前的主要英语文学作品。&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.gutenberg.org"&gt;&lt;img src="http://image.beekka.com/blog/201109/bg2011090901.png" style="border:none;" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;它是由Michael S. Hart在1971年创建的。那一年的7月4日，美国国庆日，24岁的Hart像往常一样，去伊利诺斯大学的机房上班。路过一家药店的时候，有人发给他一张传单，上面印着《独立宣言》。Hart看着这张传单，心想也许可以把它输入电脑，他就这样成了世界上第一个将《独立宣言》变成电子文本的人。（请注意，那个年代的电脑既没有显示器，也没有键盘，所谓"电子文本"指的就是一卷纸带，而制作纸带比键盘打字麻烦得多。）&lt;/p&gt;  &lt;p&gt;Hart意识到，电子文本的传播比纸质文本方便得多，可以让更多的人受益。从此一发不可收拾，他接连将《圣经》和莎士比亚作品输入电脑，并且发起了古登堡计划（古登堡是印刷机的发明者），号召全世界的志愿者加入，一起把公共领域的书籍变成电子文本，放上网供人们下载。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201109/bg2011090902.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;上世纪末，我开始上网的时候，Google和Wikipedia都还不存在。我想看英语小说，但是不知道哪里有。这时，我就发现了古登堡计划。我被它震惊了，世界上居然有人做这样的"傻事"：辛辛苦苦把一本书输入电脑，然后放上网供用户下载，一分钱也不收，只为了让你看到它，只为了让这个世界变得更美好一点！&lt;/p&gt;  &lt;p&gt;我就是从这个时候，开始明白了，有一种人生叫做"分享"，有一种方式叫做"合作"，有一种态度叫做"开放"，有一种精神叫做"奉献"。生命的意义或许就是让别人得到更多。后来，我在维基百科和开源软件中，一再目睹这种模式的威力，坚定了自己的人生也走这条道路的决心。&lt;/p&gt;  &lt;p&gt;Michael S. Hart与理查德·斯托曼一样，都是我心目中的英雄和伟人。他有一句口号&lt;strong&gt;"把电子书带给世界"&lt;/strong&gt;（Give the world eBooks），我一直觉得这是一句很伟大的话，就好像普罗米修斯说"把光明带给人类"。只有那些最了不起的人才有勇气说出这种话，并用一生实践它。&lt;/p&gt;  &lt;p&gt;几个月前，Michael S. Hart曾经写过一段话，很好地反映了他的想法：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;&lt;strong&gt;"大多数人没有意识到，电子书有一个特点。它是人类有史以来，制造出来的第一种像空气一样取之不竭的产品。如果你仔细思考这一点，你就会意识到，我们正在做正确的事情。"&lt;/strong&gt;（One thing about eBooks that most people haven't thought much is that eBooks are the very first thing that we're all able to have as much as we want other than air. Think about that for a moment and you realize we are in the right job.）&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;现在，他去世了，但是他开辟的事业永存。那是正确的道路，将一直有人走下去。&lt;/p&gt;  &lt;p&gt;四年前，"Book People"邮件列表关闭的时候，我曾经写过&lt;a href="http://www.ruanyifeng.com/blog/2007/11/book_people_mailing_list_to_end_at_the_end_of_the_month.html"&gt;一段&lt;/a&gt;话，我想套用在这里作为本文的结尾：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;"谢谢你，Michael S. Hart先生。感谢你所做的一切。在遥远的中国，这对一个青年的成长起到了决定性的影响。"&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;（完）&lt;br /&gt; &lt;/p&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;border:1px solid #d3d3d3;margin:1em;background-color:#AAD2F0;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;h3&gt;文档信息&lt;/h3&gt; &lt;ul&gt; &lt;li&gt;版权声明：自由转载-非商用-非衍生-保持署名 | &lt;a href="http://creativecommons.org/licenses/by-nc-nd/3.0/deed.zh"&gt;Creative Commons BY-NC-ND 3.0&lt;/a&gt;&lt;/li&gt; &lt;li&gt;原文网址：&lt;a href="http://www.ruanyifeng.com/blog/2011/09/michael_s_hart_passed_away.html"&gt;http://www.ruanyifeng.com/blog/2011/09/michael_s_hart_passed_away.html&lt;/a&gt;&lt;/li&gt; &lt;li&gt;最后修改时间：2011年9月 9日 19:21&lt;/li&gt; &lt;li&gt;付费支持（&lt;a href="http://www.ruanyifeng.com/blog/2011/05/my_google_adsense_is_disabled.html" target="_blank" style="text-decoration:underline;"&gt;说明&lt;/a&gt;）：&lt;a href="https://lab.alipay.com/p.htm?id=2011081500435188" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/rmb_32.png" alt="支付宝担保交易" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; | &lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=yifeng.ruan@gmail.com&amp;currency_code=USD&amp;amount=0.3&amp;return=http://www.ruanyifeng.com/thank.html&amp;item_name=Ruan%20YiFeng's%20Blog&amp;undefined_quantity=1&amp;no_note=0" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/dollar_32.png"  alt="paypal" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;/div&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;margin:1em;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;p&gt;&lt;a href="http://www.nanrenwa.com/click/go/ruanyifeng.banner.feed.yfblogfeed/gift"&gt;&lt;img src="http://nanrenwa.com/_img/a/2011/yfblog_feed.png" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;table style="border-top:1px solid #999;padding-top:4px;margin-top:1.5em;width:100%" id="footer"&gt; &lt;tr&gt; &lt;td style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;You are subscribed to email updates from &lt;a href="http://www.ruanyifeng.com/blog/"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt;To stop receiving these emails, you may &lt;a href="http://feedburner.google.com/fb/a/mailunsubscribe?k=x5q3e3oXiwrRC8QL5seztLZik1c"&gt;unsubscribe now&lt;/a&gt;.&lt;/td&gt; &lt;td style="font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;text-align:right;vertical-align:top"&gt;Email delivery powered by Google&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td colspan="2" style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;Google Inc., 20 West Kinzie, Chicago IL USA 60610&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/145804083675914388-2821293241888686131?l=ruanyf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/2821293241888686131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/2821293241888686131'/><link rel='alternate' type='text/html' href='http://ruanyf.blogspot.com/2011/09/blog-post_09.html' title='阮一峰的网络日志'/><author><name>Ruan YiFeng</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-145804083675914388.post-7077994365888700569</id><published>2011-09-04T05:18:00.001-07:00</published><updated>2011-09-04T05:18:08.168-07:00</updated><title type='text'>阮一峰的网络日志</title><content type='html'>&lt;style type="text/css"&gt;                          h1 a:hover {background-color:#888;color:#fff ! important;}                          div#emailbody table#itemcontentlist tr td div ul {                                         list-style-type:square;                                         padding-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div blockquote {                                 padding-left:6px;                                 border-left: 6px solid #dadada;                                 margin-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div li {                                 margin-bottom:1em;                                 margin-left:1em;                         }                           table#itemcontentlist tr td a:link, table#itemcontentlist tr td a:visited, table#itemcontentlist tr td a:active, ul#summarylist li a {                                 color:#000099;                                 font-weight:bold;                                 text-decoration:none;                         }                                 img {border:none;}                   &lt;/style&gt; &lt;div xmlns="http://www.w3.org/1999/xhtml" id="emailbody" style="margin:0 2em;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt; &lt;table style="border:0;padding:0;margin:0;width:100%"&gt; &lt;tr&gt; &lt;td style="vertical-align:top" width="99%"&gt; &lt;h1 style="margin:0;padding-bottom:6px;"&gt; &lt;a style="color:#888;font-size:22px;font-family:Arial, Helvetica, sans-serif;font-weight:normal;text-decoration:none;" href="http://www.ruanyifeng.com/blog/" title="(http://www.ruanyifeng.com/blog/)"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt; &lt;a href="http://fusion.google.com/add?source=atgs&amp;amp;feedurl=http://feeds.feedburner.com/ruanyifeng"&gt; &lt;img style="padding-top:6px" alt="" border="0" src="http://gmodules.com/ig/images/plus_google.gif" /&gt; &lt;/a&gt; &lt;/h1&gt; &lt;/td&gt; &lt;td width="1%" /&gt; &lt;/tr&gt; &lt;/table&gt; &lt;hr style="border:1px solid #ccc;padding:0;margin:0" /&gt; &lt;table id="itemcontentlist"&gt; &lt;tr xmlns=""&gt; &lt;td style="margin-bottom:0;line-height:1.4em;"&gt; &lt;p style="margin:1em 0 3px 0;"&gt; &lt;a name="1" style="font-family:Arial, Helvetica, sans-serif;font-size:18px;" href="http://www.ruanyifeng.com/blog/2011/09/curl.html"&gt;curl网站开发指南&lt;/a&gt; &lt;/p&gt; &lt;p style="font-size:13px;color:#555;margin:9px 0 3px 0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;"&gt; &lt;span&gt;Posted:&lt;/span&gt; 03 Sep 2011 08:20 PM PDT&lt;/p&gt; &lt;div style="margin:0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt;&lt;p&gt;我一向以为，&lt;a href="http://curl.haxx.se/"&gt;curl&lt;/a&gt;只是一个编程用的函数库。&lt;/p&gt;&lt;p&gt;最近才发现，这个命令本身，就是一个无比有用的网站开发工具，请看我整理的它的用法。&lt;/p&gt;  &lt;p&gt;===================================&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;curl网站开发指南&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;阮一峰 整理&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201109/bg2011090401.png" style="border:none;"/&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://curl.haxx.se/"&gt;curl&lt;/a&gt;是一种命令行工具，作用是发出网络请求，然后得到和提取数据，显示在"标准输出"（stdout）上面。&lt;/p&gt;  &lt;p&gt;它支持多种协议，下面举例讲解如何将它用于网站开发。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;一、查看网页源码&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;直接在curl命令后加上网址，就可以看到网页源码。我们以网址www.sina.com为例（选择该网址，主要因为它的网页代码较短）：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　curl www.sina.com&lt;/p&gt;  &lt;/blockquote&gt;  &lt;blockquote&gt;  &lt;p&gt;　　&amp;lt;!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"&amp;gt;&lt;br /&gt; 　　&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;&lt;br /&gt; 　　&amp;lt;title&amp;gt;301 Moved Permanently&amp;lt;/title&amp;gt;&lt;br /&gt; 　　&amp;lt;/head&amp;gt;&amp;lt;body&amp;gt;&lt;br /&gt; 　　&amp;lt;h1&amp;gt;Moved Permanently&amp;lt;/h1&amp;gt;&lt;br /&gt; 　　&amp;lt;p&amp;gt;The document has moved &amp;lt;a href="http://www.sina.com.cn/"&amp;gt;here&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt; 　　&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;如果要把这个网页保存下来，可以使用-o参数，这就相当于使用wget命令了。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　curl -o [文件名] www.sina.com&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;二、自动跳转&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;有的网址是自动跳转的。使用-L参数，curl就会跳转到新的网址。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　curl -L www.sina.com&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;键入上面的命令，结果就自动跳转为www.sina.com.cn。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;三、显示头信息&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;-i参数可以显示http response的头信息，连同网页代码一起。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　curl -i www.sina.com&lt;/p&gt;  &lt;/blockquote&gt;  &lt;blockquote&gt;  &lt;p&gt;　　HTTP/1.0 301 Moved Permanently&lt;br /&gt; 　　Date: Sat, 03 Sep 2011 23:44:10 GMT&lt;br /&gt; 　　Server: Apache/2.0.54 (Unix)&lt;br /&gt; 　　Location: http://www.sina.com.cn/&lt;br /&gt; 　　Cache-Control: max-age=3600&lt;br /&gt; 　　Expires: Sun, 04 Sep 2011 00:44:10 GMT&lt;br /&gt; 　　Vary: Accept-Encoding&lt;br /&gt; 　　Content-Length: 231&lt;br /&gt; 　　Content-Type: text/html; charset=iso-8859-1&lt;br /&gt; 　　Age: 3239&lt;br /&gt; 　　X-Cache: HIT from sh201-9.sina.com.cn&lt;br /&gt; 　　Connection: close&lt;/p&gt;  &lt;p&gt;　　&amp;lt;!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"&amp;gt;&lt;br /&gt; 　　&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;&lt;br /&gt; 　　&amp;lt;title&amp;gt;301 Moved Permanently&amp;lt;/title&amp;gt;&lt;br /&gt; 　　&amp;lt;/head&amp;gt;&amp;lt;body&amp;gt;&lt;br /&gt; 　　&amp;lt;h1&amp;gt;Moved Permanently&amp;lt;/h1&amp;gt;&lt;br /&gt; 　　&amp;lt;p&amp;gt;The document has moved &amp;lt;a href="http://www.sina.com.cn/"&amp;gt;here&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt; 　　&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;-I参数则是只显示http response的头信息。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;四、显示通信过程&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;-v参数可以显示一次http通信的整个过程，包括端口连接和http request头信息。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　curl -v www.sina.com&lt;/p&gt;  &lt;/blockquote&gt;  &lt;blockquote&gt;  &lt;p&gt;　　* About to connect() to www.sina.com port 80 (#0)&lt;br /&gt; 　　*   Trying 61.172.201.195... connected&lt;br /&gt; 　　* Connected to www.sina.com (61.172.201.195) port 80 (#0)&lt;br /&gt; 　　&amp;gt; GET / HTTP/1.1&lt;br /&gt; 　　&amp;gt; User-Agent: curl/7.21.3 (i686-pc-linux-gnu) libcurl/7.21.3 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.18&lt;br /&gt; 　　&amp;gt; Host: www.sina.com&lt;br /&gt; 　　&amp;gt; Accept: */*&lt;br /&gt; 　　&amp;gt; &lt;br /&gt; 　　* HTTP 1.0, assume close after body&lt;br /&gt; 　　&amp;lt; HTTP/1.0 301 Moved Permanently&lt;br /&gt; 　　&amp;lt; Date: Sun, 04 Sep 2011 00:42:39 GMT&lt;br /&gt; 　　&amp;lt; Server: Apache/2.0.54 (Unix)&lt;br /&gt; 　　&amp;lt; Location: http://www.sina.com.cn/&lt;br /&gt; 　　&amp;lt; Cache-Control: max-age=3600&lt;br /&gt; 　　&amp;lt; Expires: Sun, 04 Sep 2011 01:42:39 GMT&lt;br /&gt; 　　&amp;lt; Vary: Accept-Encoding&lt;br /&gt; 　　&amp;lt; Content-Length: 231&lt;br /&gt; 　　&amp;lt; Content-Type: text/html; charset=iso-8859-1&lt;br /&gt; 　　&amp;lt; X-Cache: MISS from sh201-19.sina.com.cn&lt;br /&gt; 　　&amp;lt; Connection: close&lt;br /&gt; 　　&amp;lt; &lt;br /&gt; 　　&amp;lt;!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"&amp;gt;&lt;br /&gt; 　　&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;&lt;br /&gt; 　　&amp;lt;title&amp;gt;301 Moved Permanently&amp;lt;/title&amp;gt;&lt;br /&gt; 　　&amp;lt;/head&amp;gt;&amp;lt;body&amp;gt;&lt;br /&gt; 　　&amp;lt;h1&amp;gt;Moved Permanently&amp;lt;/h1&amp;gt;&lt;br /&gt; 　　&amp;lt;p&amp;gt;The document has moved &amp;lt;a href="http://www.sina.com.cn/"&amp;gt;here&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt; 　　&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt; 　　* Closing connection #0&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;如果你觉得上面的信息还不够，那么下面的命令可以查看更详细的通信过程。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　curl --trace output.txt www.sina.com&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;或者&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　curl --trace-ascii output.txt www.sina.com&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;运行后，请打开output.txt文件查看。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;五、发送表单信息&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;发送表单信息有GET和POST两种方法。GET方法相对简单，只要把数据附在网址后面就行。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　curl example.com/form.cgi?data=xxx&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;POST方法必须把数据和网址分开，curl就要用到--data参数。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　curl --data "data=xxx" example.com/form.cgi&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;如果你的数据没有经过表单编码，还可以让curl为你编码，参数是--data-urlencode。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　curl --data-urlencode "date=April 1" example.com/form.cgi&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;六、文件上传&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;假定文件上传的表单是下面这样：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　&amp;lt;form method="POST" enctype='multipart/form-data' action="upload.cgi"&amp;gt;&lt;br /&gt; 　　　　&amp;lt;input type=file name=upload&amp;gt;&lt;br /&gt; 　　　　&amp;lt;input type=submit name=press value="OK"&amp;gt;&lt;br /&gt; 　　&amp;lt;/form&amp;gt;&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;你可以用curl这样上传文件：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　curl --form upload=@localfilename --form press=OK [URL]&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;七、Referer字段&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;有时你需要在http request头信息中，提供一个referer字段，表示你是从哪里跳转过来的。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　curl --referer http://www.example.com http://www.example.com&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;八、User Agent字段&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;这个字段是用来表示客户端的设备信息。服务器有时会根据这个字段，针对不同设备，返回不同格式的网页，比如手机版和桌面版。&lt;/p&gt;  &lt;p&gt;iPhone4的User Agent是&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;curl可以这样模拟：&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　curl --user-agent "[User Agent]" [URL]&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;九、cookie&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;使用--cookie参数，可以让curl发送cookie。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　curl --cookie "name=xxx" www.example.com&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;至于具体的cookie的值，可以从http response头信息的Set-Cookie字段中得到。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;十、增加头信息&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;有时需要在http request之中，自行增加一个头信息。--header参数就可以起到这个作用。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　curl --header "xxx: xxxxxx" http://example.com&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;十一、HTTP认证&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;有些网域需要HTTP认证，这时curl需要用到--user参数。&lt;/p&gt;  &lt;blockquote&gt;  &lt;p&gt;　　curl --user name:password example.com&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;【参考资料】&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;　　* &lt;a href="http://curl.haxx.se/docs/httpscripting.html"&gt;Using cURL to automate HTTP jobs&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;　　* &lt;a href="http://bbs.et8.net/bbs/showthread.php?t=568472"&gt;教你学用CURL&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;（完）&lt;br /&gt;  &lt;/p&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;border:1px solid #d3d3d3;margin:1em;background-color:#AAD2F0;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;h3&gt;文档信息&lt;/h3&gt; &lt;ul&gt; &lt;li&gt;版权声明：自由转载-非商用-非衍生-保持署名 | &lt;a href="http://creativecommons.org/licenses/by-nc-nd/3.0/deed.zh"&gt;Creative Commons BY-NC-ND 3.0&lt;/a&gt;&lt;/li&gt; &lt;li&gt;原文网址：&lt;a href="http://www.ruanyifeng.com/blog/2011/09/curl.html"&gt;http://www.ruanyifeng.com/blog/2011/09/curl.html&lt;/a&gt;&lt;/li&gt; &lt;li&gt;最后修改时间：2011年9月 4日 16:55&lt;/li&gt; &lt;li&gt;付费支持（&lt;a href="http://www.ruanyifeng.com/blog/2011/05/my_google_adsense_is_disabled.html" target="_blank" style="text-decoration:underline;"&gt;说明&lt;/a&gt;）：&lt;a href="https://lab.alipay.com/p.htm?id=2011081500435188" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/rmb_32.png" alt="支付宝担保交易" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; | &lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=yifeng.ruan@gmail.com&amp;currency_code=USD&amp;amount=0.3&amp;return=http://www.ruanyifeng.com/thank.html&amp;item_name=Ruan%20YiFeng's%20Blog&amp;undefined_quantity=1&amp;no_note=0" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/dollar_32.png"  alt="paypal" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;/div&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;margin:1em;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;p&gt;&lt;a href="http://www.nanrenwa.com/click/go/ruanyifeng.banner.feed.yfblogfeed/gift"&gt;&lt;img src="http://nanrenwa.com/_img/a/2011/yfblog_feed.png" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;table style="border-top:1px solid #999;padding-top:4px;margin-top:1.5em;width:100%" id="footer"&gt; &lt;tr&gt; &lt;td style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;You are subscribed to email updates from &lt;a href="http://www.ruanyifeng.com/blog/"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt;To stop receiving these emails, you may &lt;a href="http://feedburner.google.com/fb/a/mailunsubscribe?k=x5q3e3oXiwrRC8QL5seztLZik1c"&gt;unsubscribe now&lt;/a&gt;.&lt;/td&gt; &lt;td style="font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;text-align:right;vertical-align:top"&gt;Email delivery powered by Google&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td colspan="2" style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;Google Inc., 20 West Kinzie, Chicago IL USA 60610&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/145804083675914388-7077994365888700569?l=ruanyf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/7077994365888700569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/7077994365888700569'/><link rel='alternate' type='text/html' href='http://ruanyf.blogspot.com/2011/09/blog-post_04.html' title='阮一峰的网络日志'/><author><name>Ruan YiFeng</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-145804083675914388.post-8564782002507685056</id><published>2011-09-01T05:10:00.001-07:00</published><updated>2011-09-01T05:10:20.621-07:00</updated><title type='text'>阮一峰的网络日志</title><content type='html'>&lt;style type="text/css"&gt;                          h1 a:hover {background-color:#888;color:#fff ! important;}                          div#emailbody table#itemcontentlist tr td div ul {                                         list-style-type:square;                                         padding-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div blockquote {                                 padding-left:6px;                                 border-left: 6px solid #dadada;                                 margin-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div li {                                 margin-bottom:1em;                                 margin-left:1em;                         }                           table#itemcontentlist tr td a:link, table#itemcontentlist tr td a:visited, table#itemcontentlist tr td a:active, ul#summarylist li a {                                 color:#000099;                                 font-weight:bold;                                 text-decoration:none;                         }                                 img {border:none;}                   &lt;/style&gt; &lt;div xmlns="http://www.w3.org/1999/xhtml" id="emailbody" style="margin:0 2em;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt; &lt;table style="border:0;padding:0;margin:0;width:100%"&gt; &lt;tr&gt; &lt;td style="vertical-align:top" width="99%"&gt; &lt;h1 style="margin:0;padding-bottom:6px;"&gt; &lt;a style="color:#888;font-size:22px;font-family:Arial, Helvetica, sans-serif;font-weight:normal;text-decoration:none;" href="http://www.ruanyifeng.com/blog/" title="(http://www.ruanyifeng.com/blog/)"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt; &lt;a href="http://fusion.google.com/add?source=atgs&amp;amp;feedurl=http://feeds.feedburner.com/ruanyifeng"&gt; &lt;img style="padding-top:6px" alt="" border="0" src="http://gmodules.com/ig/images/plus_google.gif" /&gt; &lt;/a&gt; &lt;/h1&gt; &lt;/td&gt; &lt;td width="1%" /&gt; &lt;/tr&gt; &lt;/table&gt; &lt;hr style="border:1px solid #ccc;padding:0;margin:0" /&gt; &lt;table id="itemcontentlist"&gt; &lt;tr xmlns=""&gt; &lt;td style="margin-bottom:0;line-height:1.4em;"&gt; &lt;p style="margin:1em 0 3px 0;"&gt; &lt;a name="1" style="font-family:Arial, Helvetica, sans-serif;font-size:18px;" href="http://www.ruanyifeng.com/blog/2011/09/birth_of_sisi.html"&gt;思思诞生记（转载）&lt;/a&gt; &lt;/p&gt; &lt;p style="font-size:13px;color:#555;margin:9px 0 3px 0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;"&gt; &lt;span&gt;Posted:&lt;/span&gt; 01 Sep 2011 02:05 AM PDT&lt;/p&gt; &lt;div style="margin:0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt;&lt;p&gt;首先，插播一条消息。&lt;/p&gt;&lt;p&gt;去年七月，我曾去上海儿童医学中心，探望白血病儿童&lt;a href="http://www.ruanyifeng.com/blog/2010/07/saving_the_boy_ma_lizhi.html"&gt;马粒之&lt;/a&gt;。当时，他的情况很危险，癌症复发，但是他家已经接近破产，无力承担30万元的骨髓移植手术费。&lt;/p&gt;  &lt;p&gt;我在网志上呼吁大家为他捐款，经过社会各界的支援，最终募集到了&lt;a href="http://www.ruanyifeng.com/blog/2010/08/contributions_for_ma_lizhi_part_ii.html"&gt;四十多万元&lt;/a&gt;。2010年9月19日，马粒之进入隔离舱，完成了骨髓移植。&lt;/p&gt;  &lt;p&gt;一年过去了，病情没有复发，手术初步成功。昨天，他的爸爸马书柱告诉我，他们准备离开上海，返回老家了。具体情况请看他的&lt;a href="http://www.ruanyifeng.com/blog/2010/07/saving_the_boy_ma_lizhi.html#comment-226637"&gt;留言&lt;/a&gt;。&lt;/p&gt;  &lt;p&gt;我很高兴，没有辜负大家的信任，这件事情有了一个圆满的结果。谢谢所有去年捐过款的朋友，你们的爱心拯救了一个孩子的生命。&lt;/p&gt;  &lt;p&gt;马粒之能够活下来，全因为你们。我代表他谢谢大家。&lt;/p&gt;  &lt;p&gt;==============================================&lt;/p&gt;  &lt;p&gt;下面是今天我想说的另外一件事情，我需要大家的帮助。&lt;/p&gt;  &lt;p&gt;事情要从十年前讲起，请保持耐心读完。&lt;/p&gt;  &lt;p&gt;回到2002年，我管理着一个论坛。互联网上我最早的一些朋友，都是在那个论坛上认识的。&lt;/p&gt;  &lt;p&gt;当时，Pin还是一个小姑娘，刚从某个大专的"外贸英语"专业毕业，在浙江一个县里的私营家具公司当外贸业务员。有一次，她去迪拜参加家具展销会，回来后就兴冲冲地在论坛上分享她的&lt;a href="http://blog.bomoo.com/pin/%E6%88%91%E7%9A%84%E6%96%87%E7%AB%A0/%E4%BB%BF%E4%BD%9B%E5%B0%8F%E8%AF%B4/48%E5%B0%8F%E6%97%B6%E4%B9%8B%E7%BA%A6%E6%97%A6%EF%BC%881%EF%BC%89"&gt;迪拜见闻&lt;/a&gt;。那时，她对未来有很多幻想，会跟我们讨论，有个约旦客户在挖她，要不要去那里。&lt;/p&gt;  &lt;p&gt;后来，一家香港服装公司招聘菲律宾工厂的业务员，她就应聘了。在蚊虫出没的菲律宾乡下，她与当地的纺织女工，一起在集体宿舍里住了将近三年。&lt;/p&gt;  &lt;p&gt;每隔几个月，她会给我发一封邮件，谈谈&lt;a href="http://blog.bomoo.com/pin/%E6%88%91%E7%9A%84%E6%96%87%E7%AB%A0/%E7%94%9F%E6%B4%BB%E6%95%A3%E6%96%87/%E8%8F%B2%E5%BE%8B%E5%AE%BE%E6%9D%82%E6%84%9F"&gt;那里的生活&lt;/a&gt;。我记得，她说梦想回国后成为服装设计师，就报名参加了一个马尼拉的服装设计培训班，每周末借进城的机会去上课。&lt;/p&gt;  &lt;p&gt;但是，那终究只是一个梦想。2006年，Pin辞职回国了，想在青春消逝之前，确定自己的人生到底该干什么。除了被别人当做标准零件、在流水线上过完一生以外，她想看看还有没有其他出路。她先是在中国传媒大学参加了一个影视制作培训班，学费一万元，这花掉了她很大一部分积蓄。她在北京郊区租了一张床，每天单程坐两个小时公共汽车去听课。课程上完以后，每人拿到了一张结业证书，于是一切就这样结束。Pin发现，除了风沙以外，北京留给她的印象就是一个巨大冰冷的&lt;a href="http://blog.bomoo.com/pin/%E6%88%91%E7%9A%84%E6%96%87%E7%AB%A0/%E5%8F%AA%E8%A8%80%E7%89%87%E8%AF%AD"&gt;迷宫&lt;/a&gt;，对于她这样的外来者，奔波一天只能做一件事，甚至一件事也做不成。&lt;/p&gt;  &lt;p&gt;她回到武汉，在电台当实习记者，偶尔兼&lt;a href="http://blog.bomoo.com/pin/archives/169"&gt;主持人&lt;/a&gt;，但是终究拿不到正式编制。于是，她最后还是干上了老本行----&lt;a href="http://blog.bomoo.com/pin/archives/360"&gt;外贸培训&lt;/a&gt;，为企业培训外贸业务员。2010年12月，Pin结婚了，我们都为她找到归宿而感到高兴。&lt;/p&gt;  &lt;p&gt;但是，不幸的事件发生了。今年2月7日，新婚还不满三个月，她的丈夫因突发脑溢血&lt;a href="http://blog.bomoo.com/pin/archives/1509"&gt;去世&lt;/a&gt;，留下了她和肚子里的孩子。&lt;/p&gt;  &lt;p&gt;Pin忍着巨大的悲伤，在经济条件十分拮据的情况下，明知困难重重，依然决定要把孩子生下来，抚养成人。今年7月12日，她的女儿诞生了，取名为"思思"，思念的思。&lt;/p&gt;  &lt;p&gt;现在，她没有工作，一个人在家带孩子，经济压力非常大。她跟我说，这次分娩只花了3000多元，目前坚持用母乳喂养，希望老天保佑自己和孩子不要生病。我想请求大家帮帮她和她的女儿，能不能为她介绍一个合适的工作。（目前是哺乳期，只能兼职，几个月以后可以全职。）她现在武汉，但是其他城市也愿意去。&lt;/p&gt;  &lt;p&gt;她的Email是&lt;strong&gt;pin1121@163.com&lt;/strong&gt;，有意的朋友欢迎与她联系。&lt;/p&gt;  &lt;p&gt;谢谢。&lt;/p&gt;  &lt;p&gt;===============================================&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;思思诞生记&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;作者：Pin&lt;/p&gt;  &lt;p&gt;原文网址：&lt;a href="http://blog.bomoo.com/pin/archives/1535/"&gt;http://blog.bomoo.com/pin/archives/1535/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201109/bg2011090101.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;0.&lt;/p&gt;  &lt;p&gt;怀孕后第一个月，我有少量出血，这是我根本没想到自己怀孕的原因，我以为是月经。若是知道了的话，就不会飞赴菲律宾舟车劳顿地出差，在海里游泳以及傻乎乎地吃了不少感冒药。&lt;/p&gt;  &lt;p&gt;我的妊娠反应是困得要命，每天下班后第一件事就是想扑倒在床上，然后是晨呕，手心发烫，最后一项最特殊，就是屁股痛，据说只有2%的孕妇会产生这种坐骨神经痛。&lt;/p&gt;  &lt;p&gt;各种平媒广告里介绍的验孕棒真的不可信，我买过一根棒棒，说是出现两条线则说明怀孕，一条则是未孕----但棒棒显示的结果是第一条线明显，第二条若隐若现，我将丢入垃圾桶的棒棒捡起来不甘心地又观察过几次，这似怀非怀的，怎么个判断法呀?&lt;/p&gt;  &lt;p&gt;1.&lt;/p&gt;  &lt;p&gt;去医院挂号后排队等候诊断，进入诊室，前面队伍里，问及几孕几胎时，数字最多的居然是8孕1胎！我很庆幸自己报出0孕0胎的记录。&lt;/p&gt;  &lt;p&gt;一说症状，马上叫我去验血，我之前一直以为只有验尿才能判断是否怀孕，原来血液也可以。&lt;/p&gt;  &lt;p&gt;化验单显示怀孕了，医生说的第一句话不是"恭喜"，而是冷冰冰的"要不要？"&lt;/p&gt;  &lt;p&gt;我瞪了她一眼，连忙道："要要，当然要！"&lt;/p&gt;  &lt;p&gt;拿着早孕检查单，我琢磨我马上都三十了，怎么还是早孕呢？&lt;/p&gt;  &lt;p&gt;原来"早孕检查"的意思是孕早期检查而非你怀孕太早，我这方面的知识还真是欠缺。&lt;/p&gt;  &lt;p&gt;B超检查完后，医生问的更直接----"打不打（胎）？"&lt;/p&gt;  &lt;p&gt;什么世道？&lt;/p&gt;  &lt;p&gt;2.&lt;/p&gt;  &lt;p&gt;按照各种孕期保健书上说的，检查至少是14次，尤其到了孕晚期，要求一周一次的检查，但当得知后期每次去了只是测体重，量腰围宫高，我就没去检查了，只在预产期之前一周去做了最后一次检查。整个孕期，我只做了5次检查，唐氏筛查以及糖尿病的检查都因为错过时间而没查。&lt;/p&gt;  &lt;p&gt;不想去检查的原因除了怕麻烦、没时间（当时我还在一所大专代课）之外，还有一个就是讨厌医生极尽所能地开药或营养品。&lt;/p&gt;  &lt;p&gt;比如听到我问因为伤心过度是否会影响胎儿发育则马上给我开保胎的中药、看到我因为晕车而脸上无光时便说我营养不够要开维生素和营养针，听说我没有补充叶酸和钙片则马上威胁我说不补的话胎儿就畸形，就流产！&lt;/p&gt;  &lt;p&gt;太可怕，我一律回绝了。&lt;/p&gt;  &lt;p&gt;3.&lt;/p&gt;  &lt;p&gt;建议所有的准妈妈备一本孕育方面的小册子，去妇幼保健领围产手册时，一些奶粉商也制作了一些类似的册子免费发给去检查的孕妇们，里面详细介绍了孕早期、中期以及晚期需要注意的事项以及可能产生的症状，避免自己疑神疑鬼地跑医院检查。&lt;/p&gt;  &lt;p&gt;在接近预产期时，我每天就在翻看这些储备知识，这使我知道阵痛、见红才是分娩前24~48小时的预兆，我耐心地等待，不想太早去住院。&lt;/p&gt;  &lt;p&gt;4.&lt;/p&gt;  &lt;p&gt;所谓阵痛，是可以忍受的，难以忍受的是在产程中，偶尔会将"阵"字去掉，只剩下个"痛"。&lt;/p&gt;  &lt;p&gt;如册子上所述，阵痛一开始是不规律的，可忍受的，类似痛经的加剧版，直到呈规律发展，每次阵痛间隔大约十分钟，持续40秒到60秒----感谢这些数字，让我在阵痛时就数着40秒，这使我有个盼头，盼着它40秒后结束，又盼着它10分钟后重新开始，因为我知道，阵痛不加强，孩子是生不下来的。&lt;/p&gt;  &lt;p&gt;我是2011年7月11日凌晨4点微微感觉下腹开始有隐隐的疼痛，6点半开始疼痛加重，我便拿了小本子和笔，记录每次阵痛来临的时间。到9点钟左右，我尚未见红，但疼痛更加厉害了些，本不想去医院，但做过妇产科护士的表妹骂我道，你还想等到什么时候？！&lt;/p&gt;  &lt;p&gt;入院时我也是问医生：现在入院是否太早了？&lt;/p&gt;  &lt;p&gt;医生厉声道："早？！你想生在家里么？"&lt;/p&gt;  &lt;p&gt;我噤声。&lt;/p&gt;  &lt;p&gt;5.&lt;/p&gt;  &lt;p&gt;没想到没多久，中午时分就见红了。&lt;/p&gt;  &lt;p&gt;检查完毕后医生问我是想顺产吧？我点点头。她表示我的条件允许，鼓励我顺，给我安排了个两人病房。我进去时，同病房的已经生了，孩子第三天，我挺着肚子过去打招呼，逗了逗她的小女儿。&lt;/p&gt;  &lt;p&gt;中午到傍晚，阵痛一直很有规律，慢慢地在加强，我不喊不叫，还沉着地做阵痛记录。直到夜晚的11：01分，阵痛突然持续了近5分钟，我终于忍受不住，甩开了阵痛笔记，左右手分别抓住表姐和母亲，捏得她们发疼，自己却尽量忍住不发太大的声音，只是急喘。同病房的那户隔着帘子对我喊话："如果痛就喊出来吧，没事的，不会影响到我们休息！"&lt;/p&gt;  &lt;p&gt;我知道，只有忍无可忍的时候叫护士，她才不会那么不耐烦。&lt;/p&gt;  &lt;p&gt;果然，护士过来后检查说开指了，发展得不错，让我待会儿有剧烈的排便感时再叫她。&lt;/p&gt;  &lt;p&gt;十五分钟后，那般像铁铲从你的背面砍下一刀的阵痛又一次袭来，我按下呼叫护士站的铃，她来后又检查了开指情况，说，恩，可以下楼去产房了！&lt;/p&gt;  &lt;p&gt;是的，让我自己下床，走到电梯去楼下产房，我的天，那种一边被凌迟一边还要往前走的昏天黑地的感觉实在是挑战我的极限，但人真是被逼出来的，我还是顺利下了楼，被扶着睡在产房外的病床上继续被阵痛折磨。&lt;/p&gt;  &lt;p&gt;6.&lt;/p&gt;  &lt;p&gt;这时，我身旁还有一位孕妇，他老公在她身边抚摸她的背部以企图降低她的疼痛，但她连哭带喊，痛苦地呻吟不止。&lt;/p&gt;  &lt;p&gt;不知是否受她影响，我这才哇哇大喊以表示自己也很痛。&lt;/p&gt;  &lt;p&gt;我俩的喊声此起彼伏，弄得医生甚是不耐烦，大声吼道：叫什么叫，叫又没有用！呆会儿让你们没气力生！&lt;/p&gt;  &lt;p&gt;没想到我能比那位早来的孕妇早入产房。&lt;/p&gt;  &lt;p&gt;说是开了五指（也就是十公分）才能生下小孩，医生说我虽然晚到但是开得比另一位孕妇快，将我推进产房。&lt;/p&gt;  &lt;p&gt;7.&lt;/p&gt;  &lt;p&gt;明晃晃的产房空间居然甚大，我之前一直以为是一间小黑屋。&lt;/p&gt;  &lt;p&gt;艰难地从推我入内的病床上爬到产床后（医生不扶，叫你自个儿爬），我被迅速地带上胎心监护器、血压计，还被吊了一瓶不知是生理盐水还是葡萄糖，平时还是挺怕戳吊针的，那个时候，吊针什么的都是浮云了，我眼睁睁看着针管进入血管，一点痛感也没有。&lt;/p&gt;  &lt;p&gt;没多久，那位门外的孕妇也进来了，我们相隔一墙，医护人员不紧不慢地两边观察，在一旁的工作台上做文字记录。&lt;/p&gt;  &lt;p&gt;我躺在那里痛得不知如何是好，脑袋两头甩，汗如雨下，两腿却不可控制地发抖。医生终于又来了，检查了最后一次开指情况，说，很好，八公分了，还有两边一点点，你现在不要用力，呆会儿让你使劲再用力！&lt;/p&gt;  &lt;p&gt;还要呆会儿！我的妈呀！我不禁内心咆哮。&lt;/p&gt;  &lt;p&gt;医生说完后就都跑去看另一位了，把我一个人留在那里，好几次阵痛来临之时，我都以为我会自己把孩子给生出来而身旁没有医生。&lt;/p&gt;  &lt;p&gt;8.&lt;/p&gt;  &lt;p&gt;因为我久不破羊水，助产大夫对我说，现在我要人工破水了，说完就用止血钳左右使劲一捅。&lt;/p&gt;  &lt;p&gt;我说过，除了阵痛外，一切痛已经不叫痛了。羊水流出来的时候，暖流阵阵，我居然觉得特别舒服。&lt;/p&gt;  &lt;p&gt;助产大夫这时问："你还有力气吧？开始用力吧！"&lt;/p&gt;  &lt;p&gt;虽然我看过小册子上如何用力的介绍，但实际操作起来还是很迷惑，我双手扶着产床的铁栏杆上使劲，却被医生一巴掌打下来，厉声吼道："怎么现在的产妇都不会用力呢？"&lt;/p&gt;  &lt;p&gt;我问："怎么用力法？"&lt;/p&gt;  &lt;p&gt;她教我用手握住两腿的膝盖，头朝着自己的肚脐，像解大便一样用力。&lt;br /&gt; 这个指示就明确多了，医生兴奋道："很好，见到小毛毛（湖北话，小宝宝的意思）的头了！"&lt;/p&gt;  &lt;p&gt;经过三次如此这般的用力，第四次剧烈的阵痛，我想着痛死也就这么着了，再用点力吧！助产大夫往我的肚子上使劲一推，我嘶声力竭喊叫出来，下面大夫用手一拖，我顿感一个小肉球滑落出来，顷刻的轻松感袭来，暖洋洋的，同时听见哇哇的洪亮的啼哭声，跟电视里演的一样，我眯着眼睛隐约见到医生们将她抱起来擦拭，递给我看了看，是个女孩子，我笑了。&lt;/p&gt;  &lt;p&gt;孩子出生的时间是2011年7月12日，凌晨3：39，从推入产房的1：30到生下孩子，算是很顺利了。&lt;/p&gt;  &lt;p&gt;9.&lt;/p&gt;  &lt;p&gt;至于胎盘娩出，侧切（完全不知道是什么时候切的）伤口的缝合都已经是尾声了，虽然缝针时也还是疼得嗷嗷直叫，但也真算不了什么了，最后医生还对我说："伤口很小很漂亮哦！"&lt;/p&gt;  &lt;p&gt;我无语。&lt;/p&gt;  &lt;p&gt;10.&lt;/p&gt;  &lt;p&gt;当妈后才知道，你疼孩子，孩子疼你----生时阵痛,生后伤口疼、腹疼、继而奶胀疼，乳头被吮吸破皮皴裂直到重新长出一层粉兮兮的鲜肉皮......所以你一定得把身边这个小家伙疼回来,她让你多疼,你就要多疼她。&lt;br /&gt;  &lt;br /&gt; 此为记。&lt;/p&gt;  &lt;p&gt;（完）&lt;br /&gt; &lt;/p&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;border:1px solid #d3d3d3;margin:1em;background-color:#AAD2F0;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;h3&gt;文档信息&lt;/h3&gt; &lt;ul&gt; &lt;li&gt;版权声明：自由转载-非商用-非衍生-保持署名 | &lt;a href="http://creativecommons.org/licenses/by-nc-nd/3.0/deed.zh"&gt;Creative Commons BY-NC-ND 3.0&lt;/a&gt;&lt;/li&gt; &lt;li&gt;原文网址：&lt;a href="http://www.ruanyifeng.com/blog/2011/09/birth_of_sisi.html"&gt;http://www.ruanyifeng.com/blog/2011/09/birth_of_sisi.html&lt;/a&gt;&lt;/li&gt; &lt;li&gt;最后修改时间：2011年9月 1日 19:29&lt;/li&gt; &lt;li&gt;付费支持（&lt;a href="http://www.ruanyifeng.com/blog/2011/05/my_google_adsense_is_disabled.html" target="_blank" style="text-decoration:underline;"&gt;说明&lt;/a&gt;）：&lt;a href="https://lab.alipay.com/p.htm?id=2011081500435188" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/rmb_32.png" alt="支付宝担保交易" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; | &lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=yifeng.ruan@gmail.com&amp;currency_code=USD&amp;amount=0.3&amp;return=http://www.ruanyifeng.com/thank.html&amp;item_name=Ruan%20YiFeng's%20Blog&amp;undefined_quantity=1&amp;no_note=0" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/dollar_32.png"  alt="paypal" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;/div&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;margin:1em;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;p&gt;&lt;a href="http://www.nanrenwa.com/click/go/ruanyifeng.banner.feed.yfblogfeed/gift"&gt;&lt;img src="http://nanrenwa.com/_img/a/2011/yfblog_feed.png" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;table style="border-top:1px solid #999;padding-top:4px;margin-top:1.5em;width:100%" id="footer"&gt; &lt;tr&gt; &lt;td style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;You are subscribed to email updates from &lt;a href="http://www.ruanyifeng.com/blog/"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt;To stop receiving these emails, you may &lt;a href="http://feedburner.google.com/fb/a/mailunsubscribe?k=x5q3e3oXiwrRC8QL5seztLZik1c"&gt;unsubscribe now&lt;/a&gt;.&lt;/td&gt; &lt;td style="font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;text-align:right;vertical-align:top"&gt;Email delivery powered by Google&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td colspan="2" style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;Google Inc., 20 West Kinzie, Chicago IL USA 60610&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/145804083675914388-8564782002507685056?l=ruanyf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/8564782002507685056'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/8564782002507685056'/><link rel='alternate' type='text/html' href='http://ruanyf.blogspot.com/2011/09/blog-post.html' title='阮一峰的网络日志'/><author><name>Ruan YiFeng</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-145804083675914388.post-3806562059211665974</id><published>2011-08-30T05:17:00.001-07:00</published><updated>2011-08-30T05:17:13.771-07:00</updated><title type='text'>阮一峰的网络日志</title><content type='html'>&lt;style type="text/css"&gt;                          h1 a:hover {background-color:#888;color:#fff ! important;}                          div#emailbody table#itemcontentlist tr td div ul {                                         list-style-type:square;                                         padding-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div blockquote {                                 padding-left:6px;                                 border-left: 6px solid #dadada;                                 margin-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div li {                                 margin-bottom:1em;                                 margin-left:1em;                         }                           table#itemcontentlist tr td a:link, table#itemcontentlist tr td a:visited, table#itemcontentlist tr td a:active, ul#summarylist li a {                                 color:#000099;                                 font-weight:bold;                                 text-decoration:none;                         }                                 img {border:none;}                   &lt;/style&gt; &lt;div xmlns="http://www.w3.org/1999/xhtml" id="emailbody" style="margin:0 2em;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt; &lt;table style="border:0;padding:0;margin:0;width:100%"&gt; &lt;tr&gt; &lt;td style="vertical-align:top" width="99%"&gt; &lt;h1 style="margin:0;padding-bottom:6px;"&gt; &lt;a style="color:#888;font-size:22px;font-family:Arial, Helvetica, sans-serif;font-weight:normal;text-decoration:none;" href="http://www.ruanyifeng.com/blog/" title="(http://www.ruanyifeng.com/blog/)"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt; &lt;a href="http://fusion.google.com/add?source=atgs&amp;amp;feedurl=http://feeds.feedburner.com/ruanyifeng"&gt; &lt;img style="padding-top:6px" alt="" border="0" src="http://gmodules.com/ig/images/plus_google.gif" /&gt; &lt;/a&gt; &lt;/h1&gt; &lt;/td&gt; &lt;td width="1%" /&gt; &lt;/tr&gt; &lt;/table&gt; &lt;hr style="border:1px solid #ccc;padding:0;margin:0" /&gt; &lt;table id="itemcontentlist"&gt; &lt;tr xmlns=""&gt; &lt;td style="margin-bottom:0;line-height:1.4em;"&gt; &lt;p style="margin:1em 0 3px 0;"&gt; &lt;a name="1" style="font-family:Arial, Helvetica, sans-serif;font-size:18px;" href="http://www.ruanyifeng.com/blog/2011/08/the_pains_of_economic_growth.html"&gt;经济增长是如何换来的？&lt;/a&gt; &lt;/p&gt; &lt;p style="font-size:13px;color:#555;margin:9px 0 3px 0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;"&gt; &lt;span&gt;Posted:&lt;/span&gt; 30 Aug 2011 01:48 AM PDT&lt;/p&gt; &lt;div style="margin:0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt;&lt;p&gt;去年，&lt;a href="http://www.ruanyifeng.com/blog/2010/11/life_of_an_academic_in_the_us.html"&gt;何毓琦&lt;/a&gt;教授&lt;a href="http://blog.sciencenet.cn/home.php?mod=space&amp;uid=1565&amp;do=blog&amp;id=388766"&gt;推荐&lt;/a&gt;了《纽约时报杂志》的一篇长文&lt;a href="http://www.nytimes.com/2010/11/28/magazine/28China-t.html"&gt;《中国会变成消费大国吗？》&lt;/a&gt;（中译&lt;a href="http://dongxi.net/b03wd"&gt;上&lt;/a&gt;，&lt;a href="http://dongxi.net/b03HB"&gt;下&lt;/a&gt;）。&lt;/p&gt;&lt;p&gt;那篇文章非常长，足足有十几页，我一直拖着没看，直到上周末才读完。&lt;/p&gt;  &lt;p&gt;它的作者是普利策奖得主&lt;a href="thttp://topics.nytimes.com/top/reference/timestopics/people/l/david_leonhardt/index.html?inline=nyt-per"&gt;David Leonhard&lt;/a&gt;，他以自己在中国各地的采访经历，详尽分析了中国经济的现状和走向。看完以后，我一声长叹，为什么想要了解中国，只有去看外国报纸？&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201108/bg2011083001.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;（图片说明：中国正在致力于从生产大国转变为消费大国。Credit: Lars Tunbjork for The New York Times）&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;David Leonhardt认为，经济增长是中国政府压倒一切的政策目标。&lt;/strong&gt;因为经济增长可以解决就业问题，维持社会稳定，保证政治统治。所以，为了维持经济增长，政府动用了各种手段。&lt;/p&gt;  &lt;p&gt;他举了一些例子，我认为非常具有洞察力：&lt;/p&gt;  &lt;p&gt;　　&lt;strong&gt;（1）很长一段时间内，政府压低煤炭、石油和其他自然资源的价格。&lt;/strong&gt;这实质上是让中西部省份补贴沿海省份，因为当时沿海省份经济增长最快。&lt;/p&gt;  &lt;p&gt;　　&lt;strong&gt;（2）压低储蓄利率。&lt;/strong&gt;这样做减少了居民收益，但是降低了企业的资金成本，为企业提供了便宜的资金，等同于居民补贴企业。&lt;/p&gt;  &lt;p&gt;　　&lt;strong&gt;（3）压低工资。&lt;/strong&gt;企业的利润增长速度，远远高于职工的工资增长速度。这保证企业----尤其是那些劳动密集型的出口加工企业（它们对经济增长和就业贡献最大）----获得便宜的劳动力。&lt;/p&gt;  &lt;p&gt;　　&lt;strong&gt;（4）不允许自行组织工会。&lt;/strong&gt;由于工人没有统一的组织，这使企业可以方便地解雇工人，同时也有助保持低工资。&lt;/p&gt;  &lt;p&gt;　　&lt;strong&gt;（5）维持严密的户口制度。&lt;/strong&gt;这一方面阻止劳动力向工资高的地方迁移、另一方面由于户口与福利制度挂钩，没有户口就享受不到当地的福利，这就降低了政府的福利支出，使得政府有更多的钱用于投资。&lt;/p&gt;  &lt;p&gt;　　&lt;strong&gt;（6）社会福利严重不足。&lt;/strong&gt;教育、失业、医疗、住房等支出，全部或大多数要由个人承担，这大大减轻政府和企业的负担。&lt;/p&gt;  &lt;p&gt;　　&lt;strong&gt;（7）长期低估人民币汇率。&lt;/strong&gt;低汇率使得出口商品变得更便宜，同时也压低了人民币的购买力，这相当于让外国人买得更多，让本国居民买得更少。实质上，就是本国居民补贴本国的出口企业。&lt;/p&gt;  &lt;p&gt;===================================&lt;/p&gt;  &lt;p&gt;在这些措施的推动下，中国的出口取得了奇迹般的增长。1978-2008年，中国出口年均增长18%；2001-2008年，更是达到了年均增长25%，每三年翻一倍。出口成了中国经济增长最大的推动力。&lt;/p&gt;  &lt;p&gt;但是，这些增长背后的代价是什么？它是用什么换来的？&lt;/p&gt;  &lt;p&gt;......我们的政府、媒体、经济学家保持沉默，装作没有看见，甚至否认代价的存在。&lt;/p&gt;  &lt;p&gt;好在未来的人们不会忘记这一切。当历史学家回顾我们这个年代，他们首先会看到底层人民忍受的苦难，然后久久地沉思，以此换来的经济增长是否值得。&lt;/p&gt;  &lt;p&gt;另一方面，这样的增长模式再也走不下去了。以低劳动力成本为主要优势的出口经济，已经到了穷途末路。中国商品要想继续畅销世界，不能再靠便宜的价格（因为已经不便宜了），而必须依靠更好的产品，依靠创新。但是，一个无法自由地思考、表达、集社的社会，真的会有创新吗？真的会有持续的经济增长吗？&lt;/p&gt;  &lt;p&gt;（完）&lt;br /&gt; &lt;/p&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;border:1px solid #d3d3d3;margin:1em;background-color:#AAD2F0;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;h3&gt;文档信息&lt;/h3&gt; &lt;ul&gt; &lt;li&gt;版权声明：自由转载-非商用-非衍生-保持署名 | &lt;a href="http://creativecommons.org/licenses/by-nc-nd/3.0/deed.zh"&gt;Creative Commons BY-NC-ND 3.0&lt;/a&gt;&lt;/li&gt; &lt;li&gt;原文网址：&lt;a href="http://www.ruanyifeng.com/blog/2011/08/the_pains_of_economic_growth.html"&gt;http://www.ruanyifeng.com/blog/2011/08/the_pains_of_economic_growth.html&lt;/a&gt;&lt;/li&gt; &lt;li&gt;最后修改时间：2011年8月30日 20:02&lt;/li&gt; &lt;li&gt;付费支持（&lt;a href="http://www.ruanyifeng.com/blog/2011/05/my_google_adsense_is_disabled.html" target="_blank" style="text-decoration:underline;"&gt;说明&lt;/a&gt;）：&lt;a href="https://lab.alipay.com/p.htm?id=2011081500435188" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/rmb_32.png" alt="支付宝担保交易" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; | &lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=yifeng.ruan@gmail.com&amp;currency_code=USD&amp;amount=0.3&amp;return=http://www.ruanyifeng.com/thank.html&amp;item_name=Ruan%20YiFeng's%20Blog&amp;undefined_quantity=1&amp;no_note=0" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/dollar_32.png"  alt="paypal" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;/div&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;margin:1em;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;p&gt;&lt;a href="http://www.nanrenwa.com/click/go/ruanyifeng.banner.feed.yfblogfeed/gift"&gt;&lt;img src="http://nanrenwa.com/_img/a/2011/yfblog_feed.png" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;table style="border-top:1px solid #999;padding-top:4px;margin-top:1.5em;width:100%" id="footer"&gt; &lt;tr&gt; &lt;td style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;You are subscribed to email updates from &lt;a href="http://www.ruanyifeng.com/blog/"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt;To stop receiving these emails, you may &lt;a href="http://feedburner.google.com/fb/a/mailunsubscribe?k=x5q3e3oXiwrRC8QL5seztLZik1c"&gt;unsubscribe now&lt;/a&gt;.&lt;/td&gt; &lt;td style="font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;text-align:right;vertical-align:top"&gt;Email delivery powered by Google&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td colspan="2" style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;Google Inc., 20 West Kinzie, Chicago IL USA 60610&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/145804083675914388-3806562059211665974?l=ruanyf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/3806562059211665974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/3806562059211665974'/><link rel='alternate' type='text/html' href='http://ruanyf.blogspot.com/2011/08/blog-post_30.html' title='阮一峰的网络日志'/><author><name>Ruan YiFeng</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-145804083675914388.post-2702109015421524557</id><published>2011-08-27T05:12:00.001-07:00</published><updated>2011-08-27T05:12:51.418-07:00</updated><title type='text'>阮一峰的网络日志</title><content type='html'>&lt;style type="text/css"&gt;                          h1 a:hover {background-color:#888;color:#fff ! important;}                          div#emailbody table#itemcontentlist tr td div ul {                                         list-style-type:square;                                         padding-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div blockquote {                                 padding-left:6px;                                 border-left: 6px solid #dadada;                                 margin-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div li {                                 margin-bottom:1em;                                 margin-left:1em;                         }                           table#itemcontentlist tr td a:link, table#itemcontentlist tr td a:visited, table#itemcontentlist tr td a:active, ul#summarylist li a {                                 color:#000099;                                 font-weight:bold;                                 text-decoration:none;                         }                                 img {border:none;}                   &lt;/style&gt; &lt;div xmlns="http://www.w3.org/1999/xhtml" id="emailbody" style="margin:0 2em;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt; &lt;table style="border:0;padding:0;margin:0;width:100%"&gt; &lt;tr&gt; &lt;td style="vertical-align:top" width="99%"&gt; &lt;h1 style="margin:0;padding-bottom:6px;"&gt; &lt;a style="color:#888;font-size:22px;font-family:Arial, Helvetica, sans-serif;font-weight:normal;text-decoration:none;" href="http://www.ruanyifeng.com/blog/" title="(http://www.ruanyifeng.com/blog/)"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt; &lt;a href="http://fusion.google.com/add?source=atgs&amp;amp;feedurl=http://feeds.feedburner.com/ruanyifeng"&gt; &lt;img style="padding-top:6px" alt="" border="0" src="http://gmodules.com/ig/images/plus_google.gif" /&gt; &lt;/a&gt; &lt;/h1&gt; &lt;/td&gt; &lt;td width="1%" /&gt; &lt;/tr&gt; &lt;/table&gt; &lt;hr style="border:1px solid #ccc;padding:0;margin:0" /&gt; &lt;table id="itemcontentlist"&gt; &lt;tr xmlns=""&gt; &lt;td style="margin-bottom:0;line-height:1.4em;"&gt; &lt;p style="margin:1em 0 3px 0;"&gt; &lt;a name="1" style="font-family:Arial, Helvetica, sans-serif;font-size:18px;" href="http://www.ruanyifeng.com/blog/2011/08/bayesian_inference_part_two.html"&gt;贝叶斯推断及其互联网应用（二）&lt;/a&gt; &lt;/p&gt; &lt;p style="font-size:13px;color:#555;margin:9px 0 3px 0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;"&gt; &lt;span&gt;Posted:&lt;/span&gt; 27 Aug 2011 01:21 AM PDT&lt;/p&gt; &lt;div style="margin:0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt;&lt;p&gt;上一次，我介绍了贝叶斯推断的&lt;a href="http://www.ruanyifeng.com/blog/2011/08/bayesian_inference_part_one.html"&gt;原理&lt;/a&gt;，今天讲如何将它用于垃圾邮件过滤。&lt;/p&gt;&lt;p&gt;========================================&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;贝叶斯推断及其互联网应用&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;作者：阮一峰&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201108/bg2011082703.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;（接上文）&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;七、什么是贝叶斯过滤器？&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;垃圾邮件是一种令人头痛的顽症，困扰着所有的互联网用户。&lt;/p&gt;  &lt;p&gt;正确识别垃圾邮件的技术难度非常大。传统的垃圾邮件过滤方法，主要有"关键词法"和"校验码法"等。前者的过滤依据是特定的词语；后者则是计算邮件文本的校验码，再与已知的垃圾邮件进行对比。它们的识别效果都不理想，而且很容易规避。&lt;/p&gt;  &lt;p&gt;2002年，&lt;a href="http://www.paulgraham.com/spam.html"&gt;Paul Graham&lt;/a&gt;提出使用"贝叶斯推断"过滤垃圾邮件。他说，这样做的效果，好得不可思议。1000封垃圾邮件可以过滤掉995封，且没有一个误判。&lt;/p&gt;  &lt;p&gt;另外，这种过滤器还具有自我学习的功能，会根据新收到的邮件，不断调整。收到的垃圾邮件越多，它的准确率就越高。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;八、建立历史资料库&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;贝叶斯过滤器是一种统计学过滤器，建立在已有的统计结果之上。所以，我们必须预先提供两组已经识别好的邮件，一组是正常邮件，另一组是垃圾邮件。&lt;/p&gt;  &lt;p&gt;我们用这两组邮件，对过滤器进行"训练"。这两组邮件的规模越大，训练效果就越好。Paul Graham使用的邮件规模，是正常邮件和垃圾邮件各4000封。&lt;/p&gt;  &lt;p&gt;"训练"过程很简单。首先，解析所有邮件，提取每一个词。然后，计算每个词语在正常邮件和垃圾邮件中的出现频率。比如，我们假定"sex"这个词，在4000封垃圾邮件中，有200封包含这个词，那么它的出现频率就是5%；而在4000封正常邮件中，只有2封包含这个词，那么出现频率就是0.05%。（【注释】如果某个词只出现在垃圾邮件中，Paul Graham就假定，它在正常邮件的出现频率是1%，反之亦然。随着邮件数量的增加，计算结果会自动调整。）&lt;/p&gt;  &lt;p&gt;有了这个初步的统计结果，过滤器就可以投入使用了。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;九、贝叶斯过滤器的使用过程&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;现在，我们收到了一封新邮件。在未经统计分析之前，我们假定它是垃圾邮件的概率为50%。（【注释】有研究表明，用户收到的电子邮件中，80%是垃圾邮件。但是，这里仍然假定垃圾邮件的"先验概率"为50%。）&lt;/p&gt;  &lt;p&gt;我们用S表示垃圾邮件（spam），H表示正常邮件（healthy）。因此，P(S)和P(H)的先验概率，都是50%。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://chart.googleapis.com/chart?cht=tx&amp;chl=P(S)%3DP(H)%3D50%25&amp;chs=40" style="border:none;" /&gt;&lt;/p&gt;  &lt;p&gt;然后，对这封邮件进行解析，发现其中包含了sex这个词，请问这封邮件属于垃圾邮件的概率有多高？&lt;/p&gt;  &lt;p&gt;我们用W表示"sex"这个词，那么问题就变成了如何计算P(S|W)的值，即在某个词语（W）已经存在的条件下，垃圾邮件（S）的概率有多大。&lt;/p&gt;  &lt;p&gt;根据条件概率公式，马上可以写出&lt;/p&gt;  &lt;p&gt;&lt;img src="http://chart.googleapis.com/chart?cht=tx&amp;chl=P(S%7CW)%3D%5Cfrac%7BP(W%7CS)P(S)%7D%7BP(W%7CS)P(S)%2BP(W%7CH)P(H)%7D&amp;chs=70" style="border:none;" /&gt;&lt;/p&gt;  &lt;p&gt;公式中，P(W|S)和P(W|H)的含义是，这个词语在垃圾邮件和正常邮件中，分别出现的概率。这两个值可以从历史资料库中得到，对sex这个词来说，上文假定它们分别等于5%和0.05%。另外，P(S)和P(H)的值，前面说过都等于50%。所以，马上可以计算P(S|W)的值：&lt;/p&gt;  &lt;p&gt;&lt;img src="http://chart.googleapis.com/chart?cht=tx&amp;chl=P(S%7CW)%3D%5Cfrac%7B5%25%5Ctimes%2050%25%7D%7B5%25%5Ctimes%2050%25%2B0.05%25%5Ctimes%2050%25%7D%3D99.0%25&amp;chs=70" style="border:none;" /&gt;&lt;/p&gt;  &lt;p&gt;因此，这封新邮件是垃圾邮件的概率等于99%。这说明，sex这个词的推断能力很强，将50%的"先验概率"一下子提高到了99%的"后验概率"。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;十、联合概率的计算&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;做完上面一步，请问我们能否得出结论，这封新邮件就是垃圾邮件？&lt;/p&gt;  &lt;p&gt;回答是不能。因为一封邮件包含很多词语，一些词语（比如sex）说这是垃圾邮件，另一些说这不是。你怎么知道以哪个词为准？&lt;/p&gt;  &lt;p&gt;Paul Graham的做法是，选出这封信中P(S|W)最高的15个词，计算它们的联合概率。（【注释】如果有的词是第一次出现，无法计算P(S|W)，Paul Graham就假定这个值等于0.4。因为垃圾邮件用的往往都是某些固定的词语，所以如果你从来没见过某个词，它多半是一个正常的词。）&lt;/p&gt;  &lt;p&gt;所谓联合概率，就是指在多个事件发生的情况下，另一个事件发生概率有多大。比如，已知W1和W2是两个不同的词语，它们都出现在某封电子邮件之中，那么这封邮件是垃圾邮件的概率，就是联合概率。&lt;/p&gt;  &lt;p&gt;在已知W1和W2的情况下，无非就是两种结果：垃圾邮件（事件E1）或正常邮件（事件E2）。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201108/bg2011082701.png" /&gt;&lt;/p&gt;  &lt;p&gt;其中，W1、W2和垃圾邮件的概率分别如下：&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201108/bg2011082702.png" /&gt;&lt;/p&gt;  &lt;p&gt;如果假定所有事件都是独立事件（【注释】严格地说，这个假定不成立，但是这里可以忽略），那么就可以计算P(E1)和P(E2)：&lt;/p&gt;  &lt;p&gt;&lt;img src="http://chart.googleapis.com/chart?cht=tx&amp;chl=P(E_%7B1%7D)%3DP(S%7CW_%7B1%7D)P(S%7CW_%7B2%7D)P(S)&amp;chs=40" style="border:none;" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img src="http://chart.googleapis.com/chart?cht=tx&amp;chl=P(E_%7B2%7D)%3D(1-P(S%7CW_%7B1%7D))(1-P(S%7CW_%7B2%7D))(1-P(S))&amp;chs=40" style="border:none;" /&gt;&lt;/p&gt;  &lt;p&gt;又由于在W1和W2已经发生的情况下，垃圾邮件的概率等于下面的式子：&lt;/p&gt;  &lt;p&gt;&lt;img src="http://chart.googleapis.com/chart?cht=tx&amp;chl=P%3D%5Cfrac%7BP(E_%7B1%7D)%7D%7BP(E_%7B1%7D)%2BP(E_%7B2%7D)%7D&amp;chs=70" style="border:none;" /&gt;&lt;/p&gt;  &lt;p&gt;即&lt;/p&gt;  &lt;p&gt;&lt;img src="http://chart.googleapis.com/chart?cht=tx&amp;chl=P%3D%5Cfrac%7BP(S%7CW_%7B1%7D)P(S%7CW_%7B2%7D)P(S)%7D%7BP(S%7CW_%7B1%7D)P(S%7CW_%7B2%7D)P(S)%2B(1-P(S%7CW_%7B1%7D))(1-P(S%7CW_%7B2%7D))(1-P(S))%7D&amp;chs=70" style="border:none;" /&gt;&lt;/p&gt;  &lt;p&gt;将P(S)等于0.5代入，得到&lt;/p&gt;  &lt;p&gt;&lt;img src="http://chart.googleapis.com/chart?cht=tx&amp;chl=P%3D%5Cfrac%7BP(S%7CW_%7B1%7D)P(S%7CW_%7B2%7D)%7D%7BP(S%7CW_%7B1%7D)P(S%7CW_%7B2%7D)%2B(1-P(S%7CW_%7B1%7D))(1-P(S%7CW_%7B2%7D))%7D&amp;chs=70" style="border:none;" /&gt;&lt;/p&gt;  &lt;p&gt;将P(S|W1)记为P1，P(S|W1)记为P2，公式就变成&lt;/p&gt;  &lt;p&gt;&lt;img src="http://chart.googleapis.com/chart?cht=tx&amp;chl=P%3D%5Cfrac%7BP_%7B1%7DP_%7B2%7D%7D%7BP_%7B1%7DP_%7B2%7D%2B(1-P_%7B1%7D)(1-P_%7B2%7D)%7D&amp;chs=70" style="border:none;" /&gt;&lt;/p&gt;  &lt;p&gt;这就是联合概率的计算公式。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;十一、最终的计算公式&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;将上面的公式扩展到15个词的情况，就得到了最终的概率计算公式：&lt;/p&gt;  &lt;p&gt;&lt;img src="http://chart.googleapis.com/chart?cht=tx&amp;chl=P%3D%5Cfrac%7BP_%7B1%7DP_%7B2%7D%5Ccdot%20%5Ccdot%20%5Ccdot%20P_%7B15%7D%7D%7BP_%7B1%7DP_%7B2%7D%5Ccdot%20%5Ccdot%20%5Ccdot%20P_%7B15%7D%2B(1-P_%7B1%7D)(1-P_%7B2%7D)%5Ccdot%20%5Ccdot%20%5Ccdot%20(1-P_%7B15%7D)%7D&amp;chs=70" style="border:none;" /&gt;&lt;/p&gt;  &lt;p&gt;一封邮件是不是垃圾邮件，就用这个式子进行计算。这时我们还需要一个用于比较的门槛值。Paul Graham的门槛值是0.9，概率大于0.9，表示15个词联合认定，这封邮件有90%以上的可能属于垃圾邮件；概率小于0.9，就表示是正常邮件。&lt;/p&gt;  &lt;p&gt;有了这个公式以后，一封正常的信件即使出现sex这个词，也不会被认定为垃圾邮件了。&lt;/p&gt;  &lt;p&gt;（完）&lt;br /&gt; &lt;/p&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;border:1px solid #d3d3d3;margin:1em;background-color:#AAD2F0;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;h3&gt;文档信息&lt;/h3&gt; &lt;ul&gt; &lt;li&gt;版权声明：自由转载-非商用-非衍生-保持署名 | &lt;a href="http://creativecommons.org/licenses/by-nc-nd/3.0/deed.zh"&gt;Creative Commons BY-NC-ND 3.0&lt;/a&gt;&lt;/li&gt; &lt;li&gt;原文网址：&lt;a href="http://www.ruanyifeng.com/blog/2011/08/bayesian_inference_part_two.html"&gt;http://www.ruanyifeng.com/blog/2011/08/bayesian_inference_part_two.html&lt;/a&gt;&lt;/li&gt; &lt;li&gt;最后修改时间：2011年8月27日 18:09&lt;/li&gt; &lt;li&gt;付费支持（&lt;a href="http://www.ruanyifeng.com/blog/2011/05/my_google_adsense_is_disabled.html" target="_blank" style="text-decoration:underline;"&gt;说明&lt;/a&gt;）：&lt;a href="https://lab.alipay.com/p.htm?id=2011081500435188" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/rmb_32.png" alt="支付宝担保交易" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; | &lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=yifeng.ruan@gmail.com&amp;currency_code=USD&amp;amount=0.3&amp;return=http://www.ruanyifeng.com/thank.html&amp;item_name=Ruan%20YiFeng's%20Blog&amp;undefined_quantity=1&amp;no_note=0" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/dollar_32.png"  alt="paypal" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;/div&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;margin:1em;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;p&gt;&lt;a href="http://www.nanrenwa.com/click/go/ruanyifeng.banner.feed.yfblogfeed/gift"&gt;&lt;img src="http://nanrenwa.com/_img/a/2011/yfblog_feed.png" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;table style="border-top:1px solid #999;padding-top:4px;margin-top:1.5em;width:100%" id="footer"&gt; &lt;tr&gt; &lt;td style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;You are subscribed to email updates from &lt;a href="http://www.ruanyifeng.com/blog/"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt;To stop receiving these emails, you may &lt;a href="http://feedburner.google.com/fb/a/mailunsubscribe?k=x5q3e3oXiwrRC8QL5seztLZik1c"&gt;unsubscribe now&lt;/a&gt;.&lt;/td&gt; &lt;td style="font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;text-align:right;vertical-align:top"&gt;Email delivery powered by Google&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td colspan="2" style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;Google Inc., 20 West Kinzie, Chicago IL USA 60610&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/145804083675914388-2702109015421524557?l=ruanyf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/2702109015421524557'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/2702109015421524557'/><link rel='alternate' type='text/html' href='http://ruanyf.blogspot.com/2011/08/blog-post_27.html' title='阮一峰的网络日志'/><author><name>Ruan YiFeng</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-145804083675914388.post-7241814462048034578</id><published>2011-08-25T05:20:00.001-07:00</published><updated>2011-08-25T05:20:35.108-07:00</updated><title type='text'>阮一峰的网络日志</title><content type='html'>&lt;style type="text/css"&gt;                          h1 a:hover {background-color:#888;color:#fff ! important;}                          div#emailbody table#itemcontentlist tr td div ul {                                         list-style-type:square;                                         padding-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div blockquote {                                 padding-left:6px;                                 border-left: 6px solid #dadada;                                 margin-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div li {                                 margin-bottom:1em;                                 margin-left:1em;                         }                           table#itemcontentlist tr td a:link, table#itemcontentlist tr td a:visited, table#itemcontentlist tr td a:active, ul#summarylist li a {                                 color:#000099;                                 font-weight:bold;                                 text-decoration:none;                         }                                 img {border:none;}                   &lt;/style&gt; &lt;div xmlns="http://www.w3.org/1999/xhtml" id="emailbody" style="margin:0 2em;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt; &lt;table style="border:0;padding:0;margin:0;width:100%"&gt; &lt;tr&gt; &lt;td style="vertical-align:top" width="99%"&gt; &lt;h1 style="margin:0;padding-bottom:6px;"&gt; &lt;a style="color:#888;font-size:22px;font-family:Arial, Helvetica, sans-serif;font-weight:normal;text-decoration:none;" href="http://www.ruanyifeng.com/blog/" title="(http://www.ruanyifeng.com/blog/)"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt; &lt;a href="http://fusion.google.com/add?source=atgs&amp;amp;feedurl=http://feeds.feedburner.com/ruanyifeng"&gt; &lt;img style="padding-top:6px" alt="" border="0" src="http://gmodules.com/ig/images/plus_google.gif" /&gt; &lt;/a&gt; &lt;/h1&gt; &lt;/td&gt; &lt;td width="1%" /&gt; &lt;/tr&gt; &lt;/table&gt; &lt;hr style="border:1px solid #ccc;padding:0;margin:0" /&gt; &lt;table id="itemcontentlist"&gt; &lt;tr xmlns=""&gt; &lt;td style="margin-bottom:0;line-height:1.4em;"&gt; &lt;p style="margin:1em 0 3px 0;"&gt; &lt;a name="1" style="font-family:Arial, Helvetica, sans-serif;font-size:18px;" href="http://www.ruanyifeng.com/blog/2011/08/bayesian_inference_part_one.html"&gt;贝叶斯推断及其互联网应用（一）&lt;/a&gt; &lt;/p&gt; &lt;p style="font-size:13px;color:#555;margin:9px 0 3px 0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;"&gt; &lt;span&gt;Posted:&lt;/span&gt; 24 Aug 2011 09:09 PM PDT&lt;/p&gt; &lt;div style="margin:0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt;&lt;p&gt;&lt;a href="http://www.ruanyifeng.com/blog/2010/08/not_working_hard_for_a_big_company.html"&gt;一年前&lt;/a&gt;的这个时候，我正在翻译Paul Graham的&lt;a href="http://www.ruanyifeng.com/docs/pg/"&gt;《黑客与画家》&lt;/a&gt;。&lt;/p&gt;&lt;p&gt;那本书大部分谈的是技术哲学，但是第八章却写了一个非常具体的技术问题----如何使用贝叶斯推断过滤垃圾邮件（&lt;a href="http://www.paulgraham.com/spam.html"&gt;英文版&lt;/a&gt;）？&lt;/p&gt;  &lt;p&gt;说实话，我没完全看懂那一章。那时，交稿截止日期已经过了，没时间留给我去啃概率论教科书了。我只好硬着头皮，按照字面意思把它译了出来。虽然交稿了，译文质量也还可以，但是心里很不舒服，下决心一定要搞懂它。&lt;/p&gt;  &lt;p&gt;一年过去了，我读了一些概率论文献，逐渐发现贝叶斯推断并没有想象的那么难。相反的，它的原理部分实际上很容易理解，甚至不需要用到高等数学。&lt;/p&gt;  &lt;p&gt;下面就是我的学习笔记。需要声明的是，我并不是这方面的专家，数学其实是我的弱项。所以，欢迎大家提出宝贵意见，让我们共同学习和提高。&lt;/p&gt;  &lt;p&gt;=====================================&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;贝叶斯推断及其互联网应用&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;作者：阮一峰&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201108/bg2011082507.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;一、什么是贝叶斯推断&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;贝叶斯推断（&lt;a href="http://en.wikipedia.org/wiki/Bayesian_inference"&gt;Bayesian inference&lt;/a&gt;）是一种统计学方法，用来估计统计量的某种性质。&lt;/p&gt;  &lt;p&gt;它是贝叶斯定理（&lt;a href="http://en.wikipedia.org/wiki/Bayes%27_theorem"&gt;Bayes' theorem&lt;/a&gt;）的应用。英国数学家托马斯·贝叶斯（Thomas Bayes）在1763年发表的一篇论文中，首先提出了这个定理。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201108/bg2011082501.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;贝叶斯推断与其他统计学推断方法截然不同。它建立在主观判断的基础上，也就是说，你可以不需要客观证据，先估计一个值，然后根据推断结果不断修正。正是因为它的主观性太强，曾经遭到许多统计学家的诟病。&lt;/p&gt;  &lt;p&gt;贝叶斯推断需要大量的计算，因此历史上很长一段时间，无法得到广泛应用。只有等到计算机诞生以后，它才获得真正的重视。人们发现，许多统计量是无法事先进行客观判断的，而互联网时代出现的大型数据集，再加上高速运算能力，为验证这些统计量提供了方便，也为应用贝叶斯推断创造了条件，它的威力正在日益显现。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;二、贝叶斯定理&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;要理解贝叶斯推断，就必须先理解贝叶斯定理。后者实际上就是计算"条件概率"的公式。&lt;/p&gt;  &lt;p&gt;所谓"条件概率"（Conditional probability），就是指在事件B发生的情况下，事件A发生的概率，用P(A|B)来表示。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201108/bg2011082502.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;根据文氏图，可以很清楚地看到在事件B发生的情况下，事件A发生的概率就是P(A∩B)除以P(B)。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://chart.googleapis.com/chart?cht=tx&amp;chl=P(A%7CB)%3D%5Cfrac%7BP(A%5Ccap%20B)%7D%7BP(B)%7D&amp;chs=70" style="border:none;" /&gt;&lt;/p&gt;  &lt;p&gt;因此，&lt;/p&gt;  &lt;p&gt;&lt;img src="http://chart.googleapis.com/chart?cht=tx&amp;chl=P(A%5Ccap%20B)%3DP(A%7CB)%7BP(B)%7D&amp;chs=40" style="border:none;" /&gt;&lt;/p&gt;  &lt;p&gt;同理可得，&lt;/p&gt;  &lt;p&gt;&lt;img src="http://chart.googleapis.com/chart?cht=tx&amp;chl=P(A%5Ccap%20B)%3DP(B%7CA)%7BP(A)%7D&amp;chs=40" style="border:none;" /&gt;&lt;/p&gt;  &lt;p&gt;所以，&lt;/p&gt;  &lt;p&gt;&lt;img src="http://chart.googleapis.com/chart?cht=tx&amp;chl=P(A%7CB)%7BP(B)%7D%3DP(B%7CA)%7BP(A)%7D&amp;chs=40" style="border:none;" /&gt;&lt;/p&gt;  &lt;p&gt;即&lt;/p&gt;  &lt;p&gt;&lt;img src="http://chart.googleapis.com/chart?cht=tx&amp;chl=P(A%7CB)%3D%5Cfrac%7BP(B%7CA)%7BP(A)%7D%7D%7B%7BP(B)%7D%7D&amp;chs=70" style="border:none;" /&gt;&lt;/p&gt;  &lt;p&gt;这就是条件概率的计算公式。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;三、全概率公式&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;由于后面要用到，所以除了条件概率以外，这里还要推导全概率公式。&lt;/p&gt;  &lt;p&gt;假定样本空间S，是两个事件A与A'的和。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201108/bg2011082503.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;上图中，红色部分是事件A，绿色部分是事件A'，它们共同构成了样本空间S。&lt;/p&gt;  &lt;p&gt;在这种情况下，事件B可以划分成两个部分。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201108/bg2011082504.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;即&lt;/p&gt;  &lt;p&gt;&lt;img src="http://chart.googleapis.com/chart?cht=tx&amp;chl=P(B)%3DP(B%5Ccap%20A)%2BP(B%5Ccap%20A')&amp;chs=40" style="border:none;" /&gt;&lt;/p&gt;  &lt;p&gt;在上一节的推导当中，我们已知&lt;/p&gt;  &lt;p&gt;&lt;img src="http://chart.googleapis.com/chart?cht=tx&amp;chl=P(B%5Ccap%20A)%3DP(B%7CA)P(A)&amp;chs=40" style="border:none;" /&gt;&lt;/p&gt;  &lt;p&gt;所以，&lt;/p&gt;  &lt;p&gt;&lt;img src="http://chart.googleapis.com/chart?cht=tx&amp;chl=P(B)%3DP(B%7CA)P(A)%2BP(B%7CA')P(A')&amp;chs=40" style="border:none;" /&gt;&lt;/p&gt;  &lt;p&gt;这就是全概率公式。它的含义是，如果A和A'构成样本空间的一个划分，那么事件B的概率，就等于A和A'的概率分别乘以B的条件概率之和。&lt;/p&gt;  &lt;p&gt;将这个公式代入上一节的条件概率公式，就得到了条件概率的另一种写法：&lt;/p&gt;  &lt;p&gt;&lt;img src="http://chart.googleapis.com/chart?cht=tx&amp;chl=P(A%7CB)%3D%5Cfrac%7BP(B%7CA)P(A)%7D%7BP(B%7CA)P(A)%2BP(B%7CA')P(A')%7D&amp;chs=70" style="border:none;" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;四、贝叶斯推断的含义&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;对条件概率公式进行变形，可以得到如下形式：&lt;/p&gt;  &lt;p&gt;&lt;img src="http://chart.googleapis.com/chart?cht=tx&amp;chl=P(A%7CB)%3DP(A)%5Cfrac%7BP(B%7CA)%7D%7BP(B)%7D&amp;chs=70" style="border:none;" /&gt;&lt;/p&gt;  &lt;p&gt;我们把P(A)称为"先验概率"（Prior probability），即在B事件发生之前，我们对A事件概率的一个判断。P(A|B)称为"后验概率"（Posterior probability），即在B事件发生之后，我们对A事件概率的重新评估。P(B|A)/P(B)称为"可能性函数"（Likelyhood），这是一个调整因子，使得预估概率更接近真实概率。&lt;/p&gt;  &lt;p&gt;所以，条件概率可以理解成下面的式子：&lt;/p&gt;  &lt;p&gt;&lt;img class="tex" alt="\mbox{Posterior probability} \propto \mbox{Prior probability} \times \mbox{Likelihood}" src="http://upload.wikimedia.org/math/6/6/1/661d5a0dc2f5e23d8d1a40712284e6fb.png" style="border:none;"/&gt;&lt;/p&gt;  &lt;p&gt;这就是贝叶斯推断的含义。我们先预估一个"先验概率"，然后加入实验结果，看这个实验到底是增强还是削弱了"先验概率"，由此得到更接近事实的"后验概率"。&lt;/p&gt;  &lt;p&gt;在这里，如果"可能性函数"P(B|A)/P(B)&gt;1，意味着"先验概率"被增强，事件A的发生的可能性变大；如果"可能性函数"=1，意味着B事件无助于判断事件A的可能性；如果"可能性函数"&lt;1，意味着"先验概率"被削弱，事件A的可能性变小。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;五、【例子】水果糖问题&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;为了加深对贝叶斯推断的理解，我们看两个例子。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201108/bg2011082505.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;第一个例子。两个一模一样的碗，一号碗有30颗水果糖和10颗巧克力糖，二号碗有水果糖和巧克力糖各20颗。现在随机选择一个碗，从中摸出一颗糖，发现是水果糖。请问这颗水果糖来自一号碗的概率有多大？&lt;/p&gt;  &lt;p&gt;我们假定，H1表示一号碗，H2表示二号碗。由于这两个碗是一样的，所以P(H1)=P(H2)，也就是说，在取出水果糖之前，这两个碗被选中的概率相同。因此，P(H1)=0.5，我们把这个概率就叫做"先验概率"，即没有做实验之前，来自一号碗的概率是0.5。&lt;/p&gt;  &lt;p&gt;再假定，E表示水果糖，所以问题就变成了在已知E的情况下，来自一号碗的概率有多大，即求P(H1|E)。我们把这个概率叫做"后验概率"，即在E事件发生之后，对P(H1)的修正。&lt;/p&gt;  &lt;p&gt;根据条件概率公式，得到&lt;/p&gt;  &lt;p&gt;&lt;img src="http://chart.googleapis.com/chart?cht=tx&amp;chl=P(H_%7B1%7D%7CE)%3DP(H_%7B1%7D)%5Cfrac%7BP(E%7CH_%7B1%7D)%7D%7BP(E)%7D&amp;chs=70" style="border:none;" /&gt;&lt;/p&gt;  &lt;p&gt;已知，P(H1)等于0.5，P(E|H1)为一号碗中取出水果糖的概率，等于0.75，那么求出P(E)就可以得到答案。根据全概率公式，&lt;/p&gt;  &lt;p&gt;&lt;img src="http://chart.googleapis.com/chart?cht=tx&amp;chl=P(E)%3DP(E%7CH_%7B1%7D)P(H_%7B1%7D)%2BP(E%7CH_%7B2%7D)P(H_%7B2%7D)&amp;chs=40" style="border:none;" /&gt;&lt;/p&gt;  &lt;p&gt;所以，&lt;/p&gt;  &lt;p&gt;&lt;img src="http://chart.googleapis.com/chart?cht=tx&amp;chl=P(E)%3D0.75%5Ctimes%200.5%2B0.5%5Ctimes%200.5%3D0.625&amp;chs=40" style="border:none;" /&gt;&lt;/p&gt;  &lt;p&gt;将数字代入原方程，得到&lt;/p&gt;  &lt;p&gt;&lt;img src="http://chart.googleapis.com/chart?cht=tx&amp;chl=P(H1%7CE)%3D0.5%5Ctimes%20%5Cfrac%7B0.75%7D%7B0.625%7D%3D0.6&amp;chs=70" style="border:none;" /&gt;&lt;/p&gt;  &lt;p&gt;这表明，来自一号碗的概率是0.6。也就是说，取出水果糖之后，H1事件的可能性得到了增强。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;六、【例子】假阳性问题&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;第二个例子是一个医学的常见问题，与现实生活关系紧密。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201108/bg2011082506.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;已知某种疾病的发病率是0.001，即1000人中会有1个人得病。现有一种试剂可以检验患者是否得病，它的准确率是0.99，即在患者确实得病的情况下，它有99%的可能呈现阳性。它的误报率是5%，即在患者没有得病的情况下，它有5%的可能呈现阳性。现有一个病人的检验结果为阳性，请问他确实得病的可能性有多大？&lt;/p&gt;  &lt;p&gt;假定A事件表示得病，那么P(A)为0.001。这就是"先验概率"，即没有做试验之前，我们预计的发病率。再假定B事件表示阳性，那么要计算的就是P(A|B)。这就是"后验概率"，即做了试验以后，对发病率的估计。&lt;/p&gt;  &lt;p&gt;根据条件概率公式，&lt;/p&gt;  &lt;p&gt;&lt;img src="http://chart.googleapis.com/chart?cht=tx&amp;chl=P(A%7CB)%3DP(A)%20%5Cfrac%7BP(B%7CA)%7D%7BP(B)%7D&amp;chs=70" style="border:none;" /&gt;&lt;/p&gt;  &lt;p&gt;用全概率公式改写分母，&lt;/p&gt;  &lt;p&gt;&lt;img src="http://chart.googleapis.com/chart?cht=tx&amp;chl=P(A%7CB)%3DP(A)%20%5Cfrac%7BP(B%7CA)%7D%7BP(B%7CA)P(A)%2BP(B%7C%5Cbar%7BA%7D)P(%5Cbar%7BA%7D)%7D&amp;chs=70" style="border:none;" /&gt;&lt;/p&gt;  &lt;p&gt;将数字代入，&lt;/p&gt;  &lt;p&gt;&lt;img src="http://chart.googleapis.com/chart?cht=tx&amp;chl=P(A%7CB)%3D0.001%5Ctimes%20%20%5Cfrac%7B0.99%7D%7B0.99%5Ctimes%200.001%2B0.05%5Ctimes%200.999%7D%5Capprox%200.019&amp;chs=70" style="border:none;" /&gt;&lt;/p&gt;  &lt;p&gt;我们得到了一个惊人的结果，P(A|B)约等于0.019。也就是说，即使检验呈现阳性，病人得病的概率，也只是从0.1%增加到了2%左右。这就是所谓的"假阳性"，即阳性结果完全不足以说明病人得病。&lt;/p&gt;  &lt;p&gt;为什么会这样？为什么这种检验的准确率高达99%，但是可信度却不到2%？答案是与它的误报率太高有关。（【习题】如果误报率从5%降为1%，请问病人得病的概率会变成多少？）&lt;/p&gt;  &lt;p&gt;有兴趣的朋友，还可以算一下"假阴性"问题，即检验结果为阴性，但是病人确实得病的概率有多大。然后问自己，"假阳性"和"假阴性"，哪一个才是医学检验的主要风险？&lt;/p&gt;  &lt;p&gt;===================================&lt;/p&gt;  &lt;p&gt;关于贝叶斯推断的原理部分，今天就讲到这里。下一次，将介绍如何使用贝叶斯推断过滤垃圾邮件。&lt;/p&gt;  &lt;p&gt;（未完待续）&lt;br /&gt; &lt;/p&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;border:1px solid #d3d3d3;margin:1em;background-color:#AAD2F0;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;h3&gt;文档信息&lt;/h3&gt; &lt;ul&gt; &lt;li&gt;版权声明：自由转载-非商用-非衍生-保持署名 | &lt;a href="http://creativecommons.org/licenses/by-nc-nd/3.0/deed.zh"&gt;Creative Commons BY-NC-ND 3.0&lt;/a&gt;&lt;/li&gt; &lt;li&gt;原文网址：&lt;a href="http://www.ruanyifeng.com/blog/2011/08/bayesian_inference_part_one.html"&gt;http://www.ruanyifeng.com/blog/2011/08/bayesian_inference_part_one.html&lt;/a&gt;&lt;/li&gt; &lt;li&gt;最后修改时间：2011年8月25日 19:18&lt;/li&gt; &lt;li&gt;付费支持（&lt;a href="http://www.ruanyifeng.com/blog/2011/05/my_google_adsense_is_disabled.html" target="_blank" style="text-decoration:underline;"&gt;说明&lt;/a&gt;）：&lt;a href="https://lab.alipay.com/p.htm?id=2011081500435188" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/rmb_32.png" alt="支付宝担保交易" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; | &lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=yifeng.ruan@gmail.com&amp;currency_code=USD&amp;amount=0.3&amp;return=http://www.ruanyifeng.com/thank.html&amp;item_name=Ruan%20YiFeng's%20Blog&amp;undefined_quantity=1&amp;no_note=0" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/dollar_32.png"  alt="paypal" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;/div&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;margin:1em;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;p&gt;&lt;a href="http://www.nanrenwa.com/click/go/ruanyifeng.banner.feed.yfblogfeed/gift"&gt;&lt;img src="http://nanrenwa.com/_img/a/2011/yfblog_feed.png" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;table style="border-top:1px solid #999;padding-top:4px;margin-top:1.5em;width:100%" id="footer"&gt; &lt;tr&gt; &lt;td style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;You are subscribed to email updates from &lt;a href="http://www.ruanyifeng.com/blog/"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt;To stop receiving these emails, you may &lt;a href="http://feedburner.google.com/fb/a/mailunsubscribe?k=x5q3e3oXiwrRC8QL5seztLZik1c"&gt;unsubscribe now&lt;/a&gt;.&lt;/td&gt; &lt;td style="font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;text-align:right;vertical-align:top"&gt;Email delivery powered by Google&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td colspan="2" style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;Google Inc., 20 West Kinzie, Chicago IL USA 60610&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/145804083675914388-7241814462048034578?l=ruanyf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/7241814462048034578'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/7241814462048034578'/><link rel='alternate' type='text/html' href='http://ruanyf.blogspot.com/2011/08/blog-post_25.html' title='阮一峰的网络日志'/><author><name>Ruan YiFeng</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-145804083675914388.post-111911730471999967</id><published>2011-08-23T05:22:00.001-07:00</published><updated>2011-08-23T05:22:35.146-07:00</updated><title type='text'>阮一峰的网络日志</title><content type='html'>&lt;style type="text/css"&gt;                          h1 a:hover {background-color:#888;color:#fff ! important;}                          div#emailbody table#itemcontentlist tr td div ul {                                         list-style-type:square;                                         padding-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div blockquote {                                 padding-left:6px;                                 border-left: 6px solid #dadada;                                 margin-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div li {                                 margin-bottom:1em;                                 margin-left:1em;                         }                           table#itemcontentlist tr td a:link, table#itemcontentlist tr td a:visited, table#itemcontentlist tr td a:active, ul#summarylist li a {                                 color:#000099;                                 font-weight:bold;                                 text-decoration:none;                         }                                 img {border:none;}                   &lt;/style&gt; &lt;div xmlns="http://www.w3.org/1999/xhtml" id="emailbody" style="margin:0 2em;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt; &lt;table style="border:0;padding:0;margin:0;width:100%"&gt; &lt;tr&gt; &lt;td style="vertical-align:top" width="99%"&gt; &lt;h1 style="margin:0;padding-bottom:6px;"&gt; &lt;a style="color:#888;font-size:22px;font-family:Arial, Helvetica, sans-serif;font-weight:normal;text-decoration:none;" href="http://www.ruanyifeng.com/blog/" title="(http://www.ruanyifeng.com/blog/)"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt; &lt;a href="http://fusion.google.com/add?source=atgs&amp;amp;feedurl=http://feeds.feedburner.com/ruanyifeng"&gt; &lt;img style="padding-top:6px" alt="" border="0" src="http://gmodules.com/ig/images/plus_google.gif" /&gt; &lt;/a&gt; &lt;/h1&gt; &lt;/td&gt; &lt;td width="1%" /&gt; &lt;/tr&gt; &lt;/table&gt; &lt;hr style="border:1px solid #ccc;padding:0;margin:0" /&gt; &lt;table id="itemcontentlist"&gt; &lt;tr xmlns=""&gt; &lt;td style="margin-bottom:0;line-height:1.4em;"&gt; &lt;p style="margin:1em 0 3px 0;"&gt; &lt;a name="1" style="font-family:Arial, Helvetica, sans-serif;font-size:18px;" href="http://www.ruanyifeng.com/blog/2011/08/the_quiet_mode_of_influence.html"&gt;影响力的静模式&lt;/a&gt; &lt;/p&gt; &lt;p style="font-size:13px;color:#555;margin:9px 0 3px 0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;"&gt; &lt;span&gt;Posted:&lt;/span&gt; 22 Aug 2011 08:58 PM PDT&lt;/p&gt; &lt;div style="margin:0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt;&lt;p&gt;有一种新兴职业，叫做&lt;a href="http://www.baidu.com/s?wd=%CD%F8%C2%E7%CD%C6%B9%E3&amp;rsv_bp=0&amp;inputT=2649"&gt;"网络推广"&lt;/a&gt;。&lt;/p&gt;&lt;p&gt;它教你用各种手段提高网站的访问量。比如，做好关键字优化，生成跟踪网络热点的最新内容，登录各种黄页，到处交换链接，在大型社区中经常发言，个性签名一定要包含网址，发送广告邮件......&lt;/p&gt;  &lt;p&gt;许多人对这种做法趋之若鹜，它已经成了一个产业。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201108/bg2011082302.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;我还没有尝试过这种推广，主要原因是觉得自己的网站不是商业性的，不值得如此大费周章。但是内心深处，我从没想过，这样的推广到底对不对。&lt;/p&gt;  &lt;p&gt;上周，我读到&lt;a href="http://zenhabits.net/shhh/"&gt;Leo Babauta&lt;/a&gt;的文章。他明确说，别做"网络推广"。我觉得，他的理由非常发人深省。&lt;/p&gt;  &lt;p&gt;=====================================&lt;/p&gt;  &lt;p&gt;不要把你的创造力，用在这些方面，那完全是浪费。你的创造力应该用于创造价值。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;你真正需要的不是流量，而是影响力。&lt;/p&gt;  &lt;p&gt;冲着别人大喊大叫，并不会得到影响力。保持安静，才是更好的选择。(Instead of screaming, prefer quiet.)&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;如果其他人都在喊"看我一眼"，你就保持安静。&lt;/p&gt;  &lt;p&gt;如果其他人都在关注市场，你就关注你自己。&lt;/p&gt;  &lt;p&gt;如果其他人都看重销售额和点击量，你就看重网站的内容。&lt;/p&gt;  &lt;p&gt;如果其他人都在招揽访问者，你就让他们自己找上门。&lt;/p&gt;  &lt;p&gt;如果其他人想尽办法，要求访问者订阅新闻邮件，你就不提供这个功能。&lt;/p&gt;  &lt;p&gt;如果其他人都在标榜取得的成果，你就不要谈论自己。&lt;/p&gt;  &lt;p&gt;如果其他人斤斤计较版权，你就白白奉送你的作品。&lt;/p&gt;  &lt;p&gt;如果其他人都在豪言壮语，定下宏伟的目标，你就保持低调，试着对未来降低期望。&lt;/p&gt;  &lt;p&gt;这里的重点，不是你放弃了竞争，而是你把用于营销活动的时间和金钱，都用来创造真正的价值。&lt;/p&gt;  &lt;p&gt;会有人发现你的。他们会觉得很惊奇，你做得又认真又好，但是居然从来没有听说过，于是就去告诉他们的朋友们。这时，你的访问者变成了你的推销员，你的价值就是你最大的广告。&lt;/p&gt;  &lt;p&gt;保持安静，让自己变得有价值。长期来看，这比任何营销手段都有效。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201108/bg2011082301.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;（完）&lt;br /&gt; &lt;/p&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;border:1px solid #d3d3d3;margin:1em;background-color:#AAD2F0;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;h3&gt;文档信息&lt;/h3&gt; &lt;ul&gt; &lt;li&gt;版权声明：自由转载-非商用-非衍生-保持署名 | &lt;a href="http://creativecommons.org/licenses/by-nc-nd/3.0/deed.zh"&gt;Creative Commons BY-NC-ND 3.0&lt;/a&gt;&lt;/li&gt; &lt;li&gt;原文网址：&lt;a href="http://www.ruanyifeng.com/blog/2011/08/the_quiet_mode_of_influence.html"&gt;http://www.ruanyifeng.com/blog/2011/08/the_quiet_mode_of_influence.html&lt;/a&gt;&lt;/li&gt; &lt;li&gt;最后修改时间：2011年8月23日 19:20&lt;/li&gt; &lt;li&gt;付费支持（&lt;a href="http://www.ruanyifeng.com/blog/2011/05/my_google_adsense_is_disabled.html" target="_blank" style="text-decoration:underline;"&gt;说明&lt;/a&gt;）：&lt;a href="https://lab.alipay.com/p.htm?id=2011081500435188" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/rmb_32.png" alt="支付宝担保交易" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; | &lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=yifeng.ruan@gmail.com&amp;currency_code=USD&amp;amount=0.3&amp;return=http://www.ruanyifeng.com/thank.html&amp;item_name=Ruan%20YiFeng's%20Blog&amp;undefined_quantity=1&amp;no_note=0" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/dollar_32.png"  alt="paypal" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;/div&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;margin:1em;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;p&gt;&lt;a href="http://www.nanrenwa.com/click/go/ruanyifeng.banner.feed.yfblogfeed/gift"&gt;&lt;img src="http://nanrenwa.com/_img/a/2011/yfblog_feed.png" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;table style="border-top:1px solid #999;padding-top:4px;margin-top:1.5em;width:100%" id="footer"&gt; &lt;tr&gt; &lt;td style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;You are subscribed to email updates from &lt;a href="http://www.ruanyifeng.com/blog/"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt;To stop receiving these emails, you may &lt;a href="http://feedburner.google.com/fb/a/mailunsubscribe?k=x5q3e3oXiwrRC8QL5seztLZik1c"&gt;unsubscribe now&lt;/a&gt;.&lt;/td&gt; &lt;td style="font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;text-align:right;vertical-align:top"&gt;Email delivery powered by Google&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td colspan="2" style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;Google Inc., 20 West Kinzie, Chicago IL USA 60610&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/145804083675914388-111911730471999967?l=ruanyf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/111911730471999967'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/111911730471999967'/><link rel='alternate' type='text/html' href='http://ruanyf.blogspot.com/2011/08/blog-post_23.html' title='阮一峰的网络日志'/><author><name>Ruan YiFeng</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-145804083675914388.post-3097587392119416044</id><published>2011-08-21T05:05:00.001-07:00</published><updated>2011-08-21T05:05:40.720-07:00</updated><title type='text'>阮一峰的网络日志</title><content type='html'>&lt;style type="text/css"&gt;                          h1 a:hover {background-color:#888;color:#fff ! important;}                          div#emailbody table#itemcontentlist tr td div ul {                                         list-style-type:square;                                         padding-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div blockquote {                                 padding-left:6px;                                 border-left: 6px solid #dadada;                                 margin-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div li {                                 margin-bottom:1em;                                 margin-left:1em;                         }                           table#itemcontentlist tr td a:link, table#itemcontentlist tr td a:visited, table#itemcontentlist tr td a:active, ul#summarylist li a {                                 color:#000099;                                 font-weight:bold;                                 text-decoration:none;                         }                                 img {border:none;}                   &lt;/style&gt; &lt;div xmlns="http://www.w3.org/1999/xhtml" id="emailbody" style="margin:0 2em;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt; &lt;table style="border:0;padding:0;margin:0;width:100%"&gt; &lt;tr&gt; &lt;td style="vertical-align:top" width="99%"&gt; &lt;h1 style="margin:0;padding-bottom:6px;"&gt; &lt;a style="color:#888;font-size:22px;font-family:Arial, Helvetica, sans-serif;font-weight:normal;text-decoration:none;" href="http://www.ruanyifeng.com/blog/" title="(http://www.ruanyifeng.com/blog/)"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt; &lt;a href="http://fusion.google.com/add?source=atgs&amp;amp;feedurl=http://feeds.feedburner.com/ruanyifeng"&gt; &lt;img style="padding-top:6px" alt="" border="0" src="http://gmodules.com/ig/images/plus_google.gif" /&gt; &lt;/a&gt; &lt;/h1&gt; &lt;/td&gt; &lt;td width="1%" /&gt; &lt;/tr&gt; &lt;/table&gt; &lt;hr style="border:1px solid #ccc;padding:0;margin:0" /&gt; &lt;table id="itemcontentlist"&gt; &lt;tr xmlns=""&gt; &lt;td style="margin-bottom:0;line-height:1.4em;"&gt; &lt;p style="margin:1em 0 3px 0;"&gt; &lt;a name="1" style="font-family:Arial, Helvetica, sans-serif;font-size:18px;" href="http://www.ruanyifeng.com/blog/2011/08/list_of_cloud_platforms.html"&gt;云平台服务商一览&lt;/a&gt; &lt;/p&gt; &lt;p style="font-size:13px;color:#555;margin:9px 0 3px 0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;"&gt; &lt;span&gt;Posted:&lt;/span&gt; 20 Aug 2011 05:35 AM PDT&lt;/p&gt; &lt;div style="margin:0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt;&lt;p&gt;2007年6月，三个美国年轻人决定成立一家新型的网络主机公司。&lt;/p&gt;&lt;p&gt;他们----James Lindenbaum，Adam Wiggins和Orion Henry----认为，现在的主机服务太复杂，无法做到"快速搭建，灵活扩展"。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201108/bg2011082001.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;在他们心目中，下一代主机应该提供对程序员非常友好的开发环境，使得程序员可以快速做出网站原型，并且具备弹性配置，即网站的硬件配置可以随访问量的变化灵活变动，从而做到按资源消耗量计费，"用多少资源，付多少钱"。&lt;/p&gt;  &lt;p&gt;他们为这个项目起名&lt;a href="http://www.heroku.com"&gt;Heroku&lt;/a&gt;。&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.heroku.com"&gt;&lt;img src="http://image.beekka.com/blog/201108/bg2011082004.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;2008年，这个项目从YC创业训练营毕业后，拿到了300万美元风投，引起业界关注。上线后，它的业务呈现爆炸式增长，被认为代表了未来的趋势。二年后的2010年12月8日，Heroku被Salesforce.com收购，价格是惊人的2.12亿美元。&lt;/p&gt;  &lt;p&gt;这种可以快速搭建、灵活扩展、按资源消耗量计费的主机，正式名称就叫做"&lt;a href="http://en.wikipedia.org/wiki/Cloud_computing"&gt;云平台&lt;/a&gt;"（cloud platform），它代表了"平台即服务"（Platform as a Service，缩写PaaS）的商业模式。&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201108/bg2011082005.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;被Heroku的成功激励，许多公司纷纷推出"云平台"产品。下面，就是现有服务商一览表，由&lt;a href="http://blog.huchunhao.com/current-and-upcoming-cloud-platforms"&gt;ANDYLAND&lt;/a&gt;总结。&lt;/p&gt;  &lt;p&gt;这种"云平台"是创业公司当前开发网站的首选，未来必将取代传统主机。下面的列表中，许多公司都提供免费套餐，非常值得尝试。&lt;/p&gt;  &lt;p&gt;======================================&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;多语言平台&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;　　* Heroku (&lt;a href="http://www.heroku.com/"&gt;http://www.heroku.com/&lt;/a&gt;)&lt;br /&gt; 　　 - Ruby, Node.js, Clojure&lt;/p&gt;  &lt;p&gt;　　* Redhat Openshift (&lt;a href="https://openshift.redhat.com/app/"&gt;https://openshift.redhat.com/app/&lt;/a&gt;)&lt;br /&gt; 　　  - Java, PHP, Ruby, Python,Perl&lt;/p&gt;  &lt;p&gt;　　* Microsoft Azure (&lt;a href="http://www.microsoft.com/windowsazure/"&gt;http://www.microsoft.com/windowsazure/&lt;/a&gt;)&lt;br /&gt; 　　 - .NET, Java, PHP, Ruby&lt;/p&gt;  &lt;p&gt;　　* Dotcloud - (&lt;a href="http://www.dotcloud.com/"&gt;http://www.dotcloud.com/&lt;/a&gt;)&lt;br /&gt; 　　 - Java, Perl, PHP, Python, Ruby, Node.js&lt;/p&gt;  &lt;p&gt;　　* DeployFu (&lt;a href="http://www.deployfu.com/"&gt;http://www.deployfu.com/&lt;/a&gt;)&lt;br /&gt; 　　 - node.js, Manos, ASP.NET, Pylons&lt;/p&gt;  &lt;p&gt;　　* Stackato (&lt;a href="http://www.activestate.com/cloud"&gt;http://www.activestate.com/cloud&lt;/a&gt;)&lt;br /&gt; 　　 - Python, Perl, Node.js, Ruby, Java&lt;/p&gt;  &lt;p&gt;　　* BitNami Cloud (&lt;a href="http://bitnami.org/cloud"&gt;http://bitnami.org/cloud&lt;/a&gt;)&lt;br /&gt; 　　 - Perl, PHP, Ruby, Java&lt;/p&gt;  &lt;p&gt;　　* Cloud Foundry (&lt;a href="http://www.cloudfoundry.com/"&gt;http://www.cloudfoundry.com/&lt;/a&gt;)&lt;br /&gt; 　　  - Java, Ruby, Node.js&lt;/p&gt;  &lt;p&gt;　　* Brightbox Cloud (&lt;a href="http://beta.brightbox.com/"&gt;http://beta.brightbox.com/&lt;/a&gt;)&lt;br /&gt; 　　  - 自选操作系统&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;PHP&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;　　* Orchestra (&lt;a href="http://orchestra.io/"&gt;http://orchestra.io/&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;　　* Cloud Control (&lt;a href="http://cloudcontrol.com/"&gt;http://cloudcontrol.com/&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;　　* Relbit (&lt;a href="http://relbit.com/"&gt;http://relbit.com/&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;　　* PHP Fog (&lt;a href="https://www.phpfog.com/"&gt;https://www.phpfog.com/&lt;/a&gt;) &lt;/p&gt;  &lt;p&gt;　　* Pagoda Box (&lt;a href="http://www.pagodabox.com/"&gt;http://www.pagodabox.com/&lt;/a&gt;) &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Python&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;　　* App Engine (&lt;a href="http://code.google.com/appengine/"&gt;http://code.google.com/appengine/&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;　　* PiCloud (&lt;a href="http://www.picloud.com/"&gt;http://www.picloud.com/&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;　　* DjangoZoom (&lt;a href="http://djangozoom.com/"&gt;http://djangozoom.com/&lt;/a&gt;) &lt;/p&gt;  &lt;p&gt;　　* Nuage (&lt;a href="http://www.nuagehq.com/"&gt;http://www.nuagehq.com/&lt;/a&gt;) &lt;/p&gt;  &lt;p&gt;　　* ep.io (&lt;a href="http://www.ep.io/"&gt;http://www.ep.io/&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;　　* AppHosted (&lt;a href="https://apphosted.com/"&gt;https://apphosted.com/&lt;/a&gt;) &lt;/p&gt;  &lt;p&gt;　　* Gondor (&lt;a href="https://gondor.io/"&gt;https://gondor.io/&lt;/a&gt;) &lt;/p&gt;  &lt;p&gt;　　* 30loops (&lt;a href="http://30loops.net/"&gt;http://30loops.net/&lt;/a&gt;) &lt;/p&gt;  &lt;p&gt;　　* Stable.io (&lt;a href="http://stable.io/"&gt;http://stable.io/&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;　　* Pydra (&lt;a href="http://www.pydra.com/"&gt;http://www.pydra.com/&lt;/a&gt;) &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Ruby&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;　　* EngineYard (&lt;a href="http://www.engineyard.com/"&gt;http://www.engineyard.com/&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;　　* Railscloud (&lt;a href="https://www.railscloud.de/"&gt;https://www.railscloud.de/&lt;/a&gt;) &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Java&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;　　* App Engine (&lt;a href="http://code.google.com/appengine/"&gt;http://code.google.com/appengine/&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;　　* CloudBees (&lt;a href="http://www.cloudbees.com/"&gt;http://www.cloudbees.com/&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;　　* VMForce (&lt;a href="http://www.vmforce.com/"&gt;http://www.vmforce.com/&lt;/a&gt;) &lt;/p&gt;  &lt;p&gt;　　* Amazon Elastic Beanstalk (&lt;a href="http://aws.amazon.com/elasticbeanstalk/"&gt;http://aws.amazon.com/elasticbeanstalk/&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;　　* CumuLogic (&lt;a href="http://www.cumulogic.com/"&gt;http://www.cumulogic.com/&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;　　* JRapid (&lt;a href="http://www.jrapid.com/"&gt;http://www.jrapid.com/&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Node.js&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;　　* JoyentCloud (&lt;a href="https://no.de/"&gt;https://no.de/&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;　　* Nodester (&lt;a href="http://nodester.com/"&gt;http://nodester.com/&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;　　* Nodejitsu (&lt;a href="http://www.nodejitsu.com/"&gt;http://www.nodejitsu.com/&lt;/a&gt;) &lt;/p&gt;  &lt;p&gt;　　* NodeSocket (&lt;a href="http://www.nodesocket.com/"&gt;http://www.nodesocket.com/&lt;/a&gt;) &lt;/p&gt;  &lt;p&gt;　　* Cloudnode (&lt;a href="http://cloudno.de/"&gt;http://cloudno.de/&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;.NET&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;　　* AppHarbor (&lt;a href="https://appharbor.com/"&gt;https://appharbor.com/&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;　　* Moncai (&lt;a href="http://moncai.com/"&gt;http://moncai.com/&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Perl&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;　　* Phenona (&lt;a href="http://www.phenona.com/"&gt;http://www.phenona.com/&lt;/a&gt;) &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Ringo.js&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;　　* Erbix (&lt;a href="http://www.erbix.com/"&gt;http://www.erbix.com/&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Javascript&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;　　* Akshell (&lt;a href="http://www.akshell.com/"&gt;http://www.akshell.com/&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;=================================&lt;/p&gt;  &lt;p&gt;P.S.&lt;/p&gt;  &lt;p&gt;我还想宣布一件事情。&lt;/p&gt;  &lt;p&gt;为了给我的下一个网络项目筹资，我正式出售这个网络日志的&lt;a href="http://www.ruanyifeng.com/ads.html"&gt;广告位&lt;/a&gt;，欢迎感兴趣的朋友投放广告。&lt;/p&gt;  &lt;p&gt;谢谢。&lt;/p&gt;  &lt;p&gt;（完）&lt;br /&gt; &lt;/p&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;border:1px solid #d3d3d3;margin:1em;background-color:#AAD2F0;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;h3&gt;文档信息&lt;/h3&gt; &lt;ul&gt; &lt;li&gt;版权声明：自由转载-非商用-非衍生-保持署名 | &lt;a href="http://creativecommons.org/licenses/by-nc-nd/3.0/deed.zh"&gt;Creative Commons BY-NC-ND 3.0&lt;/a&gt;&lt;/li&gt; &lt;li&gt;原文网址：&lt;a href="http://www.ruanyifeng.com/blog/2011/08/list_of_cloud_platforms.html"&gt;http://www.ruanyifeng.com/blog/2011/08/list_of_cloud_platforms.html&lt;/a&gt;&lt;/li&gt; &lt;li&gt;最后修改时间：2011年8月21日 19:04&lt;/li&gt; &lt;li&gt;付费支持（&lt;a href="http://www.ruanyifeng.com/blog/2011/05/my_google_adsense_is_disabled.html" target="_blank" style="text-decoration:underline;"&gt;说明&lt;/a&gt;）：&lt;a href="https://lab.alipay.com/p.htm?id=2011081500435188" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/rmb_32.png" alt="支付宝担保交易" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; | &lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=yifeng.ruan@gmail.com&amp;currency_code=USD&amp;amount=0.3&amp;return=http://www.ruanyifeng.com/thank.html&amp;item_name=Ruan%20YiFeng's%20Blog&amp;undefined_quantity=1&amp;no_note=0" target="_blank"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/dollar_32.png"  alt="paypal" style="border:none;vertical-align:middle;" /&gt;&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;/div&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;margin:1em;-moz-border-radius: 10px;-webkit-border-radius:10px;border-radius: 10px;"&gt;&lt;p&gt;&lt;a href="http://www.nanrenwa.com/click/go/ruanyifeng.banner.feed.yfblogfeed/gift"&gt;&lt;img src="http://nanrenwa.com/_img/a/2011/yfblog_feed.png" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;table style="border-top:1px solid #999;padding-top:4px;margin-top:1.5em;width:100%" id="footer"&gt; &lt;tr&gt; &lt;td style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;You are subscribed to email updates from &lt;a href="http://www.ruanyifeng.com/blog/"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt;To stop receiving these emails, you may &lt;a href="http://feedburner.google.com/fb/a/mailunsubscribe?k=x5q3e3oXiwrRC8QL5seztLZik1c"&gt;unsubscribe now&lt;/a&gt;.&lt;/td&gt; &lt;td style="font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;text-align:right;vertical-align:top"&gt;Email delivery powered by Google&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td colspan="2" style="text-align:left;font-family:Helvetica,Arial,Sans-Serif;font-size:11px;margin:0 6px 1.2em 0;color:#333;"&gt;Google Inc., 20 West Kinzie, Chicago IL USA 60610&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/145804083675914388-3097587392119416044?l=ruanyf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/3097587392119416044'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/145804083675914388/posts/default/3097587392119416044'/><link rel='alternate' type='text/html' href='http://ruanyf.blogspot.com/2011/08/blog-post_21.html' title='阮一峰的网络日志'/><author><name>Ruan YiFeng</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-145804083675914388.post-9085341372803571954</id><published>2011-08-18T05:10:00.001-07:00</published><updated>2011-08-18T05:10:14.750-07:00</updated><title type='text'>阮一峰的网络日志</title><content type='html'>&lt;style type="text/css"&gt;                          h1 a:hover {background-color:#888;color:#fff ! important;}                          div#emailbody table#itemcontentlist tr td div ul {                                         list-style-type:square;                                         padding-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div blockquote {                                 padding-left:6px;                                 border-left: 6px solid #dadada;                                 margin-left:1em;                         }                                  div#emailbody table#itemcontentlist tr td div li {                                 margin-bottom:1em;                                 margin-left:1em;                         }                           table#itemcontentlist tr td a:link, table#itemcontentlist tr td a:visited, table#itemcontentlist tr td a:active, ul#summarylist li a {                                 color:#000099;                                 font-weight:bold;                                 text-decoration:none;                         }                                 img {border:none;}                   &lt;/style&gt; &lt;div xmlns="http://www.w3.org/1999/xhtml" id="emailbody" style="margin:0 2em;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt; &lt;table style="border:0;padding:0;margin:0;width:100%"&gt; &lt;tr&gt; &lt;td style="vertical-align:top" width="99%"&gt; &lt;h1 style="margin:0;padding-bottom:6px;"&gt; &lt;a style="color:#888;font-size:22px;font-family:Arial, Helvetica, sans-serif;font-weight:normal;text-decoration:none;" href="http://www.ruanyifeng.com/blog/" title="(http://www.ruanyifeng.com/blog/)"&gt;阮一峰的网络日志&lt;/a&gt; &lt;br /&gt; &lt;a href="http://fusion.google.com/add?source=atgs&amp;amp;feedurl=http://feeds.feedburner.com/ruanyifeng"&gt; &lt;img style="padding-top:6px" alt="" border="0" src="http://gmodules.com/ig/images/plus_google.gif" /&gt; &lt;/a&gt; &lt;/h1&gt; &lt;/td&gt; &lt;td width="1%" /&gt; &lt;/tr&gt; &lt;/table&gt; &lt;hr style="border:1px solid #ccc;padding:0;margin:0" /&gt; &lt;table id="itemcontentlist"&gt; &lt;tr xmlns=""&gt; &lt;td style="margin-bottom:0;line-height:1.4em;"&gt; &lt;p style="margin:1em 0 3px 0;"&gt; &lt;a name="1" style="font-family:Arial, Helvetica, sans-serif;font-size:18px;" href="http://www.ruanyifeng.com/blog/2011/08/cooking_technology_innovation_movement.html"&gt;做饭技术革新运动&lt;/a&gt; &lt;/p&gt; &lt;p style="font-size:13px;color:#555;margin:9px 0 3px 0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;"&gt; &lt;span&gt;Posted:&lt;/span&gt; 17 Aug 2011 09:11 PM PDT&lt;/p&gt; &lt;div style="margin:0;font-family:Georgia,Helvetica,Arial,Sans-Serif;line-height:140%;font-size:13px;color:#000000;"&gt;&lt;p&gt;这一周，我在读南京大学历史系高华教授的文集（&lt;a href="http://ishare.iask.sina.com.cn/f/15743540.html"&gt;下载链接&lt;/a&gt;）。&lt;/p&gt;&lt;p&gt;书中提到，五十年代末、六十年代初，国内曾经有过一场"做饭技术革新运动"。我对这个运动充满好奇，就去查了一些资料，结果大开眼界，它简直比荒诞小说还要离奇。&lt;/p&gt;  &lt;p&gt;这个事件充分说明了，在专制制度之下，欺上瞒下、全民智昏可以到达一种多么骇人的程度。&lt;/p&gt;  &lt;p&gt;================================================&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;"做饭技术革新运动"大事记&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;阮一峰 整理&lt;/p&gt;  &lt;p&gt;&lt;img src="http://image.beekka.com/blog/201108/bg2011081801.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;（图片说明：六十年代的公共食堂）&lt;/p&gt;  &lt;p&gt;&lt;br /&gt; &lt;strong&gt;1959年5月&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;辽宁省黑山县宣布，发明了玉米"先蒸、后磨、再煮"的做饭方法，大大提高出饭量。&lt;/p&gt;  &lt;p&gt;这种方法先将玉米蒸到五分熟，然后将半生不熟的玉米拿去磨，磨成粉状后再拌水做成馍，最后再将馍蒸熟。以前，1斤玉米只能出馍1.5--1.7斤，而新做法能出馍2.5--2.7斤。&lt;/p&gt;  &lt;p&gt;报道称，食用了增量法制作的玉米面后，"群众红光满面，生产劲头十足"。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1959年5月13日&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;辽宁省委在黑山县三台子乡召开推广"玉米食用增量法"经验介绍现场会。&lt;/p&gt;  &lt;p&gt;会议由副省长仇友文主持，各市县的财贸部长、粮食局长和部分县委书记、县长，以及各人民公社党委书记，主任、管理区总支部书记、食堂炊事员等共500多人参加。在会上，大虎山卫星公社党委书记王玉林介绍了"玉米食用增量法"的经验，黑山县委书记王树森介绍了全县推广这一经验的情况。&l
