[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-…...
浏览器跨域
生活中的事跟跨域有什么关系,那必须有。 跨域的产生是浏览器的安全机制引起的,只有在使用Ajax时才会发生。简单来说就是你可以通过ajax发送请求,但要看远程服务器脸色,他没授权,浏览器这个老六就给拦截了,不…...
ffmpeg windows环境MinGW+msys2编译so库
一、安装MinGW 1.1、下载MinGW 1.2、下载完成后,会得到一个名为 mingw-get-setup.exe 的安装包,双击打开它,可以看到如下的对话框: 1.3、直接点击“Install”,进入下面的对话框 1.4、可根据自己操作系统的实际情况&am…...
python VTK PyQt5 VTK环境搭建 创建 渲染窗口及三维模型,包含 三维模型交互;
目录 Part1. VTK 介绍 Part2. PyQt5 VTK环境搭建 安装Anaconda 自带Python Anaconda下载 安装PyQt5 安装 VTK Part3 :PyQt VTK 结合样例: Part1. VTK 介绍 VTK(visualization toolkit)是一个开源的免费软件系统,主要用于三维计算机图形…...
学习总结(二) 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 是一种现代的、系统级的编程语言,它强调并发安全、内存安全和高性能。Rust 的设计目标是提供一种有着良…...
Java并发工具类
JDK并发包中常用并发工具类: CountDownLatch、CyclicBarrier和Semaphore工具类提供了一种并发流程控制的手段; Exchanger工具类则提供了在线程间交换数据的一种手段。 等待多线程完成的CountDownLatch CountDownLatch允许一个或多个线程等待其他线程完成…...
晨控CK-GW208与三菱L系列PLC以TCP通讯手册
晨控CK-GW208是一款支持标准工业以太网协议的IO-LINK主站网关,方便用户快速便捷的集成到 PLC 等控制系统中。 CK-GW208主站网关集成 8 路 IO-LINK 通信端口,采用即插即用模式,无需繁琐的配置,减轻现场安装调试的工作量。为了满足…...
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论文之中,号称高分论文密码。大尺度模拟技术可以从不同时空尺度阐明农业生态环境领域的内在机理和时空变化规律,又可以为复杂的机理过程模型大尺度模拟提供技术基础。在本次培训中&#x…...
uniapp 自定义手机顶部状态栏(适配状态栏高度)
开启页面自定义导航栏功能 uniapp 在 pages.json 页面设置了全局的 globalStyle 的 "navigationStyle": "custom" 或单页面的 style 的 "navigationStyle": "custom" 之后页面顶部就没有自带的导航栏了,这时用户可自定义该…...
【LeetCode】1448.统计二叉树中好节点的数目
题目 给你一棵根为 root 的二叉树,请你返回二叉树中好节点的数目。 「好节点」X 定义为:从根到该节点 X 所经过的节点中,没有任何节点的值大于 X 的值。 示例 1: 输入:root [3,1,4,3,null,1,5] 输出:4 …...
C语言基础之——数组
前言:本篇文章,我们将对一维数组,和二维数组进行展开式的讲解,并进行实际应用。 目录 一.一维数组 1.一维数组的创建和初始化 (1)数组的创建 (2)数组的初始化 2.一维数组的使用…...
c# 插入排序
插入排序(Insertion Sort):将未排序的元素逐个插入到已排序的序列中的正确位置。 原始数据:{4,3,2,90,10} 第一个循环j0 首先取出索引为1的元素 3 ,索引为0的元素4&…...
action和mutation之间的利用 代码解释
场景:购物车点击按钮 context.commit(‘changeCount’, { goodsNum, goodsId })解释这段代码 这段代码是在使用 Vuex 进行状态管理时常见的一种写法。下面对代码进行解释: context.commit 是 Vuex 中的一个方法,用于触发一个名为 changeC…...
WPF基础入门-Class4-WPF绑定
WPF基础入门 Class4:WPF绑定 1、cs文件中设置需要绑定的数据: public partial class Class_4 : Window{public Class_4(){InitializeComponent();List<Color> test new List<Color>();test.Add(new Color() { Code "Yellow",…...
【广州华锐互动】VR高校虚拟实验教学平台提供丰富的资源支持,提高教学效果
随着科技的不断进步,虚拟现实(VR)技术已经逐渐渗透到各个领域,其中包括教育。 广州华锐互动利用VR虚拟现实技术打造的VR高校虚拟实验教学平台,是一种新型的教学工具,它提供了一个在线的教学资源管理平台,包含教学平台、…...
pytorch学习(7)——神经网络优化器torch.optim
1 optim 优化器 PyTorch神经网络优化器(optimizer)通过调整神经网络的参数(weight和bias)来最小化损失函数(Loss)。 学习链接: https://pytorch.org/docs/stable/optim.html 1.1 优化器基类 使…...
leetcode做题笔记101. 对称二叉树
给你一个二叉树的根节点 root , 检查它是否轴对称。 思路一:递归 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) {…...
边缘计算相关概念--学习笔记
一.边缘计算概念 边缘计算将数据的处理,应用程序的运行甚至一些功能服务的实现,由网络中心下放到网络边缘的节点上,在网络边缘侧的智能网关上就近采集并且处理数据,不需要将大量未处理的数据上传到远程的大数据平台。边缘计算理论…...
css实现圆环展示百分比,根据值动态展示所占比例
代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...
Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)
文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...
PL0语法,分析器实现!
简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...
智能仓储的未来:自动化、AI与数据分析如何重塑物流中心
当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...
零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)
本期内容并不是很难,相信大家会学的很愉快,当然对于有后端基础的朋友来说,本期内容更加容易了解,当然没有基础的也别担心,本期内容会详细解释有关内容 本期用到的软件:yakit(因为经过之前好多期…...
Java 二维码
Java 二维码 **技术:**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
Linux 中如何提取压缩文件 ?
Linux 是一种流行的开源操作系统,它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间,使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的,要在 …...
免费数学几何作图web平台
光锐软件免费数学工具,maths,数学制图,数学作图,几何作图,几何,AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...
