[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 下载

新项目配置依赖

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/52869.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微软 Visual Studio 现已内置 Markdown 编辑器,可直接修改预览 .md 文件

Visual Studio Code V1.66.0 中文版 大小&#xff1a;75.30 MB类别&#xff1a;文字处理 本地下载 Markdown 是一种轻量级标记语言&#xff0c;当开发者想要格式化代码但又不想牺牲易读性时&#xff0c;Markdown 是一个很好的解决方案&#xff0c;比如 GitHub 就使用 Markdo…

Cauchy’s integral formula

见&#xff1a;https://math.mit.edu/~jorloff/18.04/notes/topic4.pdf

uniapp使用sqlite 数据库

uniapp使用sqlite 数据库 傻瓜式使用方式&#xff0c;按步骤&#xff0c;即可使用。 1.开启sqlite 在项目中manifest.json该文件中配置 2.封装数据库的调用方法 const sqlName "zmyalh" //定义的数据库名称 const sqlPath "_doc/zmyalh.db" //定义数…

macOS M1使用TensorFlow GPU加速

本人是在pycharm运行代码&#xff0c;安装了tensorflow版本2.13.0 先运行代码查看有没有使用GPU加速&#xff1a; import tensorflow as tf# Press the green button in the gutter to run the script. if __name__ __main__:physical_devices tf.config.list_physical_dev…

Sentinel dashboard无法查询到应用的限流配置问题以及解决

一。问题引入 使用sentinle-dashboard控制台 项目整体升级后&#xff0c;发现控制台上无法看到流控规则了 之前的问题是无法注册上来 现在是注册上来了。结果看不到流控规则配置了。 关于注册不上来的问题&#xff0c;可以看另一篇文章 https://blog.csdn.net/a15835774652/…

linux 性能分析之内存分析(free,vmstat,top,ps,pmap等工具使用介绍)

引言 学生时代经常听到老师和同学说到学习 linux 的重要性。但是当时看到这个命令行界面就头疼&#xff0c;也就草草地应付学了一下&#xff0c;哎嘛&#xff0c;还是游戏香&#xff01; 但是当前两天自己捣鼓服务器的时候&#xff0c;发现自己部署的一个服务总是崩溃&#x…

python将png格式的图片转换为jpg格式的图片

png图片是4通道 RGBA图像&#xff0c;具有4个通道&#xff08;红色、绿色、蓝色和透明度&#xff09;&#xff0c;用于表示彩色图像以及透明度信息。 只是简单的修改后缀&#xff0c;并不能将png格式图片改为jpg格式。 将png格式的图片转换为jpg格式的图片 确保安装了pillow库…

Visual Studio 2022的MFC框架——theApp全局对象

我是荔园微风&#xff0c;作为一名在IT界整整25年的老兵&#xff0c;今天我们来重新审视一下Visual Studio 2022下开发工具的MFC框架知识。 MFC中的WinMain函数是如何与MFC程序中的各个类组织在一起的呢&#xff1f;MFC程序中的类是如何与WinMain函数关联起来的呢&#xff1f…

UWB高精度人员定位系统源码,微服务+java+ spring boot+ vue+ mysql技术开发

工业物联网感知预警体系&#xff0c;大中小企业工业数字化转型需求的工业互联网平台 工厂人员定位系统是指能够对工厂中的人员、车辆、设备等进行定位&#xff0c;实现对人员和车辆的实时监控与调度的系统&#xff0c;是智慧工厂建设中必不可少的一环。由于工厂的工作环境比较…

Linux(基础篇一)

Linux基础篇 Linux基础篇一1. Linux文件系统与目录结构1.1 Linux文件系统1.2 Linux目录结构 2. VI/VIM编辑器2.1 vi/vim是什么2.2 模式间的转换2.3 一般模式2.4 插入模式2.4.1 进入编辑模式2.4.2 退出编辑模式 2.5 命令模式 3. 网络配置3.1 网络连接模式3.2 修改静态ip3.3 配置…

优维产品最佳实践第5期:什么是持续集成?

谈到到DevOps&#xff0c;持续交付流水线是绕不开的一个话题&#xff0c;相对于其他实践&#xff0c;通过流水线来实现快速高质量的交付价值是相对能快速见效的&#xff0c;特别对于开发测试人员&#xff0c;能够获得实实在在的收益。 本期EasyOps产品使用最佳实践&#xff0c…

先进API生产力工具eqable HTTP,一站式开发调试工具推荐

简介 Reqable是什么? Regable Fiddler/Charles Postman Reqable是HTTP一站式开发调试国产化解决方案&#xff0c;拥有更便捷的体验&#xff0c;更先进的协议&#xff0c;更高效的性能和更精致的界面。 Reqable是一款跨平台的专业HTTP开发和调试工具&#xff0c;在全平台支持…

【业务功能篇83】微服务SpringCloud-ElasticSearch-Kibanan-docke安装-应用层实战

五、ElasticSearch应用 1.ES 的Java API两种方式 Elasticsearch 的API 分为 REST Client API&#xff08;http请求形式&#xff09;以及 transportClient API两种。相比来说transportClient API效率更高&#xff0c;transportClient 是通过Elasticsearch内部RPC的形式进行请求…

基于OpenCV实战(基础知识二)

目录 简介 1.ROI区域 2.边界填充 3.数值计算 4.图像融合 简介 OpenCV是一个流行的开源计算机视觉库&#xff0c;由英特尔公司发起发展。它提供了超过2500个优化算法和许多工具包&#xff0c;可用于灰度、彩色、深度、基于特征和运动跟踪等的图像处理和计算机视觉应用。Ope…

水果flstudio好用吗?中文版FL21最新版本如何下载

FL Studio21版是一款功能强大的音乐制作软件&#xff0c;广泛应用于电子音乐、流行音乐、电影配乐等领域。它提供了丰富多样的音频合成和编辑工具&#xff0c;使音乐制作变得更加灵活多样。无论是初学者还是专业音乐制作人&#xff0c;都可以通过直观的界面和丰富的音频特效来实…

论文阅读:DIN-SQL: Decomposed In-Context Learning of Text-to-SQL withSelf-Correction

NL2SQL是将自然语言转化为SQL的任务&#xff0c;该任务隶属于NLP的子任务&#xff0c;NL2SQL在AIGC时代之前&#xff0c;以seq2seq、BERT等系列的模型在NL2SQL的主流数据集上取得了不错的效果&#xff0c;2022年底&#xff0c;ChatGPT爆火&#xff0c;凭借LLM强大的逻辑推理、上…

NLP的tokenization

GPT3.5的tokenization流程如上图所示&#xff0c;以下是chatGPT对BPE算法的解释&#xff1a; BPE&#xff08;Byte Pair Encoding&#xff09;编码算法是一种基于统计的无监督分词方法&#xff0c;用于将文本分解为子词单元。它的原理如下&#xff1a; 1. 初始化&#xff1a;将…

bh002- Blazor hybrid / Maui 保存设置快速教程

1. 建立工程 bh002_ORM 源码 2. 添加 nuget 包 <PackageReference Include"BootstrapBlazor.WebAPI" Version"7.*" /> <PackageReference Include"FreeSql" Version"*" /> <PackageReference Include"FreeSql.…

设计模式(8)外观模式

一、 1、使用背景&#xff1a;降低访问复杂系统的内部子系统时的复杂度&#xff0c;简化客户端之间的接口。 2、定义&#xff1a; 为子系统中的一组接口定义一个一致的界面&#xff0c;此模式定义了一个高层接口&#xff0c;这个接口使得这一子系统更加容易使用。完美地体现…

Linux 内核与架构速查

Linux 内核与架构速查 博主博客 https://blog.uso6.comhttps://blog.csdn.net/dxk539687357 本文主要记录查询 Linux 计算机的内核与架构&#xff0c; 用于下载对应架构的第三方软件。 一、介绍 如上图所示&#xff0c; 有时候我们下载一些第三方软件&#xff0c; 软件会有很…