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

[JavaWeb]【十四】web后端开发-MAVEN高级

目录

一、分模块设计与开发

1.1 分模块设计

 1.2 分模块设计-实践​编辑

1.2.1 复制老项目改为spring-boot-management

1.2.2 新建maven模块runa-pojo

1.2.2.1 将原项目pojo复制到runa-pojo模块

 1.2.2.2 runa-pojo引入新依赖

1.2.2.3 删除原项目pojo包

1.2.2.4 在spring-boot-management(原项目)引入runa-pojo依赖

1.2.3 新建maven模块runa-utils

 1.2.3.1 将原项目utils复制到runa-utils模块

 1.2.3.2 runa-utils引入依赖

1.2.3.3 spring-boot-management删除依赖

1.2.3.4 删除原项目utils包

1.2.3.5 在spring-boot-management(原项目)引入runa-utils依赖

 1.2.4 启动服务-测试

 1.3 总结

二、继承与聚合

2.1 继承

 2.1.1 新建父工程模块runa-parent

 2.1.2 设置runa-parent打包方式为pom

2.1.3 设置runa-parent父工程未springboot

2.1.4 删除 runa-parent的src

2.1.5 修改spring-boot-management父工程为runa-parent

2.1.6 删除 spring-boot-management提示异常的标签

 2.1.7 在runa-pojo与runa-utils设置父工程和删除

2.1.8 在父工程runa-parent配置共有依赖

2.2 继承实现总结 

 2.3 版本锁定

 2.3.1 将runa-parent管理版本(子工程)

2.3.2 runa-utils依赖版本删除

2.3.3 自定义属性 

 2.3.3.1 runa-parent设置版本

2.3.3.2 总结

 2.2 聚合

 2.2.1 runa-parent添加

 2.2.2 runa-parent maven生命周期进行打包等

2.3 总结

三、私服

3.1 介绍

3.2 资源上传与下载

3.3 私服配置

3.3.1 需要在 servers 标签中,配置访问私服的个人凭证(访问的用户名和密码)

3.3.2 在 mirrors 中只配置我们自己私服的连接地址(如果之前配置过阿里云,需要直接替换掉)

3.3.3 需要在 profiles 中,增加如下配置,来指定snapshot快照版本的依赖,依然允许使用

3.3.4 如果需要上传自己的项目到私服上,需要在项目的pom.xml文件中,增加如下配置,来配置项目发布的地址(也就是私服的地址)

3.3.5 发布项目,直接运行 deploy 生命周期即可 (发布时,建议跳过单元测试)

3.3.6 启动本地私服

3.4 上传maven生命周期-deploy

3.5 下载


前言:

分模块设计开发是一种软件开发方法论,它将一个大型的软件系统按照不同的功能模块进行划分,每个模块独立设计、独立开发、独立测试、独立部署和独立维护。这有助于降低整个系统的复杂度,提高系统的可维护性和可扩展性。

分模块设计开发一般包含以下步骤:

1. 确定系统的功能模块:将整个系统划分成多个不同的功能模块,如登录模块、订单模块、支付模块等。

2. 设计每个模块的接口:在每个模块内部,设计该模块与其他模块的接口,包括输入输出参数、数据结构等。

3. 各个模块的独立开发:分别对每个模块进行独立的开发,每个开发人员只负责一个模块。

4. 集成测试:在开发完成后,对各个模块进行集成测试,测试各个模块之间的接口是否正常,是否能够协同工作。

5. 系统测试:对整个系统进行测试,模拟实际运行环境下的各种场景,保证系统整体的稳定性和可用性。

6. 部署上线:将整个系统部署到线上环境中,进行实际的运行。

分模块设计开发的优点:

1. 降低系统复杂度:将整个系统分模块开发,让开发人员专注于模块间的关系和模块内的逻辑,从而降低系统复杂度。

2. 提高可维护性:每个模块独立开发,修改某个模块不影响其他模块的使用,方便维护和升级。

3. 提高可扩展性:如果需要增加新的功能,只需要增加一个新的模块,不会影响到其他模块的运行。

4. 提高开发效率:多个开发人员可以并行开发不同的模块,加快开发进度。

一、分模块设计与开发

1.1 分模块设计

 

 1.2 分模块设计-实践

 

