项目架构调整,切换版本并发布到中央仓库
文章目录
- 0.完成运维篇maven发布到中央仓库的部分
- 1.配置server到settings.xml
- 2.配置gpg
- 1.架构调整
- 1.sunrays-dependencies(统一管理依赖和配置)
- 1.作为单独的模块
- 2.填写发布到中央仓库的配置
- 1.基础属性
- 2.基本配置
- 3.插件配置
- 3.完整的pom.xml
- 2.sunrays-framework(统一管理子模块)
- 1.继承sunrays-dependencies
- 2.发布基本配置
- 3.完整的pom.xml
- 3.其余模块都继承sunrays-framework,如果需要发布,则需要填写发布基本配置
- 2.切换版本并发布到本地仓库
- 1.修改sunrays-dependencies的版本为0.0.6
- 2.修改sunrays-framework继承的版本也为0.0.6
- 3.将sunrays-dependencies模块发布到本地仓库,直接clean install
- 4.sunrays-framework 下使用maven 插件统一切换版本为0.0.6
- 5.按照以下顺序发布到本地仓库
- 1.sunrays-framework 只发布父模块
- 2.sunrays-common 直接clean install
- 3.sunrays-common-cloud 直接clean install
- 4.sunrays-combinations 直接clean install
- 5.sunrays-common-demo 直接clean install
- 6.sunrays-combinations-demo 直接clean install
- 7.最后sunrays-framework再clean install一下
- 3.发布到远程仓库
- 1.sunrays-dependencies 直接发布 mvn clean deploy
- 2.点击publish(一定要等到变绿再进行下一步!!!)
- 3.sunrays-framework 单独发布 mvn clean deploy -N
- 4.依然点击publish(一定要等到变绿再进行下一步!!!)
- 5.发布sunrays-common-cloud模块,直接发布即可
- 6.发布sunrays-common模块,也是直接发布
- 7.全部发布后,点击Publish,等待变绿
- 4.测试使用
- 1.新建一个Maven项目
- 2.在pom中直接使用sunrays-dependencies进行依赖管理
- 3.引入依赖
- 4.application.yml 配置日志存储根目录默认./logs
- 5.SunraysApplication.java 启动类
- 6.编写controller
- 7.测试,自动打印出参入参
0.完成运维篇maven发布到中央仓库的部分
1.配置server到settings.xml
<!-- 发布到maven的中央仓库的server --><server><id>sonatype</id><username>username</username><password>password</password></server>
2.配置gpg
1.架构调整
1.sunrays-dependencies(统一管理依赖和配置)
1.作为单独的模块
<groupId>cn.sunxiansheng</groupId><artifactId>sunrays-dependencies</artifactId><version>0.0.5</version>
2.填写发布到中央仓库的配置
1.基础属性
<!-- 项目名 --><name>${project.groupId}:${project.artifactId}</name><!-- 简单描述 --><description>统一管理依赖,本项目的所有模块都要直接或者间接的继承该模块</description><!-- 开源地址 --><url>https://gitee.com/qyxinhua_0/sunrays-framework/tree/master/sunrays-dependencies</url>
2.基本配置
<!-- 发布到Maven中央仓库需要的配置1 --><!-- 开源协议 --><licenses><license><name>MIT License</name><url>http://www.opensource.org/licenses/mit-license.php</url></license></licenses><!-- 开发者配置 --><developers><developer><name>sxs</name><email>xxxx@126.com</email><!-- url是个人主页的地址 --><url>https://sunweb.blog.csdn.net/</url></developer></developers><!-- 源码仓库相关配置 --><scm><!-- 只读连接 --><connection>scm:git:git://gitee.com/qyxinhua_0/sunrays-framework.git</connection><!-- 开发者连接 (SSH) --><developerConnection>scm:git:git@gitee.com:qyxinhua_0/sunrays-framework.git</developerConnection><!-- 仓库浏览 URL --><url>https://gitee.com/qyxinhua_0/sunrays-framework</url></scm><!-- 发布到Maven中央仓库需要的配置1 -->
3.插件配置
<!-- 发布到Maven中央仓库需要的配置2 --><!-- central发布插件(需要配置!!!) --><plugin><groupId>org.sonatype.central</groupId><artifactId>central-publishing-maven-plugin</artifactId><version>0.5.0</version><extensions>true</extensions><configuration><!-- 这里的id是跟settings.xml中对应的! --><publishingServerId>sonatype</publishingServerId><checksums>required</checksums><!-- 发布信息(最好自定义一下) --><deploymentName>Sunrays-Framework 企业级Java脚手架</deploymentName></configuration></plugin><!-- 下面几个都是通用的 --><!-- maven-source-plugin --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-source-plugin</artifactId><version>2.2.1</version><executions><execution><id>attach-sources</id><goals><goal>jar-no-fork</goal></goals></execution></executions></plugin><!-- maven-javadoc-plugin --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-javadoc-plugin</artifactId><version>3.4.1</version><!-- 支持三个自定义标签 --><configuration><additionalOptions><arg>-tag</arg><arg>Author:a:"Author"</arg><arg>-tag</arg><arg>Create:a:"Create"</arg><arg>-tag</arg><arg>Version:a:"Version"</arg></additionalOptions></configuration><executions><execution><id>attach-javadocs</id><goals><goal>jar</goal></goals></execution></executions></plugin><!-- maven-gpg-plugin --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-gpg-plugin</artifactId><version>3.2.4</version><executions><execution><id>sign-artifacts</id><phase>verify</phase><goals><goal>sign</goal></goals></execution></executions></plugin>
3.完整的pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<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><groupId>cn.sunxiansheng</groupId><artifactId>sunrays-dependencies</artifactId><version>0.0.5</version><!-- 项目名 --><name>${project.groupId}:${project.artifactId}</name><!-- 简单描述 --><description>统一管理依赖,本项目的所有模块都要直接或者间接的继承该模块</description><!-- 开源地址 --><url>https://gitee.com/qyxinhua_0/sunrays-framework/tree/master/sunrays-dependencies</url><!-- <packaging>pom</packaging> 被设置为 pom 时,这表示该项目是一个 管理依赖的项目 或 聚合项目 --><packaging>pom</packaging><properties><!-- 指定编译版本 --><java.version>1.8</java.version><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><!-- 指定版本号 --><lombok.version>1.18.16</lombok.version><spring-boot.version>2.4.2</spring-boot.version><spring-cloud.version>2020.0.1</spring-cloud.version><spring-cloud-alibaba.version>2021.1</spring-cloud-alibaba.version><druid.version>1.2.8</druid.version><mybatis-plus.version>3.5.3</mybatis-plus.version><transmittable-thread-local.version>2.12.4</transmittable-thread-local.version><mapstruct.version>1.4.2.Final</mapstruct.version><minio.version>8.5.14</minio.version><okhttp.version>4.11.0</okhttp.version><javaparser.version>3.25.4</javaparser.version><servlet-api.version>2.5</servlet-api.version><java-dotenv.version>5.2.2</java-dotenv.version></properties><!-- 统一指定版本 --><dependencyManagement><dependencies><!-- Spring Boot --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>${spring-boot.version}</version><!-- 下面两个配置表示导入spring-boot-dependencies的dependencyManagement的版本 --><type>pom</type><scope>import</scope></dependency><!-- Spring Cloud --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency><!-- Spring Cloud Alibaba --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>${spring-cloud-alibaba.version}</version><type>pom</type><scope>import</scope></dependency><!-- druid连接池 --><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>${druid.version}</version></dependency><!-- mybatis-plus --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>${mybatis-plus.version}</version></dependency><!-- transmittable-thread-local --><dependency><groupId>com.alibaba</groupId><artifactId>transmittable-thread-local</artifactId><version>${transmittable-thread-local.version}</version></dependency><!-- mapstruct --><dependency><groupId>org.mapstruct</groupId><artifactId>mapstruct</artifactId><version>${mapstruct.version}</version></dependency><dependency><groupId>org.mapstruct</groupId><artifactId>mapstruct-processor</artifactId><version>${mapstruct.version}</version></dependency><!-- minio --><dependency><groupId>io.minio</groupId><artifactId>minio</artifactId><version>${minio.version}</version></dependency><!-- okhttp必须升级到这个版本 --><dependency><groupId>com.squareup.okhttp3</groupId><artifactId>okhttp</artifactId><version>${okhttp.version}</version></dependency><!-- javaparser解析java代码,读取指定方法 --><dependency><groupId>com.github.javaparser</groupId><artifactId>javaparser-core</artifactId><version>${javaparser.version}</version></dependency><!-- SpringBoot2.4.2对应的Servlet的API --><dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>${servlet-api.version}</version></dependency><!-- 可以使用.env文件提前加载配置,确保数据安全 --><dependency><groupId>io.github.cdimascio</groupId><artifactId>java-dotenv</artifactId><version>${java-dotenv.version}</version></dependency></dependencies></dependencyManagement><!--指定通用依赖--><dependencies><!-- lombok --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><!-- mapstruct --><dependency><groupId>org.mapstruct</groupId><artifactId>mapstruct</artifactId></dependency><dependency><groupId>org.mapstruct</groupId><artifactId>mapstruct-processor</artifactId></dependency><!-- commons-lang3 --><dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId></dependency><!-- gson --><dependency><groupId>com.google.code.gson</groupId><artifactId>gson</artifactId></dependency></dependencies><!-- 阿里云仓库,在父模块中配置仓库,可以使得所有子模块自动继承这个配置,这样在多模块项目中,每个模块无需单独配置仓库信息,便于管理和维护。 --><repositories><repository><id>central</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><layout>default</layout><!-- 是否开启发布版构件下载 --><releases><enabled>true</enabled></releases><!-- 是否开启快照版构件下载 --><snapshots><enabled>true</enabled></snapshots></repository></repositories><!-- 发布到Maven中央仓库需要的配置1 --><!-- 开源协议 --><licenses><license><name>MIT License</name><url>http://www.opensource.org/licenses/mit-license.php</url></license></licenses><!-- 开发者配置 --><developers><developer><name>sxs</name><email>xxx.com</email><!-- url是个人主页的地址 --><url>https://sunweb.blog.csdn.net/</url></developer></developers><!-- 源码仓库相关配置 --><scm><!-- 只读连接 --><connection>scm:git:git://gitee.com/qyxinhua_0/sunrays-framework.git</connection><!-- 开发者连接 (SSH) --><developerConnection>scm:git:git@gitee.com:qyxinhua_0/sunrays-framework.git</developerConnection><!-- 仓库浏览 URL --><url>https://gitee.com/qyxinhua_0/sunrays-framework</url></scm><!-- 发布到Maven中央仓库需要的配置1 --><!-- 构建项目通用配置 --><build><!-- maven的编译插件(配置注解处理器) --><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><!-- maven编译插件版本号 --><version>3.8.1</version><configuration><!-- 配置注解处理器(比如Lombok和MapStruct) --><annotationProcessorPaths><!-- Lombok 注解处理器 --><path><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>${lombok.version}</version></path><!-- MapStruct 注解处理器 --><path><groupId>org.mapstruct</groupId><artifactId>mapstruct-processor</artifactId><version>${mapstruct.version}</version></path><!-- 只要配置了annotationProcessorPaths就必须配置,否则自定义starter的yml没有提示!!! --><path><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId><version>${spring-boot.version}</version></path></annotationProcessorPaths></configuration></plugin><!--多模块Maven项目统一修改版本号--><plugin><groupId>org.codehaus.mojo</groupId><artifactId>versions-maven-plugin</artifactId><version>2.8.1</version><configuration><generateBackupPoms>false</generateBackupPoms></configuration></plugin><!-- 发布到Maven中央仓库需要的配置2 --><!-- central发布插件(需要配置!!!) --><plugin><groupId>org.sonatype.central</groupId><artifactId>central-publishing-maven-plugin</artifactId><version>0.5.0</version><extensions>true</extensions><configuration><!-- 这里的id是跟settings.xml中对应的! --><publishingServerId>sonatype</publishingServerId><checksums>required</checksums><!-- 发布信息(最好自定义一下) --><deploymentName>Sunrays-Framework 企业级Java脚手架</deploymentName></configuration></plugin><!-- 下面几个都是通用的 --><!-- maven-source-plugin --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-source-plugin</artifactId><version>2.2.1</version><executions><execution><id>attach-sources</id><goals><goal>jar-no-fork</goal></goals></execution></executions></plugin><!-- maven-javadoc-plugin --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-javadoc-plugin</artifactId><version>3.4.1</version><!-- 支持三个自定义标签 --><configuration><additionalOptions><arg>-tag</arg><arg>Author:a:"Author"</arg><arg>-tag</arg><arg>Create:a:"Create"</arg><arg>-tag</arg><arg>Version:a:"Version"</arg></additionalOptions></configuration><executions><execution><id>attach-javadocs</id><goals><goal>jar</goal></goals></execution></executions></plugin><!-- maven-gpg-plugin --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-gpg-plugin</artifactId><version>3.2.4</version><executions><execution><id>sign-artifacts</id><phase>verify</phase><goals><goal>sign</goal></goals></execution></executions></plugin></plugins><resources><!-- 配置资源文件,这里主要是指 src/main/resources 目录 --><resource><directory>src/main/resources</directory><!-- 配置了这个,则 Maven 的环境变量就可以填充到 application-xxx.yml 中(用 $ 符号取),可用于环境隔离 --><filtering>true</filtering></resource><!-- 可选:如果项目中有需要打包的 XML 文件,可以添加这部分配置 --><resource><directory>src/main/java</directory><includes><include>**/*.xml</include></includes></resource></resources><!-- 统一指定打包插件版本(与SpringBoot一致) --><pluginManagement><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>${spring-boot.version}</version></plugin></plugins></pluginManagement></build><!-- maven的环境变量env-flag的值为具体的值 --><profiles><!-- 开发 --><profile><!-- id(不重复即可) --><id>dev</id><properties><env-flag>dev</env-flag></properties><!-- 默认为dev --><activation><activeByDefault>true</activeByDefault></activation></profile><!-- 测试 --><profile><id>test</id><properties><env-flag>test</env-flag></properties></profile><!-- 生产 --><profile><id>prod</id><properties><env-flag>prod</env-flag></properties></profile></profiles>
</project>
2.sunrays-framework(统一管理子模块)
1.继承sunrays-dependencies
<parent><groupId>cn.sunxiansheng</groupId><artifactId>sunrays-dependencies</artifactId><version>0.0.5</version><!-- 当要继承的模块不是目录中的当前模块的父模块时使用 --><relativePath/>
</parent><artifactId>sunrays-framework</artifactId>
<!-- 这里必须指定自己的版本,否则使用mvn versions 设置版本的时候会有问题 -->
<version>0.0.5</version>
2.发布基本配置
<!-- 项目名 -->
<name>${project.groupId}:${project.artifactId}</name>
<!-- 简单描述 -->
<description>统一管理整个项目的打包操作</description>
<!-- 开源地址 -->
<url>https://gitee.com/qyxinhua_0/sunrays-framework</url>
3.完整的pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<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>cn.sunxiansheng</groupId><artifactId>sunrays-dependencies</artifactId><version>0.0.5</version><!-- 当要继承的模块不是目录中的当前模块的父模块时使用 --><relativePath/></parent><artifactId>sunrays-framework</artifactId><!-- 这里必须指定自己的版本,否则使用mvn versions 设置版本的时候会有问题 --><version>0.0.5</version><!-- 项目名 --><name>${project.groupId}:${project.artifactId}</name><!-- 简单描述 --><description>统一管理整个项目的打包操作</description><!-- 开源地址 --><url>https://gitee.com/qyxinhua_0/sunrays-framework</url><!-- 统一管理子模块 --><packaging>pom</packaging><modules><module>sunrays-common-demo</module><module>sunrays-common</module><module>sunrays-combinations</module><module>sunrays-common-cloud</module><module>sunrays-combinations-demo</module></modules>
</project>
3.其余模块都继承sunrays-framework,如果需要发布,则需要填写发布基本配置
2.切换版本并发布到本地仓库
1.修改sunrays-dependencies的版本为0.0.6
2.修改sunrays-framework继承的版本也为0.0.6
3.将sunrays-dependencies模块发布到本地仓库,直接clean install
4.sunrays-framework 下使用maven 插件统一切换版本为0.0.6
mvn versions:set -DnewVersion=0.0.6 -DprocessAllModules=true
5.按照以下顺序发布到本地仓库
1.sunrays-framework 只发布父模块
mvn clean install -N
2.sunrays-common 直接clean install
3.sunrays-common-cloud 直接clean install
4.sunrays-combinations 直接clean install
5.sunrays-common-demo 直接clean install
6.sunrays-combinations-demo 直接clean install
7.最后sunrays-framework再clean install一下
3.发布到远程仓库
1.sunrays-dependencies 直接发布 mvn clean deploy
2.点击publish(一定要等到变绿再进行下一步!!!)
https://central.sonatype.com/publishing/deployments
3.sunrays-framework 单独发布 mvn clean deploy -N
4.依然点击publish(一定要等到变绿再进行下一步!!!)
https://central.sonatype.com/publishing/deployments
5.发布sunrays-common-cloud模块,直接发布即可
6.发布sunrays-common模块,也是直接发布
7.全部发布后,点击Publish,等待变绿
4.测试使用
1.新建一个Maven项目
2.在pom中直接使用sunrays-dependencies进行依赖管理
<dependencyManagement><dependencies><dependency><groupId>cn.sunxiansheng</groupId><artifactId>sunrays-dependencies</artifactId><version>0.0.6</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement>
3.引入依赖
<?xml version="1.0" encoding="UTF-8"?>
<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><groupId>com.demo</groupId><artifactId>sunrays-framework-demo</artifactId><version>1.0-SNAPSHOT</version><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencyManagement><dependencies><dependency><groupId>cn.sunxiansheng</groupId><artifactId>sunrays-dependencies</artifactId><version>0.0.6</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><dependencies><!-- 日志模块 --><dependency><groupId>cn.sunxiansheng</groupId><artifactId>common-log4j2-starter</artifactId><version>0.0.6</version></dependency><!-- web模块 --><dependency><groupId>cn.sunxiansheng</groupId><artifactId>common-web-starter</artifactId><version>0.0.6</version></dependency></dependencies></project>
4.application.yml 配置日志存储根目录默认./logs
sun-rays:log4j2:home: /Users/sunxiansheng/IdeaProjects/demo/sunrays-framework-demo/logs # 日志存储根目录
5.SunraysApplication.java 启动类
package com.demo.sunrays;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;/*** Description:** @Author sun* @Create 2025/1/12 13:53* @Version 1.0*/
@SpringBootApplication
public class SunraysApplication {public static void main(String[] args) {SpringApplication.run(SunraysApplication.class, args);}
}
6.编写controller
package com.demo.sunrays.controller;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;/*** Description:** @Author sun* @Create 2025/1/12 13:55* @Version 1.0*/
@RestController
public class SunraysController {@RequestMapping("/sunrays")public String sunrays() {return "sunrays";}
}
7.测试,自动打印出参入参
相关文章:

项目架构调整,切换版本并发布到中央仓库
文章目录 0.完成运维篇maven发布到中央仓库的部分1.配置server到settings.xml2.配置gpg 1.架构调整1.sunrays-dependencies(统一管理依赖和配置)1.作为单独的模块2.填写发布到中央仓库的配置1.基础属性2.基本配置3.插件配置 3.完整的pom.xml 2.sunrays-f…...

考试知识点位运算
深入理解位运算 在C编程的世界里,位运算作为一种直接对二进制位进行操作的运算方式,虽然不像加减乘除等算术运算那样广为人知,却在许多关键领域发挥着至关重要的作用。从底层系统开发到高效算法设计,位运算都展现出其独特的魅力与…...

matlab快速入门(2)-- 数据处理与可视化
MATLAB的数据处理 1. 数据导入与导出 (1) 从文件读取数据 Excel 文件:data readtable(data.xlsx); % 读取为表格(Table)CSV 文件:data readtable(data.csv); % 自动处理表头和分隔符文本文件:data load(data.t…...

Kafka中文文档
文章来源:https://kafka.cadn.net.cn 什么是事件流式处理? 事件流是人体中枢神经系统的数字等价物。它是 为“永远在线”的世界奠定技术基础,在这个世界里,企业越来越多地使用软件定义 和 automated,而软件的用户更…...

Python-列表
3.1 列表是什么 在Python中,列表是一种非常重要的数据结构,用于存储一系列有序的元素。列表中的每个元素都有一个索引,索引从0开始。列表可以包含任何类型的元素,包括其他列表。 # 创建一个列表my_list [1, 2, 3, four, 5.0]…...

51单片机开发:定时器中断
目标:利用定时器中断,每隔1s开启/熄灭LED1灯。 外部中断结构图如下图所示,要使用定时器中断T0,须开启TE0、ET0。: 系统中断号如下图所示:定时器0的中断号为1。 定时器0的工作方式1原理图如下图所示&#x…...

【HarmonyOS之旅】基于ArkTS开发(三) -> 兼容JS的类Web开发(二)
目录 1 -> HML语法 1.1 -> 页面结构 1.2 -> 数据绑定 1.3 -> 普通事件绑定 1.4 -> 冒泡事件绑定5 1.5 -> 捕获事件绑定5 1.6 -> 列表渲染 1.7 -> 条件渲染 1.8 -> 逻辑控制块 1.9 -> 模板引用 2 -> CSS语法 2.1 -> 尺寸单位 …...

算法【混合背包】
混合背包是指多种背包模型的组合与转化。 下面通过题目加深理解。 题目一 测试链接:1742 -- Coins 分析:这道题可以通过硬币的个数将其转化为01背包,完全背包和多重背包。如果硬币的个数是1个,则是01背包;如果硬币的…...

WordPress eventon-lite插件存在未授权信息泄露漏洞(CVE-2024-0235)
免责声明: 本文旨在提供有关特定漏洞的深入信息,帮助用户充分了解潜在的安全风险。发布此信息的目的在于提升网络安全意识和推动技术进步,未经授权访问系统、网络或应用程序,可能会导致法律责任或严重后果。因此,作者不对读者基于本文内容所采取的任何行为承担责任。读者在…...

基于微信小程序的医院预约挂号系统设计与实现(LW+源码+讲解)
专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…...

C++初阶 -- 手撕string类(模拟实现string类)
目录 一、string类的成员变量 二、构造函数 2.1 无参版本 2.2 有参版本 2.3 缺省值版本 三、析构函数 四、拷贝构造函数 五、c_str函数 六、operator重载 七、size函数 八、迭代器iterator 8.1 正常版本 8.2 const版本 九、operator[] 9.1 正常版本 9.2 const版…...

【Postman接口测试】Postman的安装和使用
在软件测试领域,接口测试是保障软件质量的关键环节之一,而Postman作为一款功能强大且广受欢迎的接口测试工具,能够帮助测试人员高效地进行接口测试工作。本文将详细介绍Postman的安装和使用方法,让你快速上手这款工具。 一、Pos…...

miniconda学习笔记
文章主要内容:演示miniconda切换不同python环境,安装python库,使用pycharm配置不同的conda建的python环境 目录 一、miniconda 1. 是什么? 2.安装miniconda 3.基本操作 一、miniconda 1. 是什么? miniconda是一个anac…...

区块链项目孵化与包装设计:从概念到市场的全流程指南
区块链技术的快速发展催生了大量创新项目,但如何将一个区块链项目从概念孵化成市场认可的产品,是许多团队面临的挑战。本文将从孵化策略、包装设计和市场落地三个维度,为你解析区块链项目成功的关键步骤。 一、区块链项目孵化的核心要素 明确…...

JavaScript的基本组成
1、JavaScript的组成部分 JavaScript可以分为三个部分:ECMAScript标准、DOM、BOM。 ECMAScript标准 即JS的基本语法,JavaScript的核心,描述了语言的基本语法和数据类型,ECMAScript是一套标 准,定义了一种语言…...

[Linux]从零开始的STM32MP157 U-Boot移植
一、前言 在上一次教程中,我们了解了STM32MP157的启动流程与安全启动机制。我们还将FSBL的相关代码移植成功了。大家还记得FSBL的下一个步骤是什么吗?没错,就是SSBL,而且常见的我们将SSBL作为存放U-Boot的地方。所以本次教程&…...

【Unity3D】实现横版2D游戏——攀爬绳索(简易版)
目录 GeneRope.cs 场景绳索生成类 HeroColliderController.cs 控制角色与单向平台是否忽略碰撞 HeroClampController.cs 控制角色攀爬 OnTriggerEnter2D方法 OnTriggerStay2D方法 OnTriggerExit2D方法 Update方法 开始攀爬 结束攀爬 Sensor_HeroKnight.cs 角色触发器…...

【llm对话系统】大模型 Llama 源码分析之 LoRA 微调
1. 引言 微调 (Fine-tuning) 是将预训练大模型 (LLM) 应用于下游任务的常用方法。然而,直接微调大模型的所有参数通常需要大量的计算资源和内存。LoRA (Low-Rank Adaptation) 是一种高效的微调方法,它通过引入少量可训练参数,固定预训练模型…...

算法随笔_35: 每日温度
上一篇:算法随笔_34: 最后一个单词的长度-CSDN博客 题目描述如下: 给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升…...

嵌入式硬件篇---CPUGPUTPU
文章目录 第一部分:处理器CPU(中央处理器)1.通用性2.核心数3.缓存4.指令集5.功耗和发热 GPU(图形处理器)1.并行处理2.核心数量3.内存带宽4.专门的应用 TPU(张量处理单元)1.为深度学习定制2.低精…...

STM32 PWM驱动舵机
接线图: 这里将信号线连接到了开发板的PA1上 代码配置: 这里的PWM配置与呼吸灯一样,呼吸灯连接的是PA0引脚,输出比较单元用的是OC1通道,这里只需改为OC2通道即可。 完整代码: #include "servo.h&quo…...

设计心得——平衡和冗余
一、平衡 在前面分析了一些软件设计的基础和原则后,今天分析一下整体设计上的一些实践问题。首先分析一下设计上的平衡问题。平衡非常好理解,看到过天平或者标称的同学们应该都知道什么平衡。无论在哪个环境里,平衡都是稳定的基础。 既然说到…...

webrtc协议详细解释
### 一、概述与背景 WebRTC(Web Real-Time Communication)最早由 Google 在 2011 年开源,旨在为浏览器与移动端应用提供客户端直连(点对点)方式进行实时音视频及数据传输的能力。传统的网络应用在进行高实时性音视频通…...
动手学强化学习(四)——蒙特卡洛方法
一、蒙特卡洛方法 蒙特卡洛方法是一种无模型(Model-Free)的强化学习算法,它通过直接与环境交互采样轨迹(episodes)来估计状态或动作的价值函数(Value Function),而不需要依赖环境动态…...

网络原理(3)—— 传输层详解
目录 一. 再谈端口号 二. UDP协议(用户数据报协议) 2.1 UDP协议端格式 2.2 UDP报文长度 2.3 UDP校验和 三. TCP协议(传输控制协议) 3.1 TCP协议段格式 3.2 核心机制 3.2.1 确认应答 —— “感知对方是否收到” 3.2.2 超时重传 3.3.3 连接管理 —— 三次握手与四…...

2025美赛美国大学生数学建模竞赛A题完整思路分析论文(43页)(含模型、可运行代码和运行结果)
2025美国大学生数学建模竞赛A题完整思路分析论文 目录 摘要 一、问题重述 二、 问题分析 三、模型假设 四、 模型建立与求解 4.1问题1 4.1.1问题1思路分析 4.1.2问题1模型建立 4.1.3问题1样例代码(仅供参考) 4.1.4问题1样例代码运行结果&…...

Elasticsearch的开发工具(Dev Tools)
目录 说明1. **Console**2. **Search Profiler**3. **Grok Debugger**4. **Painless Lab**总结 说明 Elasticsearch的开发工具(Dev Tools)在Kibana中提供了多种功能强大的工具,用于调试、优化和测试Elasticsearch查询和脚本。以下是关于Cons…...

Python-基于PyQt5,pdf2docx,pathlib的PDF转Word工具
前言:日常生活中,我们常常会跟WPS Office打交道。作表格,写报告,写PPT......可以说,我们的生活已经离不开WPS Office了。与此同时,我们在这个过程中也会遇到各种各样的技术阻碍,例如部分软件的PDF转Word需要收取额外费用等。那么,可不可以自己开发一个小工具来实现PDF转…...

小程序-视图与逻辑
前言 1. 声明式导航 open-type"switchTab"如果没有写这个,因为是tabBar所以写这个,就无法跳转。路径开始也必须为斜线 open-type"navigate"这个可以不写 现在开始实现后退的效果 现在我们就在list页面里面实现后退 2.编程式导航…...

UE5制作视差图
双目深度估计开源数据集很多都是用UE制作的,那么我们自己能否通过UE制作自己想要的场景的数据集呢。最近花了点时间研究了一下,分享给需要的小伙伴。 主要使用的是UnrealCV插件,UnrealCV是一个开源项目,旨在帮助计算机视觉研究人…...