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

react(一):特点-基本使用-JSX语法

初识React 

React是一个用于构建用户界面的 JavaScript 库,由 Facebook 开发和维护。

官网文档:React 官方中文文档

特点

1.声明式编程

2.组件化开发

3.多平台适配

开发依赖

开发React必须依赖三个库:

1.react:包含react所必须的核心代码

2.react-dom:react渲染在不同平台所需要的核心代码

3.babel:将jsx转换成React代码的工具

引入依赖的方式:

1.CDN引入

<!-- CDN引入 -->
<script src="https://unpkg.com/react@18/umd/react.development.js"></script>
<script src="https://unpkg.com/react-dom@18/umd/react-dom.development.js"></script>
<script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>

2.下载后,添加本地依赖

3.npm管理

案例-普通方式实现

注意:React18前后,渲染组件的书写方式较为不同

React18之前:使用 ReactDOM.render() 方法来渲染组件

React18之后:使用 ReactDOM.createRoot() 方法来渲染组件

<body><div id="root"></div><!-- 1.引入依赖 --><script src="https://unpkg.com/react@18/umd/react.development.js"></script><script src="https://unpkg.com/react-dom@18/umd/react-dom.development.js"></script><script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script><!-- 编写React代码 --><script type="text/babel">// React18之前:ReactDOM.render()// ReactDOM.render(<h2>Hello World</h2>,document.getElementById('root'))// React18之后:createRootconst root = ReactDOM.createRoot(document.getElementById('root'))/* 要修改文本内容step1:将文本定义成变量*/let message = 'Hello World'//step2:监听按钮的点击function btnClick() {// 2.1修改数据message = 'Hello React'// 2.2重新渲染界面rootRender()}rootRender()// step3.封装一个渲染函数function rootRender( ){// 第一个()表示方法;第二个()表示它是一个整体root.render((<div><h1>{message}</h1><button onClick={btnClick}>修改文本</button></div>))}</script>
</body>

案例-组件化开发

可使用类的方式,将其封装成一个组件

<body><div id="root"></div><script src="../lib/react.js"></script><script src="../lib/react-dom.js"></script><script src="../lib/babel.js"></script><script type="text/babel">// 使用组件重构代码// 1.类组件-类名必须大写!!// 2.函数式组件class App extends React.Component {// 组件数据constructor() {super()//this.state = {定义的数据}this.state = {message:"Hello World"}}// 组件方法(实例方法)btnClick() {//该函数默认this指向为undefined——改变其this指向// 内部完成两件事:1.将state中的值修改掉  2.自动重新执行render函数this.setState({message:"Hello React"})}// render中返回的jsx内容即root根节点渲染内容render() {// console.log("render",this);//此处this-App组件实例return (<div><h2>{this.state.message}</h2><button onClick={this.btnClick.bind(this)}>修改文本</button></div>)}}// 将组件渲染到界面上const root = ReactDOM.createRoot(document.getElementById('root'))root.render(<App />)</script>
</body>

JSX语法解析

jsx书写规范

render(){const {message} = this.state/* 书写规范:1.JSX结构中只有一个根元素2.JSX结构通常包裹一个()—— 将整个jsx当成一个整体,实现换行、3.jsx可以是单标签,也可以是双标签,但是单标签必须以/>结尾*/return (<div><h1>{ message }</h1><br/></div>)
}

jsx注释写法

render(){const {message} = this.statereturn (<div>{/* jsx注释写法 */}<h1>{ message }</h1></div>)
}

jsx插入内容

