项目架构调整,切换版本并发布到中央仓库
文章目录
- 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.低精…...
微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】
微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...
【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...
蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...
Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...
在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?
uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...
智能AI电话机器人系统的识别能力现状与发展水平
一、引言 随着人工智能技术的飞速发展,AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术,在客户服务、营销推广、信息查询等领域发挥着越来越重要…...
Go 语言并发编程基础:无缓冲与有缓冲通道
在上一章节中,我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道,它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好࿰…...
Java编程之桥接模式
定义 桥接模式(Bridge Pattern)属于结构型设计模式,它的核心意图是将抽象部分与实现部分分离,使它们可以独立地变化。这种模式通过组合关系来替代继承关系,从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...
【 java 虚拟机知识 第一篇 】
目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...