1.2.1 复制老项目改为spring-boot-management

新建文件夹spring_boot_project01

将之前方面复制过来改成 spring-boot-management

打开项目spring-boot-management 使用Rename 修改启动类等

1.2.2 新建maven模块runa-pojo

 

1.2.2.1 将原项目pojo复制到runa-pojo模块

 1.2.2.2 runa-pojo引入新依赖

  <!--       lombok  --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.24</version></dependency>

1.2.2.3 删除原项目pojo包

1.2.2.4 在spring-boot-management(原项目)引入runa-pojo依赖

        <dependency><groupId>com.runa</groupId><artifactId>runa-pojo</artifactId><version>1.0-SNAPSHOT</version></dependency>

1.2.3 新建maven模块runa-utils

 

 1.2.3.1 将原项目utils复制到runa-utils模块

 1.2.3.2 runa-utils引入依赖

    <!--JWT令牌--><dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt</artifactId><version>0.9.1</version></dependency><!--        阿里云OSS依赖--><dependency><groupId>com.aliyun.oss</groupId><artifactId>aliyun-sdk-oss</artifactId><version>3.15.1</version></dependency><dependency><groupId>javax.xml.bind</groupId><artifactId>jaxb-api</artifactId><version>2.3.1</version></dependency><dependency><groupId>javax.activation</groupId><artifactId>activation</artifactId><version>1.1.1</version></dependency><!-- no more than 2.3.3--><dependency><groupId>org.glassfish.jaxb</groupId><artifactId>jaxb-runtime</artifactId><version>2.3.3</version></dependency><!--        web  起步依赖  --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>3.1.2</version></dependency><!--       lombok  --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.24</version></dependency>

1.2.3.3 spring-boot-management删除依赖

    <!--JWT令牌--><dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt</artifactId><version>0.9.1</version></dependency><!--        阿里云OSS依赖--><dependency><groupId>com.aliyun.oss</groupId><artifactId>aliyun-sdk-oss</artifactId><version>3.15.1</version></dependency><dependency><groupId>javax.xml.bind</groupId><artifactId>jaxb-api</artifactId><version>2.3.1</version></dependency><dependency><groupId>javax.activation</groupId><artifactId>activation</artifactId><version>1.1.1</version></dependency><!-- no more than 2.3.3--><dependency><groupId>org.glassfish.jaxb</groupId><artifactId>jaxb-runtime</artifactId><version>2.3.3</version></dependency>

1.2.3.4 删除原项目utils包

1.2.3.5 在spring-boot-management(原项目)引入runa-utils依赖

        <dependency><groupId>com.runa</groupId><artifactId>runa-utils</artifactId><version>1.0-SNAPSHOT</version></dependency>

 1.2.4 启动服务-测试

 

 1.3 总结

二、继承与聚合

2.1 继承

 

 

 2.1.1 新建父工程模块runa-parent

 

 

 2.1.2 设置runa-parent打包方式为pom

<packaging>pom</packaging>

2.1.3 设置runa-parent父工程未springboot

   <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.1.2</version><relativePath/> <!-- lookup parent from repository --></parent>

2.1.4 删除 runa-parent的src

2.1.5 修改spring-boot-management父工程为runa-parent

 <parent><groupId>com.runa</groupId><artifactId>runa-parent</artifactId><version>1.0-SNAPSHOT</version><relativePath>../runa-parent/pom.xml</relativePath></parent>

2.1.6 删除 spring-boot-management提示异常的标签

<groupId>com.runa</groupId>

 

 2.1.7 在runa-pojo与runa-utils设置父工程和删除<groupId>

2.1.8 在父工程runa-parent配置共有依赖

将子工程共有的依赖剪切到父工程

2.2 继承实现总结 

 

 

 

 2.3 版本锁定

 2.3.1 将runa-parent管理版本(子工程)

 <!--  统一管理版本标签--><dependencyManagement><dependencies><!--JWT令牌--><dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt</artifactId><version>0.9.1</version></dependency><!--        阿里云OSS依赖--><dependency><groupId>com.aliyun.oss</groupId><artifactId>aliyun-sdk-oss</artifactId><version>3.15.1</version></dependency><dependency><groupId>javax.xml.bind</groupId><artifactId>jaxb-api</artifactId><version>2.3.1</version></dependency><dependency><groupId>javax.activation</groupId><artifactId>activation</artifactId><version>1.1.1</version></dependency><!-- no more than 2.3.3--><dependency><groupId>org.glassfish.jaxb</groupId><artifactId>jaxb-runtime</artifactId><version>2.3.3</version></dependency><!--        web  起步依赖  --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>3.1.2</version></dependency></dependencies></dependencyManagement>

