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

【前端】ES6基础

1.开发工具

vscode地址 :https://code.visualstudio.com/download, 下载对应系统的版本windows一般都是64位的

安装可以自选目录,也可以使用默认目录

插件:在这里插入图片描述
输入 Chinese,中文插件

安装: open in browser,直接右键文件,选择

在这里插入图片描述

F12打开控制台就能看到

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><script>console.log("人依远戍须看火");</script>
</body>
</html>

2.基本数据类型1️⃣

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><script>console.log("人依远戍须看火");// 变量let name = "张三"console.log(name)// stringconsole.log(typeof name)// numberlet balance = 100console.log("余额", balance);console.log(typeof balance);// 常量const PI = 3.14console.log("PI", PI);// booleanlet tv = trueconsole.log(tv);console.log(typeof tv);// 对象let person = {name:"王五",age:18,weight:62.5}console.log(person);console.log(typeof person);// Map// Map相对干对象提供了更灵活、有序、高效的键值对存储和操作方式,当需要在大量键值对中快速查找或删除特定键值对时,Map比对象更高效// Map提供了一些便捷的方法来操作键值对,如:get()、set()、delete()// Map提供了一些便捷的迭代方法,如:forEach()、keys()、values()、entries()let boy = new Map([["name","李四"],["age","20"]])console.log(boy);console.log(typeof boy);    </script>
</body>
</html>

3.基本数据类型2️⃣

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><script>// Set() 集合let number666 = new Set([1,2,3,4,1,2])console.log(number666);let string666 = new Set([1,2,3,4,'1','2'])console.log(string666);// arr 数组let arr = ["a","b","c",1,"a"]console.log(arr);// function  函数function add(x,y){m=x+yconsole.log(m); }add(5,7)// 类 class Person{constructor(name, age){this.name = namethis.age = age}info(){console.log("name",this.name,"age",this.age);}}let person1 = new Person("秦始皇", 999)person1.info()let person2 = new Person("汉武帝", 888)person2.info()</script>
</body>
</html>

4.函数

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><script>//函数function getweb(){let web = "wwww.baidu.com"return web}console.log(getweb());// 传参,有默认值function add(number=5){return number+10}console.log(add(7));// 匿名函数let sub=function(x,y){return x-y}console.log(sub(7,2));// 箭头函数,把function换成箭头,并放()后面let plus = (a,b)=>{return a+b}console.log(plus(11,7));// 隐式函数,箭头函数去掉{}跟returnlet cheng = (m,n)=>m*nconsole.log(cheng(11,7));</script>
</body>
</html>

5.数组

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><script>// 数组定义let arr = [10,11]console.log(arr);// push 向数组末尾添加一个或多个元素,并返回修改后数组的长度let arrlength = arr.push(12,13,14)console.log("arr",arr);console.log("length",arrlength);// unshift 想数组开头添加一个或 多个元素,并返回数组的长度let arrunshift = arr.unshift(8,9)console.log("arr",arr);console.log("unshift",arrunshift);// shift 删除数组中第一个元素,并返回被删除的元素let delement = arr.shift()console.log("arr",arr);console.log("shift",delement);// pop 删除数组中 最后一个元素,并返回被删除的元素let popement = arr.pop()console.log("arr",arr);console.log("pop",delement);// 删除指定元素,splice, 第一个参数-删除元素的索引位置,第二个参数-删除元素的数量,返回删除后的数组let delArr = arr.splice(2,2)console.log("arr",arr);console.log("delArr",delArr);// reverse, 颠倒数组中元素的顺序arr.reverse()console.log(arr);// 数组中元素按照首字母顺序排序let arr2 = ["banana","apple","","orange"]arr2.sort()console.log(arr2);// 比较函数(a,b)=>a-b,接收两个参数a,b用于比较两个元素的大小,返回a-b的结果决定了sort()方法的排序顺序// 若 a<b 则 a-b 是一个负数,表示a应该在b前面// 若 a=b 则 a-b 是0,位置保持不变// 若 a>b 则 a-b 是一个正数,表示a应该在b后面let arr3 = [5,20,13,14]arr3.sort((a,b)=>a-b)console.log(arr3);// 筛选符合条件的元素,返回一个新数组let arr4 = [10,11,12,13,14,15]let newArr = arr4.filter((value)=>{return value > 12})console.log("newArr",newArr);// 使用for循环便利循环数组let arr6 = ["一行白鹭上青天","鹅鹅鹅曲项向天歌",99,"杜甫"]for(let value of arr6){console.log("for...of",value);}// forEacharr6.forEach((value)=>{console.log("forEach",value);})arr6.forEach((value,index)=>{console.log("forEach",index,value);})  </script>
</body>
</html>

