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

《V8 引擎狂飙,Node.js 续写 JavaScript 传奇》

”你没想过也许是这个镇子对你来说太小了吗? 对我而言,这个小镇容不下我的雄心壮志。 “

什么是 Node.js?

Node.js是一个跨平台JS运行环境,使开发者可以搭建服务器端的JS应用程序

 作用:使用 Node.js 编写服务器端程序

  ✓ 编写数据接口,提供网页资源浏览功能等等

  ✓ 前端工程化:为后续学习 Vue 和 React 等框架做铺垫

什么是前端工程化?

前端工程化:开发项目直到上线,过程中集成的所有工具和技术

Node.js 是前端工程化的基础(因为 Node.js 可以主动读取前端代码内容)

Node.js 为何能执行 JS?

首先:浏览器能执行 JS 代码,依靠的是内核中的 V8 引擎(C++ 程序)

其次:Node.js 是基于 Chrome V8 引擎进行封装(运行环境)

区别:都支持 ECMAScript 标准语法,Node.js 有独立的 API

 

 注意:Node.js 环境没有 DOM 和 BOM 等

使用 Node.js

需求:新建 JS 文件,并编写代码后,在 node 环境下执行。


 

模块:类似插件,封装了方法/属性

 fs 模块 - 读写文件

fs 模块是 Node.js 中用于与文件系统交互的核心模块。它提供了同步和异步的 API,用于执行文件操作,如读取、写入、删除、重命名文件等。

语法

(1)读取文件

异步读取

fs.readFile('file.txt', 'utf8', (err, data) => {if (err) {console.error('读取文件失败:', err);return;}console.log('文件内容:', data);
});
同步读取
try {const data = fs.readFileSync('file.txt', 'utf8');console.log('文件内容:', data);
} catch (err) {console.error('读取文件失败:', err);
}

(2)写入文件

异步写入
fs.writeFile('file.txt', 'Hello, Node.js!', 'utf8', (err) => {if (err) {console.error('写入文件失败:', err);return;}console.log('文件写入成功');
});
同步写入
try {fs.writeFileSync('file.txt', 'Hello, Node.js!', 'utf8');console.log('文件写入成功');
} catch (err) {console.error('写入文件失败:', err);
}

(3)追加内容

异步追加
fs.appendFile('file.txt', '\n追加内容', 'utf8', (err) => {if (err) {console.error('追加内容失败:', err);return;}console.log('内容追加成功');
});
同步追加
try {fs.appendFileSync('file.txt', '\n追加内容', 'utf8');console.log('内容追加成功');
} catch (err) {console.error('追加内容失败:', err);
}

(4)删除文件

异步删除
fs.unlink('file.txt', (err) => {if (err) {console.error('删除文件失败:', err);return;}console.log('文件删除成功');
});
同步删除
 
try {fs.unlinkSync('file.txt');console.log('文件删除成功');
} catch (err) {console.error('删除文件失败:', err);
}

path模块-路径处理

Node.js 代码中,相对路径是根据终端所在路径来查找的,可能无法找到你想要的文件。

path 模块是 Node.js 中用于处理文件路径的核心模块。它提供了一系列工具函数,用于解析、拼接、规范化文件路径,以及提取路径中的信息(如文件名、扩展名等)。

所以,在 Node.js 代码中,使用绝对路径更好。

路径拼接:path.join()

将多个路径片段拼接成一个完整的路径,自动处理路径分隔符。

__dirname 内置变量(获取当前模块目录-绝对路径)

const fullPath = path.join('/foo', 'bar', 'baz/asdf', 'quux', '..');
console.log(fullPath); // 输出: /foo/bar/baz/asdf

http模块

http 模块是 Node.js 中用于创建 HTTP 服务器和客户端的核心模块。它提供了构建 Web 服务器、处理 HTTP 请求和响应的功能。以下是 http 模块的详细介绍和常见用法:


1. 引入 http 模块

在 Node.js 中,使用 require 引入 http 模块:

const http = require('http');

2. 创建 HTTP 服务器

使用 http.createServer() 方法创建一个 HTTP 服务器。

示例:创建一个简单的 HTTP 服务器

