<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feed.dayanjia.com/styles/feedsky1.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:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://feed.dayanjia.com" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feed.feedsky.com/clippit" type="application/rss+xml"></fs:self_link><lastBuildDate>Sat, 21 Aug 2010 12:39:37 GMT</lastBuildDate><title>大眼夹的鸟巢</title><description>大眼夹的鸟巢是一个分享计算机技巧，关注IT产业及互联网，发表技术文章和小作品的个人原创博客网站。</description><image><url>http://www.feedsky.com/feed/clippit/sc/gif</url><title>大眼夹的鸟巢</title><link>http://dayanjia.com</link></image><link>http://dayanjia.com</link><sy:updatePeriod>hourly</sy:updatePeriod><sy:updateFrequency>1</sy:updateFrequency><language>en</language><pubDate>Sat, 21 Aug 2010 12:39:37 GMT</pubDate><item><title>大眼夹的鸟巢启用新主题</title><link>http://item.feedsky.com/~feedsky/clippit/~7808845/405313329/1226479/1/item.html</link><content:encoded>&lt;p&gt;经过几天的准备，本博客的新主题终于初步完成，现已上线。相信大家都会觉得和以前相比风格变化很大吧？估计会有人说：“大眼夹，你的口味变重了嘛……”&lt;/p&gt;
&lt;p&gt;这个主题依然是由一款现有的Wordpress主题经过自己的修改而成的。最主要的修改和增强是增加对Wordpress 3.0导航菜单的支持，并显示多级下拉菜单（使用&lt;a title=&quot;Superfish  – jQuery menu plugin by Joel Birch&quot; href=&quot;http://users.tpg.com.au/j_birch/plugins/superfish/&quot; target=&quot;_blank&quot;&gt;Superfish&lt;/a&gt;）；其次是增加了对Wordpress文章特色图片的支持，大家看到的首页整齐的图片和每篇文章开头的大图便是成果了。新主题使用了许多CSS3和jQuery的效果，因此感觉庞大了不少。于是我安装上了&lt;a href=&quot;http://wordpress.org/extend/plugins/w3-total-cache/&quot; target=&quot;_blank&quot;&gt;W3 Total Cache&lt;/a&gt;插件，希望能对提升访问速度有一些帮助。目前JS和CSS仍在不断优化中，SEO优化也还需进一步工作。&lt;/p&gt;
&lt;p&gt;个人觉得初看看还是很不错的，尤其是右上角的Feedsky订阅统计和Twitter的Follower统计非常棒。&lt;strong&gt;不知道大家对新主题有什么感受和意见，欢迎回复指出。&lt;/strong&gt;&lt;/p&gt;


&lt;h3&gt;没有相关日志&lt;/h3&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/405313329/clippit/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/clippit/~7808845/405313329/1226479/1/item.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/clippit/405313329/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/clippit/405313329/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/clippit?a=d118e7ecd4f1ce170ff3eef2abe732dc&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=d118e7ecd4f1ce170ff3eef2abe732dc&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=84015e7b91ccdf31a53929f75a50883a&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=84015e7b91ccdf31a53929f75a50883a&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=eba31e85a0c5a61707822ea3453afc40&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=eba31e85a0c5a61707822ea3453afc40&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=b9462a4d2579fefe56d8804a6c140752&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=b9462a4d2579fefe56d8804a6c140752&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=adcd1841948a1f81c72f8d57ef218a4a&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=adcd1841948a1f81c72f8d57ef218a4a&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=4b79407a4c531e1770a68099e42b7d8c&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=4b79407a4c531e1770a68099e42b7d8c&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=4192fc48514d94781d70ddf85612c8d5&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=4192fc48514d94781d70ddf85612c8d5&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=d74fceb581772428bfda94eba54a22e9&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=d74fceb581772428bfda94eba54a22e9&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=e677c3f0b60ea9121fa926ea5e318042&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=e677c3f0b60ea9121fa926ea5e318042&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://dayanjia.com/2010/08/start-using-new-theme.html/feed</wfw:commentRss><slash:comments>6</slash:comments><description>经过几天的准备，本博客的新主题终于初步完成，现已上线。相信大家都会觉得和以前相比风格变化很大吧？估计会有人说：“大眼夹，你的口味变重了嘛……” 这个主题依然是由一款现有的Wordpress主题经过自己的修改而成的。最主要的修改和增强是增加对Wordpress 3.0导航菜单的支持，并显示多级下拉菜单（使用Superfish）；其次是增加了对Wordpress文章特色图片的支持，大家看到的首页整齐的图片和每篇文章开头的大图便是成果了。新主题使用了许多CSS3和jQuery的效果，因此感觉庞大了不少。于是我安装上了W3 Total Cache插件，希望能对提升访问速度有一些帮助。目前JS和CSS仍在不断优化中，SEO优化也还需进一步工作。 个人觉得初看看还是很不错的，尤其是右上角的Feedsky订阅统计和Twitter的Follower统计非常棒。不知道大家对新主题有什么感受和意见，欢迎回复指出。 没有相关日志

&lt;h3&gt;没有相关日志&lt;/h3&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/405313329/clippit/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/clippit/~7808845/405313329/1226479/1/item.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/clippit/405313329/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/clippit/405313329/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/clippit?a=d118e7ecd4f1ce170ff3eef2abe732dc&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=d118e7ecd4f1ce170ff3eef2abe732dc&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=84015e7b91ccdf31a53929f75a50883a&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=84015e7b91ccdf31a53929f75a50883a&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=eba31e85a0c5a61707822ea3453afc40&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=eba31e85a0c5a61707822ea3453afc40&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=b9462a4d2579fefe56d8804a6c140752&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=b9462a4d2579fefe56d8804a6c140752&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=adcd1841948a1f81c72f8d57ef218a4a&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=adcd1841948a1f81c72f8d57ef218a4a&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=4b79407a4c531e1770a68099e42b7d8c&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=4b79407a4c531e1770a68099e42b7d8c&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=4192fc48514d94781d70ddf85612c8d5&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=4192fc48514d94781d70ddf85612c8d5&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=d74fceb581772428bfda94eba54a22e9&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=d74fceb581772428bfda94eba54a22e9&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=e677c3f0b60ea9121fa926ea5e318042&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=e677c3f0b60ea9121fa926ea5e318042&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;/p&gt;</description><category>wordpress</category><category>公告</category><category>乱七八糟</category><pubDate>Sat, 21 Aug 2010 20:39:37 +0800</pubDate><author>大眼夹</author><comments>http://dayanjia.com/2010/08/start-using-new-theme.html#comments</comments><guid isPermaLink="false">http://dayanjia.com/?p=853</guid><dc:creator>大眼夹</dc:creator><fs:srclink>http://dayanjia.com/2010/08/start-using-new-theme.html</fs:srclink><fs:srcfeed>http://dayanjia.com/feed</fs:srcfeed><fs:itemid>feedsky/clippit/~7808845/405313329/1226479</fs:itemid></item><item><title>Android应用随想录</title><link>http://item.feedsky.com/~feedsky/clippit/~7808845/405313330/1226479/1/item.html</link><content:encoded>&lt;p&gt;短短两年时间，Android在智能手机领域掀起了一场龙卷风。2010年第二季度的统计数据显示，美国的Android平台占有率已经&lt;a title=&quot;Android hits top spot in U.S. smartphone market&quot; href=&quot;http://news.cnet.com/8301-1035_3-20012627-94.html&quot; target=&quot;_blank&quot;&gt;跃升第一位&lt;/a&gt;，达到了33%，超过了黑莓的28%和苹果iOS的22%。&lt;strong&gt;它告诉我们，光吃水果是不行的，还需要机器人帮你干活。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;对于Android手机，我并不曾真正使用过，不过去年倒是体验过一段时间的HTC Hero，当时还写了一篇&lt;a title=&quot;我的高科技产品探究课之2：HTC Hero&quot; href=&quot;http://dayanjia.com/2009/10/high-tech-course-1-htc-hero.html&quot; target=&quot;_blank&quot;&gt;颇长的文章拿它和iPhone做对比&lt;/a&gt;。Android给我最大的印象便是高度的开放性和可定制性。在个人计算机方面，过于开放和定制的Linux始终斗不过Windows和Mac OS。然而在移动领域，正是这种特性让厂商能够随意发挥、按需定制，让&lt;strong&gt;Android产品遍地开花，以排山倒海的数量优势把iOS和Windows Mobile打得落花流水。&lt;/strong&gt;不过话说回来，Android的应用程序还是比不过iOS，虽然&lt;a title=&quot;Android Market应用数量本月将突破10万大关&quot; href=&quot;http://www.cnbeta.com/articles/116059.htm&quot; target=&quot;_blank&quot;&gt;数量是上去了&lt;/a&gt;，但是质量却远没有App Store的高，而当&lt;a title=&quot;App Inventor for Android&quot; href=&quot;http://appinventor.googlelabs.com/about/&quot; target=&quot;_blank&quot;&gt;App Inventor&lt;/a&gt;上线以后这种现象恐怕会更加严重。App Store的利润分配方式让开发者死心塌地地跟着苹果混，不过Android基于Java的低门槛开发平台也算是不断地吸引着人们。尤其是Google在高校中的推广让其积累了大批后备力量。比如这次Google就举办了&lt;strong&gt;&lt;a title=&quot;暑期大学生博客分享大赛 - 2010 Android 篇&quot; href=&quot;http://www.google.com/intl/zh-CN/daxue/blog2010/index.html&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;color: #008000;&quot;&gt;首届 Google 暑期大学生博客分享大赛——2010 Android 篇&lt;/span&gt;&lt;/a&gt;&lt;/strong&gt;。既然作为参赛文章，那就让我就着Android说开去，无限随想吧。&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more-789&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;大学校园的Android“签到”应用&lt;/h2&gt;
&lt;p&gt;&lt;a title=&quot;Location-based service&quot; href=&quot;http://en.wikipedia.org/wiki/Location-based_service&quot; target=&quot;_blank&quot;&gt;LBS&lt;/a&gt;（地理位置服务）在2010年大放异彩，以foursquare为代表的“签到”型娱乐点燃了人们的自曝欲望，恨不得每到一个地方就Check in一下让全世界都知道。Google也有一个基于地理位置的服务叫做&lt;a href=&quot;http://www.google.com/latitude/apps&quot; target=&quot;_blank&quot;&gt;Google Latitude&lt;/a&gt;（纵横），能够看到自己好友在地图上的位置。试想，&lt;strong&gt;如果大学的老师（或者辅导员）在上课点名的时候，看看自己的手机，根据学生手机的GPS定位记录就能知道他有没有”翘课“&lt;/strong&gt;，岂不是很酷？当然了，这项应用限制于使用Android手机并安装该应用的人员数量，也取决于GPS定位的准确性（目前这还不是特别理想）。事实上，更重要的是，会有多少学生愿意被他们的老师监视呢？呵呵，&lt;strong&gt;有时候过于依赖死脑筋的机器并不会让我们的生活更加美好吧&lt;/strong&gt;，这种基于地理位置的“点名签到”方式或许还值得商榷，不过想法值得借鉴。&lt;/p&gt;
&lt;h2&gt;校园生活百宝箱&lt;/h2&gt;
&lt;p&gt;&lt;a rel=&quot;attachment wp-att-802&quot; href=&quot;http://dayanjia.com/2010/08/random-thoughts-about-android.html/clippit-in-android&quot;&gt;&lt;img class=&quot;alignright size-medium wp-image-802&quot; title=&quot;clippit in android&quot; src=&quot;http://dayanjia.com/wp-content/uploads/2010/08/clippit-in-android-147x300.jpg&quot; alt=&quot;&quot; width=&quot;147&quot; height=&quot;300&quot; /&gt;&lt;/a&gt;基本上每个学校都有很多网络上的应用，比如考试查分，教务处的通知，图书馆的在线查书……这些东西都很琐碎但是的确很实用。既然琐碎，那么放到移动终端上来便显得很有价值了。事实上我曾经编写的&lt;a title=&quot;我的第一个纯代码小作品——MobiLib @NJU&quot; href=&quot;http://dayanjia.com/2009/12/my-first-php-stub-mobilib-nju.html&quot; target=&quot;_blank&quot;&gt;MobiLib（手机图书馆查询）&lt;/a&gt;当初便是基于这样的设想，网页上的东西虽然通用些，但是用户体验显然没有专门的移动应用程序来的好。当时我还做了一个iPhone版的网页界面，就是为了让用户体验友好些，不过现在已经弃之不用了。&lt;strong&gt;如果有那么一个Android应用，能够完成上述查询的功能，还能&lt;/strong&gt;&lt;strong&gt;&lt;a title=&quot;南京大学小百合BBS - 全站十大&quot; href=&quot;http://bbs.nju.edu.cn/bbstop10&quot; target=&quot;_blank&quot;&gt;泡泡百合看看十大&lt;/a&gt;，看看学术讲座预告&lt;/strong&gt;&lt;strong&gt;什么的，在食堂、校车上便能舒适地做完这些事情，节约了很多时间。&lt;/strong&gt;这种应用的用户群较为狭窄，若要努力拓宽用户则需要支持许多学校的不同信息（事实上MobiLib现在便已经支持十余所高校的图书馆查询）。这样或许还可以搞个“校园推广大使”之类的，倒也是不错的方案。&lt;/p&gt;
&lt;h2&gt;视频直播应用&lt;/h2&gt;
&lt;div id=&quot;attachment_798&quot; class=&quot;wp-caption alignleft&quot; style=&quot;width: 310px&quot;&gt;&lt;a rel=&quot;attachment wp-att-798&quot; href=&quot;http://dayanjia.com/2010/08/random-thoughts-about-android.html/qik_logo-rgb-blue_gradient&quot;&gt;&lt;img class=&quot;size-medium wp-image-798&quot; title=&quot;qik_logo-rgb-blue_gradient&quot; src=&quot;http://dayanjia.com/wp-content/uploads/2010/08/qik_logo-rgb-blue_gradient-300x187.jpg&quot; alt=&quot;&quot; width=&quot;300&quot; height=&quot;187&quot; /&gt;&lt;/a&gt;&lt;p class=&quot;wp-caption-text&quot;&gt;qik.com是一个比较先驱的应用，不过它似乎并没有获得终端视频直播的杀手级优势&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;iPhone4上有个杀手级应用叫做FaceTime，它绕过了运营商限制实现了一种低成本的视频通话功能。当然，我们相信Android上完全能有应用程序做成这个样子，不过我要说的视频直播是另外一回事。像现在Twitter这样的网站完全是一个公民新闻的发布平台，各种突发消息全部都可以看到，不过目前貌似都是些文字直播或者图片直播，为什么不能有视频直播呢？话说目前已经有类似服务了，但是大多数都不甚理想，也许网络因素是一个很大的原因。&lt;strong&gt;在网络条件允许的情况下，我们不仅可以在线视频直播眼前的突发事件，或许还可以实现多人的FaceTime。&lt;/strong&gt;Google可以通过Youtube这样庞大的社区来支持视频直播的实现，或许在4G网络普及后边录边传的随性视频会在视频网站上生根发芽。&lt;/p&gt;
&lt;h2&gt;游戏娱乐应用&lt;/h2&gt;
&lt;div id=&quot;attachment_801&quot; class=&quot;wp-caption alignright&quot; style=&quot;width: 210px&quot;&gt;&lt;a rel=&quot;attachment wp-att-801&quot; href=&quot;http://dayanjia.com/2010/08/random-thoughts-about-android.html/android-pc&quot;&gt;&lt;img class=&quot;size-thumbnail wp-image-801&quot; title=&quot;android pc&quot; src=&quot;http://dayanjia.com/wp-content/uploads/2010/08/android-pc-200x169.jpg&quot; alt=&quot;&quot; width=&quot;200&quot; height=&quot;169&quot; /&gt;&lt;/a&gt;&lt;p class=&quot;wp-caption-text&quot;&gt;Android PC???&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;和iPhone注重娱乐不同，Android手机往往都显得更“像”一部手机，这样的特点也是许多人喜欢Android手机的原因之一。然而Android的娱乐元素较iOS非常匮乏，这一点也成为了它的软肋。iOS不仅有手机，也有群体非常庞大的iPod Touch和iPad用户。而反观Android平台，虽然也有平板、音乐播放器，但大多还是仅存在于&lt;a title=&quot;Engadget&quot; href=&quot;http://www.engadget.com/&quot; target=&quot;_blank&quot;&gt;Engadget&lt;/a&gt;的文章中，我们并没有看到什么Android版的“touch”或者“pad”大卖。光拥有Geek类型的用户显然是不够的。Android上的游戏资源，只有EA和Gameloft为数不多的作品，缺乏其他优秀的制作公司加盟，例如拥有iOS的“杀手级”游戏《植物大战僵尸》的PopCap。&lt;strong&gt;硬件平台的不统一是制约Android游戏娱乐应用发展的重要原因之一&lt;/strong&gt;，如果某个厂商愿意加块图形加速芯片做个Android的掌机貌似也是不错的选择——不过既然如此我们为什么不去选择PSP或者NDS呢？就因为它还可以打电话？&lt;/p&gt;
&lt;h2&gt;结语&lt;/h2&gt;
&lt;p&gt;Android和它的老本家Linux一样面临着软件应用的问题。要在保留Geek用户的同时大范围地吸引普通消费者，提升应用的质量是一个关键。今天随想或许仅仅是纸上谈兵，或许明天会有人去实现。不管怎样，我始终认为Android平台是一个强大的武器，相比于孤军作战的产品，汇聚大家的智慧能够获得更多的成功。&lt;/p&gt;