2.3.2 runa-utils依赖版本删除

 <dependencies><!--JWT令牌--><dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt</artifactId>      </dependency><!--        阿里云OSS依赖--><dependency><groupId>com.aliyun.oss</groupId><artifactId>aliyun-sdk-oss</artifactId>    </dependency><dependency><groupId>javax.xml.bind</groupId><artifactId>jaxb-api</artifactId>   </dependency><dependency><groupId>javax.activation</groupId><artifactId>activation</artifactId>      </dependency><!-- no more than 2.3.3--><dependency><groupId>org.glassfish.jaxb</groupId><artifactId>jaxb-runtime</artifactId>   </dependency><!--        web  起步依赖  --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>     </dependency></dependencies>

2.3.3 自定义属性 

 

 2.3.3.1 runa-parent设置版本

  <properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><lombok.version>1.18.24</lombok.version></properties>
  <!--       lombok  --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>${lombok.version}</version></dependency>

 其他依次设置

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.1.2</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.runa</groupId><artifactId>runa-parent</artifactId><version>1.0-SNAPSHOT</version><packaging>pom</packaging><name>runa-parent</name><url>http://maven.apache.org</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><lombok.version>1.18.24</lombok.version><jjwt.version>0.9.1</jjwt.version><aliyun.oss.version>3.15.1</aliyun.oss.version><jaxb.version>2.3.1</jaxb.version><activation.version>1.1.1</activation.version><jaxb.runtime.version>2.3.3</jaxb.runtime.version>
<!--    他好像不需要版本管理 因为他是spring-boot,runa-parent本身就是继承springboot--><spring-boot-starter-web>3.1.2</spring-boot-starter-web> </properties><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency><!--       lombok  --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>${lombok.version}</version></dependency></dependencies><!--  统一管理版本标签--><dependencyManagement><dependencies><!--JWT令牌--><dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt</artifactId><version>${jjwt.version}</version></dependency><!--        阿里云OSS依赖--><dependency><groupId>com.aliyun.oss</groupId><artifactId>aliyun-sdk-oss</artifactId><version>${aliyun.oss.version}</version></dependency><dependency><groupId>javax.xml.bind</groupId><artifactId>jaxb-api</artifactId><version>${jaxb.version}</version></dependency><dependency><groupId>javax.activation</groupId><artifactId>activation</artifactId><version>${activation.version}</version></dependency><!-- no more than 2.3.3--><dependency><groupId>org.glassfish.jaxb</groupId><artifactId>jaxb-runtime</artifactId><version>${jaxb.runtime.version}</version></dependency><!--        web  起步依赖  --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
<!--        下面这个都可以删除--><version>${spring-boot-starter-web}</version></dependency></dependencies></dependencyManagement></project>

2.3.3.2 总结

 2.2 聚合

 

 2.2.1 runa-parent添加