const server = http.createServer((req, res) => {res.statusCode = 200; // 设置状态码res.setHeader('Content-Type', 'text/plain'); // 设置响应头res.end('Hello, World!\n'); // 发送响应内容
});server.listen(3000, '127.0.0.1', () => {console.log('服务器运行在 http://127.0.0.1:3000/');
});
  • req:请求对象,包含客户端请求的信息(如 URL、请求头、请求方法等)。

  • res:响应对象,用于向客户端发送响应。


3. 处理请求

(1)获取请求方法

const method = req.method; // 获取请求方法(GET、POST 等)

(2)获取请求 URL

const url = req.url; // 获取请求的 URL

(3)获取请求头

const headers = req.headers; // 获取请求头

(4)获取请求体(POST 请求)

let body = '';
req.on('data', (chunk) => {body += chunk; // 接收数据块
});
req.on('end', () => {console.log('请求体:', body); // 请求体接收完成
});

4. 发送响应

(1)设置状态码


res.statusCode = 200; // 设置状态码为 200

(2)设置响应头

res.setHeader('Content-Type', 'text/plain'); // 设置响应头

(3)发送响应内容

res.end('Hello, World!\n'); // 发送响应内容并结束响应

5. 处理路由

根据请求的 URL 和方法处理不同的路由。

示例:处理 GET 和 POST 请求

const server = http.createServer((req, res) => {if (req.url === '/' && req.method === 'GET') {res.statusCode = 200;res.setHeader('Content-Type', 'text/plain');res.end('这是首页\n');} else if (req.url === '/submit' && req.method === 'POST') {let body = '';req.on('data', (chunk) => {body += chunk;});req.on('end', () => {res.statusCode = 200;res.setHeader('Content-Type', 'text/plain');res.end(`收到的数据: ${body}\n`);});} else {res.statusCode = 404;res.setHeader('Content-Type', 'text/plain');res.end('页面未找到\n');}
});server.listen(3000, '127.0.0.1', () => {console.log('服务器运行在 http://127.0.0.1:3000/');
});

6. 创建 HTTP 客户端

使用 http.request() 或 http.get() 方法创建 HTTP 客户端,发送请求到其他服务器。

示例:发送 GET 请求

const options = {hostname: 'www.example.com',port: 80,path: '/',method: 'GET'
};const req = http.request(options, (res) => {let data = '';res.on('data', (chunk) => {data += chunk;});res.on('end', () => {console.log('响应内容:', data);});
});req.on('error', (err) => {console.error('请求失败:', err);
});req.end(); // 发送请求

简化版 GET 请求

http.get('http://www.example.com/', (res) => {let data = '';res.on('data', (chunk) => {data += chunk;});res.on('end', () => {console.log('响应内容:', data);});
}).on('error', (err) => {console.error('请求失败:', err);
});

7. 处理 HTTPS

Node.js 还提供了 https 模块,用于处理 HTTPS 请求。用法与 http 模块类似。

示例:创建 HTTPS 服务器

const https = require('https');
const fs = require('fs');const options = {key: fs.readFileSync('key.pem'),cert: fs.readFileSync('cert.pem')
};https.createServer(options, (req, res) => {res.statusCode = 200;res.setHeader('Content-Type', 'text/plain');res.end('Hello, HTTPS!\n');
}).listen(443, () => {console.log('HTTPS 服务器运行在 https://localhost:443/');
});

Node.js模块化

什么是模块化?

 概念:项目是由很多个模块文件组成的

好处:提高代码复用性,按需加载,独立作用域

使用:需要标准语法导出和导入进行使用

 CommonJS 标准

 

在 Node.js 中,CommonJS 规范被广泛采用,例如:

  • 使用 require() 函数来导入模块。

  • 使用 module.exportsexports 来导出模块。

  • 使用 global 对象来访问全局变量。

示例:

// file: math.js
function add(a, b) {return a + b;
}function subtract(a, b) {return a - b;
}module.exports = { add, subtract };

 

// file: app.js
const math = require('./math');const result = math.add(5, 3);
console.log(result); // 输出: 8

ECMAScript 标准(ES6)

默认标准使用:

1. 导出:export default {}

2. 导入:import 变量名 from '模块名或路径'

// math.js
export function add(a, b) {return a + b;
}// app.js
import { add } from './math.js';
console.log(add(5, 10)); // 输出: 15

注意:Node.js 默认支持 CommonJS 标准语法