6.Set

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><script>// Set集合{}let fruits = new Set(["apple","orange","banana"])console.log(fruits);// 增加fruits.add("mango")console.log(fruits);// 删除fruits.delete("banana")console.log(fruits);// 判断是否存在console.log(fruits.has("apple"));// 大小console.log(fruits.size);// set -> 数组let arr = Array.from(fruits)console.log("arr",arr);let arr2 = [...fruits]console.log("arr2",arr2);// 扩展运算符:展开可迭代对象let net = "www.baidu.com"let netAll = [...net]console.log(netAll);console.log([..."一行白鹭上青天"])// forfor(let f of fruits){console.log("for-of",f);}// forEachfruits.forEach((value,index)=>{console.log(value,"index",index);})// 去重let numberArr = [1,2,3,4,3,2]let nuberSet = new Set(numberArr)console.log(nuberSet);</script>
</body>
</html>

7. map

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><script>// Maplet student = new Map([["name","朱元璋"],["gender","男"],["age",1000]])console.log(student);// 增加student.set("height",180)console.log(student);// 删除student.delete("gender")console.log(student);// 判断是否存在console.log(student.has("gender"));// 键 唯一性,新增相同键名的会替换掉value值student.set("age",11111)console.log(student);// 大小console.log(student.size);// Map集合转换成 数组let arrMap = Array.from(student)console.log(arrMap);let arr = [...student]console.log(arr);// 循环 for(let i of student){console.log("for...of",i);}// 解构for (let [key,value] of student) {console.log("key",key,"value",value);}student.forEach((value,key) => {console.log("forEach key",key,"value",value);});student.clear()console.log(student);</script>
</body>
</html>

8.对象

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><script>// 对象let user ={name:"曹操",gender:"男",web:"www.baidu.com"}console.log(user);user.height = 175console.log(user);// 修改user.web = "www.bilibili.com"console.log(user);// 删除delete user.genderconsole.log(user);// 是否存在let has = "name" in userconsole.log(has);// 属性数量,Object.keys(user).lengthconsole.log(Object.keys(user).length);// for in 循环遍历对象// for of 用于遍历可迭代对象[如数组/Set/Map/字符串等]// for in 用于遍历对象的可枚举属性for(let key in user){console.log("for...in",key,user[key]);}console.log(Object.entries(user));Object.entries(user).forEach(([key,value])=>{console.log("forEach",key,"value",value);})// 清空对象user = {}console.log(user);</script>
</body>
</html>

