Posts Tagged "Ajax"

一个周末掌握IT前沿技术之node.js篇<六>:Node.js与客户端模板引擎

窗外阳光明媚,深蓝的天,淡淡的云,还有北归的雁。


我们已经学习掌握了这么多的IT前沿技术元素,那么把他们系统地组织在一起,可以形成什么?学习和理解这一章中的例程,需要用到前面学到的所有知识。


六. Node.js与 客户端模板语言


用JavaScript编写服务器程序有一个很大的好处,那就是因为网页客户端程序也使用JavaScript,所以服务器和客户端可以相互重用部分数据处理的逻辑。比如说,第三章中曾使用过的模板引擎nTenjin,我们将它引入到网页之中,这样的话我们的网页客户端也具有了模板的处理能力。

在第三章中,我们已经可以在服务端处理网页模板并实现类似PHP的动态网页功能。为什么这里还要让网页客户端来处理模板呢?那是因为,在现代高性能服务器架构中,我们希望前端服务端所做的逻辑处理越少越好。一些面向客户端的计算,包括一些图片处理、文字处理、样式处理等,我们希望由客户端来完成。面向大数据的计算则交给云端完成。甚至于我们希望,前端服务端只提供高速的动态数据呈现服务。下图就是我们本章要实现的高性能服务器架构:

在第三章的例程5中,服务端JavaScript逻辑解析nTenjin模板,并根据传入的数据生成HTML动态网页。我们要让解析模板和生成网页的计算在网页客户端中完成,服务器需要告诉网页,模板是什么,给模板传入的数据是什么。下面我们搭建一个RESTful-API服务器为网页客户端的Ajax请求提供模板和数据。


6.1 RESTful-API …
Read the rest of this entry »
 

一个周末掌握IT前沿技术之node.js篇<五>:Node.js与Nginx

早上好!一夜的休息让我们精神饱满。窗外阳光满满,微风轻轻。让我踏上征服IT前沿技术的旅程。

昨天我们学习了JavaScript以及Node.js的基本特性、连接数据库、服务端模板和RESTful-API,今天我们要将这些点系统地组织架构起来,搭建轻轻松松处理数万用户的高性能的web应用服务。首先我们需要用到一个神器,它叫Nginx。

在互联网服务器架构中,我们可以经常听到LAMP(Linux+Apache+Mysql+PHP/Python/Perl)架构。它最早出现在1998年,是一种非常优秀的架构。有一个绿色工具XAMPP可以帮助你一键部署一个LAMP环境。

XAMPP下载地址:{官网}

在web2.0时代,这是最流行的架构环境。然而随着技术的发展,这种架构逐渐地被超越被取代。Nginx拥有超越Apache的卓越性能;有了更方便的redis和更强大的HBase,我们不再需要把什么数据都存在Mysql中;我们正在学习的Node.js比PHP更强大,比Python/Perl更专注于网络开发。似乎唯一不能取代的就是Linux。只是我们在两天学习过程中,完全不需要搭建一台Linux服务器。相信只要在编译的时候加几个参数,一台高性能的web应用服务器,完全可以运行在一个Android手机或iPad上面。

题外讨论:《变化》
变化是唯一的不变,我们要用发展的眼光看问题。一直以来LAMP是最好的服务器架构,它在性能、开发成本、部署成本等各方面确实优于同时代的其他一些技术。是否听说过tomcat、Servlet,asp.net甚至于IIS。虽然这些技术也不乏使用者,存在就有它的理由。有一些全世界都在等(world wide
Read the rest of this entry »
 

一个周末掌握IT前沿技术之node.js篇<四>:Node.js与Restful API

从长远来看,一个组织唯一可持续的竞争优势,就是比对手更好更快的【学习能力】。如果你一鼓作气,和我们一起学习到这一章,现在已是深夜。这章内容并不难,例程也很简单,但是很重要。这章会告诉我们,为什么Node.js更适合现代服务器架构。让我们喝杯咖啡,把这章学完。

“互联网”越来越是API和服务,而不是网站、应用、和网页。看完上一章,你可能觉得在实现服务器模板方面,Node.js并没有太多超越HTML内嵌式动态网页语言的地方,那么,作为web-service服务器将是Node.js最好的用武之地。我们不准备去深究什么是web-service以及它的各种描述规范。因为现在,我们不用再去深入地了解RPC、SOAP、UDDI、WSDL等等概念,我们只需要知道RESTful就可以了。经过技术的发展,REST(REpresentation State Transfer)作为最优秀的web-service协作规范,简化了客户端和服务器的实现,强大功能,可扩展性好,安全可靠。所以2000年Roy Fielding提出的REST协作规范,已经成为了现在各种网络应用API的普遍原则。开放平台和开源工具都以提供RESTful-API为首要优先级。那么什么是RESTful-API呢?看看能不能理解这个比喻。有一堆兔子围着老狼问,“老狼老狼,几点了?”老狼看看太阳回答,“3点了!”兔子和老狼之间的接口就是RESTful-API。“老狼老狼,几点了?”就是客户端RESTful请求,“3点了!”就是服务器RESTful响应。老狼不管是那只兔子问的,这只兔子问过没问过,这就是无状态性。老狼在天黑以前只能回答兔子的问题,不能干别的,这就是分离性。专业一点的定义应该是这样的:

《REST规范》
总结REST有两个最重要的原则:
1.分离性;交互的客户端和服务器除了RESTful-API没有其他的依赖关系,限制了整个系统的复杂性,促进了各个部分的独立性。
2.无状态性:客户端和服务器之间的交互在请求之间是无状态的,从客户端到服务器的每个请求都必须包含理解请求所必需的信息。

满足上面规范的API接口就是RESTful-API。客户端常常通过HTTP方法(GET、POST、PUT、DELETE等),来发送API请求;服务端常常以JSON数据作为响应。做好web开发,我们必须非常深刻地理解http/TCP/IP协议栈。我们可以通过浏览器访问发送HTTP …

Read the rest of this entry »
 

一个周末掌握IT前沿技术之node.js篇<一>:Node.js与javascript

当今企业间的竞争,本质上是学习速度的竞争。在这样一个信息过载的时代,技术人员往往淹没于各种大量出现的新技术、新概念、新名词之中,应接不暇。然而这些新技术大部分出自于美国。有一个问题被严肃地提了出来:是跟随?还是超越?在一个闲适的周末,阳光满满,泡上一壶绿茶,借着清新的茶香,我们将学习一下近些年被IT领域密切关注的一些前沿技术。用周末的两天时间,我们将围绕Node.js为中心,学习JavaScript、redis、Nginx、HBase、JQuery、Ajax、HTML5等等这些可以构成新兴IT公司的技术元素,通过周末两天的学习,掌握这些技术元素的核心概念并可以将它们应用IT产品的技实现中。如果你的绿茶已经泡好,那么就让我们开始吧!

上面提到的这些技术元素之所以被密切关注,是因为它们可以帮助新兴IT公司以较低的开发部署成本,获得高性能的web应用服务的快速实现。“快速”、“低成本”、“高性能”是这些技术元素的目的,也是技术进步的要求,是新兴IT公司快速发布并迭代产品的技术需求,我们将反复提到。我们假定读者具有一定编程经验,懂得任意一门编程语言,了解IP/TCP网络的5层结构,http协议。我们将深入分析各个概念模型,上机实践每一个例程,并理解每一行代码的运行机理,浏览每一个链接。通过两天的学习,希望我们可以获得“用低成本的硬件资源和简单的开发方式,搭建高性能的web应用服务”的能力。

Google一下什么是

Read the rest of this entry »
 

无觅相关文章插件,快速提升流量