中国官方通过 Google 收购摩托罗拉移动,并要求 Android 至少继续开源五年

自Google宣布以125亿美元收购摩托罗拉移动已经过去了9个月,现在他们的收购之路基本已经明朗了。根据AP的报道,中国大陆官方最终也通过了这次收购案。在此之前Google也通过了欧盟和美国司法部的审查。

任何在中国年收入超过四亿人民币且在全球超过100亿人民币年收入公司的收购案,都要通过中国大陆官方的反垄断审核。Google和摩托罗拉本来预计在2012年初就可以通过审核,现在他们已经万事俱备,将在未来数周内完成最终的交易。

另外来自华尔街日报的报道,Google通过中国大陆的收购审核有一个前提,就是同意继续让Android至少再开源5年,未来5年里Google将继续允许任何人下载Android的源代码并进行肆意的修改,这一政策在未来5年里不会有变。

很奇怪为何中国大陆政府部门会提出让Google做出这个承诺,可能是为了保证Google不会对自家的摩托罗拉移动部门做出任何偏袒,要对所有 OEM厂商一视同仁,一碗水端平(并继续方便国内各大山寨厂商和互联网公司继续在挖空Google字样的情况下使用Android?)。

Via TC and 9to5google

为什么 .NET 会被叫做 .NET?

微软开发.NET Framework是在20世纪90年代后期,最初是叫做“下一代Windows服务”(Next Generation Windows Services 简称 NGWS)。 那么为什么微软会选择.NET这个名字呢? 这确实是有点神秘,但下面的答案是我到目前为止认为最好的解释:

1).NET是由微软营销人员提出的,认为它代表着“网络”技术,同时Sun公司的营销人员也提出了他们的主题:“ 网络就是计算机“。当时“Dot COM”成为了互联网的代名词,而“Dot Net”则是对这个词的扩展。

我不认为这是一个坏的名字,但问题是,微软最初为那么多的产品命名“.NET”,甚至把与互联网无关的产品也命名“.NET”,像“.NET My Services”和“.NET Enterprise Servers”。这也引起了一些大的混乱。后来由微软纠正,并限制命名.NET为管理软件框架的技术。- 斯坦利小

2)当时我在微软做开发,我也不知道是谁命名的.NET。跟我交流过的人都认为它是一个糟糕的名字。不过它的发音不像NGWS。- 乔治v.赖利

3)早期的市场营销推.NET为Web服务。当时.NET被期望是更容易编写和使用的Web服务。特别是,它应该更容易调用Web服务,这样微软就会让每个人都将使用:“.NET My Services”。

当然,该项目很快就土崩瓦解,但是这个名字仍然存在。它至少是比“COM + +”或“ActiveXX”要好。- 约翰·桑德斯

4)我是2001年暑期在微软实习的,暑期结束和当时的实习生一起去比尔·盖茨的房子附近烧烤。一个实习生问比尔:“在你想出.NET之前,还有其他什么的名字吗?”

在我的记忆中,比尔是这样回答的:”事实上我不喜欢.NET这个名字。它让人们怀疑我们是否终于开始了解互联网。可悲的是,其他提议的名字更糟。我们当时的宗旨是‘任何地方,任何时候,任何设备上工作’,所以建议是AAAWare。“- 乐琳

直到前两天,在StackOverflow上一个关于”为什么.NET会被叫做.NET?“这一问答贴,仍然排在谷歌搜索结果的顶部。

这个问题贴被StackOverflow认为是关闭贴,即使它是可见的,封闭约三年左右。就在它将要被删除前,我编辑了一个公认的答案,就是由 斯坦利小 做出的回答。然后简要地编辑后,被版主把整个问题删除了。因此,我认为这是有必要拿来写成简短的博客文章的,以防止其他人想要找到答案却没有,就像我一样;-)。

原文链接OSChina.NET翻译

老程序员都到哪里去了?

老程序员都到哪儿去了? –寻找40岁之后软件开发者的象冢

人们都认为软件开发是年轻人的游戏。当年轻自信的程序员获得优厚的待遇并向管理层晋升的时候,老程序员们甚至找工作都困难。真的如此吗?

在最近的一篇文章中,加州大学戴维斯分校的计算机科学教授Norman Matloff认为“软件工程是职业生涯的死胡同”。他写到:“很多程序员发现,大约从35岁起他们的就业能力就开始走下坡路了。”

如果这要是在广播上的话,我会选择跳过这段录音。35岁?我还以为我们要讨论年纪更大些的程序员呢。从什么时候起35岁就算是“老人”了?

