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

项目架构调整,切换版本并发布到中央仓库

文章目录

    • 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,如果需要发布,则需要填写发布基本配置

CleanShot 2025-01-12 at 12.33.08@2x

CleanShot 2025-01-12 at 12.35.24@2x

2.切换版本并发布到本地仓库

1.修改sunrays-dependencies的版本为0.0.6

CleanShot 2025-01-12 at 12.36.42@2x

2.修改sunrays-framework继承的版本也为0.0.6

CleanShot 2025-01-12 at 12.38.44@2x

3.将sunrays-dependencies模块发布到本地仓库,直接clean install

CleanShot 2025-01-12 at 12.41.56@2x

CleanShot 2025-01-12 at 12.42.01@2x

4.sunrays-framework 下使用maven 插件统一切换版本为0.0.6
mvn versions:set -DnewVersion=0.0.6 -DprocessAllModules=true 

CleanShot 2025-01-12 at 12.42.23@2x

5.按照以下顺序发布到本地仓库
1.sunrays-framework 只发布父模块
mvn clean install -N

CleanShot 2025-01-12 at 12.44.24@2x

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

CleanShot 2025-01-12 at 12.55.47@2x

2.点击publish(一定要等到变绿再进行下一步!!!)

https://central.sonatype.com/publishing/deployments

CleanShot 2025-01-12 at 12.56.40@2x

CleanShot 2025-01-12 at 13.07.39@2x

3.sunrays-framework 单独发布 mvn clean deploy -N

CleanShot 2025-01-12 at 13.08.31@2x

4.依然点击publish(一定要等到变绿再进行下一步!!!)

https://central.sonatype.com/publishing/deployments

CleanShot 2025-01-12 at 13.39.32@2x

5.发布sunrays-common-cloud模块,直接发布即可
6.发布sunrays-common模块,也是直接发布
7.全部发布后,点击Publish,等待变绿

4.测试使用

1.新建一个Maven项目

CleanShot 2025-01-12 at 13.47.25@2x

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.测试,自动打印出参入参

CleanShot 2025-01-12 at 13.56.17@2x

CleanShot 2025-01-12 at 13.56.37@2x

相关文章:

项目架构调整,切换版本并发布到中央仓库

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

考试知识点位运算

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

matlab快速入门(2)-- 数据处理与可视化

MATLAB的数据处理 1. 数据导入与导出 (1) 从文件读取数据 Excel 文件&#xff1a;data readtable(data.xlsx); % 读取为表格&#xff08;Table&#xff09;CSV 文件&#xff1a;data readtable(data.csv); % 自动处理表头和分隔符文本文件&#xff1a;data load(data.t…...

Kafka中文文档

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

Python-列表

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

51单片机开发:定时器中断

目标&#xff1a;利用定时器中断&#xff0c;每隔1s开启/熄灭LED1灯。 外部中断结构图如下图所示&#xff0c;要使用定时器中断T0&#xff0c;须开启TE0、ET0。&#xff1a; 系统中断号如下图所示&#xff1a;定时器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 -> 尺寸单位 …...

算法【混合背包】

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

WordPress eventon-lite插件存在未授权信息泄露漏洞(CVE-2024-0235)

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

基于微信小程序的医院预约挂号系统设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…...

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的安装和使用

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

miniconda学习笔记

文章主要内容&#xff1a;演示miniconda切换不同python环境&#xff0c;安装python库&#xff0c;使用pycharm配置不同的conda建的python环境 目录 一、miniconda 1. 是什么&#xff1f; 2.安装miniconda 3.基本操作 一、miniconda 1. 是什么&#xff1f; miniconda是一个anac…...

区块链项目孵化与包装设计:从概念到市场的全流程指南

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

JavaScript的基本组成

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

[Linux]从零开始的STM32MP157 U-Boot移植

一、前言 在上一次教程中&#xff0c;我们了解了STM32MP157的启动流程与安全启动机制。我们还将FSBL的相关代码移植成功了。大家还记得FSBL的下一个步骤是什么吗&#xff1f;没错&#xff0c;就是SSBL&#xff0c;而且常见的我们将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) 应用于下游任务的常用方法。然而&#xff0c;直接微调大模型的所有参数通常需要大量的计算资源和内存。LoRA (Low-Rank Adaptation) 是一种高效的微调方法&#xff0c;它通过引入少量可训练参数&#xff0c;固定预训练模型…...

算法随笔_35: 每日温度

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

嵌入式硬件篇---CPUGPUTPU

文章目录 第一部分&#xff1a;处理器CPU&#xff08;中央处理器&#xff09;1.通用性2.核心数3.缓存4.指令集5.功耗和发热 GPU&#xff08;图形处理器&#xff09;1.并行处理2.核心数量3.内存带宽4.专门的应用 TPU&#xff08;张量处理单元&#xff09;1.为深度学习定制2.低精…...

云计算——弹性云计算器(ECS)

弹性云服务器&#xff1a;ECS 概述 云计算重构了ICT系统&#xff0c;云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台&#xff0c;包含如下主要概念。 ECS&#xff08;Elastic Cloud Server&#xff09;&#xff1a;即弹性云服务器&#xff0c;是云计算…...

dedecms 织梦自定义表单留言增加ajax验证码功能

增加ajax功能模块&#xff0c;用户不点击提交按钮&#xff0c;只要输入框失去焦点&#xff0c;就会提前提示验证码是否正确。 一&#xff0c;模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...

Qt Http Server模块功能及架构

Qt Http Server 是 Qt 6.0 中引入的一个新模块&#xff0c;它提供了一个轻量级的 HTTP 服务器实现&#xff0c;主要用于构建基于 HTTP 的应用程序和服务。 功能介绍&#xff1a; 主要功能 HTTP服务器功能&#xff1a; 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...

鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/

使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题&#xff1a;docker pull 失败 网络不同&#xff0c;需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...

QT: `long long` 类型转换为 `QString` 2025.6.5

在 Qt 中&#xff0c;将 long long 类型转换为 QString 可以通过以下两种常用方法实现&#xff1a; 方法 1&#xff1a;使用 QString::number() 直接调用 QString 的静态方法 number()&#xff0c;将数值转换为字符串&#xff1a; long long value 1234567890123456789LL; …...

算法笔记2

1.字符串拼接最好用StringBuilder&#xff0c;不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...

【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论

路径问题的革命性重构&#xff1a;基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中&#xff08;图1&#xff09;&#xff1a; mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...

day36-多路IO复用

一、基本概念 &#xff08;服务器多客户端模型&#xff09; 定义&#xff1a;单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力 作用&#xff1a;应用程序通常需要处理来自多条事件流中的事件&#xff0c;比如我现在用的电脑&#xff0c;需要同时处理键盘鼠标…...

Golang——7、包与接口详解

包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...

深入理解Optional:处理空指针异常

1. 使用Optional处理可能为空的集合 在Java开发中&#xff0c;集合判空是一个常见但容易出错的场景。传统方式虽然可行&#xff0c;但存在一些潜在问题&#xff1a; // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...