大规模视频网站的计费与流量管理
本次分享将会就大规模视频网站的计费与流量管理这个话题,从操作层面细细进行讲解和分析,为系统工程师们揭示平日里我们没有关心的另一些内容。同时也希望本次分享能揭示行业中的一些“潜规则”,让互联网行业的流量与带宽管理更为开放与简洁。
本次演讲视频录制于QCon杭州2011。
该内容已经被标记书签!
标记书签错误,请重试!
作者 Matthew Bass 译者 张凯峰 发布于 2008年6月30日
低调(Unobtrusive)JavaScript是一种正在浮现的技术,它能将JavaScript从HTML标记语言中分离开来。这非常类似于上世 纪90年代CSS的诞生所带来的页面样式和HTML的分离。比如,唐突的JavaScript写法会直接为某个文本框添加onClick事件处理器,就像 这样:<input id="field" onclick="alert('hello')" />
而低调的JavaScript会一直等到页面全部加载完毕,才会把事件处理器跟文本框连接上:<script type="text/javascript">
Event.observe(window, 'load', function() {
Event.observe($('field'), 'click', function() {
alert('hello');
};
});
</script>
<input id="field" />
这样写能够使HTML代码(在这个例子中就是我们的input标签)保持干净,并为开发者提供单一引用点来调试 JavaScript代码。低调JavaScript提倡将代码存储在外部的.js文件中,反对将其嵌入在HTML页面内的<script> 标签中。虽然这个范例占用了多行代码,但稍微大块点的JavaScript可以带来更加清晰和简洁的结构。
低调JavaScript的其他一些好处包括:
当与像Prototype这样的开源库结合使用时,会更加容易创建低调JavaScript。甚至有一些现成的框架专门设计用来将唐突的JavaScript转换成低调的JavaScript。
比如Low Pro,为Prototype添加了一些有用的帮助函数,可以显著地改善对浏览器事件模型的访问,并提供一个行为库来方便地连接低调JavaScript触发器。我们上面的示例使用Low Pro可以写成这样:
<script type="text/javascript">
Event.addBehavior({
'input#field:click' : function(e) {
alert('hello');
}
});
</script>
<input id="field" />
这样,行为在页面完成加载后就自动连接在一起。还可以使用CSS选择器来添加其他的行为,比如为触发选择元素。
随着AJAX网站数量的稳步增长,JavaScript在web应用开发中变得更加重要。保持JavaScript低调可以更加简单的开发出炫目的特性。它也使得维护这些网站变得更加容易,成本更少。
查看英文原文:AJAX developers continue migrating to unobtrusive JavaScrip
译者 张凯峰 InfoQ中文站编辑,有多年软件开发和测试经验,热衷参与技术社区与技术传播。
如题,请参考英文原文,InfoQ的编辑要把好质量关呀!
unobtrusive翻译成“低调”不太适合。这个单词应该不是简单的直译。推荐翻译成“无入侵”。意为“javascript脚本和html保持相对的独立”,符合web标准的“结构与行为分离”。
谢谢批评指正!
unobtrusive包含无入侵的意思,结构与行为分离是它的部分含义,但是不止是无入侵。我的理解,它还有让JavaScript尽量的跨平台,尽量不“打扰”页面的意思。就是说不能因为JavaScript代码中的错误让页面无法显示。这样看,低调似乎更接近它的意思。
维科英汉词典
unobtrusive
adj. 不打扰的, 不多嘴的, 不带侵略性的, 不冒犯的, 谦虚的, 客气的
严重同意翻译为“无入侵”
“无入侵”已经是一个大家都公认接受、容易理解词汇了。为什么还要另外发明呀。
想起来传闻很久的徐某翻译的《UML精粹》了
$(function() {
$('field').click(function() {
...
});
})
觉得不光是“无入侵”,还有让用户体验更好的意思!
支持用“无入侵”,虽然原文这种分离会带来用户体验更好等好处,但本质而言,这种把html和js分离的方式是其实就是传统意义上的“无入侵”。而其它的优点可以视为由“此(无入侵)”所带来的。所以没有必要另外发明一个词汇,来表达这个事件本身及其优点。这会带来困扰。技术界莫名的词汇已经太多了。
这个有点片面。分离的本意是对的。无入侵的原则也是对的。
但是用事件这个例子却不合适。
因为用ie等浏览器的原生事件支持,可以节省大量的脚本初始化时间,如果用脚本事后加事件,当面临着大量数据的时候(例如,你给页面搞个200行表格,然后给每行价格鼠标悬停事件,看看效果),会造成页面加载完毕后卡顿一下的。分离式趋势
你不知道什么是事件冒泡吗?用得着给每行加事件吗?给表格加一个事件就可以了。而且,比内联方式省下大量字节。
而且ie分析html时没有大量js会大大加快表格显示速度。
本次分享将会就大规模视频网站的计费与流量管理这个话题,从操作层面细细进行讲解和分析,为系统工程师们揭示平日里我们没有关心的另一些内容。同时也希望本次分享能揭示行业中的一些“潜规则”,让互联网行业的流量与带宽管理更为开放与简洁。
本次演讲视频录制于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。
本文将对特性注入以及相关方法做一个扫盲性的介绍。我们会解释这个框架的关键要素,并附上实例来证实它们。为了让文章保持相对较短,我们不会深入到某个工具或方法中,而是会给出一些参考资料,以便大家做进一步的研究。
10 条回复
关注此讨论 回复