如需使用 ECMAScript 标准语法,在运行模块所在文件夹新建 package.json 文件,并设置 { "type" : "module" }

1. 包的概念

包通常是一个包含 代码、元数据(如 package.json)、依赖项和脚本 的集合,旨在实现某些功能并可以被其他项目或开发者复用。JavaScript 包通常托管在 npm(Node Package Manager)yarn 等包管理器中。


2. 包的结构

一个标准的 npm 包通常包含以下文件:

  • package.json:包的描述文件,包含 名称、版本、依赖项、脚本、作者信息 等。
  • index.js(或 main 指向的入口文件):包的主要代码文件。
  • node_modules/:存放安装的依赖包(通常不手动修改)。
  • README.md:包的说明文档。
  • .gitignore:用于 Git 版本控制,忽略不必要的文件。
  • LICENSE:许可证信息(可选)。

3. 如何管理包

(1)安装包

在项目中使用 npm 或 yarn 安装包:

# 使用 npm 安装包
npm install package-name# 使用 yarn 安装包
yarn add package-name
(2)全局安装包

如果想要在整个系统中可用,可以使用 -g(全局安装):

npm install -g package-name

(3)卸载包

npm uninstall package-name

(4)更新包

npm update package-name

4. 如何创建自己的包

如果你想发布自己的 npm 包,可以按照以下步骤:

(1)初始化包

在项目目录下运行:

npm init

然后按照提示填写 包名、版本号、入口文件、作者信息 等。

(2)编写代码

创建 index.js,例如:

module.exports = function() {console.log("Hello from my package!");
};
(3)发布到 npm

首先,登录 npm

npm login

然后发布包:

npm publish

5. 包的作用

  • 代码复用:将通用功能封装成包,提高开发效率。
  • 模块化管理:减少代码耦合,使项目结构更清晰。
  • 社区共享:可以使用开源社区提供的高质量库,而不需要自己从零开始写代码。

相关文章:

《V8 引擎狂飙,Node.js 续写 JavaScript 传奇》

”你没想过也许是这个镇子对你来说太小了吗? 对我而言,这个小镇容不下我的雄心壮志。 “ 什么是 Node.js? Node.js是一个跨平台JS运行环境,使开发者可以搭建服务器端的JS应用程序 作用:使用 Node.js 编写服务器端程序…...

关于Springboot 应配置外移和Maven个性化打包一些做法

期望达到的效果是每次更新服务器端应用只需要更新主程序jar 依赖jar单独分离。配置文件独立存放于文件夹内,更新程序并不会覆盖已有的配置信息。 一、配置外移 1、开发环境外移 做法:在项目同级或者上级创建config文件夹放置配置文件,具体m…...

Lab18_ SQL injection with filter bypass via XML encoding

文章目录 前言:进入实验室构造 payload 前言: 实验室标题为: 通关 XML 编码绕过过滤器的 SQL 注入 简介: 此实验室的库存检查功能中存在 SQL 注入漏洞。查询结果在应用程序的响应中返回,因此您可以使用 UNION 攻击…...

网络空间安全(21)验证码安全

一、基本概念 验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人的公共全自动程序。它通过…...

DMA在STM32中的应用