9.私有属性

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><script>class Person {name #web //私有属性,是指仅在类的内部可以访问和操作的属性,外部无法直接访问和修改constructor(name,web){this.name = namethis.#web = web}info(){// return "姓名:" + this.name + " 个人网站:" +this.web// `` esc下面符号return `姓名:${this.name} 个人网站:${this.#web}`}// 固定写法,存取器getter获取私有属性get web(){return this.#web}// 使用存取器setter设置私有属性set web(value){this.#web=value}}let person = new Person("刘备","www.liubei.com")console.log(person.web);person.web = "sunquan.com"console.log(person.web);// 使用拼接方式, 模版字符串console.log(person.info());</script>
</body>
</html>

10. 继承extends

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><script>// 父类class Person{name genderconstructor(name,gender){this.name = namethis.gender = gender}sleep(){return `${this.name},休息中...`}}// 子类class 赵匡胤 extends Person{webconstructor(name, gender, web){super(name,gender)//调用父类构造函数this.web = web}eat(){return `${this.name} 正在吃饭...`}}let zky = new 赵匡胤("赵光义","男","www.dasong.com")// 调用子类方法console.log(zky.web);console.log(zky.eat());// 调用父类方法console.log(zky.gender);console.log(zky.sleep());</script>
</body>
</html>

11.解构

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><script>// 数组结构let [x, y] = [1,2]console.log("x",x, "y",y);let [,,c] = [10,20,30]console.log("c:",c);let [A, ...B] =[1,2,3,4,5,6]console.log("A:",A, "B:",B);let [x2,y2=200] = [100]console.log("x2:",x2,"y2:",y2);// 两数交换let x3 = 10let y3 = 20; //不加分好会报错[x3,y3] = [y3,x3]console.log("x3:",x3,"y3:",y3);let person = {name:"刘邦",gender:"男",web:"www.liubang.com"}let {name} = personconsole.log("name:",name);let {name:userName,gender,web} = personconsole.log("userName:",userName,"gender:",gender,"web:",web);</script>
</body>
</html>

12.Promise

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><script>// promise,// 当创建一个promise对象时,它的初始状态为pending,表示异步执行未完成// 当异步执行成功时,会调用resolve函数把promise对象状态改变为fulfilled,可通过then方法获取异步操作结果// 当异步执行异常时,会调用reject函数把promise对象的状态改为rejected,可通过catch方法处理错误let promise = new Promise((resolve,reject)=>{// resolve("还钱了")reject("未还")})console.log("promise:",promise);//pending// 获取结果promise.then(result =>{console.log("result:",result);}).catch(result2 =>{console.log("result:",result2);}).finally(()=>{console.log("异步执行结束!");})// 以上也可以let promise10 = new Promise((resolve,reject)=>{resolve("回家了")// reject("未回家")}).then(result11 =>{console.log("result11:",result11);}).catch(result12 =>{console.log("result12:",result12);}).finally(()=>{console.log("异步执行结束!222");})</script>
</body>
</html>

13.Fetch

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><script>//fetch是基于Promise的api,它可以发送http请求,并接受服务器返回的响应数据//fetch返回的是一个Promise对象//get 请求fetch("http://127.0.0.1/get").then(response =>{//返回解析后的json数据,会传递给下一个then()方法中的回调函数return response.json() //response.json()用于将响应数据解析为json格式数据}).then(data=>{//data解析后的json数据console.log("get.data:",data);}).catch(error=>{console.log("get.error:",error.message);}).finally(()=>{console.log("finally");})// post 请求post,表单fetch('http://127.0.0.1/post',{method:"post",headers:{'Content-Type':'application/x-www-form-urlencoded'},body:new URLSearchParams({//URLSearchParams用于处理键值对类型的数据,并将其编码为url查询字符串name:'毛泽东',web:'wwww.maozedong.com'}),}).then(response=>{return response.json()}).then(data=>{console.log("post.data:",data);}).catch(error=>{console.log("post.error:",error.message);}).finally(()=>{console.log("finally");})// post 请求post,jsonfetch('http://127.0.0.1/post',{method:"post",headers:{'Content-Type':'application/json'},body:JSON.stringify({// JSON.stringify用于将对象转换成json字符串name:'毛泽东',web:'wwww.maozedong.com'}),}).then(response=>{return response.json()}).then(data=>{console.log("post.data:",data);}).catch(error=>{console.log("post.error:",error.message);}).finally(()=>{console.log("finally");})</script>
</body>
</html>

14.Axios

npm安装,并设置淘宝镜像源

在这里插入图片描述

设置淘宝镜像源
npm config set registry https:/registry.npmmirror.com/

npm get registry

npm install axios

https:/unpkg.com/axios/dist/axios.min.js

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="js/axios.min.js"></script>
</head><body><script>/*Axios 是基于 Promise 的网络请求库,它可以发送http请求并接收服务器返回的响应数据Axios 返回的是一个 Promise 对象Axios 不仅可以用于浏览器,也可以用于 Node.js,而 Fetch 主要用于浏览器*///get请求axios.get('http:/127.0.0.1/get').then(response => {console.log("get.data:", response.data)}).catch(error => {console.log("get.error:", error)}).finally(() => {console.log("get.finally")})//post请求 postlet data = { //参数name: '邓小平',web: 'dengcode.com',}axios.post('http:/127.0.0.1/post', data, {headers: {'Content-Type': 'application/x-www-form-urlencoded'}}).then(response => {console.log("post.data:", response.data)}).catch(error=>{console.log("post.error:",error.message);}).finally(()=>{console.log("finally");})// post 请求postJson【axios的默认请求头,application/json】axios.post('http:/127.0.0.1/post', data).then(response => {console.log("post.data:", response.data)}).catch(error=>{console.log("post.error:",error.message);  }).finally(()=>{console.log("finally");})</script>
</body></html>

t532y10432525@qingdaomedia.com

086137

Live Server扩展,模块化开发

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="vue.global.js"></script>
</head>
<body><div id="app">{{msg}}<h2>{{web.title}}</h2><h2>{{web.url}}</h2></div><script>// 解构const{createApp,reactive} = VuecreateApp({//setup选项,用于设置响应式数据和方法等setup(){const web = reactive({title:"主题",url:"www.baidu.com"})return{msg:"success",web}}}).mount("#app")</script>
</body>
</html>

安装插件:Resharper,Live Server,Chinese,open in browser

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><!-- <script src="vue.global.js"></script> -->
</head>
<body><div id="app">{{msg}}<h2>{{web.title}}</h2><h2>{{web.url}}</h2>{{number}}</div><script type="module">import {createApp,reactive,ref} from './vue.esm-browser.js'createApp({//setup选项,用于设置响应式数据和方法等setup(){const number = ref(10) //ref 用于存储耽搁基本类型的数据,如:数字、字符串等number.value = 20 // 使用ref创建的响应式对象,需要通过.value属性来访问和修改其值const web = reactive({title:"主题",url:"www.baidu.com"})// 使用reactive创建响应式对象,可以直接通过属性名来访问和修改值web.url = "www.bilibili.com"return{msg:"success",web,number}}}).mount("#app")</script>
</body>
</html>

相关文章:

【前端】ES6基础

1.开发工具 vscode地址 :https://code.visualstudio.com/download, 下载对应系统的版本windows一般都是64位的 安装可以自选目录&#xff0c;也可以使用默认目录 插件&#xff1a; 输入 Chinese&#xff0c;中文插件 安装&#xff1a; open in browser&#xff0c;直接右键文件…...

【排序算法 python实现】

排序算法 python实现 / 默写 # 汉诺塔 import copy import randomdef hanuo(n, a, b, c):if n 1:print(f{a} --> {c})returnhanuo(n - 1, a, c, b)print(f{a} --> {c})hanuo(n - 1, b, a, c)hanuo(3, A, B, C)# 冒泡排序 def bubble_sort(arr):n len(arr)for i in ran…...

Java图书管理系统(简易保姆级)

前面学习了这么多知识&#xff0c;为了巩固之前的知识&#xff0c;我们就要写一个图书管理系统来帮助大家复习&#xff0c;让大家的知识融会贯通~~~ 话不多说&#xff0c;直接开始今天的内容~ 首先呢&#xff0c;我们要有一个大体的思路&#xff1a; 实现效果思路有两种情况&a…...

嵌入式硬件设计:从概念到实现的全流程

嵌入式硬件设计是现代电子技术中一个至关重要的领域&#xff0c;涉及从硬件架构设计到硬件调试的各个方面。它为我们日常生活中的各类智能设备、家电、工业控制系统等提供了强大的支持。本文将介绍嵌入式硬件设计的基本流程、关键技术、常用工具以及常见的挑战和解决方案&#…...

第 4 章 Java 并发包中原子操作类原理剖析

原子变量操作类 AtomicLong 是原子性递增或者递减类&#xff0c;其内部使用 Unsafe 来实现&#xff0c;AtomicLong类也是在 rt.jar 包下面的&#xff0c;AtomicLong 类就是通过 BootStarp 类加载器进行加载的。这里的原子操作类都使用 CAS 非阻塞算法 private static final lon…...

从 0 到 1 掌握部署第一个 Web 应用到 Kubernetes 中

文章目录 前言构建一个 hello world web 应用项目结构项目核心文件启动项目 检查项目是否构建成功 容器化我们的应用编写 Dockerfile构建 docker 镜像推送 docker 镜像仓库 使用 labs.play-with-k8s.com 构建 Kubernetes 集群并部署应用构建 Kubernetes 集群环境编写部署文件 总…...

政安晨【零基础玩转各类开源AI项目】探索Cursor-AI Coder的应用实例

目录 Cusor的主要特点 Cusor实操 政安晨的个人主页&#xff1a;政安晨 欢迎 &#x1f44d;点赞✍评论⭐收藏 希望政安晨的博客能够对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff01; Cursor 是 Visual Studio Code 的一个分支。这使我们能够…...

CentOS 7 安装部署 KVM

1.关闭虚拟机 打开相关选项 打开虚拟机centos7 连接xshell 测试网络&#xff0c;现在就是没问题的&#xff0c;因为我们要使用网络源 安装 GNOME 桌面环境 安装KVM 模块 安装KVM 调试工具 构建虚拟机的命令行工具 qemu 组件,创建磁盘、启动虚拟机等 输入这条命令&#xff0c;…...

ArcGIS 10.2软件安装包下载及安装教程!

今日资源&#xff1a;ArcGIS 适用系统&#xff1a;WINDOWS 软件介绍&#xff1a;ArcGIS是一款专业的电子地图信息编辑和开发软件&#xff0c;提供一种快速并且使用简单的方式浏览地理信息&#xff0c;无论是2D还是3D的信息。软件内置多种编辑工具&#xff0c;可以轻松的完成地…...

一个专为云原生环境设计的高性能分布式文件系统

大家好&#xff0c;今天给大家分享一款开源创新的分布式 POSIX 文件系统JuiceFS&#xff0c;旨在解决海量云存储与各类应用平台&#xff08;如大数据、机器学习、人工智能等&#xff09;之间高效对接的问题。 项目介绍 JuiceFS 是一款面向云原生设计的高性能分布式文件系统&am…...

基于深度学习CNN算法的花卉分类识别系统01--带数据集-pyqt5UI界面-全套源码

文章目录 基于深度学习算法的花卉分类识别系统一、项目摘要二、项目运行效果三、项目文件介绍四、项目环境配置1、项目环境库2、环境配置视频教程 五、项目系统架构六、项目构建流程1、数据集2、算法网络Mobilenet3、网络模型训练4、训练好的模型预测5、UI界面设计-pyqt56、项目…...

3174、清除数字

3174、[简单] 清除数字 1、题目描述 给你一个字符串 s 。你的任务是重复以下操作删除 所有 数字字符&#xff1a; 删除 第一个数字字符 以及它左边 最近 的 非数字 字符。 请你返回删除所有数字字符以后剩下的字符串。 2、解题思路 遍历字符串&#xff1a; 我们需要逐个遍…...

C++ 优先算法 —— 无重复字符的最长子串(滑动窗口)

目录 题目&#xff1a; 无重复字符的最长子串 1. 题目解析 2. 算法原理 Ⅰ. 暴力枚举 Ⅱ. 滑动窗口&#xff08;同向双指针&#xff09; 3. 代码实现 Ⅰ. 暴力枚举 Ⅱ. 滑动窗口 题目&#xff1a; 无重复字符的最长子串 1. 题目解析 题目截图&#xff1a; 此题所说的…...

ADS学习笔记 6. 射频发射机设计

基于ADS2023 update2 更多ADS学习笔记&#xff1a;ADS学习笔记 1. 功率放大器设计ADS学习笔记 2. 低噪声放大器设计ADS学习笔记 3. 功分器设计ADS学习笔记 4. 微带分支定向耦合器设计ADS学习笔记 5. 微带天线设计 -1、射频发射机性能指标 在射频电路和系统中&#xff0c;发送…...

上海乐鑫科技一级代理商飞睿科技,ESP32-C61高性价比WiFi6芯片高性能、大容量

在当今快速发展的物联网市场中&#xff0c;无线连接技术的不断进步对智能设备的性能和能效提出了更高要求。为了满足这一需求&#xff0c;乐鑫科技推出了ESP32-C61——一款高性价比的Wi-Fi 6芯片&#xff0c;旨在为用户设备提供更出色的物联网性能&#xff0c;并满足智能设备连…...

QT QRadioButton控件 全面详解

本系列文章全面的介绍了QT中的57种控件的使用方法以及示例,包括 Button(PushButton、toolButton、radioButton、checkBox、commandLinkButton、buttonBox)、Layouts(verticalLayout、horizontalLayout、gridLayout、formLayout)、Spacers(verticalSpacer、horizontalSpacer)、…...

51单片机从入门到精通:理论与实践指南(一)

单片机在智能控制领域的应用已非常普遍&#xff0c;发展也很迅猛&#xff0c;学习和使用单片机的人员越来越多。虽然新型微控制器在不断推出&#xff0c;但51单片机价格低廉、易学易用、性能成熟&#xff0c;在家电和工业控制中有一定的应用&#xff0c;而且学好了51单片机&…...

零基础3分钟快速掌握 ——Linux【终端操作】及【常用指令】Ubuntu

1.为啥使用Linux做嵌入式开发 能广泛支持硬件 内核比较高效稳定 原码开放、软件丰富 能够完善网络通信与文件管理机制 优秀的开发工具 2.什么是Ubuntu 是一个以桌面应用为主的Linux的操作系统&#xff0c; 内核是Linux操作系统&#xff0c; 具有Ubuntu特色的可视…...

C#中面试的常见问题007

1.在EF中实现一个实体对应多个表 1. 表拆分&#xff08;Table Splitting&#xff09; 表拆分是指将一个实体映射到两个或多个表中的行。这通常发生在实体的属性分布在不同的表中&#xff0c;但这些表通过外键关联到同一个主表。在EF Core中&#xff0c;可以通过Fluent API来配…...

人工智能——大语言模型

5. 大语言模型 5.1. 语言模型历史 20世纪90年代以前的语言模型都是基于语法分析这种方法&#xff0c;效果一直不佳。到了20世纪90年代&#xff0c;采用统计学方法分析语言&#xff0c;取得了重大进展。但是在庞大而复杂的语言信息上&#xff0c;基于传统统计的因为计算量巨大…...

零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?

一、核心优势&#xff1a;专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发&#xff0c;是一款收费低廉但功能全面的Windows NAS工具&#xff0c;主打“无学习成本部署” 。与其他NAS软件相比&#xff0c;其优势在于&#xff1a; 无需硬件改造&#xff1a;将任意W…...

Spark 之 入门讲解详细版(1)

1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室&#xff08;Algorithms, Machines, and People Lab&#xff09;开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目&#xff0c;8个月后成为Apache顶级项目&#xff0c;速度之快足见过人之处&…...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会&#xff0c;其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具&#xff0c;对过去十年 WWDC 主题演讲内容进行了系统化分析&#xff0c;形成了这份…...

【机器视觉】单目测距——运动结构恢复

ps&#xff1a;图是随便找的&#xff0c;为了凑个封面 前言 在前面对光流法进行进一步改进&#xff0c;希望将2D光流推广至3D场景流时&#xff0c;发现2D转3D过程中存在尺度歧义问题&#xff0c;需要补全摄像头拍摄图像中缺失的深度信息&#xff0c;否则解空间不收敛&#xf…...

376. Wiggle Subsequence

376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

linux 错误码总结

1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI

前一阵子在百度 AI 开发者大会上&#xff0c;看到基于小智 AI DIY 玩具的演示&#xff0c;感觉有点意思&#xff0c;想着自己也来试试。 如果只是想烧录现成的固件&#xff0c;乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外&#xff0c;还提供了基于网页版的 ESP LA…...

Python ROS2【机器人中间件框架】 简介

销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...

安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)

船舶制造装配管理现状&#xff1a;装配工作依赖人工经验&#xff0c;装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书&#xff0c;但在实际执行中&#xff0c;工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...

【Linux】Linux 系统默认的目录及作用说明

博主介绍&#xff1a;✌全网粉丝23W&#xff0c;CSDN博客专家、Java领域优质创作者&#xff0c;掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围&#xff1a;SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...