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

【Linux】Ubuntu Linux 系统——Node.js 开发环境

ℹ️大家好,我是练小杰,今天星期五了,同时也是2025年的情人节,今晚又是一个人的举个爪子!! 🙂
本文是有关Linux 操作系统中 Node.js 开发环境基础知识,后续我将添加更多相关知识噢,谢谢各位的支持🙏

前情回顾:【Linux 系统——Python集成开发环境】
Linux专栏:🔝 【Linux零基础开始】【Shell 脚本编程】 【文件权限专栏】

在这里插入图片描述

Node.js 开发环境

  • Node.js简介
    • 虚拟环境简介
  • 开发环境的组成
    • Node.js 运行时
    • 包管理器
      • npm(Node Package Manager)
      • yarn 包管理器
    • 代码编辑器或集成开发环境 (IDE)
    • 版本控制工具 (Git)
    • 调试工具
    • 构建工具
    • 测试框架
    • 持续集成/持续部署 (CI/CD) 工具
    • 容器化工具 (Docker)
    • 其他有用的工具
    • 环境变量和配置文件
    • 安全性工具
    • 文档和注释
  • 在Ubuntu系统上安装Node.js
    • 安装`Node.js`的方式
    • 使用二进制发行版安装`Node.js`
      • 1. 下载 Node.js 二进制包
      • 2. 解压下载的二进制包
      • 3. 移动解压后的文件到系统目录
      • 4. 配置环境变量
      • 5. 验证安装
    • 管理Node.js版本
    • 使用淘宝npm镜像
  • 开发Node.js应用程序
    • 编写程序
    • 测试程序
  • 调试Node.js应用程序

在这里插入图片描述

Node.js简介

  • 在Linux系统中,Node.js开发环境是指为了开发、运行和调试Node.js应用程序所需的一系列工具、库和配置。
  • 完整的Node.js开发环境由多个关键组件构成,这些组件协同工作,帮助开发者高效地开发、运行、测试和部署Node.js应用程序。

虚拟环境简介

  • Node.js(简称Node)是一个基于Chrome V8引擎的JavaScript运行环境。

  • Node.js是一个让JavaScript运行在服务器端的开发平台。

  • Node.js运行时环境包含执行用JavaScript编写的程序所需的一切。

  • Node.js 优点: 开发人员可以在客户端和服务器端编写JavaScript,打通了前、后端。

  • Node.js除了自己的标准类库(主要由二进制类库和核心模块组成)之外, 还可使用大量的第三方模块系统来实现代码的分享和重用,提高开发效率。

  • 对比其他的后端脚本语言,Node.js内置了处理网络请求和响应的函数库,所以不需要额外部署Web服务器。

开发环境的组成

一个在Linux系统上完整的Node.js开发环境由以下主要部分组成:

  1. Node.js 运行时:提供JavaScript运行环境。
  2. 包管理器 (npm 或 yarn):管理项目依赖。
  3. 代码编辑器或 IDE:编写和调试代码。
  4. 版本控制工具 (Git):管理代码版本和协作。
  5. 调试工具:调试应用程序。
  6. 构建工具:打包和优化代码。
  7. 测试框架:编写和运行测试。
  8. CI/CD 工具:自动化构建、测试和部署。
  9. 容器化工具 (Docker):创建和管理容器化环境。
  10. 其他工具 (nodemon, PM2):提升开发效率。
  11. 环境变量和配置文件:管理应用配置。
  12. 安全性工具:确保应用安全。
  13. 文档和注释工具:编写和维护文档。

Node.js 运行时

Node.js 是JavaScript的运行环境,允许你在服务器端执行JavaScript代码。Node.js基于Chrome V8引擎,具有非阻塞、事件驱动的架构,非常适合构建高性能的网络应用。

  • 安装方式:
    • 包管理器:如apt、dnf等,适用于大多数Linux发行版,但版本可能不是最新的。
    • nvm(Node Version Manager):允许你安装和管理多个Node.js版本,适合开发环境。
    • 从官网下载二进制文件:适用于需要特定版本的用户。

包管理器

npm(Node Package Manager)

默认随Node.js一起安装,用于安装、升级和卸载项目依赖。

  • 常用命令:
npm install <package-name>
npm uninstall <package-name>

yarn 包管理器

由Facebook开发,提供更快的安装速度和更稳定的依赖管理。

  • 安装:
npm install -g yarn
  • 常用命令:
yarn add <package-name>
yarn remove <package-name>

代码编辑器或集成开发环境 (IDE)

  • Visual Studio Code (VS Code): 免费、开源,拥有丰富的扩展和调试功能。安装VS Code可以使用Snap安装 或 使用Visual Studio Code安装包。

  • WebStorm:功能全面的JavaScript IDE,由JetBrains开发。可以非常方便地进行代码补全、调试、测试等。

  • Sublime Text:插件丰富,界面也比较美观,且具有简单的项目管理功能。

版本控制工具 (Git)

Git 用于代码版本控制和协作开发。使用GitHub、GitLab、Bitbucket等平台进行代码托管和团队协作。

  • 安装:
sudo apt update
sudo apt install git
  • 配置:
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"

调试工具

  • Node.js 内置调试器:使用 --inspect 标志启动调试模式。
node --inspect app.js
  • VS Code 调试器: 配置 launch.json 文件以支持 Node.js 调试。

  • Chrome DevTools: 通过 --inspect 标志,在Chrome浏览器中使用DevTools进行调试。

构建工具

  • Webpack: 用于打包、压缩和优化前端资源。

    npm install --save-dev webpack webpack-cli
    
  • Gulp、Grunt: 自动化任务运行器,用于执行常见的开发任务。

  • Babel:将现代JavaScript代码转译为兼容旧版本的代码。

    npm install --save-dev @babel/core @babel/cli @babel/preset-env
    

测试框架

  • Jest: 一个功能强大的JavaScript测试框架。

    npm install --save-dev jest
    
  • 另外,Mocha、Chai、AVA 等也是常用的测试框架。

持续集成/持续部署 (CI/CD) 工具

  • Jenkins:一个开源的自动化服务器,用于构建、测试和部署。

  • Travis CICircleCI:基于云的CI/CD服务,易于集成GitHub等平台。

容器化工具 (Docker)

Docker: 用于创建和管理容器化的开发环境,确保开发环境与生产环境的一致性。

  • docker安装命令

    sudo apt update
    sudo apt install docker.io
    sudo systemctl start docker
    sudo systemctl enable docker
    

Docker Compose: 管理多个容器的应用。

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-composesudo chmod +x /usr/local/bin/docker-compose

其他有用的工具

  • nodemon: 在开发过程中自动重启Node.js应用程序,方便实时调试。

    npm install -g nodemon
    
  • PM2:一个高级的进程管理器,用于生产环境的应用程序管理。

    npm install -g pm2
    

环境变量和配置文件

  • 环境变量:使用 .env 文件管理环境变量,配合 dotenv 包使用。
npm install dotenv
  • 配置文件: 使用 package.json 脚本和 config 包管理不同环境的配置。

安全性工具

  • 使用 npm audityarn audit 检查和修复依赖中的安全漏洞。

    npm audit
    
  • ⚠️使用 HTTPS协议:确保所有网络通信使用 HTTPS,保护数据传输安全。

文档和注释

  • JSDoc:为JavaScript代码生成文档。

    npm install --save-dev jsdoc
    
  • Markdown 编辑器:使用 Markdown 编写项目文档和README 文件。

在Ubuntu系统上安装Node.js

安装Node.js的方式

  • 源代码:适合各种版本的安装。
  • 二进制发行版:Node.js官方提供已编译好的二进制软件包,可直接下载使用。
  • 软件源安装:Debian/Ubuntu都有自己的软件源安装工具。
  • n模块: 可以用来安装并切换到相应的Node.js,前提是已安装包管理器npm
  • nvm:这是Node.js版本管理器,可用于安装和管理不同版本的Node.js。

使用二进制发行版安装Node.js

1. 下载 Node.js 二进制包

首先,访问 Node.js 官方下载页面 获取最新的二进制包链接。你也可以使用 wget 命令直接下载所需的版本。 以下示例用下载最新的 LTS(长期支持)版本举例:

#创建一个目录用于存放下载的文件(如果尚未存在)
mkdir -p ~/Downloads/nodejs#进入下载目录
cd ~/Downloads/nodejs#使用 wget 下载最新的 LTS 版本(请根据实际版本号调整 URL)
wget https://nodejs.org/dist/v18.17.1/node-v18.17.1-linux-x64.tar.xz

⚠️注意:请确保使用最新的版本号。你可以在【Node.js 官方下载页面】 找到最新的 LTS 版本链接。

2. 解压下载的二进制包

下载完成后,使用 tar 命令解压压缩包。

#解压下载的压缩包
tar -xf node-v18.17.1-linux-x64.tar.xz

3. 移动解压后的文件到系统目录

为了方便使用,可以将解压后的文件移动到 /usr/local 目录。

sudo mv node-v18.17.1-linux-x64 /usr/local/nodejs

4. 配置环境变量

为了让系统识别 nodenpm 命令,需要将 Node.js 的可执行文件路径添加到 PATH 环境变量中。

  • 编辑 ~/.bashrc(使用 Bash)或 ~/.zshrc(使用 Zsh)文件。
#使用 nano 编辑 ~/.bashrc
nano ~/.bashrc
  • 在文件末尾添加以下内容:
# Node.js
export NODEJS_HOME=/usr/local/nodejs
export PATH=$NODEJS_HOME/bin:$PATH

保存并退出编辑器(在 nano 中,按 Ctrl + O 保存,按 Ctrl + X 退出)。

  • 刷新环境变量配置文件:
source ~/.bashrc

5. 验证安装

最后,验证 Node.jsnpm 是否安装成功。

# 检查 Node.js 版本
node -v
# 输出示例: v18.17.1# 检查 npm 版本
npm -v
# 输出示例: 9.6.7

至此,通过上面的步骤,我们可以在Linux系统中使用二进制发行版成功安装Node.js,并配置好环境变量以便于全局使用 nodenpm 命令。此外,使用 nvm 可以更方便地管理多个Node.js版本,适合开发环境中的不同项目需求。

管理Node.js版本

nvm是专门的Node版本管理器,我们可以利用nvm进行版本管理服务器。

  • 常用命令如下:
nvm current           #显示当前正在使用的版本
nvm ls                 #列出已在本机安装的版本,同时也会显示当前使用的版本
nvm install 8.0.0    #安装指定版本的Node 
nvm uninstall 8.0.0  #卸载指定版本的Node
nvm use 8.0            #指定当前要使用的版本(切换版本)
nvm run 6.10.3 app.js   #使用指定Node版本(6.10.3)运行指定程序(app.js) 
nvm alias default 8.1.0   #设置默认的Node版本
nvm alias default node    #将最新版本作为默认版本

使用淘宝npm镜像

  • 淘宝专门定制了cnpm命令行工具以代替npm,可以执行以下命令进行安装。
sudo npm install -g cnpm --registry=https://registry.npm.taobao.org

安装完成后,可使用cnpm来安装和管理npm包。
cnpm的使用方法与npm相同,只需将npm改成cnpm

开发Node.js应用程序

下面以VS Code编辑器界面举例:

编写程序

const http = require('http');
const httpServer = http.createServer(function (req, res) {res.writeHead(200, {'Content-Type': 'text/plain'});res.end('Hello World!s\n');
});
httpServer.listen(3000,function(){console.log('服务器正在3000端口上监听!');
});

测试程序

  • 运行Node.js程序
    在这里插入图片描述
  • 访问Web应用程序
    在这里插入图片描述

调试Node.js应用程序

  • 设置配置文件.vscode/launch.json
{// Use IntelliSense to learn about possible attributes.// Hover to view descriptions of existing attributes.// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"type": "node","request": "launch","name": "Launch Program","program": "${workspaceFolder}/hello-world.js"}]
}
  • 设置断点
  • 启动Node.js脚本的调试
    在这里插入图片描述
  • 根据需要设置监视器
  • 执行断点之后的语句

调试器支持3种单步执行方式:

  • Step Into<F11>键):单步执行,遇到子函数就进入并且继续单步执行。
  • Step Out<Shift>+<F11>组合键):当单步执行到子函数内时,使用它执行完子函数余下部分,并返回到上一层函数。
  • Step Over<F10>键):在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个执行完毕并返回到下一条语句。
  • 要强制结束调试,按<Shift>+<F5>组合键。

