zoukankan      html  css  js  c++  java
  • 初识Node.js

      国庆一直惦记着要找本书看看,假期之前去了趟图书馆,因为假期会有很多事,估计能看书的时间也就很短,充其量回去的车上可以看看,然后回来时候如果堵车也可以拿出来看看,而且要携带方便,所以最后选中了这本很薄的书【Node.js开发指南】

      Node.js能做什么

      Node.js为网络而生,使用Node.js能做的远不止开发一个网站那么简单,使用Node.js你可以轻松的开发:

      1:具有复杂逻辑的网站

      2:基于社交网络的大规模Web应用

      3:Web Socket服务器

      4:TCP/UDP套接字应用程序

      5:命令行工具

      6:交互终端程序

      7:带有图形用户界面的本地应用程序

      8:单元测试工具

      9:客户端javascript编译器

      Node.js的好处

      Node.js内建了HTTP服务器,使我们可以轻而易举的实现一个网站和服务器的组合。这个服务器不仅可以用来调试代码,而且它本身可以部署到生产环境,它的性能足以满足要求。 Node.js还可以部署到网络环境下,比如一个命令行工具,还可以调用C++代码,这样可以充分利用已有的函数库,也可以将性能要求非常高的一部分用C++来实现。

      异步式I/O与事件驱动

      Node.js最大的特点是采用异步I/O与事件驱动的架构设计。对于高并发的解决方法,传统的架构是多线程模型,也就是为每一个业务逻辑提供一个系统线程,通过系统线程切换来弥补同步式I/O调用时的时间开销。Node.js是单线程模型,对于所有I/O都采用异步的请求方式,为了避免频繁的上下文切换,Node.js在执行过程中会维护一个事件队列,程序在进入事件循环等下下一个事件到来,每隔异步I/O请求完成后会被推送到事件队列,等待程序进程进行处理。

      传统模式

      res = db.query(' select * from table ');

      res.output();

      这种模式在第一步query查询的时候会造成线程阻塞,等待数据库返回,然后才能执行下一步。

      使用Node.js实现

      db.query('select * from table',function(res){

        res.output();  

      })

      这组代码中, db.query的第二个参数是一个函数,我们称为回调函数,不会等待查询结果返回,而是继续执行下一个方法,直到进入事件循环,当数据库结果返回时候会将事件发送到事件队列。

      安装配置

      出于学习的目的,直接下载一个客户端,你只需要访问 http://nodejs.org然后选在windows Installer就Ok了。然后就是直接下一步下一步了。

      第一个Hello Node.js

      

      按 ctrl+c 退出当前编辑

      

  • 相关阅读:
    Seq_file文件系统实例剖析
    linux 网卡接收多播MAC(01:08开头)
    linux-3.14.13 看到mpls gso支持
    /usr/include/sys/types.h:62: error: conflicting types for ‘dev_t’
    gcc编译参数-fPIC的一些问题
    glibc-2.15编译error: linker with -z relro support required
    no CONFIG_BQL
    if_nametoindex可以检查网卡名称是否有效
    剑指offer(10)
    剑指Offer(9)
  • 原文地址:https://www.cnblogs.com/LIANQQ/p/4856900.html
Copyright © 2011-2022 走看看