<!--  聚合其他模块--><modules><module>../runa-pojo</module><module>../runa-utils</module><module>../spring-boot-management</module></modules>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.1.2</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.runa</groupId><artifactId>runa-parent</artifactId><version>1.0-SNAPSHOT</version><packaging>pom</packaging><!--  聚合其他模块--><modules><module>../runa-pojo</module><module>../runa-utils</module><module>../spring-boot-management</module></modules><name>runa-parent</name><url>http://maven.apache.org</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><lombok.version>1.18.24</lombok.version><jjwt.version>0.9.1</jjwt.version><aliyun.oss.version>3.15.1</aliyun.oss.version><jaxb.version>2.3.1</jaxb.version><activation.version>1.1.1</activation.version><jaxb.runtime.version>2.3.3</jaxb.runtime.version>
<!--    他好像不需要版本管理 因为他是spring-boot,runa-parent本身就是继承springboot--><spring-boot-starter-web>3.1.2</spring-boot-starter-web></properties><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency><!--       lombok  --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>${lombok.version}</version></dependency></dependencies><!--  统一管理版本标签--><dependencyManagement><dependencies><!--JWT令牌--><dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt</artifactId><version>${jjwt.version}</version></dependency><!--        阿里云OSS依赖--><dependency><groupId>com.aliyun.oss</groupId><artifactId>aliyun-sdk-oss</artifactId><version>${aliyun.oss.version}</version></dependency><dependency><groupId>javax.xml.bind</groupId><artifactId>jaxb-api</artifactId><version>${jaxb.version}</version></dependency><dependency><groupId>javax.activation</groupId><artifactId>activation</artifactId><version>${activation.version}</version></dependency><!-- no more than 2.3.3--><dependency><groupId>org.glassfish.jaxb</groupId><artifactId>jaxb-runtime</artifactId><version>${jaxb.runtime.version}</version></dependency><!--        web  起步依赖  --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
<!--        下面这个都可以删除--><version>${spring-boot-starter-web}</version></dependency></dependencies></dependencyManagement></project>

 2.2.2 runa-parent maven生命周期进行打包等

2.3 总结

三、私服

3.1 介绍

3.2 资源上传与下载

 

 

 

3.3 私服配置

 私服配置说明

访问私服:http://192.168.150.101:8081

访问密码:admin/admin

下载地址

使用私服,需要在maven的settings.xml配置文件中,做如下配置:

3.3.1 需要在 servers 标签中,配置访问私服的个人凭证(访问的用户名和密码)

<server><id>maven-releases</id><username>admin</username><password>admin</password>
</server><server><id>maven-snapshots</id><username>admin</username><password>admin</password>
</server>

3.3.2 在 mirrors 中只配置我们自己私服的连接地址(如果之前配置过阿里云,需要直接替换掉)

<mirror><id>maven-public</id><mirrorOf>*</mirrorOf><url>http://192.168.150.101:8081/repository/maven-public/</url>
</mirror>

3.3.3 需要在 profiles 中,增加如下配置,来指定snapshot快照版本的依赖,依然允许使用

<profile><id>allow-snapshots</id><activation><activeByDefault>true</activeByDefault></activation><repositories><repository><id>maven-public</id><url>http://192.168.150.101:8081/repository/maven-public/</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled></snapshots></repository></repositories>
</profile>

3.3.4 如果需要上传自己的项目到私服上,需要在项目的pom.xml文件中,增加如下配置,来配置项目发布的地址(也就是私服的地址)

<distributionManagement><!-- release版本的发布地址 --><repository><id>maven-releases</id><url>http://192.168.150.101:8081/repository/maven-releases/</url></repository><!-- snapshot版本的发布地址 --><snapshotRepository><id>maven-snapshots</id><url>http://192.168.150.101:8081/repository/maven-snapshots/</url></snapshotRepository>
</distributionManagement>

3.3.5 发布项目,直接运行 deploy 生命周期即可 (发布时,建议跳过单元测试)

3.3.6 启动本地私服

1、解压: apache-maven-nexus.zip2、进入目录: apache-maven-nexus\nexus-3.39.0-01\bin   #(注意解压不要有中文路径)3、启动服务:双击 start.bat4、访问服务:localhost:80815、私服配置说明:将上述配置私服信息的 192.168.150.101 改为 localhost

3.4 上传maven生命周期-deploy

 

3.5 下载

新项目配置依赖

 要验证下载,先将本地仓库的删除掉

相关文章:

[JavaWeb]【十四】web后端开发-MAVEN高级

目录 一、分模块设计与开发 1.1 分模块设计 1.2 分模块设计-实践​编辑 1.2.1 复制老项目改为spring-boot-management 1.2.2 新建maven模块runa-pojo 1.2.2.1 将原项目pojo复制到runa-pojo模块 1.2.2.2 runa-pojo引入新依赖 1.2.2.3 删除原项目pojo包 1.2.2.4 在spring-…...

浏览器跨域

生活中的事跟跨域有什么关系&#xff0c;那必须有。 跨域的产生是浏览器的安全机制引起的&#xff0c;只有在使用Ajax时才会发生。简单来说就是你可以通过ajax发送请求&#xff0c;但要看远程服务器脸色&#xff0c;他没授权&#xff0c;浏览器这个老六就给拦截了&#xff0c;不…...

