<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feed.robaggio.net/styles/temp01.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://feed.robaggio.net" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feed.feedsky.com/robaggio" type="application/rss+xml"></fs:self_link><lastBuildDate>Sun, 25 Apr 2010 11:49:01 GMT</lastBuildDate><title>Trashin' the Camp</title><description>Forever Blue Baggio - robaggio大闹营地</description><image><url>http://www.feedsky.com/images/feedsky_logologo.gif</url><title>Trashin' the Camp</title><link>http://blog.robaggio.net/</link></image><link atom:type="text/html">http://blog.robaggio.net/</link><id xmlns="http://www.w3.org/2005/Atom">tag:blogger.com,1999:blog-35655070</id><link xmlns="http://www.w3.org/2005/Atom" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://blog.robaggio.net/feeds/posts/default"></link><link xmlns="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/35655070/posts/default"></link><link xmlns="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/"></link><link xmlns="http://www.w3.org/2005/Atom" rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/35655070/posts/default?start-index=26&amp;max-results=25"></link><author xmlns="http://www.w3.org/2005/Atom"><name>robaggio</name><uri>http://www.blogger.com/profile/07514605377076236983</uri><email>noreply@blogger.com</email></author><generator xmlns="http://www.w3.org/2005/Atom" version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>139</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><pubDate>Fri, 30 Apr 2010 03:14:57 GMT</pubDate><managingEditor>robaggio</managingEditor><item><title>无iDP上传自开发应用到iPhone简单说明</title><link atom:title="无iDP上传自开发应用到iPhone简单说明" atom:type="text/html">http://blog.robaggio.net/2010/04/idpiphone.html</link><id xmlns="http://www.w3.org/2005/Atom">tag:blogger.com,1999:blog-35655070.post-5658090743875724886</id><content xmlns="http://www.w3.org/2005/Atom" type="html">如果你不是iPhone开发者，但是恰好有mac和iphone在身边，又恰好是个喜欢“hello world”的IT民工，那你一定会想在自己的iPhone上hello world一下。由于你只是玩票，所以肯定不会去弄&lt;a href=&quot;http://developer.apple.com/programs/iphone/&quot; id=&quot;sm6t&quot; title=&quot;iPhone Development Program&quot;&gt;iPhone Development Program&lt;/a&gt; ，官方文档自然没有任何供你参考的信息，目前网络上介绍的各种sdk版本的方法大多都已经失效或是混乱，所以发一个简单的说明：&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;
&lt;br /&gt;
本文测试环境：&lt;span style=&quot;font-family: arial;&quot;&gt;Snow leopard 10.6.3 + Xcode 3.2.2 + iPhone 3G&lt;/span&gt;(3.1.2固件)&lt;br /&gt;
&lt;br /&gt;
前提条件：在Xcode中已经有可以在模拟器上正常运行的Hello World程序 + iPhone已经越狱 + 本身是个没进行过iPhone开发的小白&lt;br /&gt;
&lt;br /&gt;
方案思路：build一个不需要签名的应用，在mac上用ldid伪造签名，通过SSH上传到iPhone上&lt;br /&gt;
&lt;br /&gt;
操作步骤：&lt;br /&gt;
&lt;ol style=&quot;list-style:decimal outside none;&quot;&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #cccccc; font-family: courier new;&quot;&gt;sudo vi /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS[SDK版本].sdk/SDKSettings.plist&lt;/span&gt; , &lt;span style=&quot;font-family: arial;&quot;&gt;把CODE_SIGNING_REQUIRED对应的值设置为NO。 - 这是告诉Xcode使用这个SDK build时不用必须签名应用;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;在Xcode中修改应用的&quot;info&quot;-&amp;gt;&quot;build&quot; -&amp;gt; &quot;Release&quot; -&amp;gt; &quot;&lt;span style=&quot;font-family: arial;&quot;&gt;Code Signing Identity&lt;/span&gt;&quot;,设置为&quot;&lt;span style=&quot;font-family: arial;&quot;&gt;Don't Code Sign&lt;/span&gt;&quot;,选择构建目标为&quot;&lt;span style=&quot;font-family: arial;&quot;&gt;iPhone Device - [SDK版本] | Release&lt;/span&gt;&quot;，build应该提示无错误。(第一步的配置生效需要重启Xcode) - 此步构建了一个没有签名的app，路径为[项目位置]/build/Release-iphoneos/HelloWorld.app&lt;/li&gt;
&lt;li&gt;安装ldid&lt;br /&gt;&lt;span style=&quot;background-color: #cccccc; font-family: Courier New;&quot;&gt;wget http://svn.telesphoreo.org/trunk/data/ldid/ldid-1.0.610.tgz&lt;/span&gt;&lt;br style=&quot;background-color: #cccccc;&quot; /&gt;&lt;span style=&quot;background-color: #cccccc; font-family: Courier New;&quot;&gt;tar -zxf ldid-1.0.610.tgz&lt;/span&gt;&lt;br style=&quot;background-color: #cccccc;&quot; /&gt;&lt;span style=&quot;background-color: #cccccc; font-family: Courier New;&quot;&gt;&lt;span class=&quot;builtin&quot;&gt;cd&lt;/span&gt; ldid-1.0.610&lt;/span&gt;&lt;br style=&quot;background-color: #cccccc;&quot; /&gt;&lt;span style=&quot;background-color: #cccccc; font-family: Courier New;&quot;&gt;g++ -I . -o util/ldid{,.cpp} -x c util/{lookup2,sha1}.c&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New;&quot;&gt;util/ldid&lt;/span&gt; 下面就是我们需要用来伪造签名的ldid程序了&lt;/li&gt;
&lt;li&gt;给程序签名&lt;br /&gt;&lt;span style=&quot;background-color: #cccccc; font-family: courier new;&quot;&gt;ldid -S [项目位置]/build/Release-iphoneos/HelloWorld.app/HelloWorld&lt;/span&gt; (注意这里要写到.app下面的执行文件)&lt;br /&gt;SSH上传到iPhone的&lt;span style=&quot;font-family: courier new;&quot;&gt;/Applications&lt;/span&gt; 下面，respring一下就可以看到并使用HelloWorld应用了（SSH应该在大家越狱时都有装，如果没有，到Cydia或Rock中都能装上，不会respring就重启iPhone）&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
资料参考：&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://maciku.blogspot.com/2009/12/iphone-sdk-312-idp.html&quot;&gt;iPhone SDK 3.1.2 免 iDP 證書 實機測試 上傳教學&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.yifeiyang.net/iphone-development-advanced-4-use-the-makefile-to-compile-iphone-program-automatically/&quot; id=&quot;iknn&quot; title=&quot;iPhone开发进阶（4） — 使用Makefile自动编译iPhone程序&quot;&gt;iPhone开发进阶（4） — 使用Makefile自动编译iPhone程序&lt;/a&gt; (按照这篇文章的做法，可以将编译、伪造签名、上传iPhone一步完成，大家可以继续follow研究)&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35655070-5658090743875724886?l=blog.robaggio.net' alt='' /&gt;&lt;/div&gt;</content><author xmlns="http://www.w3.org/2005/Atom"><name>robaggio</name><uri>http://www.blogger.com/profile/07514605377076236983</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04154387364748822713"></gd:extendedProperty></author><thr:total>0</thr:total><content:encoded>如果你不是iPhone开发者，但是恰好有mac和iphone在身边，又恰好是个喜欢“hello world”的IT民工，那你一定会想在自己的iPhone上hello world一下。由于你只是玩票，所以肯定不会去弄&lt;a href=&quot;http://developer.apple.com/programs/iphone/&quot; id=&quot;sm6t&quot; title=&quot;iPhone Development Program&quot;&gt;iPhone Development Program&lt;/a&gt; ，官方文档自然没有任何供你参考的信息，目前网络上介绍的各种sdk版本的方法大多都已经失效或是混乱，所以发一个简单的说明：&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;
&lt;br /&gt;
本文测试环境：&lt;span style=&quot;font-family: arial;&quot;&gt;Snow leopard 10.6.3 + Xcode 3.2.2 + iPhone 3G&lt;/span&gt;(3.1.2固件)&lt;br /&gt;
&lt;br /&gt;
前提条件：在Xcode中已经有可以在模拟器上正常运行的Hello World程序 + iPhone已经越狱 + 本身是个没进行过iPhone开发的小白&lt;br /&gt;
&lt;br /&gt;
方案思路：build一个不需要签名的应用，在mac上用ldid伪造签名，通过SSH上传到iPhone上&lt;br /&gt;
&lt;br /&gt;
操作步骤：&lt;br /&gt;
&lt;ol style=&quot;list-style:decimal outside none;&quot;&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #cccccc; font-family: courier new;&quot;&gt;sudo vi /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS[SDK版本].sdk/SDKSettings.plist&lt;/span&gt; , &lt;span style=&quot;font-family: arial;&quot;&gt;把CODE_SIGNING_REQUIRED对应的值设置为NO。 - 这是告诉Xcode使用这个SDK build时不用必须签名应用;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;在Xcode中修改应用的&quot;info&quot;-&amp;gt;&quot;build&quot; -&amp;gt; &quot;Release&quot; -&amp;gt; &quot;&lt;span style=&quot;font-family: arial;&quot;&gt;Code Signing Identity&lt;/span&gt;&quot;,设置为&quot;&lt;span style=&quot;font-family: arial;&quot;&gt;Don't Code Sign&lt;/span&gt;&quot;,选择构建目标为&quot;&lt;span style=&quot;font-family: arial;&quot;&gt;iPhone Device - [SDK版本] | Release&lt;/span&gt;&quot;，build应该提示无错误。(第一步的配置生效需要重启Xcode) - 此步构建了一个没有签名的app，路径为[项目位置]/build/Release-iphoneos/HelloWorld.app&lt;/li&gt;
&lt;li&gt;安装ldid&lt;br /&gt;&lt;span style=&quot;background-color: #cccccc; font-family: Courier New;&quot;&gt;wget http://svn.telesphoreo.org/trunk/data/ldid/ldid-1.0.610.tgz&lt;/span&gt;&lt;br style=&quot;background-color: #cccccc;&quot; /&gt;&lt;span style=&quot;background-color: #cccccc; font-family: Courier New;&quot;&gt;tar -zxf ldid-1.0.610.tgz&lt;/span&gt;&lt;br style=&quot;background-color: #cccccc;&quot; /&gt;&lt;span style=&quot;background-color: #cccccc; font-family: Courier New;&quot;&gt;&lt;span class=&quot;builtin&quot;&gt;cd&lt;/span&gt; ldid-1.0.610&lt;/span&gt;&lt;br style=&quot;background-color: #cccccc;&quot; /&gt;&lt;span style=&quot;background-color: #cccccc; font-family: Courier New;&quot;&gt;g++ -I . -o util/ldid{,.cpp} -x c util/{lookup2,sha1}.c&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New;&quot;&gt;util/ldid&lt;/span&gt; 下面就是我们需要用来伪造签名的ldid程序了&lt;/li&gt;
&lt;li&gt;给程序签名&lt;br /&gt;&lt;span style=&quot;background-color: #cccccc; font-family: courier new;&quot;&gt;ldid -S [项目位置]/build/Release-iphoneos/HelloWorld.app/HelloWorld&lt;/span&gt; (注意这里要写到.app下面的执行文件)&lt;br /&gt;SSH上传到iPhone的&lt;span style=&quot;font-family: courier new;&quot;&gt;/Applications&lt;/span&gt; 下面，respring一下就可以看到并使用HelloWorld应用了（SSH应该在大家越狱时都有装，如果没有，到Cydia或Rock中都能装上，不会respring就重启iPhone）&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
资料参考：&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://maciku.blogspot.com/2009/12/iphone-sdk-312-idp.html&quot;&gt;iPhone SDK 3.1.2 免 iDP 證書 實機測試 上傳教學&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.yifeiyang.net/iphone-development-advanced-4-use-the-makefile-to-compile-iphone-program-automatically/&quot; id=&quot;iknn&quot; title=&quot;iPhone开发进阶（4） — 使用Makefile自动编译iPhone程序&quot;&gt;iPhone开发进阶（4） — 使用Makefile自动编译iPhone程序&lt;/a&gt; (按照这篇文章的做法，可以将编译、伪造签名、上传iPhone一步完成，大家可以继续follow研究)&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35655070-5658090743875724886?l=blog.robaggio.net' alt='' /&gt;&lt;/div&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/362137778/robaggio/feedsky/s.gif?r=http://blog.robaggio.net/2010/04/idpiphone.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/robaggio/362137778/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/robaggio/362137778/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class=&quot;fsflare&quot;&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/robaggio?a=8b02914a33ca2b1cb021fd0a20fd4bd1&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/robaggio?i=8b02914a33ca2b1cb021fd0a20fd4bd1&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/robaggio?a=633376e64a29e41b304aadc9755e4177&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/robaggio?i=633376e64a29e41b304aadc9755e4177&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><category domain="http://www.blogger.com/atom/ns#">tutorial</category><category domain="http://www.blogger.com/atom/ns#">iphone</category><pubDate>Sun, 25 Apr 2010 19:49:01 +0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-35655070.post-5658090743875724886</guid><dc:creator>robaggio</dc:creator><fs:srclink>http://blog.robaggio.net/2010/04/idpiphone.html</fs:srclink><fs:srcfeed>http://blog.robaggio.net/rss.xml</fs:srcfeed><fs:itemid>feedsky/robaggio/~8015080/362137778/5171009</fs:itemid></item><item><title>hoj最近90天活跃度记录</title><link atom:title="hoj最近90天活跃度记录" atom:type="text/html">http://blog.robaggio.net/2010/03/hoj90.html</link><id xmlns="http://www.w3.org/2005/Atom">tag:blogger.com,1999:blog-35655070.post-1741734421718541942</id><content xmlns="http://www.w3.org/2005/Atom" type="html">&lt;span class=&quot;dropcaps&quot;&gt;F&lt;/span&gt;lickr Post:&lt;br /&gt;
&lt;div style=&quot;float: right; margin-bottom: 10px; margin-left: 10px;&quot;&gt;
&lt;a href=&quot;http://www.flickr.com/photos/robaggio/4472928849/&quot; title=&quot;photo sharing&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://farm5.static.flickr.com/4028/4472928849_cd8665c53d_m.jpg&quot; style=&quot;border: 2px solid rgb(0, 0, 0);&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 0.9em; margin-top: 0px;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/robaggio/4472928849/&quot;&gt;hoj最近90天活跃度记录&lt;/a&gt;&lt;br /&gt;Originally uploaded by &lt;a href=&quot;http://www.flickr.com/people/robaggio/&quot;&gt;robaggio&lt;/a&gt; &lt;br /&gt;on 29th March, 2010&lt;/span&gt;&lt;/div&gt;
用gae开始监控hoj(&lt;a href=&quot;http://acm.hit.edu.cn/&quot;&gt;http://acm.hit.edu.cn&lt;/a&gt;)的活跃度已经有近3个月了。这是今天看到活跃度图表，可以看到有两个低活跃期对应的应该是期末考试和春节假期吧&lt;br /&gt;
&lt;br /&gt;
继续上一次(&lt;a href=&quot;http://blog.robaggio.net/2010/01/hoj.html&quot;&gt;http://blog.robaggio.net/2010/01/hoj.html&lt;/a&gt;)的hoj统计图系列，这次是最近90天活跃度，你可以看到最近大家在hoj上的提交成上升趋势，不错的兆头。动态的活跃度统计图地址为： &lt;a href=&quot;http://hit-acm.appspot.com/chart/daily_activity&quot;&gt;&lt;b&gt;http://hit-acm.appspot.com/chart/daily_activity&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
另外一个有趣的现象是-60天的时候应该对应的是期末考试，-30天的时候对应的是春节，可见期末考试的杀伤力还是更大一些啊&lt;br /&gt;
&lt;br clear=&quot;all&quot; /&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35655070-1741734421718541942?l=blog.robaggio.net' alt='' /&gt;&lt;/div&gt;</content><author xmlns="http://www.w3.org/2005/Atom"><name>robaggio</name><uri>http://www.blogger.com/profile/07514605377076236983</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04154387364748822713"></gd:extendedProperty></author><thr:total>0</thr:total><content:encoded>&lt;span class=&quot;dropcaps&quot;&gt;F&lt;/span&gt;lickr Post:&lt;br /&gt;
&lt;div style=&quot;float: right; margin-bottom: 10px; margin-left: 10px;&quot;&gt;
&lt;a href=&quot;http://www.flickr.com/photos/robaggio/4472928849/&quot; title=&quot;photo sharing&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://farm5.static.flickr.com/4028/4472928849_cd8665c53d_m.jpg&quot; style=&quot;border: 2px solid rgb(0, 0, 0);&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 0.9em; margin-top: 0px;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/robaggio/4472928849/&quot;&gt;hoj最近90天活跃度记录&lt;/a&gt;&lt;br /&gt;Originally uploaded by &lt;a href=&quot;http://www.flickr.com/people/robaggio/&quot;&gt;robaggio&lt;/a&gt; &lt;br /&gt;on 29th March, 2010&lt;/span&gt;&lt;/div&gt;
用gae开始监控hoj(&lt;a href=&quot;http://acm.hit.edu.cn/&quot;&gt;http://acm.hit.edu.cn&lt;/a&gt;)的活跃度已经有近3个月了。这是今天看到活跃度图表，可以看到有两个低活跃期对应的应该是期末考试和春节假期吧&lt;br /&gt;
&lt;br /&gt;
继续上一次(&lt;a href=&quot;http://blog.robaggio.net/2010/01/hoj.html&quot;&gt;http://blog.robaggio.net/2010/01/hoj.html&lt;/a&gt;)的hoj统计图系列，这次是最近90天活跃度，你可以看到最近大家在hoj上的提交成上升趋势，不错的兆头。动态的活跃度统计图地址为： &lt;a href=&quot;http://hit-acm.appspot.com/chart/daily_activity&quot;&gt;&lt;b&gt;http://hit-acm.appspot.com/chart/daily_activity&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
另外一个有趣的现象是-60天的时候应该对应的是期末考试，-30天的时候对应的是春节，可见期末考试的杀伤力还是更大一些啊&lt;br /&gt;
&lt;br clear=&quot;all&quot; /&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35655070-1741734421718541942?l=blog.robaggio.net' alt='' /&gt;&lt;/div&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/362137780/robaggio/feedsky/s.gif?r=http://blog.robaggio.net/2010/03/hoj90.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/robaggio/362137780/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/robaggio/362137780/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class=&quot;fsflare&quot;&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/robaggio?a=da0fe04bc0441c420c7470d63ef4ed79&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/robaggio?i=da0fe04bc0441c420c7470d63ef4ed79&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/robaggio?a=c5d8bc4a05cf2d14a4242c8ea45a3a2b&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/robaggio?i=c5d8bc4a05cf2d14a4242c8ea45a3a2b&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><category domain="http://www.blogger.com/atom/ns#">Google App Engine</category><pubDate>Mon, 29 Mar 2010 23:53:43 +0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-35655070.post-1741734421718541942</guid><dc:creator>robaggio</dc:creator><fs:srclink>http://blog.robaggio.net/2010/03/hoj90.html</fs:srclink><fs:srcfeed>http://blog.robaggio.net/rss.xml</fs:srcfeed><fs:itemid>feedsky/robaggio/~8015080/362137780/5171009</fs:itemid></item><item><title>命运多舛的HOJ</title><link atom:title="命运多舛的HOJ" atom:type="text/html">http://blog.robaggio.net/2010/01/hoj.html</link><id xmlns="http://www.w3.org/2005/Atom">tag:blogger.com,1999:blog-35655070.post-4353616343473187059</id><content xmlns="http://www.w3.org/2005/Atom" type="html">原本这篇文章应该发表在去年，继续是和&lt;a href=&quot;http://blog.robaggio.net/2009/12/hit-online-judge-system-assistant.html&quot;&gt;上次提到&lt;/a&gt;的&lt;a href=&quot;http://hit-acm.appspot.com/&quot;&gt;HOJ助手&lt;/a&gt;的话题。按照既定的roadmap，最近实现了用来反映HOJ 最近24小时活动情况的图表，这里的“活动情况”就是指Accept问题的数量(同一用户多次Accept只计算一次)，数据每小时更新一次，这次还是用的&lt;a href=&quot;http://code.google.com/apis/chart/&quot;&gt;Google Chart API&lt;/a&gt;，但是在服务器端缓存了的图表，因此url非常简单:&amp;nbsp;&lt;a href=&quot;http://hit-acm.appspot.com/chart/hourly_activity&quot;&gt;http://hit-acm.appspot.com/chart/hourly_activity&lt;/a&gt;，这样图表可以在任意网站引用了，有点儿&lt;a href=&quot;http://en.wikipedia.org/wiki/Representational_State_Transfer&quot;&gt;RESTful&lt;/a&gt;的意思吧(大家不要顽皮的尝试Post这个url哦)。&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://hit-acm.appspot.com/chart/hourly_activity&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot;  src=&quot;http://hit-acm.appspot.com/chart/hourly_activity&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
但是...&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;命运多舛&lt;/b&gt;&lt;/span&gt;这个词上场了！程序刚刚调试完成，只收集了几个小时的数据，HOJ就宣布Down掉了，真是汗啊，所以当时就没有发布这个新的图表。&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
在我苦等HOJ回来的寂寞岁月里，也模仿&lt;a href=&quot;http://istwitterdown.com/&quot;&gt;istwitterdown&lt;/a&gt;的网站写了一个&lt;a href=&quot;http://hit-acm.appspot.com/ishojdown&quot;&gt;ishojdown&lt;/a&gt;的页面，恩完全是出于无聊，点了链接被雷到的不要怪我。&lt;br /&gt;
&lt;br /&gt;
不过更&quot;杯具&quot;的是当HOJ宣称重新上线后，&lt;a href=&quot;http://code.google.com/appengine/&quot;&gt;GAE&lt;/a&gt;还是不能远程fetch HOJ的页面!看来是HOJ的服务器把GAE的地址当成是收费ip给屏蔽掉了...只好利用手头现有的一些教育网内服务器做了中转，才算是让爬虫程序又跑起来了。不过麻烦的是多了一个中间节点，就多了一分出问题的可能性，想想一台中转服务器不靠谱，又找了一台(哎，谁让俺做了好多高校的项目呢，也许这是这两年工作唯一的好处吧XD)，两台同时运行就比较可靠了。不过这个可靠是最终一致性的典型，爬虫在扫描的时候偶尔遇到网络故障会把某一个小时的ac数留到下一个小时计算，所以有时候会有突然启动的峰值，那就是网络那时候比较顺畅...汗。于是绕了很大一圈，我终于回到了当初的地方，可以发布新的图表了! 其实还有每日级别的信息统计，不过目前数据太少，等数据更多一些在上图吧。&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35655070-4353616343473187059?l=blog.robaggio.net' alt='' /&gt;&lt;/div&gt;</content><author xmlns="http://www.w3.org/2005/Atom"><name>robaggio</name><uri>http://www.blogger.com/profile/07514605377076236983</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04154387364748822713"></gd:extendedProperty></author><thr:total>0</thr:total><content:encoded>原本这篇文章应该发表在去年，继续是和&lt;a href=&quot;http://blog.robaggio.net/2009/12/hit-online-judge-system-assistant.html&quot;&gt;上次提到&lt;/a&gt;的&lt;a href=&quot;http://hit-acm.appspot.com/&quot;&gt;HOJ助手&lt;/a&gt;的话题。按照既定的roadmap，最近实现了用来反映HOJ 最近24小时活动情况的图表，这里的“活动情况”就是指Accept问题的数量(同一用户多次Accept只计算一次)，数据每小时更新一次，这次还是用的&lt;a href=&quot;http://code.google.com/apis/chart/&quot;&gt;Google Chart API&lt;/a&gt;，但是在服务器端缓存了的图表，因此url非常简单:&amp;nbsp;&lt;a href=&quot;http://hit-acm.appspot.com/chart/hourly_activity&quot;&gt;http://hit-acm.appspot.com/chart/hourly_activity&lt;/a&gt;，这样图表可以在任意网站引用了，有点儿&lt;a href=&quot;http://en.wikipedia.org/wiki/Representational_State_Transfer&quot;&gt;RESTful&lt;/a&gt;的意思吧(大家不要顽皮的尝试Post这个url哦)。&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://hit-acm.appspot.com/chart/hourly_activity&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot;  src=&quot;http://hit-acm.appspot.com/chart/hourly_activity&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
但是...&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;命运多舛&lt;/b&gt;&lt;/span&gt;这个词上场了！程序刚刚调试完成，只收集了几个小时的数据，HOJ就宣布Down掉了，真是汗啊，所以当时就没有发布这个新的图表。&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
在我苦等HOJ回来的寂寞岁月里，也模仿&lt;a href=&quot;http://istwitterdown.com/&quot;&gt;istwitterdown&lt;/a&gt;的网站写了一个&lt;a href=&quot;http://hit-acm.appspot.com/ishojdown&quot;&gt;ishojdown&lt;/a&gt;的页面，恩完全是出于无聊，点了链接被雷到的不要怪我。&lt;br /&gt;
&lt;br /&gt;
不过更&quot;杯具&quot;的是当HOJ宣称重新上线后，&lt;a href=&quot;http://code.google.com/appengine/&quot;&gt;GAE&lt;/a&gt;还是不能远程fetch HOJ的页面!看来是HOJ的服务器把GAE的地址当成是收费ip给屏蔽掉了...只好利用手头现有的一些教育网内服务器做了中转，才算是让爬虫程序又跑起来了。不过麻烦的是多了一个中间节点，就多了一分出问题的可能性，想想一台中转服务器不靠谱，又找了一台(哎，谁让俺做了好多高校的项目呢，也许这是这两年工作唯一的好处吧XD)，两台同时运行就比较可靠了。不过这个可靠是最终一致性的典型，爬虫在扫描的时候偶尔遇到网络故障会把某一个小时的ac数留到下一个小时计算，所以有时候会有突然启动的峰值，那就是网络那时候比较顺畅...汗。于是绕了很大一圈，我终于回到了当初的地方，可以发布新的图表了! 其实还有每日级别的信息统计，不过目前数据太少，等数据更多一些在上图吧。&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35655070-4353616343473187059?l=blog.robaggio.net' alt='' /&gt;&lt;/div&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/362137797/robaggio/feedsky/s.gif?r=http://blog.robaggio.net/2010/01/hoj.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/robaggio/362137797/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/robaggio/362137797/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class=&quot;fsflare&quot;&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/robaggio?a=f0cd599e62c06f5f77898f80b1e05686&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/robaggio?i=f0cd599e62c06f5f77898f80b1e05686&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/robaggio?a=53fb435968fc54681814d95e992f61f9&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/robaggio?i=53fb435968fc54681814d95e992f61f9&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><category domain="http://www.blogger.com/atom/ns#">Google App Engine</category><category domain="http://www.blogger.com/atom/ns#">work</category><pubDate>Mon, 29 Mar 2010 23:46:27 +0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-35655070.post-4353616343473187059</guid><dc:creator>robaggio</dc:creator><fs:srclink>http://blog.robaggio.net/2010/01/hoj.html</fs:srclink><fs:srcfeed>http://blog.robaggio.net/rss.xml</fs:srcfeed><fs:itemid>feedsky/robaggio/~8015080/362137797/5171009</fs:itemid></item><item><title>每日一图 - 我的网易ID挂绳</title><link atom:title="每日一图 - 我的网易ID挂绳" atom:type="text/html">http://blog.robaggio.net/2010/03/id.html</link><id xmlns="http://www.w3.org/2005/Atom">tag:blogger.com,1999:blog-35655070.post-9141108702546505920</id><content xmlns="http://www.w3.org/2005/Atom" type="html">&lt;span class=&quot;dropcaps&quot;&gt;F&lt;/span&gt;lickr Post:&lt;div style=&quot;float: right; margin-left: 10px; margin-bottom: 10px;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/robaggio/4422179975/&quot; title=&quot;photo sharing&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2680/4422179975_a9e2345bf4_m.jpg&quot; alt=&quot;&quot; style=&quot;border: solid 2px #000000;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 0.9em; margin-top: 0px;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/robaggio/4422179975/&quot;&gt;我的网易ID挂绳&lt;/a&gt;&lt;br /&gt;Originally uploaded by &lt;a href=&quot;http://www.flickr.com/people/robaggio/&quot;&gt;robaggio&lt;/a&gt; &lt;br&gt;on 11th March, 2010&lt;/span&gt;&lt;/div&gt;&lt;p&gt;虽然我戴起来感觉很傻，但是我喜欢那些网址&lt;/p&gt;&lt;p&gt;至少有机会带上一个大多数人都听说过的公司的工牌了...&lt;/p&gt;&lt;br clear=&quot;all&quot; /&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35655070-9141108702546505920?l=blog.robaggio.net' alt='' /&gt;&lt;/div&gt;</content><author xmlns="http://www.w3.org/2005/Atom"><name>robaggio</name><uri>http://www.blogger.com/profile/07514605377076236983</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04154387364748822713"></gd:extendedProperty></author><thr:total>2</thr:total><content:encoded>&lt;span class=&quot;dropcaps&quot;&gt;F&lt;/span&gt;lickr Post:&lt;div style=&quot;float: right; margin-left: 10px; margin-bottom: 10px;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/robaggio/4422179975/&quot; title=&quot;photo sharing&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2680/4422179975_a9e2345bf4_m.jpg&quot; alt=&quot;&quot; style=&quot;border: solid 2px #000000;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 0.9em; margin-top: 0px;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/robaggio/4422179975/&quot;&gt;我的网易ID挂绳&lt;/a&gt;&lt;br /&gt;Originally uploaded by &lt;a href=&quot;http://www.flickr.com/people/robaggio/&quot;&gt;robaggio&lt;/a&gt; &lt;br&gt;on 11th March, 2010&lt;/span&gt;&lt;/div&gt;&lt;p&gt;虽然我戴起来感觉很傻，但是我喜欢那些网址&lt;/p&gt;&lt;p&gt;至少有机会带上一个大多数人都听说过的公司的工牌了...&lt;/p&gt;&lt;br clear=&quot;all&quot; /&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35655070-9141108702546505920?l=blog.robaggio.net' alt='' /&gt;&lt;/div&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/362137783/robaggio/feedsky/s.gif?r=http://blog.robaggio.net/2010/03/id.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/robaggio/362137783/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/robaggio/362137783/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class=&quot;fsflare&quot;&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/robaggio?a=69652e22ffc6a9ee478e845489e11d2d&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/robaggio?i=69652e22ffc6a9ee478e845489e11d2d&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/robaggio?a=ce4aa94fdaa9f84c40374a8411d1b65d&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/robaggio?i=ce4aa94fdaa9f84c40374a8411d1b65d&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><category domain="http://www.blogger.com/atom/ns#">Photo of the Day</category><pubDate>Thu, 11 Mar 2010 01:30:37 +0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-35655070.post-9141108702546505920</guid><dc:creator>robaggio</dc:creator><fs:srclink>http://blog.robaggio.net/2010/03/id.html</fs:srclink><fs:srcfeed>http://blog.robaggio.net/rss.xml</fs:srcfeed><fs:itemid>feedsky/robaggio/~8015080/362137783/5171009</fs:itemid></item><item><title>每日一图 - late night</title><link atom:title="每日一图 - late night" atom:type="text/html">http://blog.robaggio.net/2010/01/late-night.html</link><id xmlns="http://www.w3.org/2005/Atom">tag:blogger.com,1999:blog-35655070.post-7803252636044697281</id><content xmlns="http://www.w3.org/2005/Atom" type="html">&lt;span class=&quot;dropcaps&quot;&gt;F&lt;/span&gt;lickr Post:&lt;div style=&quot;float: right; margin-left: 10px; margin-bottom: 10px;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/robaggio/4297494690/&quot; title=&quot;photo sharing&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2712/4297494690_ea1e6e376b_m.jpg&quot; alt=&quot;&quot; style=&quot;border: solid 2px #000000;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 0.9em; margin-top: 0px;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/robaggio/4297494690/&quot;&gt;late night&lt;/a&gt;&lt;br /&gt;Originally uploaded by &lt;a href=&quot;http://www.flickr.com/people/robaggio/&quot;&gt;robaggio&lt;/a&gt; &lt;br&gt;on 23rd January, 2010&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;祝福每个人生活幸福&lt;/p&gt;&lt;br clear=&quot;all&quot; /&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35655070-7803252636044697281?l=blog.robaggio.net' alt='' /&gt;&lt;/div&gt;</content><author xmlns="http://www.w3.org/2005/Atom"><name>robaggio</name><uri>http://www.blogger.com/profile/07514605377076236983</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04154387364748822713"></gd:extendedProperty></author><thr:total>0</thr:total><content:encoded>&lt;span class=&quot;dropcaps&quot;&gt;F&lt;/span&gt;lickr Post:&lt;div style=&quot;float: right; margin-left: 10px; margin-bottom: 10px;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/robaggio/4297494690/&quot; title=&quot;photo sharing&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2712/4297494690_ea1e6e376b_m.jpg&quot; alt=&quot;&quot; style=&quot;border: solid 2px #000000;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 0.9em; margin-top: 0px;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/robaggio/4297494690/&quot;&gt;late night&lt;/a&gt;&lt;br /&gt;Originally uploaded by &lt;a href=&quot;http://www.flickr.com/people/robaggio/&quot;&gt;robaggio&lt;/a&gt; &lt;br&gt;on 23rd January, 2010&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;祝福每个人生活幸福&lt;/p&gt;&lt;br clear=&quot;all&quot; /&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35655070-7803252636044697281?l=blog.robaggio.net' alt='' /&gt;&lt;/div&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/362137787/robaggio/feedsky/s.gif?r=http://blog.robaggio.net/2010/01/late-night.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/robaggio/362137787/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/robaggio/362137787/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class=&quot;fsflare&quot;&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/robaggio?a=bb7a15767bf4ed6537844dd40759f7a1&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/robaggio?i=bb7a15767bf4ed6537844dd40759f7a1&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/robaggio?a=d5f1a23d283d1d72c3f75993d58045b8&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/robaggio?i=d5f1a23d283d1d72c3f75993d58045b8&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><category domain="http://www.blogger.com/atom/ns#">Photo of the Day</category><pubDate>Fri, 26 Feb 2010 17:57:45 +0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-35655070.post-7803252636044697281</guid><dc:creator>robaggio</dc:creator><fs:srclink>http://blog.robaggio.net/2010/01/late-night.html</fs:srclink><fs:srcfeed>http://blog.robaggio.net/rss.xml</fs:srcfeed><fs:itemid>feedsky/robaggio/~8015080/362137787/5171009</fs:itemid></item><item><title>每日一图 - 全副铝装</title><link atom:title="每日一图 - 全副铝装" atom:type="text/html">http://blog.robaggio.net/2010/02/blog-post.html</link><id xmlns="http://www.w3.org/2005/Atom">tag:blogger.com,1999:blog-35655070.post-7651733704998107182</id><content xmlns="http://www.w3.org/2005/Atom" type="html">&lt;span class=&quot;dropcaps&quot;&gt;F&lt;/span&gt;lickr Post:&lt;div style=&quot;float: right; margin-left: 10px; margin-bottom: 10px;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/robaggio/4388842723/&quot; title=&quot;photo sharing&quot;&gt;&lt;img src=&quot;http://farm5.static.flickr.com/4026/4388842723_db728807de_m.jpg&quot; alt=&quot;&quot; style=&quot;border: solid 2px #000000;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 0.9em; margin-top: 0px;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/robaggio/4388842723/&quot;&gt;全副铝装&lt;/a&gt;&lt;br /&gt;Originally uploaded by &lt;a href=&quot;http://www.flickr.com/people/robaggio/&quot;&gt;robaggio&lt;/a&gt; &lt;br&gt;on 26th February, 2010&lt;/span&gt;&lt;/div&gt;&lt;p&gt;俺的第一台mac - mac mini&lt;/p&gt;&lt;p&gt;年后买了俺的第一台mac - mac mini，加上蓝牙键盘和原来就是铝壳的二代ipod nano，工作台上还真是金属味十足阿。&lt;br /&gt;&lt;br /&gt;这几天一直在适应mac os x的操作呢，暂时和windows分手啦。&lt;/p&gt;&lt;br clear=&quot;all&quot; /&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35655070-7651733704998107182?l=blog.robaggio.net' alt='' /&gt;&lt;/div&gt;</content><author xmlns="http://www.w3.org/2005/Atom"><name>robaggio</name><uri>http://www.blogger.com/profile/07514605377076236983</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04154387364748822713"></gd:extendedProperty></author><thr:total>0</thr:total><content:encoded>&lt;span class=&quot;dropcaps&quot;&gt;F&lt;/span&gt;lickr Post:&lt;div style=&quot;float: right; margin-left: 10px; margin-bottom: 10px;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/robaggio/4388842723/&quot; title=&quot;photo sharing&quot;&gt;&lt;img src=&quot;http://farm5.static.flickr.com/4026/4388842723_db728807de_m.jpg&quot; alt=&quot;&quot; style=&quot;border: solid 2px #000000;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 0.9em; margin-top: 0px;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/robaggio/4388842723/&quot;&gt;全副铝装&lt;/a&gt;&lt;br /&gt;Originally uploaded by &lt;a href=&quot;http://www.flickr.com/people/robaggio/&quot;&gt;robaggio&lt;/a&gt; &lt;br&gt;on 26th February, 2010&lt;/span&gt;&lt;/div&gt;&lt;p&gt;俺的第一台mac - mac mini&lt;/p&gt;&lt;p&gt;年后买了俺的第一台mac - mac mini，加上蓝牙键盘和原来就是铝壳的二代ipod nano，工作台上还真是金属味十足阿。&lt;br /&gt;&lt;br /&gt;这几天一直在适应mac os x的操作呢，暂时和windows分手啦。&lt;/p&gt;&lt;br clear=&quot;all&quot; /&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35655070-7651733704998107182?l=blog.robaggio.net' alt='' /&gt;&lt;/div&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/362137785/robaggio/feedsky/s.gif?r=http://blog.robaggio.net/2010/02/blog-post.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/robaggio/362137785/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/robaggio/362137785/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class=&quot;fsflare&quot;&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/robaggio?a=ca2d8271e834f4ff5bee059fe6bbe998&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/robaggio?i=ca2d8271e834f4ff5bee059fe6bbe998&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/robaggio?a=d7fbf915d8c535bae12ffaa360cc9469&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/robaggio?i=d7fbf915d8c535bae12ffaa360cc9469&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><category domain="http://www.blogger.com/atom/ns#">Photo of the Day</category><category domain="http://www.blogger.com/atom/ns#">computer</category><pubDate>Fri, 26 Feb 2010 17:57:05 +0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-35655070.post-7651733704998107182</guid><dc:creator>robaggio</dc:creator><fs:srclink>http://blog.robaggio.net/2010/02/blog-post.html</fs:srclink><fs:srcfeed>http://blog.robaggio.net/rss.xml</fs:srcfeed><fs:itemid>feedsky/robaggio/~8015080/362137785/5171009</fs:itemid></item><item><title>7 Reasons to Love jQuery 1.4</title><link atom:title="7 Reasons to Love jQuery 1.4" atom:type="text/html">http://blog.robaggio.net/2010/01/7-reasons-to-love-jquery-14.html</link><id xmlns="http://www.w3.org/2005/Atom">tag:blogger.com,1999:blog-35655070.post-5013942560222027653</id><content xmlns="http://www.w3.org/2005/Atom" type="html">jQuery为庆祝4周年发布了1.4的版本，还兴师动众的开通了网站&lt;a href=&quot;http://jquery14.com/&quot;&gt;jquery14.com&lt;/a&gt;做宣传，最近关注jQuery的我自然也不能袖手旁观，也跟踪报道一下吧:)

&lt;a href=&quot;http://jquery14.com/day-01/jquery-14&quot;&gt;jQuery 1.4 Released&lt;/a&gt;中，详细的介绍了jQuery1.4新带来的变化，这里我只举出本人印象最深刻，最喜爱的7个新特性吧:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;0&lt;/b&gt;&lt;b&gt;)&lt;/b&gt; 快速构建页面元素 - 再用jQuery方法构架新元素时，可以传入一个包换这个新元素的属性和事件的对象，这个实在太方便，热爱指数&lt;img border=&quot;0&quot; src=&quot;http://www.douban.com/pics/st.gif&quot; /&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.douban.com/pics/st.gif&quot; /&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.douban.com/pics/st.gif&quot; /&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.douban.com/pics/st.gif&quot; /&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.douban.com/pics/st.gif&quot; /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: js&quot;&gt;jQuery(&quot;&amp;lt;div/&amp;gt;&quot;, {
    id: &quot;foo&quot;,
    css: {
        height: &quot;50px&quot;,
        width: &quot;50px&quot;,
        color: &quot;blue&quot;,
        backgroundColor: &quot;#ccc&quot;
    },
    click: function() {
       $(this).css(&quot;backgroundColor&quot;, &quot;red&quot;); 
    }
}).appendTo(&quot;body&quot;);
&lt;/pre&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;b&gt;1)&lt;/b&gt; 性能进一步优化: jQuery几乎每发布一个版本，性能就会提高一些(和常见的一些程序正好相反)，以&lt;a href=&quot;http://ejohn.org/&quot;&gt;John Resig&lt;/a&gt;的功底和&lt;a href=&quot;http://ejohn.org/blog/function-call-profiling/&quot;&gt;态度&lt;/a&gt;我怀疑地球上还是否有更高效的js框架了 - 即使有，也是jQuery要赶超的目标 - 看看这次&lt;a href=&quot;http://www.javaeye.com/news/12977&quot;&gt;版本优化的对比图&lt;/a&gt;吧，热爱指数&amp;nbsp;&lt;img border=&quot;0&quot; src=&quot;http://www.douban.com/pics/st.gif&quot; /&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.douban.com/pics/st.gif&quot; /&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.douban.com/pics/st.gif&quot; /&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.douban.com/pics/st.gif&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2)&lt;/b&gt; 为Ajax请求的所有回调制定context - 我再也不想回忆起当初用prototype.js时使用Function.prototype.bind的痛苦了，热爱指数&lt;img border=&quot;0&quot; src=&quot;http://www.douban.com/pics/st.gif&quot; /&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.douban.com/pics/st.gif&quot; /&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.douban.com/pics/st.gif&quot; /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: js&quot;&gt;jQuery.ajax({
    url: &quot;test.html&quot;,
    context: document.body,
    success: function(){
        jQuery(this).addClass(&quot;done&quot;);
    }
});
&lt;/pre&gt;
&lt;b&gt;3)&lt;/b&gt; 同时给元素绑定多个事件 - jQuery的一些插件中早有类似的处理方法，这次终于引入到bind函数中了，热爱指数&lt;img border=&quot;0&quot; src=&quot;http://www.douban.com/pics/st.gif&quot; /&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.douban.com/pics/st.gif&quot; /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: js&quot;&gt;$(&quot;div.test&quot;).bind({
  click: function(){
    $(this).addClass(&quot;active&quot;);
  },
  mouseenter: function(){
    $(this).addClass(&quot;inside&quot;);
  },
  mouseleave: function(){
    $(this).removeClass(&quot;inside&quot;);
  }
});&lt;/pre&gt;
&lt;b&gt;4)&lt;/b&gt; 新的事件'focusin'和'focusout' - 'focusin'/'focusout'和原来的'focus'/'blur'类似，但是'focus'/'blur'不参与事件冒泡，而且'focus'/'blur'不能用在 live()方法中，因此我们可以得出总是尽量使用新的'focusin'/'focusout'的结论,热爱指数&lt;img border=&quot;0&quot; src=&quot;http://www.douban.com/pics/st.gif&quot; /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: js&quot;&gt;$(&quot;form&quot;).focusout(function(event) {
    var tgt = event.target;
    if (tgt.nodeName == &quot;INPUT&quot; &amp;amp;&amp;amp; !tgt.value) {
        $(tgt).after(&quot;nothing here&quot;);
    }
});&lt;/pre&gt;
&lt;b&gt;5)&lt;/b&gt; 使用Closure Compiler替代原来的YUI Compressor - 最小化Gzip后23KB, 看来 &lt;a href=&quot;http://lifesinger.org/blog/2009/11/closure-compiler-vs-yuicompressor/&quot;&gt;Closure Compiler vs. YUICompressor&lt;/a&gt; 的大战上Closure Compiler又赢了一招，另外Google&lt;a href=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js&quot;&gt;帮忙host jQuery&lt;/a&gt; ，怎么也得给人个面子吧:) (有意思的是最有一个YUICompressor的版本大小是19K，不过要考虑为压缩的版本1.4比1.3.2要大，按比例算下来还是差不多的),热爱指数&lt;img border=&quot;0&quot; src=&quot;http://www.douban.com/pics/st.gif&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;6)&lt;/b&gt; 版本号 - 1.4这个版本让我想起了java的1.4版本，不知jQuery这个版本能走多远，热爱指数&lt;img border=&quot;0&quot; src=&quot;http://www.douban.com/pics/st.gif&quot; /&gt; &lt;br /&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35655070-5013942560222027653?l=blog.robaggio.net' alt='' /&gt;&lt;/div&gt;</content><author xmlns="http://www.w3.org/2005/Atom"><name>robaggio</name><uri>http://www.blogger.com/profile/07514605377076236983</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04154387364748822713"></gd:extendedProperty></author><thr:total>0</thr:total><content:encoded>jQuery为庆祝4周年发布了1.4的版本，还兴师动众的开通了网站&lt;a href=&quot;http://jquery14.com/&quot;&gt;jquery14.com&lt;/a&gt;做宣传，最近关注jQuery的我自然也不能袖手旁观，也跟踪报道一下吧:)