<body><div id="root"></div><script src="../lib/react.js"></script><script src="../lib/react-dom.js"></script><script src="../lib/babel.js"></script><script type="text/babel">//1.创建rootconst root = ReactDOM.createRoot(document.getElementById('root'))//2..定义App根组件class App extends React.Component {constructor() {super()this.state = {message:"Hello World",names:[ 'Jack', 'Tom', 'Lucy' ],count:100,aaa:undefined,bbb:null,ccc:true,friend:{name:'lucy', age:22},firstNmae:'张',lastName:'三',age:20,movies:["哪吒","唐探","三体"]}}render(){// 1.插入标识符const {message, names,count} = this.stateconst { aaa, bbb, ccc} = this.stateconst {friend} = this.state// 2.对内容进行运算后显示(插入表达式)const {firstNmae, lastName} = this.stateconst fullName = firstNmae + "" + lastNameconst {age} = this.stateconst ageStr = age > 18 ? '成年人' : '未成年人'const {movies} = this.stateconst items = movies.map(item => <li>{item}</li>)// 3.返回jsx的内容return (<div>{/* 1.Number/String/Array直接显示处理 */}<h1>{ message }</h1><h2> {names} </h2><h2> {count} </h2>{/* 2.undefined/null/Boolean页面什么都不显示-取值为空 */}<h2>{aaa}</h2><h2>{bbb}</h2><h3>{ccc}</h3>{/* 3.Object类型不能作为子元素显示 */}{/* <h2>{friend}</h2> */}<h2>{Object.keys(friend)}</h2>{/* 4.可插入对应的表达式 */}<h2>{ 10 + 20 }</h2><h2>{firstNmae + "" + lastName}</h2><h2>{fullName}</h2>{/* 5.插入三元运算符 */}<h2>{ageStr}</h2><h2>{age >=18 ? "成年" : "未成年"}</h2>{/* 可以调用方法获取结果 */}<ul>{items}</ul><ul>{movies.map(item => <li>{item}</li>)}</ul><ul>{this.getMovies()}</ul></div>)}getMovies(){const liEls = this.state.movies.map(item => <li>{item}</li>)return liEls}}// 3.将App组件渲染到root上root.render(<App />)</script>
</body>

jsx绑定属性

<body><div id="root"></div><script src="../lib/react.js"></script><script src="../lib/react-dom.js"></script><script src="../lib/babel.js"></script><script type="text/babel">//1.创建rootconst root = ReactDOM.createRoot(document.getElementById('root'))//2..定义App根组件class App extends React.Component {constructor() {super()this.state = {title:"学习第一天",imgURL:"https://p1.ssl.qhmsg.com/t0143b426aee3bb03cb.jpg",link:"htttp://www.baidu.com",isActive:true,objStyle:{color:"red", fontSize:"30px"}}}render(){const {title, imgURL,link,isActive,objStyle} = this.state// 需求:isActive为true时,添加active类名// 写法一:const className = `abc cba ${isActive? "active" : ""}`// 写法二:const classList = ["abc","cba"]if(isActive) {classList.push("active")}return (<div>{/* 1.基本属性绑定 */}<h1 title={title}>我是h1元素</h1>{/* <img src={imgURL} alt=""/> */}<a href={link}>百度一下</a>{/* 2.绑定class属性 */}<h2 className={className}>哈哈哈哈哈</h2><h2 className={classList.join(" ")}>哈哈哈哈哈</h2>{/* 3.绑定style属性:绑定对象类型 */}<h2 style={{color:"red", fontSize:"30px"}}>11111</h2><h2 style= {objStyle}>888</h2></div>)}}// 3.将App组件渲染到root上root.render(<App />)</script>
</body>

相关文章:

react(一):特点-基本使用-JSX语法

初识React React是一个用于构建用户界面的 JavaScript 库&#xff0c;由 Facebook 开发和维护。 官网文档&#xff1a;React 官方中文文档 特点 1.声明式编程 2.组件化开发 3.多平台适配 开发依赖 开发React必须依赖三个库&#xff1a; 1.react&#xff1a;包含react所必…...

golang函数与方法的区别

1.调用方式的区别 函数的调用方式&#xff1a;函数名&#xff08;参数...&#xff09; 方法的调用方式: 变量.方法名&#xff08;参数...&#xff09; 2.函数的使用 package mainimport "fmt" //函数参数为值类型&#xff0c;调用的时候只能传递值类型数据&#…...

解决 openeuler 系统 docker 下载慢,docker 镜像加速