&lt;h3&gt;没有相关日志&lt;/h3&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/405313330/clippit/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/clippit/~7808845/405313330/1226479/1/item.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/clippit/405313330/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/clippit/405313330/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/clippit?a=b27158914299ba4710cb89a7c2b56945&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=b27158914299ba4710cb89a7c2b56945&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=38497fd2fa9b21f4e28a0db2c05b66b8&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=38497fd2fa9b21f4e28a0db2c05b66b8&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=af853579e48ca0a3a9b204a657ead4b9&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=af853579e48ca0a3a9b204a657ead4b9&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=6617a7ea4ef3f4ccfbf1bab732fc356d&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=6617a7ea4ef3f4ccfbf1bab732fc356d&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=2870a6ffa6f68fef0ae7aaf91f48e3a6&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=2870a6ffa6f68fef0ae7aaf91f48e3a6&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=f1954cdf275ad89bed88f8075716224b&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=f1954cdf275ad89bed88f8075716224b&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=e72821ddcbf3011eafa29ad9feec3dc3&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=e72821ddcbf3011eafa29ad9feec3dc3&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=365990fab46412d5aa8971815416ddd5&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=365990fab46412d5aa8971815416ddd5&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=23a5f3e1db45b2e827fff2733097cfe9&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=23a5f3e1db45b2e827fff2733097cfe9&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://dayanjia.com/2010/08/random-thoughts-about-android.html/feed</wfw:commentRss><slash:comments>8</slash:comments><description>短短两年时间，Android在智能手机领域掀起了一场龙卷风。2010年第二季度的统计数据显示，美国的Android平台占有率已经跃升第一位，达到了33%，超过了黑莓的28%和苹果iOS的22%。它告诉我们，光吃水果是不行的，还需要机器人帮你干活。 对于Android手机，我并不曾真正使用过，不过去年倒是体验过一段时间的HTC Hero，当时还写了一篇颇长的文章拿它和iPhone做对比。Android给我最大的印象便是高度的开放性和可定制性。在个人计算机方面，过于开放和定制的Linux始终斗不过Windows和Mac OS。然而在移动领域，正是这种特性让厂商能够随意发挥、按需定制，让Android产品遍地开花，以排山倒海的数量优势把iOS和Windows Mobile打得落花流水。不过话说回来，Android的应用程序还是比不过iOS，虽然数量是上去了，但是质量却远没有App Store的高，而当App Inventor上线以后这种现象恐怕会更加严重。App Store的利润分配方式让开发者死心塌地地跟着苹果混，不过Android基于Java的低门槛开发平台也算是不断地吸引着人们。尤其是Google在高校中的推广让其积累了大批后备力量。比如这次Google就举办了首届 Google 暑期大学生博客分享大赛——2010 Android 篇。既然作为参赛文章，那就让我就着Android说开去，无限随想吧。 大学校园的Android“签到”应用 LBS（地理位置服务）在2010年大放异彩，以foursquare为代表的“签到”型娱乐点燃了人们的自曝欲望，恨不得每到一个地方就Check in一下让全世界都知道。Google也有一个基于地理位置的服务叫做Google Latitude（纵横），能够看到自己好友在地图上的位置。试想，如果大学的老师（或者辅导员）在上课点名的时候，看看自己的手机，根据学生手机的GPS定位记录就能知道他有没有”翘课“，岂不是很酷？当然了，这项应用限制于使用Android手机并安装该应用的人员数量，也取决于GPS定位的准确性（目前这还不是特别理想）。事实上，更重要的是，会有多少学生愿意被他们的老师监视呢？呵呵，有时候过于依赖死脑筋的机器并不会让我们的生活更加美好吧，这种基于地理位置的“点名签到”方式或许还值得商榷，不过想法值得借鉴。 校园生活百宝箱 基本上每个学校都有很多网络上的应用，比如考试查分，教务处的通知，图书馆的在线查书……这些东西都很琐碎但是的确很实用。既然琐碎，那么放到移动终端上来便显得很有价值了。事实上我曾经编写的MobiLib（手机图书馆查询）当初便是基于这样的设想，网页上的东西虽然通用些，但是用户体验显然没有专门的移动应用程序来的好。当时我还做了一个iPhone版的网页界面，就是为了让用户体验友好些，不过现在已经弃之不用了。如果有那么一个Android应用，能够完成上述查询的功能，还能泡泡百合看看十大，看看学术讲座预告什么的，在食堂、校车上便能舒适地做完这些事情，节约了很多时间。这种应用的用户群较为狭窄，若要努力拓宽用户则需要支持许多学校的不同信息（事实上MobiLib现在便已经支持十余所高校的图书馆查询）。这样或许还可以搞个“校园推广大使”之类的，倒也是不错的方案。 视频直播应用 iPhone4上有个杀手级应用叫做FaceTime，它绕过了运营商限制实现了一种低成本的视频通话功能。当然，我们相信Android上完全能有应用程序做成这个样子，不过我要说的视频直播是另外一回事。像现在Twitter这样的网站完全是一个公民新闻的发布平台，各种突发消息全部都可以看到，不过目前貌似都是些文字直播或者图片直播，为什么不能有视频直播呢？话说目前已经有类似服务了，但是大多数都不甚理想，也许网络因素是一个很大的原因。在网络条件允许的情况下，我们不仅可以在线视频直播眼前的突发事件，或许还可以实现多人的FaceTime。Google可以通过Youtube这样庞大的社区来支持视频直播的实现，或许在4G网络普及后边录边传的随性视频会在视频网站上生根发芽。 游戏娱乐应用 和iPhone注重娱乐不同，Android手机往往都显得更“像”一部手机，这样的特点也是许多人喜欢Android手机的原因之一。然而Android的娱乐元素较iOS非常匮乏，这一点也成为了它的软肋。iOS不仅有手机，也有群体非常庞大的iPod Touch和iPad用户。而反观Android平台，虽然也有平板、音乐播放器，但大多还是仅存在于Engadget的文章中，我们并没有看到什么Android版的“touch”或者“pad”大卖。光拥有Geek类型的用户显然是不够的。Android上的游戏资源，只有EA和Gameloft为数不多的作品，缺乏其他优秀的制作公司加盟，例如拥有iOS的“杀手级”游戏《植物大战僵尸》的PopCap。硬件平台的不统一是制约Android游戏娱乐应用发展的重要原因之一，如果某个厂商愿意加块图形加速芯片做个Android的掌机貌似也是不错的选择——不过既然如此我们为什么不去选择PSP或者NDS呢？就因为它还可以打电话？ 结语 Android和它的老本家Linux一样面临着软件应用的问题。要在保留Geek用户的同时大范围地吸引普通消费者，提升应用的质量是一个关键。今天随想或许仅仅是纸上谈兵，或许明天会有人去实现。不管怎样，我始终认为Android平台是一个强大的武器，相比于孤军作战的产品，汇聚大家的智慧能够获得更多的成功。 没有相关日志

&lt;h3&gt;没有相关日志&lt;/h3&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/405313330/clippit/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/clippit/~7808845/405313330/1226479/1/item.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/clippit/405313330/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/clippit/405313330/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/clippit?a=b27158914299ba4710cb89a7c2b56945&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=b27158914299ba4710cb89a7c2b56945&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=38497fd2fa9b21f4e28a0db2c05b66b8&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=38497fd2fa9b21f4e28a0db2c05b66b8&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=af853579e48ca0a3a9b204a657ead4b9&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=af853579e48ca0a3a9b204a657ead4b9&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=6617a7ea4ef3f4ccfbf1bab732fc356d&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=6617a7ea4ef3f4ccfbf1bab732fc356d&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=2870a6ffa6f68fef0ae7aaf91f48e3a6&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=2870a6ffa6f68fef0ae7aaf91f48e3a6&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=f1954cdf275ad89bed88f8075716224b&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=f1954cdf275ad89bed88f8075716224b&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=e72821ddcbf3011eafa29ad9feec3dc3&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=e72821ddcbf3011eafa29ad9feec3dc3&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=365990fab46412d5aa8971815416ddd5&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=365990fab46412d5aa8971815416ddd5&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=23a5f3e1db45b2e827fff2733097cfe9&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=23a5f3e1db45b2e827fff2733097cfe9&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;/p&gt;</description><category>Android</category><category>Google</category><category>评论天下</category><category>心得</category><category>首页展示</category><pubDate>Sun, 15 Aug 2010 23:42:50 +0800</pubDate><author>大眼夹</author><comments>http://dayanjia.com/2010/08/random-thoughts-about-android.html#comments</comments><guid isPermaLink="false">http://dayanjia.com/?p=789</guid><dc:creator>大眼夹</dc:creator><fs:srclink>http://dayanjia.com/2010/08/random-thoughts-about-android.html</fs:srclink><fs:srcfeed>http://dayanjia.com/feed</fs:srcfeed><fs:itemid>feedsky/clippit/~7808845/405313330/1226479</fs:itemid></item><item><title>测试RESTful Web Services的三种方法</title><link>http://item.feedsky.com/~feedsky/clippit/~7808845/405313331/1226479/1/item.html</link><content:encoded>&lt;p&gt;如今网站搞个开放API，弄个RESTful Web Services似乎早不是新鲜事了。尤其在Twitter、Facebook、Google等先行者的推动下，获取其他网站的资源并进行&lt;a title=&quot;Mashup (web application hybrid)&quot; href=&quot;http://en.wikipedia.org/wiki/Mashup_(web_application_hybrid)&quot; target=&quot;_blank&quot;&gt;Mashup&lt;/a&gt;变得越来越普遍。如今在SNS大行其道的日子里，你不搞个“推荐该内容到人人网/开心网/新浪微博”这样的链接，你都不好意思出去见人说“我是做网站的”。&lt;/p&gt;
&lt;p&gt;就连我院的线上教学支持系统都打算分离出核心数据（即学生和课程的信息），通过REST风格的Web服务来提供这些中心数据，支持其他功能（例如课程论坛、作业发布和提交等）的实现。这样做的好处自然是分离的数据可以再提供给今后更多的服务使用，比起传统的全部使用本地数据库的方法减少了冗余和错误的产生。而其缺点在于加大了开发难度，以前可以很轻松的诸如数据表中外键的功能全部得从第三方资源实现，一定程度上降低了网站的运行效率。同时，进行REST的开发和测试也变得不那么直接了。虽然各种语言都有HTTP请求相关的类库，但是本着&lt;a title=&quot;Reinventing the wheel&quot; href=&quot;http://en.wikipedia.org/wiki/Reinventing_the_wheel&quot; target=&quot;_blank&quot;&gt;不重复发明轮子&lt;/a&gt;的精神，本文介绍了几种方便的测试RESTful Web Services的工具。&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more-769&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;REST简单介绍&lt;/h2&gt;
&lt;p&gt;所谓REST，是Representational State Transfer，这个词汇的中文翻译很不统一，而且很晦涩，有叫“具象状态传输”，有叫“表象化状态转变”，等等。通俗地讲，REST风格的Web服务，是通过一个简洁清晰的URI来提供资源链接，客户端通过对URI发送HTTP请求获得这些资源，而获取和处理资源的过程让客户端应用的状态发生改变（不像那些远程过程调用那么直接地发生改变）。一般常用的对资源进行CRUD（Create, Read, Update 和 Delete）的四种HTTP方法分别是POST, GET, PUT, DELETE。一般的Web浏览器基本只会用到GET和POST两种方法，但是根据&lt;a title=&quot;Hypertext Transfer Protocol -- HTTP/1.1&quot; href=&quot;http://www.ietf.org/rfc/rfc2616.txt&quot; target=&quot;_blank&quot;&gt;RFC 2616&lt;/a&gt;，HTTP请求方法除了前面提到的四种还有OPTIONS, HEAD, TRACE, CONNECT，一共8种。&lt;/p&gt;
&lt;p&gt;REST源于Roy Fielding在2000年的&lt;a title=&quot;Architectural Styles and the Design of Network-based Software Architectures&quot; href=&quot;http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm&quot; target=&quot;_blank&quot;&gt;博士论文&lt;/a&gt;，而关于RESTful Web服务最著名的书便是本文题图的《&lt;a title=&quot;Google 图书上的该书链接&quot; href=&quot;http://books.google.com/books?id=XUaErakHsoAC&amp;amp;dq=RESTful+Web+Services&amp;amp;hl=zh-CN&quot; target=&quot;_blank&quot;&gt;RESTful Web Services&lt;/a&gt;》。顺便提一句，我只是说说而已，这两个东西我都没看过，估计看了也看不懂。&lt;/p&gt;
&lt;h2&gt;RESTful Web Services测试工具推荐&lt;/h2&gt;
&lt;p&gt;不了解精深的理论没关系，我们只要会使用就行了。&lt;/p&gt;
&lt;h3&gt;命令行控的最爱：cURL&lt;/h3&gt;
&lt;p&gt;cURL是一个很强大的支持各种协议的文件传输工具，用它来进行RESTful Web Services的测试简直是小菜一碟。这个工具基本上类Unix操作系统（各种Linux、Mac OS X）都自带了，而Windows用户就得去额外&lt;a href=&quot;http://curl.haxx.se/download.html&quot; target=&quot;_blank&quot;&gt;下载&lt;/a&gt;了。&lt;/p&gt;
&lt;p&gt;cURL的命令参数非常多，一般用于RESTful Web Services测试要用到下面四种参数：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;-d/--data &amp;lt;data&amp;gt;：POST数据内容&lt;/li&gt;
&lt;li&gt;-X/--request &amp;lt;command&amp;gt;：指定请求的方法（使用-d时就自动设为POST了）&lt;/li&gt;
&lt;li&gt;-H/--header &amp;lt;line&amp;gt;：设定header信息&lt;/li&gt;
&lt;li&gt;-I/--head：只显示返回的HTTP头信息&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;一个最简单的例子，资源的获取，不需要强行指定GET方法，直接在curl后面跟上URL即可：&lt;/p&gt;
&lt;pre class=&quot;brush: plain; light: true;&quot;&gt;
Clippit@Clippit-PC ~
$ curl http://dayanjia.com/api/user/101250001/
{&amp;quot;id&amp;quot;:&amp;quot;student1&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u5b66\u751f\u4e00&amp;quot;,&amp;quot;num&amp;quot;:&amp;quot;101250001&amp;quot;,
&amp;quot;grade&amp;quot;:&amp;quot;20101&amp;quot;,&amp;quot;courses&amp;quot;:[{&amp;quot;id&amp;quot;:1,&amp;quot;name&amp;quot;:&amp;quot;\u8bfe\u7a0b\u4e00&amp;quot;,
&amp;quot;active&amp;quot;:false,&amp;quot;identity&amp;quot;:0,&amp;quot;instructors&amp;quot;:[{&amp;quot;id&amp;quot;:&amp;quot;teacher1&amp;quot;,&amp;quot;na
me&amp;quot;:&amp;quot;\u8001\u5e08\u4e00&amp;quot;}]},{&amp;quot;id&amp;quot;:2,&amp;quot;name&amp;quot;:&amp;quot;\u8bfe\u7a0b\u4e8c&amp;quot;
,&amp;quot;active&amp;quot;:true,&amp;quot;identity&amp;quot;:0,&amp;quot;instructors&amp;quot;:[{&amp;quot;id&amp;quot;:&amp;quot;teacher2&amp;quot;,&amp;quot;na
me&amp;quot;:&amp;quot;\u8001\u5e08\u4e8c&amp;quot;}]},{&amp;quot;id&amp;quot;:3,&amp;quot;name&amp;quot;:&amp;quot;\u8bfe\u7a0b\u4e09&amp;quot;
,&amp;quot;active&amp;quot;:true,&amp;quot;identity&amp;quot;:0,&amp;quot;instructors&amp;quot;:[{&amp;quot;id&amp;quot;:&amp;quot;teacher3&amp;quot;,&amp;quot;na
me&amp;quot;:&amp;quot;\u8001\u5e08\u4e09&amp;quot;}]}]}
&lt;/pre&gt;
&lt;p&gt;再看删除远程的一条记录，并返回HTTP头检查操作是否成功：&lt;/p&gt;
&lt;pre class=&quot;brush: plain; light: true;&quot;&gt;
Clippit@Clippit-PC ~
$ curl -I -X DELETE http://dayanjia.com/api/course/1/
HTTP/1.1 200 OK
Date: Thu, 12 Aug 2010 16:50:46 GMT
Server: LiteSpeed
Connection: close
X-Powered-By: PHP/5.2.14
Content-Type: text/html
Content-Length: 0
&lt;/pre&gt;
&lt;p&gt;需要指出的是，如果使用-d或者其他某些参数就不能直接看到返回的HTTP头了，即不能将-d和-I同时使用。解决的办法是采用&lt;code&gt;-D/--dump-header&lt;/code&gt;参数并指定一个文件名，将header的数据保存下来查看。&lt;/p&gt;
&lt;h3&gt;浏览器控的最爱：各种插件&lt;/h3&gt;
&lt;p&gt;既然普通的浏览器不支持除了GET和POST以外的操作，查看和发送HTTP header都很苦难，那就让插件来扩展它的功能吧！让人们不离开浏览器就能进行各种测试，也是一种非常方便的选择。如果你喜欢下面介绍的插件，不妨到相应的页面上给它们评星以支持作者的劳动。&lt;/p&gt;
&lt;p&gt;Chrome下有一个&lt;a title=&quot;点击去下载页&quot; href=&quot;https://chrome.google.com/extensions/detail/fhjcajmcbmldlhcimfajhfbgofnpcjmb&quot;&gt;Simple REST Client&lt;/a&gt;插件，提供了一个简单的表单进行各种HTTP操作，并可以看到返回的信息。&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;attachment wp-att-781&quot; href=&quot;http://dayanjia.com/2010/08/3-ways-to-test-restful-web-services.html/simple-rest-client&quot;&gt;&lt;img class=&quot;alignnone size-large wp-image-781&quot; title=&quot;Simple REST Client&quot; src=&quot;http://dayanjia.com/wp-content/uploads/2010/08/Simple-REST-Client-560x491.png&quot; alt=&quot;&quot; width=&quot;560&quot; height=&quot;491&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Chrome下的插件显得有些寒碜，那么同样深受开发者喜爱的Firefox也有一款名为&lt;a title=&quot;点击进入下载页&quot; href=&quot;https://addons.mozilla.org/zh-CN/firefox/addon/9780/&quot; target=&quot;_blank&quot;&gt;RESTClient&lt;/a&gt;的插件，这款插件由国人开发，功能上支持Basic和OAuth的登录header发送，并且对于返回的XML数据还可以高亮显示。&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;attachment wp-att-782&quot; href=&quot;http://dayanjia.com/2010/08/3-ways-to-test-restful-web-services.html/restclient&quot;&gt;&lt;img class=&quot;alignnone size-large wp-image-782&quot; title=&quot;RESTClient&quot; src=&quot;http://dayanjia.com/wp-content/uploads/2010/08/RESTClient-560x420.png&quot; alt=&quot;&quot; width=&quot;560&quot; height=&quot;420&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;咖啡控的最爱：RESTClient&lt;/h3&gt;
&lt;p&gt;这里的咖啡是什么，你懂的。名字同样很朴素，这是一个用Java写的测试小工具，&lt;a title=&quot;Java application to test RESTful webservices.&quot; href=&quot;http://code.google.com/p/rest-client/&quot; target=&quot;_blank&quot;&gt;项目主页&lt;/a&gt;上提到它有命令行和GUI两种版本。为了方便操作我们选择GUI版本来看看。既然是一款软件，显然就比刚才介绍的浏览器插件功能更加强大。它支持应答正文的JSON和XML缩排和高亮，还可以一键搭建一个RESTful服务端，另外还提供了单元测试的功能。&lt;strong&gt;介绍的三种工具中，我最喜欢的还是这款了，尤其是它的缩排高亮功能非常实用，方便查看。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;attachment wp-att-783&quot; href=&quot;http://dayanjia.com/2010/08/3-ways-to-test-restful-web-services.html/restclient-java&quot;&gt;&lt;img class=&quot;alignnone size-large wp-image-783&quot; title=&quot;RESTClient Java&quot; src=&quot;http://dayanjia.com/wp-content/uploads/2010/08/RESTClient-Java-491x600.png&quot; alt=&quot;&quot; width=&quot;491&quot; height=&quot;600&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;没有相关日志&lt;/h3&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/405313331/clippit/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/clippit/~7808845/405313331/1226479/1/item.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/clippit/405313331/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/clippit/405313331/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/clippit?a=1764879652fb774b64928de6950aff88&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=1764879652fb774b64928de6950aff88&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=6d9e582e58c03f77781d7d3785bddb72&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=6d9e582e58c03f77781d7d3785bddb72&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=6e51ac949375a4be6e16db3c12031e03&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=6e51ac949375a4be6e16db3c12031e03&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=557f08a76f9694e8649ce333b390716f&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=557f08a76f9694e8649ce333b390716f&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=c8009927291c43b8da34d7c12ce6e751&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=c8009927291c43b8da34d7c12ce6e751&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=bcfe00503983bcde346d2e584eeb8fa0&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=bcfe00503983bcde346d2e584eeb8fa0&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=fa07897b08685794373d2528cb9cd2a9&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=fa07897b08685794373d2528cb9cd2a9&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=f30462a5e4e66887f17d01a508bea850&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=f30462a5e4e66887f17d01a508bea850&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=a9fbbcdf0d334527837fc3463ec2862a&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=a9fbbcdf0d334527837fc3463ec2862a&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://dayanjia.com/2010/08/3-ways-to-test-restful-web-services.html/feed</wfw:commentRss><slash:comments>1</slash:comments><description>如今网站搞个开放API，弄个RESTful Web Services似乎早不是新鲜事了。尤其在Twitter、Facebook、Google等先行者的推动下，获取其他网站的资源并进行Mashup变得越来越普遍。如今在SNS大行其道的日子里，你不搞个“推荐该内容到人人网/开心网/新浪微博”这样的链接，你都不好意思出去见人说“我是做网站的”。 就连我院的线上教学支持系统都打算分离出核心数据（即学生和课程的信息），通过REST风格的Web服务来提供这些中心数据，支持其他功能（例如课程论坛、作业发布和提交等）的实现。这样做的好处自然是分离的数据可以再提供给今后更多的服务使用，比起传统的全部使用本地数据库的方法减少了冗余和错误的产生。而其缺点在于加大了开发难度，以前可以很轻松的诸如数据表中外键的功能全部得从第三方资源实现，一定程度上降低了网站的运行效率。同时，进行REST的开发和测试也变得不那么直接了。虽然各种语言都有HTTP请求相关的类库，但是本着不重复发明轮子的精神，本文介绍了几种方便的测试RESTful Web Services的工具。 REST简单介绍 所谓REST，是Representational State Transfer，这个词汇的中文翻译很不统一，而且很晦涩，有叫“具象状态传输”，有叫“表象化状态转变”，等等。通俗地讲，REST风格的Web服务，是通过一个简洁清晰的URI来提供资源链接，客户端通过对URI发送HTTP请求获得这些资源，而获取和处理资源的过程让客户端应用的状态发生改变（不像那些远程过程调用那么直接地发生改变）。一般常用的对资源进行CRUD（Create, Read, Update 和 Delete）的四种HTTP方法分别是POST, GET, PUT, DELETE。一般的Web浏览器基本只会用到GET和POST两种方法，但是根据RFC 2616，HTTP请求方法除了前面提到的四种还有OPTIONS, HEAD, TRACE, CONNECT，一共8种。 REST源于Roy Fielding在2000年的博士论文，而关于RESTful Web服务最著名的书便是本文题图的《RESTful Web Services》。顺便提一句，我只是说说而已，这两个东西我都没看过，估计看了也看不懂。 RESTful Web Services测试工具推荐 不了解精深的理论没关系，我们只要会使用就行了。 命令行控的最爱：cURL cURL是一个很强大的支持各种协议的文件传输工具，用它来进行RESTful Web Services的测试简直是小菜一碟。这个工具基本上类Unix操作系统（各种Linux、Mac OS X）都自带了，而Windows用户就得去额外下载了。 cURL的命令参数非常多，一般用于RESTful Web Services测试要用到下面四种参数： -d/--data &amp;#60;data&amp;#62;：POST数据内容 -X/--request &amp;#60;command&amp;#62;：指定请求的方法（使用-d时就自动设为POST了） -H/--header &amp;#60;line&amp;#62;：设定header信息 -I/--head：只显示返回的HTTP头信息 一个最简单的例子，资源的获取，不需要强行指定GET方法，直接在curl后面跟上URL即可： Clippit@Clippit-PC ~ $ curl http://dayanjia.com/api/user/101250001/ {&amp;#34;id&amp;#34;:&amp;#34;student1&amp;#34;,&amp;#34;name&amp;#34;:&amp;#34;\u5b66\u751f\u4e00&amp;#34;,&amp;#34;num&amp;#34;:&amp;#34;101250001&amp;#34;, &amp;#34;grade&amp;#34;:&amp;#34;20101&amp;#34;,&amp;#34;courses&amp;#34;:[{&amp;#34;id&amp;#34;:1,&amp;#34;name&amp;#34;:&amp;#34;\u8bfe\u7a0b\u4e00&amp;#34;, &amp;#34;active&amp;#34;:false,&amp;#34;identity&amp;#34;:0,&amp;#34;instructors&amp;#34;:[{&amp;#34;id&amp;#34;:&amp;#34;teacher1&amp;#34;,&amp;#34;na ...