Matloff继续说:“统计表明,大多数软件开发者40岁之前会离开编程领域。”看到这儿我的眉毛开始挑起来了。大多数程序员?还他们中的绝大多数?离开?(Matloff拒绝说明他从哪里看到的统计数字。)

如果这是真的,那些老程序员都去哪儿了?是否真有这样的地方,让我们把疲倦衰弱的、不适合再做程序员的人送去,使他们远离年轻程序员的视线,优雅的死去?或者说他们拿到了不动产执照? 还是去开剪贴簿商店了?我有点怀疑。

 

天真的塌下来了?

现在,我并不是走极端说软件开发中不存在年龄歧视。这种现象可能在技术领域比其他行业更普遍。但我不得不说,当我读到Matloff令人震惊的言论时,我的直觉反应是我不买账。

首先,可以举一些经验证据:我认识相当多的人,我的社交圈里基本每个人都超过或者马上就到40岁了,里面有很多是软件开发者。这怎么解释?难道我的每个程序员朋友都碰巧是统计的离群值吗?

除了统计之外,像Matloff的这种恐慌性文章还通过选择性地援引一些技术明星的话来作为支持。Matloff引用Intel前CEO Craig Barrett的话说,“软件工程师或硬件工程师的半衰期只有几年”。此外,他说,Mark Zuckerberg……,唉,我们就别替他操心了。

即使Gordon Moore的一些随便的评论已经变成“定律”,我不会因为他们都曾是Intel的CEO而给Craig Barrett相同的优待。简洁的引用并不会使研究变困难。所有的程序员到底去哪里了呢,我在想这儿吗?我有些想法。

 

蹲下身子

首先,很多人并未离去。他们在某个领域、行业、工具或者公司变得非常专业化,他们开拓商机并坚持做到最好。有的程序员在大的技术公司成为杰出工程师。他们也是Matloff统计数据的离群值吧,所以让我们忘了他们吧。

其他程序员自然而然地晋升到管理岗位。我想,你在翻白眼吧,也许你会说“软件开发经验并不能使你成为一个好的管理者”。你知道吗?其实管理培训课程也未必能。

重点在于,晋升会带来新的头衔。告诉别人你的新头衔是宣告你进入了一个更高位置的最好方式。当下一次有调查让你填工作角色时,你可能选择“项目经理”而非“软件开发者”,即使你仍然直接参与软件设计、规范、开发、测试和部署过程的每一步。

晋升是留住雇员的一种方式。但不管相信与否,进入软件开发团队的管理位置并不意味着你已经放弃了程序员的工作。然而,看起来统计也是没有包括这部分人的。

 

低调神秘,开启职业新篇章

尽管其他开发者不再从事原来的工作,但并未离开这个领域。他们继续创业,角色可能转变成为负责人或CTO。一般职业调查是不包括企业家的,再一次,这些人没在统计之中。

职业调查可能也漏掉了独立承包人。对于软件开发者而言,咨询也是个商机,能够给成熟的程序员大量的行业经验。

显然,如果你并不打算找一个全职工作,他们就无法估算你找一个全职工作要花多长时间。你是否注意到国家失业统计数字并不包括那些不找工作的人?承包人同样影响职业统计。

沿着这些思路,我们来检查下Matloff引用的统计信息。他说,研究表明,“超过40岁的工作人员失业之后再找工作要多花23.4%的时间”。真有意思,但是研究没有分析为什么——可能他们将时间花在了咨询上呢。

还有一点是,老程序员们已经为错误交过学费了。他们可能曾经犯过错误,干过不好的工作,并习惯于某种生活标准。他们并不会感到很大压力非要在第一份 工作来的时候就抓住,特别是当他们过去几年过着六位数收入的舒适生活时。有经验的程序员找新工作花的时间更长,可能因为他们要求的标准更高呢?

 

综合信息

但是谁真正关心Matloff说的那些话呢,是吧?统计,所有这一切,都是谎言,可恶的谎言。不管这些灾难预言者怎么说,老的技术人员很可能对自己 在职业生涯中的位置有一个公正的认识。我真正担心的是,Matloff的文章传达给年轻一代(特别是那些马上进入这个工作领域的人)的信息。

一方面,高科技看来仍然是美国为数不多的真正繁荣的行业之一。公司说他们找不到足够多的合格人选。政治家和教育家们绞尽脑汁要燃起年轻人对计算技术的兴趣。并且,一年年的,软件开发一直栖身于最好的工作之列。

另一方面,我们却有像Matloff写的这样的文章,认为编程工作是个死胡同,当其他领域的人员正处于职业生涯巅峰时,程序员只能寄望于被送到制胶厂。这样的说法,往好了说是愚蠢、标题党;往坏了说,是彻头彻尾的不负责任。

