当前位置: 首页 > news >正文

node.js知识点总结


1、Node.js
        Node. js是一个基于 Chrome v8引擎的服务器端 JavaScript运行环境;Node. js是一个事件驱动、非阻塞式I/O的模型,轻量而又高效;Node. js的包管理器npm是全球最大的开源库生态系统。

2、数据处理中的buffer:
具体详见:Node.js中使用Buffer编码、解码二进制数据详解_node.js_脚本之家

Node有一个二进制缓冲实现Buffer,这个伪类(pseudo-class)提供了一系列处理二进制数据的API,简化了那些需要处理二进制数据的任务。缓冲的长度由字节数据的长度决定,而且你可以随机的设置和获取缓冲内的字节数据。

3、为什么要用 Node. js?
(1)简单, Node. js用 JavaScript、JSON进行编码,简单好学。
(2)功能强大,非阻塞式I/O,在较慢的网络环境中,可以分块传输数据,事件驱动,擅长高并发访问。
(3)轻量级, Node. js本身既是代码又是服务器,前后端使用同一语言。
(4)可扩展,可以轻松应对多实例、多服务器架构,同时有海量的第三方应用组件。

4、Node. js有哪些全局对象?
global、 process, console、 module和 exports。
 

5、process有哪些常用方法?

具体解析:Node 中的 Process 理解,有哪些常用方法? - 喆星高照 - 博客园
process.stdin、 process.stdout、 process.stderr、process.on、 process.env、 process.argv、 process.arch、process.platform、 process.exit


6、console有哪些常用方法?
console.log/console. info、console.error/console.warning、console.time/console.timeEnd 、console.trace、console .table。

7、Node.js有哪些定时功能?
setTimeout/clearTimeout, setInterval/clearInterval、 setImmediate/clearImmediate、 process. nextTick。

8、Node. js中的事件循环是什么样的?
事件循环其实就是一个事件队列,先加入先执行,执行完一次队列,再次循环遍历看有没有新事件加入队列。
执行中的事件叫IO事件, setlmmediate在当前队列中立即执行,setTimout/setInterval把执行定时到下一个队列, process. nextTick在当前队列执行完,下次遍历前执行。所以总体顺序是:IO事件→ setImmediate→ setTimeout/setInterval→ process. nextTick

9、如何应用 Node. js中的 Buffer?
Buffer是用来处理二进制数据的,比如图片、MP3、数据库文件等。Buffer支持各种编码解码、二进制字符串互转。


10、Node. js中的异步和同步如何理解?
Node.js是单线程的,异步是通过一次次的循环事件队列来实现的。同步则是阻塞式的IO,这在高并发环境中会是一个很大的性能问题,所以同步一般只在基础框架启动时使用,用来加载配置文件、初始化程序等。

11、通过哪些方法可以进行异步流程的控制?
通过以下方法可以进行异步流程的控制。
(1)多层嵌套回调。
(2)为每一个回调写单独的函数,函数里边再回调。
(3)用第三方框架,如 async、q、 promise等。

12、通过哪些常用方法可以防止程序崩溃?
通过以下方法可以防止程序崩溃。
(1) try-catch-finally。
(2) EventEmitter/Stream error事件处理。
(3) domain统一控制。
(4) jshint静态检查。(参照:Node.js静态代码检查之JSHint-社区博客-网易数帆)
(5) jasmine/mocha单元测试。

13、怎样调试 Node. js程序?
用node-- debug app. js和 node-inspector

14、Node .js的网络模块都有哪些?
Node. js全面支持各种网络服务器和客户端,包括TCP、HTP/ HTTPS、TCP 、UDP、DNS、tls/ssl等。

15、Noe.js是怎样支持 HTTPS、tls的?
主要通过以下几个步骤支持。
(1)使用 openssl生成公钥、私钥。
(2)服务器或客户端使用HTTPS替代HTTP。
(3)服务器或客户端加载公钥、私钥证书。

16、内置的fs模块架构由哪几部分组成?

fs模块主要由下面几部分组成。

(1) POSIX文件 Wrapper,对应操作系统的原生文件操作。

(2)文件流,fs. createReadStream和 fs.createWriteStrean。

(3)同步文件读写, fs.readFileSync和fs.writeFileSync。

(4)异步文件读写, fs.readFile和fs.writeFile。