&lt;h3&gt;没有相关日志&lt;/h3&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/405313331/clippit/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/clippit/~7808845/405313331/1226479/1/item.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/clippit/405313331/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/clippit/405313331/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/clippit?a=1764879652fb774b64928de6950aff88&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=1764879652fb774b64928de6950aff88&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=6d9e582e58c03f77781d7d3785bddb72&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=6d9e582e58c03f77781d7d3785bddb72&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=6e51ac949375a4be6e16db3c12031e03&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=6e51ac949375a4be6e16db3c12031e03&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=557f08a76f9694e8649ce333b390716f&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=557f08a76f9694e8649ce333b390716f&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=c8009927291c43b8da34d7c12ce6e751&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=c8009927291c43b8da34d7c12ce6e751&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=bcfe00503983bcde346d2e584eeb8fa0&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=bcfe00503983bcde346d2e584eeb8fa0&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=fa07897b08685794373d2528cb9cd2a9&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=fa07897b08685794373d2528cb9cd2a9&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=f30462a5e4e66887f17d01a508bea850&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=f30462a5e4e66887f17d01a508bea850&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=a9fbbcdf0d334527837fc3463ec2862a&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=a9fbbcdf0d334527837fc3463ec2862a&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;/p&gt;</description><category>网络</category><category>Web开发</category><category>资料</category><category>技术文章</category><pubDate>Fri, 13 Aug 2010 11:00:46 +0800</pubDate><author>大眼夹</author><comments>http://dayanjia.com/2010/08/3-ways-to-test-restful-web-services.html#comments</comments><guid isPermaLink="false">http://dayanjia.com/?p=769</guid><dc:creator>大眼夹</dc:creator><fs:srclink>http://dayanjia.com/2010/08/3-ways-to-test-restful-web-services.html</fs:srclink><fs:srcfeed>http://dayanjia.com/feed</fs:srcfeed><fs:itemid>feedsky/clippit/~7808845/405313331/1226479</fs:itemid></item><item><title>域名转移公告（已成功转移）</title><link>http://item.feedsky.com/~feedsky/clippit/~7808845/405313332/1226479/1/item.html</link><content:encoded>&lt;p&gt;大眼夹的鸟巢目前使用的域名&lt;strong&gt;dayanjia.com&lt;/strong&gt;原本注册在Yahoo! Small Business上，因为注册时Yahoo正在搞活动，价格是$1.99/年。转眼间一年就快过去了，大眼夹的鸟巢迁移到Wordpress独立博客也有了一年的时间。这一年以来，大眼夹为各位奉献了30多篇博文，个人觉得自己的文风也在经历着悄悄的变化。鉴于写博客的热情一直没有消减，我自然要对域名续费，不过Yahoo的续费价格高的离谱，竟然一年要34.95美元，于是我准备将域名转出至Godaddy。其实我一直对当前的域名不太满意，正觊觎着某些带有clippit字样的域名，不过它们大多数正被别人占有着……&lt;/p&gt;
&lt;p&gt;域名转移工作将在近几天完成，在此期间大眼夹的鸟巢可能会出现无法访问的情况，应该不会有什么大问题。顺便预告下，域名转移后我也将寻觅新的主机提供商来托管网站，初步考虑和几个同学合租一台VPS。&lt;strong&gt;大眼夹感谢各位一年以来的厚爱与支持！！&lt;/strong&gt;&lt;/p&gt;


&lt;h3&gt;没有相关日志&lt;/h3&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/405313332/clippit/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/clippit/~7808845/405313332/1226479/1/item.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/clippit/405313332/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/clippit/405313332/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/clippit?a=6cfbfa870c52b4a868463eaad534219e&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=6cfbfa870c52b4a868463eaad534219e&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=50280ddc9a29360e010cc0ee4b83e719&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=50280ddc9a29360e010cc0ee4b83e719&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=c740171e75edc9fe03e938f876125239&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=c740171e75edc9fe03e938f876125239&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=76f99deb92099d51101437f4d37042ab&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=76f99deb92099d51101437f4d37042ab&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=649db13a7e060f477ef09ac5da37f282&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=649db13a7e060f477ef09ac5da37f282&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=3a4748a7df59b60fee39e157233e2f73&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=3a4748a7df59b60fee39e157233e2f73&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=9b1b4234b43f1a20c7f0907c52d2a4b9&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=9b1b4234b43f1a20c7f0907c52d2a4b9&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=5566a5cd8a20c0fb78166854e7906938&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=5566a5cd8a20c0fb78166854e7906938&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=e94f4c28908488f6239b1c22570f97b7&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=e94f4c28908488f6239b1c22570f97b7&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://dayanjia.com/2010/07/domain-transfer-announcement.html/feed</wfw:commentRss><slash:comments>5</slash:comments><description>大眼夹的鸟巢目前使用的域名dayanjia.com原本注册在Yahoo! Small Business上，因为注册时Yahoo正在搞活动，价格是$1.99/年。转眼间一年就快过去了，大眼夹的鸟巢迁移到Wordpress独立博客也有了一年的时间。这一年以来，大眼夹为各位奉献了30多篇博文，个人觉得自己的文风也在经历着悄悄的变化。鉴于写博客的热情一直没有消减，我自然要对域名续费，不过Yahoo的续费价格高的离谱，竟然一年要34.95美元，于是我准备将域名转出至Godaddy。其实我一直对当前的域名不太满意，正觊觎着某些带有clippit字样的域名，不过它们大多数正被别人占有着…… 域名转移工作将在近几天完成，在此期间大眼夹的鸟巢可能会出现无法访问的情况，应该不会有什么大问题。顺便预告下，域名转移后我也将寻觅新的主机提供商来托管网站，初步考虑和几个同学合租一台VPS。大眼夹感谢各位一年以来的厚爱与支持！！ 没有相关日志

&lt;h3&gt;没有相关日志&lt;/h3&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/405313332/clippit/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/clippit/~7808845/405313332/1226479/1/item.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/clippit/405313332/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/clippit/405313332/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/clippit?a=6cfbfa870c52b4a868463eaad534219e&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=6cfbfa870c52b4a868463eaad534219e&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=50280ddc9a29360e010cc0ee4b83e719&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=50280ddc9a29360e010cc0ee4b83e719&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=c740171e75edc9fe03e938f876125239&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=c740171e75edc9fe03e938f876125239&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=76f99deb92099d51101437f4d37042ab&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=76f99deb92099d51101437f4d37042ab&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=649db13a7e060f477ef09ac5da37f282&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=649db13a7e060f477ef09ac5da37f282&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=3a4748a7df59b60fee39e157233e2f73&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=3a4748a7df59b60fee39e157233e2f73&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=9b1b4234b43f1a20c7f0907c52d2a4b9&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=9b1b4234b43f1a20c7f0907c52d2a4b9&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=5566a5cd8a20c0fb78166854e7906938&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=5566a5cd8a20c0fb78166854e7906938&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=e94f4c28908488f6239b1c22570f97b7&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=e94f4c28908488f6239b1c22570f97b7&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;/p&gt;</description><category>公告</category><category>乱七八糟</category><category>域名</category><pubDate>Fri, 30 Jul 2010 20:34:56 +0800</pubDate><author>大眼夹</author><comments>http://dayanjia.com/2010/07/domain-transfer-announcement.html#comments</comments><guid isPermaLink="false">http://dayanjia.com/?p=763</guid><dc:creator>大眼夹</dc:creator><fs:srclink>http://dayanjia.com/2010/07/domain-transfer-announcement.html</fs:srclink><fs:srcfeed>http://dayanjia.com/feed</fs:srcfeed><fs:itemid>feedsky/clippit/~7808845/405313332/1226479</fs:itemid></item><item><title>中文编码什么的，最讨厌了……</title><link>http://item.feedsky.com/~feedsky/clippit/~7808845/405313333/1226479/1/item.html</link><content:encoded>&lt;p&gt;最近貌似很流行这句卖娇的话，好吧，就用它来作为这篇文章的标题好了。首先在这里向各位亲爱的读者说声抱歉，一个月来忙忙碌碌，所以没有时间更新博客，今天总算心血来潮写一篇了。最近刚刚接触了Python，发觉它真是一个挺有意思的语言。首先抛弃了花括号的束缚，世界也并不是特别糟糕；强大的切片功能又让人们抛弃了一堆烦人的取子集的函数；Python Shell又让人感觉它不是一种编程语言而可以简单地当作系统的批处理脚本来使用；但是完整的面向对象特性和丰富的标准库扩展库又赋予了Python超强的功能和广泛的用途。怪不得Google App Engine刚推出的时候就仅支持使用Python（现在也支持Java了）。由于我们要使用Python做Web开发，所以还得搞一个Web开发框架，比如Django。胡扯了这么多貌似和本文的主题没有什么关联，其实中文乱码的问题就得从这其中说起。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;本文将简要介绍计算机中的中文编码和Django中的中文编码问题。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span id=&quot;more-732&quot;&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h2&gt;中文编码的曲折发展&lt;/h2&gt;
&lt;h3&gt;早期发展&lt;/h3&gt;
&lt;p&gt;计算机是美国人发明的，1960年ASCII（美国信息互换标准代码）的出台，让英语的编码得到了统一。相信大家都明白ASCII就是把英文字母、数字、符号等字符和8 Bit的二进制序列映射起来（实际上只用到了7 Bit）。如此一来不同的计算机之间根据这个通行的标准便可以进行信息交换了。事实上ASCII编码连完整的西欧语言字母都不能显示完整，128个位置更是远远不能满足中文的需要。&lt;/p&gt;
&lt;p&gt;中国在计算机领域的起步较晚，1981年中国大陆官方公布了GB2312编码，规范了使用简体字地区的汉字编码。说白了这也是一种映射关系，GB2312是ASCII的超集，单它使用双字节的编码长度，一共收录了6763个汉字和希腊字母、日文假名等其他字符。例如汉字“啊”的编码就是0xB0A1。别看这是4个16进制字符，实际上其第一个字节的范围是0xA1-0xF7，第二个字节的范围是0xA1-0xFE。&lt;/p&gt;
&lt;p&gt;同时在使用繁体字的地区，也有通行的汉字编码（Big5），世界各种语言在数字化存储和交换信息的时候都会使用一套编码，于是这世界上就出现了N多种字符编码，甚至一种语言还有几种编码方式（多是字节存储顺序不同或者是之前编码的扩充）。于是相同的二进制序列在不同的编码方式下对应的字符就不一样了，所以就出现了各种乱码的问题。&lt;strong&gt;选错了编码就如同选错了函数，相同的输入会产生截然不同的输出结果。&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;Unicode&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;http://upload.wikimedia.org/wikipedia/zh/0/06/Unicode_logo.gif&quot;&gt;&lt;img class=&quot;alignleft&quot; title=&quot;Unicode&quot; src=&quot;http://upload.wikimedia.org/wikipedia/zh/0/06/Unicode_logo.gif&quot; alt=&quot;&quot; width=&quot;109&quot; height=&quot;109&quot; /&gt;&lt;/a&gt;随着IT业全球化的发展，各种字符编码的困惑更加严重，这时候，一种声音响彻全球：“让我们统一起来吧”！于是乎，Unicode“粉墨登场”了。Unicode致力于让所有的字符在一个编码下就能显示出来，制定标准的非营利机构The Unicode Consortium一直在努力工作，目前Unicode的最新版本是5.2。&lt;/p&gt;
&lt;p&gt;既然Unicode要表示所有字符，那么编码长度就要足够长。目前实际应用的Unicode编码长度是16位，即两个字节，这样可以理论上表示出2&lt;sup&gt;16&lt;/sup&gt;=65536个字符。这虽然已经很多了，但是对于“所有字符”仍是不够的，所以最新的编码标准是32位的，32位中首位始终位0，因此可以表示出2&lt;sup&gt;31&lt;/sup&gt;中字符。&lt;/p&gt;
&lt;p&gt;Unicode的推出自然是方便了各国之间的交流，尤其是东亚地区的中日韩交流。但是使用英语的国家就不高兴了，我们原本使用ASCII，一个字符只需要一个字节，现在需要两个字节了，未来甚至需要四个字节，这不是巨大的浪费吗？！（或许他们可以写一本书叫《美国不高兴》）事实上，根据Unicode编码，人们又搞出了许多实现方式，称作Unicode Translation Format，其缩写便是我们熟知的UTF。目前用的最广泛的是UTF-8，它的编码字节长度是可变的，具体为：对于ASCII中的字符，采用1个字节，而其他带符号的拉丁文字使用2个字节，大部分常用的中日韩字符采用3个字节，而其他非常不常用的使用4字节。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;为了更好的国际化支持，我个人非常推崇放弃使用GB2312（GBK）等单一语种的编码，全面转向Unicode。&lt;/strong&gt;事实上如今的操作系统和软件都能很好地支持UTF-8。&lt;strong&gt;但是UTF-8真的能高枕无忧吗？答案显然是否&lt;/strong&gt;（要不然我文章还怎么写得下去啊？）&lt;/p&gt;
&lt;h2&gt;Python中的Unicode&lt;/h2&gt;
&lt;p&gt;最新稳定版的Python对Unicode的支持是非常好的，而Django内部也是完全Unicode化的。而今天我却遇到了一个奇怪的问题。根据Django的MVC结构，我们建立一个站点，然后创建一个view.py文件作为视图部分：&lt;/p&gt;
&lt;pre class=&quot;brush: python;&quot;&gt;
from django.http import HttpResponse
import datetime

def current_datetime(request):
    now = datetime.datetime.now()
    html = &amp;quot;服务器当前时间 %s.&amp;quot; % now
    return HttpResponse(html)
&lt;/pre&gt;
&lt;p&gt;可以看到我们这里用到了中文字符。在urls.py中设定好路由：&lt;/p&gt;
&lt;pre class=&quot;brush: python;&quot;&gt;
from django.conf.urls.defaults import *

