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

NodeJS学习笔记

NodeJS软件安装

node环境安装:
https://nodejs.org
安装好后的node通常在C:\Program Files\nodejs验证安装是否成功
node -v
npm -v 
进入REPL模式命令行模式
node

NodeJS在REPL模式和编辑器使用

windos在dos下常用命令

windos命令:
1、cmd
dos系统2、cls
清空屏幕3、exit
退出dos4、mkdir
创建命令5、dir
查看文件6、rmdir
删除目录7、ipconfig
查看IP8、ping
通讯测试9、start http://www.baidu.com
打开浏览器10、tasklist
查看进程11、taskkill /f /im chrome.exe
关闭进程12、cd
切换目录13、netstat -ano|find "8080"
查看指定端口

node repl开发模式

cmd下执行js文件
node index.js

NPM国内镜像设置

1、使用国内镜像源(靠谱,亲测可以下载mysql)
将 npm 的默认源替换为国内镜像源(如淘宝镜像),可以显著提升下载速度。
npm config set registry https://registry.npmmirror.com
验证是否生效:
npm config get registry
安装 mysql:
npm install mysql2、使用 cnpm
cnpm 是淘宝镜像提供的 npm 客户端,默认使用淘宝镜像源,适合国内开发者。
npm install -g cnpm --registry=https://registry.npmmirror.com
使用 cnpm 安装 mysql:
cnpm install mysql

NPM模块库、WEB应用和回调函数

npm常用命令

1、npm list
查看本地模块2、npm install mysql
安装mysql模块3、npm uninstall mysql
卸载mysql模块4、npm root
本地模块根目录5、npm root -g
本地服务器所有模块根目录6、npm update mysql
升级指定npm包

node中创建第一个应用(WEB服务)
1、加载http web模块
在这里插入图片描述

安装模块
npm install express//1、加载http web模块
const express = require('express');
const app = express();app.get('/', (req, res) => {res.writeHead(200, { 'Content-Type': 'text/html;charset=utf-8' });res.write("<h1>测试123</h1>");res.send(); // 使用 res.send() 发送响应
});app.listen(666, () => {console.log('server is running');
});

2、查找运行的端口号,找到对应的进程ID
在这里插入图片描述
3、根据进程ID找到对应的进程
在这里插入图片描述
4、访问:
http://localhost:666/

node回调函数
1、同步操作文件

// 加载fs file模块
const fs = require('fs')
file = 'test.txt'
//开始读取文件
console.log('准备读取文件');//正在读取文件
data = fs.readFileSync(file)
console.log(data.toString())//读取文件结束
console.log('程序执行结束')

2、异步操作文件

// 加载fs file模块
const fs = require('fs')
file = 'test.txt'
//开始读取文件
console.log('准备读取文件');//正在读取文件
fs.readFile(file,function(err,data){console.log(data.toString())
});//读取文件结束
console.log('程序执行结束')

Event事件、模块、函数和路由

event事件循环

const events = require('events'); // 导入 events 模块
const evt = new events.EventEmitter(); // 初始化 EventEmitter 实例function eventHandler() {console.log('123'); // 事件处理函数
}evt.on('eventName', eventHandler); // 监听事件
evt.emit('eventName'); // 触发事件

模块系统

######show.js代码块// 自定义show模块
//函数里含有this,则该函数可以称为类
function show(){this.name =  'user1';this.say = function(){console.log('my name is ' + this.name);}
}// 导出show模块,然后在index.js中引入使用
module.exports = show;######index.js代码块使用
const show = require('./show.js');
obj = new show();
obj.say();

function函数

1、常用函数
function aa(){console.log(123);
}
2、匿名函数
aa = function(){console.log(123);
}

路由