今天的Linux系统的Node.js 开发环境内容到这里就结束了,下星期再见啦👋
ℹ️了解更多,主页【练小杰的CSDN】
⚠️若博客里的内容有问题,欢迎指正,我会及时修改!!!
下周同一时间再见,各位伙伴们🚴🏻‍♀️~~

在这里插入图片描述

相关文章:

【Linux】Ubuntu Linux 系统——Node.js 开发环境

ℹ️大家好&#xff0c;我是练小杰&#xff0c;今天星期五了&#xff0c;同时也是2025年的情人节&#xff0c;今晚又是一个人的举个爪子&#xff01;&#xff01; &#x1f642; 本文是有关Linux 操作系统中 Node.js 开发环境基础知识&#xff0c;后续我将添加更多相关知识噢&a…...

Redis7——基础篇(一)

前言&#xff1a;此篇文章系本人学习过程中记录下来的笔记&#xff0c;里面难免会有不少欠缺的地方&#xff0c;诚心期待大家多多给予指教。 基础篇&#xff1a; Redis&#xff08;一&#xff09; 一、Redis定义 官网地址&#xff1a;Redis - The Real-time Data Platform R…...

MySQL查看存储过程和存储函数

【图书推荐】《MySQL 9从入门到性能优化&#xff08;视频教学版&#xff09;》-CSDN博客 《MySQL 9从入门到性能优化&#xff08;视频教学版&#xff09;&#xff08;数据库技术丛书&#xff09;》(王英英)【摘要 书评 试读】- 京东图书 (jd.com) MySQL9数据库技术_夏天又到了…...

js实现点击音频实现播放功能

目录 1. HTML 部分&#xff1a;音频播放控件 2. CSS 部分&#xff1a;样式设置 3. JavaScript 部分&#xff1a;音频控制 播放和暂停音频&#xff1a; 倒计时更新&#xff1a; 播放结束后自动暂停&#xff1a; 4. 总结&#xff1a; 完整代码&#xff1a; 今天通过 HTML…...

Ubuntu安装docker:docker-desktop : 依赖: docker-ce-cli 但无法安装它、无法定位软件包 docker-ce-cli

具体错误 sudo apt-get install ./docker-desktop-amd64.deb [sudo] password for weiyu: 正在读取软件包列表... 完成 正在分析软件包的依赖关系树... 完成 正在读取状态信息... 完成 注意&#xff0c;选中 docker-desktop 而非 ./docker-desktop-amd64.de…...

免费deepseek的API获取教程及将API接入word或WPS中

免费deepseek的API获取教程: 1 https://cloud.siliconflow.cn/中注册时填写邀请码&#xff1a;GAejkK6X即可获取2000 万 Tokens; 2 按照图中步骤进行操作 将API接入word或WPS中 1 打开一个word&#xff0c;文件-选项-自定义功能区-勾选开发工具-左侧的信任中心-信任中心设置…...

华为交换机堆叠配置

华为交换机堆叠&#xff08;Stack&#xff09;技术是一种将多台物理交换机虚拟化为单一逻辑设备的高可靠性解决方案&#xff0c;可简化网络管理、提升带宽利用率并增强冗余能力。 一、堆叠的核心概念 堆叠系统组成&#xff1a;主交换机&#xff08;Master&#xff09;&#xf…...

基于Java SpringBoot以及vue前后端分离的旅游景区网站系统设计与实现

基于Java SpringBoot以及vue前后端分离的旅游景区网站系统设计与实现 本项目是一款基于Spring Boot和Vue.js开发的旅游景区管理系统&#xff0c;前端合后端的架构&#xff0c;支持用户在线浏览景区信息、预订门票&#xff0c;并提供完善的后台管理功能&#xff0c;包括订单管理…...

DeepSeek教unity------MessagePack-04

Union 联合 MessagePack for C# 支持序列化接口类型和抽象类类型的对象。它的行为类似于 XmlInclude 或 ProtoInclude。在 MessagePack for C# 中&#xff0c;这些被称为Union。只有接口和抽象类可以被 Union 属性注解。需要唯一的联合键。 /******************************…...