urlpatterns = patterns('mysite.views',
    ('^time/$', 'current_datetime'),
)
&lt;/pre&gt;
&lt;p&gt;启动服务器后，访问http://127.0.0.1:8000/time/，却得到了错误。&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Non-ASCII character '\xe6' in file /home/Clippit/mysite/../mysite/views.py on line 9, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details (views.py, line 9)&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;a rel=&quot;attachment wp-att-738&quot; href=&quot;http://dayanjia.com/2010/07/trouble-about-chinese-character-encode.html/django-error&quot;&gt;&lt;img class=&quot;alignright size-medium wp-image-738&quot; title=&quot;django error&quot; src=&quot;http://dayanjia.com/wp-content/uploads/2010/07/django-error-300x255.png&quot; alt=&quot;&quot; width=&quot;300&quot; height=&quot;255&quot; /&gt;&lt;/a&gt;它说有一个非ASCII字符出现，检查view.py文件，确是为UTF-8编码，而改成GBK后依然有问题（这个是显然的……）。异常提示中给出了一个&lt;a href=&quot;http://www.python.org/dev/peps/pep-0263/&quot;&gt;PEP 0263&lt;/a&gt;的链接，作为一个初学者，跑过去看PEP这样高深的内容显然有点心虚。&lt;/p&gt;
&lt;p&gt;爬了半天英文后，解决方案很简单，有两种。其一是在py文件的第一行加上一行特殊格式的注释，显式声明文件的编码方式：&lt;/p&gt;
&lt;pre class=&quot;brush: python; light: true;&quot;&gt;# -*- coding: utf-8 -*- &lt;/pre&gt;
&lt;p&gt;其二是采用保存成带有BOM的UTF-8文件。&lt;/p&gt;
&lt;h2&gt;万恶的BOM&lt;/h2&gt;
&lt;p&gt;再次回到理论知识普及部分，这个BOM是什么东西呢？事实上我曾经已经被它搞过好几次了。BOM是Byte Order Marker的简称，根据它的名字可以推测出它是用来表示字节顺序的记号。事实上这个BOM是随着UTF-16的诞生而产生的。UTF-16也是一种Unicode的表示方式，相比于UFT-8它更加接近原始Unicode编码规则（ISO 10646规定的通用字符集UCS-2）。如果编码小于0x10000，UTF-16采用2字节表示，这便是UCS-2中的65535个字符；对于U+10000 到 U+10FFFF中的字符，则使用4个字节。UTF-16因此也不兼容于ASCII。&lt;/p&gt;
&lt;p&gt;但是，和Unicode初衷相悖的现象出现了，在不同的操作系统上，读取UTF-16编码的字节顺序是不一样的，因此便出现了UTF-16BE和UTF-16LE两种分支。例如汉字“水”，UTF-16编码为0x6C34，它使用两个字节存储。在UTF-16BE中，这两个字节的存储顺序是6C, 34，而UTF-16LE却是34, 6C。这就如同编译器解析函数时参数入栈的顺序一样，可以从第一个到最后一个也可以从最后一个到第一个。&lt;strong&gt;Windows和Linux采用的是UTF-16LE，而Mac OS X却采用UTF-16BE。可以想象，读取字节的顺序不同，解析出来的字符自然完全不一样。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;为了解决这个问题，我们就需要在文本文件的最开头放置一个BOM，用来说明这个文件是采用的UTF-16LE还是UTF-16BE。对应UTF-16LE，这个字符是FF FE，对应UTF-16BE，这个字符是FE FF。这样解析的时候就可以确定它到底是哪一种UTF-16的编码了。&lt;/p&gt;
&lt;div id=&quot;attachment_752&quot; class=&quot;wp-caption alignright&quot; style=&quot;width: 310px&quot;&gt;&lt;a rel=&quot;attachment wp-att-752&quot; href=&quot;http://dayanjia.com/2010/07/trouble-about-chinese-character-encode.html/notepad-unicode&quot;&gt;&lt;img class=&quot;size-medium wp-image-752&quot; title=&quot;notepad unicode&quot; src=&quot;http://dayanjia.com/wp-content/uploads/2010/07/notepad-unicode-300x98.png&quot; alt=&quot;&quot; width=&quot;300&quot; height=&quot;98&quot; /&gt;&lt;/a&gt;&lt;p class=&quot;wp-caption-text&quot;&gt;Windows 7的记事本中，可以选择四种编码方式保存文件&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;说了这么多UTF-16的，和UTF-8有什么关系呢？&lt;strong&gt;这就要怪无聊的微软了，微软的Windows操作系统中，会给采用UTF-8保存的文件也加上一个BOM，内容是是三字节的EF BB BF。事实上，在UTF-8文件中并不需要BOM。微软这么做主要是为了兼容它之前不支持UTF-8的操作系统（Windows 98之流）。微软的一意孤行给计算机标准造成了许多影响，其他操作系统必须要能准确读取这些奇怪的带有BOM的UTF-8编码的文件，否则就会在文本开头显示出一个奇怪的字符。&lt;/strong&gt;Windows自从2000开始便一直采用UTF-16LE作为系统内部处理数据的编码。Windows 7的记事本提供了四种编码方式，如右图，从上到下依次为操作系统语言默认编码（ANSI，简体中文系统中就是GBK）、UTF-16LE、UTF-16BE、UTF-8。&lt;/p&gt;
&lt;h3&gt;带BOM的UTF-8文本文件是程序代码的隐藏杀手&lt;/h3&gt;
&lt;div id=&quot;attachment_746&quot; class=&quot;wp-caption alignleft&quot; style=&quot;width: 310px&quot;&gt;&lt;a rel=&quot;attachment wp-att-746&quot; href=&quot;http://dayanjia.com/2010/07/trouble-about-chinese-character-encode.html/bom-utf-8&quot;&gt;&lt;img class=&quot;size-medium wp-image-746&quot; title=&quot;BOM UTF-8&quot; src=&quot;http://dayanjia.com/wp-content/uploads/2010/07/BOM-UTF-8-300x184.png&quot; alt=&quot;&quot; width=&quot;300&quot; height=&quot;184&quot; /&gt;&lt;/a&gt;&lt;p class=&quot;wp-caption-text&quot;&gt;可以看到文本最开头的一个特殊字符&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;我以前的PHP经验告诉我，不要创建带有BOM的UTF-8文件。PHP中有些函数，例如&lt;code&gt;header()&lt;/code&gt;, &lt;code&gt;setcookie()&lt;/code&gt;要求在HTTP头没有发送给客户端之前执行。如果UTF-8文件带有BOM，这个BOM就会被最先发给浏览器，从而header就发出去了，这时候再遇到上面的函数便会发生Fatal Error。而在各种类Unix操作系统中这些BOM会影响许多和编程、脚本有关程序的运行，如gcc会报告源码档开头有无法识别的字符。&lt;strong&gt;这个问题往往很难察觉到，可谓是程序代码的隐藏杀手。&lt;/strong&gt;&lt;/p&gt;
&lt;h2&gt;回到Python：结语&lt;/h2&gt;
&lt;p&gt;&lt;a rel=&quot;attachment wp-att-749&quot; href=&quot;http://dayanjia.com/2010/07/trouble-about-chinese-character-encode.html/django-right&quot;&gt;&lt;img class=&quot;alignright size-medium wp-image-749&quot; title=&quot;django right&quot; src=&quot;http://dayanjia.com/wp-content/uploads/2010/07/django-right-300x138.png&quot; alt=&quot;&quot; width=&quot;300&quot; height=&quot;138&quot; /&gt;&lt;/a&gt;PEP 0263中提到的BOM的解决办法也仅仅推荐给Windows系统。通过添加特殊注释的方法，我们便可以在浏览器中获取正确结果了。&lt;strong&gt;事实上，更好的方案是尽量不要在源代码里出现Unicode字符，可以将其放在模板和数据库中。&lt;/strong&gt;一般情况下在稍微大一点的项目中，也没有什么人在view.py里面直接硬编码吧？&lt;/p&gt;
&lt;p&gt;&lt;em&gt;题图素材来源：&lt;/em&gt;&lt;a href=&quot;http://hults2.deviantart.com/art/Darth-Clippy-49625587&quot;&gt;&lt;em&gt;http://hults2.deviantart.com/art/Darth-Clippy-49625587&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;woshao_003dfc249bac11df9e5e000c295b2b8d&lt;/p&gt;


&lt;h3&gt;延伸阅读：&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;&lt;a href='http://dayanjia.com/2010/03/who-stole-my-bandwidth.html' rel='bookmark' title='Permanent Link: 谁偷走了我的流量？'&gt;谁偷走了我的流量？&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/405313333/clippit/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/clippit/~7808845/405313333/1226479/1/item.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/clippit/405313333/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/clippit/405313333/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/clippit?a=82340f5d7085b68554b4efc352b98ec2&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=82340f5d7085b68554b4efc352b98ec2&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=4cbae4fabb36947bd81390236f72f88e&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=4cbae4fabb36947bd81390236f72f88e&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=551330c8ce35b8d227c9143e112f733f&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=551330c8ce35b8d227c9143e112f733f&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=e5bd19be79c7ff48dbc73e3ede3ff71c&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=e5bd19be79c7ff48dbc73e3ede3ff71c&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=77f5e9b2cad41180d0e3e5e9ea712f1f&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=77f5e9b2cad41180d0e3e5e9ea712f1f&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=7520583391cdaae983e2b98dfab7d23c&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=7520583391cdaae983e2b98dfab7d23c&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=4db7305b60663df6a928b43c337f3a21&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=4db7305b60663df6a928b43c337f3a21&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=3a70c05a982e4063e1b71d9dcb0872c8&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=3a70c05a982e4063e1b71d9dcb0872c8&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=9957ea1767d6e420a6c04af8fef13bad&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=9957ea1767d6e420a6c04af8fef13bad&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://dayanjia.com/2010/07/trouble-about-chinese-character-encode.html/feed</wfw:commentRss><slash:comments>7</slash:comments><description>最近貌似很流行这句卖娇的话，好吧，就用它来作为这篇文章的标题好了。首先在这里向各位亲爱的读者说声抱歉，一个月来忙忙碌碌，所以没有时间更新博客，今天总算心血来潮写一篇了。最近刚刚接触了Python，发觉它真是一个挺有意思的语言。首先抛弃了花括号的束缚，世界也并不是特别糟糕；强大的切片功能又让人们抛弃了一堆烦人的取子集的函数；Python Shell又让人感觉它不是一种编程语言而可以简单地当作系统的批处理脚本来使用；但是完整的面向对象特性和丰富的标准库扩展库又赋予了Python超强的功能和广泛的用途。怪不得Google App Engine刚推出的时候就仅支持使用Python（现在也支持Java了）。由于我们要使用Python做Web开发，所以还得搞一个Web开发框架，比如Django。胡扯了这么多貌似和本文的主题没有什么关联，其实中文乱码的问题就得从这其中说起。 本文将简要介绍计算机中的中文编码和Django中的中文编码问题。 中文编码的曲折发展 早期发展 计算机是美国人发明的，1960年ASCII（美国信息互换标准代码）的出台，让英语的编码得到了统一。相信大家都明白ASCII就是把英文字母、数字、符号等字符和8 Bit的二进制序列映射起来（实际上只用到了7 Bit）。如此一来不同的计算机之间根据这个通行的标准便可以进行信息交换了。事实上ASCII编码连完整的西欧语言字母都不能显示完整，128个位置更是远远不能满足中文的需要。 中国在计算机领域的起步较晚，1981年中国大陆官方公布了GB2312编码，规范了使用简体字地区的汉字编码。说白了这也是一种映射关系，GB2312是ASCII的超集，单它使用双字节的编码长度，一共收录了6763个汉字和希腊字母、日文假名等其他字符。例如汉字“啊”的编码就是0xB0A1。别看这是4个16进制字符，实际上其第一个字节的范围是0xA1-0xF7，第二个字节的范围是0xA1-0xFE。 同时在使用繁体字的地区，也有通行的汉字编码（Big5），世界各种语言在数字化存储和交换信息的时候都会使用一套编码，于是这世界上就出现了N多种字符编码，甚至一种语言还有几种编码方式（多是字节存储顺序不同或者是之前编码的扩充）。于是相同的二进制序列在不同的编码方式下对应的字符就不一样了，所以就出现了各种乱码的问题。选错了编码就如同选错了函数，相同的输入会产生截然不同的输出结果。 Unicode 随着IT业全球化的发展，各种字符编码的困惑更加严重，这时候，一种声音响彻全球：“让我们统一起来吧”！于是乎，Unicode“粉墨登场”了。Unicode致力于让所有的字符在一个编码下就能显示出来，制定标准的非营利机构The Unicode Consortium一直在努力工作，目前Unicode的最新版本是5.2。 既然Unicode要表示所有字符，那么编码长度就要足够长。目前实际应用的Unicode编码长度是16位，即两个字节，这样可以理论上表示出216=65536个字符。这虽然已经很多了，但是对于“所有字符”仍是不够的，所以最新的编码标准是32位的，32位中首位始终位0，因此可以表示出231中字符。 Unicode的推出自然是方便了各国之间的交流，尤其是东亚地区的中日韩交流。但是使用英语的国家就不高兴了，我们原本使用ASCII，一个字符只需要一个字节，现在需要两个字节了，未来甚至需要四个字节，这不是巨大的浪费吗？！（或许他们可以写一本书叫《美国不高兴》）事实上，根据Unicode编码，人们又搞出了许多实现方式，称作Unicode Translation Format，其缩写便是我们熟知的UTF。目前用的最广泛的是UTF-8，它的编码字节长度是可变的，具体为：对于ASCII中的字符，采用1个字节，而其他带符号的拉丁文字使用2个字节，大部分常用的中日韩字符采用3个字节，而其他非常不常用的使用4字节。 为了更好的国际化支持，我个人非常推崇放弃使用GB2312（GBK）等单一语种的编码，全面转向Unicode。事实上如今的操作系统和软件都能很好地支持UTF-8。但是UTF-8真的能高枕无忧吗？答案显然是否（要不然我文章还怎么写得下去啊？） Python中的Unicode 最新稳定版的Python对Unicode的支持是非常好的，而Django内部也是完全Unicode化的。而今天我却遇到了一个奇怪的问题。根据Django的MVC结构，我们建立一个站点，然后创建一个view.py文件作为视图部分： from django.http import HttpResponse import datetime def current_datetime(request): now = datetime.datetime.now() html = &amp;#34;服务器当前时间 %s.&amp;#34; % now return HttpResponse(html) 可以看到我们这里用到了中文字符。在urls.py中设定好路由： from django.conf.urls.defaults import * urlpatterns = patterns('mysite.views', ('^time/$', 'current_datetime'), ) 启动服务器后，访问http://127.0.0.1:8000/time/，却得到了错误。 Non-ASCII ...