const http = require('http');
const url = require('url');cs = function(req,res){res.writeHead(200,{'Content-Type':'text/plain;utf-8'});uri = req.url;if(uri != '/favicon.ico'){//解析路由path = url.parse(uri,true).pathname;switch(path){case '/user/add':res.write('add');break;case '/user/list':res.write('list');break;default:res.write('404');}}res.end();
}http.createServer(cs).listen(8888);

NodeJS全局对象

node全局对象:
console.log(__filename);console.log(__dirname);setTimeout(function(){
console.log(123)
},1000)setTimeout(function(){
console.log(123)
},1000)console.log()计算程序执行时间
const start = performance.now();
for(let i = 0; i < 100000000; i++) {// 空循环
}
const end = performance.now();
console.log(`Execution time: ${end - start} milliseconds`);查看进程相信信息
str = process.version;
str = process.arch;
console.log(str);

NodeJS文件系统、GET请求和工具模块

文件系统

1、读文件内容
1)异步读取
readFile()
##示例:
//加载文件处理模块
const fs = require('fs');
file = 'test.txt';
//同步读取
fs.readFile(file,function(err,data){str = data.toString();console.log(str);
})
console.log('读取文件内容');2)同步阻塞读取
readFileSync()
##示例:
//加载文件处理模块
const fs = require('fs');
file = 'test.txt';
//同步读取
data  = fs.readFileSync(file)
str = data.toString();
console.log(str);2、写文件内容
const fs = require('fs');
const file = 'test.txt';
const str = '\n11111';fs.appendFile(file, str, 'utf8', (err) => {if (err) {console.error('追加文件内容时出错:', err);} else {console.log('内容追加成功');}
});
3、删除文件
unlink()
##示例:
const fs = require('fs');
const file = 'test.txt';if (fs.existsSync(file)) {fs.unlink(file, (err) => {if (err) {console.error('删除文件时出错:', err);} else {console.log('文件删除成功');}});
} else {console.log('文件不存在');
}
4、创建目录
mkdir()
##示例:
const fs = require('fs');
const dir = 'myweb';
if (!fs.existsSync(dir)) {fs.mkdir(dir, (err) => {if (err) {console.error('创建目录时出错:', err);} else {console.log('目录创建成功');}});
} else {console.log('目录已存在');
}
5、删除目录
rmdir()

get请求

http = require('http');
url = require('url');
querystring = require('querystring');cs = function(req,res) {uri = req.urlif(uri !='/favicon.ico'){str = url.parse(uri).query;json = querystring.parse(str);console.log(json);res.write(JSON.stringify(json));}res.end();
}http.createServer(cs).listen(8000);
console.log('server is running');

工具模块

##os模块
const os = require('os');
console.log(os.platform())##path模块
const path = require('path');
str = '/user/local/www/index.sh';
console.log(path.extname(str))

实战

1、php操作删除数据库
index.php

