学习NodeJS第一天:node.js介绍

学习NodeJS第一天:node.js介绍

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

学习NodeJS第一天:node.js介绍此处内容已经被作者隐藏,请输入验证码查看内容
验证码:
请关注本站微信公众号,回复“”,获取验证码。在微信里搜索“”或者“”或者微信扫描右侧二维码都可以关注本站微信公众号。

Node.JS 前辈 C 程序猿 Ryan Dahl(http://four.livejournal.com/)工程,根据 Google 著名的开源 JavaScript 发动机 V8 对于二次开发 Web I/O server(http://nodejs.org/)。V8 是很快的 JavaScript 引擎。处理 JS 执行执行的速度很高。

相关測试表明,FireFox、Opera 和 IE 的 JS 引擎速度都不及 V8 来得快。并且,还能够说。仅仅要浏览器之间的 JS 引擎大战一日不减,NodeJs 就能够从中受益。有竞争才有进步:)。

学习NodeJS第一天:node.js介绍

学习NodeJS第一天:node.js介绍

NodeJS 基本使用方法也是十分简单明了的,我们看看一下这一句,就是最简单的代码:

以上语句 var http = require(‘http’);http.createServer(function (req, res) {…}); 就是创建一个 HTTP server,侦听来自client的请求。匿名參数中的 req 和 res 分别代表请求对象和响应对象。NodeJS 把逻辑语句写在一个函数中。说明创建server createServer() 连这一步骤都是异步的!并且除此之外,req 也有相关的异步操作:

这样就对请求 req 登记了 end 的事件。

在请求结束时通过 sys.puts 方法增加”request end”。在使用事件的过程中。实质也算是一个异步过程。非同步的。

