JavaEE 的入门

news2024/9/20 18:35:09

1. 学习JavaEE

        Java EE(Java Platform Enterprise Edition), Java 平台企业版. 是JavaSE的扩展, ⽤于解决企业级的开 发需求, 所以也可以称之为是⼀组⽤于企业开发的Java技术标准. 所以, 学习JavaEE主要是学习Java在 企业中如何应⽤.

        前⾯学习的是Java基础, JavaEE 主要学习Java的应⽤, 也就是学习Java在企业中是如何应⽤ 的 Java更多场景是业务开发, 更狭义点可以理解为web开发. 所以我们的学习也是围绕着如何使⽤Java来 做web开发

1.1 什么是Web开发

        web(World Wide Web)即全球⼴域⽹,也称为万维⽹. 简单来说, 就是可以通过浏览器来和我们的程序进⾏交互.⽐如京东, bilibili等⽹站项⽬.

1.2 Web⽹站的⼯作流程 

        ⽬前用户对PC端应⽤的开发结构模式主要分为C/S和B/S结构.

         CS即Client/Server(客户机/服务器)结构. 常⻅的C/S架构的应⽤⽐如QQ,CCTALK,各种⽹络游戏 等等,⼀般需要安装并且与服务器进⾏⽹络通信的都属于此类。

        BS即Browser/Server(浏览器/服务器)结构.B/S架构全称是浏览器 / 服务器(Browser/Server)结构, 分为Web浏览器、服务器程序、数据库服务三部分,可以理解为是对C/S架构⼀种改进, 由于所有的业 务逻辑都由服务器程序处理, 所以客⼾端仅使⽤浏览器就可以完成所有操作,⼤⼤降低了客⼾端的维护 成本

        下图是两个结构的比较:

        我们以后学习的JavaEE项⽬都是基于 B/S架构的. 下图将简单说明一下b/s结构下,数据在浏览器显示,服务器程序,数据库三方之间的调动情况;

1. 通过浏览器访问前端程序. 前端程序返回前端代码.

2. 前端程序调⽤后端程序, 进⾏数据的获取(也可能由浏览器进⾏访问)

3. 后端返回数据后, 前端根据后端返回的数据进⾏⻚⾯渲染, 显示页面;

1.3 了解框架

        在JavaEE课程中, 我们主要是对各种框架的学习, 以及如何把这些框架应⽤在企业中, 来实现⼀些web开 发.

        随着技术的发展, 无论是后端开发还是前端开发, 开发的时候都很少使⽤原⽣的代码,⽐如:JDBC、JS 等. 取⽽代之的是各种开发框架. 如:后端框架:Spring, SpringBoot, Mybatis等,前端常⽤的框架: Vue、Node等.;

        所谓框架,在计算机领 域, 可以看做是为应⽤开发者定制的应⽤骨架.通俗的来讲: 框架是实现某种功能的半成品, 他提供了⼀些常⽤的⼯具类, 我们在框架的基础上, 可以更 加⾼效的进⾏开发. 也就是⼀些程序员把之前你需要写的, ⼀些复杂的功能写好了, 并且封装了起来, 放在那⾥, 你只需要调 ⽤他提供的接⼝就可以实现⼀些之前你需要花费很⼤精力才能实现的功能

        Java EE 共涉及4个框架的学习: Spring, Spring Boot, Spring MVC,Mybatis 其中Spring, SpringBoot, Spring MVC 可以看做是⼀家⼈, 属于Spring 家族的产品. Mybatis 是⼀个持久层框架, 主要是⽤来帮助我们更好的操作数据库.

2. Maven项目的管理和创建

        学习这一部分前要先检查IDEA版本,社区办要求 2021.1~2022.1.4,专业版则无要求。

        上图显示idea为专业版;

        所谓maven,是⼀个项⽬管理⼯具。基于POM(Project Object Model,项⽬对象模型)的概念,Maven可以通 过⼀⼩段描述信息来管理项⽬的构建,报告和⽂档的项⽬管理⼯具软件

        即: Maven是⼀个项⽬管理⼯具, 通过pom.xml⽂件的配置获取jar包,⽽不⽤⼿动去添加jar包

        q:为什么要学Maven?

        a:简单、方便,能提高我们的开发效率,减少我们的开发BUG。

        Maven提供的功能非常多,下面的体现主要是以下两个方面:1、项目构建     2、管理依赖

