大规模视频网站的计费与流量管理
本次分享将会就大规模视频网站的计费与流量管理这个话题,从操作层面细细进行讲解和分析,为系统工程师们揭示平日里我们没有关心的另一些内容。同时也希望本次分享能揭示行业中的一些“潜规则”,让互联网行业的流量与带宽管理更为开放与简洁。
本次演讲视频录制于QCon杭州2011。
该内容已经被标记书签!
标记书签错误,请重试!
作者 Robert Bazinet 译者 赵斯思 发布于 2008年8月28日
一个为有Ruby on Rails开发经验的人设计的、使用IronRuby构建应用程序的新项目诞生了。这个项目被被称为IronNails,已经为向开发者发布做好了准备。
IronNails是Ivan Porto Carrero(开发者、作家和Ruby爱好者)开发。Ivan向其它开发者开放了代码以便于使用及进一步的开发。他将IronNails描述为“与Rails类似得面向IronRuby和WPF/Silverlight开发工具”。InfoQ采访了Ivan,和他聊了聊IronNails。
我们向Ivan问到,IronNails是什么:
IronNails应该成为一个IronRuby专属的gem包,它将Rails的开发风格带进WPF和 Silverlight中。这意味着它应该有生成器、类似的启动命令行脚本、一个插件框架等。同时我希望它能利用现有工具(如Blend和 Ilustrator)在布局上的优点。Blend是一个为设计师开发的用来设计图形界面及互动的工具。这就是说可以只使用XAML文件或者甚至是 XAML DSL以创建视图。
通过定义一系列行为,设计者可以像在Blend里一样拖放各种行为。行为包括左键单击、悬浮(进入/离开)等。开发者接下来可以将欣慰连接到一个具名的命令,这个命令连接到一个控制器动作。这在WPF可以通过附加属性(依赖对象)实现。其中将有很多工作要做。
这个项目很有意思,它需要运行在IronRuby下,但IronRuby还没发布,我们想知道为什么这个框架被提前创建:
现在我正在为Manning写IronRuby in Action这本书,在探索结合使用IronRuby和WPF的可能性时它出现了,它看起来是个不错的主意。
我体验过界面构建器和Mac上的ruby cocoa,喜欢Rucola项目的呈现方式。Rucola的目标和IronNails是一样的,只是它是基于cocoa的。cocoa对于视图的理解与 Microsoft是不同的,这就是为什么IronNails使用的一些概念也不同。Eloy是给我指了这条道路的人,也许他会读到这篇文章。它应该做的是让你能够使用e-editor/Textmate或其它你所喜欢的编辑器进行有效地开发。它应该和Test::Unit及RSpec很好地集成,以解决Rails框架为web开发所解决的同样的问题。
我喜欢使用MVC模式进行web开发,并且我发现它非常适合我大多数的项目,所以我希望将同样的方式带入WPF和Silverlight开发中。
对于一些新的工具或框架,创建者对于其的定义往往与社区对其得观感完全不同,你如何定义IronNails的目标用途:
但你看到它是适合的:) 但是我认为它应该使你能使用手中最好的工具进行设计和排版,恕我直言,你最好不要使用一种视觉元素的工具进行这些工作。若手边的工作是编码,则一个编辑器或者一个更重量级的IDE就足够了。最后,你应该使用IronNails < >, 它将为你建立一个应用程序的骨架。之后你可以使用命令行工具生成控制器、模型和视图。一个新建立的视图将被添加到csproj文件中,这时候设计器就可以 往里添加内容了。正如我提到的,设计器可以为任何元素定义行为,开发者可以重定它们到具名的动作。设计者可以使用他们选择的工具建立故事板等。
框架有一些预定义的文件夹用来查找主题(Skin)。主题包括应用程序的模板。视图包含数据绑定控件和一般布局,但是这里分离内容到模板并存放到主题文件中(资源目录)。这样内容和布局很好地分离,你可以很轻松地创建新主题或者完全不同地呈现数据。
IronNails为IronRuby和WPF/Silverlight增加了新功能,关于新增价值的类型:
它实现了模型-视图模型-视图-控制器这个看起来在WPF中很流行的模式。它是基于一些解耦代码和XML的最佳实践的概念建立的。在绝大多数情况下你不需要在后台代码中做任何事情,因为视图模型负责提供命令并连接视图和控制器。
它提供Rails开发者熟悉的经验以实现这些。它使用元编程来生成视图模型,使你能够绑定至你在控制器中定义的对象。你可以定义你自己的视图模型以添加行 为,但你并不需要。需要遵守一些命名约定,然后它就能工作了。它使开发更加的可测试,并且紧密地与流行的Ruby测试框架绑定。
Microsoft宣布IronRuby将在2009年第一季度发布,还有如此多得工作需要完成的情况下,IronNails需要等待它的完成。Ivan对于IronNails的未来的想法:
目前我不能完全按我的预想中实现IronNails,因为IronRuby缺少一些特性。当越来越多特性在 IronRuby中实现,我们会去除其中更多得C#代码将其转入Ruby代码基础。目前在XAML不能绑定到纯DLR,但是在将来这将变成可能。当前代码 基础中有一些技巧和规避措施,当IronRuby支持这些特性后这些代码也将被替代。
如前面所说它是我为我的IronRuby书而写,但是现在看起来它足够被试用了,所以如果社区有兴趣,这个项目将会持续进步并更上语言和框架的发展。
作为一个开源项目,常常会有外界的开发者帮忙,Iven说他乐于接受帮助:
IronNails寄居在GitHub。他们可以通过GitHub的分叉和推动系统提交补丁以加入这个项目。他们也可以把他们的GitHub用户名通过Email发给我,然后我将他们添加到项目中。还有一个Lighthouse项目可以提交评论。我接受任何形式的帮助,如代码、文档、测试等。
我期望我不会更多地投入到代码中,直到我写完了我的书。我也许每个月只能花两小时在它上面,所以我也期待社区能维护它直到我能投入更多的时间。
更多关于IronNails的信息可以从Ivan的博客中找到,IronNails可以从GitHub下载。
查看英文原文:Talking with Ivan Porto Carrero about IronNails
本次分享将会就大规模视频网站的计费与流量管理这个话题,从操作层面细细进行讲解和分析,为系统工程师们揭示平日里我们没有关心的另一些内容。同时也希望本次分享能揭示行业中的一些“潜规则”,让互联网行业的流量与带宽管理更为开放与简洁。
本次演讲视频录制于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。
本文将对特性注入以及相关方法做一个扫盲性的介绍。我们会解释这个框架的关键要素,并附上实例来证实它们。为了让文章保持相对较短,我们不会深入到某个工具或方法中,而是会给出一些参考资料,以便大家做进一步的研究。
1 条回复
关注此讨论 回复