侯捷 C++ 课程学习笔记:C++ 新标准 11/14 的革新与实战应用

在侯捷老师的 C 系列课程中&#xff0c;《C 新标准 11/14》这门课程让我对现代 C 编程有了全新的认识。C11 和 C14 是 C 语言发展史上的重要里程碑&#xff0c;它们引入了大量新特性&#xff0c;极大地提升了语言的表达能力和开发效率。侯捷老师通过深入浅出的讲解和丰富的实战…...

MATLAB图像处理:Sobel、Roberts、Canny等边缘检测算子

边缘是图像中像素值剧烈变化的区域&#xff0c;反映了目标的轮廓、纹理等关键信息。边缘检测是图像分割、目标识别等任务的基础。本文将系统解析 六种经典边缘检测算子 的数学原理、实现方法及适用场景&#xff0c;并给出完整的MATLAB代码示例和对比分析。 1. 边缘检测基础 1…...

Python Pandas(7):Pandas 数据清洗

数据清洗是对一些没有用的数据进行处理的过程。很多数据集存在数据缺失、数据格式错误、错误数据或重复数据的情况&#xff0c;如果要使数据分析更加准确&#xff0c;就需要对这些没有用的数据进行处理。数据清洗与预处理的常见步骤&#xff1a; 缺失值处理&#xff1a;识别并…...

基于javaweb的SpringBootoa办公自动化系统设计和实现(源码+文档+部署讲解)

&#x1f3ac; 秋野酱&#xff1a;《个人主页》 &#x1f525; 个人专栏:《Java专栏》《Python专栏》 ⛺️心若有所向往,何惧道阻且长 文章目录 运行环境开发工具适用功能说明部分代码展示 运行环境 Java≥8、MySQL≥5.7 开发工具 eclipse/idea/myeclipse/sts等均可配置运行…...

算法08-递归调用转为循环的通用方法

前导:问题引入 在Python中,递归调用过多会导致“递归深度过深”的错误,通常是因为递归没有正确终止条件或者递归层次太深。 这种错误通常会导致程序抛出 RecursionError 异常。 Python默认的递归深度限制大约是1000层(可以通过sys.getrecursionlimit()查看)。 修正方式…...

[qt5学习笔记]用vs2022(msvc2017)+copilot进行QtWidgetsApplication源码解析

一直没深入了解qt&#xff0c;又一段时间没写qt&#xff0c;重新捡起来。 开发环境 本地vs2022(msvc2017, v14.30)先升级到最新版本&#xff0c;方便使用copilot。 参考 VS2022QT5环境搭建 下载 qt5.14.2 用vs的qt插件设置qt5.14.2x86路径&#xff0c;x64版本未安装。 创建一…...

Nginx--日志(介绍、配置、日志轮转)

前言&#xff1a;本博客仅作记录学习使用&#xff0c;部分图片出自网络&#xff0c;如有侵犯您的权益&#xff0c;请联系删除 一、Nginx日志介绍 nginx 有一个非常灵活的日志记录模式&#xff0c;每个级别的配置可以有各自独立的访问日志, 所需日志模块 ngx_http_log_module 的…...

Transformer 模型介绍(一)——综述

Transformer 是一种完全基于注意力机制的神经网络模型&#xff0c;首次在2017年的论文《Attention Is All You Need》中提出。该模型最初用于机器翻译任务&#xff0c;并在特定任务中表现优于谷歌的其他神经网络机器翻译模型。Transformer 也是 Seq2Seq&#xff08;序列到序列&…...

Ceph集群搭建2025(squid版)

squid版本维护年限 apt install -y cephadmecho >> "deb http://mirrors.163.com/ceph/debian-squid/ bookworm main" echo >> "deb-src http://mirrors.163.com/ceph/debian-squid/ bookworm main"#安装源 cephadm install #开始初始化一个最…...

封装neo4j的持久层和服务层

目录 持久层 mp 模仿&#xff1a; 1.抽取出通用的接口类 2.创建自定义的repository接口 服务层 mp 模仿&#xff1a; 1.抽取出一个IService通用服务类 2.创建ServiceImpl类实现IService接口 3.自定义的服务接口 4.创建自定义的服务类 工厂模式 为什么可以使用工厂…...