2.1 创建一个maven项目

        IDEA本⾝已经集成了Maven, 我们可以直接使⽤, ⽆需安装

        以下截图的idea版本为: 2022.2.4, 不同版本的idea界⾯展⽰会有所不同

        步骤如下:File -> New -> Project

        点击create,就创建好了一个Maven项目,还会自动生成一个pom.xml文件,如图:

2.2 Maven 核心功能 

2.2.1 项⽬构建

        Maven 提供了标准的,跨平台(Linux, Windows, MacOS等)的⾃动化项⽬构建⽅式

        当我们开发了⼀个项⽬之后, 代码需要经过编译, 测试, 打包, 发布等流程, 每次代码的修改, 都需要经过 这些流程, 如果代码反复调试修改, 这个流程就需要反复进⾏, 就显得特别麻烦,, ⽽Maven 给我们提供了 ⼀套简单的命令来完成项⽬的构建.

        右侧maven命令:
       

        点击package,进行打包,就可以完成项⽬的打包操作,打包成功如图所示:

        

        打包就是把所有的class⽂件, 全部放在⼀起, 打成jar包或者war包

q&a:

        q:jar包和war的使用区别?

        a:jar包和war包都是⼀种压缩⽂件

        1、jar包就是把开发⼈员已经写好的⼀些代码进⾏打包. 打好的jar包就可以引⼊到其他项⽬中, 也可以直 接使⽤这些jar包中的类和属性. 另外也可以打成可执⾏jar包, 这样的包就可以通过java -jar命令来执 ⾏

        2、war包可以理解为是⼀个web项⽬,⾥⾯是项⽬的所有东西, 通常⽤于⽹站

2.2.2 依赖管理

        Maven是⼀个项⽬管理⼯具, 通过pom.xml⽂件的配置获取jar包,⽽不⽤⼿动去添加jar包 获取的jar包, 其实就是依赖. pom.xml 就是maven 的配置⽂件,⽤以描述项⽬的各种信息

2.2.2.1 依赖说明

        依赖: 指当前项⽬运⾏所需要的jar包,我们之前学习JDBC时, 我们需要⼿动下载mysql-connector-java的包.并且添加到项⽬中.

        我们当前创建并使⽤Maven, 我们只需要在pom.xml中引⼊mysql-connector-java的依赖就可以了

2.2.2.2 添加依赖

        1、在pom.xml文件李里面找到下图部分:

<properties>
       <!--⾥⾯放置项⽬的依赖坐标, 可为多个 -->
</properties>

         <dependencies>标签是.xml文件的,格式有点像html的标签;依赖可以理解为就是经纬度,给你经纬度,你就可以在找到相应的目标位置。 

        2、 在pom.xml文件内写入下面代码

        3、点击刷新按钮, 引⼊新加⼊的依赖jar包(后续有添加新的 jar包,或者修改 jar包 版本,都需要通过上述方式在项目中添加依赖)

刷新按钮的点击,有下面两种方式:

        1、每次修改完依赖之后就会出现在页面的右上角,如下所示:

        2、在maven指令界面:

         添加成功如下所示:

2.2.2.3 查看所添加的依赖

        刷新完成后,在左边这里的目录下就有对应的jar包了

        

2.2.3 依赖传递

        早期没有使用Maven时,向项目中添加依赖的 jar包,需要把所有的 jar包 都复制到项目工程下。比如 A 依赖 B,B 依赖 C,那么A项目引入B的同时,也需要引入C,如果我们手动管理这个依赖,这个过程就会比较麻烦,我们需要知道每个库都依赖哪些库,以及这些依赖之间的版本是如何关联的;

        但使⽤maven的话, 就可以避免管理所需依赖的关系。我们只需要在pom⽂件中, 定义直接依赖就可以 了, 由于maven的依赖具有传递性,所以会⾃动把所依赖的其他jar包也⼀起导⼊,如下图分析:

        