价值 175 亿美元的马克·扎克伯格

Mark Zuckerberg

马克·扎克伯格(Mark Zuckerberg)身价几何?在 Google 的检索框中输入“Mark Zuckerberg  Wealth”,Google 会在第二条链接中直接告诉你答案:175 亿美元(US$ 17.5 billion),假如把这份估价全部折换成数字的话,跟在 175 后面的是长长的 8 个 零。

如果你对上述估价还抱有怀疑,不妨再到福布斯杂志的世界亿万富翁排行榜上一探究竟。在这份榜单上,马克·扎克伯格以 175 亿美元的身价居于第 35 位。福布斯于日前发表了一篇标题为“马克·扎克伯格的财富进化史”(The Evolution Of Mark Zuckerberg‘s Wealth)的文章,作者 Ryan Mac 也明确了这个数字。在文中,他写道:

在 2011 年初期,他的净价值高达 135 亿美元。随后在接受 Goldman Sachs 和 DST 注资后,公司的估值飙升至 500 亿美元。在我们早期版本的福布斯 400 强和 2012 世界富豪榜上,扎克伯格的净值已经逐渐攀至 175 亿美元。

所以,可以放下半信半疑的态度了,开始惊呼吧。

事实上,类似的估价或者排名对马克·扎克伯格而言,早已是家常便饭了。自从 2004 年在哈佛宿舍里创造出 Facebook ,他就开始不断地面对这样的价值估算。最早在 2008 年的福布斯世界富豪榜上,他就曾以 15 亿美元的身价首次出现在榜单上,然后是 2010 年,以 40 亿美元的身价和 25 岁的年龄登上福布斯全球最年轻富豪榜的榜首。在随后的几年里,马克更是频频入选各大排行榜,包括:2010 年的亿万富豪榜、福布斯 400 强、权威人物,2011 年的亿万富豪榜、福布斯 400 强、权威人物,以及 2012 年的亿万富豪榜和《时代周刊》评选的“全球最具影响力的 100 人”——这些几乎已经是他的保留节目了。

北京时间 5 月 18 日,即将上市的 Facebook 确定将以每股 38 美元的价格发行 A 类普通股。据此价格计算,Facebook 的整体市值已经突破了 1000 亿美元的关卡,而它的创建者——这个酷爱套头衫和拖鞋的大男孩才刚刚过完他的 28 岁生日。

是日,我在手机上阅读着这条推送而来的消息,凝望着街上往来穿梭的各色人群,一时心绪翻滚,难以平静:

28 岁的时候,我们在干什么?或者,我们将会干什么?

当然,与马克·扎克伯格的比较可能毫无意义,甚至是自寻烦恼。每个人都有其价值,如果个人价值单以所创造的物质财富来衡量,未免有失公允。因此,与其执着于马克·扎克伯格的高昂身价,失落于彼此间的巨大落差,不如从其经历中汲取营养,或有裨益。

于是,我重新拜读了本·麦兹里奇(Ben Mezrich)的著作《Facebook:关于性、金钱、天才和背叛》。掩卷之后,再次体会到马克·扎克伯格的成功绝非一日之功,更非机缘巧合。有些事情看似显而易见,背后却是对未来局势的准确把握和预判。马克·扎克伯格对社交网络的先见之明和独到见解,是鲜有人能够企及的。

爱德华多·萨维林(Eduardo Saverin)是个鲜明的反例。他曾经和马克·扎克伯格一起创业,但是在 Facebook 蓬勃发展的早期,却忙于应聘纽约某个投资银行的实习生。要知道,初创公司最要紧的就是创始人的激情和抱负,牺牲与奉献,而萨维林忙于生计的举动,证明他不敢承担风险,也认识不到社交网络的巨大潜力。

如今,在 Facebook 上市之际,作为最初的四名创始人之一萨维林为了躲避 6700 万税款,决定放弃美国国籍,移民新加坡。要知道,拥有硅谷、华尔街等等顶级创投平台以及开放、自由的政策,美国堪称最佳的互联网创业环境。萨维林放弃的是日后创造无限财富的种种可能。这种短视行为还引起科技界更严厉的批评。Farhad Manjoo 在 Pando Daily 网站发表了一篇文章,指出萨维林能够取得今天的成就,离不开美国的教育及创新机制,而他如今的行为可以归结为不知感恩。

再回头看马克·扎克伯格的成功,正印证了《孟子·公孙丑下》一文对天时、地利、人和的绝妙诠释:

天时不如地利,地利不如人和。