17、读写一个文件有多少种方法?

总体来说,有4种方法。

(1) POSIX式底层读写。

(2)流式读写。

(3)同步文件读写。

(4)异步文件读写。
 

18、谈谈栈和堆的区别。

区别如下:

(1)栈( stack)区由编译器自动分配和释放,存放函数的参数值、局部变量的值等。

堆(heap)区一般由程序员分配和释放,若程序员不释放,程序结束时可能由OS回收。

(2)堆(数据结构)可以被看成一棵树,如堆排序。栈(数据结构)是一种先进后出的数据结构。

相关文章:

node.js知识点总结

1、Node.js Node. js是一个基于 Chrome v8引擎的服务器端 JavaScript运行环境;Node. js是一个事件驱动、非阻塞式I/O的模型,轻量而又高效;Node. js的包管理器npm是全球最大的开源库生态系统。 2、数据处理中的buffer: 具体…...

Kotlin中泛型的协变

interface Shapeclass Circle : Shapefun main() {val shapes1: List<Shape> listOf<Circle>()val shapes2: MutableList<Shape> mutableListOf<Circle>() }如上代码&#xff0c;第一行赋值语句是OK的&#xff0c;第二行赋值语句在编辑器上直接就报错…...

第三百二十五节 Java线程教程 - Java Fork/Join框架

Java线程教程 - Java Fork/Join框架 fork/join框架通过利用机器上的多个处理器或多个内核来解决问题。 该框架有助于解决涉及并行性的问题。 fork/join框架创建一个线程池来执行子任务。 当线程在子任务上等待完成时&#xff0c;框架使用该线程来执行其他线程的其他未决子任…...

网络游戏安全现状及相关应对方案

中国网络游戏历经十余年的飞速发展&#xff0c;取得了显著成就&#xff0c;但与此同时&#xff0c;也陷入了诸多安全问题的泥沼。 一、中国网络游戏发展中的安全困境 &#xff08;一&#xff09;灰色产业链滋生 外挂、私服、盗号、打金工作室以及网络信息诈骗等灰色产业链在…...

uniapp h5地址前端重定向跳转

简单说下功能&#xff0c;就是在地址输入http://localhost:8080/home 会自行跳转到http://localhost:8080/pages/home/index&#xff0c;如果有带参数的话也会携带上去。 ps&#xff1a;只能在h5中使用 首先需要用到query-string 安装query-string npm install query-string…...

uniapp隐藏自带的tabBar

