如何理解阻塞非阻塞与同步异步的? 最近在看Node.js相关内容,对单线程函数式异步编程不是很了解,于是搜集了相关资料整理了一下自己的思路,来谈谈我对阻塞非阻塞,同步与异步编程的区别(如有见解不当的地方,望指出,定会积极…
分类:node.js教程
深入浅出Node.js - 异步编程
异步编程 异步编程的优势和难点 曾经的单线程模型在同步I/O的影响下,由于I/O调用缓慢,应用层面CPU和I/O无法重叠进行。但是该模型符合编程人员的阅读思维习惯,因此同步I/O盛行了很多年。但是该模型存在性能问题,过去…
利用babel(AST)优雅地解决0.1+0.2!=0.3的问题
前言 你了解过0.1+0.2到底等于多少吗?那0.1+0.7,0.8-0.2呢? 类似于这种问题现在已经有了很多的解决方案,无论引入外部库或者是自己定义计算函数最终的目的都是利用函数去代替计算。例如一个涨跌幅百分比的一个…
黄金搭档 -- JS 装饰器(Decorator)与Node.js路由
很多面对象语言中都有装饰器(Decorator)函数的概念,Javascript语言的ES7标准中也提及了Decorator,个人认为装饰器是和async/await一样让人兴奋的的变化。正如其“装饰器”的叫法所表达的,…
Node.js 多进程处理CPU密集任务
Node.js 单线程与多进程 大家都知道 Node.js 性能很高,是以异步事件驱动、非阻塞 I/O 而被广泛使用。但缺点也很明显,由于 Node.js 是单线程程序,如果长时间运算,会导致 CPU 不能及时释放,所以…
深入浅出node.js学习笔记—node模块加载机制
node加载模块分为3个步骤1.路径查找2.文件定位3.模块编译 1.路径查找通过module.paths可以看出,文件查找是先查找当前目录的node_modules,然后查找父目录的node_modules,然后逐级向…
Node.js文件上传
Node.js express使用Multer实现文件上传html部分 <div> <h3>文件上传:</h3> 选择一个文件上传: <br/> <form acti…
为什么要使用Node.JS
脚本语言需要一个解析器才能运行,JavaScript是脚本语言,在不同的位置有不一样的解析器,如写入html的js语言,浏览器是它的解析器角色。而对于需要独立运行的js,nodejs就是一个解析器。 每一种解析器都是一个…
javascript真●私有变量
想必大家已经见过私有变量的各种花式写法。 以下是真●私有变量标准写法。 标准写法 class Foo { pub = "pub"; #pri = "pri"; get Pri () { return this.#pri;…
基于nvm的Node、NPM的版本管理(NPM permission error的解决)
最近在使用npm过程中,发现全局安装总会遇到permission相关的错误,所以总是要在前面加sudo,还得不停输入密码。 懒惰使我进步,随手google了一下相关问题的解决方案,发现npm在官方文档中早有明示How t…
Node.js 指南(阻塞与非阻塞概述)
阻塞与非阻塞概述 此概述介绍了Node.js中阻塞与非阻塞调用之间的区别,此概述将引用事件循环和libuv,但不需要事先了解这些主题,假设读者对JavaScript语言和Node.js回调模式有基本的了解。 “I/O”主…
【每日一包0023】concat-stream
[github地址:https://github.com/ABCDdouyae…] concat-stream 类似于一个流的收集器,将读取的流全部存储于该容器 用法:pipe(concat((e)=>…