马克·扎克伯格的非凡品质成就了 Facebook 今日的社交网络巨头,而 Facebook 的巨大成功又助马克·扎克伯格攀至人生顶峰。所以很难评价到底是谁成就了谁,只能说这种互为彼此的关系现在看起来如此的相得益彰。IPO 之后,融有巨资的 Facebook 又将是另一番大开大阖,我们看不到它发展的尽头,一如我们看不到马克·扎克伯格潜力的尽头。网络如同星空烂漫,是因为其间熠熠生辉的是创业者们智慧与汗水、激情与抱负,这是它无穷的魅力所在。

题图来自 Forbes

LG 将推出全新 Optimus UI 3.0 系统界面

LG 日前宣布将推出全新Optimus UI 3.0 接口,LG称最新界面外观既沉稳操作又简单。Optimus UI 3.0 最大改动就是锁屏接口,并且加载了 Quick Memo 工具等。本周在韩国发售的 Optimus LTE 2 以及未来推出的新机型均能见到最新界面。下面一起抢先看下 LG Optimus UI 3.0 的新功能及特色吧。

lg LG将推出全新 Optimus UI 3.0系统界面

- 滑动屏幕任何地方均能解锁

- 锁屏接口下也让快速开启常用程序

- 为新用户提供精简版 Optimus UI 3.0,将主要应用程序分组,方便存取。

- 语音快门,通过语音指令即能触发快门拍照

- 全新相机功能,可让使用者从多张照片中挑选出最佳的照片,包括按下快门之前一刻

- 接口可进行个性化设定,允许用户将程序图标和快捷方式换上自己的图片

- 在功能菜单中加入下载分类

为什么Android应该转为Go语言开发?

我能肯定大家最近都了解到了关于Oracle(甲骨文)正在向Google索要Java的专利费,因为他们认为Google开发的Android移动操作系统使用了他们的专利。这是非常荒谬的,Java的流行就是因为Java的大部分东西都是开源的。(这也不是Oracle第一次向别的公司索要专利费)。

在有很多更好的语言可以选择的情况下,为什么Google仍然还要使用Java来开发Android呢?Google最终选择Java的原因是因为Java非常流行,而且Java可以通过一定程度的定制完成底层的硬件操作(比如C),然而一些更高层的语言(比如JavaScript)并没有这种功能。一旦Google选择了这样一个非常流行的语言,对于开发者来讲,上手Android 开发也变得简单的多。

最近一段时间Android是最流行的移动平台,但是IOS的市场份额也非常接近。你知道IOS选择的编程语言么?对是Objective-C,除了开发苹果的产品之外,几乎没有人使用Objective-C。所以说苹果选择了一种不流行的,但是基本上是自己控制的语言平台。

Google确实需要为Android选择另外的编程语言,一个自己有更多的控制权限的语言,是否流行并不重要(比如IOS)。Google应该选择Go,在golang.org上我们可以看到:

Go is an open source project developed by a team at Google and many contributors from the open source community. Go is distributed under a BSD-style license.

Go是一个新的并没有多少用户的语言,但是Obective-C同样。Google是Go语言的奠基人,可以完全控制Go语言的发展。Go是在BSD协议下发布的开源语言,这意味着所有的开发者可以在任何地方使用它。另外,Go是一个操作系统级的语言。这里有一些关于Go的信息。

Go语言在现有的系统编程语言环境遇到困难时诞生了。程序设计变得如此的困难,而选择语言就是其中很大的一个原因。开发者不得不选择一个高效编译、高效执行且开发简单的语言,而这三种特性在现代的语言中并不会同时存在。程序开发者如果想选择简单胜过安全的语言,可能转向动态类型的语言,例如Python、JavaScript而不是C++、Java。Go语言是一个试图结合动态类型和静态类型,编译效率和安全性以及语言的易用性等众多特性与一体的一种尝试。他的另一个目标是支持现代的基于网络的、基于多核的计算。最后,Go还是非常快的,他可以在单个计算机上仅仅花费几秒时间构建一个庞大的应用程序。为了达到这些目标需要解决这些语言问题:灵活的类型系统、并发的垃圾回收、强制的依赖规范等等。这些东西不是旧的语言一些库或者工具可以处理的,这也就是他被称为新的编程语言的原因。

这里有我提到的三种语言的语法比较:

Go版本的HelloWorld:

package mainimport "fmt"func main() {    fmt.Println("Hello, World!")}

Java版本的HelloWorld:

class ArbitraryClassName {    public static void main(String[] args) {        System.out.println("Hello World!");    }}

Objective-C版本的HelloWorld

#import <stdio.h>int main( int argc, const char *argv[] ) {    printf("Hello World!");    return 0;}

OSCHINA.NET原创翻译/原文链接

JavaScript 注入攻击