&lt;h3&gt;延伸阅读：&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;&lt;a href='http://dayanjia.com/2010/03/who-stole-my-bandwidth.html' rel='bookmark' title='Permanent Link: 谁偷走了我的流量？'&gt;谁偷走了我的流量？&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/405313333/clippit/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/clippit/~7808845/405313333/1226479/1/item.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/clippit/405313333/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/clippit/405313333/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/clippit?a=82340f5d7085b68554b4efc352b98ec2&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=82340f5d7085b68554b4efc352b98ec2&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=4cbae4fabb36947bd81390236f72f88e&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=4cbae4fabb36947bd81390236f72f88e&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=551330c8ce35b8d227c9143e112f733f&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=551330c8ce35b8d227c9143e112f733f&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=e5bd19be79c7ff48dbc73e3ede3ff71c&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=e5bd19be79c7ff48dbc73e3ede3ff71c&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=77f5e9b2cad41180d0e3e5e9ea712f1f&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=77f5e9b2cad41180d0e3e5e9ea712f1f&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=7520583391cdaae983e2b98dfab7d23c&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=7520583391cdaae983e2b98dfab7d23c&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=4db7305b60663df6a928b43c337f3a21&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=4db7305b60663df6a928b43c337f3a21&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=3a70c05a982e4063e1b71d9dcb0872c8&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=3a70c05a982e4063e1b71d9dcb0872c8&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=9957ea1767d6e420a6c04af8fef13bad&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=9957ea1767d6e420a6c04af8fef13bad&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;/p&gt;</description><category>Python</category><category>故障处理</category><category>技术文章</category><category>Django</category><pubDate>Thu, 29 Jul 2010 18:43:25 +0800</pubDate><author>大眼夹</author><comments>http://dayanjia.com/2010/07/trouble-about-chinese-character-encode.html#comments</comments><guid isPermaLink="false">http://dayanjia.com/?p=732</guid><dc:creator>大眼夹</dc:creator><fs:srclink>http://dayanjia.com/2010/07/trouble-about-chinese-character-encode.html</fs:srclink><fs:srcfeed>http://dayanjia.com/feed</fs:srcfeed><fs:itemid>feedsky/clippit/~7808845/405313333/1226479</fs:itemid></item><item><title>从文件同步服务说开去</title><link>http://item.feedsky.com/~feedsky/clippit/~7808845/405313334/1226479/1/item.html</link><content:encoded>&lt;p&gt;如果你在不同的电脑上进行工作，需要随时同步一些重要文件，你会怎么办？如果你面对一台陌生的电脑，想用自己最熟悉的一套方法和工具处理事务，你该怎么办？如果你的电脑上有一些好东西想和亲朋好友分享，你又会怎么办？&lt;/p&gt;
&lt;p&gt;或许最传统的方法是使用U盘来传递这些文件，以便随时使用。但是人难免有犯糊涂忘了U盘的时候，再说拿个U盘到处乱插也不是一件好事。于是我们自然而然想到了网络这个无所不在的载体。一般的工作文档往往文件不大，使用网络传输和U盘所花费的时间相差无几。于是所谓的“网络U盘”的概念自从Internet宽带普及以来就一直延续到现在，不过随着云计算的发展，“网络U盘”也正经历着翻天覆地的变化。&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more-704&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;早期传统网盘&lt;/h2&gt;
&lt;p&gt;&lt;a rel=&quot;attachment wp-att-711&quot; href=&quot;http://dayanjia.com/2010/06/a-rambling-talk-about-file-sync-and-cloud-storage.html/freefileredtoreall&quot;&gt;&lt;img class=&quot;alignleft size-medium wp-image-711&quot; title=&quot;web file sharing services&quot; src=&quot;http://dayanjia.com/wp-content/uploads/2010/06/freefileredtoreall-300x151.jpg&quot; alt=&quot;&quot; width=&quot;300&quot; height=&quot;151&quot; /&gt;&lt;/a&gt;早期传统网盘大多提供了两种存储空间，一种容量很小，但是可以永久保存自己的私人文件，另一种容量较大，可以和他人分享文件，但是会定期删除。&lt;span style=&quot;color: #3366ff;&quot;&gt;事实上，前面一种服务已经几乎没有人使用了。如今这种网页上的“网盘”服务大多数成为了各类资源的集散地。&lt;/span&gt;人们利用这些平台来发布资源，让这些网站承担下载带来的巨大流量。同时，难以生存的网盘网站不停地在网页上堆砌广告，推出付费获取所谓“更快速度”的下载服务（基本上国外的都有），甚至必须采取专用的软件才能下载文件（国内服务用的较多）。同时，人们通过这些服务分享盗版资源也让提供商头疼，国外老牌的&lt;a href=&quot;http://www.rapidshare.net/&quot; target=&quot;_blank&quot;&gt;Rapidshare&lt;/a&gt;便因盗版压力不得不&lt;a title=&quot;Rapidshare出于顾虑取消积分制度&quot; href=&quot;http://internet.solidot.org/article.pl?sid=10/06/24/0926214&amp;amp;amp;from=rss&quot; target=&quot;_blank&quot;&gt;取消了上传积分制度&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #3366ff;&quot;&gt;虽然它们叫做“网络U盘”，但是和现实中的U盘差距实在是太明显了——没有人用它来同步自己的文件。&lt;/span&gt;造成这种现象的一大原因便是基于B/S的网盘需要手动进行同步操作，过于繁琐。&lt;/p&gt;
&lt;h2&gt;和系统集成才是王道&lt;/h2&gt;
&lt;p&gt;&lt;a rel=&quot;attachment wp-att-715&quot; href=&quot;http://dayanjia.com/2010/06/a-rambling-talk-about-file-sync-and-cloud-storage.html/tour_sync&quot;&gt;&lt;img class=&quot;alignright size-medium wp-image-715&quot; title=&quot;tour_sync&quot; src=&quot;http://dayanjia.com/wp-content/uploads/2010/06/tour_sync-300x224.png&quot; alt=&quot;&quot; width=&quot;300&quot; height=&quot;224&quot; /&gt;&lt;/a&gt;“网络U盘”和文件同步的需求渐行渐远，专为用户同步文件设计的各类软件层出不穷，像SugarSync和Windows Live Sync都是比较著名的产品。用户通过在多台电脑上安装这些软件，便可以获得同步文件的功能。而SugarSync还将文件存储在它们的服务器上，以便没有安装软件时也可以访问到自己的文件。指定了需要同步的文件夹后，通过的过程完全是无需干预的，文件不知不觉就上传到了服务器上。&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #3366ff;&quot;&gt;随着移动互联网的普及，越来越多的软件开始支持移动平台，用户可以在iPhone、BlackBerry、Android等移动终端上随时访问自己的文件。从这一点来看，文件同步早已超越了所谓“网络U盘”的范畴，成为了一项随时随地的便捷服务。&lt;/span&gt;用户可能一开始会感到疑惑：“我真的需要它吗？”但是当人们真正开始使用后，他们会觉得：“这真是太棒了，我离不开它！”&lt;/p&gt;
&lt;h2&gt;云存储时代来临&lt;/h2&gt;
&lt;p&gt;2008年，两个MIT的毕业生折腾出了一款新的文件同步服务，他们给它取了一个形象的名字，叫做DropBox。用户把他们的东西丢到这个Box里面，可以在其他地方轻松地找到它。DropBox使用了Amazon的S3云存储服务，并吸收了软件工程中版本控制和增量备份的理念。&lt;span style=&quot;color: #3366ff;&quot;&gt;把文件的存储过程交给云计算，使得DropBox无需考虑各种涉及到文件存取的复杂技术问题，专心把重点放在服务质量上。&lt;/span&gt;DropBox依靠着口碑营销获取了非常大的关注，如今已经是文件同步服务中的佼佼者，用户超过400万。&lt;/p&gt;
&lt;h2&gt;你都同步些什么？安全性呢？&lt;/h2&gt;
&lt;p&gt;&lt;a rel=&quot;attachment wp-att-716&quot; href=&quot;http://dayanjia.com/2010/06/a-rambling-talk-about-file-sync-and-cloud-storage.html/attachment/12278600851227860467&quot;&gt;&lt;img class=&quot;alignleft size-medium wp-image-716&quot; title=&quot;Dropbox&quot; src=&quot;http://dayanjia.com/wp-content/uploads/2010/06/12278600851227860467-299x300.png&quot; alt=&quot;&quot; width=&quot;299&quot; height=&quot;300&quot; /&gt;&lt;/a&gt;DropBox和系统高度集成，你几乎无需去理会它的存在，只需要知道“有一个神奇的文件夹”就可以了。你可以将完成了一半的工作文件放进去，你可以将一些自己用的顺手的绿色小软件放进去，你甚至还可以把电脑游戏存档同步进去以便在不同的电脑上持续地进行冒险……总之，一切你想要放在云里的东西你都可以放进去。&lt;/p&gt;
&lt;p&gt;云计算有一个很棘手的问题便是安全性。诚然用户会担心自己的东西会不会被别人看到，会不会莫名其妙地丢失。&lt;span style=&quot;color: #3366ff;&quot;&gt;对于有这类特殊敏感需求的人，他们大可以放弃这些公开的云存储服务。我们可以搭建一台SVN服务器，使用SVN来同步自己的文件。&lt;/span&gt;事实上，你会发现DropBox有很多地方借鉴了SVN，和Windows下的TortoiseSVN软件。&lt;/p&gt;
&lt;h2&gt;SugarSync vs. DropBox&lt;/h2&gt;
&lt;p&gt;上文中多处提到了两款软件，便是SugarSync 和 DropBox。SugarSync功能强大，定制性非常强，它的官网上有其&lt;a title=&quot;See How SugarSync Stacks up to the Competition&quot; href=&quot;https://www.sugarsync.com/sync_comparison.html&quot; target=&quot;_blank&quot;&gt;和同类软件的比较&lt;/a&gt;。而DropBox是属于“简约而不简单”类型的，有点苹果的风格，简洁而强大。&lt;/p&gt;
&lt;p&gt;在DropBox获得了&lt;strong&gt;G&lt;/strong&gt;&lt;span style=&quot;color: #ccc;&quot;&gt;ame&lt;/span&gt; &lt;strong&gt;F&lt;/strong&gt;&lt;span style=&quot;color: #ccc;&quot;&gt;or&lt;/span&gt; &lt;strong&gt;W&lt;/strong&gt;&lt;span style=&quot;color: #ccc;&quot;&gt;indows&lt;/span&gt;金牌认证以后，SugarSync很时宜地推出了官方中文版，以迎接被迫转换到其他平台的用户。同DropBox一样，SugarSync有2GB的免费账户和容量更大的收费账户。&lt;strong&gt;&lt;span style=&quot;color: #003300;&quot;&gt;不过各位读者的福利来了，&lt;/span&gt;&lt;/strong&gt;&lt;a title=&quot;点击注册SugarSync并获得250MB额外空间&quot; href=&quot;https://www.sugarsync.com/referral?rf=oh842ar4xbic&quot; target=&quot;_blank&quot;&gt;点击这里注册SugarSync的话&lt;/a&gt;&lt;strong&gt;&lt;span style=&quot;color: #003300;&quot;&gt;，你会获得额外250MB的存储空间。&lt;/span&gt;&lt;/strong&gt;SugarSync最方便的地方莫过于可以选择多个文件夹进行同步了（DropBox自0.8 beta版也开始支持）。PS: 最近写了一篇软文，让我心存愧疚，这篇可不是什么软文哈……&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;text-decoration: underline;&quot;&gt;再PS：最近Google Reader貌似出了点问题，乱抓以前的文章，给大家带来不便还请谅解哈！&lt;/span&gt;&lt;/p&gt;


&lt;h3&gt;没有相关日志&lt;/h3&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/405313334/clippit/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/clippit/~7808845/405313334/1226479/1/item.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/clippit/405313334/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/clippit/405313334/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/clippit?a=b764e31555fae5afa2685cf2196c6055&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=b764e31555fae5afa2685cf2196c6055&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=52ef2d71b34e6578d9744f5fad2eda2a&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=52ef2d71b34e6578d9744f5fad2eda2a&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=636fff89619e2edd0b51cbc3bf3075d5&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=636fff89619e2edd0b51cbc3bf3075d5&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=48d6ae9b207907486d9f91bf47a53228&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=48d6ae9b207907486d9f91bf47a53228&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=5bfc23b2895fc0b1e65aa790d1b56976&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=5bfc23b2895fc0b1e65aa790d1b56976&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=de1090434577893dfb8555ab2107874e&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=de1090434577893dfb8555ab2107874e&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=b47d03e134411c3e16d587f32ae8bff3&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=b47d03e134411c3e16d587f32ae8bff3&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=5343fb312e5e247ac7cc9f6037852347&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=5343fb312e5e247ac7cc9f6037852347&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=6b0d8131b59c9c2df65b7e28cc745aad&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=6b0d8131b59c9c2df65b7e28cc745aad&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://dayanjia.com/2010/06/a-rambling-talk-about-file-sync-and-cloud-storage.html/feed</wfw:commentRss><slash:comments>9</slash:comments><description>如果你在不同的电脑上进行工作，需要随时同步一些重要文件，你会怎么办？如果你面对一台陌生的电脑，想用自己最熟悉的一套方法和工具处理事务，你该怎么办？如果你的电脑上有一些好东西想和亲朋好友分享，你又会怎么办？ 或许最传统的方法是使用U盘来传递这些文件，以便随时使用。但是人难免有犯糊涂忘了U盘的时候，再说拿个U盘到处乱插也不是一件好事。于是我们自然而然想到了网络这个无所不在的载体。一般的工作文档往往文件不大，使用网络传输和U盘所花费的时间相差无几。于是所谓的“网络U盘”的概念自从Internet宽带普及以来就一直延续到现在，不过随着云计算的发展，“网络U盘”也正经历着翻天覆地的变化。 早期传统网盘 早期传统网盘大多提供了两种存储空间，一种容量很小，但是可以永久保存自己的私人文件，另一种容量较大，可以和他人分享文件，但是会定期删除。事实上，前面一种服务已经几乎没有人使用了。如今这种网页上的“网盘”服务大多数成为了各类资源的集散地。人们利用这些平台来发布资源，让这些网站承担下载带来的巨大流量。同时，难以生存的网盘网站不停地在网页上堆砌广告，推出付费获取所谓“更快速度”的下载服务（基本上国外的都有），甚至必须采取专用的软件才能下载文件（国内服务用的较多）。同时，人们通过这些服务分享盗版资源也让提供商头疼，国外老牌的Rapidshare便因盗版压力不得不取消了上传积分制度。 虽然它们叫做“网络U盘”，但是和现实中的U盘差距实在是太明显了——没有人用它来同步自己的文件。造成这种现象的一大原因便是基于B/S的网盘需要手动进行同步操作，过于繁琐。 和系统集成才是王道 “网络U盘”和文件同步的需求渐行渐远，专为用户同步文件设计的各类软件层出不穷，像SugarSync和Windows Live Sync都是比较著名的产品。用户通过在多台电脑上安装这些软件，便可以获得同步文件的功能。而SugarSync还将文件存储在它们的服务器上，以便没有安装软件时也可以访问到自己的文件。指定了需要同步的文件夹后，通过的过程完全是无需干预的，文件不知不觉就上传到了服务器上。 随着移动互联网的普及，越来越多的软件开始支持移动平台，用户可以在iPhone、BlackBerry、Android等移动终端上随时访问自己的文件。从这一点来看，文件同步早已超越了所谓“网络U盘”的范畴，成为了一项随时随地的便捷服务。用户可能一开始会感到疑惑：“我真的需要它吗？”但是当人们真正开始使用后，他们会觉得：“这真是太棒了，我离不开它！” 云存储时代来临 2008年，两个MIT的毕业生折腾出了一款新的文件同步服务，他们给它取了一个形象的名字，叫做DropBox。用户把他们的东西丢到这个Box里面，可以在其他地方轻松地找到它。DropBox使用了Amazon的S3云存储服务，并吸收了软件工程中版本控制和增量备份的理念。把文件的存储过程交给云计算，使得DropBox无需考虑各种涉及到文件存取的复杂技术问题，专心把重点放在服务质量上。DropBox依靠着口碑营销获取了非常大的关注，如今已经是文件同步服务中的佼佼者，用户超过400万。 你都同步些什么？安全性呢？ DropBox和系统高度集成，你几乎无需去理会它的存在，只需要知道“有一个神奇的文件夹”就可以了。你可以将完成了一半的工作文件放进去，你可以将一些自己用的顺手的绿色小软件放进去，你甚至还可以把电脑游戏存档同步进去以便在不同的电脑上持续地进行冒险……总之，一切你想要放在云里的东西你都可以放进去。 云计算有一个很棘手的问题便是安全性。诚然用户会担心自己的东西会不会被别人看到，会不会莫名其妙地丢失。对于有这类特殊敏感需求的人，他们大可以放弃这些公开的云存储服务。我们可以搭建一台SVN服务器，使用SVN来同步自己的文件。事实上，你会发现DropBox有很多地方借鉴了SVN，和Windows下的TortoiseSVN软件。 SugarSync vs. DropBox 上文中多处提到了两款软件，便是SugarSync 和 DropBox。SugarSync功能强大，定制性非常强，它的官网上有其和同类软件的比较。而DropBox是属于“简约而不简单”类型的，有点苹果的风格，简洁而强大。 在DropBox获得了Game For Windows金牌认证以后，SugarSync很时宜地推出了官方中文版，以迎接被迫转换到其他平台的用户。同DropBox一样，SugarSync有2GB的免费账户和容量更大的收费账户。不过各位读者的福利来了，点击这里注册SugarSync的话，你会获得额外250MB的存储空间。SugarSync最方便的地方莫过于可以选择多个文件夹进行同步了（DropBox自0.8 beta版也开始支持）。PS: 最近写了一篇软文，让我心存愧疚，这篇可不是什么软文哈…… 再PS：最近Google Reader貌似出了点问题，乱抓以前的文章，给大家带来不便还请谅解哈！ 没有相关日志