HTML 简介

1.什么是 HTML&#xff1f; 超文本&#xff1a;暂且简单理解为 “超级的文本”&#xff0c;和普通文本比&#xff0c;内容更丰富。 标 记&#xff1a;文本要变成超文本&#xff0c;就需要用到各种标记符号。 语 言&#xff1a;每一个标记的写法、读音、使用规则&#xff0c…...

【AWS】EC2 安全组设置

在使用 Amazon Web Services (AWS) 的 EC2 实例时&#xff0c;很多用户会遇到关于 安全组 设置的问题&#xff0c;尤其是在创建或修改安全组时输入描述信息时。最近&#xff0c;有一个常见的错误是当用户在 EC2 安全组 配置中添加描述时&#xff0c;使用了中文字符&#xff0c;…...

git bisect 使用二分法查找引入错误的提交

git bisect 使用二分法查找引入错误的提交 Git bisect 命令官方文档 git bisect 这个命令使用二分搜索算法来查找项目历史中哪个提交引入了一个错误 使用该命令时&#xff0c;首先告诉它一个已知包含错误的 “坏” 提交 以及一个已知在错误出现之前的 “好” 提交 然后 git b…...

STM32 Flash详解教程文章

目录 Flash基本概念理解 Flash编程接口FPEC Flash擦除/写入流程图 Flash选项字节基本概念理解 Flash电子签名 函数读取地址下存放的数据 Flash的数据处理限制部分 编写不易&#xff0c;请勿搬运&#xff0c;感谢理解&#xff01;&#xff01;&#xff01; Flash基本概念…...

业务开发 | 基础知识 | Maven 快速入门

Maven 快速入门 1.Maven 全面概述 Apache Maven 是一种软件项目管理和理解工具。基于项目对象模型的概念&#xff08;POM&#xff09;&#xff0c;Maven 可以从中央信息中管理项目的构建&#xff0c;报告和文档。 2.Maven 基本功能 因此实际上 Maven 的基本功能就是作为 Ja…...

Python实现从SMS-Activate平台,自动获取手机号和验证码(进阶版2.0)

前言 本文是该专栏的第52篇,后面会持续分享python的各种干货知识,值得关注。 在本专栏之前,笔者在文章《Python实现SMS-Activate接口调用,获取手机号和验证码》中,有详细介绍基于SMS-Activate平台,通过python来实现自动获取目标国家的手机号以及对应的手机号验证码。 而…...

网络安全 | 安全信息与事件管理(SIEM)系统的选型与实施

网络安全 | 安全信息与事件管理&#xff08;SIEM&#xff09;系统的选型与实施 一、前言二、SIEM 系统的功能概述2.1 数据收集与整合2.2 实时监控与威胁检测2.3 事件响应与自动化2.4 合规性管理 三、SIEM 系统选型的关键因素3.1 功能需求评估3.2 可扩展性与性能3.3 易用性与可维…...

解决DeepSeek服务器繁忙问题

目录 解决DeepSeek服务器繁忙问题 一、用户端即时优化方案 二、高级技术方案 三、替代方案与平替工具&#xff08;最推荐简单好用&#xff09; 四、系统层建议与官方动态 用加速器本地部署DeepSeek 使用加速器本地部署DeepSeek的完整指南 一、核心原理与工具选择 二、…...

node.js+兰空图床实现随机图

之前博客一直用的公共的随机图API&#xff0c;虽然图片的质量都挺不错的&#xff0c;但是稳定性都比较一般&#xff0c;遂打算使用之前部署的兰空图床&#xff0c;自己弄一个随机图 本文章服务器操作基于雨云——新一代云服务提供商的云服务器进行操作&#xff0c;有兴趣的话可…...

DeepSeek vs ChatGPT:AI对决中的赢家是……人类吗?

DeepSeek vs ChatGPT&#xff1a;AI对决中的赢家是……人类吗&#xff1f; 文章目录 DeepSeek vs ChatGPT&#xff1a;AI对决中的赢家是……人类吗&#xff1f;一、引言1. 背景2. 问题 二、DeepSeek vs ChatGPT&#xff1a;谁更胜一筹&#xff1f;2.1 语言生成能力评测对比场景…...