什么是 JavaScript 注入攻击?

每当接受用户输入的内容并重新显示这些内容时,网站就很容易遭受 JavaScript 注入攻击。让我们研究一个容易遭受 JavaScript 注入攻击的具体应用程序。假设已经创建了一个客户反馈网站。客户可以访问网站并输入对产品的反馈信息。当客户提交反馈时,反馈信息重新显示在反馈页面上。

客户反馈网站是一个简单的网站。不幸的是,此网站容易遭受 JavaScript 注入攻击。

假设正在将以下文本输入到客户反馈表单中:

<script>alert(“Boo!”)</script>

此文本表示显示警告消息框的 JavaScript 脚本。在某人将此脚本提交到客户反馈表单后,消息 Boo! 会在将来任何人访问客户反馈网站时显示

 

的攻击。您可能还认为别人不会通过 JavaScript 注入攻击搞破坏。

现在,您对 JavaScript 注入攻击的第一反应也许是不理会。您可能认为 JavaScript 注入攻击不过是一种 无伤大雅

不幸的是,黑客会通过在网站中注入 JavaScript 进行破坏活动。使用 JavaScript 注入攻击可以执行跨站脚本 (XSS) 攻击。在跨站脚本攻击中,可以窃取保密的用户信息并将信息发送到另一个网站。

例 如,黑客可以使用 JavaScript 注入攻击窃取来自其他用户浏览器的 Cookies 值。如果将敏感信息(如密码、信用卡帐号或社会保险号码)保存在浏览器 Cookies 中,那么黑客可以使用 JavaScript 注入攻击窃取这些信息。或者,如果用户将敏感信息输入到页面的表单字段中,而页面受到 JavaScript 攻击的危害,那么黑客可以使用注入的 JavaScript 获取表单数据并将其发送到另一个网站。

请高度重视。认真对待 JavaScript 注入攻击并保护用户的保密信息。在接下来的两部分中,我们将讨论防止 ASP.NET MVC 应用程序受到 JavaScript 注入攻击的两种技术。

 

方法 1:视图中的 HTML 编码

 

阻止 JavaScript 注入攻击的一种简单方法是重新在视图中显示数据时,用 HTML 编码任何网站用户输入的数据

如:<%=Html.Encode(feedback.Message)%>

使用 HTML 编码一个字符串的含意是什么呢?使用 HTML 编码字符串时,危险字符如 < 和 > 被替换为 HTML 实体,如 &lt; 和 &gt;。所以,当使用 HTML 编码字符串 <script>alert(“Boo!”)</script>时,它将转换为 &lt;script&gt;alert(“Boo!”)&lt;/script&gt;。浏览器在解析编码的字符串时不再执行 JavaScript 脚本。而是显示无害的页面

方法 2:写入数据库之前的 HTML 编码

除了在视图中显示数据时使用 HTML 编码数据,还可以在将数据提交到数据库之前使用 HTML 编码数据。第二种方法正是程序清单 4 中 controller 的情况。

如:

public ActionResult Create(string message) 

// Add feedback 
var newFeedback = new Feedback(); 
newFeedback.Message = Server.HtmlEncode(message); 
newFeedback.EntryDate = DateTime.Now; 
db.Feedbacks.InsertOnSubmit(newFeedback); 
db.SubmitChanges(); 

 

// Redirect
return RedirectToAction(“Index”);
}

请注意,Message 的值在提交到数据库之前是在 Create() 操作中经过 HTML 编码的。当在视图中重新显示 Message 时,Message 被 HTML 编码,因而不会执行任何注入到 Message 中的 JavaScript。

总结

通常,人们喜欢使用本教程中讨论的第一种方法,而不喜欢使用第二种方法。第二种方法的问题在于在数据库中最终会保留 HTML 编码的数据。换言之,数据库中的数据会包含奇怪的字符。这有什么坏处呢?如果需要用除网页以外的形式显示数据库数据,则将遇到问题。例如,不能轻易在 Windows Forms 应用程序中显示数据。

附加:神一般的注入

这是一个有技术含量的号牌遮挡。我们先不说其是不是能奏效,不过,这个创意相当的NB啊。当你驾车通过某些路口时,被摄像头捕捉到你的车牌,通过OCR变成文本(图像识别技术,这里为车牌识别技术),然后他就DROP掉数据库,于是,上图的这个车牌就成了SQL注入。

SQL-injection-attackadjusted.jpg

 

出处 http://www.mhtml5.com/2012/05/4983.html

Mandriva Linux 回归社区