如上图, 项⽬A 通过Maven 引⼊ Jar A 时, 会⾃动引⼊ Jar B 和Jar C.

        Jar A 和项⽬B就是项⽬A的直接依赖.

        Jar B, Jar C是间接依赖. 

        直接依赖:在当前项目中 通过依赖配置建立的依赖关系。

        间接依赖:被依赖的资源 如果依赖其他资源,当前项目间接依赖其他资源

2.2.4 依赖排除 

        排除依赖:指主动断开依赖的资源。(被排除的资源无需指定版本)

        当前阶段我们需要依赖的库并不多,但随着项目的越来越来复杂,库之间的依赖关系也会变得越来越复杂。像上面图中,如果项目A不需要 Jar B,也可以通过排除依赖的方式来实现。

        pom.xml文件配置如下:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>6.0.6</version>
 
    <!--排除依赖-->
    <exclusions>
        <exclusion>
            <artifactId>spring-jcl</artifactId>
            <groupId>org.springframework</groupId>
        </exclusion>
    </exclusions>
</dependency>

         Maven还有一些功能,是依赖调解,可选依赖等。 

        当项目中的依赖存在依赖冲突,例如存在这样的依赖:

        A->B->C->X(1.0)

        A->D->X(2.0)

        Maven会采用最短路径优先的原则去选择依赖,这里2的依赖路径更短,所以会选择X(2.0),当然也可以指定某个依赖的般般,指定X(1.0)。

 2.3 Maven Help插件

        当项⽬⽐较复杂时, 我们就会有Jar包冲突的问题, 这时候就需要去解决依赖冲突. 解决冲突之前, 需要先 找到冲突, 我们可以使⽤Maven Help插件来观察包和包之间的依赖关系.

        像 IDEA 这样的程序虽然功能强⼤, 但是也⽆法⾯⾯俱到. 对于⼀些特殊场景的功能, 开发者就可以开 发⼀些 "插件". 如果需要这个插件, 就单独安装. 插件就是对程序的⼀些特定场景, 做出⼀些特定的功能的扩展

        安装插件过程:File -> Setting -> Plugins -> 搜索 “Maven Help” -> 找到对应插件,点击 Install 安装即可,按照后要重启 IDEA,才能生效。如下图:

        点击 Restart IDE,重启IDEA。

        安装完后,打开 pom.xml 文件,就可以看到 Jar包 之间的依赖关系,如图:

 

         也可以右键排除掉一些依赖,如图: 

3. Maven 仓库

3.1 仓库的介绍

        下面几行代码, 就把依赖jar包放在了项⽬⾥, 具体是如何做的呢?

    <dependencies>
        <!-- https://mvnrepository.com/artifact/com.mysql/mysql-connector-j -->
        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <version>8.0.33</version>
        </dependency>
    </dependencies>

        这个代码, 我们称之为 "坐标", 也就是唯⼀的.

        在Maven中, 根据 groupId、artifactId、version 的配置, 来唯⼀识别⼀个 jar 包, 缺⼀不可. 当我们在pom⽂件中配置完依赖之后, 点击刷新, Maven会根据坐标的配置, 去仓库⾥寻找Jar包, 并把他 下载下来, 添加到项⽬中. 这个Jar包下载的地⽅就称为仓库

        仓库:⽤于存储资源,管理各种jar包

        Maven仓库 的本质就是一个目录(文件夹),这个目录被用来存储开发中所有依赖(jar包、插件等)。

 

Maven仓库分为两⼤类: 本地仓库和远程仓库. 其中远程仓库⼜分为中央仓库, 私服 和其他公共库

3.1.1 本地仓库

        本地仓库自己计算机上的一个目录(用来存储 jar包)

        当项目中引入对应依赖 jar包 后,首先会查找本地仓库中是否有对应的 jar包。

         1、如果有,则在项目中直接引用。

        2、如果没有,则去中央仓库中下载对应的 jar包 到本地仓库。

项目中引入的依赖寻找本地仓库中的jar包的路线,如下图所示:

        本地仓库地址可以通过 Maven 配置查看:File -> Settings,如图:

User settings file:Maven的配置文件。

Local repository:Maven的本地仓库地址。

        查看该仓库⽬录, 可以看到该⽬录下有很多的jar(最开始是空的, 随着Maven的使⽤, 该仓库下⽂件会越 来越多) 

