<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feed.feedsky.com/styles/temp01.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://feed.feedsky.com/kono" type="application/rss+xml" ref="self"></atom:link><fs:self_link href="http://feed.feedsky.com/kono" type="application/rss+xml"></fs:self_link><lastBuildDate>Tue, 06 May 2008 09:05:32 GMT</lastBuildDate><title>圣叹</title><description>我们面对现实.我们忠于理想</description><link>http://www.moorwind.com/index.php</link><language>zh-cn</language><copyright>圣叹</copyright><dc:language>zh-cn</dc:language><dc:rights>圣叹</dc:rights><item><title>不放过一切可以“喷”的机会</title><link>http://item.feedsky.com/~feedsky/kono/~6094927/71660949/4202723/1/item.html</link><description>把成都/广州的内容又“喷”了一回，单独录了下来，哈哈哈：&lt;br/&gt;&lt;object width=&quot;400&quot; height=&quot;300&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.tudou.com/v/rKAs4RekaEE&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.tudou.com/v/rKAs4RekaEE&quot; type=&quot;application/x-shockwave-flash&quot; width=&quot;400&quot; height=&quot;300&quot; allowFullScreen=&quot;true&quot; wmode=&quot;transparent&quot; allowScriptAccess=&quot;always&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br/&gt;&lt;br/&gt;各位看官注意了，此视频24:00至24:33区间的内容少儿不宜，慎重，慎重。&lt;br/&gt;&lt;br/&gt;--以下转载自孟岩的《&lt;a href=&quot;http://blog.csdn.net/myan/archive/2008/05/05/2392963.aspx&quot; target=&quot;_blank&quot;&gt;开放API时代，把心思放在应用上&lt;/a&gt;》&lt;br/&gt;这两天最引人关注的IT新闻毫无疑问就是微软的撤单。不管怎么说，微软收购雅虎如果最终失败，是一件令人遗憾的事情，这意味着互联网产业的基本格局短期内不会有大的变化，微软短期内也不会有大的变化。尽管购并成功会给微软带来文化整合等一系列新的挑战和风险，但是我还是认为，在互联网生态系统即将发生重大变化的前夕，不变是更大的风险。&lt;br/&gt;&lt;br/&gt;互联网技术领域永远都在同时发生着多项变化。就拿眼前来说，至少有下面这么几件事情值得我们技术人员关注：PHP、Ruby on Rails和Python等脚本语言在服务端的崛起，REST体系结构的走红，Flex/Silverlight等第二代RIA技术的成长，虚拟机技术在服务器领域的应用，3D互联网等等。但是毫无疑问，最引人瞩目的变化还是以大型互联网社区开放API，因为这件事情具有改写整个互联网游戏规则的力量。&lt;br/&gt;&lt;br/&gt;两个月前我们去硅谷出差的时候，造访了总部位于旧金山市区的Slide.com。这家成立于2005年的公司围绕MySpace、Facebook等大型社区网站开发图片应用，其中FunWall是Facebook上的第一大应用，在一年多的时间里成为月访问量1.44亿，拥有1500万会员，广告收益丰厚的巨大社区。而他们看上去仍然只是一个仅有100多名雇员，几十台服务器，和用着Python轻松编程的敏捷公司。在那里我看到一个跟以往完全不同的模式，你不需要巨大的市场宣传投入，不需要从零开始一点点构建服务器集群，整天挖空心思想着还要增加什么新功能新栏目，几万几万地积累会员，还要呕心沥血地管理他们，你只需要有一个好的想法，形成一个应用，就可以借助SNS网站的开放API在很短时间内获得大量的用户，并且带来可观的广告收入。&lt;br/&gt;&lt;br/&gt;我认为这种新的模式具有巨大的能量，可以彻底改变互联网社区的思路和想法。一部分人专心专意把基础服务做好，并且开放出来，另一部分人专心专意理解用户的需求，把应用做得尽可能贴心，这个总体来讲是符合分工原则的，是好的变化，但也是对所有人的挑战。做社区的人不用挖空心思琢磨如何开发好的产品来吸引最终用户了，但是却得把平台做好，把API设计好，而且要想方设法吸引开发者来参与应用开发，否则很难生存下去。而有应用想法的开发者则不用拉出一条长长的战线，去关心诸如服务器系统配置和数据库调优等劳什子问题了。&lt;br/&gt;&lt;br/&gt;好消息是，大多数开发者无疑是属于应用开发者的，对他们来说，所需要掌握的技术会逐渐收敛，不需要像过去一样什么都要会一点。坏消息是，你要对应用有更好的理解和把握，这一点会变得比技术更重要。说老实话，我认为这对大多数中国的开发者来说是个巨大的挑战。&lt;br/&gt;&lt;br/&gt;中国开发者的一个大的特点就是对技术痴迷的同时不食人间烟火，整天津津乐道的就是那些算法、数据结构、设计模式、语言技巧、技术规范，对于普通老百姓关心的东西一概没有兴趣。我们中的大部分人对于时尚、化妆品、小资情调嗤之以鼻，对于电影、音乐、艺术、美食一知半解，对于地产、金融、法律知识一窍不通，对于一个普通老百姓市场生活中所能遇到的困难和问题，所追求的那一点享受和乐趣不闻不问，既不愿意亲身实践，更在主观心态上予以拒斥。策划产品的时候全凭感觉，结果呢，做出来的东西千篇一律，看上去什么都有，一用起来处处不贴心。究其根源，就在于我们太专业，把太多的时间用来围着电脑转，根本上缺少对于生活和需求的深刻体察，对于人的关怀。在企业软件领域，我们把这种情况称之为“不了解业务”，现在整个企业软件领域都在寻找“懂技术，通业务”的复合型人才，殊不知在大众软件和公众互联网领域，这种情况同样严重。我就经常感觉，就算是MP3播放器、电子书、网络论坛这样最最平常的应用，一旦加上具体应用背景，放在具体场合下，就有很多地方显得不方便，不贴心。这正是上述问题的一个体现。&lt;br/&gt;&lt;br/&gt;随着Facebook和Google、MySpace为首的OpenSocial联盟在OpenAPI领域的快速进展，我相信我上面所描述的互联网新格局不需要很长时间就可以到来，同时，国内外的大型社区也一定会尽快地开发自己的API，争夺数量有限的应用开发者。这种局面形成之后，对普通应用开发者来说，一个新的机会窗口就会打开，我们会看到一批新的成功者。这一代人应当与以前是不同的，他们应当深刻地理解人的需求，设计出真正贴心好用的应用，而不单是靠技术去做一些想当然的平庸应用。&lt;br/&gt;&lt;br/&gt;顺便给CSDN与MySpace中国合作的“聚友 MySpace.cn开放平台（创意与编程）大赛”做一个广告。MySpace.cn在中国可能是第一个全面支持OpenSocial的大型社区，我在今年“CSDN英雄会”上与MySpace中国CTO谭晓生先生谈到他们的OpenAPI计划，看得出来他们在这个方向上有远大的抱负，目前的技术实现也是国内领先的。如果你对新的互联网应用模型感兴趣，不妨去体验一下，看看未来的互联网应用开发会是个什么样子。&lt;br/&gt;Tags - &lt;a href=&quot;http://www.moorwind.com/tag.php?tag=video&quot; rel=&quot;tag&quot;&gt;video&lt;/a&gt; , &lt;a href=&quot;http://www.moorwind.com/tag.php?tag=lecture&quot; rel=&quot;tag&quot;&gt;lecture&lt;/a&gt; , &lt;a href=&quot;http://www.moorwind.com/tag.php?tag=myspace&quot; rel=&quot;tag&quot;&gt;myspace&lt;/a&gt; , &lt;a href=&quot;http://www.moorwind.com/tag.php?tag=devjam&quot; rel=&quot;tag&quot;&gt;devjam&lt;/a&gt;</description><category>OpenSocial</category><pubDate>Tue, 06 May 2008 17:05:32 +0800</pubDate><author>kono &lt;admin@yourname.com&gt;</author><guid isPermaLink="false">http://www.moorwind.com/read.php?175</guid><dc:creator>kono &lt;admin@yourname.com&gt;</dc:creator><fs:srclink>http://www.moorwind.com/read.php?175</fs:srclink><fs:srcfeed>http://www.moorwind.com/feed.php</fs:srcfeed><fs:itemid>feedsky/kono/~6094927/71660949/4202723</fs:itemid></item><item><title>我们是不是高估了我们的网民?</title><link>http://item.feedsky.com/~feedsky/kono/~6094927/71394886/4202723/1/item.html</link><description>&amp;nbsp;&amp;nbsp;在开始我的正文前，我先引用一个我的亲身经历。故事发生在半个月前我去找我的毕设指导老师（电气工程专业大学教授， 40岁左右）。理论上说，这样的人对计算机应该是非常熟悉的。让我诧异的是，当我在她的电脑上演示完我的程序，她回到电脑前问我“你的这个怎么关掉啊？”——她指着记事本说。因为我把记事本(Notpad.exe)的关闭和最小化按钮拖到了屏幕外面。&lt;br/&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;这里我只是想说明，&lt;strong&gt;电脑知识也可能会和学历相关，但关系并不是很大，也许一个小学生电脑会用的比大学教授还要精通&lt;/strong&gt;。&lt;br/&gt;&amp;nbsp;&amp;nbsp;很多人都知道许多国际上的互联网大佬在进入中国后都没有什么成就，一个典型的例子就是Google。而在中国，最成功的互联网公司莫过于腾讯了，QQ以及一系列QQ的延伸服务为它赚得大笔大笔的钞票，而我主要想聊聊QQ空间和QQ群这两个话，所以我问了很多QQ和MSN好友。&lt;br/&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;首先提及的是一个19岁的美女，不告诉你我和她的关系，嘿嘿。尽管我大她4岁，可是很遗憾，我们在想法上可以说是天差地别。不写blog，只是在空间里上传了大量的照片。而装扮空间的主要原因是，可以在QQ空间的主页上展示，从而有大量的陌生人来QQ空间看，却很不喜欢陌生人在空间留言。看似矛盾？错了，大量的陌生人来访会让空间的访问统计值变得很高。她很是喜欢音乐，所以空间的主要作用就是听歌。&lt;br/&gt;&amp;nbsp;&amp;nbsp;目前QQ聚集了大量这样的88年以后出生的人群，而且他们有着极高的购买力。在问及他们为什么喜欢把空间打扮的花里胡哨的时候，我想答案大家都心知肚明：展现个性，甚至于很乐意去花钱装饰自己的空间。同时，这些人有着极强的凝聚力。想象一下一群名字古里古怪(脑残体)，彼此陌生的人聚在QQ群里唧唧喳喳是一种何其壮观的场面，而很多人却乐于在QQ建立这样的组织并很快有很高的人气。至于QQ群火爆的原因只怕不仅仅是因为QQ的缘故。“不顺心了，可以发泄，反正大家彼此不认识”，“有问题提出来，大家可以一起出主意”。&lt;br/&gt;&amp;nbsp;&amp;nbsp;当问及Google和百度的时候，答案出乎我的意料：很多人居然不知道Google。通过她的帮助，在一些QQ群里给我的最震撼的答案是，年轻人（小于20岁）几乎不用Google。当然&lt;strong&gt;百度的名字好记也是一个原因&lt;/strong&gt;。&lt;br/&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;接下来的我问的是一位师姐，目前在美国留学，金融专业，很忙，所以回答都很简单。我们的问题主要是关于搜索引擎的。“搜中文主要用百度，查英文用Google”，我问她“Google也能搜中文，而且搜索结果不经过人工干预，为什么不用它呢”？她的回答是“啊？你才告诉我啊”？晕倒，可怜的李开复，失败的李开复。当然，“习惯是很重要的，已经养成习惯了”。她也用QQ空间，偶尔才写写日记。&lt;br/&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;很有意思，于是我想到了我周边的同学都是什么看法。当然，很多兄弟也用QQ空间，但是答案五花八门，主要原因是好玩，后来觉着没意思，就很少去了，但是从他们的QQ好友列表来看，很多人是有QQ空间的。他们也有校内，但是去的很少，“校内？很久前我玩的，你现在才玩啊”，但也有人说&lt;strong&gt;不玩了，原因是有更好玩的《魔兽世界》&lt;/strong&gt;。这里我很想说得是，尽管我们的大学里电脑非常普遍，几乎到了人手一台的缘故，但只少数人把它作为学习的工具，电脑的主要作用是玩游戏，看电影，聊天，泡论坛灌水。&lt;br/&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;在一个前端开发者的眼里，QQ空间和Myspace.com的profile页都几乎到了不堪忍受的地步，页面结构混乱，渲染速度慢的吓人，充斥着乱七八糟的各种图片和flash，为此Myspace中国推出了profile2.0，但我突然觉着这一步棋也许我们走错了，曲高必定和寡。Myspace当年的崛起和这些下里巴人的东东有着很大关系，直至现在，包括QQ空间和Myspace的用户都乐此不疲的朝自己的空间添加各种饰品，尽管这会导致自己的空间变得10分钟才能打开。“我想要美丽的星空背景，有着一闪一闪的星星，还要有浪漫的云飘来飘去(flash)，很模糊，很飘渺”，这样的模板我们Profile2.0能提供么？别做梦了，不可能，小MM的需求让我自卑了好大一阵子。QQ的UED team很高明，他们的代码水平绝不比Facebook UED team的差到哪儿去，但是他们更懂中国的网民需要什么。&lt;strong&gt;Google实验室里千奇百怪的程序员的创意相比较百度的“贴吧”、“MP3搜索”，在中国实在只是小儿科。&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;我想，比微软Vista系统UAC功能更糟糕的东东莫过于他们发布的，针对设计师的Expression套件了，我在安装之后想说的一句话是“这是要给程序员教怎么做设计么”？但是现在我要说的是还有比Microsoft Expression糟糕的东西就是我们Myspace的Profile2.0自定义模板，&lt;span style=&quot;color: #FF0000;&quot;&gt;“我们是要给大家普及怎么写CSS代码么”？&lt;/span&gt;那么，我们估算一下这项服务究竟满足了多少人的需求：以我们学校为例，2万人，9大学院，只有计算机学院的具备代码编写能力。占1/9，其中懂HTML+CSS代码的约占80%；学校开设网页设计任选课，两个课堂，每个120人，四年约有120×2×4=960人具备基本的前端代码编写能力，所以，我们学校&lt;strong&gt;具备自定义模板能力的人约( 20 000/9 ) × 0.8 + 960 = 2737人，占总人数的13.6%，实际数字可能还要比它低好多。 也就是说，10个大学生中才有一个达到了我们的要求。我们国家号称受过高等教育的人占30%，而我们网民中有30%是大学生么？&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;接下来，这些无聊的网民们除了去QQ群聊，还在干什么？我想到了一个很有意思的词来形容，那就是“骂街”。&lt;a href=&quot;http://www.awflasher.com/blog&quot; target=&quot;_blank&quot;&gt;AWflasher&lt;/a&gt;老兄形容这些人为“脑残”，他们无所不在无处不在。约一个月前我的blog因为搞错了一个概念而遭到“SB，你懂什么是伪3D么”的一系列留言而导致现在写文章都胆战心惊，而&lt;a href=&quot;http://www.awflasher.com/blog&quot; target=&quot;_blank&quot;&gt;AWflasher&lt;/a&gt;兄已经能做到淡然处之了。前段时间闹得沸沸扬扬的地址家乐福事件，恰恰说明了不只是网民，而是说很多人是非常非常容易被煽动的。比如&lt;a href=&quot;http://blog.sina.com.cn/s/blog_4701280b0100964k.html&quot; target=&quot;_blank&quot;&gt;韩寒&lt;/a&gt;因为说了几句明白话，就被（以下为引用一部分网民的回复）：&lt;br/&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1，你有什么证据证明中国没人去朝鲜留学，没人去朝鲜定居？我就想去，怎么了？&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2，我们援助朝鲜不是为了面子，是为了我们自己的国土，你历史学的阵差劲，没上过大学就是不一样&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3，CNN不真实报道，我们都看见了，是没到患难的地步，可是这是一种表层的患难，你懂不？很影响我们的国家声誉&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4，我们并没有在朝鲜找优越感，我们国家现在到哪里都会有优越感觉，我为祖国自豪！&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5，西方比我们落后？你了解国际吗？你的意思是西方政府管不了媒体？扯呢，就是政府操作的，不是德国什么总理都不来参加奥运了吗？还替人家说话，卖国贼！&lt;br/&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;正常人都知道西方媒体连自己的总统都不放在眼里，而我们的群众却缺乏一点点大国胸怀，从留言中甚至可以发现有无赖倾向。感谢党，&lt;strong&gt;感谢祖国还能屏蔽一些信息，因为的确很多人还没长大&lt;/strong&gt;。不信有这么多人喜欢骂街？那就去&lt;a href=&quot;http://www.cnbeta.com/&quot; target=&quot;_blank&quot;&gt;cnBeta&lt;/a&gt;上随机点几篇文章吧。cnBeta为什么不删了这些人的回复？很简单，删了只会导致更加恶劣的回帖攻击...&lt;br/&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;爱好摄影的人应该都听说过“&lt;a href=&quot;http://www.fengniao.com/&quot; target=&quot;_blank&quot;&gt;蜂鸟网&lt;/a&gt;”的，而蜂鸟最火爆的一个模块确实蜂鸟论坛。不是想说中国人喜欢泡论坛，而蜂鸟流量最高的论坛板块是“&lt;a href=&quot;http://bbs.fengniao.com/forum/forum_77.html&quot; target=&quot;_blank&quot;&gt;人体摄影&lt;/a&gt;”，至于里面究竟有多少人是真摄影就不得而知。以摄影做比方，首先要说的是网民的“从众心理”。当一群人背着昂贵的摄影器材，对着一个女人不断的按下快门，然后到论坛去讨论光啊影啊的，实际上他们中有几个人是真的明白光影是怎么回事？——真正懂摄影的人基本还都在用胶片呢。一个极端的例子是后来蜂鸟来了一个器材狂，拍了大量照片——是照片不是作品，来证明摄影教程里光学原理的那一部分公式，然后鄙视其他人是摄影白痴。于是cnBeta里的一幕幕便在蜂鸟上演了。我不想说，那个人恰恰我是我的校友，小师弟...&lt;br/&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;说到这里再次提一下前文里我19岁的小美女，他也是喜欢在空间里不断的贴照片，只是蜂鸟里的人贴的不是自己的照片，但是也差不多——是自己拍摄的照片。那么，那么可爱的网民们真正的需求是什么？&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1、展现自己。可以是个性（空间，模板），也可以是能力（摄影），或者是输出自己的价值观（博客）。&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2、简单的操作。我们的网民其实很傻很傻，他们不懂什么是代码，什么是黄金分割，拖拽功能甚至是多余的，除非你告诉他可以拖拽。&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3、习惯。如果习惯已经养成就适应它，如果没有，就要让他们养成习惯。&lt;br/&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;在成都和广州DevJAM的演讲上，最后我总会总结一个受欢迎的挂件所要具备的三个基本元素：&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1、&lt;strong&gt;简单&lt;/strong&gt;，容易上手&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2、有趣，交互性强&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3、漂亮，&lt;strong&gt;外观亮骚&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;那么，很显然，这三点不论是国内的QQ空间，还是国外的Mysapce.com都做到了，但是，聚友myspace.cn呢？川前些时候提出Myspace中国要服务知性网民，找这样的人，只怕比找会HTML+CSS来做模板的人还要少。现在看来，国内成功的互联网企业，所谓成功的本土化，不过是因为&lt;strong&gt;他们真正懂得了，在中国，上网的绝大多数都是些什么人&lt;/strong&gt;... ...&lt;br/&gt;Tags - &lt;a href=&quot;http://www.moorwind.com/tag.php?tag=myspace&quot; rel=&quot;tag&quot;&gt;myspace&lt;/a&gt; , &lt;a href=&quot;http://www.moorwind.com/tag.php?tag=china&quot; rel=&quot;tag&quot;&gt;china&lt;/a&gt;</description><category>OpenSocial</category><pubDate>Mon, 05 May 2008 16:36:36 +0800</pubDate><author>kono &lt;admin@yourname.com&gt;</author><guid isPermaLink="false">http://www.moorwind.com/read.php?174</guid><dc:creator>kono &lt;admin@yourname.com&gt;</dc:creator><fs:srclink>http://www.moorwind.com/read.php?174</fs:srclink><fs:srcfeed>http://www.moorwind.com/feed.php</fs:srcfeed><fs:itemid>feedsky/kono/~6094927/71394886/4202723</fs:itemid></item><item><title>Google Developer Day 2008</title><link>http://item.feedsky.com/~feedsky/kono/~6094927/71117994/4202723/1/item.html</link><description>&lt;a href=&quot;http://code.google.com/intl/zh-CN/events/developerday/2008/images/logo.gif&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://code.google.com/intl/zh-CN/events/developerday/2008/images/logo.gif&quot; class=&quot;insertimage&quot; alt=&quot;点击在新窗口中浏览此图片&quot; title=&quot;点击在新窗口中浏览此图片&quot; border=&quot;0&quot;/&gt;&lt;/a&gt;&lt;br/&gt;收到会议确认函，呵呵，突然发现我们的研发老大也是演讲嘉宾...&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://code.google.com/intl/zh-CN/events/developerday/2008/about.html&quot; target=&quot;_blank&quot;&gt;Google开发者日活动&lt;/a&gt;，旨在通过介绍最新的技术进展，和业界的开发高手们做深入的技术探讨，同时通过实验室和合作伙伴的产品展示，将互联网的技术推上一个新台阶。&lt;br/&gt;&lt;br/&gt;2008年6月12日（星期四），北京亚运村的国际会议中心，北四环中路，鸟巢东面。&lt;br/&gt;Tags - &lt;a href=&quot;http://www.moorwind.com/tag.php?tag=google&quot; rel=&quot;tag&quot;&gt;google&lt;/a&gt; , &lt;a href=&quot;http://www.moorwind.com/tag.php?tag=developer&quot; rel=&quot;tag&quot;&gt;developer&lt;/a&gt; , &lt;a href=&quot;http://www.moorwind.com/tag.php?tag=day&quot; rel=&quot;tag&quot;&gt;day&lt;/a&gt;</description><category>OpenSocial</category><pubDate>Sun, 04 May 2008 13:54:39 +0800</pubDate><author>kono &lt;admin@yourname.com&gt;</author><guid isPermaLink="false">http://www.moorwind.com/read.php?173</guid><dc:creator>kono &lt;admin@yourname.com&gt;</dc:creator><fs:srclink>http://www.moorwind.com/read.php?173</fs:srclink><fs:srcfeed>http://www.moorwind.com/feed.php</fs:srcfeed><fs:itemid>feedsky/kono/~6094927/71117994/4202723</fs:itemid></item><item><title>五一巨献：OAuth Actionscript3 Class Library</title><link>http://item.feedsky.com/~feedsky/kono/~6094927/70615131/4202723/1/item.html</link><description>&lt;a href=&quot;http://oauth.googlegroups.com/web/OAuth%20token.png?gda=LVSqlkAAAABnYd-wD7JYZn4qL5tjdPoLS91G7-x7vwxbTboA-hP_8mG1qiJ7UbTIup-M2XPURDQG8EFuMgG8J182SihhiFuH&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://oauth.googlegroups.com/web/OAuth%20token.png?gda=LVSqlkAAAABnYd-wD7JYZn4qL5tjdPoLS91G7-x7vwxbTboA-hP_8mG1qiJ7UbTIup-M2XPURDQG8EFuMgG8J182SihhiFuH&quot; class=&quot;insertimage&quot; alt=&quot;点击在新窗口中浏览此图片&quot; title=&quot;点击在新窗口中浏览此图片&quot; border=&quot;0&quot;/&gt;&lt;/a&gt;&lt;br/&gt;把Myspace RESTful(OAuth) AS3 Class Lib中涉及OAuth验证的部分全部单独抽出，安装OAuth规范单独写成了一个Class Library。现在时间是凌晨2点半。&lt;br/&gt;OAuth Core：&lt;a href=&quot;http://oauth.net/core/1.0/#signing_process&quot; target=&quot;_blank&quot;&gt;http://oauth.net/core/1.0/&lt;/a&gt;&lt;br/&gt;download: &lt;a href=&quot;http://oauthas3.googlecode.com/files/OAuth_beta_080501.rar&quot; target=&quot;_blank&quot;&gt;http://oauthas3.googlecode.com/files/OAuth_beta_080501.rar&lt;/a&gt;&lt;br/&gt;online document: &lt;a href=&quot;http://www.moorwind.com/as3app/oauth/document/index.html&quot; target=&quot;_blank&quot;&gt;http://www.moorwind.com/as3app/oauth/document/index.html&lt;/a&gt;&lt;br/&gt;project on Google Code: &lt;a href=&quot;http://code.google.com/p/oauthas3/&quot; target=&quot;_blank&quot;&gt;http://code.google.com/p/oauthas3/&lt;/a&gt;&lt;br/&gt;--&lt;br/&gt;Myspace Restful ActionScript3 Library: &lt;a href=&quot;http://developer.myspace.cn/modules/apis/pages/docs/Libs/myspace_restful_actionscript3_v1.zip&quot; target=&quot;_blank&quot;&gt;http://developer.myspace.cn/modules/apis/pages/docs/Libs/myspace_restful_actionscript3_v1.zip&lt;/a&gt;&lt;br/&gt;Myspace Restful ActionScript3 Library Online Document: &lt;a href=&quot;http://developer.myspace.cn/modules/apis/pages/docs/Libs/AS3Lib_doc/index.html&quot; target=&quot;_blank&quot;&gt;http://developer.myspace.cn/modules/apis/pages/docs/Libs/AS3Lib_doc/index.html&lt;/a&gt;&lt;br/&gt;&lt;strong&gt;一、什么是OAuth：&lt;/strong&gt;&lt;br/&gt;OAuth协议致力于使网站和应用程序（统称为消费方）能够在无须用户透露其认证证书的情况下， 通过API访问某个web服务（统称为服务提供方）的受保护资源。更一般地说，OAuth为API认证提供了一个可自由实现且通用的方法。&lt;br/&gt;&lt;br/&gt;The OAuth protocol enables websites or applications (Consumers) to access Protected Resources from a web service (Service Provider) via an API, without requiring Users to disclose their Service Provider credentials to the Consumers. More generally, OAuth creates a freely-implementable and generic methodology for API authentication. &lt;br/&gt;&lt;br/&gt;An example use case is allowing printing service printer.example.com (the Consumer), to access private photos stored on photos.example.net (the Service Provider) without requiring Users to provide their photos.example.net credentials to printer.example.com. &lt;br/&gt;&lt;br/&gt;OAuth does not require a specific user interface or interaction pattern, nor does it specify how Service Providers authenticate Users, making the protocol ideally suited for cases where authentication credentials are unavailable to the Consumer, such as with OpenID. &lt;br/&gt;&lt;br/&gt;OAuth aims to unify the experience and implementation of delegated web service authentication into a single, community-driven protocol. OAuth builds on existing protocols and best practices that have been independently implemented by various websites. An open standard, supported by large and small providers alike, promotes a consistent and trusted experience for both application developers and the users of those applications.&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;二、OAuth应用范例：&lt;/strong&gt;&lt;br/&gt;Myspace Open Platform的RESTful API验证采用了OAuth验证。豆瓣等其它大部分部分提供RESTful API的网络服务提供商也采用了OAuth作为其验证机制。&lt;br/&gt;&lt;br/&gt;为了保护Myspace用户的数据，当挂件(widget)需要通过RESTful API访问或修改受保护的用户数据（例如修改用户心情状态）时，需要用户认证并授权挂件(widget)拥有相关权限。 &lt;br/&gt;&lt;br/&gt;Myspace RESTful API认证授权机制遵循 OAuth规范。 限于篇幅本文档没有包含该规范的全部信息。如果使用Myspace提供的Actionscript3 API Library进行开发，那么通常你不必通读整个规范。 如果需要手工编程进行认证（例如开发其他语言版本的Myspace RESTful API客户端），那么建议你通读OAuth规范。 此外如果你发现本文档的某些部分难以理解，也建议你阅读OAuth规范以获取更多信息。 &lt;br/&gt;&lt;br/&gt;&lt;strong&gt;API Key&lt;/strong&gt; &lt;br/&gt;每个使用Myspace RESTful API认证授权机制的挂件(widget)必须拥有唯一的Myspace RESTful API Key。获得API Key的同时也获得一个对应该API Key的私钥。他们是在创建挂件时自动生成的： &lt;br/&gt;&lt;div class=&quot;code&quot;&gt; &lt;br/&gt;参数名/参数值 &lt;br/&gt;Consumer Key (挂件URI):&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; http://www.myspace.cn/1305688195 &lt;br/&gt;Consumer Secret (Security Key):&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dd8a4e4e99fd4bca84f8c3f2c0cd7fe1 &lt;br/&gt;&lt;/div&gt;&lt;br/&gt;API Key与私钥都将被用于Myspace RESTful API的认证过程。 作为第三方开发者，你需要保护好API Key对应的私钥，一旦私钥泄露，其对应的API Key则可能被他人滥用。 &lt;br/&gt;请求参数与返回值 &lt;br/&gt;Myspace RESTful API认证请求的参数必须转义且转义之前的参数必须为utf-8编码。 认证请求支持以以下三种形式进行传递参数 &lt;br/&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;* URL参数 &lt;br/&gt;&amp;nbsp;&amp;nbsp;* content-type为application/x-www-form-urlencoded的HTTP PUT请求体 &lt;br/&gt;&amp;nbsp;&amp;nbsp;* OAuth HTTP认证方案中定义的HTTP Authorization首部 &lt;br/&gt;&lt;br/&gt;认证请求的返回值位于HTTP响应的消息体内。 返回值的格式类似URL参数（'='连接的名值对，中间以'&amp;'连接），例如 &lt;br/&gt;oauth_signature=kB4j6FEcpfXlai1RUa3XI0kHZLI%3D&amp;oauth_signature_method=HMAC-SHA1 &lt;br/&gt;&lt;br/&gt;&lt;strong&gt;认证流程&lt;/strong&gt; &lt;br/&gt;Myspace RESTful API认证通过以下三个步骤完成 &lt;br/&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;* 获取未授权的 Request Token &lt;br/&gt;&amp;nbsp;&amp;nbsp; * 请求用户授权 Request Token &lt;br/&gt;&amp;nbsp;&amp;nbsp; * 使用授权后的 Request Token 换取 Access Token &lt;br/&gt;&lt;br/&gt;注:通过访问http://developer.myspace.cn/modules/apis/pages/accessdelegationtool.aspx；您可以在线测试获取认证Token的全部过程。 &lt;br/&gt;&lt;br/&gt;&lt;strong&gt;获取未授权的Request Token&lt;/strong&gt; &lt;br/&gt;通过访问以下 URL 获取未授权的 Request Token: &lt;br/&gt;http://api.myspace.cn/v1/request_token &lt;br/&gt;该请求需要包含如下参数: &lt;br/&gt;&lt;div class=&quot;code&quot;&gt;&lt;br/&gt;参数/意义 &lt;br/&gt;oauth_consumer_key: Consumer Key &lt;br/&gt;oauth_nonce: 单次值，一个随机字符串，用于防止重放攻击(18位) &lt;br/&gt;oauth_signature_method: 签名方法，Myspace支持OAuth中定义的HMAC-SHA1, RSA-SHA1和PLAINTEXT三种签名方式 &lt;br/&gt;oauth_timestamp: 时间戳，用格林威治时间1970年1月1日0时0分0秒起的秒数表示 &lt;br/&gt;oauth_token: 空 &lt;br/&gt;oauth_version: 目前为1.0(v1) &lt;br/&gt;oauth_signature: 签名值 &lt;br/&gt;&lt;/div&gt;&lt;br/&gt;返回值包括未授权的Request Token, 例如: &lt;br/&gt;&lt;br/&gt;KzT+/yAvSJu8kA2gwXhn/8+7w+/bpFTfNgM4xMGeCp2+DvHsHXF+grZf+x+Z4KYyPVdU0Z3LUq3eFfuXaDOLvw== &lt;br/&gt;&lt;br/&gt;&lt;strong&gt;请求用户授权Request Token &lt;/strong&gt;&lt;br/&gt;获得Request Token之后，需要请求用户授权该Request Token &lt;br/&gt;挂件(widget)需要将浏览器跳转到如下URL（如果无法自动跳转，则需要提示用户手工跳转） : &lt;br/&gt;http://api.myspace.cn/authorize &lt;br/&gt;跳转后用户会看到请求授权的页面，用户可以选择同意或者拒绝授权 &lt;br/&gt;&lt;br/&gt;该请求包含两个可选参数以及若干附加参数: &lt;br/&gt;&lt;div class=&quot;code&quot;&gt;&lt;br/&gt;参数/意义 &lt;br/&gt;oauth_token: 上一步中获得的Request Token,如果不存在用户会被要求填写Request Token&amp;nbsp;&amp;nbsp;&lt;br/&gt;oauth_callback: 如果包含这个参数，认证成功后浏览器会被重定向到形如http://callback?oauth_token=ab3cd9j4ks73hf7g的url，其中oauth_token为Request Token, 否则需要用户手工通知挂件(widget)以完成授权 &lt;br/&gt;&lt;/div&gt;&lt;br/&gt;&lt;strong&gt;使用授权后的Request Token换取Access Token &lt;/strong&gt;&lt;br/&gt;用户完成授权后，挂件(widget)可以通过访问如下url换取Access Token: &lt;br/&gt;http://api.myspace.cn/v1/access_token &lt;br/&gt;该请求需要包含如下参数: &lt;br/&gt;&lt;div class=&quot;code&quot;&gt;&lt;br/&gt;参数/意义&lt;br/&gt;oauth_consumer_key: Consumer Key &lt;br/&gt;oauth_nonce: 单次值，一个随机字符串，用于防止重放攻击(18位) &lt;br/&gt;oauth_signature_method: 签名方法，Myspace支持OAuth中定义的HMAC-SHA1, RSA-SHA1和PLAINTEXT三种签名方式 &lt;br/&gt;oauth_timestamp: 时间戳，用格林威治时间1970年1月1日0时0分0秒起的秒数表示 &lt;br/&gt;oauth_token: 第一步中获得的Request Token &lt;br/&gt;oauth_version: 目前为1.0(v1) &lt;br/&gt;oauth_signature: 签名值&amp;nbsp;&amp;nbsp;&lt;br/&gt;&lt;/div&gt;&lt;br/&gt;返回值包括授权的Access Token，例如: &lt;br/&gt;&lt;br/&gt;oauth_token=KzT%2b%2fyAvSJu8kA2gwXhn%2f8%2b7w%2b%2fbpFTfNgM4xMGeCp2%2bDvHsHXF%2bgrZf%2bx%2bZ4KYyPVdU0Z3LUq3eFfuXaDOLvw%3d%3d &lt;br/&gt;&lt;br/&gt;&lt;strong&gt;访问或修改受保护资源&lt;/strong&gt; &lt;br/&gt;获得Access Token之后，挂件(widget)可以使用该Access Token访问或修改受保护的资源。&lt;br/&gt;OAuth Testing Tool( http://developer.myspace.cn/modules/apis/pages/oauthtool.aspx )是帮助大家在线调试OAuth验证的最好工具。但是在开始通过OAuth请求数据之前，必须先通过用户验证与授权，获取RESTful API Key/securt key 和Access Token。 &lt;br/&gt;通常一次标准的OAuth请求需要以下参数： &lt;br/&gt;&lt;div class=&quot;code&quot;&gt;&lt;br/&gt;参数/意义&lt;br/&gt;oauth_consumer_key: Consumer Key &lt;br/&gt;oauth_nonce: 单次值，一个随机字符串，用于防止重放攻击(18位) &lt;br/&gt;oauth_signature_method: 签名方法，Myspace支持OAuth中定义的HMAC-SHA1, RSA-SHA1和PLAINTEXT三种签名方式 &lt;br/&gt;oauth_timestamp: 时间戳，用格林威治时间1970年1月1日0时0分0秒起的秒数表示 &lt;br/&gt;oauth_token: 第一步中获得的Request Token &lt;br/&gt;oauth_version: 目前为1.0(v1) &lt;br/&gt;oauth_signature: 签名值&amp;nbsp;&amp;nbsp;&lt;br/&gt;&lt;/div&gt;&lt;br/&gt;我们采用HMAC-SHA1签名作为默认签名，以便获取签名值(oauth_signature)。使用HMAC-SHA1签名时，算法的关键字为RESTful API secret key, 而加密密文(BaseString)是由本次请求的方法以及请求的URl组成的，例如： &lt;br/&gt;&lt;div class=&quot;code&quot;&gt;&lt;br/&gt;PUT&amp;amp;http%3A%2F%2Fapi.myspace.cn%2Fv1%2Fusers%2F1303969295%2Fstatus&amp;amp;oauth_consumer_key%3Dhttp%253A%252F%252Fwww.myspace.cn%252F1305688195%26oauth_nonce%3D633450505245213519%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1209453269%26oauth_token%3DZJgI6bSWT6GNL0Ut0510AEU%252BLwpisPYHkzRzhlbjEYJzw0cmzOMeNDfWPsJ97OF87hjWtoAVDMp1AiAN491jnU%252FOpLU%252FBoFibDzE%252FE6kBdo%253D%26oauth_version%3D1.0%26status%3Dis%2520rest%2520OK%253A%2529 &lt;br/&gt;&lt;/div&gt;&lt;br/&gt;在这段BaseString中，不同的元素由&quot;&amp;&quot;符号连接，并且对全文使用URLEncoder ( encodeURIComponent )。它是形如&quot;请求方法&amp;RESTful API URI&amp;本次请求URL &quot;的一组字符串，值得注意的是，排列请求URL中的各个参数具有固定顺序，如果顺序错误，也会导致加密后的签名与服务器端的签名不一致而导致验证失败。 &lt;br/&gt;&lt;br/&gt;另外，在进行HMAC-SHA1加密时，加密关键字，即REST API Secret Key需要加一后缀&quot;&amp;&quot;，这是Myspace 后台服务端代码的一个约定。 &lt;br/&gt;因此，一次完整的签名算法应该是 &lt;br/&gt;&lt;div class=&quot;code&quot;&gt;&lt;br/&gt;oauth_signature = HMACSHA1.compute(REST API Secret Key + &amp;quot;&amp;amp;&amp;quot;, BaseString); &lt;br/&gt;&lt;/div&gt;&lt;br/&gt;在签名未获取之前，BaseString中应当不包含oauth_signature这一属性。即使写为oauth_signature=&amp;也是非法的。 &lt;br/&gt;获取到oauth_signature之后，将其添加到请求URL中，即可正常GET数据了。请求数据的URL ( RequestURI )形如： &lt;br/&gt;&lt;div class=&quot;code&quot;&gt;&lt;br/&gt;http://api.myspace.cn/v1/users/1303969295/status?oauth_consumer_key=http://www.myspace.cn/1305688195&amp;amp;oauth_nonce=633450505245213519&amp;amp;oauth_signature=SZJgqV1TL6Q2EJAQKzapgzIwrxY=&amp;amp;oauth_signature_method=HMAC-SHA1&amp;amp;oauth_timestamp=1209453269&amp;amp;oauth_token=ZJgI6bSWT6GNL0Ut0510AEU+LwpisPYHkzRzhlbjEYJzw0cmzOMeNDfWPsJ97OF87hjWtoAVDMp1AiAN491jnU/OpLU/BoFibDzE/E6kBdo=&amp;amp;oauth_version=1.0 &lt;br/&gt;&lt;/div&gt;&lt;br/&gt;Tags - &lt;a href=&quot;http://www.moorwind.com/tag.php?tag=oauth&quot; rel=&quot;tag&quot;&gt;oauth&lt;/a&gt; , &lt;a href=&quot;http://www.moorwind.com/tag.php?tag=myspace&quot; rel=&quot;tag&quot;&gt;myspace&lt;/a&gt; , &lt;a href=&quot;http://www.moorwind.com/tag.php?tag=open&quot; rel=&quot;tag&quot;&gt;open&lt;/a&gt; , &lt;a href=&quot;http://www.moorwind.com/tag.php?tag=platform&quot; rel=&quot;tag&quot;&gt;platform&lt;/a&gt; , &lt;a href=&quot;http://www.moorwind.com/tag.php?tag=api&quot; rel=&quot;tag&quot;&gt;api&lt;/a&gt; , &lt;a href=&quot;http://www.moorwind.com/tag.php?tag=rest&quot; rel=&quot;tag&quot;&gt;rest&lt;/a&gt; , &lt;a href=&quot;http://www.moorwind.com/tag.php?tag=restful&quot; rel=&quot;tag&quot;&gt;restful&lt;/a&gt; , &lt;a href=&quot;http://www.moorwind.com/tag.php?tag=actionscript3&quot; rel=&quot;tag&quot;&gt;actionscript3&lt;/a&gt; , &lt;a href=&quot;http://www.moorwind.com/tag.php?tag=actionscript&quot; rel=&quot;tag&quot;&gt;actionscript&lt;/a&gt; , &lt;a href=&quot;http://www.moorwind.com/tag.php?tag=flash&quot; rel=&quot;tag&quot;&gt;flash&lt;/a&gt;</description><category>ActionScript 3</category><pubDate>Fri, 02 May 2008 02:43:21 +0800</pubDate><author>kono &lt;admin@yourname.com&gt;</author><guid isPermaLink="false">http://www.moorwind.com/read.php?172</guid><dc:creator>kono &lt;admin@yourname.com&gt;</dc:creator><fs:srclink>http://www.moorwind.com/read.php?172</fs:srclink><fs:srcfeed>http://www.moorwind.com/feed.php</fs:srcfeed><fs:itemid>feedsky/kono/~6094927/70615131/4202723</fs:itemid></item><item><title>使用AIR显示/加载本地图片</title><link>http://item.feedsky.com/~feedsky/kono/~6094927/70057370/4202723/1/item.html</link><description>做相册本地上传功能时写的一段代码：&lt;br/&gt;&lt;div class=&quot;code&quot;&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;private var loader:Loader = new Loader();&lt;br/&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;br/&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;private function initApp():void&lt;br/&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;#123;&lt;br/&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.image.rawChildren.addChild( this.loader );&lt;br/&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;#125;&lt;br/&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;br/&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;private function onFileChoose( e:FileEvent ):void&lt;br/&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;#123;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br/&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var fileByte:ByteArray = new ByteArray();&lt;br/&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var fileStream:FileStream = new FileStream();&lt;br/&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fileStream.open( e.file, FileMode.READ );&lt;br/&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fileStream.readBytes( fileByte, 0, fileStream.bytesAvailable );&lt;br/&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fileStream.close();&lt;br/&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br/&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.loader.unload();&lt;br/&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.loader.loadBytes( fileByte );&lt;br/&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br/&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;#125;&lt;br/&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;br/&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;private&amp;nbsp;&amp;nbsp;function onJustImage( file:File ):Boolean&lt;br/&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;#123;&lt;br/&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if( !file.extension )&lt;br/&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return true;&lt;br/&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br/&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var fname:String = file.extension.toLowerCase();&lt;br/&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if( fname == &amp;quot;jpg&amp;quot; &amp;#124;&amp;#124; fname == &amp;quot;png&amp;quot; &amp;#124;&amp;#124; fname == &amp;quot;gif&amp;quot; )&lt;br/&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return true&lt;br/&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else&lt;br/&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return false&lt;br/&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;#125;&lt;br/&gt;&lt;/div&gt;&lt;br/&gt;MXML：&lt;br/&gt;&lt;div class=&quot;code&quot;&gt;&lt;br/&gt;&amp;lt;mx:FileSystemTree width=&amp;quot;400&amp;quot; height=&amp;quot;100%&amp;quot; fileChoose=&amp;quot;this.onFileChoose( event )&amp;quot; filterFunction=&amp;quot;onJustImage&amp;quot; /&amp;gt;&lt;br/&gt;&amp;lt;mx:HBox id=&amp;quot;image&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;100%&amp;quot; /&amp;gt;&lt;br/&gt;&lt;/div&gt;&lt;br/&gt;Tags - &lt;a href=&quot;http://www.moorwind.com/tag.php?tag=adobe&quot; rel=&quot;tag&quot;&gt;adobe&lt;/a&gt; , &lt;a href=&quot;http://www.moorwind.com/tag.php?tag=air&quot; rel=&quot;tag&quot;&gt;air&lt;/a&gt; , &lt;a href=&quot;http://www.moorwind.com/tag.php?tag=filterfunction&quot; rel=&quot;tag&quot;&gt;filterfunction&lt;/a&gt; , &lt;a href=&quot;http://www.moorwind.com/tag.php?tag=bytearray&quot; rel=&quot;tag&quot;&gt;bytearray&lt;/a&gt; , &lt;a href=&quot;http://www.moorwind.com/tag.php?tag=actionscript&quot; rel=&quot;tag&quot;&gt;actionscript&lt;/a&gt; , &lt;a href=&quot;http://www.moorwind.com/tag.php?tag=loader&quot; rel=&quot;tag&quot;&gt;loader&lt;/a&gt; , &lt;a href=&quot;http://www.moorwind.com/tag.php?tag=loadbyte&quot; rel=&quot;tag&quot;&gt;loadbyte&lt;/a&gt;</description><category>ActionScript 3</category><pubDate>Tue, 29 Apr 2008 12:00:48 +0800</pubDate><author>kono &lt;admin@yourname.com&gt;</author><guid isPermaLink="false">http://www.moorwind.com/read.php?171</guid><dc:creator>kono &lt;admin@yourname.com&gt;</dc:creator><fs:srclink>http://www.moorwind.com/read.php?171</fs:srclink><fs:srcfeed>http://www.moorwind.com/feed.php</fs:srcfeed><fs:itemid>feedsky/kono/~6094927/70057370/4202723</fs:itemid></item><item><title>想你。</title><link>http://item.feedsky.com/~feedsky/kono/~6094927/69743978/4202723/1/item.html</link><description>&lt;a href=&quot;http://farm4.static.flickr.com/3059/2448341485_d0b8b3a692_o.jpg&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3059/2448341485_d0b8b3a692_o.jpg&quot; class=&quot;insertimage&quot; alt=&quot;点击在新窗口中浏览此图片&quot; title=&quot;点击在新窗口中浏览此图片&quot; border=&quot;0&quot;/&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;捏捏你的小梨涡&lt;br/&gt;呆呆的数着宝宝脸上的小雀斑&lt;br/&gt;--&lt;br/&gt;Model: 莼宝宝&lt;br/&gt;Photo:圣叹[Kono]&lt;br/&gt;[CopyRight(c)2008,All rights reserved.]&lt;br/&gt;Tags - &lt;a href=&quot;http://www.moorwind.com/tag.php?tag=%25E4%25BA%25BA%25E5%2583%258F&quot; rel=&quot;tag&quot;&gt;人像&lt;/a&gt; , &lt;a href=&quot;http://www.moorwind.com/tag.php?tag=%25E6%2591%2584%25E5%25BD%25B1&quot; rel=&quot;tag&quot;&gt;摄影&lt;/a&gt;</description><category>Photograph</category><pubDate>Sun, 27 Apr 2008 21:47:06 +0800</pubDate><author>kono &lt;admin@yourname.com&gt;</author><guid isPermaLink="false">http://www.moorwind.com/read.php?170</guid><dc:creator>kono &lt;admin@yourname.com&gt;</dc:creator><fs:srclink>http://www.moorwind.com/read.php?170</fs:srclink><fs:srcfeed>http://www.moorwind.com/feed.php</fs:srcfeed><fs:itemid>feedsky/kono/~6094927/69743978/4202723</fs:itemid></item><item><title>大忽悠的HipHop</title><link>http://item.feedsky.com/~feedsky/kono/~6094927/69743979/4202723/1/item.html</link><description>Myspace全球DevJAM在广州结束了最后一站，秀秀本“忽悠”在华南理工大学国际交流中心大跳&quot;Hip Hop&quot;的场面。。。其实我只是穿了件大号的Tshirt而已。。。这次更不得了，好像“喷”了1个半小时的样子，嗓子好干。&lt;br/&gt;&lt;a href=&quot;http://farm3.static.flickr.com/2410/2444889157_df7317897d_o.jpg&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2410/2444889157_df7317897d_o.jpg&quot; class=&quot;insertimage&quot; alt=&quot;点击在新窗口中浏览此图片&quot; title=&quot;点击在新窗口中浏览此图片&quot; border=&quot;0&quot;/&gt;&lt;/a&gt;&lt;br/&gt;在广州最大的体会：树比成都还多。。。yeah，圣叹我学花鸟出身，在北方几乎没有叫不出名字的花花草草，到广州俨然刘姥姥进了大观园，路边的树都不识得了。&lt;br/&gt;&lt;br/&gt;Tags - &lt;a href=&quot;http://www.moorwind.com/tag.php?tag=myspace&quot; rel=&quot;tag&quot;&gt;myspace&lt;/a&gt; , &lt;a href=&quot;http://www.moorwind.com/tag.php?tag=devjam&quot; rel=&quot;tag&quot;&gt;devjam&lt;/a&gt; , &lt;a href=&quot;http://www.moorwind.com/tag.php?tag=%25E5%25B9%25BF%25E5%25B7%259E&quot; rel=&quot;tag&quot;&gt;广州&lt;/a&gt;</description><category>OpenSocial</category><pubDate>Sun, 27 Apr 2008 20:53:02 +0800</pubDate><author>kono &lt;admin@yourname.com&gt;</author><guid isPermaLink="false">http://www.moorwind.com/read.php?169</guid><dc:creator>kono &lt;admin@yourname.com&gt;</dc:creator><fs:srclink>http://www.moorwind.com/read.php?169</fs:srclink><fs:srcfeed>http://www.moorwind.com/feed.php</fs:srcfeed><fs:itemid>feedsky/kono/~6094927/69743979/4202723</fs:itemid></item><item><title>DevJam4.26,广州见</title><link>http://item.feedsky.com/~feedsky/kono/~6094927/69121055/4202723/1/item.html</link><description>&lt;strong&gt;广州市大学城华南理工大学国际学术中心南华厅（大学城东二路）&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;------------------------------------------------------------------------------------------&lt;br/&gt;日期&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;时间&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;会议日程&lt;br/&gt;4月19日&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9:00 - 9:30&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;签到，同时发放会议资料&lt;br/&gt;9:30 - 10:00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;开场&lt;br/&gt;10:00 - 10:10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;主持人开场白，介绍与会嘉宾&lt;br/&gt;10:10 - 10:40&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;《MySpace与社交网络网站》&lt;br/&gt;10:40 - 11:00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;《开放平台为开发者提供了一个双赢的途径》&lt;br/&gt;11:00 - 11:30&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;《Open Social与MyOpenSpace对象模型》&lt;br/&gt;11:30 - 12:00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Q&amp;A&lt;br/&gt;12:00 - 13:00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;中午用餐&lt;br/&gt;13:00 - 14:00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;《MDP开发平台介绍和编程实例 -- JavaScript》&lt;br/&gt;14:00 - 15:00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;《MDP开发平台介绍和编程实例 -- ActionScript, RESTful》&lt;br/&gt;15:00 - 15:30&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;提创意，拿奖品&lt;br/&gt;15:30 - 17:30&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WorkShop&lt;br/&gt;Tags - &lt;a href=&quot;http://www.moorwind.com/tag.php?tag=myspace&quot; rel=&quot;tag&quot;&gt;myspace&lt;/a&gt; , &lt;a href=&quot;http://www.moorwind.com/tag.php?tag=devjam&quot; rel=&quot;tag&quot;&gt;devjam&lt;/a&gt;</description><category>OpenSocial</category><pubDate>Thu, 24 Apr 2008 18:09:46 +0800</pubDate><author>kono &lt;admin@yourname.com&gt;</author><guid isPermaLink="false">http://www.moorwind.com/read.php?168</guid><dc:creator>kono &lt;admin@yourname.com&gt;</dc:creator><fs:srclink>http://www.moorwind.com/read.php?168</fs:srclink><fs:srcfeed>http://www.moorwind.com/feed.php</fs:srcfeed><fs:itemid>feedsky/kono/~6094927/69121055/4202723</fs:itemid></item><item><title>AIR读取/写入本地文件</title><link>http://item.feedsky.com/~feedsky/kono/~6094927/69121057/4202723/1/item.html</link><description>新的Myspace API将开放相册的上传接口，但是协议比较复杂。Actionscript3自带的FileReference类不能使用(使用FileReference类时时不能写入URLRequestHeader的)，所以图片上传只能采用byteArray.&lt;br/&gt;下面的代码演示了读取本地一个图片，然后写到桌面Images文件夹里为a.jpg的过程。&lt;br/&gt;&lt;div class=&quot;code&quot;&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private function init():void&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#123;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var file:File = new File();&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var imageTypes:FileFilter = new FileFilter(&amp;quot;Images (*.jpg, *.jpeg, *.gif, *.png)&amp;quot;, &amp;quot;*.jpg; *.jpeg; *.gif; *.png&amp;quot;);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; file.addEventListener( Event.SELECT, this.onSelect );&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; file.browseForOpen( &amp;quot;Open&amp;quot;, &amp;#91; imageTypes &amp;#93; );&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#125;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private function onSelect( e:Event ):void&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#123;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var stream:FileStream = new FileStream();&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; stream.open( e.target as File, FileMode.READ );&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var fileDate:ByteArray = new ByteArray();&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; stream.readBytes( fileDate, 0, stream.bytesAvailable );&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; stream.close();&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var newImage:File = File.desktopDirectory.resolvePath( &amp;quot;Images/&amp;quot; + &amp;quot;a&amp;quot; + &amp;quot;.jpg&amp;quot; );&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; stream = new FileStream();&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; stream.open( newImage, FileMode.WRITE );&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; stream.writeBytes( fileDate );&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#125;&lt;br/&gt;&lt;/div&gt;&lt;br/&gt;&lt;br/&gt;--&lt;br/&gt;补充，关于Actionscript3中的URLRequest：&lt;br/&gt;1、关于contentType：我们可以自定义HTTP请求中contentType的值，如果传输的数据为二进制，一般需要设置为&quot;multipart/form-data&quot;,但是如果使用FileReference类上传，这个属性是不能改变的(The FileReference.upload(), FileReference.download(), and HTMLLoader.load() methods do not support the URLRequest.contentType property)。&lt;br/&gt;2、关于data：如果我们使用POST或者其它非GET方式使用HTTP，那么data的数据就是HTTP请求中的body值。POST/PUT到服务端的二进制数据一般直接写URLRequest.data = byteArray.&lt;br/&gt;3、关于requestHeaders： URLRequest.requestHeaders是一个数组，需要为HTTP请求的header添加自定义数据时需要使用。比如需要在header内添加验证数据(有部分默认header的值是不可以设置的，参考AS3帮助文档)：&lt;br/&gt;&lt;div class=&quot;code&quot;&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;private var auth:URLRequestHeader = new URLRequestHeader( &amp;quot;Authorization&amp;quot;, &amp;quot;usertoken=token&amp;quot; );&lt;br/&gt;&amp;nbsp;&amp;nbsp;this.urlrequest.requestHeaders.push( auth );&lt;br/&gt;&lt;/div&gt;&lt;br/&gt;但是通过FileReference上传文件时，URLRequest不支持加入requestHeaders内容。即The FileReference.upload() and FileReference.download() methods do not support the URLRequest.requestHeaders parameter.&lt;br/&gt;&lt;br/&gt;Tags - &lt;a href=&quot;http://www.moorwind.com/tag.php?tag=adobe&quot; rel=&quot;tag&quot;&gt;adobe&lt;/a&gt; , &lt;a href=&quot;http://www.moorwind.com/tag.php?tag=air&quot; rel=&quot;tag&quot;&gt;air&lt;/a&gt; , &lt;a href=&quot;http://www.moorwind.com/tag.php?tag=read&quot; rel=&quot;tag&quot;&gt;read&lt;/a&gt; , &lt;a href=&quot;http://www.moorwind.com/tag.php?tag=image&quot; rel=&quot;tag&quot;&gt;image&lt;/a&gt; , &lt;a href=&quot;http://www.moorwind.com/tag.php?tag=photo&quot; rel=&quot;tag&quot;&gt;photo&lt;/a&gt; , &lt;a href=&quot;http://www.moorwind.com/tag.php?tag=file&quot; rel=&quot;tag&quot;&gt;file&lt;/a&gt; , &lt;a href=&quot;http://www.moorwind.com/tag.php?tag=upload&quot; rel=&quot;tag&quot;&gt;upload&lt;/a&gt; , &lt;a href=&quot;http://www.moorwind.com/tag.php?tag=bytearray&quot; rel=&quot;tag&quot;&gt;bytearray&lt;/a&gt;</description><category>ActionScript 3</category><pubDate>Thu, 24 Apr 2008 18:03:58 +0800</pubDate><author>kono &lt;admin@yourname.com&gt;</author><guid isPermaLink="false">http://www.moorwind.com/read.php?167</guid><dc:creator>kono &lt;admin@yourname.com&gt;</dc:creator><fs:srclink>http://www.moorwind.com/read.php?167</fs:srclink><fs:srcfeed>http://www.moorwind.com/feed.php</fs:srcfeed><fs:itemid>feedsky/kono/~6094927/69121057/4202723</fs:itemid></item><item><title>DevJAM成都归来</title><link>http://item.feedsky.com/~feedsky/kono/~6094927/67765778/4202723/1/item.html</link><description>&lt;a href=&quot;http://farm3.static.flickr.com/2087/2430613080_43bd4e24d3_o.jpg&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2087/2430613080_43bd4e24d3_o.jpg&quot; class=&quot;insertimage&quot; alt=&quot;点击在新窗口中浏览此图片&quot; title=&quot;点击在新窗口中浏览此图片&quot; border=&quot;0&quot;/&gt;&lt;/a&gt;&lt;br/&gt;在成都2天，DevJAM在成都感觉比在北京效果要好一些，虽然听众以学生为主，很多人是我的同龄人...&lt;br/&gt;1、太贫了最近。原本预备20分钟的PPT(忙了一周其他事情，周五才临时改的)居然啰嗦了1个小时，口干舌燥...&lt;br/&gt;2、成都的火锅果然好吃，非常非常好吃...琴台路的皇城老妈(老字号)和龙生园，不错。&lt;br/&gt;3、成都的MM漂亮么？不敢说No，但是没见着...&lt;br/&gt;4、成都人好能休闲，一杯茶能喝一天居然...俺们三喝茶无聊到打扑克玩二十一点的地步...&lt;br/&gt;5、树很绿...&lt;br/&gt;6、杨凡在吃了一碗肥肠粉，讲了1小时PPT，吃了半小时皇城老妈(注:还是清汤，哈哈)后就紧急飞回了北京...&lt;br/&gt;Tags - &lt;a href=&quot;http://www.moorwind.com/tag.php?tag=devjam&quot; rel=&quot;tag&quot;&gt;devjam&lt;/a&gt; , &lt;a href=&quot;http://www.moorwind.com/tag.php?tag=myspace&quot; rel=&quot;tag&quot;&gt;myspace&lt;/a&gt;</description><category>Twitter</category><pubDate>Mon, 21 Apr 2008 13:23:23 +0800</pubDate><author>kono &lt;admin@yourname.com&gt;</author><guid isPermaLink="false">http://www.moorwind.com/read.php?166</guid><dc:creator>kono &lt;admin@yourname.com&gt;</dc:creator><fs:srclink>http://www.moorwind.com/read.php?166</fs:srclink><fs:srcfeed>http://www.moorwind.com/feed.php</fs:srcfeed><fs:itemid>feedsky/kono/~6094927/67765778/4202723</fs:itemid></item></channel></rss>