在STM32微控制器中,DMA(直接内存访问)是实现高效数据搬运的核心技术,能够显著减轻CPU负担并提升系统性能。以下是STM32中DMA的典型应用及配置方法: 1. STM32的DMA控制器架构 DMA控制器数量:不同系列配置不同,如STM32F1系列有1个DMA控制器(DMA1,7通道),F4系列有2个(…...

V8引擎中的垃圾回收机制如何工作?

V8引擎中的垃圾回收机制主要通过分代回收和增量标记清除算法来管理内存。以下是其工作原理的详细说明: V8 的垃圾回收机制基于以下核心设计原则: 1. 分代假设:大多数对象的生命周期很短,只有少数对象会存活较长时间;…...

汇编的伪指令

一、介绍 伪指令是用于对汇编过程进行控制的指令,该类指令并不是可执行指令,没有对应机器码,只用于汇编过程中为汇编程序提供汇编信息,帮助编译器编译。当汇编结束时,伪指令的使命也就结束了。伪操作可以实现如下功能…...

【TI】如何更改 CCS20.1.0 的 WORKSPACE 默认路径

参考链接: 如何更改 CCS Theia 中工作区的默认位置?- Code Composer Studio 论坛 - Code Composer Studio™︎ - TI E2E 支持论坛 --- How to change the default location for the workspace in CCS Theia? - Code Composer Studio forum - Code Comp…...

GStreamer —— 2.13、Windows下Qt加载GStreamer库后运行 - “教程13:播放控制“(附:完整源码)

运行效果(音频) 简介 上一个教程演示了GStreamer工具。本教程介绍视频播放控制。快进、反向播放和慢动作都是技术 统称为 Trick Modes,它们都有一个共同点 修改 Normal playback rate。本教程介绍如何实现 这些效果并在交易中添加了帧步进。特别是,它 显…...

推荐一款好用在线免费软件工具箱-传道软件箱

推荐一款好用在线免费软件工具箱-传道软件箱 传道软件箱 传道软件箱是一款在线免费软件工具箱,无需登录,无需费用,用完就走的软件工具,包有BMI计算、倒计时、单位转换、密码生成器、摩斯电码、代码编辑器、计算器、快递查询、二维…...

机器学习数学基础:40.结构方程模型(SEM)中卡方值与卡方自由度比

结构方程模型(SEM)中卡方值与卡方自由度比教程 在结构方程模型分析里,卡方值和卡方自由度比是评估模型拟合程度的重要指标,下面为大家详细介绍。 一、卡方值(CMIN) (一)基本概念与…...

【JavaEE进阶】Spring AOP详解

目录 🍃什么是AOP 🌳什么是Spring AOP 🌴上手Spring AOP 🚩引入依赖 🚩编写AOP程序 🎍Spring AOP核心概念 🚩切点(Pointcut) 🚩连接点(Join Point) 🚩通知(Advi…...

Docker 的基本概念和优势,以及在应用程序开发中的实际应用

Docker 是一种开源的容器化平台,让开发人员能够打包、发布和运行应用程序在轻量级、可移植的容器中。Docker 容器包含应用程序的代码、运行时环境、系统工具、系统库等,使得应用程序能在任何环境中快速部署和运行。 Docker 的基本概念包括以下几点&…...

python flask

安装 pip install flask 查看版本 pip show flask 启动服务器 设置环境变量,在控制台执行命令,app.py是创建的文件名 windows set FLASK_APPapp.py mac/linux export FLASK_APPapp.py 启动内置web服务器,注意要进入到app.py所在的文…...

关于tomcat使用中浏览器打开index.jsp后中文显示不正常是乱码,但英文正常的问题

如果是jsp文件就在首行加 “<% page language"java" contentType"text/html; charsetUTF-8" pageEncoding"UTF-8" %>” 如果是html文件 在head标签加入&#xff1a; <meta charset"UTF-8"> 以jsp为例子&#xff0c;我们…...

双向选择排序算法

一 概述 双向选择排序(又称鸡尾酒选择排序)是选择排序的优化版本,核心改进在于每轮遍历同时确定未排序部分的最小值和最大值,分别交换到序列两端,从而减少遍历轮数。 二 时间复杂度 时间复杂度为(O(n^2)),但实际比较次数约为标准选择排序的 (1/2)。 三 C++实现代…...

P8662 [蓝桥杯 2018 省 AB] 全球变暖--DFS

P8662 [蓝桥杯 2018 省 AB] 全球变暖--dfs 题目 解析讲下DFS代码 题目 解析 这道题的思路就是遍历所有岛屿&#xff0c;判断每一块陆地是否会沉没。对于这种图的遍历&#xff0c;我们首先应该想到DFS。 代码的注意思想就是&#xff0c;在主函数中遍历找出所有岛屿&#xff0c…...

2-kafka集群环境搭建

本文介绍kafka集群环境的搭建&#xff0c;我利用三个虚拟机搭建。文中我一步步演示了过程中可能会碰到的问题&#xff0c;在文章的最后&#xff0c;利用jmx&#xff0c;能看到详细的各个kafka broker的运行情况。 -1、环境 ubuntu &#xff1a;22.04-ltskafka: 2.8java: 17 …...

ROS2与Navigation2入门教程:构建与安装Nav2

Navigation2&#xff08;Nav2&#xff09;是ROS2中用于机器人导航的核心框架&#xff0c;支持路径规划、避障、SLAM等功能。本教程将详细介绍Nav2的安装与构建方法&#xff0c;涵盖二进制安装、源码编译及Docker部署等多种方式&#xff0c;适用于不同开发需求。 一、通过APT安…...

MySQL入门手册

MySQL入门手册&#xff1a;从零开始掌握数据库管理 &#x1f4d6; 一、MySQL是什么&#xff1f; MySQL 是一个开源的关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;由瑞典MySQL AB公司开发&#xff0c;现隶属于Oracle旗下。它使用**结构化查询语言&#xff…...

深度学习算法实战——风格迁移(主页有源码)

✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连✨ ​ ​​​ 1. 领域介绍 风格迁移&#xff08;Style Transfer&#xff09;是深度学习中的一个热门应用&#xff0c;旨在将一幅图像的风格迁移到…...

基于SpringBoot的智能问诊系统设计与隐私保护策略

通过SpringBoot框架&#xff0c;我们可以快速搭建一个智能问诊系统&#xff0c;为用户提供便捷的线上医疗服务。然而&#xff0c;在系统设计和实现过程中&#xff0c;如何保障用户的隐私和数据安全&#xff0c;始终是一个亟需关注的问题。本文将探讨基于SpringBoot的智能问诊系…...

开发ai模型最佳的系统是Ubuntu还是linux?

在 AI/ML 开发中&#xff0c;​Ubuntu 是更优选的 Linux 发行版&#xff0c;原因如下&#xff1a; ​1. 开箱即用的 AI 工具链支持 Ubuntu 预装了主流的 AI 框架&#xff08;如 TensorFlow、PyTorch&#xff09;和依赖库&#xff0c;且通过 apt 包管理器可快速部署开发环境。 提…...

Vue 3 ref(new Map()) 无法触发watch

现象 const map ref(new Map()); 通过 map.value.set(k, v); 不能触发watch 下面验证&#xff0c;map.value.set 并不能触发watch 的监听 代码 <script setup lang"ts"> import { ref, triggerRef, watch } from vue;const map ref(new Map<string, R…...

NoteGen是一款开源跨平台的 AI 笔记应用,专注于 recording 和 writing ,基于 Tauri 开发

一、软件介绍 文末提供程序和源码下载 NoteGen 是一款专注于记录和写作的跨平台 AI 笔记应用&#xff0c;基于 Tauri 开发。NoteGen 的核心理念是将记录、写作和 AI 结合使用&#xff0c;三者相辅相成。记录功能可以帮助用户快速捕捉和整理碎片化知识。整理功能是连接记录和写…...

repo访问gerrit.googlesource失败

编译openharmony的时候&#xff0c;repo阶段碰到一个问题&#xff0c;建议不要通过 apt install安装&#xff0c;里面的源来自google curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 -o ~/repo chmod 755 ~/repo 执行类似这样的操作 repo init -u gitgitee.com:…...

IDEA中Git版本回退终极指南:Reset与Revert双方案详解

目录 前言一、版本回退前置知识二、Reset方案&#xff1a;整体改写历史1、IDEA图形化操作&#xff08;推荐&#xff09;1.1、查看提交历史1.2、选择目标版本1.3、选择回退模式1.3.1、Soft&#xff08;推荐&#xff09;1.3.2、Mixed1.3.3、Hard&#xff08;慎用&#xff09;1.3.…...

【系统架构设计师】体系结构复审

目录 1. 说明2. 例题2.1 例题1 1. 说明 1.体系结构设计、文档化和复审是一个迭代过程。2.从这个方面来说&#xff0c;在一个主版本的软件体系结构分析之后&#xff0c;要安排一次由外部人员&#xff08;用户代表和领域专家&#xff09;参加的复审。3.鉴于体系结构文档标准化以…...

Unity之如何实现哔哩哔哩直播弹幕游戏

前言 什么是直播间互动? 当我们使用哔哩哔哩进行直播或者观看视频时,我们可以通过接入哔哩哔哩提供的 直播&互动玩法SDK,让直播和视频可以与Unity3D游戏客户端或者游戏服务器进行互动。 环境要求 Unity 2020.x或更高版本 依赖库:Newtonsoft Json Unity Package 在P…...

视觉图像处理

在MATLAB中进行视觉图像处理仿真通常涉及图像增强、滤波、分割、特征提取等操作。以下是一个分步指南和示例代码,帮助您快速入门: 1. MATLAB图像处理基础步骤 1.1 读取和显示图像 % 读取图像(替换为实际文件路径) img = imread(lena.jpg); % 显示原图 figure; subplot(2…...

学习LED驱动知识(二)

ppt来自B站周老师 使用普通元器件或者电源芯片构建电路驱动LED 1.电阻降压限流设计 案例一&#xff1a; USB供电电压为5V&#xff0c;因为LED的Vf为3v&#xff0c;所以电路只能6个LED并联&#xff0c;直接跟电源并联电流太大&#xff0c;LED会过流导致断路。所以要先串联一个…...

011---UART协议的基本知识(一)

1. 摘要 文章为学习记录。主要介绍 UART 协议的概述、物理层、协议层、关键参数。 2. UART概述 通用异步收发传输器&#xff08;Universal Asynchronous Receiver/Transmitter&#xff09;&#xff0c;通常称作UART&#xff08;串口&#xff09;&#xff0c;是一种异步****串…...

如何选择开源向量数据库

文章目录 评估维度查询性能索引与存储扩展性数据管理能力生态支持 常见向量数据库对比 评估维度 选择开源向量数据库时&#xff0c;需要综合考虑查询性能、数据规模、索引构建速度、生态支持等多个因素&#xff0c;以下是关键的评估维度&#xff1a;选择开源向量数据库时&…...

SpringBoot项目配置文件

SpringBoot项目提供了多种属性配置方式&#xff08;properties、yaml、yml&#xff09; yml配置文件 使用Apifox可以方便开发接口、前端测试等 工程搭建&#xff1a; 1.创建SpringBoot工程&#xff0c;并引入web开发起步依赖、mybatis、mysql驱动、lombok 2.创建数据库表&am…...

L33.【LeetCode笔记】循环队列(数组解法)

目录 1.题目 2.分析 方法1:链表 尝试使用单向循环链表模拟 插入节点 解决方法1:开辟(k1)个节点 解决方法2:使用变量size记录队列元素个数 获取队尾元素 其他函数的实现说明 方法2:数组 重要点:指针越界的解决方法 方法1:单独判断 方法2:取模 3.数组代码的逐步实现…...

前端知识点---库和包的概念

1. 什么是库&#xff08;Library&#xff09;&#xff1f; 库&#xff08;Library&#xff09; 是一组可复用的代码集合&#xff0c;提供特定功能&#xff08;如网络请求、UI 组件、数据处理等&#xff09;。 特点&#xff1a; 只是代码的集合&#xff0c;没有完整的应用结构…...

【CSS3】筑基篇

目录 复合选择器后代选择器子选择器并集选择器交集选择器伪类选择器 CSS 三大特性继承性层叠性优先级 背景属性背景色背景图背景图平铺方式背景图位置背景图缩放背景图固定背景复合属性 显示模式显示模式块级元素行内元素行内块元素 转换显示模式 结构伪类选择器结构伪类选择器…...

CentOS7 安装docker并配置镜像加速

一、Yum 安装docker【不推荐】 /var/lib/docker 路径主要用于存储容器数据&#xff0c;在使用和操作过程中数据量会逐渐增加。因此&#xff0c;在生产环境中&#xff0c;建议为 /var/lib/docker 单独挂载一个硬盘。也可以使用软连接的方式 1.1 安装必要的一些系统工具 yum i…...

【Go每日一练】统计字符出现的次数

&#x1f47b;创作者&#xff1a;丶重明 &#x1f47b;创作时间&#xff1a;2025年3月9日 &#x1f47b;擅长领域&#xff1a;运维 目录 1.&#x1f636;‍&#x1f32b;️题目&#xff1a;2.&#x1f636;‍&#x1f32b;️资源&#xff1a;3.&#x1f636;‍&#x1f32b;️代…...

正向代理与反向代理

代理: 通常称为代理、代理服务器或 Web 代理&#xff0c;代理一般是指正向代理&#xff0c;是位于一组客户端计算机之前的服务器。当这些计算机向 Internet 上的站点和服务发出请求时&#xff0c;代理服务器将拦截这些请求&#xff0c;然后代表客户端与 Web服务器进行通信&…...

报表DSL优化,享元模式优化过程,优化效果怎么样?

报表DSL优化与享元模式应用详解 一、报表DSL优化 1. 问题背景 报表系统通常使用领域特定语言&#xff08;DSL&#xff09;定义模板结构、数据绑定规则及样式配置。随着复杂度提升&#xff0c;DSL可能面临以下问题&#xff1a; 冗余配置&#xff1a;重复定义样式、布局或数据源…...

双击PPT文件界面灰色不可用,需要再次打开该PPT文件才能正常打开

双击PPT文件界面灰色不可用&#xff0c;需要再次打开该PPT文件才能正常打开 1. 软件环境⚙️2. 问题描述&#x1f50d;3. 解决方法&#x1f421;解决步骤 4. 结果预览&#x1f914; 1. 软件环境⚙️ Windows10 或 Windows11 专业版64位&#xff0c;安装MotionGo软件&#xff08…...

学习前置知识第18和19天

今天要做什么&#xff1f; 1&#xff1a;显示数字要求格式 2&#xff1a;无符号除法指令:div 3&#xff1a;前面用vhd和img等格式进行系统界面启动&#xff0c;详细了解多种镜像格式文件的区别 一&#xff1a;显示数字要求格式 屏幕上显示的数字格式,三个颜色编码和数字属性 1&…...

C#运算符详解

一、运算符分类与功能‌ 1‌.算术运算符‌ 基本运算‌&#xff1a;&#xff08;加&#xff09;、-&#xff08;减&#xff09;、*&#xff08;乘&#xff09;、/&#xff08;除&#xff09;、%&#xff08;取模&#xff09; int a 10 / 3; // 结果为3&#xff08;整数除…...

生成任务,大模型

一个生成项目 输入&#xff1a;文字描述&#xff08;但是给的数据集是一串数字&#xff0c;id&#xff0c;ct描述&#xff0c;医生描述&#xff09; 输出&#xff1a;诊断报告 一、数据处理 import pandas as pd #处理表格数据pre_train_file "data/train.csv"tr…...

下载Hugging Face模型的几种方式

1.网页下载 直接访问Hugging Face模型页面&#xff0c;点击“File and versions”选项卡&#xff0c;选择所需的文件进行下载。 2.使用huggingface-cli 首先&#xff0c;安装huggingface_hub: pip install huggingface_hub 然后&#xff0c;使用以下命令下载模型&#xff1…...

【Elasticsearch入门到落地】9、hotel数据结构分析

接上篇《8、RestClient操作索引库-基础介绍及导入demo》 上一篇我们介绍了RestClient的基础&#xff0c;并导入了使用Java语言编写的RestClient程序Demo以及将要分析的数据库。本篇我们就要分析导入的宾馆数据库tb_hotel表结构的具体含义&#xff0c;并分析如何建立其索引库。 …...

【由技及道】量子构建交响曲:Jenkinsfile流水线的十一维编程艺术【人工智障AI2077的开发日志008】

摘要&#xff1a;当代码提交触发时空涟漪&#xff0c;当构建流水线穿越量子维度——欢迎来到自动化构建的终极形态。本文将揭示如何用Jenkinsfile编写量子构建乐章&#xff0c;让每次代码提交都成为跨维度交响乐的音符。 动机&#xff1a;构建系统的量子哲学 “主人啊&#xff…...

Unity开发——CanvasGroup组件介绍和应用

CanvasGroup是Unity中用于控制UI的透明度、交互性和渲染顺序的组件。 一、常用属性的解释 1、alpha&#xff1a;控制UI的透明度 类型&#xff1a;float&#xff0c;0.0 ~1.0&#xff0c; 其中 0.0 完全透明&#xff0c;1.0 完全不透明。 通过调整alpha值可以实现UI的淡入淡…...

jenkins配置连接k8s集群

jenkins配置连接k8s集群 前言 我这边jenkins是在一个服务器里面&#xff0c;k8s集群在其他服务器&#xff0c;实现连接 首先jenkins下载有k8s插件 进入配置页面 获取k8s-api-server地址 对应k8s服务器执行 kubectl config view --minify -o jsonpath{.clusters[0].cluste…...