&lt;h3&gt;没有相关日志&lt;/h3&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/405313334/clippit/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/clippit/~7808845/405313334/1226479/1/item.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/clippit/405313334/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/clippit/405313334/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/clippit?a=b764e31555fae5afa2685cf2196c6055&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=b764e31555fae5afa2685cf2196c6055&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=52ef2d71b34e6578d9744f5fad2eda2a&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=52ef2d71b34e6578d9744f5fad2eda2a&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=636fff89619e2edd0b51cbc3bf3075d5&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=636fff89619e2edd0b51cbc3bf3075d5&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=48d6ae9b207907486d9f91bf47a53228&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=48d6ae9b207907486d9f91bf47a53228&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=5bfc23b2895fc0b1e65aa790d1b56976&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=5bfc23b2895fc0b1e65aa790d1b56976&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=de1090434577893dfb8555ab2107874e&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=de1090434577893dfb8555ab2107874e&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=b47d03e134411c3e16d587f32ae8bff3&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=b47d03e134411c3e16d587f32ae8bff3&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=5343fb312e5e247ac7cc9f6037852347&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=5343fb312e5e247ac7cc9f6037852347&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=6b0d8131b59c9c2df65b7e28cc745aad&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=6b0d8131b59c9c2df65b7e28cc745aad&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;/p&gt;</description><category>网络</category><category>软件</category><category>评论天下</category><category>技术文章</category><pubDate>Fri, 25 Jun 2010 22:42:57 +0800</pubDate><author>大眼夹</author><comments>http://dayanjia.com/2010/06/a-rambling-talk-about-file-sync-and-cloud-storage.html#comments</comments><guid isPermaLink="false">http://dayanjia.com/?p=704</guid><dc:creator>大眼夹</dc:creator><fs:srclink>http://dayanjia.com/2010/06/a-rambling-talk-about-file-sync-and-cloud-storage.html</fs:srclink><fs:srcfeed>http://dayanjia.com/feed</fs:srcfeed><fs:itemid>feedsky/clippit/~7808845/405313334/1226479</fs:itemid></item><item><title>《玩具总动员3》：15年，完美谢幕</title><link>http://item.feedsky.com/~feedsky/clippit/~7808845/405313335/1226479/1/item.html</link><content:encoded>&lt;p&gt;《玩具总动员》三部曲跨度达到了15年之久。其第一部于1995年上映，作为首部长篇CG电影，获得了极大的成功。第二部曾险些仅仅面向电视市场，但在Pixar的坚持下终于搬上了大屏幕，并成为了为数不多的续作好评甚于首作的电影之一。随后11年中，Pixar在和迪斯尼分分合合的变故中不断壮大，陆续推出的几部CG电影都获得了非常不错的评价。&lt;strong&gt;今天，他们终于为这个漫长的故事画上了一个完美的句号。《玩具总动员3》堪称神作，皮克斯真的做到了。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;本作在延续前两部作品风格的同时，加入了更多的新角色（大多为反派角色，因为之前的反派全被演说家Woody归正了），拥有更宏大的场景、更搞笑的桥段、更令人震撼的剧情。&lt;strong&gt;在众多令人难忘的电影三部曲中，除了《魔戒》系列外，最成功的恐怕就要数《玩具总动员》了。&lt;/strong&gt;而且这次，中国大陆享受到了额外的“福利”（不是ACFun上的那种），该片在中国的公映时间是最早的，比北美提前了2天。&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more-682&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;绝非儿童片那般消遣&lt;/h2&gt;
&lt;p&gt;中国多数人都有这样一种想法，所谓动画片就是给小孩子看的，而皮克斯常年挥之不去的“总动员”的“低龄”帽子事实上阻碍了更广大年龄段观众对他们作品的了解。皮克斯一直认为，动画片不仅仅是给小孩看的，不同年龄的人会从电影中看出不一样的感觉。或许在他们早期作品中，所谓幼稚的成分居多，但是自从《海底总动员》开始，情况有了大幅的改变，而近些年的《Wall·E》和《飞屋环游记》，更是将动画片的包容度上升到了一个新的台阶。&lt;/p&gt;
&lt;div id=&quot;attachment_689&quot; class=&quot;wp-caption alignnone&quot; style=&quot;width: 570px&quot;&gt;&lt;a rel=&quot;attachment wp-att-689&quot; href=&quot;http://dayanjia.com/2010/06/toy-story-3-perfect-ending-after-15-years.html/andy-in-toy-story-1&quot;&gt;&lt;img class=&quot;size-large wp-image-689&quot; title=&quot;andy in toy story  1&quot; src=&quot;http://dayanjia.com/wp-content/uploads/2010/06/andy-in-toy-story-1-560x315.jpg&quot; alt=&quot;&quot; width=&quot;560&quot; height=&quot;315&quot; /&gt;&lt;/a&gt;&lt;p class=&quot;wp-caption-text&quot;&gt;《玩具总动员Ⅰ》中的 Andy&lt;/p&gt;&lt;/div&gt;
&lt;div id=&quot;attachment_690&quot; class=&quot;wp-caption alignnone&quot; style=&quot;width: 570px&quot;&gt;&lt;a rel=&quot;attachment wp-att-690&quot; href=&quot;http://dayanjia.com/2010/06/toy-story-3-perfect-ending-after-15-years.html/andy-in-toy-story-2&quot;&gt;&lt;img class=&quot;size-large wp-image-690&quot; title=&quot;andy in toy story 2&quot; src=&quot;http://dayanjia.com/wp-content/uploads/2010/06/andy-in-toy-story-2-560x315.jpg&quot; alt=&quot;&quot; width=&quot;560&quot; height=&quot;315&quot; /&gt;&lt;/a&gt;&lt;p class=&quot;wp-caption-text&quot;&gt;《玩具总动员Ⅱ》中的 Andy&lt;/p&gt;&lt;/div&gt;
&lt;div id=&quot;attachment_692&quot; class=&quot;wp-caption alignnone&quot; style=&quot;width: 570px&quot;&gt;&lt;a rel=&quot;attachment wp-att-692&quot; href=&quot;http://dayanjia.com/2010/06/toy-story-3-perfect-ending-after-15-years.html/andy-in-toy-story-3-2&quot;&gt;&lt;img class=&quot;size-large wp-image-692 &quot; title=&quot;andy in toy story 3&quot; src=&quot;http://dayanjia.com/wp-content/uploads/2010/06/andy-in-toy-story-31-560x298.jpg&quot; alt=&quot;&quot; width=&quot;560&quot; height=&quot;298&quot; /&gt;&lt;/a&gt;&lt;p class=&quot;wp-caption-text&quot;&gt;《玩具总动员Ⅲ》中的 Andy （话说三部里都能轻易地找到Andy拿着Woody和巴斯光年的场景）&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;而这次的《玩具总动员3》，孩子们自然可以从影片中找到欢乐，也能为最后玩具们的九死一生感到刺激。而对于从1995年到2010年同Andy一起长大的人们来说，更多的恐怕是回忆中的童年，记忆深处曾经属于自己的玩具，和当时用玩具们编造的各种神奇故事。或许你能看到弱小的玩具们在面对不可预知的宿命时表现出的无畏的团结；或许你能看到一个善良的人变成一个邪恶的人需要遭受怎样的心理打击；或许你还能从中看到可怕的独裁政权是如何从统治集团内部瓦解的……&lt;strong&gt;总之，《玩具总动员3》是一部内涵丰富的电影，我们不应从它的表现形式上来武断地推测内容的受众。&lt;/strong&gt;&lt;/p&gt;
&lt;h2&gt;神来之笔（本章有关键剧透）&lt;/h2&gt;
&lt;p&gt;影片的最后20分钟真可谓是神来之笔，将整部电影升华到了前两部难以企及的高度。在玩具们历经九九八十一磨难后终于回到了Andy家中，本来Woody会跟着Andy去上大学，而其他玩具将被束之阁楼，就此尘封。影片到这里结束，也算是完满了，或许导演还可以加上俗套的黑屏，字幕“十年以后……”，然后镜头切换到Andy的孩子在玩他当年的玩具……&lt;/p&gt;
&lt;p&gt;但是这样何来神作？所以Woody给Andy留了一张纸条，引导他把这些玩具送给阳光幼儿园的小朋友Bonnie，之前Woody在她家留宿一晚，知道她也是个喜爱玩具，会善待玩具的孩子。而Woody偷偷地从上大学的行李中跑出来和其他玩具一起，最后Andy决定将Woody也送给Bonnie。于是我们看到的画面是，Andy向Bonnie一一介绍这些玩具，仿佛又回到了童年。他把牛仔Woody架在脖子上飞奔，他让Buzz Lightyear在空中翱翔，他把的Potato Head夫妇温馨地放在一起，他将三个Aliens一字排开……&lt;/p&gt;
&lt;p&gt;有人说，光凭这最后的20分钟，就足以让这部影片不朽。或许这并没有那么夸张，但是这样完美的结局，让许多观众留下了感动的泪水。&lt;strong&gt;皮克斯就是这样，让你在前一分钟笑，在后一分钟哭。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/p&gt;
&lt;div id=&quot;attachment_696&quot; class=&quot;wp-caption alignnone&quot; style=&quot;width: 570px&quot;&gt;&lt;a rel=&quot;attachment wp-att-696&quot; href=&quot;http://dayanjia.com/2010/06/toy-story-3-perfect-ending-after-15-years.html/sunnyside-daycare&quot;&gt;&lt;img class=&quot;size-large wp-image-696&quot; title=&quot;sunnyside daycare&quot; src=&quot;http://dayanjia.com/wp-content/uploads/2010/06/sunnyside-daycare-560x315.jpg&quot; alt=&quot;&quot; width=&quot;560&quot; height=&quot;315&quot; /&gt;&lt;/a&gt;&lt;p class=&quot;wp-caption-text&quot;&gt;阳光幼儿园，根据电影中的常识，名字和实际情况往往是大相径庭的&lt;/p&gt;&lt;/div&gt;
&lt;h2&gt;花絮&lt;/h2&gt;
&lt;p&gt;尤记得在《玩具总动员2》中，大魔头Zurg和Buzz在电梯上恶搞《星球大战》的对话，本作中笑点依旧很多，让我们来略数一二。&lt;/p&gt;
&lt;h3&gt;西班牙舞者&lt;/h3&gt;
&lt;p&gt;操作方法：打开巴斯光年的后盖，用尖锐的物品按住Reset按钮至少5秒以上，你就会得到一个会说西班牙语并且有着非凡舞蹈能力的巴斯光年。&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;attachment wp-att-695&quot; href=&quot;http://dayanjia.com/2010/06/toy-story-3-perfect-ending-after-15-years.html/spanish-buzz&quot;&gt;&lt;img class=&quot;alignnone size-large wp-image-695&quot; title=&quot;spanish buzz&quot; src=&quot;http://dayanjia.com/wp-content/uploads/2010/06/spanish-buzz-560x350.jpg&quot; alt=&quot;&quot; width=&quot;560&quot; height=&quot;350&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;百变 Potato Head&lt;/h3&gt;
&lt;p&gt;作为本作的最佳配角，Mr. Potato Head（中文貌似叫做土豆先生）在电影中拆装零件无数次，同时整过三次容。&lt;/p&gt;
&lt;div id=&quot;attachment_697&quot; class=&quot;wp-caption alignnone&quot; style=&quot;width: 570px&quot;&gt;&lt;a rel=&quot;attachment wp-att-697&quot; href=&quot;http://dayanjia.com/2010/06/toy-story-3-perfect-ending-after-15-years.html/mr-potato-head&quot;&gt;&lt;img class=&quot;size-large wp-image-697&quot; title=&quot;mr potato head&quot; src=&quot;http://dayanjia.com/wp-content/uploads/2010/06/mr-potato-head-560x315.jpg&quot; alt=&quot;&quot; width=&quot;560&quot; height=&quot;315&quot; /&gt;&lt;/a&gt;&lt;p class=&quot;wp-caption-text&quot;&gt;You would not believe what I&amp;#39;ve been through tonight!&lt;/p&gt;&lt;/div&gt;
&lt;h3&gt;口头禅&lt;/h3&gt;
&lt;p&gt;三部作品中出现最多的口头禅是“To Infinity and Beyond!”（飞向宇宙，浩瀚无限！）。不过本作中又加了一句（其实这一句前作中已经出现过了）：“You have saved our lives. We are eternally grateful!”，来自三个外星小玩偶和Potato Head夫妇。&lt;/p&gt;
&lt;h3&gt;打酱油的龙猫&lt;/h3&gt;
&lt;p&gt;Bonnie家中有许多新玩具，其中之一是……嗯？龙猫？宫崎骏内牛满面啊……&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;attachment wp-att-698&quot; href=&quot;http://dayanjia.com/2010/06/toy-story-3-perfect-ending-after-15-years.html/galesaur&quot;&gt;&lt;img class=&quot;alignnone size-large wp-image-698&quot; title=&quot;galesaur&quot; src=&quot;http://dayanjia.com/wp-content/uploads/2010/06/galesaur-560x315.jpg&quot; alt=&quot;&quot; width=&quot;560&quot; height=&quot;315&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;eBay = 淘宝？&lt;/h3&gt;
&lt;p&gt;在影片的开头，Andy的妈妈问他怎么处理这些玩具。玩具们知道后，存钱猪说：“Come on. Let's go see how much we're going for on eBay”，把我们放到eBay上看看能卖多少钱呢？结果官方版的中文字幕居然把eBay翻译成了“淘宝”……抓墙（这也太不敬业了，要不然就是淘宝给了钱了）……&lt;/p&gt;


&lt;h3&gt;延伸阅读：&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;&lt;a href='http://dayanjia.com/2010/01/something-about-the-movie-avatar-2.html' rel='bookmark' title='Permanent Link: 奇妙的世界——《阿凡达》观影心得（下）'&gt;奇妙的世界——《阿凡达》观影心得（下）&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/405313335/clippit/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/clippit/~7808845/405313335/1226479/1/item.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/clippit/405313335/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/clippit/405313335/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/clippit?a=c41abf78fbab7954c7153ed7a6210fb1&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=c41abf78fbab7954c7153ed7a6210fb1&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=f1e6241b40a09afe1be94c84b1fa775e&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=f1e6241b40a09afe1be94c84b1fa775e&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=135af3c91721d051ba3d47fe9228752d&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=135af3c91721d051ba3d47fe9228752d&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=0f9a92e07d280de769cdc35b1ca8ff25&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=0f9a92e07d280de769cdc35b1ca8ff25&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=9243ae6c31c2edc8ad00957a63a3c714&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=9243ae6c31c2edc8ad00957a63a3c714&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=38b0b50796b1dce65fb5d7ffcb75cded&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=38b0b50796b1dce65fb5d7ffcb75cded&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=0ddfa6bb58161e0c0677a0afbf1e3545&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=0ddfa6bb58161e0c0677a0afbf1e3545&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=4c112bd308567aab214b83264c391a87&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=4c112bd308567aab214b83264c391a87&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=a1e7f3f30f17b30403ff60d86e2d2d4e&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=a1e7f3f30f17b30403ff60d86e2d2d4e&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://dayanjia.com/2010/06/toy-story-3-perfect-ending-after-15-years.html/feed</wfw:commentRss><slash:comments>12</slash:comments><description>《玩具总动员》三部曲跨度达到了15年之久。其第一部于1995年上映，作为首部长篇CG电影，获得了极大的成功。第二部曾险些仅仅面向电视市场，但在Pixar的坚持下终于搬上了大屏幕，并成为了为数不多的续作好评甚于首作的电影之一。随后11年中，Pixar在和迪斯尼分分合合的变故中不断壮大，陆续推出的几部CG电影都获得了非常不错的评价。今天，他们终于为这个漫长的故事画上了一个完美的句号。《玩具总动员3》堪称神作，皮克斯真的做到了。 本作在延续前两部作品风格的同时，加入了更多的新角色（大多为反派角色，因为之前的反派全被演说家Woody归正了），拥有更宏大的场景、更搞笑的桥段、更令人震撼的剧情。在众多令人难忘的电影三部曲中，除了《魔戒》系列外，最成功的恐怕就要数《玩具总动员》了。而且这次，中国大陆享受到了额外的“福利”（不是ACFun上的那种），该片在中国的公映时间是最早的，比北美提前了2天。 绝非儿童片那般消遣 中国多数人都有这样一种想法，所谓动画片就是给小孩子看的，而皮克斯常年挥之不去的“总动员”的“低龄”帽子事实上阻碍了更广大年龄段观众对他们作品的了解。皮克斯一直认为，动画片不仅仅是给小孩看的，不同年龄的人会从电影中看出不一样的感觉。或许在他们早期作品中，所谓幼稚的成分居多，但是自从《海底总动员》开始，情况有了大幅的改变，而近些年的《Wall·E》和《飞屋环游记》，更是将动画片的包容度上升到了一个新的台阶。 而这次的《玩具总动员3》，孩子们自然可以从影片中找到欢乐，也能为最后玩具们的九死一生感到刺激。而对于从1995年到2010年同Andy一起长大的人们来说，更多的恐怕是回忆中的童年，记忆深处曾经属于自己的玩具，和当时用玩具们编造的各种神奇故事。或许你能看到弱小的玩具们在面对不可预知的宿命时表现出的无畏的团结；或许你能看到一个善良的人变成一个邪恶的人需要遭受怎样的心理打击；或许你还能从中看到可怕的独裁政权是如何从统治集团内部瓦解的……总之，《玩具总动员3》是一部内涵丰富的电影，我们不应从它的表现形式上来武断地推测内容的受众。 神来之笔（本章有关键剧透） 影片的最后20分钟真可谓是神来之笔，将整部电影升华到了前两部难以企及的高度。在玩具们历经九九八十一磨难后终于回到了Andy家中，本来Woody会跟着Andy去上大学，而其他玩具将被束之阁楼，就此尘封。影片到这里结束，也算是完满了，或许导演还可以加上俗套的黑屏，字幕“十年以后……”，然后镜头切换到Andy的孩子在玩他当年的玩具…… 但是这样何来神作？所以Woody给Andy留了一张纸条，引导他把这些玩具送给阳光幼儿园的小朋友Bonnie，之前Woody在她家留宿一晚，知道她也是个喜爱玩具，会善待玩具的孩子。而Woody偷偷地从上大学的行李中跑出来和其他玩具一起，最后Andy决定将Woody也送给Bonnie。于是我们看到的画面是，Andy向Bonnie一一介绍这些玩具，仿佛又回到了童年。他把牛仔Woody架在脖子上飞奔，他让Buzz Lightyear在空中翱翔，他把的Potato Head夫妇温馨地放在一起，他将三个Aliens一字排开…… 有人说，光凭这最后的20分钟，就足以让这部影片不朽。或许这并没有那么夸张，但是这样完美的结局，让许多观众留下了感动的泪水。皮克斯就是这样，让你在前一分钟笑，在后一分钟哭。 花絮 尤记得在《玩具总动员2》中，大魔头Zurg和Buzz在电梯上恶搞《星球大战》的对话，本作中笑点依旧很多，让我们来略数一二。 西班牙舞者 操作方法：打开巴斯光年的后盖，用尖锐的物品按住Reset按钮至少5秒以上，你就会得到一个会说西班牙语并且有着非凡舞蹈能力的巴斯光年。 百变 Potato Head 作为本作的最佳配角，Mr. Potato Head（中文貌似叫做土豆先生）在电影中拆装零件无数次，同时整过三次容。 口头禅 三部作品中出现最多的口头禅是“To Infinity and Beyond!”（飞向宇宙，浩瀚无限！）。不过本作中又加了一句（其实这一句前作中已经出现过了）：“You have saved our lives. We are eternally grateful!”，来自三个外星小玩偶和Potato Head夫妇。 打酱油的龙猫 Bonnie家中有许多新玩具，其中之一是……嗯？龙猫？宫崎骏内牛满面啊…… eBay = 淘宝？ 在影片的开头，Andy的妈妈问他怎么处理这些玩具。玩具们知道后，存钱猪说：“Come on. Let's go see how much we're going for on eBay”，把我们放到eBay上看看能卖多少钱呢？结果官方版的中文字幕居然把eBay翻译成了“淘宝”……抓墙（这也太不敬业了，要不然就是淘宝给了钱了）…… 延伸阅读：奇妙的世界——《阿凡达》观影心得（下）

&lt;h3&gt;延伸阅读：&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;&lt;a href='http://dayanjia.com/2010/01/something-about-the-movie-avatar-2.html' rel='bookmark' title='Permanent Link: 奇妙的世界——《阿凡达》观影心得（下）'&gt;奇妙的世界——《阿凡达》观影心得（下）&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/405313335/clippit/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/clippit/~7808845/405313335/1226479/1/item.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/clippit/405313335/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/clippit/405313335/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/clippit?a=c41abf78fbab7954c7153ed7a6210fb1&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=c41abf78fbab7954c7153ed7a6210fb1&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=f1e6241b40a09afe1be94c84b1fa775e&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=f1e6241b40a09afe1be94c84b1fa775e&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=135af3c91721d051ba3d47fe9228752d&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=135af3c91721d051ba3d47fe9228752d&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=0f9a92e07d280de769cdc35b1ca8ff25&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=0f9a92e07d280de769cdc35b1ca8ff25&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=9243ae6c31c2edc8ad00957a63a3c714&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=9243ae6c31c2edc8ad00957a63a3c714&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=38b0b50796b1dce65fb5d7ffcb75cded&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=38b0b50796b1dce65fb5d7ffcb75cded&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=0ddfa6bb58161e0c0677a0afbf1e3545&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=0ddfa6bb58161e0c0677a0afbf1e3545&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=4c112bd308567aab214b83264c391a87&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=4c112bd308567aab214b83264c391a87&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=a1e7f3f30f17b30403ff60d86e2d2d4e&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=a1e7f3f30f17b30403ff60d86e2d2d4e&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;/p&gt;</description><category>评论天下</category><category>电影</category><category>首页展示</category><pubDate>Wed, 16 Jun 2010 20:37:28 +0800</pubDate><author>大眼夹</author><comments>http://dayanjia.com/2010/06/toy-story-3-perfect-ending-after-15-years.html#comments</comments><guid isPermaLink="false">http://dayanjia.com/?p=682</guid><dc:creator>大眼夹</dc:creator><fs:srclink>http://dayanjia.com/2010/06/toy-story-3-perfect-ending-after-15-years.html</fs:srclink><fs:srcfeed>http://dayanjia.com/feed</fs:srcfeed><fs:itemid>feedsky/clippit/~7808845/405313335/1226479</fs:itemid></item><item><title>写软文的博客营销</title><link>http://item.feedsky.com/~feedsky/clippit/~7808845/405313336/1226479/1/item.html</link><content:encoded>&lt;p&gt;很久以前，Feedsky搞过一段时间的“话题营销”活动，当时大眼夹的鸟巢还托管在Blogcn上。于是我就写过两三篇所谓的“软文”，当然由于当时的博客比起现在来更没有名气，所以写软文基本也补贴不了多少上网费。昨天，我看到了&lt;a href=&quot;http://www.geekcook.net/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;GeekCook 极客库&lt;/strong&gt;&lt;/a&gt;也搞了这样一个营销活动，博客在Google Reader中的订阅量达到一定数量级后，写一篇关于GeekCook的文章便可以免费得到一件商品。所以在这里我要首先感谢那些订阅者们，你们的热情给了我不倦的动力，让我总有一种冲动把自己的想法，自己的实践与大家分享。&lt;/p&gt;
&lt;p&gt;所谓的社会化媒体营销，有利用Blog进行中心化相对较高的宣传，也可以使用各种SNS服务进行几乎完全去中心化的口口相传。前一种方式带来的价值转换显然更容易评估，但是后一种方式若成功使用往往造成的影响力更大。如今连学校的学生社团搞活动都知道在学校BBS上发帖，在人人网上发日志、分享日志，又何况那些商业公司呢？但是要进行商业的社会化媒体营销，如何让人心甘情愿地去传播你的东西，却要下一番功夫。&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more-674&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;给传播者优惠措施：这种方式最简单了，“拿人钱财，替人消灾”。GeekCook便是采用的这种方式，出了上文提到的根据GR订阅量赠送商品以外，他们还有门槛更低的写Blog免运费活动。&lt;/li&gt;
&lt;li&gt;广告内容足够有创意：这往往用于视频的SNS传播上，例如去年很火的&lt;a title=&quot;Evian Roller Babies international version&quot; href=&quot;http://www.youtube.com/watch?v=XQcVllWpwGs&quot; target=&quot;_blank&quot;&gt;婴儿滑旱冰的广告视频&lt;/a&gt;，让人们在开心的同时心甘情愿地点击了“分享”。&lt;/li&gt;
&lt;li&gt;与公益活动相结合：当年有“你每喝一瓶农夫XX，你就为水源地的贫困孩子捐出了一分钱。”的广告，想必大家都印象深刻吧。不过这样做得坦坦荡荡地公开自己的账目，否则引起争议便有违社会化媒体营销的初衷了（或许有企业也很愿意由负面消息炒作自己？）。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;话说回来，GeekCook上的商品大多是是一些服饰。我看了看，决定还是搞一件Twitter的Tee吧！不过这件衣服是供着还是穿呢？呵呵……&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/25342959@N07/4111087617/&quot;&gt;&lt;img class=&quot;alignnone&quot; title=&quot;Tee: Twitter&quot; src=&quot;http://farm3.static.flickr.com/2709/4111087617_74fa215118_o.jpg&quot; alt=&quot;&quot; width=&quot;500&quot; height=&quot;500&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;没有相关日志&lt;/h3&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/405313336/clippit/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/clippit/~7808845/405313336/1226479/1/item.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/clippit/405313336/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/clippit/405313336/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/clippit?a=3133649ab09c386eddb092242077f501&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=3133649ab09c386eddb092242077f501&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=a76e764b29f18bdac44249b6df07af7b&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=a76e764b29f18bdac44249b6df07af7b&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=4408d37cf8c5b93903c3ff41b9f6da8f&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=4408d37cf8c5b93903c3ff41b9f6da8f&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=a4b4420b4fb0910eaf10930b5a6f9ec4&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=a4b4420b4fb0910eaf10930b5a6f9ec4&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=09290d94a1316284f4e0ffbecb751df3&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=09290d94a1316284f4e0ffbecb751df3&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=93f865581664432ddad0e844d303e110&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=93f865581664432ddad0e844d303e110&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=e7da37bcf710ed3a4e522e0c9d4e9cdb&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=e7da37bcf710ed3a4e522e0c9d4e9cdb&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=0095eb407523f4ee073428076247a0eb&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=0095eb407523f4ee073428076247a0eb&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=ab5c1bae2cec78273d0408255323e1b5&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=ab5c1bae2cec78273d0408255323e1b5&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://dayanjia.com/2010/06/advertorial-in-blog.html/feed</wfw:commentRss><slash:comments>4</slash:comments><description>很久以前，Feedsky搞过一段时间的“话题营销”活动，当时大眼夹的鸟巢还托管在Blogcn上。于是我就写过两三篇所谓的“软文”，当然由于当时的博客比起现在来更没有名气，所以写软文基本也补贴不了多少上网费。昨天，我看到了GeekCook 极客库也搞了这样一个营销活动，博客在Google Reader中的订阅量达到一定数量级后，写一篇关于GeekCook的文章便可以免费得到一件商品。所以在这里我要首先感谢那些订阅者们，你们的热情给了我不倦的动力，让我总有一种冲动把自己的想法，自己的实践与大家分享。 所谓的社会化媒体营销，有利用Blog进行中心化相对较高的宣传，也可以使用各种SNS服务进行几乎完全去中心化的口口相传。前一种方式带来的价值转换显然更容易评估，但是后一种方式若成功使用往往造成的影响力更大。如今连学校的学生社团搞活动都知道在学校BBS上发帖，在人人网上发日志、分享日志，又何况那些商业公司呢？但是要进行商业的社会化媒体营销，如何让人心甘情愿地去传播你的东西，却要下一番功夫。 给传播者优惠措施：这种方式最简单了，“拿人钱财，替人消灾”。GeekCook便是采用的这种方式，出了上文提到的根据GR订阅量赠送商品以外，他们还有门槛更低的写Blog免运费活动。 广告内容足够有创意：这往往用于视频的SNS传播上，例如去年很火的婴儿滑旱冰的广告视频，让人们在开心的同时心甘情愿地点击了“分享”。 与公益活动相结合：当年有“你每喝一瓶农夫XX，你就为水源地的贫困孩子捐出了一分钱。”的广告，想必大家都印象深刻吧。不过这样做得坦坦荡荡地公开自己的账目，否则引起争议便有违社会化媒体营销的初衷了（或许有企业也很愿意由负面消息炒作自己？）。 话说回来，GeekCook上的商品大多是是一些服饰。我看了看，决定还是搞一件Twitter的Tee吧！不过这件衣服是供着还是穿呢？呵呵…… 没有相关日志