3.1.2 中央仓库

        中央仓库:Maven 软件中内置一个远程仓库地址,也就是中央仓库的地址,服务于整个互联网。由 Maven 团队维护,这是全球唯一的。我们也可以把自己写好的 Jar包 上传到中央仓库(需具备一定的要求),也可以从中央仓库下载 Jar包。

仓库地址:Central Repository:

查询Jar包在仓库的坐标(位置):https://mvnrepository.com/

        如何查找 Jar 的坐标?

        1、访问  https://mvnrepository.com/  。

        2、进行查找,比如要找的是 MySQL。

        3、选择要添加的 jar包 版本

         4、查看 jar包 对应的坐标

        

         框出来的文本就是jar包对应的坐标,复制框出来的文本,粘贴进 IDEA 的 pom.xml 文件中。

 3.1.2 私有服务器

        私有服务器,简称为:私服,一般由公司团队搭建的私有仓库。私服属于某个公司,或者某个部门,往往需要一定权限;

        当有了私服之后,Maven依赖下载顺序就会发生变化,如图:

 当 pom.xml 写入一个依赖时,是先到本地仓库查找

1、如果本地仓库有,就直接从本地仓库拿。

2、如果本地仓库没有,就到私服中查找,私服中有,就从私服上下载这个依赖到本地仓库中。

3、如果私服没有,就会在中央仓库上查找,中央仓库有,私服就会从中央仓库中下载下来,然后再传给本地仓库。

4、如果中央仓库没有,也会从中央仓库下载,但中央仓库没有这个资源,就会报异常。

        私服是很多⼈在使⽤的, 所以只需要第⼀个使⽤者下载⼀次就可以了 

3.2  Maven 设置国内源

        因为中央仓库在国外, 所以下载起来会⽐较慢, 所以咱们选择借助国内⼀些公开的远程仓库来下载资源 ,接下来介绍, 如何设置国内源

3.2.1 配置当前项⽬setting

        步骤如上;File -> Settings

        1、查看配置⽂件的地址, 如上图所⽰, Maven配置⽂件地址为: E:\Maven\.m2\settings.xml, 不同电脑设置的Maven路径不同 ,settings和repository 可以修改设置为其他路径, 两个路径不要有中⽂

        2. 配置国内源

        Maven 仓库默认在国外https://mvnrepository.com/, 国内使⽤时会⽐较慢,我们可以更换为阿⾥云的仓库 ;

        也可以选择别的仓库, 参考: Maven 镜像地址⼤全https://zhuanlan.zhihu.com/p/627320558

        打开settings.xml, 在 mirrors 节点上,添加内容如下下面内容是我的setting.xml文件中的配置:

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
    <mirrors>
        <!-- mirror
         | Specifies a repository mirror site to use instead of a given repository. The repository that
         | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
         | for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
         |
        <mirror>
          <id>mirrorId</id>
          <mirrorOf>repositoryId</mirrorOf>
          <name>Human Readable Name for this Mirror.</name>
          <url>http://my.repository.com/repo/path</url>
        </mirror>
         -->

        <mirror>
            <id>alimaven</id>
            <name>aliyun maven</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
            <mirrorOf>central</mirrorOf>
        </mirror>

        <mirror>
            <id>uk</id>
            <mirrorOf>central</mirrorOf>
            <name>Human Readable Name for this Mirror.</name>
            <url>http://uk.maven.org/maven2/</url>
        </mirror>

        <mirror>
            <id>CN</id>
            <name>OSChina Central</name>
            <url>http://maven.oschina.net/content/groups/public/</url>
            <mirrorOf>central</mirrorOf>
        </mirror>

        <mirror>
            <id>nexus</id>
            <name>internal nexus repository</name>
            <!-- <url>http://192.168.1.100:8081/nexus/content/groups/public/</url>-->
            <url>http://repo.maven.apache.org/maven2</url>
            <mirrorOf>central</mirrorOf>
        </mirror>

    </mirrors>
</settings>

