前端学习笔记--node.js
Node
-
Node 可以理解成 ECMAScript + 内置的模块组成的,引用第三方模块, npm系统 node package manager。
-
node是基于js的,前端来写服务端通过node是最方便的,node的性能问题 内部采用的多线程。
-
node中主线程还是单线程的 (文件读写,内部还是基于多线程的), 非阻塞 异步I/O.基于事件驱动
-
node中没有锁的概念
-
node的应用场景 处理 i/o (文件读写)密集型,不适合处理cpu密集型 (压缩加密 和计算相关的)
-
node中处理多个异步操作同一个文件件的场景 (靠队列实现)
-
可以解析js语法
- 服务端渲染vue,react
- 中间层 (跨域)
- 前端会用node来实现很多工具
- 可以做后端 mongo mysql
传统的语言是什么样子的? 多线程同步
- 默认多个线程访问同一个资源 需要加锁
- 在高并发场景下 ,多线程需要不停的切换时间片 “并发” 、“并行”
- 并行的概念 多线程 在不同的cpu下执行操作。 采用多进程的方式,让系统更加稳定,而且可以实现高并发
Process | Global |Commander | Debug
服务端全局变量原则是global, 但是node在执行的时候为了实现模块化,会在执行代码时,外部包装一个函数,这个函数在执行的时候会改变this指向。可以直接访问这些变量。后面的五个属性都可以在文件中直接访问,但是不能通过global来获取
-
process
- platform 或如平台 windows -> win32 ,mac => darwin
- cwd current working directory (你在哪执行的这个文件)
- env 环境变量,默认我们代码在执行的时候回去读取电脑中的环境
- argv 执行命令时所带的参数 1.代表的是可执行node.exe 2.执行的是哪个文件
-
**commander ** 命令行管家,第三方模块用的时候需要下载
const { program } = require('commander');program.version('0.0.1');program.option('-d, --debug', 'output extra debugging').option('-s, --small', 'small pizza size').option('-p, --pizza-type <type>', 'flavour of pizza').command('run').action(() => {console.log('run')});program.parse(process.argv);const options = program.opts();console.log(options)
-
__filename
-
__dirname
-
exports
-
module
-
require
Node常用API
- fs
- path
- vm
- Buffer
- event
- http
node中的模块
-
1.内置模块 、核心模块 2.第三方模块 commander/co 3.文件模块(有相对路径 、 绝对路径)。模块遵循 commonjs 规范 es6Module规范。
-
es6Module “静态”导入, 在编译的时候就可以知道使用了哪些变量, 可以实现tree-shaking (都是发送http请求)
-
commonjs 模块 “动态导入”, commonjs 模块是不支持tree-shaking (读文件 同步操作)
-
commonjs 模块定义了自己的规范,按照规范来使用就可以
-
如果想使用哪个模块 就require谁 (后缀可以省略 默认会查找.js 文件, 没有js找.json)
-
如果这个模块需要被别人使用,需要导出具体的内容 module.exports 更改这个变量导出的结果
-
在node中每个文件js,json文件都是一个模块
-
一个包中含有多个模块 (每个包都必须配置一个package.json 文件)
-
相关文章:
前端学习笔记--node.js
Node Node 可以理解成 ECMAScript 内置的模块组成的,引用第三方模块, npm系统 node package manager。 node是基于js的,前端来写服务端通过node是最方便的,node的性能问题 内部采用的多线程。 node中主线程还是单线程的 &#…...
DB2 常用命令及SQL语句
前言 DB2数据库是由IBM开发的关系型数据库管理系统(RDBMS)。它是一种功能强大、可扩展和可靠的数据库解决方案,用于存储和管理企业级应用程序的数据。 以下是一些关于DB2数据库的重要信息和特点: 数据模型:DB2数据库…...
spring-boot-starter-data-redis2.X连接redis7
由于redis7引入了acl机制,可以配置用户权限, 比如配置了一个普通用户 test,权限为 test_ 前缀的key可操作 springboot想要连接,并没有设置用户名的地方, 跟了源码,jedis客户端是支持的,但是s…...
PHP中$_SERVER全局变量
在PHP中,$_SERVER 是一个全局数组变量,它包含了有关服务器和当前脚本的信息。$_SERVER 数组中的每个元素都是服务器环境的一个参数,如请求的方法、请求的 URI、客户端 IP 地址等。 PATH 系统环境变量的值,包含了多个目录的路径…...
【ML】欠拟合和过拟合的一些判别和优化方法(吴恩达机器学习笔记)
吴恩达老师的机器学习教程笔记 减少误差的一些方法 获得更多的训练实例——解决高方差尝试减少特征的数量——解决高方差尝试获得更多的特征——解决高偏差尝试增加多项式特征——解决高偏差尝试减少正则化程度 λ——解决高偏差尝试增加正则化程度 λ——解决高方差 什么是…...
服务器数据恢复—服务器发生故障导致数据丢失如何恢复服务器数据?
服务器常见故障: 硬件故障:磁盘、板卡、电源故障等。 软件故障:操作系统崩溃、程序运行错误等。 入侵破坏:加密、删除服务数据等。 不可控力:浸水、火烧、倒塌等。 误操作:格式化、删除、覆盖等。 如何减少…...
SLAM中提到的相机位姿到底指什么?
不小心又绕进去了,所以掰一下。 以我个人最直观的理解,假设无旋转,相机在世界坐标系的(5,0,0)^T的位置上,所谓“位姿”,应该反映相机的位置,所以相机位姿应该如下: Eigen::Matrix4d T Eigen::M…...
《视觉SLAM十四讲》-- 后端 1(上)
文章目录 08 后端 18.1 概述8.1.1 状态估计的概率解释8.1.2 线性系统和卡尔曼滤波(KF)8.1.3 非线性系统和扩展卡尔曼滤波(EKF)8.1.4 小结 08 后端 1 前端视觉里程计可以给出一个短时间内的轨迹和地图,但由于不可避免的…...
南昌市西湖区棒球特色规划
西湖区棒球特色学校打造方案 一、项目背景 南昌市西湖区作为江西省的教育强区,一直致力于发展特色教育。近年来,棒球运动逐渐受到广泛关注,西湖区决定将棒球运动作为特色项目,打造一所具有国际水平的棒球特色学校。 二、目标与…...
nginx启动命令
普通启动 切换到nginx安装目录的sbin目录下,执行:./nginx 通过配置文件启动 ./nginx -c /usr/local/nginx/conf/nginx.conf /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 其中-c是指定配置文件,而且配置文件路径必须指定绝对路…...
防爆五参数气象仪的科技力量
WX-FBQ2 随着科技的不断进步,气象监测设备也在不断升级和完善。 防爆五参数气象仪是一种可以同时监测温度、湿度、压力、风速和风向五个基本气象参数的仪器。它采用了气象监测技术,不仅可以实时监测气象数据,还可以对数据进行分析和处理。 …...
J. Chem. Theory Comput. | AI驱动的柔性蛋白-小分子复合物建模
今天为大家介绍的是来自陈语谦教授团队发表在Journal of Chemical Theory and Computation的论文,“Equivariant Flexible Modeling of the Protein−Ligand Binding Pose with Geometric Deep Learning”,博士生董铁君为第一作者。该文提出了一种新的AI…...
数据库sql语句设置外键
当我们需要在数据库表之间建立关联关系时,可以使用外键(Foreign Key)来实现。在 SQL 中,外键可以用来保持数据的完整性,并帮助我们更有效地管理数据。以下是设置外键的步骤: 1.在创建表时,需要…...
excel在函数中插入函数
例如,要计算RAND()1的值,其中RAND()表示取0~1之间的随机数。 插入-》函数: 选SUM函数: 点击“继续”: 将光标先放在数字1中的输入框中,然后在左边过滤出RAND函数,并且点击继续࿱…...
保姆级前端翻牌效果(CSS)
效果 翻牌效果 hover 时候 代码直接上 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document<…...
Mac环境配置的相关知识
Mac中配置环境的三个途径: 1.open/vim /etc/profile (建议不修改这个文件)全局(公有)配置,不管是哪个用户,登录时都会读取该文件(一般在这个文件中添加系统级环境变量) 2./etc/bashrc全局(公有)配置,bash shell执行时࿰…...
业务连续性:确保稳健运营的关键战略
在今天的快节奏商业环境中,保障业务连续性是企业成功的重要保障。业务连续性不仅仅是关于应对自然灾害或技术故障,更是一项战略,涉及组织的整体准备、规划和应对能力,以确保在各种情况下业务的稳健运营。 一、业务连续性的定义 业…...
【Pytorch和深度学习】栏目导读
一、栏目说明 本栏目《pytorch实践》是为初学者入门深度学习准备的。本文是该栏目的导读部分,因为计划本栏目在明年完成,因此,导读部分,即本文也在持续更新中。 本栏目设计目标是将深度学习全面用pytorch实践一遍,由浅…...
sklearn笔记:neighbors.NearestNeighbors
1 最近邻 class sklearn.neighbors.NearestNeighbors(*, n_neighbors5, radius1.0, algorithmauto, leaf_size30, metricminkowski, p2, metric_paramsNone, n_jobsNone)邻居搜索算法的选择通过关键字 algorithm 控制,它必须是 [auto, ball_tree, kd_tree, brute] …...
V-for中 key 值的作用,如何选择key
Vue.js 中的 v-for 指令是一个强大的工具,可以用于循环渲染列表数据。在使用 v-for 指令时,我们经常需要为每个循环项指定一个 key 值。本文将深入探讨 key 值的作用,并为您提供如何选择 key 值的建议和指导。 开始 在开始之前,让…...
MPNet:旋转机械轻量化故障诊断模型详解python代码复现
目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...
CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型
CVPR 2025 | MIMO:支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题:MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者:Yanyuan Chen, Dexuan Xu, Yu Hu…...
云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地
借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...
JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案
JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停 1. 安全点(Safepoint)阻塞 现象:JVM暂停但无GC日志,日志显示No GCs detected。原因:JVM等待所有线程进入安全点(如…...
【Go语言基础【13】】函数、闭包、方法
文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...
人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式
今天是关于AI如何在教学中增强学生的学习体验,我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育,这并非炒作,而是已经发生的巨大变革。教育机构和教育者不能忽视它,试图简单地禁止学生使…...
【SpringBoot自动化部署】
SpringBoot自动化部署方法 使用Jenkins进行持续集成与部署 Jenkins是最常用的自动化部署工具之一,能够实现代码拉取、构建、测试和部署的全流程自动化。 配置Jenkins任务时,需要添加Git仓库地址和凭证,设置构建触发器(如GitHub…...
【Veristand】Veristand环境安装教程-Linux RT / Windows
首先声明,此教程是针对Simulink编译模型并导入Veristand中编写的,同时需要注意的是老用户编译可能用的是Veristand Model Framework,那个是历史版本,且NI不会再维护,新版本编译支持为VeriStand Model Generation Suppo…...
车载诊断架构 --- ZEVonUDS(J1979-3)简介第一篇
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是…...
算法—栈系列
一:删除字符串中的所有相邻重复项 class Solution { public:string removeDuplicates(string s) {stack<char> st;for(int i 0; i < s.size(); i){char target s[i];if(!st.empty() && target st.top())st.pop();elsest.push(s[i]);}string ret…...