mac搭建环境

从0-1搭建mac环境 先查看自己的芯片信息 bash uname -mbash-3.2$ uname -m arm64这里是自己的型号安装brew xcode-select --install xcode-select -p /bin/zsh -c “$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)” source /Users/lanren/.…...

【R语言】t检验

一、基本介绍 t检验&#xff08;t-test&#xff09;是用于比较两个样本均值是否存在显著差异的一种统计方法。 t.test()函数的调用格式&#xff1a; t.test(x, yNULL, alternativec("two.sided", "less", "greater"), mu0, pairFALSE, var.eq…...

尚硅谷爬虫note005

一、编解码 1.get请求的quote方法 将汉字转为Unicode字符 # _*_ coding : utf-8 _*_ # Time : 2025/2/12 16:33 # Author : 20250206-里奥 # File : demo19_get请求的quote方法 # Project : PythonProject10-14# 景甜page # https://www.baidu.com/s?ieutf-8&f8&rsv…...

词袋模型和词嵌入模型区别和关联分析(词袋模型是否属于词嵌入模型)

词袋模型&#xff08;Bag of Words, BoW&#xff09;不属于词嵌入模型&#xff0c;它们是两种完全不同的文本表示方法。以下从多个维度对比二者的核心区别 1. 本质区别 特性词袋模型 (BoW)词嵌入模型 (Word Embedding)表示形式离散的稀疏向量&#xff08;高维&#xff0c;维度…...

借用python 学习 VM的 FTP(VisionMaster4.3)

无懒不python:看官方V社区有介绍: 需要安装 Quick Easy FTP Server V4.0.0.exe 为了表示敬意再次放出链接: V社区-机器智能技术交流-VM关于FTP存图的一点分享 好了VM先放一边 先用python自收 自发: 毕竟这个免费 FTP服务端: 0.ftpserver.py 需要安装的库 和 注意事项已经在…...

BDD风格测试

BDD风格测试&#xff08;Behavior-Driven Development&#xff09; BDD&#xff08;行为驱动开发&#xff09;是一种以自然语言描述系统行为的测试方法论&#xff0c;强调团队协作与业务价值验证。结合Mockito的BDD风格API&#xff0c;可以编写更符合业务场景描述、更易读的测…...

[免费]Springboot+Vue医疗(医院)挂号管理系统【论文+源码+SQL脚本】

大家好&#xff0c;我是java1234_小锋老师&#xff0c;看到一个不错的SpringbootVue医疗(医院)挂号管理系统&#xff0c;分享下哈。 项目视频演示 【免费】SpringBootVue医疗(医院)挂号管理系统 Java毕业设计_哔哩哔哩_bilibili 项目介绍 在如今社会上&#xff0c;关于信息上…...

Linux 查看磁盘中的大文件

在 Linux 系统中&#xff0c;你可以使用以下方法来查看磁盘中的大文件信息&#xff1a; 1. 使用 find 命令 find 命令可以递归查找指定目录下的大文件。 find /path/to/directory -type f -size 100M -exec ls -lh {} \;/path/to/directory&#xff1a;要查找的目录路径&…...

浅识MQ的 Kafka、ActiveMQ、RabbitMQ、RocketMQ区别

DeepSeek回复&#xff1a; 以下是主流消息队列&#xff08;MQ&#xff09;的对比分析&#xff0c;结合核心特性、适用场景和实际案例说明&#xff1a; 一、主流MQ对比分析 维度 Kafka RabbitMQ RocketMQ ActiveMQ所属公司Apache&#xff08;LinkedIn开源&#xff09;…...

君海游戏岗位,需要私我

游戏岗位内推啦&#xff0c;需要找我哈 共14个职位 广告投放主管 社会招聘全国 广告投放 社会招聘全国 设计主管 社会招聘全国 海外投放 社会招聘广东省广州市 海外运营 社会招聘广东省广州市 产品运营专员 社会招聘广东省广州市 平台运营 社会招聘广东…...

Vue2/Vue3分别如何使用Watch