<?php
// 创建连接
$conn = new mysqli("localhost", "root", "root", "myweb");
// 检查连接是否成功
if ($conn->connect_error) {die("连接失败: " . $conn->connect_error);
}// 设置字符集
$conn->set_charset("utf8");// 执行查询
$sql = "SELECT * FROM user";
$ret = $conn->query($sql);// 检查查询结果
if (!$ret) {echo "查询失败: " . $conn->error;
}// 关闭连接
$conn->close();
?>
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>*{font-family: 微软雅黑;}</style><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css" integrity="sha384-B0vP5xmATw1+K9KRQjQERJvTumQW0nPEzvF6L/Z6nronJ3oUOFUFpCjEUQouq2+l" crossorigin="anonymous"><script src="https://code.jquery.com/jquery-3.5.1.min.js"></script><script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" crossorigin="anonymous"></script><script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.min.js" integrity="sha384-+YQ4JLhjyBLPDQt//I+STsc9iw4uQqACwlvpslubQzn4u2UU2UFM80nGisd026JF" crossorigin="anonymous"></script>
</head>
<body><div class="container"><h2 class="page-header">查看用户:</h2><table class="table table-bordered table-hover"><tr><th>编号</th><th>用户名</th><th>密码</th><th>删除</th></tr><?php while ($row = $ret->fetch_assoc()) {echo "<tr>";echo "<td>" . $row["id"] . "</td>";echo "<td>" . $row["username"] . "</td>";echo "<td>" . $row["password"] . "</td>";echo "<td><a href='#' class='del' id='{$row['id']}'>删除</></td>";echo "</tr>";}?></table></div>
</body>
<script>$('.del').click(function(){let id = $(this).attr('id');let row = $(this).closest('tr'); // 保存当前行的引用$.get('del.php',{id:id},function(data){if(data == 1){row.hide(); }else{alert('删除失败');}})})
</script>
</html>

del.php

<?php
// 创建连接
$conn = new mysqli("localhost", "root", "root", "myweb");
// 检查连接是否成功
if ($conn->connect_error) {die("连接失败: " . $conn->connect_error);
}// 设置字符集
$conn->set_charset("utf8");// 执行查询
$id = $_GET['id'];
$sql = "DELETE FROM user WHERE id = {$id}";
$ret = $conn->query($sql);// 检查查询结果
if (!$ret) {echo "删除失败: " . $conn->error;
}else{echo 1;
}// 关闭连接
$conn->close();

2、node操作删除数据库
index.php

<?php
// 创建连接
$conn = new mysqli("localhost", "root", "root", "myweb");
// 检查连接是否成功
if ($conn->connect_error) {die("连接失败: " . $conn->connect_error);
}// 设置字符集
$conn->set_charset("utf8");// 执行查询
$sql = "SELECT * FROM user";
$ret = $conn->query($sql);// 检查查询结果
if (!$ret) {echo "查询失败: " . $conn->error;
}// 关闭连接
$conn->close();
?>
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>*{font-family: 微软雅黑;}</style><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css" integrity="sha384-B0vP5xmATw1+K9KRQjQERJvTumQW0nPEzvF6L/Z6nronJ3oUOFUFpCjEUQouq2+l" crossorigin="anonymous"><script src="https://code.jquery.com/jquery-3.5.1.min.js"></script><script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" crossorigin="anonymous"></script><script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.min.js" integrity="sha384-+YQ4JLhjyBLPDQt//I+STsc9iw4uQqACwlvpslubQzn4u2UU2UFM80nGisd026JF" crossorigin="anonymous"></script>
</head>
<body><div class="container"><h2 class="page-header">查看用户:</h2><table class="table table-bordered table-hover"><tr><th>编号</th><th>用户名</th><th>密码</th><th>删除</th></tr><?php while ($row = $ret->fetch_assoc()) {echo "<tr>";echo "<td>" . $row["id"] . "</td>";echo "<td>" . $row["username"] . "</td>";echo "<td>" . $row["password"] . "</td>";echo "<td><a href='#' class='del' id='{$row['id']}'>删除</></td>";echo "</tr>";}?></table></div>
</body>
<script>$('.del').click(function(){let id = $(this).attr('id');let row = $(this).closest('tr'); // 保存当前行的引用$.getJSON('http://localhost:8888?cb=?', {id:id}, function(json){if(json.ok == 1){row.remove(); // 删除当前行}else{alert('删除失败');}})})
</script>
</html>

index.js

const http = require('http');
const url = require('url');
const querystring = require('querystring');
const mysql = require('mysql');const cs = function (req, res) {const uri = req.url; // 获取请求的 URLconst parsedUrl = url.parse(uri); // 解析 URLconst json = querystring.parse(parsedUrl.query); // 解析查询字符串fname = json.cb;id = json.id;jsonstr = fname + '({"ok":"1"})';//连接操作数据库const connection = mysql.createConnection({host: 'localhost',user: 'root',password: 'root',database: 'myweb'});connection.connect();connection.query('DELETE FROM user WHERE id = ?', [id], function (error, rs, fields) {if(rs.affectedRows == 1){res.write(jsonstr);res.end();}});//关闭数据库connection.end();
};http.createServer(cs).listen(8888);

相关文章:

NodeJS学习笔记

NodeJS软件安装 node环境安装&#xff1a; https://nodejs.org 安装好后的node通常在C:\Program Files\nodejs验证安装是否成功 node -v npm -v 进入REPL模式命令行模式 nodeNodeJS在REPL模式和编辑器使用 windos在dos下常用命令 windos命令&#xff1a; 1、cmd dos系统2、…...

缺陷管理工具-禅道

目录 一、禅道的介绍 二、禅道的特点 三、禅道使用流程 1.管理缺陷 2.管理用例 黑马测试视频学习记录 一、禅道的介绍 二、禅道的特点 三、禅道使用流程 1.管理缺陷 2.管理用例...

C++ 单词识别_牛客题霸_牛客网

点击链接即可查看题目: 单词识别_牛客题霸_牛客网 一、题目 描述 输入一个英文句子&#xff0c;把句子中的单词(不区分大小写)按出现次数按从多到少把单词和次数在屏幕上输出来&#xff0c;次数一样的按照单词小写的字典序排序输出&#xff0c;要求能识别英文单词和句号。 输入…...

qt open3dAlpha重建

qt open3dAlpha重建 效果展示二、流程三、代码效果展示 二、流程 创建动作,链接到槽函数,并把动作放置菜单栏 参照前文 三、代码 1、槽函数实现 void on_actionAlpha_triggered();//alpha重建 void MainWindow::...

PS内发光、外发光

内外发光&#xff08;图层样式–》内发光、外发光&#xff09;&#xff1a;&#xff08;滤色 效果最好&#xff09; 内发光–》结构&#xff1a;内发光的外形 内发光–》图素&#xff1a;渐变发光细节的调整 内发光–》品质&#xff1a;增加质感 内发光–》图素–》阻塞&#x…...

C++之thread_local变量

C之thread_local变量_c threadlocal-CSDN博客 thread_local简介 thread_local 是 C11 为线程安全引进的变量声明符。表示对象的生命周期属于线程存储期。 线程局部存储(Thread Local Storage&#xff0c;TLS)是一种存储期(storage duration)&#xff0c;对象的存储是在…...

鸿蒙开发中,数据持久化之Transaction(事务)的概念及应用

SQLite 数据库具备事务处理能力。 事务本质上是一组操作的集合&#xff0c;它具有原子性&#xff0c;意味着这一系列操作要么全部成功执行&#xff0c;要么全部失败&#xff0c;不存在部分操作成功而部分失败的中间状态。 以常见的转账功能为例&#xff0c;A 账户向 B 账户转账…...

软考高项笔记 1.1.1 信息

1.1.1 信息 &#x1f4da; 信息(Information) 是物质、能量及其属性的标示的集合&#xff0c;是确定性的增加。它以物质介质为载体&#xff0c;传递和反映世界各种事物存在方式、运动状态等的表征。信息不是物质&#xff0c;也不是能力&#xff0c;它以一种普遍形式&#xff0c…...

【TCP/IP协议栈】计算机网络知识补充

参考资料&#xff1a; 前言 【计算机网络知识】 总结 IP 在互联网中MAC 在局域网中 1. IP地址 IP地址有两个版本&#xff0c;IPv4和IPv6。IPv6现在并没有普及使用&#xff0c;所以现在使用的地址大部分依然是IPv4。 IP地址是在IP协议中&#xff0c;用来标识网络中不同主机的…...

【C++进阶学习】第一讲——继承(下)---深入挖掘继承的奥秘

目录 1.隐藏 1.1隐藏的概念 1.2隐藏的两种方式 2.继承与友元 3、继承与静态成员 4.单继承和多继承 4.1单继承 4.2多继承 5.菱形继承 问题1&#xff1a;冗余性 问题2&#xff1a;二义性 6.虚拟继承 7.总结 1.隐藏 1.1隐藏的概念 在 C 中&#xff0c;继承是一种机制…...

IDEA Generate POJOs.groovy 踩坑小计 | 生成实体 |groovy报错

一、无法生成注释或生成的注释是null 问题可能的原因&#xff1a; 1.没有从表里提取注释信息&#xff0c;修改def calcFields(table)方法即可 def calcFields(table) {DasUtil.getColumns(table).reduce([]) { fields, col ->def spec Case.LOWER.apply(col.getDataType().…...

数据结构与算法 计算机组成 八股

文章目录 数据结构与算法数组与链表的区别堆的操作红黑树定义及其原理 计算机组成int和uint的表示原码反码补码移码的定义&#xff1f;为什么用补码&#xff1f; 数据结构与算法 数组与链表的区别 堆的操作 红黑树定义及其原理 计算机组成 int和uint的表示 原码反码补码移…...

【奇点时刻】通义千问开源QwQ-32B技术洞察报告(扫盲帖)

以下报告将基于今天各大社区对 Qwen/QwQ-32B&#xff08;下文简称「QwQ-32B」&#xff09;模型的讨论、测评与实测体验进行综合性分析与洞察。本报告将从模型背景与定位、核心技术、性能表现与对比、部署与使用方式&#xff0c;以及未来潜力与可能的影响五个维度&#xff0c;帮…...

神经网络中梯度计算求和公式求导问题

以下是公式一推导出公式二的过程。 表达式一 ∂ E ∂ w j k − 2 ( t k − o k ) ⋅ sigmoid ( ∑ j w j k ⋅ o j ) ⋅ ( 1 − sigmoid ( ∑ j w j k ⋅ o j ) ) ⋅ ∂ ∂ w j k ( ∑ j w j k ⋅ o j ) \frac{\partial E}{\partial w_{jk}} -2(t_k - o_k) \cdot \text{sigm…...

IDEA 2024.1.7 Java EE 无框架配置servlet

1、创建一个目录&#xff08;文件夹&#xff09;lib来放置我们的库 2、将tomcat目录下的lib文件夹中的servlet-api.jar文件复制到刚创建的lib文件夹下。 3、把刚才复制到lib下的servlet-api.jar添加为库 4、在src下新建一个package&#xff1a;com.demo&#xff0c;然后创…...

Three.js 快速入门教程【十四】使用Stats.js监控渲染帧率和性能优化

系列文章目录 Three.js 快速入门教程【一】开启你的 3D Web 开发之旅 Three.js 快速入门教程【二】透视投影相机 Three.js 快速入门教程【三】渲染器 Three.js 快速入门教程【四】三维坐标系 Three.js 快速入门教程【五】动画渲染循环 Three.js 快速入门教程【六】相机控件 Or…...

基于RapidOCR与DeepSeek的智能表格转换技术实践

基于RapidOCR与DeepSeek的智能表格转换技术实践 一、技术背景与需求场景 在金融分析、数据报表处理等领域&#xff0c;存在大量图片格式的表格数据需要结构化处理。本文介绍基于开源RapidOCR表格识别与DeepSeek大模型的智能转换方案&#xff0c;实现以下典型场景&#xff1a; …...

简单多状态 dp 问题(典型算法思想)—— OJ例题算法解析思路

目录 一、面试题 17.16. 按摩师 - 力扣&#xff08;LeetCode&#xff09; 算法代码&#xff1a; 代码思路解析&#xff1a; 问题分析&#xff1a; 动态规划定义&#xff1a; 状态转移方程&#xff1a; 初始化&#xff1a; 填表&#xff1a; 返回值&#xff1a; 优化空…...

【电路笔记 TMS320C6***DSP】外部存储器接口 A EMIFA向FPGA(作为异步存储器)写入数据的示例

目录 DSP和FPGA的连接DSP端&#xff1a;传输数据给FPGAFPGA端&#xff1a;接收数据 EMIFA&#xff08;External Memory Interface A&#xff09;的“异步存储器”&#xff08;Asynchronous Memory&#xff09;指的是那些不与系统时钟同步进行读写操作的外部存储设备。这类存储器…...

pgsql 查看数据库、表、索引大小等

查询数据库大小 -- 查询单个数据库大小 select pg_size_pretty(pg_database_size(postgres)) as size;-- 查询所有数据库大小 select datname, pg_size_pretty (pg_database_size(datname)) AS size from pg_database; 查询表大小 -- 查询单个表大小 select pg_size_pretty(p…...

物联网感知层采集的数据 经过etl 后 ,输送给ai 训练模型 和模型本身调优

在物联网(IoT)系统中,感知层采集的数据经过 ETL(Extract, Transform, Load) 处理后,可以作为 AI 模型的训练数据,用于模型训练和调优。以下是实现这一过程的详细步骤和技术方案: 一、数据流程概述 数据采集:通过传感器和物联网设备采集原始数据。ETL 处理:对原始数据…...

C语言基础

一、基础 C语言文件 后缀 .c为源文件 .h为头文件 以 Visual studio 为例右键点击源文件点击添加&#xff0c;新建项 .c为C语言文件&#xff0c;.cpp为C文件 后缀不同编译器会按照不同的编译语法进行编译 .cpp以C语法 第一个程序 #include <stdio.h> //包含 st…...

pinginfoview网络诊断工具中文版

介绍 pinginfoview中文版本是一款实用的网络诊断工具&#xff0c;它专为中文用户设计&#xff0c;提供了方便易用的界面&#xff0c;使得在Windows环境下进行ping测试变得更加简单。该工具是由NirSoft开发的一款免费的桌面应用程序&#xff0c;尽管官方可能并未正式发布中文版…...

Anyting LLM LLM温度设置范围

在Anything LLM中&#xff0c;LLM&#xff08;Language Model&#xff09;的温度设置是一个关键参数&#xff0c;它影响着模型生成文本时的随机性和确定性。关于Anything LLM的LLM温度设置范围&#xff0c;虽然没有官方的明确数值范围说明&#xff0c;但通常温度参数的设置遵循…...

鸿蒙Android4个脚有脚线

效果 min:number122max:number150Row(){Stack(){// 底Text().border({width:2,color:$r(app.color.yellow)}).height(this.max).aspectRatio(1)// 长Text().backgroundColor($r(app.color.white)).height(this.max).width(this.min)// 宽Text().backgroundColor($r(app.color.w…...

RecyclerView与ListView的优化

RecyclerView与ListView的优化 一、基础概念对比 1.1 ListView与RecyclerView概述 ListView和RecyclerView都是Android中用于展示列表数据的重要控件&#xff0c;但RecyclerView是更现代化的解决方案&#xff0c;提供了更多的灵活性和性能优势。 ListView特点 Android早期…...

【人工智能】GPT-4 vs DeepSeek-R1:谁主导了2025年的AI技术竞争?

前言 2025年&#xff0c;人工智能技术将迎来更加激烈的竞争。随着OpenAI的GPT-4和中国初创公司DeepSeek的DeepSeek-R1在全球范围内崭露头角&#xff0c;AI技术的竞争格局开始发生变化。这篇文章将详细对比这两款AI模型&#xff0c;从技术背景、应用领域、性能、成本效益等多个方…...

2025年Cursor最新安装使用教程

Cursor安装教程 一、Cursor下载二、Cursor安装三、Cursor编辑器快捷键(1) 基础编辑快捷键(2) 导航快捷键(3) 其他常用快捷键 一、Cursor下载 Cursor官方网站&#xff08;https://www.cursor.com/ &#xff09; 根据自己电脑操作系统选择对应安装包 二、Cursor安装 下载完成后…...

原码、反码和补码的介绍和区别

在计算机中&#xff0c;有符号整数的表示方法主要有 原码、反码和补码&#xff0c;它们解决了二进制数表示正负数及简化运算的问题。以下是分步说明&#xff1a; 1. 原码&#xff08;Sign-Magnitude&#xff09; 定义&#xff1a;最高位为符号位&#xff08;0正1负&#xff09…...

STM32 进阶 定时器

在stm32中定时器大概分为4类 1、系统定时器&#xff1a;属于arm内核&#xff0c;内嵌在NVIC中 2、高级定时器&#xff1a;可以用来刹车和死区 3、通用定时器&#xff1a;可以用来输出pwm方波 4、基本定时器&#xff1a;只能记数 系统定时器注意&#xff1a; 1、系统定时器…...

山东大学:《DeepSeek应用与部署》

大家好&#xff0c;我是吾鳴。 今天吾鳴要给大家分享一份由山东大学出版的DeepSeek报告——《DeepSeek应用与部署》&#xff0c;这份报告讲述了AIGC的发展历程&#xff0c;DeepSeek应用场景和DeepSeek如何本地化部署。报告一共80页PPT&#xff0c;文末有完整版下载地址。 内容摘…...

【无标题】FrmImport

文章目录 前言一、问题描述二、解决方案三、软件开发&#xff08;源码&#xff09;四、项目展示五、资源链接 前言 我能抽象出整个世界&#xff0c;但是我不能抽象你。 想让你成为私有常量&#xff0c;这样外部函数就无法访问你。 又想让你成为全局常量&#xff0c;这样在我的…...

Android14 OTA升级

因Vendor Freeze的缘故,若开启Non-AB OTA, 则会遇到交叉编译vendor和system的增量升级包时需要检查fingerprint而导致编译失败,从而无法做到增量升级包升级。高版本一般都是打开AB模式。 AB 和 non AB 切换相关宏 /vendor_ap_s0/device/mediatek/system/mssi_64_cn/SystemCo…...

监听 RabbitMQ 延时交换机的消息数、OpenFeign 路径参数传入斜杠无法正确转义

背景 【MQ】一套为海量消息和高并发热点消息&#xff0c;提供高可用精准延时服务的解决方案 我现在有一个需求&#xff0c;就是监听 RabbitMQ 一个延时交换机的消息数&#xff0c;而 RabbitTemplate 是不存在对应的方法来获取的。 而我们在 RabbitMQ 的控制台却可以发现延时交…...

宇树科技嵌入式面试题及参考答案(春晚机器人的公司)

目录 设计一个带看门狗(Watchdog)的嵌入式系统,描述故障恢复流程 在资源受限的 MCU 上实现 OTA 升级功能,描述关键设计点 如何实现 OTA(空中升级)功能?描述固件校验和回滚机制的设计要点 推挽输出与开漏输出的区别?举例说明其在 GPIO 控制中的应用 UART、SPI、I2C …...

Linux内核自定义协议族开发指南:理解net_device_ops、proto_ops与net_proto_family

在Linux内核中开发自定义协议族需要深入理解网络协议栈的分层模型。net_device_ops、proto_ops和net_proto_family是三个关键结构体,分别作用于不同的层次。本文将详细解析它们的作用、交互关系及实现方法,并提供一个完整的开发框架。 一、核心结构体的作用与层级关系 struct…...

【Go语言快速上手】第一部分:数据类型(数组、切片、映射)与控制语句

文章目录 一、复合类型Ⅰ 数组1. 语法2. 示例3. 特点4. 数组的传递 Ⅱ 切片1. 定义2. 语法3. 示例4. 特点5. 切片的创建6. 切片的操作切片的扩展切片的拷贝 Ⅲ 映射1. 定义2. 语法3. 示例4. 特点5. 映射的创建6. 映射的操作示例&#xff1a;插入、访问和删除判断键是否存在示例…...

系统架构评估中的重要概念

(1)敏感点(Sensitivity Point) 和权衡点 (Tradeoff Point)。敏感点和权衡点是关键的架构 决策。敏感点是一个或多个构件(和/或构件之间的关系)的特性。研究敏感点可使设计人员 或分析员明确在搞清楚如何实现质量目标时应注意什么。权衡点是影响多个质量属性的特性&#xff0c; …...

shell逐行读取文件 远程操作服务器

代码示例 while read ip; doecho "uninstalling test programs in $line" ssh root$ip bash -s < remote_remove_tool.shdone < installed_ips总结 ✅ 作用&#xff1a; 逐行读取 installed_ips 文件中的 IP 地址通过 SSH 连接到远程服务器&#xff…...

盛铂科技SCP4000射频微波功率计与SPP5000系列脉冲峰值 USB功率计 区别

在射频&#xff08;RF&#xff09;和微波测试领域&#xff0c;快速、精准的功率测量是确保通信系统、雷达、卫星设备等高性能运行的核心需求。无论是连续波&#xff08;CW&#xff09;信号的稳定性测试&#xff0c;还是脉冲信号的瞬态功率分析&#xff0c;工程师都需要轻量化、…...

【每日八股】计算机网络篇(三):IP

目录 DNS 查询服务器的基本流程DNS 采用 TCP 还是 UDP&#xff0c;为什么&#xff1f;默认使用 UDP 的原因需要使用 TCP 的场景&#xff1f;总结 DNS 劫持是什么&#xff1f;解决办法&#xff1f;浏览器输入一个 URL 到显示器显示的过程&#xff1f;URL 解析TCP 连接HTTP 请求页…...

vtk 3D坐标标尺应用 3D 刻度尺

2d刻度尺 : vtk 2D 刻度尺 2D 比例尺-CSDN博客 简介&#xff1a; 3D 刻度尺&#xff0c;也是常用功能&#xff0c;功能强大 3D 刻度尺 CubeAxesActor vtkCubeAxes调整坐标轴的刻度、原点和显示效果&#xff0c;包括关闭小标尺、固定坐标轴原点&#xff0c;以及设置FlyMode模…...

探秘基带算法:从原理到5G时代的通信变革【十】基带算法应用与对比

文章目录 三、算法在现代通信系统中的应用3.1 5G 通信中的应用3.1.1 信道编码与调制解调3.1.2 大规模 MIMO 技术3.1.3 案例分析&#xff1a;5G 基站与终端实现 3.2 卫星通信中的应用3.2.1 抗干扰与纠错编码3.2.2 信号处理与调制解调3.2.3 案例分析&#xff1a;卫星通信系统实例…...

消费级、工业级、汽车级、军工级、航天级芯片区别对比

汽车电子行业&#xff0c;经常会由于降本原因&#xff0c;听到“消规、工规、车规”方面的讨论。常见的芯片等级一般是按照使用温度、辐射、抗干扰等来分级。等级分为以下5类: 民用级&#xff08;消费级&#xff09;、工业级、汽车级&#xff08;车规级&#xff09;、军工级、航…...

迷你世界脚本背包接口:Backpack

背包接口&#xff1a;Backpack 彼得兔 更新时间: 2023-10-25 10:29:21 具体函数名及描述如下: 序号 函数名 函数描述 1 getBackpackBarIDRange(...) 获取道具背包栏ID范围(起始ID~结束ID) 2 getBackpackBarSize(...) 获取道具背包栏大小 3 setGridItem(.…...

javaSE基础

java跨平台性&#xff1a; Java 语言编写的程序&#xff0c;一次编译后&#xff0c;可以在多个操作系统上运行。是由于其增加了一个中间件 JVM&#xff0c;JVM 负责将 Java 字节码转换为特定平台的机器码&#xff0c;并执行。 Java 程序从源代码到运行需要经过三步&#xff1a…...

电脑的系统版本是windows7的,下载pycharm的哪个版本比较好呢?

李升伟 整理 在Windows 7系统上选择PyCharm版本时&#xff0c;需综合考虑系统兼容性、Python版本适配性以及开发需求。以下是具体建议和操作指南&#xff1a; 1. 选择PyCharm的兼容版本 推荐版本&#xff1a;PyCharm 2020.3.5及之前的旧版本。 原因&#xff1a;自2021年起&a…...

【前端基础】3、HTML的常用元素(h、p、img、a、iframe、div、span)、不常用元素(strong、i、code、br)

HTML结构 一个HTML包含以下部分&#xff1a; 文档类型声明html元素 head元素body元素 例&#xff08;CSDN&#xff09;&#xff1a; 一、文档类型声明 HTML最一方的文档称为&#xff1a;文档类型声明&#xff0c;用于声明文档类型。即&#xff1a;<!DOCTYPE html>…...

安装mysql

1、安装数据库 下载链接 https://downloads.mysql.com/archives/community/ 下载zip安装包&#xff0c;解压到某个路径下&#xff0c;将bin文件夹添加到系统环境变量 。 然后终端输入指令 mysql --version 验证 2、初始化数据库 打开命令提示符&#xff08;以管理员身份&am…...

关于 QPalette设置按钮背景未显示出来 的解决方法

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/146047054 长沙红胖子Qt&#xff08;长沙创微智科&#xff09;博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV…...