zoukankan      html  css  js  c++  java
  • Node.js 学习笔记(二)

    node 特征

    1.单进程

      我们写的js代码是在单进程环境中执行的,但node本身并不是单线程。比如I/O操作等异步操作是node封装好的 (底层代码应该是c++?)

    但这也给node带来了麻烦 我后面会说到。

    2.v8

      google的大神们所开发的js开源引擎,chrome和最新的火狐用的都是V8引擎。执行速度非常快。

    node也使用的v8所以在代码的执行效率上非常快。

    3.异步 无阻塞

      node的卖点 数据库和/io操作异步无阻塞大大提高了服务器的性能。

     

    我们为什么要使用node

      一个事物的存在一定有其意义,当哪天这个意义不存在这个事物也就可以消失了。

    上面的特征中除了v8 其余的特性在c#和其他一些语言中都是存在的。那么node存在的意义是什么呢?为什么这么火?

     

    1.前后台统一语言

    前端呈现 js html css

    后台 js

    数据库 js

     

    只需要懂一种语言 一个web项目就可以搞定了。。。。

     

    2.性能

    (1)Node的无阻塞,异步提高了服务器的性能。

    (2)json

      json 是js的一个子集 如果项目中使用json来表示数据对象

    那么会大大减少转换损耗的性能。

    3.学习

      Web 无疑是未来的趋势。作为web中举足轻重的脚本语言,为什么不学习下呢。

     

    什么时候使用

    适合使用的场景

    • 1.多Ajax多请求的大型应用比如谷歌邮箱之类
    • 2. JSON APIs——构建一个Rest/JSON API服务,Node.js可以充分发挥其非阻塞IO模型以及JavaScript对JSON的功能支持(如JSON.stringfy函数)

    不适合

    • CPU使用率较重、IO使用率较轻的应用——如视频编码、人工智能等,Node.js的优势无法发挥
    • 简单Web应用——此类应用的特点是,流量低、物理架构简单
    • 学习 如果仅仅是为了追求时髦,且自己对这两门技术还未深入理解的情况下,不要冒险将业务系统搭建在这两个漂亮的名词上,建议使用MySQL之类的传统数据库

    推荐学习的网站

    http://cnodejs.org

    http://www.csser.com/

    推荐学习js的书

    http://book.douban.com/subject/6397064/

    http://book.douban.com/subject/3590768/

  • 相关阅读:
    插入排序
    JavaMail学习笔记
    汉诺塔问题
    使用Three.js绘制一个虚拟城市
    jquery flotcharts使用简介
    用CSS hack技术解决浏览器兼容性问题.
    IE条件注释详解.
    让IE6也认识!important
    代码重构(转)
    模版+数据分离渲染方式的设计与实现
  • 原文地址:https://www.cnblogs.com/fishlynn/p/2693979.html
Copyright © 2011-2022 走看看