在 Vue 2 和 Vue 3 中&#xff0c;watch 用于监听数据的变化并执行相应的逻辑。虽然两者的核心功能相同&#xff0c;但在语法和使用方式上有一些区别。以下是 Vue 2 和 Vue 3 中使用 watch 的详细说明&#xff1a; Vue 2 中的 watch 在 Vue 2 中&#xff0c;watch 是通过选项式…...

boss直聘登录 网易易盾 无感 滑块 分析

声明: 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01; 逆向分析 实测网站是存在风控的比较…...

蓝桥杯 Java B 组之日期与时间计算(闰年、星期计算)

Day 5&#xff1a;日期与时间计算&#xff08;闰年、星期计算&#xff09; 在编程竞赛中&#xff0c;日期和时间计算是常见考点&#xff0c;涉及 闰年判断、星期计算、日期间隔计算 等问题。本日的学习目标&#xff1a; 判断闰年计算某个日期是星期几计算两个日期之间相差多少…...

51单片机之引脚图(详解)

8051单片机引脚分类与功能笔记 1. 电源引脚 VCC&#xff08;第40脚&#xff09;&#xff1a;接入5V电源&#xff0c;为单片机提供工作电压。GND&#xff08;第20脚&#xff09;&#xff1a;接地端&#xff0c;确保电路的电位参考点。 2.时钟引脚 XTAL1&#xff08;第19脚&a…...

掌控系统性能的利器:自动化系统性能监控工具

友友们好! 我的新专栏《Python进阶》正式启动啦!这是一个专为那些渴望提升Python技能的朋友们量身打造的专栏,无论你是已经有一定基础的开发者,还是希望深入挖掘Python潜力的爱好者,这里都将是你不可错过的宝藏。 在这个专栏中,你将会找到: ● 深入解析:每一篇文章都将…...

用大模型学大模型03-数学基础 概率论 随机变量 概率分布

deepseek.com:什么是概率&#xff0c;什么是随机变量&#xff1f;深度学习中常用概率的分布有哪些&#xff1f; 1. 什么是概率&#xff1f; 概率是描述事件发生的可能性的数值&#xff0c;范围在 0 到 1 之间&#xff1a; 0&#xff1a;事件不可能发生。1&#xff1a;事件必…...

ASP.NET Core 使用 FileStream 将 FileResult 文件发送到浏览器后删除该文件

FileStream 在向浏览器发送文件时节省了服务器内存和资源&#xff0c;但如果需要删除文件怎么办&#xff1f;本文介绍如何在发送文件后删除文件&#xff1b;用 C# 编写。 另请参阅&#xff1a;位图创建和下载 使用FileStream向浏览器发送数据效率更高&#xff0c;因为文件是从…...

如何使用DHTMLX Scheduler的拖放功能,在 JS 日程安排日历中创建一组相同的事件

DHTMLX Scheduler 是一个全面的调度解决方案&#xff0c;涵盖了与规划事件相关的广泛需求。假设您在我们的 Scheduler 文档中找不到任何功能&#xff0c;并且希望在我们的 Scheduler 文档中看到您的项目。在这种情况下&#xff0c;很可能可以使用自定义解决方案来实现此类功能。…...

UE_C++ —— Unreal Interfaces

目录 一&#xff0c;Declare an Interface in C 二&#xff0c;Interface Specifiers 三&#xff0c;Implement an Interface in C 四&#xff0c;Declare Interface Functions 五&#xff0c;C Only Interface Functions 六&#xff0c;Blueprint Callable Interface Fu…...

mapbox 从入门到精通 - 目录

&#x1f468;‍⚕️ 主页&#xff1a; gis分享者 &#x1f468;‍⚕️ 感谢各位大佬 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍⚕️ 收录于专栏&#xff1a;mapbox 从入门到精通 文章目录 一、&#x1f340;总目录1.1 ☘️ mapbox基础1.2 ☘️…...

CentOS搭建PPPOE服务器

一、安装软件包 yum -y install rp-pppoe 二、配置服务器 1.修改配置文件 打开/etc/ppp/pppoe-server-options文件 nano /etc/ppp/pppoe-server-options 编辑为以下内容&#xff1a; # PPP options for the PPPoE server # LIC: GPL require-pap require-chap login …...