一、步骤说明 1. 编辑 Docker 配置文件 Docker 的镜像源配置文件路径为 /etc/docker/daemon.json。如果该文件不存在&#xff0c;则需要先创建目录和文件。 # 创建目录&#xff08;如果不存在&#xff09; sudo mkdir -p /etc/docker# 编辑配置文件&#xff08;使用 nano 或…...

Android ARouter的详细使用指南

Android ARouter的详细使用指南。我需要先确定用户的基础&#xff0c;可能他们已经有Android开发经验&#xff0c;但对ARouter不太熟悉。首先&#xff0c;我应该介绍ARouter是什么&#xff0c;解决什么问题&#xff0c;比如模块化中的页面跳转问题。然后&#xff0c;需要分步骤…...

PosterRender 实现微信下程序 分享商品生成海报

PosterRender 是什么 PosterRender 是一种专注于生成高质量海报图像的技术或工具&#xff0c;常用于生成静态图片&#xff0c;特别是适合用于营销、宣传和展示的图形设计。它通常用于在服务端或客户端渲染复杂的图像&#xff0c;包括文字、图形、图标、背景等&#xff0c;生成…...

电机控制常见面试问题(十五)

文章目录 一、电机气隙二、电气时间三.电机三环控制详解四.驱动板跳线意义五.电机开环自检 一、电机气隙 电机气隙是定子和转子之间的空隙&#xff0c;防止钉子转子运转时物理接触&#xff0c;此外&#xff0c;气隙是磁路的重要环节&#xff0c;磁场需通过气隙传递能量&#x…...

基于云漂移优化(Cloud Drift Optimization,CDO)算法的多个无人机协同路径规划(可以自定义无人机数量及起始点),MATLAB代码

一、云漂移优化算法 云漂移优化&#xff08;Cloud Drift Optimization&#xff0c;CDO&#xff09;算法是2025年提出的一种受自然现象启发的元启发式算法&#xff0c;它模拟云在大气中漂移的动态行为来解决复杂的优化问题。云在大气中受到各种大气力的影响&#xff0c;其粒子的…...

【第9章】亿级电商平台订单系统-整体技术架构设计

1-1 本章导学 课程主题:系统蓝图描绘与整体技术架构设计核心学习内容: ▶️ 订单系统的整体技术架构设计 ▶️ 架构设计核心方法论与实践应用本章核心内容架构 1. 技术预研 架构设计的基础支撑环节关键技术可行性分析与选型依据2. 整体技术架构设计方法与步骤 结构化设计方法…...

harmonyOS NEXT开发与前端开发深度对比分析

文章目录 1. 技术体系概览1.1 技术栈对比1.2 生态对比 2. 开发范式比较2.1 鸿蒙开发范式2.2 前端开发范式 3. 框架特性对比3.1 鸿蒙 Next 框架特性3.2 前端框架特性 4. 性能优化对比4.1 鸿蒙性能优化4.2 前端性能优化 5. 开发工具对比5.1 鸿蒙开发工具5.2 前端开发工具 6. 学习…...

详细介绍GetDlgItem()

书籍&#xff1a;《Visual C 2017从入门到精通》的2.3.8 Win32控件编程 环境&#xff1a;visual studio 2022 内容&#xff1a;【例2.31】在模态对话框上可视化创建树形控件 说明&#xff1a;以下内容大部分来自腾讯元宝。 GetDlgItem() 是 Windows API 中用于获取对话框或父…...

MCU的应用场景:从智能家居到工业控制

MCU的应用场景非常广泛&#xff0c;主要包括以下几个方面&#xff1a; 1. 智能家居 智能照明&#xff1a;通过MCU控制LED灯的亮度和颜色。 智能安防&#xff1a;在安防系统中&#xff0c;MCU用于控制传感器和报警器。 2. 工业控制 PLC&#xff08;可编程逻辑控制器&…...

docker的使用