ffmpeg windows环境MinGW+msys2编译so库

一、安装MinGW 1.1、下载MinGW 1.2、下载完成后&#xff0c;会得到一个名为 mingw-get-setup.exe 的安装包&#xff0c;双击打开它&#xff0c;可以看到如下的对话框&#xff1a; 1.3、直接点击“Install”&#xff0c;进入下面的对话框 1.4、可根据自己操作系统的实际情况&am…...

python VTK PyQt5 VTK环境搭建 创建 渲染窗口及三维模型,包含 三维模型交互;

目录 Part1. VTK 介绍 Part2. PyQt5 VTK环境搭建 安装Anaconda 自带Python Anaconda下载 安装PyQt5 安装 VTK Part3 :PyQt VTK 结合样例: Part1. VTK 介绍 VTK&#xff08;visualization toolkit&#xff09;是一个开源的免费软件系统&#xff0c;主要用于三维计算机图形…...

学习总结(二) node.js服务器如何使用net模块向硬件发送命令与接收数据?

服务器server.js: const net require("net"); //此模块用于tcp/ip通讯 当收到get请求时: server.get("/cfjcApi/v1/SkyTempHudi", (req, res) > { let client new net.Socket(); client.connect(网络模块端口, 网络模块Ip, () > { //此模块…...

rust工程

文章目录 CargomacOS配置rust环境vscode配置 目录结构Cargo.tomlcargo命令hello world 跟web交互WebAssembly 跟Android交互配置Android环境JNI例子NDK例子 Rust 是一种现代的、系统级的编程语言&#xff0c;它强调并发安全、内存安全和高性能。Rust 的设计目标是提供一种有着良…...

Java并发工具类

JDK并发包中常用并发工具类&#xff1a; CountDownLatch、CyclicBarrier和Semaphore工具类提供了一种并发流程控制的手段&#xff1b; Exchanger工具类则提供了在线程间交换数据的一种手段。 等待多线程完成的CountDownLatch CountDownLatch允许一个或多个线程等待其他线程完成…...

晨控CK-GW208与三菱L系列PLC以TCP通讯手册

晨控CK-GW208是一款支持标准工业以太网协议的IO-LINK主站网关&#xff0c;方便用户快速便捷的集成到 PLC 等控制系统中。 CK-GW208主站网关集成 8 路 IO-LINK 通信端口&#xff0c;采用即插即用模式&#xff0c;无需繁琐的配置&#xff0c;减轻现场安装调试的工作量。为了满足…...

c++11 标准模板(STL)(std::basic_istringstream)(五)

定义于头文件 <sstream> template< class CharT, class Traits std::char_traits<CharT> > class basic_istringstream;(C11 前)template< class CharT, class Traits std::char_traits<CharT>, class Allocator std::allo…...

【案例教程】高分论文密码:大尺度空间模拟预测与数字制图

尺度空间模拟预测和数字制图技术和不确定性分析广泛应用于高分SCI论文之中&#xff0c;号称高分论文密码。大尺度模拟技术可以从不同时空尺度阐明农业生态环境领域的内在机理和时空变化规律&#xff0c;又可以为复杂的机理过程模型大尺度模拟提供技术基础。在本次培训中&#x…...

uniapp 自定义手机顶部状态栏(适配状态栏高度)

开启页面自定义导航栏功能 uniapp 在 pages.json 页面设置了全局的 globalStyle 的 "navigationStyle": "custom" 或单页面的 style 的 "navigationStyle": "custom" 之后页面顶部就没有自带的导航栏了&#xff0c;这时用户可自定义该…...

【LeetCode】1448.统计二叉树中好节点的数目

题目 给你一棵根为 root 的二叉树&#xff0c;请你返回二叉树中好节点的数目。 「好节点」X 定义为&#xff1a;从根到该节点 X 所经过的节点中&#xff0c;没有任何节点的值大于 X 的值。 示例 1&#xff1a; 输入&#xff1a;root [3,1,4,3,null,1,5] 输出&#xff1a;4 …...

C语言基础之——数组

前言&#xff1a;本篇文章&#xff0c;我们将对一维数组&#xff0c;和二维数组进行展开式的讲解&#xff0c;并进行实际应用。 目录 一.一维数组 1.一维数组的创建和初始化 &#xff08;1&#xff09;数组的创建 &#xff08;2&#xff09;数组的初始化 2.一维数组的使用…...