&lt;a href=&quot;http://jquery14.com/day-01/jquery-14&quot;&gt;jQuery 1.4 Released&lt;/a&gt;中，详细的介绍了jQuery1.4新带来的变化，这里我只举出本人印象最深刻，最喜爱的7个新特性吧:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;0&lt;/b&gt;&lt;b&gt;)&lt;/b&gt; 快速构建页面元素 - 再用jQuery方法构架新元素时，可以传入一个包换这个新元素的属性和事件的对象，这个实在太方便，热爱指数&lt;img border=&quot;0&quot; src=&quot;http://www.douban.com/pics/st.gif&quot; /&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.douban.com/pics/st.gif&quot; /&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.douban.com/pics/st.gif&quot; /&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.douban.com/pics/st.gif&quot; /&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.douban.com/pics/st.gif&quot; /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: js&quot;&gt;jQuery(&quot;&amp;lt;div/&amp;gt;&quot;, {
    id: &quot;foo&quot;,
    css: {
        height: &quot;50px&quot;,
        width: &quot;50px&quot;,
        color: &quot;blue&quot;,
        backgroundColor: &quot;#ccc&quot;
    },
    click: function() {
       $(this).css(&quot;backgroundColor&quot;, &quot;red&quot;); 
    }
}).appendTo(&quot;body&quot;);
&lt;/pre&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;b&gt;1)&lt;/b&gt; 性能进一步优化: jQuery几乎每发布一个版本，性能就会提高一些(和常见的一些程序正好相反)，以&lt;a href=&quot;http://ejohn.org/&quot;&gt;John Resig&lt;/a&gt;的功底和&lt;a href=&quot;http://ejohn.org/blog/function-call-profiling/&quot;&gt;态度&lt;/a&gt;我怀疑地球上还是否有更高效的js框架了 - 即使有，也是jQuery要赶超的目标 - 看看这次&lt;a href=&quot;http://www.javaeye.com/news/12977&quot;&gt;版本优化的对比图&lt;/a&gt;吧，热爱指数&amp;nbsp;&lt;img border=&quot;0&quot; src=&quot;http://www.douban.com/pics/st.gif&quot; /&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.douban.com/pics/st.gif&quot; /&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.douban.com/pics/st.gif&quot; /&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.douban.com/pics/st.gif&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2)&lt;/b&gt; 为Ajax请求的所有回调制定context - 我再也不想回忆起当初用prototype.js时使用Function.prototype.bind的痛苦了，热爱指数&lt;img border=&quot;0&quot; src=&quot;http://www.douban.com/pics/st.gif&quot; /&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.douban.com/pics/st.gif&quot; /&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.douban.com/pics/st.gif&quot; /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: js&quot;&gt;jQuery.ajax({
    url: &quot;test.html&quot;,
    context: document.body,
    success: function(){
        jQuery(this).addClass(&quot;done&quot;);
    }
});
&lt;/pre&gt;
&lt;b&gt;3)&lt;/b&gt; 同时给元素绑定多个事件 - jQuery的一些插件中早有类似的处理方法，这次终于引入到bind函数中了，热爱指数&lt;img border=&quot;0&quot; src=&quot;http://www.douban.com/pics/st.gif&quot; /&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.douban.com/pics/st.gif&quot; /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: js&quot;&gt;$(&quot;div.test&quot;).bind({
  click: function(){
    $(this).addClass(&quot;active&quot;);
  },
  mouseenter: function(){
    $(this).addClass(&quot;inside&quot;);
  },
  mouseleave: function(){
    $(this).removeClass(&quot;inside&quot;);
  }
});&lt;/pre&gt;
&lt;b&gt;4)&lt;/b&gt; 新的事件'focusin'和'focusout' - 'focusin'/'focusout'和原来的'focus'/'blur'类似，但是'focus'/'blur'不参与事件冒泡，而且'focus'/'blur'不能用在 live()方法中，因此我们可以得出总是尽量使用新的'focusin'/'focusout'的结论,热爱指数&lt;img border=&quot;0&quot; src=&quot;http://www.douban.com/pics/st.gif&quot; /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: js&quot;&gt;$(&quot;form&quot;).focusout(function(event) {
    var tgt = event.target;
    if (tgt.nodeName == &quot;INPUT&quot; &amp;amp;&amp;amp; !tgt.value) {
        $(tgt).after(&quot;nothing here&quot;);
    }
});&lt;/pre&gt;
&lt;b&gt;5)&lt;/b&gt; 使用Closure Compiler替代原来的YUI Compressor - 最小化Gzip后23KB, 看来 &lt;a href=&quot;http://lifesinger.org/blog/2009/11/closure-compiler-vs-yuicompressor/&quot;&gt;Closure Compiler vs. YUICompressor&lt;/a&gt; 的大战上Closure Compiler又赢了一招，另外Google&lt;a href=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js&quot;&gt;帮忙host jQuery&lt;/a&gt; ，怎么也得给人个面子吧:) (有意思的是最有一个YUICompressor的版本大小是19K，不过要考虑为压缩的版本1.4比1.3.2要大，按比例算下来还是差不多的),热爱指数&lt;img border=&quot;0&quot; src=&quot;http://www.douban.com/pics/st.gif&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;6)&lt;/b&gt; 版本号 - 1.4这个版本让我想起了java的1.4版本，不知jQuery这个版本能走多远，热爱指数&lt;img border=&quot;0&quot; src=&quot;http://www.douban.com/pics/st.gif&quot; /&gt; &lt;br /&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35655070-5013942560222027653?l=blog.robaggio.net' alt='' /&gt;&lt;/div&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/362137791/robaggio/feedsky/s.gif?r=http://blog.robaggio.net/2010/01/7-reasons-to-love-jquery-14.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/robaggio/362137791/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/robaggio/362137791/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class=&quot;fsflare&quot;&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/robaggio?a=e3e665cfe95ca9eb8767725052eb840c&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/robaggio?i=e3e665cfe95ca9eb8767725052eb840c&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/robaggio?a=0ce873a448fabb226c928c0379dbd003&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/robaggio?i=0ce873a448fabb226c928c0379dbd003&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><category domain="http://www.blogger.com/atom/ns#">javascript</category><pubDate>Fri, 22 Jan 2010 14:59:08 +0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-35655070.post-5013942560222027653</guid><dc:creator>robaggio</dc:creator><fs:srclink>http://blog.robaggio.net/2010/01/7-reasons-to-love-jquery-14.html</fs:srclink><fs:srcfeed>http://blog.robaggio.net/rss.xml</fs:srcfeed><fs:itemid>feedsky/robaggio/~8015080/362137791/5171009</fs:itemid></item><item><title>Internet Freedom</title><link atom:title="Internet Freedom" atom:type="text/html">http://blog.robaggio.net/2010/01/internet-freedom.html</link><id xmlns="http://www.w3.org/2005/Atom">tag:blogger.com,1999:blog-35655070.post-800229023290572237</id><content xmlns="http://www.w3.org/2005/Atom" type="html">也许你会说我不是黑人，体会不到被种族歧视的痛苦 - 但当我听到美国国务卿Hillary Clinton的演讲&quot;&lt;a href=&quot;http://netfreedom.state.gov/&quot;&gt;Internet Freedom&lt;/a&gt;&quot;(&lt;a href=&quot;http://docs.google.com/View?id=dgmrnk3b_13f7qzfxcc&quot;&gt;中文版快译&lt;/a&gt;)的时候，我觉得我能体会到半个世纪前黑人朋友们听到 Martin Luther King高喊 &quot;&lt;a href=&quot;http://en.wikipedia.org/wiki/I_Have_a_Dream&quot;&gt;I Have a Dream&lt;/a&gt;&quot;时的心情。&lt;br /&gt;
&lt;br /&gt;
从某种意义上讲，我们都被信息歧视了，也许一个外国人的演说不能让GFW丝毫受损，但是我的&quot;心&quot;已经向它宣战，还记得&lt;a href=&quot;http://www.douban.com/subject/1294639/&quot;&gt;勇敢的心&lt;/a&gt;中的最后一句台词吗? - &quot;&lt;b&gt;Freedom&lt;/b&gt;&quot;!&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35655070-800229023290572237?l=blog.robaggio.net' alt='' /&gt;&lt;/div&gt;</content><author xmlns="http://www.w3.org/2005/Atom"><name>robaggio</name><uri>http://www.blogger.com/profile/07514605377076236983</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04154387364748822713"></gd:extendedProperty></author><thr:total>0</thr:total><content:encoded>也许你会说我不是黑人，体会不到被种族歧视的痛苦 - 但当我听到美国国务卿Hillary Clinton的演讲&quot;&lt;a href=&quot;http://netfreedom.state.gov/&quot;&gt;Internet Freedom&lt;/a&gt;&quot;(&lt;a href=&quot;http://docs.google.com/View?id=dgmrnk3b_13f7qzfxcc&quot;&gt;中文版快译&lt;/a&gt;)的时候，我觉得我能体会到半个世纪前黑人朋友们听到 Martin Luther King高喊 &quot;&lt;a href=&quot;http://en.wikipedia.org/wiki/I_Have_a_Dream&quot;&gt;I Have a Dream&lt;/a&gt;&quot;时的心情。&lt;br /&gt;
&lt;br /&gt;
从某种意义上讲，我们都被信息歧视了，也许一个外国人的演说不能让GFW丝毫受损，但是我的&quot;心&quot;已经向它宣战，还记得&lt;a href=&quot;http://www.douban.com/subject/1294639/&quot;&gt;勇敢的心&lt;/a&gt;中的最后一句台词吗? - &quot;&lt;b&gt;Freedom&lt;/b&gt;&quot;!&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35655070-800229023290572237?l=blog.robaggio.net' alt='' /&gt;&lt;/div&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/362137789/robaggio/feedsky/s.gif?r=http://blog.robaggio.net/2010/01/internet-freedom.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/robaggio/362137789/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/robaggio/362137789/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class=&quot;fsflare&quot;&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/robaggio?a=7e67cec41e2479926086e6661c9db142&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/robaggio?i=7e67cec41e2479926086e6661c9db142&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/robaggio?a=d51393bf432bdfb863729b1850176716&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/robaggio?i=d51393bf432bdfb863729b1850176716&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><category domain="http://www.blogger.com/atom/ns#">GFW</category><pubDate>Fri, 22 Jan 2010 02:37:31 +0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-35655070.post-800229023290572237</guid><dc:creator>robaggio</dc:creator><fs:srclink>http://blog.robaggio.net/2010/01/internet-freedom.html</fs:srclink><fs:srcfeed>http://blog.robaggio.net/rss.xml</fs:srcfeed><fs:itemid>feedsky/robaggio/~8015080/362137789/5171009</fs:itemid></item><item><title>有趣的楼</title><link atom:title="有趣的楼" atom:type="text/html">http://blog.robaggio.net/2010/01/blog-post.html</link><id xmlns="http://www.w3.org/2005/Atom">tag:blogger.com,1999:blog-35655070.post-9152243367729020269</id><content xmlns="http://www.w3.org/2005/Atom" type="html">&lt;span class=&quot;dropcaps&quot;&gt;F&lt;/span&gt;lickr Post:&lt;div style=&quot;float: right; margin-left: 10px; margin-bottom: 10px;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/robaggio/4266074338/&quot; title=&quot;photo sharing&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2799/4266074338_791c6f399a_m.jpg&quot; alt=&quot;&quot; style=&quot;border: solid 2px #000000;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 0.9em; margin-top: 0px;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/robaggio/4266074338/&quot;&gt;有趣的楼&lt;/a&gt;&lt;br /&gt;Originally uploaded by &lt;a href=&quot;http://www.flickr.com/people/robaggio/&quot;&gt;robaggio&lt;/a&gt; &lt;br&gt;on 11th January, 2010&lt;/span&gt;&lt;/div&gt;&lt;p&gt;八爪鱼吗? 在望京看到的&lt;/p&gt;&lt;p&gt;测试flickr到新的blog发文&lt;/p&gt;&lt;br clear=&quot;all&quot; /&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35655070-9152243367729020269?l=blog.robaggio.net' alt='' /&gt;&lt;/div&gt;</content><author xmlns="http://www.w3.org/2005/Atom"><name>robaggio</name><uri>http://www.blogger.com/profile/07514605377076236983</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04154387364748822713"></gd:extendedProperty></author><thr:total>0</thr:total><content:encoded>&lt;span class=&quot;dropcaps&quot;&gt;F&lt;/span&gt;lickr Post:&lt;div style=&quot;float: right; margin-left: 10px; margin-bottom: 10px;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/robaggio/4266074338/&quot; title=&quot;photo sharing&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2799/4266074338_791c6f399a_m.jpg&quot; alt=&quot;&quot; style=&quot;border: solid 2px #000000;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 0.9em; margin-top: 0px;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/robaggio/4266074338/&quot;&gt;有趣的楼&lt;/a&gt;&lt;br /&gt;Originally uploaded by &lt;a href=&quot;http://www.flickr.com/people/robaggio/&quot;&gt;robaggio&lt;/a&gt; &lt;br&gt;on 11th January, 2010&lt;/span&gt;&lt;/div&gt;&lt;p&gt;八爪鱼吗? 在望京看到的&lt;/p&gt;&lt;p&gt;测试flickr到新的blog发文&lt;/p&gt;&lt;br clear=&quot;all&quot; /&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35655070-9152243367729020269?l=blog.robaggio.net' alt='' /&gt;&lt;/div&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/362137796/robaggio/feedsky/s.gif?r=http://blog.robaggio.net/2010/01/blog-post.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/robaggio/362137796/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/robaggio/362137796/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class=&quot;fsflare&quot;&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/robaggio?a=624236d8e401812d5bee268c48cc47ea&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/robaggio?i=624236d8e401812d5bee268c48cc47ea&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/robaggio?a=a7020d86fba9bdb35a30bff498f3061b&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/robaggio?i=a7020d86fba9bdb35a30bff498f3061b&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><category domain="http://www.blogger.com/atom/ns#">Photo of the Day</category><pubDate>Wed, 20 Jan 2010 03:19:59 +0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-35655070.post-9152243367729020269</guid><dc:creator>robaggio</dc:creator><fs:srclink>http://blog.robaggio.net/2010/01/blog-post.html</fs:srclink><fs:srcfeed>http://blog.robaggio.net/rss.xml</fs:srcfeed><fs:itemid>feedsky/robaggio/~8015080/362137796/5171009</fs:itemid></item><item><title>《jQuery in Action》 in action - Chapter 8</title><link atom:title="《jQuery in Action》 in action - Chapter 8" atom:type="text/html">http://blog.robaggio.net/2009/12/jquery-in-action-in-action-chapter-8.html</link><id xmlns="http://www.w3.org/2005/Atom">tag:blogger.com,1999:blog-35655070.post-8931098249324191970</id><content xmlns="http://www.w3.org/2005/Atom" type="html">&lt;a href=&quot;http://ecx.images-amazon.com/images/I/512OlKc-kUL._SL500_AA240_.jpg&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;120&quot; src=&quot;http://ecx.images-amazon.com/images/I/512OlKc-kUL._SL500_AA240_.jpg&quot; style=&quot;cursor: pointer; float: right; margin: 0pt 0pt 0px 0px;&quot; width=&quot;120&quot; /&gt;&lt;/a&gt; Talk to the server with Ajax&lt;span style=&quot;font-size: 130%;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;/span&gt;&lt;/span&gt; &lt;br /&gt;
有关Ajax的介绍就不再唠叨了，用jQuery的Ajax功能可以：1.适应不同的浏览器 2.获得很多有用的工具方法&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;b&gt;场景1&lt;/b&gt;:在服务器端获得html片段注入当前DOM - 使用&lt;br /&gt;
&lt;script type=&quot;syntaxhighlighter&quot; class=&quot;brush: javascript&quot;&gt;&lt;![CDATA[
load(url,parameters,callback)
]]&gt;&lt;/script&gt;一个我之前不了解的小技巧是url参数中可以添加jQuery的选择器，可以选择性的注入服务器返回的片段的一部分，例:&lt;br /&gt;
&lt;script type=&quot;syntaxhighlighter&quot; class=&quot;brush: javascript&quot;&gt;&lt;![CDATA[
$('.injectMe').load('/someResource #div');
]]&gt;&lt;/script&gt;默认load使用GET请求，如果带上参数，就会使用POST了，这主要是方便处理参数中的编码问题。提到POST，随便带出作用于wrapped set的两个工具方法&lt;span style=&quot;color: navy; font-family: Arial;&quot;&gt;&lt;b&gt;serialize()&lt;/b&gt;&lt;/span&gt;和&lt;span style=&quot;color: navy; font-family: Arial;&quot;&gt;&lt;b&gt;serializeArray()&lt;/b&gt;&lt;/span&gt;，他们能够将范围内有效的form元素整理出来(需要form control有name属性，可以智能的处理处理radio等元素和disabled等状况)，序列化成url参数的形式和数组的形式，非常方便。&lt;br /&gt;
&lt;b&gt;场景2&lt;/b&gt;:从服务器端获取数据然后进行处理 – &lt;span style=&quot;color: navy; font-family: Arial;&quot;&gt;&lt;b&gt;$.get(url,parameters,callback,type)&lt;/b&gt;&lt;/span&gt;可以用来处理各种类型的数据，不过目前最让人喜欢还是&lt;span style=&quot;color: navy; font-family: Arial;&quot;&gt;&lt;b&gt;$.getJSON(url,parameters,callback)&lt;/b&gt;&lt;/span&gt;的方式。在服务器端生成JSON格式，各种编程语言应该都有方便的库可以直接用，如果服务器端支持&lt;a href=&quot;http://bob.pythonmac.org/archives/2005/12/05/remote-json-jsonp/&quot; target=&quot;_blank&quot;&gt;JSONP&lt;/a&gt;，在url参数里加入“callback=?”就可以非常简洁的完成一个异步调用和回调的编写(谁用谁知道啊^^)。让然要向服务器端提交数据也可以用&lt;b&gt;&lt;span style=&quot;color: navy; font-family: Arial;&quot;&gt;$.post(url,parameters,callback,type) &lt;/span&gt;&lt;/b&gt;有关type参数在下面介绍.&lt;br /&gt;
&lt;b&gt;场景3&lt;/b&gt;:自定义更特殊的http请求 – &lt;span style=&quot;color: navy; font-family: Arial;&quot;&gt;&lt;b&gt;$.ajax(options)&lt;/b&gt;&lt;/span&gt;.实际上$.get和load等函数都是$.ajax的包装，最终jQuery都是调用的$.ajax。options里面参数很多，重点介绍:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;dataType - String类型 - 就是前面说的$.get中对应的type，当传入不同的值时，jQuery会对返回的结果做一些预处理，在请求成功的callback的第一参数中会返回不同的值:      &lt;br /&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot; style=&quot;width: 429px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;           &lt;td valign=&quot;top&quot; width=&quot;71&quot;&gt;xml&lt;br /&gt;
&lt;/td&gt;            &lt;td valign=&quot;top&quot; width=&quot;356&quot;&gt;请求的返回内容将会被解析为XML Dom并传递给callback&lt;br /&gt;
&lt;/td&gt;         &lt;/tr&gt;
&lt;tr&gt;           &lt;td valign=&quot;top&quot; width=&quot;71&quot;&gt;html&lt;br /&gt;
&lt;/td&gt;            &lt;td valign=&quot;top&quot; width=&quot;356&quot;&gt;返回内容中的html文本不做处理，但是script标签中的内容会被执行&lt;br /&gt;
&lt;/td&gt;         &lt;/tr&gt;
&lt;tr&gt;           &lt;td valign=&quot;top&quot; width=&quot;71&quot;&gt;json/jsonp&lt;br /&gt;
&lt;/td&gt;            &lt;td valign=&quot;top&quot; width=&quot;356&quot;&gt;返回结果会被认为是json字符串并被evaluated&lt;br /&gt;
&lt;/td&gt;         &lt;/tr&gt;
&lt;tr&gt;           &lt;td valign=&quot;top&quot; width=&quot;71&quot;&gt;script&lt;br /&gt;
&lt;/td&gt;            &lt;td valign=&quot;top&quot; width=&quot;356&quot;&gt;返回的内容被认为是javascript并执行,script本身会作为字符串传递给callback&lt;br /&gt;
&lt;/td&gt;         &lt;/tr&gt;
&lt;tr&gt;           &lt;td valign=&quot;top&quot; width=&quot;71&quot;&gt;text&lt;br /&gt;
&lt;/td&gt;            &lt;td valign=&quot;top&quot; width=&quot;356&quot;&gt;返回的内容被认为是普通文本，直接传递给callback&lt;br /&gt;
&lt;/td&gt;         &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;beforeSend - Function - 在http请求发送前，会将XHR对象传入，用来做一些自定义头等动作 &lt;/li&gt;
&lt;li&gt;global - Boolean - 一个开关，默认为开放状态，也就是在jQuery控制的每一个Ajax请求中的各个事件点上，jQuery都会激发定义在本页面内的全局方法 - &lt;span style=&quot;color: navy; font-family: Arial;&quot;&gt;&lt;b&gt;ajaxStart(callback)/ajaxSend(callback)/ajaxSuccess(callback)/ajaxError(callback)/ajaxComplete(callback)/ajaxStop(callback)&lt;/b&gt;&lt;/span&gt; 例:$('#errorConsole').ajaxError(reportError)会在任何一个ajax请求出错时调用reportError函数(这里实际上作为wrapped set的方法不是很直观，但是很方便) &lt;/li&gt;
&lt;/ul&gt;&lt;b&gt;场景4&lt;/b&gt;: 为这个页面设置全局某人ajax options - &lt;span style=&quot;color: navy; font-family: Arial;&quot;&gt;&lt;b&gt;$.ajaxSetup(properties)&lt;/b&gt;&lt;/span&gt;.参数和$.ajax相同，因为所有的ajax方法都是$.ajax的包装，所以这里设置的默认值可以控制所有的ajax方法，唯一注意的是这里设置的是默认值，各方法可以自行覆盖。&lt;br /&gt;
链接: &lt;a href=&quot;http://robaggio.blogspot.com/2008/07/jquery-in-action-in-action.html&quot;&gt;《&lt;b&gt;jQuery&lt;/b&gt; in &lt;b&gt;Action&lt;/b&gt;》 in &lt;b&gt;action&lt;/b&gt;系列&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35655070-8931098249324191970?l=blog.robaggio.net' alt='' /&gt;&lt;/div&gt;</content><author xmlns="http://www.w3.org/2005/Atom"><name>robaggio</name><uri>http://www.blogger.com/profile/07514605377076236983</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="04154387364748822713"></gd:extendedProperty></author><thr:total>0</thr:total><content:encoded>&lt;a href=&quot;http://ecx.images-amazon.com/images/I/512OlKc-kUL._SL500_AA240_.jpg&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;120&quot; src=&quot;http://ecx.images-amazon.com/images/I/512OlKc-kUL._SL500_AA240_.jpg&quot; style=&quot;cursor: pointer; float: right; margin: 0pt 0pt 0px 0px;&quot; width=&quot;120&quot; /&gt;&lt;/a&gt; Talk to the server with Ajax&lt;span style=&quot;font-size: 130%;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;/span&gt;&lt;/span&gt; &lt;br /&gt;
有关Ajax的介绍就不再唠叨了，用jQuery的Ajax功能可以：1.适应不同的浏览器 2.获得很多有用的工具方法&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;b&gt;场景1&lt;/b&gt;:在服务器端获得html片段注入当前DOM - 使用&lt;br /&gt;
&lt;script type=&quot;syntaxhighlighter&quot; class=&quot;brush: javascript&quot;&gt;&lt;![CDATA[
load(url,parameters,callback)
]]&gt;&lt;/script&gt;一个我之前不了解的小技巧是url参数中可以添加jQuery的选择器，可以选择性的注入服务器返回的片段的一部分，例:&lt;br /&gt;
&lt;script type=&quot;syntaxhighlighter&quot; class=&quot;brush: javascript&quot;&gt;&lt;![CDATA[
$('.injectMe').load('/someResource #div');
]]&gt;&lt;/script&gt;默认load使用GET请求，如果带上参数，就会使用POST了，这主要是方便处理参数中的编码问题。提到POST，随便带出作用于wrapped set的两个工具方法&lt;span style=&quot;color: navy; font-family: Arial;&quot;&gt;&lt;b&gt;serialize()&lt;/b&gt;&lt;/span&gt;和&lt;span style=&quot;color: navy; font-family: Arial;&quot;&gt;&lt;b&gt;serializeArray()&lt;/b&gt;&lt;/span&gt;，他们能够将范围内有效的form元素整理出来(需要form control有name属性，可以智能的处理处理radio等元素和disabled等状况)，序列化成url参数的形式和数组的形式，非常方便。&lt;br /&gt;
&lt;b&gt;场景2&lt;/b&gt;:从服务器端获取数据然后进行处理 – &lt;span style=&quot;color: navy; font-family: Arial;&quot;&gt;&lt;b&gt;$.get(url,parameters,callback,type)&lt;/b&gt;&lt;/span&gt;可以用来处理各种类型的数据，不过目前最让人喜欢还是&lt;span style=&quot;color: navy; font-family: Arial;&quot;&gt;&lt;b&gt;$.getJSON(url,parameters,callback)&lt;/b&gt;&lt;/span&gt;的方式。在服务器端生成JSON格式，各种编程语言应该都有方便的库可以直接用，如果服务器端支持&lt;a href=&quot;http://bob.pythonmac.org/archives/2005/12/05/remote-json-jsonp/&quot; target=&quot;_blank&quot;&gt;JSONP&lt;/a&gt;，在url参数里加入“callback=?”就可以非常简洁的完成一个异步调用和回调的编写(谁用谁知道啊^^)。让然要向服务器端提交数据也可以用&lt;b&gt;&lt;span style=&quot;color: navy; font-family: Arial;&quot;&gt;$.post(url,parameters,callback,type) &lt;/span&gt;&lt;/b&gt;有关type参数在下面介绍.&lt;br /&gt;
&lt;b&gt;场景3&lt;/b&gt;:自定义更特殊的http请求 – &lt;span style=&quot;color: navy; font-family: Arial;&quot;&gt;&lt;b&gt;$.ajax(options)&lt;/b&gt;&lt;/span&gt;.实际上$.get和load等函数都是$.ajax的包装，最终jQuery都是调用的$.ajax。options里面参数很多，重点介绍:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;dataType - String类型 - 就是前面说的$.get中对应的type，当传入不同的值时，jQuery会对返回的结果做一些预处理，在请求成功的callback的第一参数中会返回不同的值:      &lt;br /&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot; style=&quot;width: 429px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;           &lt;td valign=&quot;top&quot; width=&quot;71&quot;&gt;xml&lt;br /&gt;
&lt;/td&gt;            &lt;td valign=&quot;top&quot; width=&quot;356&quot;&gt;请求的返回内容将会被解析为XML Dom并传递给callback&lt;br /&gt;
&lt;/td&gt;         &lt;/tr&gt;
&lt;tr&gt;           &lt;td valign=&quot;top&quot; width=&quot;71&quot;&gt;html&lt;br /&gt;
&lt;/td&gt;            &lt;td valign=&quot;top&quot; width=&quot;356&quot;&gt;返回内容中的html文本不做处理，但是script标签中的内容会被执行&lt;br /&gt;
&lt;/td&gt;         &lt;/tr&gt;
&lt;tr&gt;           &lt;td valign=&quot;top&quot; width=&quot;71&quot;&gt;json/jsonp&lt;br /&gt;
&lt;/td&gt;            &lt;td valign=&quot;top&quot; width=&quot;356&quot;&gt;返回结果会被认为是json字符串并被evaluated&lt;br /&gt;
&lt;/td&gt;         &lt;/tr&gt;
&lt;tr&gt;           &lt;td valign=&quot;top&quot; width=&quot;71&quot;&gt;script&lt;br /&gt;
&lt;/td&gt;            &lt;td valign=&quot;top&quot; width=&quot;356&quot;&gt;返回的内容被认为是javascript并执行,script本身会作为字符串传递给callback&lt;br /&gt;
&lt;/td&gt;         &lt;/tr&gt;
&lt;tr&gt;           &lt;td valign=&quot;top&quot; width=&quot;71&quot;&gt;text&lt;br /&gt;
&lt;/td&gt;            &lt;td valign=&quot;top&quot; width=&quot;356&quot;&gt;返回的内容被认为是普通文本，直接传递给callback&lt;br /&gt;
&lt;/td&gt;         &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;beforeSend - Function - 在http请求发送前，会将XHR对象传入，用来做一些自定义头等动作 &lt;/li&gt;
&lt;li&gt;global - Boolean - 一个开关，默认为开放状态，也就是在jQuery控制的每一个Ajax请求中的各个事件点上，jQuery都会激发定义在本页面内的全局方法 - &lt;span style=&quot;color: navy; font-family: Arial;&quot;&gt;&lt;b&gt;ajaxStart(callback)/ajaxSend(callback)/ajaxSuccess(callback)/ajaxError(callback)/ajaxComplete(callback)/ajaxStop(callback)&lt;/b&gt;&lt;/span&gt; 例:$('#errorConsole').ajaxError(reportError)会在任何一个ajax请求出错时调用reportError函数(这里实际上作为wrapped set的方法不是很直观，但是很方便) &lt;/li&gt;
&lt;/ul&gt;&lt;b&gt;场景4&lt;/b&gt;: 为这个页面设置全局某人ajax options - &lt;span style=&quot;color: navy; font-family: Arial;&quot;&gt;&lt;b&gt;$.ajaxSetup(properties)&lt;/b&gt;&lt;/span&gt;.参数和$.ajax相同，因为所有的ajax方法都是$.ajax的包装，所以这里设置的默认值可以控制所有的ajax方法，唯一注意的是这里设置的是默认值，各方法可以自行覆盖。&lt;br /&gt;
链接: &lt;a href=&quot;http://robaggio.blogspot.com/2008/07/jquery-in-action-in-action.html&quot;&gt;《&lt;b&gt;jQuery&lt;/b&gt; in &lt;b&gt;Action&lt;/b&gt;》 in &lt;b&gt;action&lt;/b&gt;系列&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35655070-8931098249324191970?l=blog.robaggio.net' alt='' /&gt;&lt;/div&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/362137800/robaggio/feedsky/s.gif?r=http://blog.robaggio.net/2009/12/jquery-in-action-in-action-chapter-8.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/robaggio/362137800/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/robaggio/362137800/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class=&quot;fsflare&quot;&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/robaggio?a=8e01f18ae2c3e80279c409b4d3bd2036&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/robaggio?i=8e01f18ae2c3e80279c409b4d3bd2036&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/robaggio?a=6d2755433e4f9185d95dc587fb7a2bf3&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/robaggio?i=6d2755433e4f9185d95dc587fb7a2bf3&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><category domain="http://www.blogger.com/atom/ns#">javascript</category><category domain="http://www.blogger.com/atom/ns#">tutorial</category><pubDate>Wed, 20 Jan 2010 02:57:33 +0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-35655070.post-8931098249324191970</guid><dc:creator>robaggio</dc:creator><fs:srclink>http://blog.robaggio.net/2009/12/jquery-in-action-in-action-chapter-8.html</fs:srclink><fs:srcfeed>http://blog.robaggio.net/rss.xml</fs:srcfeed><fs:itemid>feedsky/robaggio/~8015080/362137800/5171009</fs:itemid></item></channel></rss>