时间&#xff1a;2025.3.17 一、当我们想要运行一个容器时&#xff0c;不是在containers处&#xff0c;而是需要在images处找对应容器的镜像 操作步骤&#xff1a; 1.找容器镜像 2.找到容器镜像&#xff0c;通过pull下载到当前主机中 3.下载成功后进行运行 4.运行时的容器镜像…...

Redis hyperloglog学习

背景知识 【伯努利试验】&#xff1a; 【伯努利试验】是一个概率论中的概念&#xff0c;指在相同的条件下重复进行n次独立的试验&#xff0c;每次试验只有两种可能的结果&#xff0c;且这两种结果发生的概率是固定的 抛硬币作为伯努利试验&#xff1a;在抛硬币时&#xff0c;我…...

鸿蒙开发:什么是ArkTs?

前言 本文基于Api13。 一句话解读&#xff1a;ArkTs&#xff08;方舟编程语言&#xff09;是目前HarmonyOs应用开发的主力语言。 用官方的话解读&#xff0c;它是一种为构建高性能应用而设计的编程语言&#xff1b;看到以Ts结尾&#xff0c;想必大家应该很容易想到TypeScript&a…...

ArcGIS Pro中加载在线地图的详细指南

在现代制图领域&#xff0c;ArcGIS Pro已成为专业人士的重要工具。它不仅功能强大&#xff0c;而且操作简便&#xff0c;为用户提供了丰富的地图数据资源和灵活的地图加载方式。其中&#xff0c;加载在线地图是ArcGIS Pro的一大特色功能&#xff0c;能够帮助用户快速获取全球范…...

《C++ Primer》学习笔记(四)

第四部分&#xff1a;高级主题 1.tuple 是类似pair的模板。每个pair 的成员类型都不相同&#xff0c;但每个 pair 都恰好有两个成员。每个确定的tuple 类型的成员数目是固定的&#xff0c;但一个 tuple 可以有任意数量的成员。tuple支持的操作如下图&#xff1a; 只有两个 tup…...

CVPR2025自动驾驶端到端前沿论文汇总

自动驾驶 文章目录 自动驾驶前言自动驾驶的轨迹预测论文端到端自动驾驶论文 前言 汇总CVPR2025自动驾驶前沿论文 自动驾驶的轨迹预测论文 Leveraging SD Map to Augment HD Map-based Trajectory PredictionModeSeq: Taming Sparse Multimodal Motion Prediction with Seque…...

使用 jQuery 实现子窗口获取父窗口的值,或者父窗口获取子窗口的值时

HTML 父子窗口通信指南 一、基础概念 在Web开发中&#xff0c;父子窗口通信是一个常见的需求。这通常发生在以下场景&#xff1a; 主页面&#xff08;父窗口&#xff09;打开新窗口&#xff08;子窗口&#xff09;弹出窗口需要与主页面交互多窗口之间需要数据传递 二、jQue…...

AndroidStudio下载安装,环境部署以及常见问题解决教程(亲测)

AndroidStudio下载安装&#xff0c;环境部署以及常见问题解决&#xff01;&#xff01;&#xff01; 文章目录 前言 一、Android Studio 下载与安装 1.1 系统要求 1.2 下载 Android Studio 1.3 安装 Android Studio Windows 系统 1.4 初始配置 二、环境部署 2.1 安装 …...

ruoyi-vue部署2

3.Node.js 3.1.什么是Node.js 在 Node.js 之前&#xff0c;JavaScript 只能运行在浏览器中&#xff0c;作为网页脚本使用&#xff0c;为网页添加一些特效&#xff0c;或者和服务器进行通信。有了 Node.js 以后&#xff0c;JavaScript 就可以脱离浏览器&#xff0c;像其它编程…...

Flutter项目升级Xcode 16.2之后编译问题

最近好久没升级Xcode了&#xff0c;升级了一下最新的16.2之后。发现Flutter项目在iOS设备上运行不起来了。报错&#xff1a; 查了许多网友也遇到了&#xff0c;其中一个解决方案&#xff1a;https://stackoverflow.com/questions/79118572/xcode-16-and-ios-18-project-not-com…...