Mandriva 官方博客发布一篇简短的文章,该文章称,Mandriva SA 已经决定将 Mandriva Linux 发行版交由一个独立的实体进行管理,而 Mandriva 公司不再对该发行版进行控制。借此希望 Mandriva Linux 能在社区的努力下不断发展。而 Mandriva 公司也将支持直接的贡献者。

Facebook收盘38.2美元 SNS股均受挫人人跌21%

Facebook上市首日股价走势图

Facebook收盘38.2美元 SNS股均受挫人人跌21%

人人今日股价走势图

Facebook收盘38.2美元 SNS股均受挫人人跌21%

5月19日消息,今日凌晨Facebook上市后收盘股价38.23美元,较发行价38美元,上涨0.61% ,较开盘价42.05美元下跌3.82%。

值得一提的是,原本定于昨晚23点进行Facebook的公开交易却两度推迟,延时半小时。

虽然此番Facebook上市的融资达到185亿美元,市值达到1151亿美元,创下科技业最大规模IPO,但并没有刺激社交媒体类股票上涨,今天收盘,社交概念股股价集体下跌,国内的人人股价较上一个交易日的收盘价跌幅高达21%。

与此同时,一些投资人和券商也对Facebook上市后的前景进行唱衰。

SNS股集体受挫 国内人人股价跌21%

北京时间昨晚的23:30,交易正式拉开,Facebook开盘价42.05美元,开盘前5分钟交易额达45亿美元。开盘后,Facebook交易量迅速放大,股价快速拉升至42.4美元附近,之后又快速下跌,一度触及发行价38美元,之后又反弹。

今天凌晨0:07,Facebook报40.08美元,上涨5.47%;凌晨1:03,Facebook报40.87美元,上涨7.55%;最终收盘股价38.23美元,较发行价38美元,上涨0.61% 。当天最高股价45美元,最低38美元。

随 着Facebook的上市,SNS概念股的股价却集体受挫:职业社交网站LinkedIn股价开盘价106.17美元,报收于99.02美元,股价下跌 5.93美元,跌幅达5.65%;社交游戏厂商Zynga开盘价8.47美元,报收于7.12美元,股价下跌1.15美元,跌幅达13.91%;而中国的 人人网开盘价6.31美元,随后一路下跌,报收于4.92美元,股价下跌1.32美元,跌幅达21.15%。

业内知名评论人洪波也在接受腾讯科技的连线时表示,Facebook上市本质上对国内的人人和开心网并不会产生实质性影响。

“国内的社交网站和Facebook的经营模式、发展理念等完全不同,只不过投资人可以借助Facebook上市,在短期内来炒热社交概念,间接获益,长远来看,影响较小。”洪波如此强调。

华兴资本CEO包凡认为,国内社交网站开心网、人人网很难从Facebook上市过程中获得收益,因为两国市场差别很大。

券商给予卖出评级 不值得10年持有?

对于今天Facebook的股价走势,据国外媒体报道称,后来有近30家投行大笔资金进入来护盘。Facebook的承销商表示,开盘时间两度推迟,主因是散户买盘太大。

纽交所资深交易员鲍勃·海勒(Bob Heller)在纽交所接受腾讯科技采访时表示,Facebook并不是一支长期持有十年的股票,Facebook何时能真正盈利存疑,其用户年龄偏低,广告效果有限。

美国券商Pivotal Research Group则给Facebook打出“卖出”评级。

包凡接受腾讯科技专访时表示,Facebook上市长期看好,但伴随其上市,随即可能会迎来一个市场低谷。

在包凡看来,短期内,Facebook在过去很长一段时间就已达到上市规模,为何迟迟不上,却要选择这样一个时间点上市,而且大规模出售旧票,Facebook管理者扎克伯格及他的团队是最聪明的一批人、与华尔街同样最聪明的一批人做这样的事,背后肯定就有深层次原因。

包凡称,自己并不清楚深层次的原因是什么,但让人难以忘记的是,此前黑石上市,不久美国股市就遭遇了一场百年难见的金融危机,黑石股价随后一路下跌,导致投资者损失惨重,包括中投都没有避免。

SPDY 是什么?如何部署 SPDY?

[核心提示] 当老迈的 HTTP 协议逐渐不能满足人们需求的时候,Google 的 SPDY 协议出现在面前,那么这个长期以来一直被认为是 HTTP 2.0 唯一可行选择的 SPDY 是什么呢?当下我们如何能部署上 SPDY 呢?

左边是普通 HTTPS 加载,右边是 SPDY 加载。是不是很神奇?

SPDY 是什么 ?

SPDY 是 Google 开发的基于传输控制协议 (TCP) 的应用层协议 ,开发组正在推动 SPDY 成为正式标准(现为互联网草案)。SPDY 协议旨在通过压缩、多路复用和优先级来缩短网页的加载时间和提高安全性。(SPDY 是 Speedy 的昵音,意思是更快)

