What is Node.JS and its Pros and Cons

news/2024/10/4 20:17:39/文章来源:https://blog.csdn.net/Fishermen_sail/article/details/141931675

What is Node.JS and its Pros and Cons

JavaScript is a client-side development tool.

Node.js is a server-side development tool. And it’s only a runtime environment based on Chrome V8 so we don’t write some code in Node.js.

在这里插入图片描述

Pros:

JavaScript on a server

First I want to emphasis that Node.JS is just a runtime environment of JavaScript. Express is based on Node.js. So based on Node.JS, the project can inherit JavaScript merit (lightweight, fewer code compared with Java or C) and can use its libraries.

And front-end and back-end can use the same language.

Code for microservices

Node module can help implement microservice philosophy. To be specfic, a project is made up of many modules which are isolated and independent. You can just fix or add one module, which doesn’t influence other module.

Fast

Node.JS is event-based and single thread. It can process several events concurrently, which leads to improve CPU usage.
在这里插入图片描述

Support and Community

There are many companies which use Node.js. And there are many people in Node.js community to provide many solutions and solve the issues.

Packages

There are many packages to solve different problems in NPM. NPM is a place that can install packages.

Easy to learn

Node.JS inherit many features of JavaScript.

Cons:

CPU bottleneck

Because Node.JS is single-thread. So if there are many heavy-computation requests, the thread pool will block. Sometimes we can “expand” the thread pool.
在这里插入图片描述

Immature tool

NPM registry is not mature.

Few experienced developers

There are few Node.JS developers who has 2 years or more experience.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ldbm.cn/p/440175.html

如若内容造成侵权/违法违规/事实不符,请联系编程新知网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue3 项目中使用git

一.vue项目创建 二.创建本地仓库并和远程仓库进行绑定 在vue3-project-git 项目文件夹下 初始化一个新的Git仓库,可以看到初始化成功之后就会出现一个.git文件,该文件包含所有必要的 Git 配置和版本控制信息。 创建远程仓库: 打开gitee ,点击右上角 ‘…

circuitjs 普通开关和按钮开关

circuitjs 各类开关中最基本的有 (普通)开关 和 按钮开关(瞬时开关). 添加 在菜单 “绘制–无源元件–添加开关” 下可以添加一个普通开关.在菜单 “绘制–无源元件–添加按钮开关” 下可以添加一个按钮开关. 两者在缺省外观上没有什么区别, 如上, 左边是普通开关, 右边是按钮…

elementUI之不会用

form表单注意事项 <template><div class"container"><el-form :model"form" label-width"80px" :rules"RulesName" ref"loginForm"><el-form-item label"姓名" prop"username">…

九盾叉车U型区域警示灯,高效照明和安全警示

叉车运作的环境比较复杂&#xff0c;在方便人们物流运输的同时也存在着很大的安全隐患&#xff0c;特别是叉车碰撞人的事故发生率很高&#xff0c;那我们该怎么在减少成本的同时又能避免碰撞事故的发生呢&#xff1f; 九盾叉车U型区域警示灯&#xff0c;仅需一盏灯安装在叉车尾…

如何让桌面显示一个好看的时钟?这个桌面时钟软件非常不错

《芝麻时钟》这个桌面时钟这个软件非常的强大&#xff0c;可以在桌面显示各种各样的时钟&#xff0c;各种时钟风格大气美观。今天就跟小编一起来看看这个款《芝麻时钟》到底有多强大。 芝麻时钟 桌面时钟软件 桌面日历 时钟屏保 世界时钟软件下载芝麻时钟是很有个性的时钟软件&…

c/c++面试100道

1.一道笔试题解析_哔哩哔哩_bilibili P20&#xff1a;#define offsetof(TYPE, MEMBER) ((size_t)&((TYPE*)0)->MEMBER) 1、 offsetof 宏是 C 语言中用于计算结构体成员相对于结构体起始地址的偏移量的宏定义。这个宏的定义如下&#xff1a; #define offsetof(TYPE, …

数据结构————二叉树

二叉树是一种树形数据结构&#xff0c;其中每个节点最多有两个子节点&#xff1a;通常被称为左子节点和右子节点。这种结构使得二叉树非常重要&#xff0c;因为它们具有许多有用的性质&#xff0c;如高效的搜索、排序和存储数据的能力。 二叉树的基本术语 根节点&#xff1a;…

MT6895(天玑8100)处理器规格参数_MTK联发科平台方案

MT6895平台 采用台积电5nm工艺&#xff0c;与天玑 8000 相比性能提升 20% &#xff0c;搭载4 个 2.85GHz A78 核心 4 个 2.0GHz A55 核心&#xff0c;CPU能效比上一代提高 25% 。GPU 采用了第三代的Valhall Arm Mali-G610 MC6架构&#xff0c;拥有6核心&#xff0c;搭配天玑81…

部分库函数及其模拟