3.2.2 设置新项目的setting: 

        上述配置的内容, 只对当前项⽬⽣效, 为了让后续新建的项⽬也⽣效, 需要重新设置⼀下新项⽬的 Settings

        当前项⽬和新项⽬共⽤⼀个setttings⽂件即可, 所以新项⽬的设置, 只需要确认⼀下settings⽂件的路 径即可.

ps:本次的内容就到这里了,如果对你有所帮助的话,就请一键三连哦!!!

电子签名:上嘉路

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

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

相关文章

修改docker数据存储目录及拉取镜像安装oracle19c

一、修改docker数据目录&#xff0c;默认安装路径为/var/lib/docker 查看docker主路径 docker info |grep "Docker Root Dir"1.停服务 systemctl stop docker2.新建目录并授权 mkdir /data/docker -p chown -R root:docker /data/docker/3.修改配置文件 原有{}内…

微信小程序预览PDF、H5预览PDF、网页预览PDF,并添加专属文字水印

下载PDF.js 点击PDF.js下载地址 引入预览PDF 文件 // const url new URL("./1.pdf", import.meta.url).href // 在本地项目获取pdf // const url "https://xxxx/05d833041f.pdf" // 在线上链接获取pdf const url query.get(url) // 在地址栏获取pdf c…

2024年Q2震撼来袭!AMD数据中心与笔记本CPU市场独占鳌头,强劲表现引爆业界关注!

根据CPU市场追踪机构Mercury Research的最新报告&#xff0c;AMD在2024年第二季度再次取得了显著成绩&#xff0c;在数据中心和笔记本电脑CPU市场上份额有所增加。然而&#xff0c;Intel在台式机市场仍占据优势&#xff0c;并在整体出货量上保持领先地位。 在2024年第二季度&a…

本地查看的Git远程仓库分支与远程仓库分支数量不一致

说明&#xff1a;一次&#xff0c;在IDEA中想切换到某分支&#xff0c;但是查看Remote没有找到要切换的分支&#xff0c;但是打开GitLab&#xff0c;查看远程仓库&#xff0c;是有这个分支的。 解决&#xff1a;1&#xff09;在IDEA的Git中&#xff0c;点下面Fatch获取一下远程…

Grype:用于容器镜像、文件系统的开源漏洞扫描程序

容器镜像和文件系统的漏洞扫描器 Grype 是一个开源漏洞扫描器&#xff0c;专为容器镜像和文件系统设计&#xff0c;可与强大的软件物料清单 (SBOM) 工具 Syft 无缝集成。 扫描容器镜像或文件系统的内容以查找已知漏洞。 查找主要操作系统软件包的漏洞 Alpine Amazon Linux B…

计算机毕业设计 招生宣传管理系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…

Linux基础入门---Centos安装步骤

&#x1f600;前言 本篇博文是关于Centos的详细安装&#xff0c;希望你能够喜欢 &#x1f3e0;个人主页&#xff1a;晨犀主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是晨犀&#xff0c;希望我的文章可以帮助到大家&#xff0c;您的满意是我的动力&#x1f609…

20240814 每日AI必读资讯

号称全球最强AI程序员 “Genie” 横空出世&#xff0c;击败Devin与GPT-4! - Genie在SWE-Bench测试中得分高达30.08%&#xff0c;成为全球最强AI程序员。 - 采用特殊数据集和自我改进机制&#xff0c;使Genie在复杂编码中表现出色。 - 目前已开放申请试用&#xff0c;未来将推…

Android12 SystemUI QS面板新增截屏功能

问题:Android12 中SystemUI版本,QS下拉快捷面板式没有截屏功能的。 需求:客户要求在项目中实现下拉快捷面板具备一键截屏功能 目前自己只针对Android12 mtk/RK平台实践过,接触的全志平台暂未实验验证。 文章目录 前言一、实际实现效果二、修改点1.新增文件2.修改文件三、基…

Redis缓存——缓存更新策略和常见的缓存问题

一.什么是缓存&#xff1f; 前言&#xff1a;什么是缓存? 缓存(Cache),就是数据交换的缓冲区,俗称的缓存就是缓冲区内的数据,一般从数据库中获取,存储于本地代码 前言&#xff1a;为什么要使用缓存&#xff1f; 一句话:因为速度快,好用 缓存数据存储于代码中,而代码运行在内存…

