今天开始阅读node.js深入浅出这本书,阅读过程中会对某些理解有新的认识,所以特地把这些新认识或者知识点记录在这篇博客中

1、nodejs的优势在于 事件驱动、高并发、异步I/O 不适合cpu密集型(计算量大)

2、前端javascript和后端javascript的分界线是http,前者需要经历从同一个服务器端分发到多个客户端执行,瓶颈在于带宽;后者是javascript代码在一个服务器多次执行,瓶颈在于cpu和内存

3、java等一些后端语言都有类等模块包的定义,但是前端只能通过script标签来引入不同的脚本,但是node定义了commonJS的模块规范,通过require(),引入模块,通过module.exports导出模块(module.exports是一个对象)

4、node中的模块分为 核心模块 和  文件模块 ;在node中引入模块,中间经历了3步,路径分析、文件定位、编译执行;

其中核心模块已经编译成二进制文件了,第一次引入后,会存入到内存中,当第二次引入时,就会从内存中读取,这就是node中的优先从内存加载的规则,

另外引入文件模块时,会顺着路径搜索,如果只写了文件名,会先从node_modules目录搜索,在从父级的node_modules搜索,一次类推,如果没找到,会抛出异常

5、npm init会初始化一个package.json文件...,我们可以用npm 命令 下载、卸载、发布包...;如果想安装非官方的包 可以npm install filename --registry=http://registry.url

6、只有后端能够快速响应资源,才能让前端有好的体验(异步I/O)

7、process.nextTick(callback)会立即执行一个事件(异步),比setTimeout(fn,0)消耗的性能小

node的小知识点的更多相关文章

  1. 刚接触Linux,菜鸟必备的小知识点(一)

    身为一个将要大四的学生,而且还是学计算机的没有接触过linux简直是羞愧难当.这个假期做了一个软件测试员,必须要熟悉linux的操作,所以对于我这个菜鸟我也就说几点比较重要的小知识点吧. 第一.cd指 ...

  2. Java学习过程中的总结的小知识点(长期更新)

    Java学习过程中的总结的小知识点 (主要是自己不会的知识和容易搞错的东西) 计算某个程序运行的时间 long stime=System.currentTimeMillis(); copy3(file ...

  3. 【转】HTML5的小知识点小集合

    html5的小知识点小集合 html5知识   1.  Doctype作用?标准模式与兼容模式各有什么区别? (1).<!DOCTYPE>声明位于位于HTML文档中的第一行,处于<h ...

  4. AngularJS的小知识点

    小知识点:$scope和$rootScope (1)每次使用ngController指令,都会调用控制器的创建函数,创建出一个控制器对象. (2)每次创建一个控制器对象,AngularJS都会创建一个 ...

  5. js中关于value的一个小知识点(value既是属性也是变量)

    今天在学习input的value值时,发现这么一个小知识点,以前理解不太透彻. [1]以下这种情况是常见情况,会弹出“测试内容” <input type="button" v ...

  6. html5的小知识点小集合

      html5的小知识点小集合 html5知识   1.  Doctype作用?标准模式与兼容模式各有什么区别? (1).<!DOCTYPE>声明位于位于HTML文档中的第一行,处于< ...

  7. [BS] 小知识点总结-05

    [BS] 小知识点总结-05 1. 不论UIWindow的rootViewController是navC.tabBarC还是VC,也不管modalVC和rootVC中间隔着多少个VC,但是modal出 ...

  8. 一个关于echo的小知识点

    一个关于echo的小知识点     echo一个布尔值时,如果是true,输出1,而如果是false,将什么都不输出! 网上搜的一个解释: 对于数字类型来说,false 确实 是 0, 而对strin ...

  9. easyui中的combobox小知识点~~

    一直使用的easyui中,一些不为人知的小知识点,与君共勉: 1.combobox设置高度:使用panelHeight属性: 2.combobox本身自带“自动补全”功能,但是在浏览器中是有限制的,在 ...

随机推荐

  1. SQL Server2008 查找用户登录日志

    select loginname,accdate from sys.syslogins

  2. C# 弹出层移动

    groupPrint.MouseDown += GroupBox1_MouseDown; #region 弹出层移动        [System.Runtime.InteropServices.Dl ...

  3. Questasim10.6c下载安装教程

    questasim作为modelsim的高级版,用着速度还是比modelsim爽很多,基本上所有操作指令都是和modelsim兼容的. 不同版本的vivado兼容的modelsim版本是不一样的,如果 ...

  4. Lwip与底层的接口

    Lwip有三套api,分别是: raw api:使用方法为使用回调函数,即先注册一个函数,当接受到数据之后调用这个函数.缺点是对于数据连续处理不好. Lwip api:把接收与处理放在一个线程里面.因 ...

  5. javascript_12-递归

    递归 // function f1(){ // console.log("hello"); // f1(); // } // f1(); // 给递归添加结束的条件 var i = ...

  6. RestFramework之注册器、响应器与分页器

    一.注册器的说明与使用 在我们编写url时经常会因请求方式不同,而重复编写某条url,而rest_framework中的注册器帮我节省了很多代码 下面介绍一下如何使用 # 利用注册器来实现路由分发 f ...

  7. Linux下制作静态库 & 动态库

    静态库 1.将.c生成.o文件 gcc-cadd.c-o add.o 2.使用ar工具制作静态库 ar rcs lib库名.a add.o sub.o div.o 3.编译静态库到可执行文件中 gcc ...

  8. 读书笔记——《redis入门指南(第2版)》第七章 持久化

    7 持久化 在一些情况下,我们会希望Redis 在重启后能够保证数据不丢失,例如: 1·将Redis 作为数据库使用时. 2·将Redis 作为缓存服务器,有可能出现的缓存雪崩会使服务无法响应. 这时 ...

  9. 温控PID自测验程序

    #pragma once #ifndef _PID_H_ #define _PID_H_ #include <vector> #include <map> using name ...

  10. Eclipse安装scala插件

    1.下载插件 http://scala-ide.org/download/current.html ​ 2.将下载的压缩包解压,拷贝到eclipse\dropins目录下 3.启动eclipse,安装 ...