
nodejs
flydean程序那些事
懂程序更懂你!微信公众号:程序那些事 个人主页:www.flydean.com 最通俗的解读,最深刻的干货,最简洁的教程,众多你不知道的小技巧,尽在程序那些事!
-
原创 javascript中的闭包closure详解
闭包closure是javascript中一个非常强大的功能。所谓闭包就是函数中的函数,内部函数可以访问外部函数的作用域范围,从而可以使用闭包来做一些比较强大的工作。今天将会给大家详细介绍一下闭包。2021-03-02 20:03:03121
1
-
原创 javascript中的内存管理
在c语言中,我们需要手动分配和释放对象的内存,但是在java中,所有的内存管理都交给了java虚拟机,程序员不需要在手动进程内存的分配和释放,大大的减少了程序编写的难度。同样的,在javascript中,内存管理也是自动进行的,虽然有自动的内存管理措施,但是这并不意味着程序员就不需要关心内存管理了。本文将会进行详细的介绍javascript中的内存管理策略。2021-03-01 19:54:3943
1
-
原创 javascript中的模块系统
在很久以前,js只是简单的作为浏览器的交互操作而存在,一般都是非常短小的脚本,所以都是独立存在的。但是随着现代浏览器的发展,特别是nodejs的出现,js可以做的事情变得越来越多也越来越复杂。于是我们就需要模块系统来组织不同用途的脚本,进行逻辑的区分和引用。今天将会给大家介绍一下js中的模块系统。2021-02-28 08:39:05145
7
-
原创 javascript中的内置对象和数据结构
基本上所有的程序员都使用过javascript,我们在web中使用javascript,我们在服务器端使用nodejs,js给大家的第一映像就是简单,但是可能并不是所有人都系统的了解过js中的内置对象和数据结构。今天,一起来看看吧。2021-02-24 21:27:3150
1
-
原创 使用V8和node轻松profile分析nodejs应用程序
我们使用nodejs写好了程序之后,要是想对该程序进行性能分析的话,就需要用到profile工具了。虽然有很多很方便和强大的第三方profile工具,但是我们这里主要讲解V8和node自带的profile,因为他们已经足够简单和强大了。使用他们基本上可以满足我们的日常分析需要。2021-02-05 10:10:25707
4
-
原创 深入理解nodejs的HTTP处理流程
我们已经知道如何使用nodejs搭建一个HTTP服务,今天我们会详细的介绍nodejs中的HTTP处理流程,从而对nodejs的HTTP进行深入的理解。2021-02-03 20:17:17685
0
-
原创 不要在nodejs中阻塞event loop
我们知道event loop是nodejs中事件处理的基础,event loop中主要运行的初始化和callback事件。除了event loop之外,nodejs中还有Worker Pool用来处理一些耗时的操作,比如I/O操作。nodejs高效运行的秘诀就是使用异步IO从而可以使用少量的线程来处理大量的客户端请求。而同时,因为使用了少量的线程,所以我们在编写nodejs程序的时候,一定要特别小心。2021-02-02 07:34:05681
1
-
原创 在nodejs中创建cluster
在前面的文章中,我们讲到了可以通过worker_threads来创建新的线程,可以使用child_process来创建新的子进程。本文将会介绍如何创建nodejs的集群cluster。2021-01-31 19:24:05664
1
-
原创 使用nodejs构建Docker image最佳实践
docker容器的出现,彻底的改变了应用程序的运行方式,而nodejs同样的也颠覆了后端应用程序的开发模式。两者结合起来,就会产生意想不到的作用。本文将会以一个常用的nodejs程序为例,分析怎么使用docker来构建nodejs image.2021-01-29 20:59:531416
1
-
原创 nodejs的调试debug
对于开发者来说,在开发应用程序的过程中,往往为了开发方便和解决bug需要借助于编程语言的调试功能。一般来说我们需要借助于强大IDE的调试功能来完成这项工作。nodejs也不例外。今天我们来详细介绍一下如何调试nodejs程序。2021-01-27 21:13:161477
1
-
原创 在nodejs中创建child process
nodejs的main event loop是单线程的,nodejs本身也维护着Worker Pool用来处理一些耗时的操作,我们还可以通过使用nodejs提供的worker_threads来手动创建新的线程来执行自己的任务。本文将会介绍一种新的执行nodejs任务的方式,child process。2021-01-25 20:12:431458
1
-
原创 nodejs中使用worker_threads来创建新的线程
之前的文章中提到了,nodejs中有两种线程,一种是event loop用来相应用户的请求和处理各种callback。另一种就是worker pool用来处理各种耗时操作。nodejs的官网提到了一个能够使用nodejs本地woker pool的lib叫做webworker-threads。2021-01-21 20:27:053551
14
-
原创 nodejs中的文件系统
nodejs使用了异步IO来提升服务端的处理效率。而IO中一个非常重要的方面就是文件IO。今天我们会详细介绍一下nodejs中的文件系统和IO操作。2021-01-17 20:16:421444
1
-
原创 深入理解nodejs中的异步编程
因为javascript默认情况下是单线程的,这意味着代码不能创建新的线程来并行执行。但是对于最开始在浏览器中运行的javascript来说,单线程的同步执行环境显然无法满足页面点击,鼠标移动这些响应用户的功能。于是浏览器实现了一组API,可以让javascript以回调的方式来异步响应页面的请求事件。更进一步,nodejs引入了非阻塞的 I/O ,从而将异步的概念扩展到了文件访问、网络调用等。今天,我们将会深入的探讨一下各种异步编程的优缺点和发展趋势。2021-01-16 12:10:382228
1
-
原创 使用nodejs和express搭建http web服务
nodejs作为一个优秀的异步IO框架,其本身就是用来作为http web服务器使用的,nodejs中的http模块,提供了很多非常有用的http相关的功能。虽然nodejs已经带有http的处理模块,但是对于现代web应用程序来说,这或许还不太够,于是我们有了express框架,来对nodejs的内容进行扩展。今天我们将会介绍一下使用nodejs和express来开发web应用程序的区别。2021-01-15 19:24:192197
3
-
原创 nodejs事件和事件循环详解
上篇文章我们简单的介绍了nodejs中的事件event和事件循环event loop。本文本文将会更进一步,继续讲解nodejs中的event,并探讨一下setTimeout,setImmediate和process.nextTick的区别。2021-01-14 16:40:412190
1
-
原创 ES6中的Promise和Generator详解
ES6中除了上篇文章讲过的语法新特性和一些新的API之外,还有两个非常重要的新特性就是Promise和Generator,今天我们将会详细讲解一下这两个新特性。2020-12-17 21:00:276581
2
-
原创 nodejs事件和事件循环简介
熟悉javascript的朋友应该都使用过事件,比如鼠标的移动,鼠标的点击,键盘的输入等等。我们在javascript中监听这些事件,从而触发相应的处理。同样的nodejs中也有事件,并且还有一个专门的events模块来进行专门的处理。同时事件和事件循环也是nodejs构建异步IO的非常重要的概念。今天我们来详细了解一下。2020-12-06 21:37:038248
6
-
原创 javascript开发后端程序的神器nodejs
javascript虽然一直都可以做服务端编程语言,但是它更多的是以客户端编程语言来展示在世人面前的。也许javascript自己都忘记了还可以做服务器端编程,直到2009年nodejs的横空出世。2020-12-04 14:06:238794
4
-
原创 万字长文深度剖析面向对象的javascript
本将会深入讲解面向对象在javascript中的应用,并详细介绍三种对象的生成方式:构造函数,原型链,类。2020-12-02 09:46:5610078
14
-
原创 第四代Express框架koa简介
熟悉Spring MVC的朋友应该都清楚Spring MVC是基于servlet的代码框架,这是最传统的web框架。然后在Spring5中引入了Spring WebFlux,这是基于reactive-netty的异步IO框架。同样的,nodejs在最初的Express 3基础上发展起来了异步的koa框架。koa使用了promises和aysnc来避免JS中的回调地狱,并且简化了错误处理。今天我们要来介绍一下这个优秀的nodejs框架koa。2020-11-30 09:55:5311725
15
-
原创 ECMAScript 6新特性简介
ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,正式发布与2015年6月。它的目标,是使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语言。今天我们将会讲解一下ES6中引入的语法新特性。2020-09-22 09:41:1215279
9