初识C++ · C++11(3)

前言&#xff1a; 本文介绍的是包装器以及线程库的简单了解&#xff0c;但是呢&#xff0c;线程是基于对Linux有一定的了解&#xff0c;所以本文就是简单介绍一下&#xff0c;介绍完包装器以及线程库的简单理解之后C11的特性就到此为止&#xff0c;当然C11远不止于此&#xff…

Pixel Adventure Unity2D开发完整指南

本文参考&#xff1a;2-2. Get and Setup Assets_哔哩哔哩_bilibili 1、下载资源 在Asset Store中下载Pix Adventure1 2的资源&#xff1a; 在import的时候&#xff0c;不用到Scene import进来&#xff0c;如下图所示&#xff0c;Scenes目录反勾选一下。 两个资源都下载完成后…

朱利亚集合和曼德布洛特集合及其图像

朱利亚集合和曼德布洛特集合及其图像 朱利亚集合&#xff08;Julia Set&#xff09;和 曼德布洛特集合&#xff08;Mandelbrot Set&#xff09;除了数学理论上的意义&#xff0c;所生成的分形图像&#xff0c;因其独特的几何美感和无限的复杂性&#xff0c;还被广泛应用于计算机…

增强现实系列—深入探索ARKit:平面检测、三维模型放置与增强现实交互

&#x1f31f;&#x1f31f; 欢迎来到我的技术小筑&#xff0c;一个专为技术探索者打造的交流空间。在这里&#xff0c;我们不仅分享代码的智慧&#xff0c;还探讨技术的深度与广度。无论您是资深开发者还是技术新手&#xff0c;这里都有一片属于您的天空。让我们在知识的海洋中…

技术研究:Redis 实现消息队列

综述 我们先看看消息队列的消息存取到底有哪些需求吧&#xff1a; 需求1&#xff1a;消息保序&#xff1a;由于消费者是异步处理消息&#xff0c;但是消费者需要按照生产者发送消息的顺序来处理消息&#xff0c;避免后发送的消息被先处理了。 需求2&#xff1a;重复消息处理&…

【区块链+金融服务】河北股权交易所综合金融服务平台 | FISCO BCOS应用案例

区域性股权市场是我国资本市场的重要组成部分&#xff0c;是多层次资本市场体系的基石。河北股权交易所&#xff08;简称&#xff1a;河交所&#xff09; 作为河北省唯一一家区域性股权市场运营机构&#xff0c;打造河北股权交易所综合金融服务平台&#xff0c;将区块链技术与区…

信号与系统MATLAB实验:连续信号的采样与恢复

一、实验内容 &#xff08;1&#xff09;修改示例中的门信号宽度、采样周期等参数&#xff0c;重新运行程序&#xff0c;观察得到的采样信号时域和频域特性&#xff0c;以及重构信号与误差信号的变化。 示例1&#xff1a;选取门信号f(t) g2(t)为被采样信号。利用MATLAB实现对…

搭建超好用的个人网盘

目录 前言filebrowser下载地址介绍优点缺点部署效果 cloudreve官网介绍优点缺点部署效果 总结 前言 目前我使用过的文件存储管理软件&#xff0c;包括fastdfs、minio、filebrowser、cloudreve&#xff0c;这4款软件&#xff0c;我自己亲自搭建且都使用过&#xff0c;fastdfs很…

Datawhale X 魔搭 AI夏令营第四期 AIGC方向 task02笔记

AI工具使用 1. baseline 代码2. 使用通义千问理解代码2.1 工作流程2.2 逐行释意 3. 使用通义千问生成 Prompt3.1 生成的 Prompt3.1 根据 Prompt 生成的图片 1. baseline 代码 !pip install simple-aesthetics-predictor!pip install -v -e data-juicer!pip uninstall pytorch-…

docker的基本管理和应用

1、概念 docker是一个开源的应用容器引擎&#xff0c;基于go语言开发的。 docker是运行在linux的容器化工具&#xff0c;可以理解为轻量级的虚拟机。 可以在任何主机上轻松创建的一个轻量级、可移植的、自给自足的容器 2、设计的理念 鲸鱼——宿主机 集装箱——独立运行的…