【前端】ES6新特性汇总
本文作者: slience_me
ES6新特性汇总
1. let声明变量
1)let作用域
// var 声明的变量往往会越域
// let 声明的变量有严格的局部作用域
{var a = 1;let b = 2;
}
console.log(a); // 1
console.log(b); // 报错 b is not defined
2)声明次数
// var 可以声明多次
// let 只能声明一次
var m = 1;
var m = 2;
let n = 3;
// let n = 4; // 报错 n is already declared
console.log(m); // 2
console.log(n); // 报错 n is already declared
3)变量提升
// var 会变量提升
// let 不会变量提升,但需要先声明后使用
console.log(x); // undefined
var x = 10;
console.log(y); // 报错 y is not defined
let y = 20;
2. const声明常量(只读变量)
// 1. 声明之后不允许改变
// 2. 一旦声明必须初始化,不能留到以后赋值, 否则报错
const PI = 3.14;
PI = 3.1415926; // 报错 Assignment to constant variable.
3. 解构表达式
1)数组解构
let arr = [1, 2, 3];
// 传统写法
// let a = arr[0];
// let b = arr[1];
// let c = arr[2];
// console.log(a, b, c);
// ES6 写法
let [a, b, c] = arr;
console.log(a, b, c);
2)对象解构
let person = {name: 'Tom', age: 18};
// 传统写法
// let name = person.name;
// let age = person.age;
// console.log(name, age);
// ES6 写法
let {name, age} = person;
console.log(name, age);
// 换名字
let {name: myName, age: myAge} = person;
console.log(myName, myAge);
4. 字符串扩展
// 字符串模板
// 1、多行字符串
let ss = `<div>
<span>hello</span>
</div>`;
console.log(ss);// 2、字符串插入变量和表达式
let name = 'Tom';
let age = 18;
let info = `My name is ${name}, I'm ${age + 1}`;
console.log(info);function fun(){return 'have fun';
}let info2 = `My name is ${name}, I'm ${age + 1}, I say ${fun()}`;
5. 函数优化
1)函数参数的默认值
// 在ES6以前,我们无法给函数参数设置默认值,只能通过逻辑或运算符来达到目的
function add(a, b) {// 判断b是否为空,为空则给默认值1b = b || 1; // b = b ? b : 1;return a + b;
}
console.log(add(1)); // 2
console.log(add(1, 2)); // 3
console.log(add(1, undefined)); // 2
console.log(add(undefined, 2)); // NaN// 在ES6中,我们可以通过函数参数的默认值来设置参数的默认值
function add2(a, b = 1) {return a + b;
}
console.log(add2(1)); // 2
2)不定参数
// 2、 不定参数
// 1. 使用...args来表示不定参数,args是一个数组
function fun(...args) {console.log(args.length);
}
fun(); // 0
fun(1, 2, 3); // 3// 2. 如果不定参数不是函数的第一个参数,那么不定参数后面不能再跟其他参数
// function add6(a, ...args, b) {
// console.log(a); // 1
// console.log(args); // 报错 SyntaxError: Rest parameter must be last formal parameter
// console.log(b); // 报错 SyntaxError: Rest parameter must be last formal parameter
// }
// add6(1, 2, 3, 4);// 3. 如果函数的参数有默认值,那么不定参数必须放在最后
function add7(a, b, ...args) {console.log(a); // 1console.log(b); // 2console.log(args); // [3, 4]
}
add7(1, 2, 3, 4);
3)箭头函数
// 以前声明一个方法(单参数)
var print = function (obj) {console.log(obj);
}
print({ name: '张三' }); // { name: '张三' }// 箭头函数的声明
var print_ = obj => console.log(obj);
print_({ name: '张三' }); // { name: '张三' }// 以前声明一个方法(多参数)
var add2 = function (a, b) {return a + b;
}
console.log(add2(1, 2)); // 3// 箭头函数的声明
var add3 = (a, b) => a + b;
console.log(add3(1, 2)); // 3// 方法体内有多行代码
// 传统
var add4 = function (a, b) {console.log(a + b);return a + b;
}
// 箭头函数
var add5 = (a, b) => {console.log(a + b);return a + b;
}
console.log(add5(1, 2)); // 3
4)实战:箭头函数结合结构表达式
const person = {name: '张三',age: 18,language: ['java', 'js', 'css'],
}
// 传统
function hello() {console.log('hello, ' + person.name);
}
// 箭头函数
var hello2 = (person) => console.log('hello, ' + person.name);
hello2(person); // hello, 张三// 箭头函数+解构
var hello3 = ({ name }) => console.log('hello, ' + name);
hello3(person); // hello, 张三
6. 对象优化
1)新增的API
const person = {name: '张三',age: 18,language: ['javascript', 'python', 'java']
}
console.log(Object.keys(person))//获取对象所有的键['name', 'age', 'language']
console.log(Object.values(person))//获取对象所有的值['张三', 18, Array(3)]
console.log(Object.entries(person))//获取对象所有的键值对[Array(2), Array(2), Array(2)]const target = {a: 1}
const source1 = {b: 2}
const source2 = {c: 3}
// Object.assign方法的第一个参数是目标对象,后面的参数是源对象
Object.assign(target, source1, source2)//合并对象
console.log(target)//{a: 1, b: 2, c: 3}
2)声明对象简写
const name = '张三'
const age = 18// 传统
const person1 = {name: name, age: age}
// 简写 ES6: 一样的情况可以简写
const person2 = {name, age}//声明对象简写
console.log(person1, person2)//{name: '张三', age: 18} {name: '张三', age: 18}
3)对象的函数属性简写
const person3 = {name: '张三',// 以前eat: function (food) {console.log(this.name + '正在吃' + food)},// 箭头函数版eat2: food => console.log(this.name + '正在吃' + food),// 简写eat3(food) {console.log(this.name + '正在吃' + food);}
}
person3.eat('苹果')//张三正在吃苹果
4)对象拓展运算符
// 4. 对象拓展运算符
// 4.1. 拷贝对象(深拷贝)
let person = {name: '张三', age: 18}
// 传统
const someone1 = {}
for (let key in person) {
someone1[key] = person[key]
}
// ES6
let someone2 = {...person}
console.log(someone2)//{name: '张三', age: 18}// 4.2. 合并对象
const person_with_name = {name: '张三'}
const person_with_age = {age: 18}
const person1 = {...person_with_name, ...person_with_age}
console.log(person1)//{name: '张三', age: 18}
7. map和reduce
1)map
// 数组中新增了map和reduce方法
// map: 映射,将数组中的每个元素映射成另一个值,最终生成一个新数组
let arr = [1, 2, 3, 4, 5];
let arr2 = arr.map(function (item) {
return item * 2;
});
// 箭头函数简写
// let arr2 = arr.map(item => item * 2);
console.log(arr2);
2)reduce
// reduce: 累加器,将数组中的每个元素累加起来,最终生成一个值,可以设置初始值
let arr3 = arr.reduce(function (prev, item) {
return prev + item;
}, 0);
// 箭头函数简写
// let arr3 = arr.reduce((prev, item) => prev + item, 0);
console.log(arr3);
8. Promise
传统的Ajax写法
首先创建一些json文件
- mock
- user.json
- course_score_10.json
- user_course_1.json
具体的内容:
// user.json
{"id": 1,"name": "张三","password": "123456"
}// course_score_10.json
{"id": 100,"score": 90
}// user_course_1.json
{"id": 10,"name": "chinese"
}
Ajax调用:
// 1、查出当前用户信息
// 2、按照当前用户查出来的ID查询他的课程
// 3、按照当前课程ID查询他的分数
$.ajax({url: 'mock/user.json',success(data) { // 1、查出当前用户信息console.log("查询用户: ", data)$.ajax({url: `mock/user_course_${data.id}.json`,success(data) { // 2、按照当前用户查出来的ID查询他的课程console.log("查询到课程: ", data)$.ajax({url: `mock/course_score_${data.id}.json`,success(data) { // 3、按照当前课程ID查询他的分数console.log("查询到分数: ", data)},error(error) {console.log("出现错误: ", error)}})},error(error) {console.log("出现错误: ", error)}})},error(error) {console.log("出现错误: ", error)}
})
1)Promise语法
let p = new Promise((resolve, reject) => { // resolve和reject是两个函数if (true) {resolve(data)} else {reject(err);}
});
2)处理异步结果
p.then((obj) => {return new Promise((resolve, reject) => {if (true) {resolve(data)} else {reject(err);}})
}).catch((err) => { // 失败console.log("出现错误: ", err)
})
3)Promise改造以前嵌套方式
// Promise// 1. Promise可以封装异步操作let p = new Promise((resolve, reject) => { // resolve和reject是两个函数// 1. 异步操作$.ajax({url: 'mock/user.json',success:function (data) { // 1、查出当前用户信息console.log("查询用户: ", data)resolve(data);},error:function (err) {reject(err);}})});p.then((obj) => { // 成功return new Promise((resolve, reject) => {$.ajax({url: `mock/user_course_${obj.id}.json`,success:function (data) { // 1、查出当前用户信息console.log("查询到课程: ", data)resolve(data);},error:function (err) {reject(err);}})})}).then((data) => { // 成功$.ajax({url: `mock/course_score_${data.id}.json`,success:function (data) { // 1、查出当前用户信息console.log("查询到分数: ", data)},error:function (err) {console.log("出现错误: ", err)}})}).catch((err) => { // 失败console.log("出现错误: ", err)})
4)优化处理
function get(url, data) {return new Promise((resolve, reject) => {$.ajax({url: url,data: data,success: function (data) {resolve(data);},error: function (err) {reject(err);}});});}get(`mock/user.json`).then((data) => {console.log("用户查询成功: ", data)return get(`mock/user_course_${data.id}.json`)
}).then((data) => {console.log("课程查询成功: ", data)return get(`mock/course_score_${data.id}.json`)
}).then((data) => {console.log("课程成绩查询成功: ", data)
}).catch((err) => {console.log("出现错误: ", err)
})
9. 模块化
1)什么是模块化
模块化就是把代码进行拆分,方便重复利用。类似java中的导包:要使用一个包,必须先导包。而 JS中没有包的概念,换来的是模块。
模块功能主要由两个命令构成:export
和import
。
export
命令用于规定模块的对外接口。import
命令用于导入其他模块提供的功能。
2)export
const util = {sum(a, b) {return a + b;}
}export {util}; //批量导出
// 起名字 导出导入需要同名
export const util = {sum(a, b) {return a + b;}
}
// 不起名字 导出导入不需要同名
export default {sum(a, b) {return a + b;}
}
// export 不仅可以导出对象,一切JS变量都可以导出;比如:基本类型变量、函数、数组、对象。
var name = 'John';
var age = 30;
function add(a, b) {return a + b;
}export {name, age, add}
3)import
import util from "./hello"
import {name, age, add} from "./user"util.sum(1, 2)
console.log(name)
add(1, 2);
相关文章:
【前端】ES6新特性汇总
本文作者: slience_me ES6新特性汇总 1. let声明变量 1)let作用域 // var 声明的变量往往会越域 // let 声明的变量有严格的局部作用域 {var a 1;let b 2; } console.log(a); // 1 console.log(b); // 报错 b is not defined2)声明次数 …...
2024 CyberHost 语音+图像-视频
项目:CyberHost: Taming Audio-driven Avatar Diffusion Model with Region Codebook Attention 音频驱动的身体动画面临两个主要挑战:(1)关键人体部位,如面部和手部,在视频帧中所占比例较小&#x…...
Git命令摘录
使用 Git 升级软件通常是指通过 Git 仓库获取软件的最新版本或更新代码。以下是详细的步骤和方法: 1. 克隆软件仓库 如果这是你第一次获取软件代码,可以使用 git clone 命令将远程仓库克隆到本地。 git clone <仓库地址> 例如: git cl…...
DeepSeek24小时写作机器人,持续创作高质量文案
内容创作已成为企业、自媒体和创作者的核心竞争力。面对海量的内容需求,人工创作效率低、成本高、质量参差不齐等问题日益凸显。如何在有限时间内产出高质量内容?DeepSeek写作机器人,一款24小时持续创作的智能工具,为企业和个人提…...
Python 面向对象的三大特征
前言:本篇讲解面向对象的三大特征(封装,继承,多态),还有比较细致的(类属性类方法,静态方法),分步骤讲解,比较适合理清楚三大特征的思路 面向对象的…...
在mac中安装Colima使用docker(替代Docker Desktop)
目录 推荐方案:Colima Docker CLI(原生 ARM 支持) 步骤 1: 安装必需工具 步骤 2: 启动 Colima (优化 ARM 虚拟机) 步骤 3: 绑定 Docker CLI 到 Colima 步骤 4: 验证 Docker 运行 方案对比与注意事项 常见陷阱 卸载残留配置ÿ…...
YOLO11网络结构以及改进1
YOLO11 1.YOLO11网络结构图在哪里?2.对应的网络结构图3.每一个模块详解3.1 Conv模块3.2关于卷积模块3.3 关于给各个模块指定参数的细节 4.加入CBAM 1.YOLO11网络结构图在哪里? 2.对应的网络结构图 3.每一个模块详解 3.1 Conv模块 位置:ultr…...
EtherNetIP转ModbusTCP网关,给风电注入“超级赛亚人”能量
EtherNetIP转ModbusTCP网关,给风电注入“超级赛亚人”能量 在工业通信领域,常常需要将不同网络协议的设备和系统连接起来,以实现更高效的数据交互和系统集成。比如,把EtherNet/IP设备及其网络连接到ModbusTCP网络系统,…...
30天开发操作系统 第 20 天 -- API
前言 大家早上好,今天我们继续努力哦。 昨天我们已经实现了应用程序的运行, 今天我们来实现由应用程序对操作系统功能的调用(即API, 也叫系统调用)。 为什么这样的功能称为“系统调用”(system call)呢?因为它是由应用程序来调用(操作)系统中的功能来完…...
DeepSeek处理自有业务的案例:让AI给你写一份小众编辑器(EverEdit)的语法着色文件
1 DeepSeek处理自有业务的案例:让AI给你写一份小众编辑器(EverEdit)的语法着色文件 1.1 背景 AI能力再强,如果不能在企业的自有业务上产生助益,那基本也是一无是处。将企业的自有业务上传到线上训练,那是脑子进水的做法ÿ…...
在香橙派5 NPU上使用Yolov5
【香橙派】使用NPU部署Yolov5的完整解决方案 香橙派使用NPU部署Yolov5的完整解决方案 Orangepi 5 Pro(香橙派5pro)部署yolov5 RK3588实战:调用npu加速,yolov5识别图像、ffmpeg发送到rtmp服务器 香橙派5 RK3588 yolov5模型转换rknn及部署踩坑全记录 orang…...
常用排序算法
1. 基础排序算法 1.1 冒泡排序(Bubble Sort) 原理: 依次比较相邻元素,将较大的元素逐步"冒泡"到右侧。 def bubble_sort(arr):n len(arr)for i in range(n):swapped Falsefor j in range(0, n-i-1):if arr[j] >…...
MySQL判空函数--IFNULL函数的使用
文章目录 IFNULL函数介绍IFNULL函数的语法举例相关扩展 IFNULL函数介绍 在MySQL中,IFNULL函数用于判断给定的表达式是否为NULL。如果表达式为NULL,则IFNULL函数返回指定的替代值;如果表达式不为NULL,则返回表达式本身的值。 IFN…...
Git 设置代理
设置 HTTP 和 HTTPS 代理 运行以下命令来配置 Git 的 HTTP 和 HTTPS 代理: git config --global http.proxy http://127.0.0.1:7890 git config --global https.proxy https://127.0.0.1:7890 验证代理设置 你可以通过以下命令检查代理是否设置成功: g…...
nsc account 及user管理
从安全角度,推荐使用sign 模式进行nats account及用户管理 把权限放到account level 用户密码泄露可以通过快速更换用户可以设置过期日期,进行安全轮换 此外通过nsc 管理用户和权限,可以统一实现全局管控,包括subject管控&#…...
llama.cpp部署 DeepSeek-R1 模型
一、llama.cpp 介绍 使用纯 C/C推理 Meta 的LLaMA模型(及其他模型)。主要目标llama.cpp是在各种硬件(本地和云端)上以最少的设置和最先进的性能实现 LLM 推理。纯 C/C 实现,无任何依赖项Apple 芯片是一流的——通过 A…...
NO.18十六届蓝桥杯备战|循环嵌套|乘法表|斐波那契|质数|水仙花数|(C++)
循环嵌套 循环嵌套的使⽤ while , do while , for ,这三种循环往往会嵌套在⼀起才能更好的解决问题,就是我们所说的:循环嵌套。这三种循环都可以任意嵌套使⽤ ⽐如: 写⼀个代码,打印⼀个乘法⼝…...
用什么办法能实现ubuntu里面运行的自己开发的python程序能自动升级。
要实现Ubuntu中自己开发的Python程序自动升级,可以通过以下几种方式: 1. 使用 Git 仓库 定时任务 如果你的Python程序托管在Git仓库中,可以通过定时拉取最新代码来实现自动升级。 步骤: 确保Python程序在Git仓库中。在Ubuntu上…...
org.apache.kafka.common.errors.TimeoutException
个人博客地址:org.apache.kafka.common.errors.TimeoutException | 一张假钞的真实世界 使用kafka-console-producer.sh向远端Kafka写入数据时遇到以下错误: $ bin/kafka-console-producer.sh --broker-list 172.16.72.202:9092 --topic test This is …...
【AI实践】deepseek支持升级git
当前Windows 11 WSL的git是2.17,Android Studio提示需要升级到2.19版本 网上找到指导文章 安装git 2.19.2 cd /usr/src wget https://www.kernel.org/pub/software/scm/git/git-2.19.2.tar.gz tar xzf git-2.19.2.tar.gz cd git-2.19.2 make prefix/usr/l…...
IntelliJ IDEA 2024.1.4版无Tomcat配置
IntelliJ IDEA 2024.1.4 (Ultimate Edition) 安装完成后,调试项目发现找不到Tomcat服务: 按照常规操作添加,发现服务插件中没有Tomcat。。。 解决方法 1、找到IDE设置窗口 2、点击Plugins按钮,进入插件窗口,搜索T…...
利用Firewalld和Iptables实现IP端口限制与开放
这里写目录标题 前言一、FirewalldIP端口限制1.1 确认启动状态1.2 启动Firewalld1.3 查看当前连接到Nacos的IP1.4 添加访问规则1.5 重新加载配置1.6 查看当前活动的规则列表1.7 移除某个规则 二、Firewalld 开放端口2.1 开放 6379端口2.2 重新加载防火墙2.3 验证规则 三、Iptab…...
两步在 Vite 中配置 Tailwindcss
第一步:安装依赖 npm i -D tailwindcss tailwindcss/vite第二步:引入 tailwindcss 更改配置 // src/main.js import tailwindcss/index// vite.config.js import vue from vitejs/plugin-vue import tailwindcss from tailwindcss/viteexport default …...
单片机原理与运用
个人主页:java之路-CSDN博客(期待您的关注) 目录 一、走进单片机的世界 二、单片机是什么 (一)定义与本质 (二)与普通计算机的区别 三、单片机的工作原理深度剖析 (一)硬件组成及功能 &am…...
MYSQL-数据恢复与备份
个人主页:java之路-CSDN博客(期待您的关注) 目录 数据的重要性与备份恢复的意义 MySQL 备份大揭秘 备份类型大盘点 备份工具展示台 备份实操全流程 MySQL 恢复大作战 恢复原理深剖析 恢复方法大集合 实战案例大放送 备份与恢复的最佳实践 备份策略制定法 …...
【Java】实现后端请求接口
【Java】实现后端请求接口 【一】使用 HttpURLConnection 实现四种请求方式的示例【1】Get请求【2】POST请求【3】PUT请求【4】DELETE 请求【5】汇总工具类,通过传参实现4种请求 【二】HttpClient 实现四种请求方式的示例【1】GET请求【2】POST 请求【3】PUT 请求【…...
人工智能之深度学习的革命性突破
深度学习的革命性突破 深度学习是机器学习的一个子领域,通过模拟人脑神经网络的结构和功能,实现对复杂数据的高效处理。近年来,深度学习在计算机视觉、自然语言处理、语音识别等领域取得了革命性突破。本文将深入探讨深度学习的核心架构、突…...
JavaScript document.write()介绍(直接将内容写入HTML文档的早期方法,已逐渐被现代DOM操作方法取代)
文章目录 **一、基本语法****二、核心功能**1. **在文档加载阶段写入**2. **文档加载后调用会导致覆盖****三、注意事项**1. **覆盖风险**2. **性能问题**3. **XSS 漏洞**4. **已关闭的文档流** **四、使用场景(不推荐,但需了解)****五、现代…...
mybatis-plus逆向code generator pgsql实践
mybatis-plus逆向code generator pgsql实践 环境准备重要工具的版本供参考pom依赖待逆向的SQL 配置文件CodeGenerator配置类配置类说明 环境准备 重要工具的版本 jdk1.8.0_131springboot 2.7.6mybatis-plus 3.5.7pgsql 14.15 供参考pom依赖 <?xml version"1.0&quo…...
【二叉树学习7】
力扣236.二叉树的最近公共祖先 链接: link 思路 要找p,q的公共祖先,可以从下往上遍历二叉树,而二叉树的后序遍历是天然的从下往上遍历。这题采用的是递归的方法,递归结束条件就是root为null或者rootp或者rootq就结束递归。 然后…...
LabVIEW显微镜成像偏差校准
在高精度显微镜成像中,用户常常需要通过点击图像的不同位置,让电机驱动探针移动到指定点进行观察。然而,在实际操作中,经常会遇到一个问题:当点击位于图像中心附近的点时,探针能够相对准确地定位࿱…...
什么是弧形光源
工业检测中的弧形光源是一种专门设计用于机器视觉和自动化检测的照明设备,通常用于提供均匀、高对比度的照明,以增强图像采集质量,便于检测系统识别和分析目标物体的特征。以下是关于工业检测弧形光源的详细介绍: 特点 1均匀照明: 弧形设计能够提供均匀的漫反射光,减少阴…...
Linux性能分析工具Trace使用
Linux Trace是⼀种⽤于抓取和分析系统运⾏时信息的⼯具。允许开发⼈员跟踪和分析系统的各种活动,以便深⼊了解系统的性能、⾏为和故障。下⾯是关于Linux Trace数据抓取的说明: 1. 数据抓取范围:Linux Trace可以抓取各种级别的数据,包括系统级别、进程级别和内核级别的数据。…...
【Apache Paimon】-- 作为一名小白,如何系统地学习 Apache paimon?
目录 一、整体规划 1. 了解基本概念与背景 2. 学习资料的选择 3. 学习路径与规划 4. 学习建议 5. 注意事项 6. 参考学习资料 二、详细计划 阶段 1:了解基础(1-2 周) 阶段 2:深入掌握核心功能(3-4 周…...
Vue2组件通信
目录 【props】【$emit】【Event Bus】【provide和inject】【Vuex】 【props】 父组件通过props向子组件传递数据; <!-- 父组件 --> <template><ChildComponent :message"parentMessage" /> </template> <script> import…...
HarmonyOS:使用List实现分组列表(包含粘性标题)
一、支持分组列表 在列表中支持数据的分组展示,可以使列表显示结构清晰,查找方便,从而提高使用效率。分组列表在实际应用中十分常见,如下图所示联系人列表。 联系人分组列表 在List组件中使用ListItemGroup对项目进行分组&#…...
纪念日倒数日项目的实现-【纪念时刻-时光集】
纪念日/倒数日项目的实现## 一个练手的小项目,uniappnodemysql七牛云。 在如今快节奏的生活里,大家都忙忙碌碌,那些具有特殊意义的日子一不小心就容易被遗忘。今天,想给各位分享一个“纪念日”项目。 【纪念时刻-时光集】 一…...
Kafka知识点总结
一、概述 ¥1. 推拉模式 pull(拉)模式:consumer采用从broker中主动拉取数据,不足之处是如果没有数据,消费者可能会陷入循环中,一直返回空数据。push(推)模式:…...
[AI]从零开始的llama.cpp部署与DeepSeek格式转换、量化、运行教程
一、前言 在上一次的DeepSeek的部署教程中,我们使用Ollama与LM Studio很轻松的部署了DeepSeek并且也完成了相关API的调用,如果还有不会的小伙伴请看下面的教程: DeepSeek本地部署:[AI]从零开始的DeepSeek本地部署及本地API调用教…...
#define宏与编译时定义的本质对决:从const常量到typedef的类型安全演进
目录 一、#define宏与const常量的本质差异:从文本替换到类型安全的编程抉择 1. 预处理阶段的文本替换(#define) 2. 编译时的类型安全(const) 3. 跨文件访问的限制 4. 代码示例对比 5. 最佳实践 总结表 二、类型…...
【天地图】绘制、删除点线面
使用天地图绘制、删除点线面 实现效果图地图组件完整代码使用地图组件完整代码 实现效果图 地图组件完整代码 // 天地图组件 <template><div class"map-container"><div id"mapCon"></div></div> </template><scri…...
2025年:边缘计算崛起下运维应对新架构挑战
一、引言 随着科技的飞速发展,2025年边缘计算正以前所未有的速度崛起,给运维行业带来了全新的架构挑战。在这个充满机遇与挑战的时代,美信时代公司的美信监控易运维管理软件成为运维领域应对这些挑战的有力武器。 二、边缘计算崛起带来的运维…...
【docker知识】快速找出服务器中占用内存较高的容器
本文由Markdown语法编辑器编辑完成。 1.背景: 近期在处理现场问题,观察服务器时,会遇到某些进程占用较高内存的情况。由于我们的服务,基本上都是以容器的方式在运行,因此就需要找到,到底是哪个容器&#…...
SQL联合查询
文章目录 MySQL系列:1.内连接2.外连接3.自连接4.子查询5.合并查询6.插入查询 MySQL系列: 初识MySQL,MySQL常用数据类型和表的操作,增删改查(CRUD)操作(总),数据库约束数据库设计 #班级表 drop table if exists class; create ta…...
cameralib 安装
目录 linux安装: 测试安装是否成功: linux安装: pip install githttps://github.com/isarandi/cameralib.git pip install githttps://github.com/isarandi/boxlib.git pip install githttps://github.com/isarandi/poseviz.git githttps…...
Windows软件自动化利器:pywinauto python
Pywinauto WindowsAPP UI自动化 Windows软件自动化利器:pywinauto python...
清华大学《DeepSeek:从入门到精通》
近日,清华大学新闻与传播学院新媒体研究中心元宇宙文化实验室发布了由余梦珑博士后及其团队撰写的《DeepSeek:从入门到精通》手册。这份长达104页的指南,旨在帮助用户全面掌握国产通用人工智能平台DeepSeek的核心功能与应用技巧。 DeepSeek简…...
网易易盾接入DeepSeek,数字内容安全“智”理能力全面升级
今年农历新年期间,全球AI领域再度掀起了一波革命性浪潮,国产通用大模型DeepSeek凭借其强大的多场景理解与内容生成能力迅速“出圈”,彻底改写全球人工智能产业的格局。 作为国内领先的数字内容风控服务商,网易易盾一直致力于探索…...
天童美语:观察你的生活
在孩子的认知里,世界宛如一片充满神秘色彩的未知之境,有着无尽的奥秘等待他们去探索。家长们,引导孩子用心观察世界,领略其中的美妙,这对孩子的成长进程有着极为关键的作用。贵阳天童教育相信:观察生活&…...
易仓科技ai面试
请解释PHP中的面向对象编程的基本概念,并举例说明如何在PHP中定义一个类。 回答思路:需理解类、对象、继承和多态等基本概念,并能通过实例代码展示如何定义类及其属性和方法。 . 类(Class) 类是一个封装了数据和操作…...