&lt;h3&gt;没有相关日志&lt;/h3&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/405313336/clippit/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/clippit/~7808845/405313336/1226479/1/item.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/clippit/405313336/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/clippit/405313336/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/clippit?a=3133649ab09c386eddb092242077f501&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=3133649ab09c386eddb092242077f501&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=a76e764b29f18bdac44249b6df07af7b&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=a76e764b29f18bdac44249b6df07af7b&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=4408d37cf8c5b93903c3ff41b9f6da8f&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=4408d37cf8c5b93903c3ff41b9f6da8f&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=a4b4420b4fb0910eaf10930b5a6f9ec4&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=a4b4420b4fb0910eaf10930b5a6f9ec4&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=09290d94a1316284f4e0ffbecb751df3&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=09290d94a1316284f4e0ffbecb751df3&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=93f865581664432ddad0e844d303e110&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=93f865581664432ddad0e844d303e110&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=e7da37bcf710ed3a4e522e0c9d4e9cdb&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=e7da37bcf710ed3a4e522e0c9d4e9cdb&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=0095eb407523f4ee073428076247a0eb&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=0095eb407523f4ee073428076247a0eb&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=ab5c1bae2cec78273d0408255323e1b5&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=ab5c1bae2cec78273d0408255323e1b5&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;/p&gt;</description><category>网络</category><category>评论天下</category><category>心得</category><category>Social Media</category><pubDate>Thu, 10 Jun 2010 15:06:22 +0800</pubDate><author>大眼夹</author><comments>http://dayanjia.com/2010/06/advertorial-in-blog.html#comments</comments><guid isPermaLink="false">http://dayanjia.com/?p=674</guid><dc:creator>大眼夹</dc:creator><fs:srclink>http://dayanjia.com/2010/06/advertorial-in-blog.html</fs:srclink><fs:srcfeed>http://dayanjia.com/feed</fs:srcfeed><fs:itemid>feedsky/clippit/~7808845/405313336/1226479</fs:itemid></item><item><title>小试Flash CS5开发iPhone应用程序</title><link>http://item.feedsky.com/~feedsky/clippit/~7808845/405313337/1226479/1/item.html</link><content:encoded>&lt;p&gt;Adobe 在他们的 Flash CS5 中加入了将Flash发布为 iPhone/iPod Touch 应用程序的功能。这对广大移动平台的开发者来说本是一件大好事，不过一意孤行的苹果早早地就更新了开发者协议，&lt;a title=&quot;iPhone开发协议禁用Adobe的 Flash-to-iPhone编译器&quot; href=&quot;http://apple.solidot.org/article.pl?sid=10/04/10/0443201&quot; target=&quot;_blank&quot;&gt;严禁第三方跨平台编译器&lt;/a&gt;，仅允许自家Mac OS上使用Objective-C原生编写的程序在App Store上架。这也基本上给Flash等其他开发和编译工具判了死刑。虽说这规定在CS5系列正式发布前几天出台，Adobe猝不及防。不过在广大的越狱机器上，我们可以轻松地安装非官方授权的应用程序。所以这新功能还是有点用武之地的，今天就让我们来看看Flash在iPhone/iPod Touch上的表现。&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more-633&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;在Flash CS5新建文档时，直接选择iPhone OS即可建立320x480尺寸的发布为iPhone应用程序的文件了。除了舞台小一点，和平时使用Flash没什么区别。而专属的iPhone应用程序发布设置，也和AIR平台的发布设置非常类似，有三个选项卡。&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;attachment wp-att-640&quot; href=&quot;http://dayanjia.com/2010/06/use-flash-cs5-for-iphone-application-development.html/flashiphonesetting1&quot;&gt;&lt;img class=&quot;alignnone size-medium wp-image-640&quot; title=&quot;FlashiPhoneSetting1&quot; src=&quot;http://dayanjia.com/wp-content/uploads/2010/06/FlashiPhoneSetting1-238x300.png&quot; alt=&quot;&quot; width=&quot;238&quot; height=&quot;300&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;attachment wp-att-641&quot; href=&quot;http://dayanjia.com/2010/06/use-flash-cs5-for-iphone-application-development.html/flashiphonesettings2&quot;&gt;&lt;img class=&quot;alignnone size-medium wp-image-641&quot; title=&quot;FlashiPhoneSettings2&quot; src=&quot;http://dayanjia.com/wp-content/uploads/2010/06/FlashiPhoneSettings2-238x300.png&quot; alt=&quot;&quot; width=&quot;238&quot; height=&quot;300&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;attachment wp-att-642&quot; href=&quot;http://dayanjia.com/2010/06/use-flash-cs5-for-iphone-application-development.html/flashiphonesettings3&quot;&gt;&lt;img class=&quot;alignnone size-medium wp-image-642&quot; title=&quot;FlashiPhoneSettings3&quot; src=&quot;http://dayanjia.com/wp-content/uploads/2010/06/FlashiPhoneSettings3-238x300.png&quot; alt=&quot;&quot; width=&quot;238&quot; height=&quot;300&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;设置选项中可以指定应用程序的名称、屏幕方向等，还可以指定图标。值得一提的是，想要真正发布ipa文件，你需要拥有Apple给开发者的数字证书和Provision Profiles。这个东东要在Apple的开发者网站上注册并且付费$99后才会获得（Adobe这不是热脸贴了Apple的冷屁股嘛~）。好在我们有专供测试用的文件，大家可以&lt;a href=&quot;http://dayanjia.com/wp-content/uploads/2010/06/p12.zip&quot;&gt;点击这里下载&lt;/a&gt;，证书密码是1234。这里还有一个iPhone部署类型的选项，前两个是用来进行终端测试的，执行的效率可能会比后面两种低一些。&lt;/p&gt;
&lt;h2&gt;Demo&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;http://dayanjia.com/wp-content/uploads/2010/06/FlashiPhoneDemo1.png&quot;&gt;&lt;img class=&quot;alignleft size-thumbnail wp-image-646&quot; title=&quot;FlashiPhoneDemo1&quot; src=&quot;http://dayanjia.com/wp-content/uploads/2010/06/FlashiPhoneDemo1-124x200.png&quot; alt=&quot;&quot; width=&quot;124&quot; height=&quot;200&quot; /&gt;&lt;/a&gt; 为了测试，我做了一个两帧的Demo程序。大家可以在&lt;a title=&quot;Flash CS5 iPhone App Demo&quot; href=&quot;http://code.google.com/p/clippit/downloads/detail?name=FlashCS5iPhoneAppDemo.fla&amp;amp;can=2&amp;amp;q=#makechanges&quot; target=&quot;_blank&quot;&gt;这里下载到fla源文件&lt;/a&gt;。Flash生成ipa文件时花费的事件很长，有兴趣的可以&lt;a title=&quot;Flash CS5 iPhone App Demo (ipa)&quot; href=&quot;http://code.google.com/p/clippit/downloads/detail?name=Clippit%20Demo.ipa&amp;amp;can=2&amp;amp;q=#makechanges&quot; target=&quot;_blank&quot;&gt;点击这里下载ipa文件&lt;/a&gt;实机测试。&lt;/p&gt;
&lt;h3&gt;Frame 1&lt;/h3&gt;
&lt;p&gt;第一帧上有个简单的动画和三个交互的按钮，按了按钮后会在上方显示该按钮实例的名称并播放一个音效，当然还有一个前往下一个画面的按钮。这一页大约算一个Hello World吧，因为都是用的非常基本的功能，例如动画的显示，简单的按钮交互等等。ActionScript 3 代码自然不长，如下：&lt;/p&gt;
&lt;pre class=&quot;brush: as3;&quot;&gt;
import flash.events.Event;
import flash.media.Sound;

stop();

btn1.addEventListener(MouseEvent.CLICK,btnClick);
btn2.addEventListener(MouseEvent.CLICK,btnClick);
btn3.addEventListener(MouseEvent.CLICK,btnClick);
nextBtn.addEventListener(MouseEvent.CLICK,testPage);

function btnClick(e:Event):void {
	var s:Sound = new MouseClickSound;
	s.play();
	text.text = e.target.name + &amp;quot; Clicked!&amp;quot;;
}

function testPage(e:Event):void {
	nextFrame();
}
&lt;/pre&gt;
&lt;h3&gt;&lt;a href=&quot;http://dayanjia.com/wp-content/uploads/2010/06/FlashiPhoneDemo2.png&quot;&gt;&lt;img class=&quot;alignleft size-thumbnail wp-image-651&quot; title=&quot;FlashiPhoneDemo2&quot; src=&quot;http://dayanjia.com/wp-content/uploads/2010/06/FlashiPhoneDemo2-124x200.png&quot; alt=&quot;&quot; width=&quot;124&quot; height=&quot;200&quot; /&gt;&lt;/a&gt;Frame 2&lt;/h3&gt;
&lt;p&gt;第二帧其实是一个简单的Benchmark，我主要是想看看iPhone平台上的Flash能跑多快。据我观察，这其实可以看做是iPhone平台的AIR移动设备应用程序，也就是和J2ME类似的，是运行在虚拟机中的。Flash很可能是做了一个iPhone平台的Flash Player然后让swf在里面播放。这样效率如何真的就拿捏不准了。Benchmark有三项作业，第一是在舞台随机位置上绘制10000个静态的MovieClip，第二是将它们从舞台上去除，第三是计算1000000个0-10000之间整数的和。我在电脑上的测试环境中的结果详见左边的截图。该帧的AS如下：&lt;/p&gt;
&lt;pre class=&quot;brush: as3;&quot;&gt;
import flash.events.Event;
import flash.text.TextField;
import flash.utils.getTimer;

startBtn.addEventListener(MouseEvent.CLICK,startTest);