Mermaid 子图 + 拖拽缩放:让流程图支持无限细节展示

在技术文档、项目管理和可视化分析中&#xff0c;流程图是传递复杂逻辑的核心工具。传统流程图往往静态且难以适应细节展示&#xff0c;而 Mermaid 与 svg-pan-zoom 的结合&#xff0c;则为这一痛点提供了完美解决方案。本文将深入解析如何通过 Mermaid 的子图&#xff08;subg…...

前沿科技一览未来发展趋势

生物技术能帮环境。比如用它处理污染物。科学家发现一些细菌能吃掉油污。这些细菌能被用来清理漏油事故。比如1989年埃克森瓦尔迪兹号漏油事件中人们就用类似方法减少污染。 还有些植物能吸收土壤里的重金属。种植这种植物能让受污染的土地变干净。这种方法在矿区周围特别有用…...

Linux---sqlite3数据库

一、数据库分类 1. 按数据关系分类 类型特点代表产品关系型数据库- 使用 SQL&#xff08;结构化查询语言&#xff09;<br>- 数据以行列形式存储&#xff0c;支持事务和复杂查询MySQL、Oracle、SQLite非关系型数据库- 无固定表结构&#xff08;如键值对、文档、图&#…...

侯捷 C++ 课程学习笔记:进阶语法之lambda表达式(二)

侯捷 C 课程学习笔记&#xff1a;进阶语法之lambda表达式&#xff08;二&#xff09; 一、捕获范围界定 1. 局部变量与函数参数 ​非静态局部变量&#xff1a;Lambda 所在作用域内定义的局部变量&#xff08;如函数内部的 int x&#xff09;会被完整复制其当前值。捕获后外部变…...

python爬虫Scrapy(6)之增量式

增量式 爬虫应用场景分类 通用爬虫聚焦爬虫功能爬虫分布式爬虫增量式&#xff1a; 用来监测网站数据更新的情况&#xff08;爬取网站最新更新出来的数据&#xff09;。只是一种程序设计的思路&#xff0c;使用什么技术都是可以实现的。核心&#xff1a; 去重。 使用一个记录表来…...

oracle删除表中重复数据

需求&#xff1a; 删除wfd_procs_nodes_rwk表中&#xff0c;huser_id、dnode_id、rwk_name字段值相同的记录&#xff0c;如果有多条&#xff0c;只保留一条。 SQL&#xff1a; DELETE FROM wfd_procs_nodes_rwk t WHERE t.rowid > (SELECT MIN(t1.rowid)FROM wfd_procs_n…...

动作捕捉手套如何让虚拟现实人机交互 “触手可及”?

在虚拟与现实逐渐交融的当下&#xff0c;动作捕捉技术正以前所未有的速度革新着多个领域。 动作捕捉技术&#xff0c;简称“动捕”&#xff0c;已经从早期的影视特效制作&#xff0c;逐步拓展到游戏开发、虚拟现实、机器人控制等多个领域。 而mHandPrO数据手套作为这一领域的…...

【大模型基础_毛玉仁】2.3 基于 Encoder-only 架构的大语言模型

更多内容&#xff1a;XiaoJ的知识星球 目录 2.3 基于Encoder-only 架构的大语言模型2.3.1 Encoder-only 架构2.3.2 BERT 语言模型1&#xff09;BERT 模型结构2&#xff09;BERT 预训练方式3&#xff09;BERT 下游任务 2.3.3 BERT 衍生语言模型1&#xff09;RoBERTa 语言模型2&a…...

C# ManualResetEvent‌的高级用法

一、ManualResetEvent 的核心作用‌ ManualResetEvent 是 C# 中用于 ‌线程同步‌ 的类&#xff08;位于 System.Threading 命名空间&#xff09;&#xff0c;通过信号机制控制线程的等待与执行。其核心功能包括&#xff1a; 阻塞线程‌&#xff1a;调用 WaitOne() 的线程会等…...

Language Models are Few-Shot Learners,GPT-3详细讲解