SPDY 与 HTTP 的关系

http-spdy

SPDY 协议只是在性能上对 HTTP 做了很大的优化,其核心思想是尽量减少连接个数,而对于 HTTP 的语义并没有做太大的修改。具体来说是,SPDY 使用了 HTTP 的方法和页眉,但是删除了一些头并重写了 HTTP 中管理连接和数据转移格式的部分,所以基本上是兼容 HTTP 的。

Google 在 SPDY 白皮书里 表示要向协议栈下面渗透并替换掉传输层协议(TCP),但是因为这样无论是部署起来还是实现起来暂时相当困难,因此 Google 准备先对应用层协议 HTTP 进行改进,先在 SSL 之上增加一个会话层来实现 SPDY 协议,而 HTTP 的 GET 和 POST 消息格式保持不变,即现有的所有服务端应用均不用做任何修改。

因此在目前,SPDY 的目的是为了加强 HTTP,是对 HTTP 一个更好的实现和支持。至于未来 SPDY 得到广泛应用后会不会演一出狸猫换太子,替换掉 HTTP 并彻底颠覆整个 Internet 就是 Google 的事情了。

为什么要重新建立一个 SPDY ?

距离万维网之父蒂姆·伯纳斯-李发明并推动 HTTP 成为如今互联网最流行的协议已经过去十几年了(现用 HTTP 1.1 规范也停滞了 13 年了),随着现在 WEB 技术的飞速发展尤其是 HTML5 的不断演进,包括 WebSockets 协议的出现以及当前网络环境的改变、传输内容的变化,当初的 HTTP 规范已经逐渐无法满足人们的需要了,HTTP 需要进一步发展,因此 HTTPbis 工作组已经被组建并被授权考虑 HTTP 2.0 ,希望能解决掉目前 HTTP 所带来的诸多限制。而 SPDY 正是 Google 在 HTTP 即将从 1.1 跨越到 2.0 之际推出的试图成为下一代互联网通信的协议,长期以来一直被认为是 HTTP 2.0 唯一可行选择。

HTTP 协议的不足

1. 单路连接 请求低效

HTTP 协议的最大弊端就是每个 TCP 连接只能对应一个 HTTP 请求,即每个 HTTP 连接只请求一个资源,浏览器只能通过建立多个连接来解决。此外在 HTTP 中对请求是严格的先入先出(FIFO)进行的,如果中间某个请求处理时间较长会阻塞后面的请求。

(注:虽然 HTTP pipelining 对连接请求做了改善,但复杂度增加很大,并未普及)

2. HTTP 只允许由客户端主动发起请求

服务端只能等待客户端发送一个请求,在可以满足预加载的现状是一种桎梏。

3. HTTP 头冗余

HTTP 头在同一个会话里是反复发送的,中间的冗余信息,比如 User-Agent、Host 等不需要重复发送的信息也在反复发送,浪费带宽和资源。

SPDY 协议的优点

1. 多路复用 请求优化

SPDY 规定在一个 SPDY 连接内可以有无限个并行请求,即允许多个并发 HTTP 请求共用一个 TCP会话。这样 SPDY 通过复用在单个 TCP 连接上的多次请求,而非为每个请求单独开放连接,这样只需建立一个 TCP 连接就可以传送网页上所有资源,不仅可以减少消息交互往返的时间还可以避免创建新连接造成的延迟,使得 TCP 的效率更高。

此外,SPDY 的多路复用可以设置优先级,而不像传统 HTTP 那样严格按照先入先出一个一个处理请求,它会选择性的先传输 CSS 这样更重要的资源,然后再传输网站图标之类不太重要的资源,可以避免让非关键资源占用网络通道的问题,提升 TCP 的性能。

2. 支持服务器推送技术

服务器可以主动向客户端发起通信向客户端推送数据,这种预加载可以使用户一直保持一个快速的网络。

3. SPDY 压缩了 HTTP 头

舍弃掉了不必要的头信息,经过压缩之后可以节省多余数据传输所带来的等待时间和带宽。

4. 强制使用 SSL 传输协议

Google 认为 Web 未来的发展方向必定是安全的网络连接,全部请求 SSL 加密后,信息传输更加安全。

SPDY 协议的意义

按照 Google 的说法,SPDY 被创造出来的唯一目的就是让 Web 更快(strive to make the whole web fast),其名字 SPDY(Speedy) 也似乎在暗示着这一点。那么 SPDY 的意义又在哪里呢?

1. 普通用户:

对于使用者来说,隐藏在浏览器下面的 SPDY 相比 HTTP 没有任何区别,但是我们可以感觉到 Google 服务在 Chrome 下异常的快,这就是 SPDY 的功劳了。此外网站信息传输加密后不用担心信息被截取等,大大增加了安全性和保密性。

2. 前端人员:

对于前端工程师们来说,提升页面效率是一件很重要的事情,目前大多采用像 CSS Sprites 等方法来优化网站,对于因为页面加载时每张图片、icon 都请求一个连接甚至采用在不同页面引用不同图片来降低一个页面内图片的请求数量。而现在有了 SPDY 的请求优化可以将请求顺序进行重排,这样可以在很大程度上缓解页面加载时图片请求带来的影响。例如像极客公园的报名页面,如果报名用户过多,例如极客公园2012年创新大会极客公园第 27 期长城会, 可以很明显的感觉出头像的请求会拖累整体页面加载变慢甚至变卡,相信对于这点,经常上淘宝或刷微博的会深有体会,一旦网速稍微慢点就会出现页面加载异常, 还有像苹果 App Store(除去服务器因为地区的延迟),豌豆荚这类应用分发平台上应用图标刷新缓慢等.

3. 运维人员:

SPDY 在降低连接数目的同时,还使得服务器上每个客户端占用的资源也减少,从而可以释放出更多内存和 CPU 。此外 SPDY 综合起来可以将浏览速度提升一倍,页面加载延迟方面的改进达 64% 。

众家支持的 SPDY 协议

如果你在使用 Chrome 浏览器,同时使用像 Gmail 等 Google 的网络服务的话,其实你已经不再是通过 HTTP 访问这些服务了。在浏览器打开 chrome://net-internals/#spdy 就会发现你已经在使用 SPDY 协议了。(除了包括 Google 自家的 Gmail、Google Plus 等 Google 系服务外,其他公共站点例如 Twitter 和 Webtide 也已经支持该协议。在国内,基于 WebKit 的豌豆荚 2.0 也曾表示将引进Chrome的SPDY技术来进一步提升速度

就像上图所示的那样,SPDY 的实现需要浏览器客户端和 Web 服务器同时支持。在客户端浏览器这快 Google自家的 Chrome 和Chromium 全系列不用说,都已经支持SPDY; Mozilla 家的 Firefox 自 Firefox 13 也默认开启对 SPDY 的支持。而亚马逊家的 Silk 利用 SPDY 的深度其实不比 Google 自家的 Chrome 和 Firefox 差。

在Web 服务器方面包括最流行和最广泛的 Apache 在内,Netty、Jeety、Varnish、Erlang 和 Hightide 应用服务器以及面向 node.js 的服务器也都已经宣布支持 SPDY。( Nginx 也表示将支持 SPDY

如何部署 SPDY?

近日 Google 正式发布了适用于最流行 Web 服务器 Apache 的插件 mod_spdy,将其下载安装后你的 Apache 服务器就能使用 SPDY 协议与兼容 SPDY 协议的浏览器如 Chrome、FireFox 等进行通信。像之前所说的那样,SPDY 是运行在 HTTPS 上,非 HTTPS 流量并不会受到 mod_spdy 影响。

SPDY 部署要求:

1. Apache 2.2 (≥2.2.4)
2. mod_ssl 模块开启

SPDY 部署步骤:

1. 下载 mod_spdy 模块

下载页面下载对应系统的安装包

2. 安装 mod_spdy 模块

在系统终端运行下面命令行

dpkg -i mod-spdy-*.deb
apt-get -f install

-系统为 Debian/Ubuntu

————————————————————

yum install at (if you do not already have ‘at’ installed)
rpm -U mod-spdy-*.rpm

-系统为 CentOS/Fedora

3. 重启服务器(Apache)

sudo /etc/init.d/apache2 restart (Debian/Ubuntu)

4. 确定开启与否

打开 Chrome 浏览器,输入并前往 chrome://net-internals/#spdy 页面,查看主机名称是否出现在标识栏中。如果出现说明已经部署完毕,如果没有出现去服务器错误日志(error.log)里查询。

未来的web基础?

在最新的协议文档里 Google 重新将 SPDY 分为了两层,其中一层被描述为 HTTP-like,大有取代 HTTP 的意图(Google 最近的一篇文章已经直呼 SPDY 为“a replacement for HTTP”)。同时 HTTP 2.0 标准制定工作组(HTTPbis)也表示,SPDY 很有希望接替当前的 HTTP 传输实现

考虑到 Chrome 和安卓的份额以及标准的推动,相信 SPDY 会有一个好前景。因此选择此刻支持 SPDY 也是明智的选择。