uniapp隐藏自带的tabBar 场景: 微信小程序在使用自定义tabBar组件时, 隐藏uniapp自带的tabBar <template> <!-- index页面 --> </template> <script setup> import { onShow } from /utils/wxUtils onShow(() > {uni.hideTabBar() // 隐藏自带的tab…...

使用--log-file保存pytest的运行日志

前面使用了tee和重定向来保存pytest的运行日志&#xff0c;这次使用--log-file&#xff0c;因为它可以配置日志的级别、格式和每行日志的生成时间。 pytest -q -s -ra --count100 test_open_stream.py --alluredir./report/CXL --log-filepytest_log.txt 【pytest.ini】 使用…...

WebAPI性能监控-MiniProfiler与Swagger集成

Net8_WebAPI性能监控-MiniProfiler与Swagger集成 要在.NET Core项目中集成MiniProfiler和Swagger&#xff0c;可以按照以下步骤操作&#xff1a; 安装NuGet包&#xff1a; 安装MiniProfiler.AspNetCore.Mvc包以集成MiniProfiler。安装MiniProfiler.EntityFrameworkCore包以监…...

视频会议接入GB28181视频指挥调度,语音对讲方案

传统的视频会议指挥调度系统目前主流的互联网会议大部分都是私有协议&#xff0c;功能都很独立。目前主流的视频监控国标都最GB平台&#xff0c;新的需求要求融合平台要接入监控等设备&#xff0c;并能实现观看监控接入会议&#xff0c;实时语音设备指挥现场工作人员办公实施。…...

深度学习和图像处理

看来你对深度学习和图像处理很感兴趣呢&#xff0c;让我来一一解答你的疑惑吧。 深度学习高纬度特征 首先&#xff0c;我猜你是想问“深度学习中的高维特征”吧。在深度学习中&#xff0c;随着网络层数的加深&#xff0c;网络的感受野逐渐变大&#xff0c;语义表达能力也随之增…...

〔 MySQL 〕数据类型

目录 1.数据类型分类 2 数值类型 2.1 tinyint类型 2.2 bit类型 2.3 小数类型 2.3.1 float 2.3.2 decimal 3 字符串类型 3.1 char 3.2 varchar 3.3 char和varchar比较 4 日期和时间类型 5 enum和set mysql表中建立属性列&#xff1a; 列名称&#xff0c;类型在后 n…...

云安全之云计算基础

0x00 前言 本文主要是针对云计算相关的基础梳理和整理。 云计算 NIST 800-145ISO/IEC 17788ISO/IEC 17789云安全 NIST 500-299 云安全ISO / IEC FDIS 27017 云安全0x01 云计算基础 什么是云计算: 一种新的运作模式和一组用于管理计算资源共享池的技术。云计算是一种颠覆性的…...

PostgreSQL pg-xact(clog)目录文件缺失处理

一、 背景 前些天晚上突然收到业务反馈&#xff0c;查询DB中的一个表报错 Could not open file "pg-xact/005E": No such file or directory. 两眼一黑难道是文件损坏了...登录查看DB日志&#xff0c;还好没有其他报错&#xff0c;业务也反馈只有这一个表在从库查询报…...

《ElementPlus 与 ElementUI 差异集合》Icon 图标 More 差异说明

参考 《element plus 使用 icon 图标(两种方式)》使用 icon 升级 Vue2 升级 Vue3 项目时&#xff0c;遇到命名时的实心与空心点差异&#xff01; ElementUI&#xff1a; 实心是 el-icon-more空心是 el-icon-more-outline ElementPlus&#xff1a; 实心是 el-icon-more-fill…...

基于碎纸片的拼接复原算法及MATLAB实现

一、问题描述 破碎文件的拼接在司法物证复原、历史文献修复以及军事情报获取等领域都有着重要的应用。传统上&#xff0c;拼接复原工作需由人工完成&#xff0c;准确率较高&#xff0c;但效率很低。特别是当碎片数量巨大&#xff0c;人工拼接很难在短时间内完成任务。随着计算…...

苍穹外卖 软件开发流程

软件开发的流程&#xff1a; 1.需求分析 完成需求规格说明书、产品原型。 需求规格说明书&#xff1a;一般而言是word文档描述当前项目的各个组成部分&#xff0c;如&#xff1a;系统定义、应用环境、功能规格、性能需求等&#xff0c;都会在文档中描述。 …...

mysqldump导出表结构和表数据和存储过程和函数

0、查看表结构信息 (1) 只查看表结构的注释信息 select table_name,table_comment from information_schema.tables where table_schema 表所在的库 and table_name 表名 &#xff1b; mysql> select table_name,table_comment from information_schema.tables where tabl…...

常见的排序算法及分类对比

虽然在竞赛和编程语言中用到的排序算法主要是时间复杂度为 O ( n log ⁡ n ) O(n \log n) O(nlogn) 的高效算法,但作为算法学习,我们要从简单到复杂,认识常见的排序算法,并理解其算法思想。本文列出几乎所有的排序算法并进行分类对比。 排序算法总表 以下是一个对比表格…...

多窗口切换——selenium

获取窗口句柄&#xff08;以Python Selenium为例&#xff09; current_window_handle方法 用于获取当前窗口的句柄。句柄是一个标识符&#xff0c;用于唯一标识一个窗口。示例代码&#xff1a; from selenium import webdriverdriver webdriver.Chrome() driver.get("…...

LFD STM32编程规范20241111

1. 源文件和头文件放同一目录bsp文件夹顺序文件注释防重复设置#include#defineenum类型声明、定义 包括struct union typedef全局变量声明文件级变量声明全局或文件级函数声明函数实现。按函数声明顺序文件尾注释。/**************END FILE**************/引用头文件不用绝对路…...

别再混淆了!一文理清华为云Stack里FusionStorage、OceanStor Pacific与存储服务的对应关系

华为云Stack存储产品演进史&#xff1a;从FusionStorage到OceanStor Pacific的技术脉络解析 在云计算基础设施领域&#xff0c;存储系统的命名规则往往反映了技术架构的迭代路径。华为云Stack作为企业级混合云解决方案&#xff0c;其存储产品线经历了多次重大技术革新与品牌整合…...

【网络安全】2026最新网安渗透测试标准及流程!新手小白零基础入门必看教程!

✅一、了解渗透测试 &#x1f534;什么是渗透测试&#xff1f; 渗透测试是一种安全性测试&#xff0c;通过发起模拟网络攻击的方式查找计算机系统中的漏洞。 渗透测试人员是拥有高超道德黑客技术的安全专业人员&#xff08;道德黑客是指运用黑客工具和黑客技术来修复安全薄弱环…...

MSP430单片机低功耗设计实战:从架构到代码的灵活性解析

1. 项目概述&#xff1a;为什么是MSP430&#xff1f;如果你在嵌入式领域摸爬滚打了一段时间&#xff0c;尤其是在对功耗极其敏感的应用场景里&#xff0c;比如智能穿戴、便携医疗设备、无线传感器网络或者那些需要电池供电数年的工业传感器&#xff0c;那么“MSP430”这个名字对…...

Windows终极HEIC预览方案:免费解锁苹果照片缩略图

Windows终极HEIC预览方案&#xff1a;免费解锁苹果照片缩略图 【免费下载链接】windows-heic-thumbnails Enable Windows Explorer to display thumbnails for HEIC/HEIF files 项目地址: https://gitcode.com/gh_mirrors/wi/windows-heic-thumbnails 还在为iPhone拍摄的…...

告别Nginx配置!用miniserve在Windows/Mac/Linux三分钟内搞定文件共享

告别Nginx配置&#xff01;用miniserve在Windows/Mac/Linux三分钟内搞定文件共享 你是否曾在团队协作时&#xff0c;为了快速分享一个安装包或设计稿&#xff0c;不得不忍受FTP的繁琐配置&#xff1f;或是被Nginx的虚拟主机设置搞得头晕目眩&#xff1f;现在&#xff0c;这一切…...

基于Arduino与V-USB打造低成本红外无线抢答器:从信号解码到HID模拟

1. 项目概述与核心思路拆解如果你是一位老师&#xff0c;或者经常组织一些需要快速抢答的互动活动&#xff0c;肯定对市面上那些动辄上千元的专业无线抢答系统望而却步。它们功能强大&#xff0c;但价格也足够“劝退”。几年前&#xff0c;我在为一所学校的科技节活动寻找低成本…...

B站账号管理终极指南:如何用BiliBiliToolPro实现全自动任务管理

B站账号管理终极指南&#xff1a;如何用BiliBiliToolPro实现全自动任务管理 【免费下载链接】BiliBiliToolPro B 站&#xff08;bilibili&#xff09;自动任务工具&#xff0c;支持docker、青龙、k8s等多种部署方式。全面拥抱AI。敏感肌也能用。 项目地址: https://gitcode.c…...

计算机数值型数据表示:从二进制到浮点数与字符编码的底层原理

1. 项目概述&#xff1a;从“0”和“1”到万千世界我们每天都在和计算机打交道&#xff0c;无论是刷短视频、处理文档&#xff0c;还是运行复杂的科学计算。你有没有想过&#xff0c;屏幕上那些生动的图像、动听的音乐、精确的数值&#xff0c;在计算机的“大脑”——CPU和内存…...

ESP8266-12F引脚功能详解与避坑指南:GPIO、ADC、Deep Sleep唤醒怎么用才不烧芯片?

ESP8266-12F引脚工程实战&#xff1a;从硬件陷阱到稳定运行的深度解析 引子&#xff1a;当GPIO突然失灵时 凌晨三点的实验室里&#xff0c;咖啡杯旁散落着七八片ESP8266-12F的残骸——这是我上周连续烧毁的第五块模组。每块价值二十元的开发板在接通电源的瞬间&#xff0c;GPIO…...

三分钟带你读懂C++中的排序方式

在 C 中&#xff0c;有多种方式可以用于排序&#xff0c;每种方法都有其适用场景。以下是几种常见的排序方式&#xff1a;1. 使用标准库中的 sort 函数C STL&#xff08;标准模板库&#xff09;提供了 <algorithm> 头文件中的 sort 函数&#xff0c;这是最常用的排序方法…...