大规模视频网站的计费与流量管理
本次分享将会就大规模视频网站的计费与流量管理这个话题,从操作层面细细进行讲解和分析,为系统工程师们揭示平日里我们没有关心的另一些内容。同时也希望本次分享能揭示行业中的一些“潜规则”,让互联网行业的流量与带宽管理更为开放与简洁。
本次演讲视频录制于QCon杭州2011。
该内容已经被标记书签!
标记书签错误,请重试!
作者 Dionysios G. Synodinos 译者 杨晨 发布于 2009年7月19日
作为Java未来的后继者之一,Scala最近受到了大量关注。Groovy的创始人James Strachan和James Gosling、Charles Nutter一样,是Scala的拥趸,后两人分别是Java的创造者和JRuby的核心开发者。
James首先解释了他不喜欢的Java特性:
Java是一个令人惊讶的复杂语言(规范有600页,但是有人的确对Java的特性心领神会了吗?),表现在它的自动装箱 (在这里隐藏了可爱的NPE),原生类型,讨厌的数组(它们不是collection,而且由于缺少多态性,对于通用数据结构和bean特性需要很冗繁的 语法,并且仍然没有闭包(即使在JDK7中),导致了大量令人烦躁的try/catch/finally的语句,除非你使用包含了全新自定义API的架 构,但是这样会导致语言更加复杂。Java甚至有类型引用,不过我们还是不要使用它来存储任何typing/reading。
尤其是没有Java7(即使在Snorcle之后它显得更加有意义 - 我想知道javac是否会被jdkc取代?我猜javac已经达到其巅峰;而且闭包看起来不会带来任何的简化或者进步),这个问题表现得更加严重。
他看起来已经被Scala深深影响了,尤其是当他说到如果那个时候有可用的Scala,那么他不会一开始就去发明Groovy:
老实说,如果在2003年就有人给我介绍了Martin Odersky Lex Spoon和Bill Venners的Programming in Scala,那么我很可能不会创造Groovy。
当然,也有一些Scala的特性他不是那么热衷:
对于任何一门语言来说,都有你喜欢和不喜欢的东西。Scala给我的早期印象的确看起来它在尝试使用一点更多的符号,但是你不需要全部使用。如果你喜欢,你可以仍然使用Java风格的OO。但是我想未来为“特殊物体”使用符号来避免和标识符冲突。
我不是嵌入import语句的狂热粉丝,使用_root_.java.util.List来区分从相对import 中得到的“全局”import。我更喜欢子前缀,例如,如果你从com.acme.cheese.model.Foo导入,那么导入 model.impl.FooImpl的时候,我喜欢使用一个相对前缀,也就是说,导入_.impl.FooImpl将会使事情简化,而且和Scala在 简化和删除冗余代码(导入java.util._是多种类型的)保持一致。
任何时候和Java相比,James都认为Scala好太多了:
Java的不足可以比作大量的毛疣,那么同样在Scala中,这些地方正是表现了Scala的美、简化和强大。
Adam Bien在他的博客中指出,即使是Java之父James Gosling,看起来也是对Scala喜爱有加:
在一个社区(java.net booth)举办的和James Gosling对话会议上,一个与会者问了一个非常有意思的问题:“除了Java,现在你会把哪种语言运行于JVM之上?”。答案是惊人地快速简洁:Scala。
Charles Nutter,JRuby核心开发者,他也认为和Groovy和JRuby相比,Scala更可能替代Java:
我必须说Scala看起来是是现在Java王座的继承人。其他在JVM的语言看起来不可能有Scala那样的能力来取代 Java,Scala背后的推动力是无可置疑的。Scala还不是一个动态语言,但是它有许多流行动态语言的特性,例如它的灵活富类型系统,稀疏和简洁的 语法,函数式语言和面向对象范式的完美结合。Scala的缺点:“太复杂”或者“太丰富”,但这些可以通过编码规范很好避免,从而构建更健壮的编辑器和工 具,以及指导多语言开发者明白如何更好地使用Scala。Scala是JVM上静态语言的重生,它也像JRuby那样延伸平台的性能,这些都是Java做 不到的。
Scala现在已经是今年JavaOne的一个主题,有一些相关的议程,而且在大会的最后一天甚至会有一个开放的讨论。
你怎么想呢?Scala是不是在将来最合适取代Java的语言?或者,Java是最后一门巨型语言(LBL)?
查看英文原文:Roundup: Scala as the long term replacement for Java
译者 杨晨 对数据库和搜索引擎有深入了解,尤其擅长经典计算机科学理论,对历史学兴趣浓厚。
多少年下来,语言生产力已经落后于目前的主流语言不是一点两点了。
相比之下C#进步的也太快了吧
关于这一点,我有一些古怪的感觉。
有时候我觉得C#进步的很稳当,因为例如C# 3.0及之前的改进,都是顺利成章,非常优雅有用的。
但是C# 4.0一下子加入了协变/逆变,这一下子就不得了,开始绕脑了。
但是协变/逆变的支持却只针对接口和委托,类不支持,有点半吊子的感觉。
同样,C# 3.0的Lambda表达式,虽然有了一般情况下可用的类型推导,但是实现的也半吊子。
还有C# 4.0的表达式树,虽然支持statements了(以前只有expressions),但是编译器没跟上……还是半吊子……
没有哪一门语言会取代谁,只会在一个系统里运用多门语言
PS:James Strachan虽然是Groovy的创始人,但是他早就退出Groovy的社区了,所以不要再拿他说事了,如果他不发明Groovy,也会有其他人来发明的
因为复杂所以强大,每种语言都有优缺点
“取代”和“并用”并不矛盾,并不是说语言“并用”了就不会产生淘汰了——我是指一门语言在工程应用中的消退,不是指真正灭亡。只要同一平台某语言全方面胜出,就容易产生更替,就算没有更替,也不是因为“并用”,而是其它原因(例如历史系统维护)。
还有,这和James有没有退出Groovy社区又说明了什么?这和他的能力,他的专业性有关系吗?为什么我们一边排斥“屁股决定脑袋”,一边又要“看着别人屁股才听他说话”呢?
说得那么复杂,没见到Scala好在什么地方
这玩意到底有没有独门绝技
不能说人家媳妇丑,就等于你家媳妇漂亮。
www.infoq.com/presentations/Scala-Jonas-Boner
这是jboner的演讲,作为概述还是很不错的。
主要是meta-programming
感觉翻译的水平有点差
scala这种把各种特性强捏在一起的东西居然说成优美。。。
我相信scala
scala 感觉好麻烦 。。。。。。。。。。。
入门后就不会这么认为了
本次分享将会就大规模视频网站的计费与流量管理这个话题,从操作层面细细进行讲解和分析,为系统工程师们揭示平日里我们没有关心的另一些内容。同时也希望本次分享能揭示行业中的一些“潜规则”,让互联网行业的流量与带宽管理更为开放与简洁。
本次演讲视频录制于QCon杭州2011。
Jeffrey Richter以其多本Windows核心技术的经典著作而闻名,同时,他深入掌握微软的.NET等一系列核心技术,2012年1月,Jeffrey Richter在北京接受了InfoQ中文站的专访,谈到Windows 8和WinRT编程,并就异步编程、Windows编程中的可扩展性、性能和安全性方面给出自己的建议。
云计算平台的可用性,相比传统互联网服务而言,更加复杂和困难,也更具有挑战性。本文借助新浪SAE云平台为读者讲述了云平台可用性的定义、如何打造高可用的平台,以及对云计算的用户提出了建议。
淘宝高度重视Java平台的健康发展,组建了一个团队专注于Java平台的底层部分的性能、功能与稳定性改进;工作主要基于OpenJDK中的HotSpot VM开展,其中一些通用的功能随后也会逐渐反馈给OpenJDK社区。希望能与使用Java平台开发应用的大家交流经验。
本次演讲视频录制于QCon杭州2011。
2011年4月21日至22日是值得云计算从业者纪念的日子。Amazon的IaaS服务出现故障,导致许多商业网站的服务中断,影响非常严重。作为云计算用户,我们需要思考的是,如何保证即便在云服务不可用的情况,我们的应用架构仍然能够屹立不倒?本文正是站在云计算用户的角度试图探讨这一问题。
12人的技术团队,4组刀片服务器,每月20亿的访问量,每日1次准时部署,99.9%的可用性。这可能吗?当然。想知道如何做的吗?百姓网将与您分享他们在DevOps实践过程中的经验和技巧。
本次演讲视频录制于QCon杭州2011。
篱笆作为一家起源于社区的电子商务公司,反映到技术层面就是同时要面对产品和业务,以及经营战略的变化调整。如何在产品和业务的夹缝之间完成技术架构的抽象与平衡,寻找更有效的价值定位,这当中有些经验教训和个人感悟愿与众人分享。
本次演讲视频录制于QCon杭州2011。
本文将对特性注入以及相关方法做一个扫盲性的介绍。我们会解释这个框架的关键要素,并附上实例来证实它们。为了让文章保持相对较短,我们不会深入到某个工具或方法中,而是会给出一些参考资料,以便大家做进一步的研究。
14 条回复
关注此讨论 回复