Nodejs的OS模块 Node.js os 模块提供了一些基本的系统操作函数。...我们可以通过以下方式引入该模块: var os = require("os") 序号 方法 描述 1 os.tmpdir() 返回操作系统的默认临时文件夹。...代码示例 // 读取系统的cpu的信息 const os = require('os') // os.cpus() // 返回一个对象数组,包含所安装的每个 CPU/内核的信息:型号、速度(单位 MHz...POSIX 上是 \n // 在Windows上是 \r\n console.log('操作系统行末标志:' + os.EOL); 我在自己的Windows10系统下VSCode中的运行结果如下图所示:...在我的单核腾讯云CentOS7系统下的运行结果如下图所示: ?
对于文件处理的四个操作 增删改查 简称 curd(create-update-read-del) 需要使用到的模块叫File System 简称fs 是nodejs 自带的一个库 const fs=require...创建目录css image.png 2、fs.readdir 读取当前目录下的文件node02 同步读取 异步读取 同步读取时候 用try catch 处理报错 异步 直接用回调函数中的参数处理
一个网址url分段解析如图 image.png 主要是对nodejs中的url模块 在拿到url的时候 对url的一种解析操作 例如 const url = require('url'); let
首先需要引入fs模块 const fs = require('fs'); 1.fs.stat 检测是文件还是目录 fs.stat('.
官网地址https://nodejs.org/en/ 其优点在于使用了一个事件驱动、非阻塞式 I/O 的模型,异步编程,使其轻量又高效。...本教程安装环境为 1、Centos8 x86 最小化安装系统-虚拟机,8核16G内存500G存储 下面我们开始进行正式安装: 第一种方式,编译安装 1、安装node.js环境 访问官网获取到linux...x64的源码包 https://nodejs.org/en/download/ ?...第二种yum安装 curl -sL https://rpm.nodesource.com/setup_12.x | bash - yum install nodejs -y 检查版本 node -v npm...至此完成nodejs的安装,开始使用吧。
在nodejs中创建cluster 简介 在前面的文章中,我们讲到了可以通过worker_threads来创建新的线程,可以使用child_process来创建新的子进程。...本文将会介绍如何创建nodejs的集群cluster。...// 在本例子中,共享的是 HTTP 服务器。...而本质上,worker.send在主进程中,这会发送消息给特定的工作进程。 相当于 ChildProcess.send()。在工作进程中,这会发送消息给主进程。...如果是在主进程中,那么可以使用worker.send来发送消息。
简介 在前面的文章中,我们讲到了可以通过worker_threads来创建新的线程,可以使用child_process来创建新的子进程。本文将会介绍如何创建nodejs的集群cluster。...// 在本例子中,共享的是 HTTP 服务器。...而本质上,worker.send在主进程中,这会发送消息给特定的工作进程。相当于 ChildProcess.send()。在工作进程中,这会发送消息给主进程。相当于 process.send()。...如果是在主进程中,那么可以使用worker.send来发送消息。...而在子进程中,则可以使用worker中的全局变量process来发送消息。 总结 使用cluster可以充分使用多核CPU的优势,希望大家在实际的项目中应用起来。
CentOS的软件源未包含有最新的nodejs, 需要手动编译安装。...首先安装依赖的库与工具 yum install libtool automake autoconf gcc-c++ openssl-devel 准备命令: yum install epel-release...无需下载源码及解压: 安装: yum install nodejs 验证是否安装配置成功: node -v
方案一:下载离线安装包 以现有的docker image为环境基准,需要什么额外的包就将它下载下来,然后维护一个requirements.txt, 记录包名和版本号。...接着再安装这个包到docker中,最好写一个脚本自动化。 这种方法比较繁琐,但优点是与不联网环境安装python包的流程是一样的,可以满足不联网的安装包的需求。...方案二:安装python包到本地目录 在工程目录新建python_modules,安装python包时使用命令 pip install package_name -t python_modules 将包安装到该目录.../bin/bash export PYTHONPATH=/workspace/python_modules 或者在docker的启动参数中添加环境变量 -e PYTHONPATH=/workspace/...python_modules 当然,在启动docker时要记得把本地目录挂载到docker中。
今天在 1 从官网下载对应的包 2 在服务器上新建nodejs文件夹: /usr/local/nodejs 3 将下载的文件放到nodejs目录下 4 执行tar -xJvf node-v16.13.1...-linux-x64.tar.xz 会得到一个新的文件夹 5 配置环境变量 通过命令vi /etc/profile ,加入以下内容 Nodejs VERSION=v10.15.0 DISTRO=linux-x64...export PATH=/usr/local/nodejs/node-v16.13.1-linux-x64/bin:$PATH 保存退出 6 让profile文件生效 通过命令:source /...etc/profile 让profile文件立即生效 测试验证: 执行 npm -v github指导安装的链接地址:https://github.com/nodejs/help/wiki/Installation
经过在linux中反复安装python3的经验,再看nodejs的安装过程就很觉得很容易。...linux中nodejs的安装有两种方式,一种是编译安装,另一种是直接安装编译好的nodejs,这里我采用前者。...写这篇文章时,nodejs最新稳定版本为 v8.12.0,所以以下安装将以这个版本为例。 以下是具体的安装过程。...安装文件夹: # mkdir /usr/local/nodejs 5、配置安装文件: # ....,可以输入命令 node -v 来检查 Nodejs 是否安装成功: # node -v v8.12.0 # npm -v 6.4.1 此时nodejs就安装好了,环境变量也配置好了。
nodejs中,模块的概念很重要。所有功能都是基于模块划分的。每个模块都是JavaScript脚本,核心模块中主要是由js写成,部分是由C/C++编写,内建模块多是由C/C++编写。...这些模块的调用遵循CommonJS规范。 使用require()加载模块文件,参数值是字符串,如非nodejs自有模块,需要指定模块文件的完整路径及文件名。可以使用相对路径./或绝对路径/。...换句话说,加载某个模块,其实就是加载该模块的module.exports属性。弄明白这个,就可以将需要被在模块外引用的变量、函数和对象放在module.exports属性的值中。...,引用时需要指定文件路径,如果不想指定文件路径,而直接引用文件名,如nodejs核心模块引用那样require( "http" ),则需要将模块文件放到node_modules目录下。...这种方式管理模块更为灵活方便,可以在node_modules目录下新建一个使用该模块命名的目录,再将该模块文件放置在这个子目录下,并将模块文件重命名为index.js即可,应用程序根目录下的node_modules
在nodejs中创建child process 简介 nodejs的main event loop是单线程的,nodejs本身也维护着Worker Pool用来处理一些耗时的操作,我们还可以通过使用nodejs...在child_process模块中,可以同步创建进程也可以异步创建进程。同步创建方式只是在异步创建的方法后面加上Sync。 创建出来的进程用ChildProcess类来表示。...子进程将会在message事件中,将该handle传递给Callback函数,从而可以在子进程中进行处理。...('connection', (socket) => { socket.end('由子进程处理'); }); } }); 可以看到子进程接收到了server handle,并且在子进程中监听...他们的区别就在于在windows的环境中,如果要执行.bat或者.cmd文件,没有shell终端是执行不了的。这个时候就只能以exec来启动。execFile是无法执行的。
我们项目最近在测试pihole dns, 所以想要安装Ubuntu Server测试,结果发现报错。...1.解决安装Ubuntu Server到最后一步报错 安装Ubuntu Server到最后一步报错 Sorry, there was a problem....有的说禁用网卡安装,我是通过禁用网卡实现安装的。 单单是尝试安装Ubuntu Server我就已经筋疲力尽了,根本没想到禁用网卡可以工作。
在上一篇文章在chromev8中的JavaScript事件循环分析中分析到,在chrome中的js引擎是通过执行栈和事件队列的形式来完成js的异步操作。...可以这么说任何花费太长时间的操作都需要将控制权返回给事件循环的JavaScript代码,毕竟这会阻塞页面中任何JavaScript代码的执行,甚至阻塞UI线程,并且用户无法单击浏览、滚动页面等。...[image.png] 没错,就连node的开发者都无法准确的判断这两者的顺序谁前谁后。这取决于这段代码的运行环境。运行环境中的各种复杂的情况会导致在同步队列里两个方法的顺序随机决定。...但是,在一种情况下可以准确判断两个方法回调的执行顺序,那就是在一个I/O事件的回调中。...the-nodejs-event-loop https://nodejs.org/en/docs/guides/event-loop-timers-and-nexttick/
在child_process模块中,可以同步创建进程也可以异步创建进程。同步创建方式只是在异步创建的方法后面加上Sync。 创建出来的进程用ChildProcess类来表示。...当出现无法创建进程,无法kill进程和向子进程发送消息失败的时候都会触发error事件。 当子进程结束后时会触发exit事件。 当子进程的 stdio 流被关闭时会触发 close 事件。...子进程将会在message事件中,将该handle传递给Callback函数,从而可以在子进程中进行处理。...'connection', (socket) => { socket.end('由子进程处理'); }); } }); 可以看到子进程接收到了server handle,并且在子进程中监听...他们的区别就在于在windows的环境中,如果要执行.bat或者.cmd文件,没有shell终端是执行不了的。这个时候就只能以exec来启动。execFile是无法执行的。
而作为NodeJS开发者,跟C++或JAVA编写的后台服务接口打交道那是家常便饭的事儿,因此我们很有必要掌握protobuf协议。 为什么说使用使用类似protobuf的二进制协议通信更好呢?...在NodeJS中实践Protocol Buffer协议 选择支持protobuf的NodeJS第三方模块 protobuf.js ? Google protobuf js ?...proto 文件非常类似 java 或者 C 语言的数据定义。代码清单 1 显示了例子应用中的 proto 文件内容。...可是在某些情况下,人们无法预先知道 .proto 文件,他们需要动态处理一些未知的 .proto 文件。比如一个通用的消息转发中间件,它不可能预知需要处理怎样的消息。...我们这里决定利用protobuf文件可以动态编译的特性,在代码中直接读取proto文件,动态生成我们需要的commonjs模块。
而作为NodeJS开发者,跟C++或JAVA编写的后台服务接口打交道那是家常便饭的事儿,因此我们很有必要掌握protobuf协议。 为什么说使用使用类似protobuf的二进制协议通信更好呢?...在NodeJS中实践Protocol Buffer协议 选择支持protobuf的NodeJS第三方模块 protobuf.js Google protobuf js protocol-buffers...proto 文件非常类似 java 或者 C 语言的数据定义。代码清单 1 显示了例子应用中的 proto 文件内容。...可是在某些情况下,人们无法预先知道 .proto 文件,他们需要动态处理一些未知的 .proto 文件。比如一个通用的消息转发中间件,它不可能预知需要处理怎样的消息。...我们这里决定利用protobuf文件可以动态编译的特性,在代码中直接读取proto文件,动态生成我们需要的commonjs模块。
本文介绍在Anaconda的环境中,安装Python语言中,常用的一个绘图库seaborn模块的方法。...seaborn模块主要用于数据探索、数据分析和数据可视化,使得我们在Python中创建各种统计图表变得更加容易、简单。以下是seaborn模块的一些主要特点和功能。 美观的默认样式。...seaborn模块提供了一套美观的默认样式,使得绘图更加吸引人;其默认颜色主题和图形风格使得我们的图表在呈现数据时更加易于阅读。 高级接口。...在我们之前的很多博客中,也都介绍过这一模块的具体使用方法与场景,包括基于Python TensorFlow Keras Sequential的深度学习神经网络回归、Python中seaborn pairplot...需要注意的是,由于我希望在一个名称为py38的Python虚拟环境中配置seaborn模块,因此首先通过如下的代码进入这一虚拟环境;关于虚拟环境的创建与进入,大家可以参考文章Anaconda创建、使用、
领取专属 10元无门槛券
手把手带您无忧上云