前言&#xff1a;当我们学习c/c库函数的时候&#xff0c;我们可以用网站 cplusplus.com - The C Resources Network 来进行查阅&#xff0c;学习。 目录 库函数&#xff1a; 1.字符串函数 1.1求字符串长度 strlen 1.2长度不受限制的字符串函数 1.2.1strcpy 1.2.2strca…

fpga入门名词(1)

这是第一代FPGA ,在 FPGA&#xff08;现场可编程门阵列&#xff09;设计中&#xff0c;LCA&#xff08;逻辑单元阵列&#xff09;通常由几个关键组件构成&#xff0c;包括 IOB、CLB 和 Interconnect。以下是这些组件的简要说明&#xff1a; 1. IOB&#xff08;Input/Output B…

【redis】本地windows五分钟快速安装redis

用处&#xff1a;本地自测&#xff0c;有时候公司redis环境不稳定&#xff0c;用自己的 1.下载&#xff0c;github下载一个解压缩在自己想要的位置 选择版本&#xff1a;Redis-7.4.0-Windows-x64-msys2-with-Service&#xff0c;zip GitHub - redis-windows/redis-windows: …

YOLOv9模型训练或测试过程中,无法打印模型的GFLOPs

项目场景&#xff1a; 在YOLOv9模型的改进中&#xff0c;常常需要替换一些模块来提高模型的精度。但在评价模型大小规模的时候需要根据模型的参数量、计算量进行评定&#xff0c;一般在模型的训练文件train.py&#xff0c;或者是test.py还有models/yolo.py都会输出这些数据。 …

程序员日志之DNF编年史

目录 传送门正文日志1、概要2、超高度总结概括3、详细编年史3.1、大背景3.2、冒险家 传送门 SpringMVC的源码解析&#xff08;精品&#xff09; Spring6的源码解析&#xff08;精品&#xff09; SpringBoot3框架&#xff08;精品&#xff09; MyBatis框架&#xff08;精品&…

sqlserver 如何收缩+最大化压缩数据库

zihao 直接运行即可 -- 最大化压缩数据库 USE [数据库名称]; -- 这里必须填写库名称 GO EXEC sp_MSforeachtable ALTER TABLE ? REBUILD PARTITION ALL WITH (DATA_COMPRESSION PAGE);;-- 收缩数据库 DBCC SHRINKDATABASE (N数据库名称, 1); -- 这里必须填写库名称 GO

[Python学习日记-12] 双色球彩票程序练习(使用到列表、判断、循环等)

[Python学习日记-12] 双色球彩票程序练习 简介 题目 答案与解析 简介 本章的练习将会使用到前面学习的知识点&#xff0c;用于检测前面学习的效果。 题目 双色球彩票选购程序&#xff1a; 先让用户依次选择6个红球&#xff0c;再选择2个蓝球&#xff0c;最后统一打印用户…

Vue 介绍与体验

Vue 介绍与体验 vue 简介 Sum&#xff1a; 概念&#xff1a;Vue是一套用于构建 用户界面 的 渐进式前端框架。 理解与表达&#xff1a; 从两个角度解读&#xff0c; 构建用户界面&#xff1a;通过指令、数据驱动视图、事件绑定等方式构建用户界面 前端框架&#xff1a;提供一…

Redis 主从复制、切片集群

一、主从复制 1、主从关系 都说的 Redis 具有高可靠性&#xff0c;这里有两层含义&#xff1a;一是数据尽量少丢失&#xff0c;二是服务尽量少中断。AOF 和 RDB 保证了前者&#xff0c;而对于后者&#xff0c;Redis 的做法就是将一份数据同时保存在多个实例上。为了保证数据一致…

提升交易成功率:三重滤网交易系统详解

经验丰富的交易者往往拥有一套个性化的交易系统&#xff0c;其系统通过明确的交易规则和策略&#xff0c;帮助他们更有效地管理风险&#xff0c;并借助量化交易行为与控制心态的手段&#xff0c;提升交易的效率和成功率。在众多交易系统中&#xff0c;有一种使用三重筛选方式来…

【云原生】docker 部署 Doris 数据库使用详解

目录 一、前言 二、数据分析概述 2.1 什么是数据分析 2.2 数据分析目的和意义 2.3 数据分析常用的技术和工具 2.3.1 编程语言 2.3.2 数据处理和分析库 2.3.3 数据可视化工具 2.3.4 数据库系统 2.3.5大数据处理框架 2.3.6 云服务和平台 2.3.7 其他工具 三、Doris介绍…

java编辑器——IntelliJ IDEA

java编辑器有两种选择——IntelliJ IDEA和VsCode。其中IntelliJ IDEA现在是企业用的比较多的&#xff0c;是专门为java设计的&#xff0c;而VsCode则是通过插件来实现Java编辑的。 1.IntelliJ IDEA 官网下载链接&#xff1a;https://www.jetbrains.com/idea/ 注意选择社区版…