js版本ES6、ES7、ES8、ES9、ES10、ES11、ES12、ES13、ES14[2023]新特性
ES全称ECMAScript,ECMAScript是ECMA制定的标准化脚本语言,本文讲述Javascript[ECMAScript]版本ES6、ES7、ES8、ES9、ES10、ES11、ES12、ES13、ES14[2023]的新特性,帮助朋友们更好的熟悉和使用Javascript
ES5
1.严格模式
use strict
2.Object
getPrototypeOf,返回一个对象的原型getOwnPropertyDescriptor,返回某个对象自有属性的属性描述符getOwnPropertyNames,返回一个数组,包括对象所有自由属性名称集合(包括不可枚举的属性)hasOwnProperty,给定属性存在于对象实例中,返回 trueisPrototypeOf,在原型链中出现过的原型,返回 truecreate,创建一个拥有指定原型和若干指定属性的对象defineProperty,为对象定义一个新属性,或者修改已有的属性,并对属性重新设置 getter 和 setter,这里可以被用作数据绑定的对象劫持用途defineProperties,在一个对象上添加或修改一个或者多个自有属性,与 defineProperty 类似seal,锁定对象,阻止修改现有属性的特性,并阻止添加新属性,但是可以修改已有属性的值freeze,冻结对象,阻止对对象的一切操作和更改,冻结对象将变成只读preventExtensions,让一个对象变得不可以扩展,也就是不能再添加新的属性isSealed,判断对象是否被锁定isFrozen,判断对象是否被冻结isExtensible,判断对象是否可以被扩展keys,返回一个由给定对象的所有可以枚举自身属性的属性名组成的数组
3.Array
Array.isArray,确定某个值到底是不是数组,不管它在哪个全局执行环境中创建push,接收任意数量的参数,把它们逐个添加到数组末尾,并返回修改后数组的长度pop,在数组尾部移除最后一项,减少数组的 length 值,然后返回移除的项shift,移除数组中的第一项并返回该项,同时将数组长度减 1unshift,在数组前端添加任意个项,并返回新数组的长度reverse,反转数组项的顺序,返回排序后的数组sort,默认情况下,按升序排序数组项,返回排序后的数组concat,创建当前数组的一个副本,将接收到的参数添加到这个副本的末尾,返回新构建的数组join,用指定的字符拼接数组,返回拼接好的字符串slice,基于当前数组中的一个或多个创建一个新数组,不影响原始数组splice,根据传入参数不同,可以删除、插入、替换数组元素,返回一个数组,该数组中包含从原始数组中删除的项,如果没有删除任何项,则返回空数组indexOf,返回根据给定元素找到的第一个索引值,如果不存在则返回 -1lastIndexOf,返回指定元素在数组中的最后一个索引值,如果不存在则返回 -1every ,对数组中的每一项运行给定函数 ,如果该函数对每一项都返回 true,则返回 truefilter,对数组中的每一项运行给定函数 ,返回该函数会返回 true 的项组成的数组forEach,对数组中的每一项运行给定函数,没有返回值map,对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组some,对数组中的每一项运行给定函数,如果函数对任一项返回 true,则返回 truereduce,接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终缩减为一个值reduceRight,接收一个函数作为累加器,数组中的每个值(从右到左)开始缩减,最终缩减为一个值
4.String
charAt,访问字符串中特定字符,返回给定位置的字符charCodeAt,访问字符串中特定字符,返回给定位置的字符的字符编码concat,将一个或多个字符串拼接起来,返回拼接得到的新字符串match,查找匹配的字符串,返回一个数组search,查找匹配的字符串,返回匹配项的索引,没有找到,返回 -1replace,替换字符串split,基于指定的分隔符将一个字符串分割成多个字符串,将结果放在一个数组中,并返回trim,创建一个字符串的副本,删除前置及后缀的所有空格,然后返回结果localeCompare,比较两个字符串slice,返回被操作字符串的一个子字符串substr,返回被操作字符串的一个子字符串substring,返回被操作字符串的一个子字符串
注意:slice、substr、substring 都接受一个或两个参数,第一个参数指定字符串的开始位置,第二个参数表示子字符串到哪里结束,slice 和 substring 的第二个参数指定的是子字符串的最后一个字符后面的位置,substr 第二个参数指定的是返回的字符个数,如果没有传递第二个参数,则将字符串的末尾作为结束位置。
5.Function
arguments.callee,该属性是一个指针,指向拥有这个 arguments 对象的函数arguments.caller,该属性保存着调用当前函数的函数的引用apply,在特定的作用域中调用函数,第一个参数是在其中运行函数的作用域,第二个是参数数组call,在特定的作用域中调用函数,第一个参数是在其中运行函数的作用域,其余参数直接传递给函数bind,创建一个函数的实例,其 this 值会被绑定到传给 bind 函数的值
6.JSON
JSON.parse,解析字符串为 JSON 对象JSON.stringify,解析 JSON 对象为字符串JSON.valueOf,获取某个JSON 对象中的值JSON.toString,被调用时,会调用 Object 原型上的 toString 方法,会获的 JSON 对象的值并转为字符串,如果没有具体的值,则返回原型数组JSON.toLocaleString,也是Object 原型上的方法,经常会返回与 toString 相同内容,但是对于 Date 对象,则会返回格式化的时间字符串
7.其他
Date.now,返回当前时间戳Date.toJSON,将 Date 对象转换为字符串,格式为 JSON 日期Math.min,确定一组数值中的最小值Math.max,确定一组数值中的最大值Math.random,返回大于 0 小于 1 的一个随机数Number.prototype.toFixed,按照指定的小数位返回数值的字符串表示
ES6(2015)
1.类
class Man {constructor(name) {this.name = '你好世界';}console() {console.log(this.name);}
}
const man = new Man('你好世界');
man.console(); // 你好世界
创建类的几种方法:在 JavaScript 中,创建类有几种不同的方式。以下是几种常见的方法:
1. 使用 class 关键字(ES6+)这是 ES6 引入的一种标准语法来创建类,语法简洁易懂。javascript
class Person {constructor(name, age) {this.name = name;this.age = age;}greet() {console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`);}
}const person = new Person('Alice', 30);
person.greet(); // 输出: Hello, my name is Alice and I am 30 years old.2. 使用函数构造器(传统方式)在 ES6 之前,使用函数构造器来模拟类。函数构造器通过 new 关键字来创建实例,并通过原型链定义方法。javascript
function Person(name, age) {this.name = name;this.age = age;
}Person.prototype.greet = function() {console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`);
};const person = new Person('Bob', 25);
person.greet(); // 输出: Hello, my name is Bob and I am 25 years old.3. 使用 Object.create() 和构造函数通过 Object.create() 可以创建一个对象并设置它的原型,进而模拟类的行为。javascript
const PersonPrototype = {greet: function() {console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`);}
};function Person(name, age) {const obj = Object.create(PersonPrototype);obj.name = name;obj.age = age;return obj;
}const person = Person('Charlie', 40);
person.greet(); // 输出: Hello, my name is Charlie and I am 40 years old.4. 使用 class 和继承(ES6+)ES6 的 class 语法支持继承,可以通过 extends 关键字来实现。javascript
class Animal {constructor(name) {this.name = name;}speak() {console.log(`${this.name} makes a noise.`);}
}class Dog extends Animal {constructor(name) {super(name); // 调用父类的构造函数}speak() {console.log(`${this.name} barks.`);}
}const dog = new Dog('Rex');
dog.speak(); // 输出: Rex barks.5. 使用 ES6 class 和静态方法class 还支持静态方法,这些方法不会被实例化,而是直接在类本身上调用。javascript
class Calculator {static add(a, b) {return a + b;}static subtract(a, b) {return a - b;}
}console.log(Calculator.add(5, 3)); // 输出: 8
console.log(Calculator.subtract(5, 3)); // 输出: 26. 使用 ES5 构造函数结合原型链和静态方法在传统的 ES5 中,也可以通过原型链结合静态方法来模拟类的功能。function Car(make, model) {this.make = make;this.model = model;
}Car.prototype.drive = function() {console.log(`${this.make} ${this.model} is driving.`);
};Car.getBrand = function() {return 'Generic Car Brand';
};const car = new Car('Toyota', 'Camry');
car.drive(); // 输出: Toyota Camry is driving.
console.log(Car.getBrand()); // 输出: Generic Car Brand
2.模块化(ES Module)
// 模块 A 导出一个方法
export const sub = (a, b) => a + b;
// 模块 B 导入使用
import { sub } from './A';
console.log(sub(1, 2)); // 3
3.箭头(Arrow)函数
const func = (a, b) => a + b;
func(1, 2); // 3箭头函数(Arrow Function)是 JavaScript 中一种简化函数写法的语法,它使用 => 符号来定义函数。箭头函数提供了一种更简洁的方式来定义匿名函数,同时也改变了 this 关键字的行为。
基本语法javascript
const functionName = (parameters) => {// 函数体
};示例
1. 简单的箭头函数javascript
const add = (a, b) => {return a + b;
};console.log(add(2, 3)); // 输出: 52. 单行箭头函数(隐式返回)如果箭头函数的主体只有一个表达式,可以省略 return 关键字,并且该表达式的值会被自动返回。javascript
const add = (a, b) => a + b;console.log(add(2, 3)); // 输出: 53. 无参数的箭头函数如果没有参数,仍然需要一个空的括号。javascript
const greet = () => console.log('Hello!');greet(); // 输出: Hello!4. 只有一个参数的箭头函数如果函数只有一个参数,可以省略括号。javascript
const square = x => x * x;console.log(square(5)); // 输出: 25箭头函数的特点
1. this 绑定箭头函数最显著的特点是它不会创建自己的 this,而是继承外部上下文中的 this。这意味着箭头函数中的 this 与外部的 this 相同,而常规函数会根据调用的上下文来决定 this。javascript
// 使用常规函数时,`this` 指向的是调用函数的对象
function Person(name) {this.name = name;
}Person.prototype.greet = function() {console.log(`Hello, ${this.name}`);
};const john = new Person('John');
john.greet(); // 输出: Hello, John// 使用箭头函数时,`this` 继承自外部环境
function Person(name) {this.name = name;setTimeout(() => {console.log(`Hello, ${this.name}`);}, 1000<
相关文章:
js版本ES6、ES7、ES8、ES9、ES10、ES11、ES12、ES13、ES14[2023]新特性
ES全称ECMAScript,ECMAScript是ECMA制定的标准化脚本语言,本文讲述Javascript[ECMAScript]版本ES6、ES7、ES8、ES9、ES10、ES11、ES12、ES13、ES14[2023]的新特性,帮助朋友们更好的熟悉和使用Javascript ES5 1.严格模式 use strict2.Object getPrototypeOf,返回一个对象的原…...
基于ffmpeg+openGL ES实现的视频编辑工具-解码(四)
在开发视频编辑工具时,预览功能是基石,它涵盖视频、图片以及音频播放,而视频解码则是实现视频预览及后续编辑操作的关键环节。本文聚焦于基于 FFmpeg 实现视频解码的过程,详细阐述开发中遭遇的痛点、对应的解决方式,以及核心代码的运作原理。 一、开发背景与目标 视频编…...
机器学习:决策树
1. 初步概念 决策树是一种基于分裂特征的机器学习方法,用于分类和回归任务。它通过将数据按特征值进行分割,最终做出预测。与线性模型不同,决策树能够自动识别重要的特征,并根据数据情况生成复杂的决策规则。 2. 决策树的核心思想 决策树的核心思想在于选择一个特征作为…...
@media 的常用场景与示例
media 的常用场景与示例 1. 基本概念2. 常用场景2.1 不同屏幕宽度的布局调整2.2 隐藏或显示元素2.3 字体大小调整2.4 图片大小调整2.5 高度调整2.6 颜色调整2.7 鼠标悬停效果 3. 常用示例3.1 基本响应式布局3.2 隐藏侧边栏3.3 字体大小和图片大小 4. 总结 在现代网页设计中&…...
深入浅出:基于SpringBoot和JWT的后端鉴权系统设计与实现
文章目录 什么是鉴权系统定义与作用主要组成部分工作原理常用技术和框架 基于SpringBoot JWT的鉴权系统设计与实现指南前言技术对比令牌技术JWT令牌实现全流程1. **依赖引入**2. **JWT 工具类**3. **JWT 拦截器(Interceptor)** 4. **拦截器注册**5. **登…...
怎麼利用靜態ISP住宅代理在指紋流覽器中管理社媒帳號?
靜態ISP住宅代理是一種基於真實住宅IP的代理服務。這類代理IP通常由互聯網服務提供商(ISP)分配,具有非常高的真實性,與普通數據中心代理相比,更不容易被平臺檢測到為“虛假IP”或“代理IP”,靜態ISP住宅代理…...
DeepSeek掘金——SpringBoot 调用 DeepSeek API 快速实现应用开发
Spring Boot 实现 DeepSeek API 调用 1. 项目依赖 在 pom.xml 中添加以下依赖: <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-webflux</artifactId></dependency>&l…...
解决本地模拟IP的DHCP冲突问题
解决 DHCP 冲突导致的多 IP 绑定失效问题 前言 续接上一篇在本机上模拟IP地址。 在实际操作中,如果本机原有 IP(如 192.168.2.7)是通过 DHCP 自动获取的,直接添加新 IP(如 10.0.11.11)可能会导致 DHCP 服…...
Git LFS介绍(Large File Storage)大文件扩展,将大文件存储在外部存储,仓库中只记录文件的元数据(大文件的指针,类似一个小的占位符文件)
文章目录 LFS的功能?如何使用LFS?将大文件存储在外部系统是什么意思?具体是如何运作的?为什么要这样做? 对开发者的影响?1. **性能和效率**2. **协作体验**3. **版本管理差异**4. **额外的工具和配置** LFS…...
数据中心储能蓄电池状态监测管理系统 组成架构介绍
安科瑞刘鸿鹏 摘要 随着数据中心对供电可靠性要求的提高,蓄电池储能系统成为关键的后备电源。本文探讨了蓄电池监测系统在数据中心储能系统中的重要性,分析了ABAT系列蓄电池在线监测系统的功能、技术特点及其应用优势。通过蓄电池监测系统的实施&#…...
三甲医院网络架构与安全建设实战
一、设计目标 实现医疗业务网/卫生专网/互联网三网隔离 满足等保2.0三级合规要求 保障PACS影像系统低时延传输 实现医疗物联网统一接入管控 二、全网拓扑架构 三、网络分区与安全设计 IP/VLAN规划表 核心业务配置(华为CE6865) interface 100G…...
如何在 React 中测试高阶组件?
在 React 中测试高阶组件可以采用多种策略,以下是常见的测试方法: 1. 测试高阶组件返回的组件 高阶组件本身是一个函数,它返回一个新的组件。因此,可以通过测试这个返回的组件来间接测试高阶组件的功能。通常使用 Jest 作为测试…...
INA219电流、电压、功率测量芯片应用
INA219电流、电压、功率测量芯片应用 简述芯片引脚应用电路寄存器驱动代码 简述 INA219是一款由德州仪器(Texas Instruments)生产的高精度电流/功率监测芯片,广泛应用于电池监控、电源管理等需要精确电流和功率测量的应用中。该芯片通…...
深入解析设计模式之工厂模式
深入解析设计模式之工厂模式 在软件开发的复杂体系中,设计模式作为解决常见问题的有效方案,为开发者提供了强大的工具。工厂模式作为一种广泛应用的创建型设计模式,专注于对象的创建过程,通过巧妙的设计,将对象的创建…...
ollama修改监听ip: 0.0.0.0
确认Ollama绑定IP地址 默认情况下,Ollama可能仅监听本地回环地址(127.0.0.1)。要允许外部访问,需将其配置为监听所有IP(0.0.0.0)或指定IP(如10…19)。 修改启动命令(推荐…...
.NET MVC实现电影票管理
.NET MVC(Model-View-Controller)是微软推出的基于 Model-View-Controller 设计模式的 Web 应用框架,属于 ASP.NET Core 的重要组成部分。其核心目标是通过清晰的分层架构实现 高内聚、低耦合 的开发模式,适用于构建可扩展的企业级…...
FPGA DSP:Vivado 中带有 DDS 的 FIR 滤波器
本文使用 DDS 生成三个信号,并在 Vivado 中实现低通滤波器。低通滤波器将滤除相关信号。 介绍 用DDS生成三个信号,并在Vivado中实现低通滤波器。低通滤波器将滤除较快的信号。 本文分为几个主要部分: 信号生成:展示如何使用DDS&am…...
大数据组件(四)快速入门实时数据湖存储系统Apache Paimon(2)
Paimon的下载及安装,并且了解了主键表的引擎以及changelog-producer的含义参考: 大数据组件(四)快速入门实时数据湖存储系统Apache Paimon(1) 利用Paimon表做lookup join,集成mysql cdc等参考: 大数据组件(四)快速入门实时数据…...
vue3父子组件props传值,defineprops怎么用?(组合式)
目录 1.基础用法 2.使用解构赋值的方式定义props 3.使用toRefs的方式解构props (1).通过ref响应式变量,修改对象本身不会触发响应式 1.基础用法 父组件通过在子组件上绑定子组件中定义的props(:props“”)传递数据给子组件 <!-- 父组件…...
Linux /etc/fstab文件详解:自动挂载配置指南(中英双语)
Linux /etc/fstab 文件详解:自动挂载配置指南 在 Linux 系统中,/etc/fstab(File System Table)是一个至关重要的配置文件,它用于定义系统开机时自动挂载的文件系统。如果你想让磁盘分区、远程存储(如 NFS&…...
Test the complete case
Test the complete case python写的一段 由pytest测试框架/allure报告框架/parameters数据驱动组成的完整案例代码 目录结构 project/ ├── test_cases/ │ ├── __init__.py │ └── test_math_operations.py # 测试用例 ├── test_data/ │ └── math_dat…...
装win10系统提示“windows无法安装到这个磁盘,选中的磁盘采用GPT分区形式”解决方法
问题描述 我们在u盘安装原版win10 iso镜像时,发现在选择硬盘时提示了“windows无法安装到这个磁盘,选中的磁盘采用GPT分区形式”,直接导致了无法继续安装下去。出现这种情况要怎么解决呢? 原因分析: 当您在安装Windows操作系统…...
【pytest-jira】自动化用例结合jira初版集成思路
【pytest】编写自动化测试用例命名规范README 【python】连接Jira获取token以及jira对象 【python】解析自动化脚本文件并按照测试周期存储记录 【python】向Jira推送自动化用例执行成功 【python】向Jira测试计划下,附件中增加html测试报告 以下内容主要是介绍jira…...
PHP 会话(Session)实现用户登陆功能
Cookie是一种在客户端和服务器之间传递数据的机制。它是由服务器发送给客户端的小型文本文件,保存在客户端的浏览器中。每当浏览器向同一服务器发送请求时,它会自动将相关的Cookie信息包含在请求中,以便服务器可以使用这些信息来提供个性化的…...
大模型安全问题详解(攻击技术、红队测试与安全漏洞)
文章目录 大模型攻击技术提示注入攻击(Prompt Injection)数据投毒攻击(Data Poisoning)模型克隆攻击(Model Cloning)拒绝服务攻击(DoS)和拒绝钱包攻击(DoW)插…...
【愚公系列】《鸿蒙原生应用开发从零基础到多实战》002-TypeScript 类型系统详解
标题详情作者简介愚公搬代码头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主&…...
C# 将非托管Dll嵌入exe中(一种实现方法)
一、环境准备 电脑系统:Windows 10 专业版 20H2 IDE:Microsoft Visual Studio Professional 2022 (64 位) - Current 版本 17.11.4 其他: 二、测试目的 将基于C++创建DLL库,封装到C#生成的exe中。 一般C++创建的库,在C#中使用,都是采用DllImport导入的,且要求库处…...
c sharp 特性详解
文章目录 一、特性基础用法二、常见的内置特性三、自定义特性四、通过反射读取特性五、实际应用场景六、练习 一、特性基础用法 什么是特性? 特性是一种继承System.Attribute类,用于标记代码元素 特性的语法: [AttributeName(Parameter1, P…...
Langchain vs. LlamaIndex:哪个在集成MongoDB并分析资产负债表时效果更好?
Langchain vs. LlamaIndex:哪个在集成MongoDB并分析资产负债表时效果更好? 随着大语言模型(LLM)在实际应用中的普及,许多开发者开始寻求能够帮助他们更高效地开发基于语言模型的应用框架。在众多框架中,La…...
MySQL日常维护工具------备份
MySQL日常维护工具-备份 一、MySQL字符集 (一)字符集介绍 字符(Character)是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。字符集(Character set)是多个字符的集合,字符集种类较多,每个字符集…...
硬核技术组合!用 DeepSeek R1、Ollama、Docker、RAGFlow 打造专属本地知识库
文章目录 一、引言二、安装Ollama部署DeepSeekR1三、安装Docker四、安装使用RAGFlow4.1 系统架构4.2 部署流程4.3 使用RAGFlow4.4 在RAGFlow中新增模型4.5 创建知识库4.6 创建私人助理使用RGA 一、引言 本地部署DeepSeek R1 Ollama RAGFlow构建个人知识库,通过将…...
[VSCode]彻底卸载和重装,并搭建Java开发环境
VSCode彻底卸载 由于当初是朋友帮忙装的,所以准备卸载,自己装一遍 从控制面板找到 vscode 将其卸载。 此时仅仅是删除了应用软件 删除安装插件 在图示路径中找到 .vscode 文件夹,将其删除,即可彻底清除安装的插件 C:\Users\user\.vscode …...
Scrum方法论指导下的Deepseek R1医疗AI部署开发
一、引言 1.1 研究背景与意义 在当今数智化时代,软件开发方法论对于项目的成功实施起着举足轻重的作用。Scrum 作为一种广泛应用的敏捷开发方法论,以其迭代式开发、快速反馈和高效协作的特点,在软件开发领域占据了重要地位。自 20 世纪 90 …...
政安晨的AI大模型训练实践 九 - 熟悉LLaMA Factory的详细参数含义-基本概念理解一下
政安晨的个人主页:政安晨 欢迎 👍点赞✍评论⭐收藏 希望政安晨的博客能够对您有所裨益,如有不足之处,欢迎在评论区提出指正! 小伙伴铁子们,上手先熟悉起来训练工具的每一个参数,很重要。 参照我…...
保姆级教程 | Office-Word中图目录制作及不显示图注引文的方法
背景 由于毕业论文的格式修改需要(没错,我终于要拿下PhD了。差不多四个月没更新,主要是①根据处理完的数据完成小论文撰写;②找工作...③完成学位论文的撰写。因而对建模和数据处理的需求不高,对有些时隔久远的博文具…...
Linux lsblk 命令详解:查看磁盘和分区信息 (中英双语)
Linux lsblk 命令详解:查看磁盘和分区信息 在 Linux 系统中,管理磁盘设备和分区是日常运维工作的重要部分。而 lsblk 命令是一个强大的工具,它用于列出系统中的块设备(block devices)信息,可以帮助我们快速…...
使用API有效率地管理Dynadot域名,为域名部署DNS安全拓展(DNSSEC)
关于Dynadot Dynadot是通过ICANN认证的域名注册商,自2002年成立以来,服务于全球108个国家和地区的客户,为数以万计的客户提供简洁,优惠,安全的域名注册以及管理服务。 Dynadot平台操作教程索引(包括域名邮…...
前后端项目部署服务器(传统部署和Docker部署)
内外网 开发环境连外网(8.140.26.187),测试/生产环境连内网(172.20.59.17) 内外网地址不同,但指定的库是同一个 内网IP地址范围包括: 10.0.0.0 到 10.255.255.255172.16.0.0 到 172.31.2551…...
深入HBase——核心组件
引入 通过上一篇对HBase核心算法和数据结构的梳理,我们对于其底层设计有了更多理解。现在我们从引入篇里面提到的HBase架构出发,去看看其中不同组件是如何设计与实现。 核心组件 首先,需要提到的就是HBase架构中会依赖到的Zookeeper和HDFS。…...
虚拟机从零实现机器人控制
1. 系统安装 因Docker不适合需要图形界面的开发,因此使用虚拟机VMware方便可视化界面方式查看效果,相关软件可以从官网下载,这里有一整套免费安装文件百度网盘地址: 2. ROS安装 Ubuntu 22.04:https://docs.ros.org…...
最新本地部署 DeepSeekR1 蒸馏\满血量化版 + WebOpenUI 完整教程(Ubuntu\Linux系统\Ollama)
测试机为6133CPU(40Cores)256G D44*4090D 24G 一种方法是部署蒸馏版Distill模型。一种是部署Huggingface上unsloth的量化版模型 Ollama及模型安装 1.下载并安装ollama curl -fsSL https://ollama.com/install.sh | sh如果下载不动可以试试挂梯子或者再试几次 挂代理代码&…...
Linux基本指令(三)+ 权限
文章目录 基本指令grep打包和压缩zip/unzipLinux和windows压缩包互传tar(重要)Linux和Linux压缩包互传 bcuname -r常用的热键关机外壳程序 知识点打包和压缩 Linux中的权限用户权限 基本指令 grep 1. grep可以过滤文本行 done用于标记循环的结束&#x…...
kafka-集群缩容
一. 简述: 当业务增加时,服务瓶颈,我们需要进行扩容。当业务量下降时,为成本考虑。自然也会涉及到缩容。假设集群有 15 台机器,预计缩到 10 台机器,那么需要做 5 次缩容操作,每次将一个节点下线…...
【nextJs】官网demo学习
最近在看nextjs官方的demo,把一些值得记录的记下来,方便查询; 1.连接数据库 1.1需要把代码传到远程仓库: 执行下面的命令: // 把#后面内容写入readme文件中 echo "# nextjs-dashboard" >> README.…...
在nodejs中使用ElasticSearch(一)安装,使用
使用docker安装ElasticSearch和Kibana 1)创建相应的data文件夹和子文件夹用来持久化ElasticSearch和kibana数据 2)提前创建好elasticsearch配置文件 data/elasticsearch/config/elasticsearch.yml文件 # Elasticsearch Configuration # # NOTE: Elas…...
图的最短路径:Dijkstra算法和Bellman-Ford算法(C++)
上文中我们了解了拓扑排序, 本节我们来学习最短路径的算法. 在图论中, 最短路径问题是指在一个加权图中找到两个节点之间的权重和最小的路径. 最短路径问题是一个基础且重要的主题. 它不仅在理论上具有挑战性, 而且在实际应用中也非常广泛, 比如交通导航, 社交网络分析等. 本…...
【WebGL】fbo双pass案例
双pass渲染案例(离线渲染一个三角面,然后渲染到一个占满屏幕的矩阵上) 离线渲染如何需要开启深度测试的话,需要额外操作,这里不展开 <!DOCTYPE html> <html lang"en"><head><meta ch…...
【机器学习】CNN与Transformer的表面区别与本质区别
仅供参考 表面区别 1. 结构和原理: CNN:主要通过卷积层来提取特征,这些层通过滑动窗口(卷积核)捕捉局部特征,并通过池化层(如最大池化)来降低特征的空间维度。CNN非常适合处理具有网格状拓扑结构的数据,如图像。Transformer:基于自注意力(Self-Attention)机制,能…...
C++:pthread的使用
pthread 简介 pthread 是 POSIX 线程(POSIX Threads)的简称,它是 POSIX 标准中定义的线程接口规范。pthread 库提供了一系列函数,用于创建、销毁、同步和管理线程。在类 Unix 系统(如 Linux、macOS)中&…...
Docker 容器安装 Dify的两种方法
若 Windows 已安装 Docker,可借助 Docker 容器来安装 Dify: 一、方法一 1. 拉取 Dify 镜像 打开 PowerShell 或命令提示符(CMD),运行以下命令从 Docker Hub 拉取 Dify 的镜像(Docker Hub中找到该命令行&…...