function startTest(e:Event):void {
	var i:int;
	var time1 = getTimer();
	results.appendText(&amp;quot;Test Started!\n&amp;quot;);

	var c:Array = new Array(10000);
	for (i=0; i&amp;lt;10000; i++) {
		c[i] = new ico();
		c[i].x = Math.random() * 320;
		c[i].y = Math.random() * 480;
		addChild(c[i]);
	}
	var time2 = getTimer();
	results.appendText(&amp;quot;Add 10000 MovieClip: &amp;quot;+ (time2-time1)+&amp;quot;ms\n&amp;quot;);

	for (i=0; i&amp;lt;10000; i++) {
		removeChild(c[i]);
	}
	c = null;
	var time3 = getTimer();
	results.appendText(&amp;quot;Remove 10000 MovieClip: &amp;quot;+ (time3-time2)+&amp;quot;ms\n&amp;quot;);

	var sum:Number = 0;
	for (i=0; i&amp;lt;1000000; i++) {
		sum +=  Math.ceil(Math.random() * 10000);
	}
	results.appendText(&amp;quot;1000000 random integers' sum: \n&amp;quot;);
	var time4 = getTimer();
	results.appendText(sum+&amp;quot;, time: &amp;quot;+(time4-time3)+&amp;quot;ms\n\n&amp;quot;);
}
&lt;/pre&gt;
&lt;h2&gt;部署应用&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;http://dayanjia.com/wp-content/uploads/2010/06/IMG_0036-e1275667021355.png&quot;&gt;&lt;img class=&quot;alignright size-full wp-image-660&quot; title=&quot;IMG_0036&quot; src=&quot;http://dayanjia.com/wp-content/uploads/2010/06/IMG_0036-e1275667021355.png&quot; alt=&quot;&quot; width=&quot;236&quot; height=&quot;278&quot; /&gt;&lt;/a&gt;生成ipa文件后，你可以用各种方法将其安装到iPhone/iPod Touch中，比如可以用iTunes同步（要打过同步破解补丁的机器才行），也可以用无线或者蓝牙把文件传到机器上用&lt;a href=&quot;http://dayanjia.com/2010/02/10-apps-you-should-install-after-jailbreak-your-ipod-touch-or-iphone.html&quot; target=&quot;_blank&quot;&gt;Install0us&lt;/a&gt;安装。这时它就和普通的iPhone应用程序没什么区别了，可以看到它的图标，点击打开。下面两张图就是在我的iPod Touch上实际运行的截图，这里可以看到那个Benchmark的时间——果然和PC平台的处理器差的不是一点两点啊！&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://dayanjia.com/wp-content/uploads/2010/06/IMG_0038.png&quot;&gt;&lt;img class=&quot;alignnone size-full wp-image-661&quot; title=&quot;IMG_0038&quot; src=&quot;http://dayanjia.com/wp-content/uploads/2010/06/IMG_0038.png&quot; alt=&quot;&quot; width=&quot;320&quot; height=&quot;480&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://dayanjia.com/wp-content/uploads/2010/06/IMG_0039.png&quot;&gt;&lt;img class=&quot;alignnone size-full wp-image-662&quot; title=&quot;IMG_0039&quot; src=&quot;http://dayanjia.com/wp-content/uploads/2010/06/IMG_0039.png&quot; alt=&quot;&quot; width=&quot;320&quot; height=&quot;480&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;通过截图可以看到，Flash的渲染质量还是不错的。不错这个效率实在是不敢恭维，在第一帧上，按下那三个按钮后会播放一个音效，这时上面的动画就会卡一下。至于第二帧的Benchmark，不提了……&lt;/p&gt;
&lt;h2&gt;更多资源&lt;/h2&gt;
&lt;p&gt;至此，Flash CS5开发iPhone应用程序的小小尝试就差不多了。大家知道，iPhone/iPod Touch最吸引人的交互方式是重力感应和多点触控。当然，在ActionScript 3中也有对它们的支持。在flash.sensors包中，有用于重力感应的&lt;a href=&quot;http://help.adobe.com/zh_CN/Flash/CS5/AS3LR/flash/sensors/Accelerometer.html&quot; target=&quot;_blank&quot;&gt;Accelerometer&lt;/a&gt;类和用于GPS位置识别的&lt;a href=&quot;http://help.adobe.com/zh_CN/Flash/CS5/AS3LR/flash/sensors/Geolocation.html&quot; target=&quot;_blank&quot;&gt;Geolocation&lt;/a&gt;类。而利用&lt;a href=&quot;http://help.adobe.com/zh_CN/Flash/CS5/AS3LR/flash/ui/Multitouch.html&quot; target=&quot;_blank&quot;&gt;flash.ui.Multiouch&lt;/a&gt;也可以轻松地让Flash程序支持多点触控。&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #999999;&quot;&gt;乐铺活动验证&lt;/span&gt;&lt;/p&gt;


&lt;h3&gt;延伸阅读：&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;&lt;a href='http://dayanjia.com/2010/02/10-apps-you-should-install-after-jailbreak-your-ipod-touch-or-iphone.html' rel='bookmark' title='Permanent Link: iPod Touch / iPhone 越狱后必装的 10 款软件'&gt;iPod Touch / iPhone 越狱后必装的 10 款软件&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/405313337/clippit/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/clippit/~7808845/405313337/1226479/1/item.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/clippit/405313337/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/clippit/405313337/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/clippit?a=e3b7f1e202469a6f8a7cd21de0d6532f&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=e3b7f1e202469a6f8a7cd21de0d6532f&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=b0bc12b5a79e2ed6825cb0eeb1ad6bdc&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=b0bc12b5a79e2ed6825cb0eeb1ad6bdc&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=2aa17e9c5f428d6c11eeac633119d0d7&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=2aa17e9c5f428d6c11eeac633119d0d7&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=ddd491f47702718c4727be49191b5bc2&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=ddd491f47702718c4727be49191b5bc2&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=146c8d8e872bb115982a89685aab76e8&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=146c8d8e872bb115982a89685aab76e8&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=1ce261428c74341fd114e85c439b08c4&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=1ce261428c74341fd114e85c439b08c4&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=ce109ebc9bd6f05d4c0ac699064e7336&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=ce109ebc9bd6f05d4c0ac699064e7336&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=c95ab29c12339a6e96529f4eef49275d&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=c95ab29c12339a6e96529f4eef49275d&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=554fc3e024a5a209385d4f778b098a28&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=554fc3e024a5a209385d4f778b098a28&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://dayanjia.com/2010/06/use-flash-cs5-for-iphone-application-development.html/feed</wfw:commentRss><slash:comments>14</slash:comments><description>Adobe 在他们的 Flash CS5 中加入了将Flash发布为 iPhone/iPod Touch 应用程序的功能。这对广大移动平台的开发者来说本是一件大好事，不过一意孤行的苹果早早地就更新了开发者协议，严禁第三方跨平台编译器，仅允许自家Mac OS上使用Objective-C原生编写的程序在App Store上架。这也基本上给Flash等其他开发和编译工具判了死刑。虽说这规定在CS5系列正式发布前几天出台，Adobe猝不及防。不过在广大的越狱机器上，我们可以轻松地安装非官方授权的应用程序。所以这新功能还是有点用武之地的，今天就让我们来看看Flash在iPhone/iPod Touch上的表现。 在Flash CS5新建文档时，直接选择iPhone OS即可建立320x480尺寸的发布为iPhone应用程序的文件了。除了舞台小一点，和平时使用Flash没什么区别。而专属的iPhone应用程序发布设置，也和AIR平台的发布设置非常类似，有三个选项卡。 设置选项中可以指定应用程序的名称、屏幕方向等，还可以指定图标。值得一提的是，想要真正发布ipa文件，你需要拥有Apple给开发者的数字证书和Provision Profiles。这个东东要在Apple的开发者网站上注册并且付费$99后才会获得（Adobe这不是热脸贴了Apple的冷屁股嘛~）。好在我们有专供测试用的文件，大家可以点击这里下载，证书密码是1234。这里还有一个iPhone部署类型的选项，前两个是用来进行终端测试的，执行的效率可能会比后面两种低一些。 Demo 为了测试，我做了一个两帧的Demo程序。大家可以在这里下载到fla源文件。Flash生成ipa文件时花费的事件很长，有兴趣的可以点击这里下载ipa文件实机测试。 Frame 1 第一帧上有个简单的动画和三个交互的按钮，按了按钮后会在上方显示该按钮实例的名称并播放一个音效，当然还有一个前往下一个画面的按钮。这一页大约算一个Hello World吧，因为都是用的非常基本的功能，例如动画的显示，简单的按钮交互等等。ActionScript 3 代码自然不长，如下： import flash.events.Event; import flash.media.Sound; stop(); btn1.addEventListener(MouseEvent.CLICK,btnClick); btn2.addEventListener(MouseEvent.CLICK,btnClick); btn3.addEventListener(MouseEvent.CLICK,btnClick); nextBtn.addEventListener(MouseEvent.CLICK,testPage); function btnClick(e:Event):void { var s:Sound = new MouseClickSound; s.play(); text.text = e.target.name + &amp;#34; Clicked!&amp;#34;; } function testPage(e:Event):void { nextFrame(); } Frame ...

&lt;h3&gt;延伸阅读：&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;&lt;a href='http://dayanjia.com/2010/02/10-apps-you-should-install-after-jailbreak-your-ipod-touch-or-iphone.html' rel='bookmark' title='Permanent Link: iPod Touch / iPhone 越狱后必装的 10 款软件'&gt;iPod Touch / iPhone 越狱后必装的 10 款软件&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/405313337/clippit/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/clippit/~7808845/405313337/1226479/1/item.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/clippit/405313337/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/clippit/405313337/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/clippit?a=e3b7f1e202469a6f8a7cd21de0d6532f&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=e3b7f1e202469a6f8a7cd21de0d6532f&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=b0bc12b5a79e2ed6825cb0eeb1ad6bdc&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=b0bc12b5a79e2ed6825cb0eeb1ad6bdc&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=2aa17e9c5f428d6c11eeac633119d0d7&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=2aa17e9c5f428d6c11eeac633119d0d7&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=ddd491f47702718c4727be49191b5bc2&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=ddd491f47702718c4727be49191b5bc2&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=146c8d8e872bb115982a89685aab76e8&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=146c8d8e872bb115982a89685aab76e8&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=1ce261428c74341fd114e85c439b08c4&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=1ce261428c74341fd114e85c439b08c4&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=ce109ebc9bd6f05d4c0ac699064e7336&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=ce109ebc9bd6f05d4c0ac699064e7336&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=c95ab29c12339a6e96529f4eef49275d&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=c95ab29c12339a6e96529f4eef49275d&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=554fc3e024a5a209385d4f778b098a28&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=554fc3e024a5a209385d4f778b098a28&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;/p&gt;</description><category>Flash</category><category>技术文章</category><category>iPhone</category><category>首页展示</category><category>iPodTouch</category><pubDate>Sat, 05 Jun 2010 00:22:04 +0800</pubDate><author>大眼夹</author><comments>http://dayanjia.com/2010/06/use-flash-cs5-for-iphone-application-development.html#comments</comments><guid isPermaLink="false">http://dayanjia.com/?p=633</guid><dc:creator>大眼夹</dc:creator><fs:srclink>http://dayanjia.com/2010/06/use-flash-cs5-for-iphone-application-development.html</fs:srclink><fs:srcfeed>http://dayanjia.com/feed</fs:srcfeed><fs:itemid>feedsky/clippit/~7808845/405313337/1226479</fs:itemid></item><item><title>拿生命作赌注</title><link>http://item.feedsky.com/~feedsky/clippit/~7808845/405313338/1226479/1/item.html</link><content:encoded>&lt;p&gt;当我们用iPod听音乐、用MacBook上网，用iPhone打电话的时候，你可曾想过：这些产品凝聚着世界上最顶尖的工业设计，拥有世界上最一流的用户体验，却是由我们的同胞用血汗换来，甚至用生命铸成的？&lt;/p&gt;
&lt;p&gt;这似乎有些言重了，但是今晨来自富士康的“&lt;a title=&quot; Foxconn CEO vows to beef up safety, followed by another death&quot; href=&quot;http://news.xinhuanet.com/english2010/china/2010-05/27/c_13317650.htm&quot; target=&quot;_blank&quot;&gt;第12跳&lt;/a&gt;”还是不免让人唏嘘。或许很多人都已经麻木了吧，多跳了一个员工在他们眼里就是统计数字加一而已，于是人们开始戏谑，开始调侃，开始&lt;a title=&quot;富士康 打一个日本漫画杂志&quot; href=&quot;http://www.hexieshe.com/Jimmy/627349.html&quot; target=&quot;_blank&quot;&gt;出谜语&lt;/a&gt;……&lt;/p&gt;
&lt;p&gt;2008年，一位英国人惊奇地发现&lt;a title=&quot;iPhone 3G - already with pictures ! (aka &amp;quot;iPhone Girl&amp;quot;)&quot; href=&quot;http://forums.macrumors.com/showthread.php?t=547777&quot; target=&quot;_blank&quot;&gt;自己购买的全新iPhone中存有三张来自生产线的照片&lt;/a&gt;，iPhone Girl从此红遍全球，让无数苹果迷折服。两年后的今天，再次引起人们关注这一家苹果最大代工厂的，却是数具员工的冰冷尸体。&lt;/p&gt;
&lt;p&gt;富士康和华为，在中国是齐名的两家企业。之所以说“齐名”，恐怕都源自那种独有的对员工的巨大压力吧，或者说得好听一些，叫做“企业文化”。前几年，华为员工过劳死和自杀的新闻频频见诸报端，但低调行事的任正非渐渐地把它们平息。如今富士康员工在半年内12人自杀，仅5月一个月就有6人轻生，这样的数字让人震惊。人们不禁重新开始审视这样的“企业文化”究竟意味着什么。&lt;span id=&quot;more-623&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;这两家企业的管理之严格，我并没有亲见，但是上学期 &lt;a href=&quot;https://twitter.com/dongshao&quot; target=&quot;_blank&quot;&gt;@dongshao&lt;/a&gt; 老师的介绍给我留下了深深的印象。他说有一次他们一行人要到富士康开会，结果被告知身上的所有个人物品都不能带进厂区，进入厂区需要换他们提供的衣服。后来他们放弃了进厂区开会，改到了附近的一个地点。&lt;/p&gt;
&lt;p&gt;如今富士康的连环自杀事件再次让我认识了它。&lt;strong&gt;一个人自杀，多是出于个人的原因，但是选择在工作场所自杀，却代表着一种呼救，一种声嘶力竭的无助呼救。&lt;/strong&gt;是什么原因让他们敢于放弃自己，放弃家人，放弃这个世界，我不知道，但是他们都选择在厂区的宿舍楼终结自己，这必定和公司有着千丝万缕的联系。&lt;span style=&quot;color: #ff0000;&quot;&gt;或许他们有人是出于&lt;/span&gt;&lt;a title=&quot;自杀模仿&quot; href=&quot;http://zh.wikipedia.org/zh-cn/%E8%87%AA%E6%AE%BA%E6%A8%A1%E4%BB%BF&quot; target=&quot;_blank&quot;&gt;维特效应&lt;/a&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;而模仿自杀，或许他们因觉得维权无门而绝望，或许他们只是疯狂地用自己的生命作赌注，试图唤醒企业园区围墙之外的人们。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;无独有偶，在2008年至2010年的两年间，法国电信也出现了员工集体自杀的事件，数量甚至达到了34起。法国电信的员工同样面对着巨大的工作压力——被迫地调整工作岗位或被降职，不断被要求加快工作进度……最终，法国劳工部发起了调查，迫使其CEO下台以平民愤。富士康的问题显然比法国电信更加复杂。富士康有将近100万的员工，企业园区已然相当于一个小型城市。&lt;strong&gt;如何让员工感到自己生活在城市中而不是生活在公司中&lt;/strong&gt;，或许比建几个泄愤中心、放几个心理咨询点，甚至是签署“不自杀协议”这样的荒唐事显得更加行之有效。&lt;/p&gt;
&lt;p&gt;中国是世界工厂，当我们享受着高科技带来的便利时，甚少去想到真正装配这些产品的人们——他们处在社会的最底层，甚至不知道手中的产品凝聚了世界最顶尖的技术。正所谓一流企业定标准，二流企业做设计，三流企业搞外包——何时我们的企业才能真正走出三流企业的行列呢？这扯得有点远了，但富士康也许仅仅是中国代工企业的一个缩影，还有更多的企业，他们的员工过着和富士康类似的日子……&lt;/p&gt;
&lt;p style=&quot;text-align: right;&quot;&gt;这篇文章没什么逻辑，谨以纪念那逝去的灵魂。&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;strong&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&lt;span style=&quot;color: #800000;&quot;&gt;PS：大眼夹的鸟巢即将使用FeedBurner提供订阅服务，劳烦各位检查下订阅地址是否为&lt;/span&gt;&lt;a href=&quot;http://feed.dayanjia.com&quot;&gt;&lt;span style=&quot;color: #800000;&quot;&gt;http://feed.dayanjia.com&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #800000;&quot;&gt;，如果改过来即可。一般来说新读者无需修改，老读者请注意一下，谢谢！&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;
乐铺活动验证&lt;/p&gt;


&lt;h3&gt;没有相关日志&lt;/h3&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/405313338/clippit/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/clippit/~7808845/405313338/1226479/1/item.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/clippit/405313338/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/clippit/405313338/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/clippit?a=86590d698de4459b4ae81d52baa3f191&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=86590d698de4459b4ae81d52baa3f191&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=b02216b483631c957918cbc3296376b3&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=b02216b483631c957918cbc3296376b3&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=5eb8ff7fe4b151d0a04ce96ac75ffa1a&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=5eb8ff7fe4b151d0a04ce96ac75ffa1a&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=01451674e3fb3d07eeb85fc006890583&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=01451674e3fb3d07eeb85fc006890583&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=2464f3aacff868ce71e0cf67bdedd66c&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=2464f3aacff868ce71e0cf67bdedd66c&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=f44340fca788a2e9b75cbdc1c7022f97&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=f44340fca788a2e9b75cbdc1c7022f97&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=b33ac192be750a5c5c15f8650cb1ce42&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=b33ac192be750a5c5c15f8650cb1ce42&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=df2050ca93b1d72c0bf7a5239a7e1672&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=df2050ca93b1d72c0bf7a5239a7e1672&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=05c4b35e44b0062b7054319a4b073ce9&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=05c4b35e44b0062b7054319a4b073ce9&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://dayanjia.com/2010/05/take-life-as-a-bet.html/feed</wfw:commentRss><slash:comments>4</slash:comments><description>当我们用iPod听音乐、用MacBook上网，用iPhone打电话的时候，你可曾想过：这些产品凝聚着世界上最顶尖的工业设计，拥有世界上最一流的用户体验，却是由我们的同胞用血汗换来，甚至用生命铸成的？ 这似乎有些言重了，但是今晨来自富士康的“第12跳”还是不免让人唏嘘。或许很多人都已经麻木了吧，多跳了一个员工在他们眼里就是统计数字加一而已，于是人们开始戏谑，开始调侃，开始出谜语…… 2008年，一位英国人惊奇地发现自己购买的全新iPhone中存有三张来自生产线的照片，iPhone Girl从此红遍全球，让无数苹果迷折服。两年后的今天，再次引起人们关注这一家苹果最大代工厂的，却是数具员工的冰冷尸体。 富士康和华为，在中国是齐名的两家企业。之所以说“齐名”，恐怕都源自那种独有的对员工的巨大压力吧，或者说得好听一些，叫做“企业文化”。前几年，华为员工过劳死和自杀的新闻频频见诸报端，但低调行事的任正非渐渐地把它们平息。如今富士康员工在半年内12人自杀，仅5月一个月就有6人轻生，这样的数字让人震惊。人们不禁重新开始审视这样的“企业文化”究竟意味着什么。 这两家企业的管理之严格，我并没有亲见，但是上学期 @dongshao 老师的介绍给我留下了深深的印象。他说有一次他们一行人要到富士康开会，结果被告知身上的所有个人物品都不能带进厂区，进入厂区需要换他们提供的衣服。后来他们放弃了进厂区开会，改到了附近的一个地点。 如今富士康的连环自杀事件再次让我认识了它。一个人自杀，多是出于个人的原因，但是选择在工作场所自杀，却代表着一种呼救，一种声嘶力竭的无助呼救。是什么原因让他们敢于放弃自己，放弃家人，放弃这个世界，我不知道，但是他们都选择在厂区的宿舍楼终结自己，这必定和公司有着千丝万缕的联系。或许他们有人是出于维特效应而模仿自杀，或许他们因觉得维权无门而绝望，或许他们只是疯狂地用自己的生命作赌注，试图唤醒企业园区围墙之外的人们。 无独有偶，在2008年至2010年的两年间，法国电信也出现了员工集体自杀的事件，数量甚至达到了34起。法国电信的员工同样面对着巨大的工作压力——被迫地调整工作岗位或被降职，不断被要求加快工作进度……最终，法国劳工部发起了调查，迫使其CEO下台以平民愤。富士康的问题显然比法国电信更加复杂。富士康有将近100万的员工，企业园区已然相当于一个小型城市。如何让员工感到自己生活在城市中而不是生活在公司中，或许比建几个泄愤中心、放几个心理咨询点，甚至是签署“不自杀协议”这样的荒唐事显得更加行之有效。 中国是世界工厂，当我们享受着高科技带来的便利时，甚少去想到真正装配这些产品的人们——他们处在社会的最底层，甚至不知道手中的产品凝聚了世界最顶尖的技术。正所谓一流企业定标准，二流企业做设计，三流企业搞外包——何时我们的企业才能真正走出三流企业的行列呢？这扯得有点远了，但富士康也许仅仅是中国代工企业的一个缩影，还有更多的企业，他们的员工过着和富士康类似的日子…… 这篇文章没什么逻辑，谨以纪念那逝去的灵魂。 PS：大眼夹的鸟巢即将使用FeedBurner提供订阅服务，劳烦各位检查下订阅地址是否为http://feed.dayanjia.com，如果改过来即可。一般来说新读者无需修改，老读者请注意一下，谢谢！ 乐铺活动验证 没有相关日志

&lt;h3&gt;没有相关日志&lt;/h3&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/405313338/clippit/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/clippit/~7808845/405313338/1226479/1/item.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/clippit/405313338/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/clippit/405313338/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/clippit?a=86590d698de4459b4ae81d52baa3f191&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=86590d698de4459b4ae81d52baa3f191&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=b02216b483631c957918cbc3296376b3&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=b02216b483631c957918cbc3296376b3&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=5eb8ff7fe4b151d0a04ce96ac75ffa1a&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=5eb8ff7fe4b151d0a04ce96ac75ffa1a&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=01451674e3fb3d07eeb85fc006890583&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=01451674e3fb3d07eeb85fc006890583&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=2464f3aacff868ce71e0cf67bdedd66c&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=2464f3aacff868ce71e0cf67bdedd66c&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=f44340fca788a2e9b75cbdc1c7022f97&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=f44340fca788a2e9b75cbdc1c7022f97&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=b33ac192be750a5c5c15f8650cb1ce42&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=b33ac192be750a5c5c15f8650cb1ce42&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=df2050ca93b1d72c0bf7a5239a7e1672&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=df2050ca93b1d72c0bf7a5239a7e1672&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/clippit?a=05c4b35e44b0062b7054319a4b073ce9&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/clippit?i=05c4b35e44b0062b7054319a4b073ce9&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;/p&gt;</description><category>IT产业</category><category>苹果</category><category>评论天下</category><pubDate>Thu, 27 May 2010 18:00:32 +0800</pubDate><author>大眼夹</author><comments>http://dayanjia.com/2010/05/take-life-as-a-bet.html#comments</comments><guid isPermaLink="false">http://dayanjia.com/?p=623</guid><dc:creator>大眼夹</dc:creator><fs:srclink>http://dayanjia.com/2010/05/take-life-as-a-bet.html</fs:srclink><fs:srcfeed>http://dayanjia.com/feed</fs:srcfeed><fs:itemid>feedsky/clippit/~7808845/405313338/1226479</fs:itemid></item></channel></rss>