c# 插入排序

插入排序&#xff08;Insertion Sort&#xff09;&#xff1a;将未排序的元素逐个插入到已排序的序列中的正确位置。 原始数据&#xff1a;{4&#xff0c;3&#xff0c;2&#xff0c;90&#xff0c;10} 第一个循环j0 首先取出索引为1的元素 3 &#xff0c;索引为0的元素4&…...

action和mutation之间的利用 代码解释

场景&#xff1a;购物车点击按钮 context.commit(‘changeCount’, { goodsNum, goodsId })解释这段代码 这段代码是在使用 Vuex 进行状态管理时常见的一种写法。下面对代码进行解释&#xff1a; context.commit 是 Vuex 中的一个方法&#xff0c;用于触发一个名为 changeC…...

WPF基础入门-Class4-WPF绑定

WPF基础入门 Class4&#xff1a;WPF绑定 1、cs文件中设置需要绑定的数据&#xff1a; public partial class Class_4 : Window{public Class_4(){InitializeComponent();List<Color> test new List<Color>();test.Add(new Color() { Code "Yellow",…...

【广州华锐互动】VR高校虚拟实验教学平台提供丰富的资源支持,提高教学效果

随着科技的不断进步&#xff0c;虚拟现实(VR)技术已经逐渐渗透到各个领域&#xff0c;其中包括教育。 广州华锐互动利用VR虚拟现实技术打造的VR高校虚拟实验教学平台&#xff0c;是一种新型的教学工具&#xff0c;它提供了一个在线的教学资源管理平台&#xff0c;包含教学平台、…...

pytorch学习(7)——神经网络优化器torch.optim

1 optim 优化器 PyTorch神经网络优化器&#xff08;optimizer&#xff09;通过调整神经网络的参数&#xff08;weight和bias&#xff09;来最小化损失函数&#xff08;Loss&#xff09;。 学习链接&#xff1a; https://pytorch.org/docs/stable/optim.html 1.1 优化器基类 使…...

leetcode做题笔记​101. 对称二叉树

给你一个二叉树的根节点 root &#xff0c; 检查它是否轴对称。 思路一&#xff1a;递归 bool isSymmetric(struct TreeNode* root){if (root NULL) return true;return fun(root->left, root->right); }int fun(struct TreeNode* l_root, struct TreeNode* r_root) {…...

边缘计算相关概念--学习笔记

一.边缘计算概念 边缘计算将数据的处理&#xff0c;应用程序的运行甚至一些功能服务的实现&#xff0c;由网络中心下放到网络边缘的节点上&#xff0c;在网络边缘侧的智能网关上就近采集并且处理数据&#xff0c;不需要将大量未处理的数据上传到远程的大数据平台。边缘计算理论…...

flutter windows编译错误 flutter_assemble.vcxproj

flutter 编译windows是出现错误。 [ 44 ms] d:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(248,5): error MSB8066: &#xfffd;&#xfffd;E:\work\kkview_kuaichuan\kkview_kuaichuan\build\windows\C…...

通过运行中的容器生成 Docker Compose 配置文件

背景 笔者之前有一次不小心删除了原始的 docker-compose.yml 文件&#xff0c;不过正在运行的 Docker 容器还在&#xff0c;找了许久&#xff0c;发现一个方法可以从这些容器中生成一个等效的 Docker Compose 配置文件。本文将介绍使用 autocompose 工具从正在运行的容器中反向…...

rancher界面无法登陆问题解决,登录超时;

1.找到rancher主机&#xff0c;查看日志 docker ps | grep rancher # rancher 容器 名称 jolly_ptolemy docker logs -f jolly_ptolemy 日志提示&#xff0c; java.sql.SQLException: Got error 28 from storage engine&#xff0c;磁盘满了 2.磁盘管理 df -h #查看磁盘使…...

Django(6)-django项目自动化测试

Django 应用的测试应该写在应用的 tests.py 文件里。测试系统会自动的在所有以 tests 开头的文件里寻找并执行测试代码。 我们的 polls 应用现在有一个小 bug 需要被修复&#xff1a;我们的要求是如果 Question 是在一天之内发布的&#xff0c; Question.was_published_recentl…...