GPT的训练范式&#xff1a;预训练Fine-Tuning GPT2的训练范式&#xff1a;预训练Prompt predict &#xff08;zero-shot learning&#xff09; GPT3的训练范式&#xff1a;预训练Prompt predict &#xff08;few-shot learning&#xff09; GPT2的性能太差&#xff0c;新意高&…...

js 给元素添加点击事件的方法

在 JavaScript 里&#xff0c;为元素添加点击事件有多种方法&#xff0c;下面为你介绍三种常见的方式。 1. 使用内联事件处理程序 你可以在 HTML 标签里直接使用 onclick 属性添加点击事件。示例如下&#xff1a; <!DOCTYPE html> <html lang"en"><…...

Linux环境使用jmeter做性能测试

一、安装JDK&#xff0c;版本jdk1.8 1、下载压缩包到/jdk目录下解压 cd /jdk tar -zxvf jdk-8u241-linux-64.tar.gz 2、配置环境变量 在profile文件中末尾新增信息如下所示 vim /etc/profile export JAVA_HOME/usr/local/java/jdk/jdk1.8.0_221 export PATH$PATH:$JAVA_HOM…...

联想台式电脑启动项没有U盘

开机按F12&#xff0c;进入启动设备菜单&#xff0c;发现这里没有识别到插在主机的U盘&#xff1f; 解决方法 1、选上图的Enter Setup或者开机按F2&#xff0c;进入BIOS设置 选择Startup -> Primary Boot Sequence 2、选中“Excludeed from boot order”中U盘所在的一行 …...

单片机开发资源分析的实战——以STM32F103C8T6为例子的单片机资源分析

目录 第一点&#xff1a;为什么叫STM32F103C8T6 从资源手册拿到我们的对STM32F103C8T6的资源描述 第二件事情&#xff0c;关心我们的GPIO引脚输出 第三件事情&#xff1a;去找对应外设的说明部分 前言 本文章隶属于项目&#xff1a; Charliechen114514/BetterATK: This is…...

Error response from daemon: Get “https://registry-1.docker.io/v2/“: net/http: request canceled while

英俊潇洒很有才,美丽端庄又大方的人已经点赞收藏&#xff0b;关注了 文章目录 1.ubuntu解决方案2.Windows的解决办法&#xff08;有威劈恩好搞&#xff09;3.其他报错json格式错误下载的镜像有问题 最后 1.ubuntu解决方案 报错如图&#xff1a;timeout Error response from da…...

yolo模型学习笔记——1——物体检测评估指标

1.置信度 表示模型预测的边界框中存在目标物体的概率以及反应预测框和真实框的定位质量 2.阈值 (1)定义 决定一个预测框是否被视为为正类的关键参数&#xff0c;通过调整不同的阈值&#xff0c;获得不同的精度和召回率。yolo模型会为每个预测框生成一个置信度分数&#xff0c…...

Elasticsearch 滚动索引(Rollover Index)详解

文章目录 1、滚动索引的作用2、滚动索引的用法2.1 核心概念2.2 实现步骤 3、适用场景4、与其他技术的结合使用5、案例&#xff1a;日志数据的滚动索引5.1 场景描述5.2 实现步骤 6、示例&#xff1a;结合索引生命周期管理&#xff08;ILM&#xff09;6.1 场景描述6.2 实现步骤 7…...

保持docker内容器一直运行

首先&#xff1a;确保Docker服务配置为开机自启&#xff0c;这样当虚拟机启动时&#xff0c;Docker也会启动&#xff0c;并按照设定的重启策略自动启动相关容器。 sudo systemctl enable docker 创建容器时&#xff1a; 当你使用docker run命令启动容器时&#xff0c;可以添…...

ChatBI 的技术演进与实践挑战:衡石科技如何通过 DeepSeek 实现商业落地

