zoukankan      html  css  js  c++  java
  • 深入浅出node读书笔记(一)

      老早就想读这本书了,可是因为这样那样的原因,总归是耽搁了,前几天一直在纠结毕业设计用什么语言来实现后端逻辑代码的问题,通过一周时间的痛苦挣扎,选择了node,于是就又开始学习node了,希望写随笔这种形式能够逼着我把node好好研究一遍。

      首篇文章主要讲述该书的第一个章节,因为是读书笔记,内容可能不会很全面,大概只会写下我认为重要的东西,一些无关紧要的内容可能略过。本篇文章主要从两个方面来介绍node,分别是:node的特点以及node的使用场景。

      (1)node的特点:

        a)异步I/O:异步I/O对前端来说应该相对熟悉一些,首先看下面一个ajax请求的例子: 

    $.ajax({
       url:'www.baidu.com',
       type:'post',
       data:'data',
       success:function(){
           console.log('请求完成');
       }  
    })
    console.log('开始请求')

               执行完的结果是:开始请求

                                      请求完成

               当请求发出后,js单线程即不等待请求结果,继续执行下边的代码,当请求完成后,success函数被触发,执行里面的代码,即异步

               b)回调函数:见上一条ajax实例,sucess即为该次请求成功之后的回调函数,请求成功之后调用

               c)单线程:总所周知,js是单线程的,在浏览器端如果线程用来长时间执行js代码,就会阻碍ui的渲染过程,h5定义一个新的api web works来解决这个问题。与之类似,在服务器                              端,如果js的单线程用来执行cpu密集型业务,也会阻碍回调函数的执行以及新事件的绑定,于是node作者采用了child_process子进程来解决这个问题

               d)跨平台:在windows和*nix系统上都能运行node,因为node与操作系统之间构建了一个中间层libuv来顺利兼容不同的操作系统

           (2)node的应用场景:

                a)I/O密集型:基于事件驱动的回调函数无阻塞模式,性能提高

                b)分布式:此处没有研究,暂时应该用不到,忽略之!

  • 相关阅读:
    Atitit.atiJsBridge 新特性v7q329
    atitit.userService 用户系统设计 v6 q413
    atitit.userService 用户系统设计 v6 q413
    Atitit.获取某个服务 网络邻居列表 解决方案
    Hasse神舟笔记本卡logo解决,刷BIOS方法,教你修复神船
    Axure RP 8 注册码
    在本地硬盘安装WinPE系统,实现UEFI引导,摆脱U盘
    cmd实现批量文件的base64加密并双击加密文件后正常运行
    cmd的变量总结
    fiddler几种功能强大的用法
  • 原文地址:https://www.cnblogs.com/jakii/p/5116460.html
Copyright © 2011-2022 走看看