【AUTOSAR】【CAN通信】CanNm

目录 一、概述 二、说明 三、功能说明 3.1 协调算法 3.2 操作模式 3.2.1 网络模式...

拼多多淘宝大量缓存商品数据用什么格式提供比较好?

众所周知&#xff0c;淘宝拼多多是我国主流的电商平台&#xff0c;其上有大量的商品数据。很多商家会通过API来访问他们的商品数据&#xff0c;根据API的调用次数收费。第三方数据公司提供电商数据接口API&#xff0c;采集实时数据。但是&#xff0c;在他们的服务器上有大量的缓…...

【校招VIP】前端校招考点之页面转换算法

考点介绍&#xff1a; 在地址映射过程中&#xff0c;若在页面中发现所要访问的页面不在内存中&#xff0c;则产生缺页中断。当发生缺页中断时&#xff0c;如果操作系统内存中没有空闲页面&#xff0c;则操作系统必须在内存选择一个页面将其移出内存&#xff0c;以便为即将调入的…...

android 下载网络文件

工具类 import android.app.ProgressDialog; import android.content.Context; import android.os.AsyncTask; import android.os.Environment; import android.util.Log;import java.io.BufferedInputStream; import java.io.File; import java.io.FileOutputStream; import …...

springboot定时任务:同时使用定时任务和websocket报错

背景 项目使用了websocket,实现了消息的实时推送。后来项目需要一个定时任务&#xff0c;使用org.springframework.scheduling.annotation的EnableScheduling注解来实现&#xff0c;启动项目之后报错 Bean com.alibaba.cloud.sentinel.custom.SentinelAutoConfiguration of t…...

CSS3渐变及2D转换

CSS3渐变及2D转换 持续更新哦… 1、css3渐变 概念: CSS3渐变(gradient)可以让你在两个或多个指定的颜色之间显示平 稳的过渡。以前&#xff0c;你必须使用图像来实现这些效果&#xff0c;现在通过使用 CSS3的渐变(gradients)即可实现。此外&#xff0c;渐变效果的元素在放大…...

网站建设流程步骤怎么样/竞价排名的优缺点

NET使用ABP框架搭建博客项目&#xff08;一&#xff09; 有很多学NET开发的小伙伴建项目都比较茫然&#xff0c;我用什么开发&#xff1f;我都使用什么框架&#xff1f;我怎么起名字&#xff1f;种种问题&#xff0c;让一些低等、中等的工程师&#xff08;甚至是高级工程师&am…...

页面设计模板怎么写/网站优化seo教程

访问Server manager&#xff0c;点击日志按钮 选择合适的时间段&#xff0c;查询即可...

建网站代理/百度关键词搜索

1、CMS收集器 CMS收集器是一种以获取最短回收停顿时间为目标的收集器。基于“标记-清除”算法实现&#xff0c;它的运作过程如下&#xff1a; 1&#xff09;初始标记 2&#xff09;并发标记 3&#xff09;重新标记 4&#xff09;并发清除 初始标记、从新标记这两个步骤仍然…...

自己做本地网站/企业网站制作与维护

今天&#xff0c;男友转发了一条我曾经发给他的短信息。看着短信里的文字&#xff0c;那时的感受宛如重现&#xff0c;是那么的真切。而我自从来到他的身边&#xff0c;不再异地&#xff0c;思念的情感不再&#xff0c;就连幸福的感觉也被忽视。此时此刻&#xff0c;我真正体会…...

网站建设实训报告ppt/市场营销计划

还是那句很欠揍的话&#xff0c;没啥难度&#xff0c;直接上代码。 // // ViewController.m // Demo—闪光灯 // // Created by yyt on 16/4/21. // Copyright © 2016年 yyt. All rights reserved. // #import "ViewController.h" #import <AVFoundation…...

网站设计一般什么字体/怎么做网络推广

①包装类 1、其中需要注意int对应的是Integer&#xff0c;char对应的Character&#xff0c;其他6个都是基本类型首字母大写即可。 2、字符串转成基本类型&#xff1a;包装类.parseInt(str); 3、基本数值转成字符串有3种方式&#xff1a; &#xff08;1&#xff09;、基本类型直…...