从宏观层面看以上的演示,上面不过一个比較底层的操作。都是低层次的控制,不足以提供很多其它 High Level 逻辑。要增强 NodeJS 这个平台功能,我们能够使用其它环绕 NodeJS 而开发模块,甚至是一个初具规模的“框架”,——当中一个就是 Express(http://github.com/visionmedia/express)。安装 Express 的前提是安装还有一个依赖包:Kiwi(http://github.com/visionmedia/kiwi),然后键入kiwi -v install express 才干够正式安装 Express。安装好 Express 之后,立马输入以下代码測试一下:

Express 执行的 URL 和port是 http://localhost:3000。默认请求的规则都会被转移到 /hello/world 文件夹,返回 ‘Hello World’ 的字符串。訪问 /goodbye/world 文件夹就返回 ‘Goodbye World’。Express 之所以被称为一个“框架”,应该还有其它的功能在内,比如请求路由、渲染视图的其它高级功能。

Webserver的事件编程其意义
我们知道而且十分清楚,JavaScript 是单线程的(就当前流行的 js v1.5而言),怎么避免 I/O 通道上的堵塞(block)呢?

——基于事件驱动(Event-based)的编程或者或者是一种可行之道,为不少后台程序解决线程/堵塞之用。自从 Viusal Basic 流行起,基于事件驱动的编程模型在GUI之上早已为我们所熟悉,存在非常长的一段时间了。若说上早期的开发,那时我们常常的一个做法。就是在main()方法写一个无限循环(while(true) loop),从而获得控制不论什么时刻程序的能力,亦算是一种朴素的“事件”模型。

我们清楚。JavaScript天然是Function First Level的,对一个函数还能够送入一个函数的參数(即传入一个闭包closure),换言之,JS天生与事件驱动的编程是不谋而合,相得益彰的。

鉴于此,Node.js的事件编程理念的确是一个亮点。

另外一点,高并发的 Web server一直乃久经不衰的热点和话题,或许有非常多的解决方式。性能达到一定的指标也没有问题。只是问题是,因而。在保证并满足性能达标的前提下。却非常少见一个自然、适合编写业务逻辑的开发平台。以 JavaScript 为开发语言的 NodeJS 正好符合这一需求,一种符合大多数人需求的 DSL(预计 js 玩家数量可观得能够……)。

比如,一个简单的计数器设计,我登录某个 url。就触发一个计数器的事件,十分自然。

当然,更重要的是,还是 JS 的语言特征。即 Function、闭包、相似的 C 语法、精炼与简洁的风格等等,尤其 Function,简直为事件模型而生,轻松吻合 node.js 异步机制的理念,才是真正吸引玩家去乐此不疲的原因。

虽然 NodeJS 如今还很的年轻,也没有久经世故,只是值得可喜的是,如今涌现了一大批环绕 NodeJS 的插件、增强包,有的是链接数据库,有的是用于 logging、Template模板、单元測试,有的还是服务于长链接下(long polling)轮询的……等等。我们能够參见 NodeJS 详细的模块列表,在http://wiki.github.com/ry/node/modules。

 

分享一个 Node.js 的专题站点。适合刚開始学习的人:

http://howtonode.org/

nodejs与websocket的资源:

http://blog.new-bamboo.co.uk/2009/12/7/real-time-online-activity-monitor-example-with-node-js-and-websocket

http://blog.johngoulah.com/2010/03/nodejs-websockets-and-the-twitter-gardenhose/http://blog.andregoncalves.com/2009/12/29/Nodejs-twitter-streaming-with-html5-websockets.html

写node.js的插件(C++)

https://www.cloudkick.com/blog/2010/aug/23/writing-nodejs-native-extensions/

在win平台上跑node.js,借助虚拟机:

http://www.lazycoder.com/weblog/2010/03/18/getting-started-with-node-js-on-windows/

在win直接执行可执行文件(编译):

http://www.grati.org/?

page_id=213 良好node.js中国资源

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/117882.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 效率极低人群的七大习惯你占了几项?

    效率极低人群的七大习惯你占了几项?

  • 【新版】掩日免杀windows Defender「建议收藏」

    【新版】掩日免杀windows Defender「建议收藏」掩日免杀是一个非常优秀的项目,目前在`4月19`号已经更新,更新的变动较大,支持的种类更多,在这里再试试现在的效果如何:

  • linux 下查看有当前文件夹有多少个文件

    linux 下查看有当前文件夹有多少个文件

    2021年10月15日
  • 联合体(union)的使用方法及其本质

    联合体(union)的使用方法及其本质有些基础知识快淡忘了,所以有必要复习一遍,在不借助课本死知识的前提下做些推理判断,温故知新。1.联合体union的基本特性——和struct的同与不同union,中文名“联合体、共用体”,在某种程度上类似结构体struct的一种数据结构,共用体(union)和结构体(struct)同样可以包含很多种数据类型和变量。不过区别也挺明显:结构体(struct)中所有变量是“共存”的…

  • Loadrunner从入门到精通教程(一)

    Loadrunner从入门到精通教程(一)第一章:性能测试基础1-1.大话性能测试性能测试是什么使用自动化测试工具对产品按一定的性能指标进行测试。解决心性能平衡.给用户最好的体验。性能测试的时代背景,作用。大数据时代网站(BA).软件(T),游戏–金融银行,证券系统,教育(教务系统),交通(12306)–1-2性能测试那些事一.性能测试基本流程二、Web性能测试常用指标…

  • 如何有效解决高清视频传输中出现的闪屏、黑屏、蓝屏问题?

    如何有效解决高清视频传输中出现的闪屏、黑屏、蓝屏问题?春节期间冬奥会上女足夺冠的精彩赛事是不是还历历在目?你知道体育赛事、音乐会直播以及远程医疗等对视频清晰度和稳定性要求极高的传输是怎么实现的吗?为什么别人4K超高清的视频看起来如此流畅,而你一个1080P的高清视频却经常出现闪屏、黑屏、蓝屏?​在很多视频监控传输的项目,当我们做完项目后,经常会遇到闪屏、黑屏、蓝屏的问题,反复检查线路和接线后仍一筹莫展,查不出问题所在。这是为什么,工程师为您解答,如何有效解决高清视频传输中出现的闪屏、黑屏、蓝屏的问题。​我们都知道一般高清.

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号