随着人工智能技术的快速发展&#xff0c;ChatBI&#xff08;基于自然语言交互的商业智能&#xff09;逐渐成为企业数据分析领域的热门话题。作为 BI&#xff08;商业智能&#xff09;领域的新形态&#xff0c;ChatBI 通过自然语言处理&#xff08;NLP&#xff09;技术&#xff…...

python-leetcode 55.子集

题目&#xff1a; 给定一个数组nums,数组中的元素互不相同&#xff0c;返回该数组所有可能子集&#xff08;幂集&#xff09; 解集不能包含重复的子集&#xff0c;可以按任意顺序返回解集 方法一&#xff1a;迭代法实现子集枚举 记原序列中元素的总数为 n&#xff0c;原序列…...

在LORA训练中,LORA模型的矩阵的行列是多少

在LORA训练中,LORA模型的矩阵的行列是多少: W n e w = W + α r B A W_{new}=W + \frac{\alpha}{r}BA...

冒泡排序:古老算法中的智慧启示

在计算机科学浩瀚的星空中&#xff0c;排序算法犹如璀璨的星辰&#xff0c;而冒泡排序恰似其中最朴实无华的一颗。这个诞生于计算机发展初期的经典算法&#xff0c;以其简单直观的逻辑原理&#xff0c;成为每个程序员启蒙阶段必经的试炼场。当我们凝视这个看似笨拙的排序方法时…...

基于ssm的电子病历系统(全套)

一、系统架构 前端&#xff1a;jsp | bootstrap | jquery 后端&#xff1a;spring | springmvc | mybatis 环境&#xff1a;jdk1.8 | mysql | maven | tomcat | idea 二、代码及数据库 三、功能介绍 01. 登录 02. 主页 03. 管理员-个人中心-修改密码…...

V2X验证

1. 标准和规范验证 欧洲对 DSRC 和 V2X 系统有一系列的标准和规范,主要由 ETSI (European Telecommunications Standards Institute) 和 IEEE 等组织制定。验证通常包括以下标准和规范: ETSI EN 302 571:这是DSRC在欧洲的主要标准,规定了DSRC系统的技术要求和操作条件。ET…...

SpringBoot美发门店管理系统开发与设计

在幽络源&#xff0c;我们致力于为开发者提供优质的技术资源和项目源码。今天&#xff0c;我们为大家分享一款基于SpringBoot开发的美发门店管理系统。该系统功能全面&#xff0c;操作便捷&#xff0c;适合中小型美发门店的管理需求。以下是系统的详细介绍。 系统功能模块 1.…...

Linux内核实时机制28 - RT调度器11 - RT 组调度

Linux内核实时机制28 - RT调度器11 - RT 组调度 相关数据结构 内核中通过static int sched_rt_runtime_exceeded(struct rt_rq *rt_rq)函数来判断实时任务运行时间是否超出带宽限制,判断这个运行队列rt_rq的运行时间是否超过了额定的运行时间。而“运行时间”和“额定时间”都…...

R语言——变量

参考资料&#xff1a;学习R 1、类 R中所有变量都有一个类&#xff0c;表明此变量属于什么类型。例如&#xff0c;大部分的数字是numeric类&#xff0c;逻辑值是logical类。其实&#xff0c;因为R没有标量类型&#xff08;scalar type&#xff09;&#xff0c;所以更严格地我说…...

Appium使用文档

Appium旨在支持许多不同平台&#xff08;移动端、网页端、桌面端等&#xff09;的UI自动化。不仅如此&#xff0c;它还旨在支持用不同语言&#xff08;JS、Java、Python等&#xff09;编写的自动化代码。 Appium移动端自动化要求如下&#xff1a; 安装Appium安装UiAutomator2…...

Houdini :《哪吒2》神话与科技碰撞的创新之旅

《哪吒2》&#xff08;即《哪吒之魔童闹海》&#xff09;截止至今日&#xff0c;荣登全球票房榜第五。根据猫眼专业版数据&#xff0c;截至2025年3月15日&#xff0c;《哪吒2》全球累计票房&#xff08;含预售及海外&#xff09;超过150.19亿元&#xff0c;超越《星球大战&…...