在Ubuntu 16.04上安装和配置GitLab的方法
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。
简介
GitLab CE(Community Edition)是一个开源应用程序,主要用于托管 Git 仓库,并提供额外的与开发相关的功能,如问题跟踪。它旨在使用您自己的基础设施进行托管,并提供灵活性,可将其部署为开发团队的内部仓库存储,公开作为与用户交互的方式,甚至作为贡献者托管其自己项目的方式。
GitLab 项目使在自己的硬件上设置 GitLab 实例相对简单,具有简单的安装机制。在本指南中,我们将介绍如何在 Ubuntu 16.04 服务器上安装和配置 GitLab。
先决条件
本教程假定您可以访问一个全新的 Ubuntu 16.04 服务器。发布的 GitLab 硬件要求建议使用具有以下配置的服务器:
- 2 个核心
- 4GB 的 RAM
尽管您可能可以通过将一些交换空间替换为 RAM 来满足要求,但不建议这样做。在本指南中,我们将假设您至少具有上述资源。
为了开始,您需要在服务器上配置一个具有 sudo
访问权限的非根用户。另外,设置一个基本的防火墙以提供额外的安全层也是一个好主意。您可以按照我们的 Ubuntu 16.04 初始服务器设置指南中的步骤进行设置。
当您满足上述先决条件后,继续开始安装过程。
安装依赖项
在安装 GitLab 本身之前,重要的是安装一些在安装过程中和持续运行中它所利用的软件。幸运的是,所有必需的软件都可以轻松地从 Ubuntu 的默认软件包存储库中安装。
由于这是我们在本次会话中第一次使用 apt
,我们可以通过输入以下命令来刷新本地软件包索引,然后安装依赖项:
sudo apt-get update
sudo apt-get install ca-certificates curl openssh-server postfix
您可能已经安装了其中一些软件。对于 postfix
安装,选择在提示时选择 Internet Site。在下一个屏幕上,输入您的服务器域名或 IP 地址以配置系统发送邮件的方式。
安装 GitLab
现在依赖项已经就位,我们可以安装 GitLab 本身了。这是一个直接的过程,利用安装脚本来配置您的系统与 GitLab 仓库。
进入 /tmp
目录,然后下载安装脚本:
cd /tmp
curl -LO https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh
随时随地检查下载的脚本,以确保您对它将要执行的操作感到满意。您也可以在这里找到托管版本的脚本:
less /tmp/script.deb.sh
一旦您对脚本的安全性感到满意,运行安装程序:
sudo bash /tmp/script.deb.sh
该脚本将设置您的服务器以使用由 GitLab 维护的仓库。这使您可以使用用于其他系统软件包的包管理工具来管理 GitLab。完成后,您可以使用 apt
安装实际的 GitLab 应用程序:
sudo apt-get install gitlab-ce
这将在您的系统上安装必要的组件。
调整防火墙规则
在配置 GitLab 之前,您需要确保您的防火墙规则足够宽松,以允许 Web 流量。如果您按照先决条件中的链接中的指南进行操作,您将启用 ufw
防火墙。
通过输入以下命令查看当前活动防火墙的状态:
sudo ufw status
状态:activeTo Action From
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
如您所见,当前规则允许 SSH 流量通过,但对其他服务的访问受限。由于 GitLab 是一个 Web 应用程序,我们应该允许 HTTP 访问。如果您的 GitLab 服务器关联有域名,GitLab 还可以请求并启用来自 Let’s Encrypt 项目的免费 TLS/SSL 证书以保护您的安装。在这种情况下,我们还需要允许 HTTPS 访问。
由于 HTTP 和 HTTPS 的协议到端口的映射在 /etc/services
文件中可用,我们可以通过名称允许该流量进入。如果您之前未启用 OpenSSH 流量,现在应该允许该流量:
sudo ufw allow http
sudo ufw allow https
sudo ufw allow OpenSSH
如果再次运行 ufw status
命令,您应该至少看到已配置访问这两个服务:
sudo ufw status
状态:activeTo Action From
-- ------ ----
OpenSSH ALLOW Anywhere
80 ALLOW Anywhere
443 ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
80 (v6) ALLOW Anywhere (v6)
443 (v6) ALLOW Anywhere (v6)
上述输出表明一旦我们配置应用程序,GitLab Web 界面将是可访问的。
编辑 GitLab 配置文件
在使用该应用程序之前,您需要更新一个配置文件并运行重新配置命令。首先,打开 Gitlab 的配置文件:
sudo nano /etc/gitlab/gitlab.rb
在文件顶部附近是 external_url
配置行。将其更新为与您自己的域名或 IP 地址匹配。如果您有一个域名,请将 http
更改为 https
,这样 GitLab 将自动将用户重定向到由我们将要请求的 Let’s Encrypt 证书保护的站点。
# 如果您的 GitLab 服务器没有域名,您将需要使用 IP 地址而不是域名,并保持协议为 `http`。
external_url 'https://yourdomain'
接下来,如果您的 GitLab 服务器有一个域名,请搜索文件以查找 letsencrypt['enable']
设置。取消注释该行并将其设置为 true
。这将告诉 GitLab 为您的 GitLab 域请求 Let’s Encrypt 证书并配置应用程序以使用它提供流量。
在下面,查找 letsencrypt['contact_emails']
设置。此设置定义了 Let’s Encrypt 项目可以使用的电子邮件地址列表,以便在您的域名出现问题时与您联系。取消注释并填写这个设置也是个好主意,这样您就会知道是否有任何问题:
letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['sammy@yourdomain.com']
保存并关闭文件。现在,运行以下命令以重新配置 Gitlab:
sudo gitlab-ctl reconfigure
这将使用它可以找到的关于您的服务器的信息初始化 GitLab。这是一个完全自动化的过程,因此您不必回答任何提示。如果您启用了 Let’s Encrypt 集成,证书应该已经为您的域配置好了。
通过 Web 界面执行初始配置
现在 GitLab 正在运行并且允许访问,我们可以通过 Web 界面对应用程序进行一些初始配置。
首次登录
在 Web 浏览器中访问您的 GitLab 服务器的域名:
http://gitlab_domain_or_IP
如果您启用了 Let’s Encrypt 并在您的 external_url
中使用了 https
,您应该会被重定向到一个安全的 HTTPS 连接。
在首次访问时,您应该会看到一个初始提示,要求为管理员帐户设置密码:
!GitLab 初始密码设置提示
在初始密码提示中,提供并确认管理员帐户的安全密码。完成后,单击 Change your password 按钮。
您将被重定向到常规的 GitLab 登录页面:
!GitLab 首次登录提示
在这里,您可以使用刚刚设置的密码登录。凭证为:
- 用户名:root
- 密码:[您设置的密码]
将这些值输入到现有用户字段中,然后单击 Sign in 按钮。您将登录到应用程序,并被带到一个提示您开始添加项目的着陆页面:
!GitLab 初始登录着陆页面
现在,您可以进行一些简单的更改,以使 GitLab 以您喜欢的方式设置。
调整您的个人资料设置
在新安装后,您应该做的第一件事之一是将您的个人资料整理好。GitLab 选择了一些合理的默认值,但一旦您开始使用该软件,这些通常是不合适的。
要进行必要的修改,请单击界面右上角的用户图标。在出现的下拉菜单中,选择 Settings:
!GitLab 个人资料设置按钮
您将被带到您的设置的 Profile 部分:
!GitLab 个人资料设置页面
将 Name 和 Email 地址从 “Administrator” 和 “admin@example.com” 调整为更准确的内容。您选择的名称将显示给其他用户,而电子邮件将用于默认头像检测、通知、通过界面进行的 Git 操作等。
完成后,单击底部的 Update Profile settings 按钮:
!GitLab 更新个人资料设置按钮
确认电子邮件将发送到您提供的地址。按照电子邮件中的说明确认您的帐户,以便您可以开始在 GitLab 中使用它。
更改您的帐户名
接下来,单击左侧菜单栏中的 Account 项目:
!GitLab 帐户菜单项
在这里,您可以找到您的私人 API 令牌或配置双因素身份验证。但是,我们目前感兴趣的功能是 Change username 部分。
默认情况下,第一个管理员帐户被赋予名称 root。由于这是一个已知的帐户名,将其更改为不同的名称更安全。您仍将拥有管理员权限;唯一会改变的是名称:
!GitLab 更改用户名部分
单击 Update username 按钮进行更改:
!GitLab 更新用户名按钮
下次登录到 GitLab 时,请记住使用您的新用户名。
将 SSH 密钥添加到您的账户
在大多数情况下,您会希望使用 SSH 密钥与 Git 交互以访问您的 GitLab 项目。为此,您需要将您的 SSH 公钥添加到您的 GitLab 账户。
如果您已经在本地计算机上创建了 SSH 密钥对,您通常可以通过输入以下命令查看公钥:
cat ~/.ssh/id_rsa.pub
您应该会看到一大段文本,就像这样:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDMuyMtMl6aWwqBCvQx7YXvZd7bCFVDsyln3yh5/8Pu23LW88VXfJgsBvhZZ9W0rPBGYyzE/TDzwwITvVQcKrwQrvQlYxTVbqZQDlmsC41HnwDfGFXg+QouZemQ2YgMeHfBzy+w26/gg480nC2PPNd0OG79+e7gFVrTL79JA/MyePBugvYqOAbl30h7M1a7EHP3IV5DQUQg4YUq49v4d3AvM0aia4EUowJs0P/j83nsZt8yiE2JEYR03kDgT/qziPK7LnVFqpFDSPC3MR3b8B354E9Af4C/JHgvglv2tsxOyvKupyZonbyr68CqSorO2rAwY/jWFEiArIaVuDiR9YM5 sammy@mydesktop
复制这段文本,然后返回到 GitLab 网页界面的个人资料设置页面。
如果您得到的是以下消息,说明您的计算机上尚未配置 SSH 密钥对:
cat: /home/sammy/.ssh/id_rsa.pub: No such file or directory
如果是这种情况,您可以通过输入以下命令来创建 SSH 密钥对:
ssh-keygen
接受默认设置,并可选择提供密码以在本地保护密钥:
Generating public/private rsa key pair.
Enter file in which to save the key (/home/sammy/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/sammy/.ssh/id_rsa.
Your public key has been saved in /home/sammy/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:I8v5/M5xOicZRZq/XRcSBNxTQV2BZszjlWaIHi5chc0 sammy@gitlab.docsthat.work
The key's randomart image is:
+---[RSA 2048]----+
| ..%o==B|
| *.E =.|
| . ++= B |
| ooo.o . |
| . S .o . .|
| . + .. . o|
| + .o.o ..|
| o .++o . |
| oo=+ |
+----[SHA256]-----+
完成后,您可以通过输入以下命令显示您的公钥,就像之前一样:
cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDMuyMtMl6aWwqBCvQx7YXvZd7bCFVDsyln3yh5/8Pu23LW88VXfJgsBvhZZ9W0rPBGYyzE/TDzwwITvVQcKrwQrvQlYxTVbqZQDlmsC41HnwDfGFXg+QouZemQ2YgMeHfBzy+w26/gg480nC2PPNd0OG79+e7gFVrTL79JA/MyePBugvYqOAbl30h7M1a7EHP3IV5DQUQg4YUq49v4d3AvM0aia4EUowJs0P/j83nsZt8yiE2JEYR03kDgT/qziPK7LnVFqpFDSPC3MR3b8B354E9Af4C/JHgvglv2tsxOyvKupyZonbyr68CqSorO2rAwY/jWFEiArIaVuDiR9YM5 sammy@mydesktop
复制显示的文本块,然后返回到 GitLab 网页界面的个人资料设置。
点击左侧菜单中的SSH Keys项:
!GitLab SSH Keys 菜单项
在提供的空间中粘贴您从本地计算机复制的公钥。给它一个描述性的标题,然后点击Add key按钮:
!GitLab 添加 SSH 密钥
现在,您应该能够在本地计算机上管理您的 GitLab 项目和仓库,而无需提供您的 GitLab 账户凭据。
限制或禁用公共注册(可选)
您可能已经注意到,当您访问您的 GitLab 实例的登录页面时,任何人都可以注册帐户。如果您希望托管公共项目,这可能是您想要的。然而,许多时候,更严格的设置是可取的。
首先,点击页面顶部主菜单栏中的扳手图标,进入管理区域:
!GitLab 管理区域按钮
在接下来的页面上,您可以看到整个 GitLab 实例的概述。要调整设置,请点击左侧菜单底部的设置选项。
!GitLab 管理设置按钮
您将进入到 GitLab 实例的全局设置页面。在这里,您可以调整一些影响新用户是否可以注册以及他们的访问级别的设置。
禁用注册
如果您希望完全禁用注册(您仍然可以手动创建新用户的帐户),请滚动到注册限制部分。
取消选择启用注册复选框:
!GitLab 取消选择启用注册
滚动到页面底部,点击保存按钮:
!GitLab 保存设置按钮
注册部分现在应该从 GitLab 登录页面中移除了。
按域限制注册
如果您正在使用 GitLab 作为提供与域相关的电子邮件地址的组织的一部分,您可以通过域来限制注册,而不是完全禁用它们。
在注册限制部分,首先选择注册时发送确认电子邮件框,只有在用户确认了他们的电子邮件后才允许登录。
接下来,将您的域或域添加到注册白名单域框中,每行一个。您可以使用星号“*”来指定通配符域:
!GitLab 按域限制注册
滚动到页面底部,点击保存按钮:
!GitLab 保存设置按钮
注册部分现在应该从 GitLab 登录页面中移除了。
限制项目创建
默认情况下,新用户可以创建多达 10 个项目。如果您希望允许外部新用户进行可见性和参与,但希望限制他们创建新项目的访问权限,您可以在帐户和限制设置部分进行设置。
在其中,您可以将默认项目限制更改为 0,以完全禁止新用户创建项目:
!GitLab 将项目设置为零
新用户仍然可以手动添加到项目中,并且可以访问其他用户创建的内部或公共项目。
滚动到页面底部,点击保存按钮:
!GitLab 保存设置按钮
新用户现在可以创建帐户,但无法创建项目。
创建定期任务以自动更新 Let’s Encrypt 证书
根据设计,Let’s Encrypt 证书仅有效期为 90 天。如果您之前为您的 GitLab 域启用了 Let’s Encrypt,您需要确保定期更新您的证书,以避免服务中断。GitLab 提供了gitlab-ctl renew-le-certs
命令,在当前资产接近到期时请求新证书。
为了自动化这个过程,我们可以创建一个定期任务,定期运行这个命令。该命令只会在证书接近到期时进行更新,因此我们可以安全地定期运行它。
首先,在您的文本编辑器中创建并打开/etc/cron.daily/gitlab-le
文件:
sudo nano /etc/cron.daily/gitlab-le
在其中,粘贴以下脚本:
#!/bin/bashset -e/usr/bin/gitlab-ctl renew-le-certs > /dev/null
完成后保存并关闭文件。
通过输入以下命令将文件标记为可执行:
sudo chmod +x /etc/cron.daily/gitlab-le
现在,GitLab 应该每天自动检查其 Let’s Encrypt 证书是否需要更新。如果需要,命令将自动更新证书。
结论
您现在应该在自己的服务器上拥有一个正常运行的 GitLab 实例。您可以开始导入或创建新项目,并为您的团队配置适当的访问级别。GitLab 定期添加功能并对其平台进行更新,因此请务必查看项目的主页,以了解任何改进或重要通知的最新信息。
相关文章:
在Ubuntu 16.04上安装和配置GitLab的方法
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 简介 GitLab CE(Community Edition)是一个开源应用程序,主要用于托管 Git 仓库,并提供额…...

STM32的SPI通信
1 SPI协议简介 SPI(Serial Peripheral Interface)协议是由摩托罗拉公司提出的通信协议,即串行外围设备接口,是一种高速全双工的通信总线。它被广泛地使用在ADC、LCD等设备与MCU间,使用于对通信速率要求较高的场合。 …...

机器学习引领教育革命:智能教育的新时代
📝个人主页🌹:Eternity._ 🌹🌹期待您的关注 🌹🌹 ❀目录 📒1. 引言📙2. 机器学习在教育中的应用🌞个性化学习🌙评估与反馈的智能化⭐教学资源的优…...
6月29日,每日信息差
第一、位于四川省绵阳市的中广核质子治疗装备制造基地正式通过竣工验收,为全球装机数量和治疗患者数量最多的国际领先质子治疗系统全面国产化奠定了坚实基础。质子治疗作为目前全球最尖端的肿瘤放射治疗技术之一,与传统放疗技术相比,质子治疗…...

SpringCloud中复制模块然后粘贴,文件图标缺少蓝色方块
再maven中点击+号,把当前pom文件交给maven管理即可...

JS乌龟吃鸡游戏
代码: <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>乌龟游戏</title><script type"text/javascript">function move(obj){//乌龟图片高度var wuGui_height 67;…...

第十节:学习ConfigurationProperties类来配置pojo实体类参数(自学Spring boot 3.x的第二天)
大家好,我是网创有方 。这节记录下如何使用ConfigurationProperties来实现自动注入配置值。。实现将配置文件里的application.properties的参数赋值给实体类并且打印出来。 第一步:新建一个实体类WechatConfig package cn.wcyf.wcai.config;import org…...
如何学习Node.js
Node.js是一个开源、跨平台的JavaScript运行环境,它允许你在服务器端使用JavaScript。以下是一些步骤和资源,可以帮助你开始学习Node.js: ### 1. 基础知识 首先,确保你熟悉JavaScript语言的基础。Node.js是基于JavaScript的&…...

云计算基础知识
前言: 随着ICT技术的高速发展,企业架构对计算、存储、网络资源的需求更高,急需一种新的架构来承载业务,以获得持续,高速,高效的发展,云计算应运而生。 云计算背景 信息大爆炸时代:…...

基于单片机光纤测距系统的设计与实现
摘要 : 光纤由于其频带宽 、 损耗低及抗干扰能力强等优点已被广泛地应用在通信 、 电子及电力方面 , 是我们生产生活中必不可少的媒介。 在实际的光纤实验 、 安装 、 运营和维护工作中 , 一种精准 、 轻便和易操作的光纤测距系统显得尤为重…...
python项目实战——人生重开模拟器
文章目录 1.菜单栏的编写2.玩家确定颜值、体质、智力、家境3.生成性别4.设定角色出生点5.各个年龄段的变化5.1 幼年阶段5.2 青年阶段5.3中年阶段5.4 晚年阶段 6.整体代码 人生重开模拟器是一款文字类小游戏. 玩家可根据提示输入角色的初始属性之后, 就可以开启不同的人生经历. …...

小时候的子弹击中了现在的我-hive进阶:案例解析(第18天)
系列文章目录 一、Hive表操作 二、数据导入和导出 三、分区表 四、官方文档(了解) 五、分桶表(熟悉) 六、复杂类型(熟悉) 七、Hive乱码解决(操作。可以不做,不影响) 八、…...
电影票房预测管理系统设计
电影票房预测管理系统的开发涉及多个层面的设计,包括但不限于数据收集、数据分析、预测模型构建、用户界面设计和系统集成。以下是一个基本的系统设计框架: 1. 数据收集模块:这是整个系统的基础。需要收集的数据可能包括历史票房数据、上映电…...
正则表达式与Pyhton
一、正则表达式的规则 1、支持普通字符匹配 2、元字符,一个符号匹配一堆字符 \d 匹配数字 \w 匹配数字、字母、下划线 \D \d的取反,除了数字全部匹配 \W \w的取反 [abc] 匹配字母a、b、c [^abc] [abc]的取反…...

Transformer常见面试题
目录 1.Transformer为何使用多头注意力机制?(为什么不使用一个头) 2.Transformer为什么Q和K使用不同的权重矩阵生成,为何不能使用同一个值进行自身的点乘? (注意和第一个问题的区别) 3.Transf…...
Linux——vim的配置文件+异常处理
vim的配置文件: [rootserver ~]# vim /etc/vimrc # 输入以下内容 set nu # 永久设置行号 shell [rootserver ~]# vim /etc/vimrc 或者 vim ~/.vimrc set hlsearch "高亮度反白 set backspace2 "可随时用退格键删除 set autoindent…...

node mySql 实现数据的导入导出,以及导入批量插入的sql语句
node 实现导出, 在导出excel中包含图片(附件) node 实现导出, 在导出excel中包含图片(附件)-CSDN博客https://blog.csdn.net/snows_l/article/details/139999392?spm1001.2014.3001.5502 一、效果 如图: 二、导入 …...

Webpack: 底层配置逻辑
概述 Webpack 5 提供了非常强大、灵活的模块打包功能,配合其成熟生态下数量庞大的插件、Loader 资源,已经能够满足大多数前端项目的工程化需求,但代价则是日益复杂、晦涩的使用方法,开发者通常需要根据项目环境、资源类型、编译目…...

数字图像处理期末复习题1
个人名片: 🎓作者简介:嵌入式领域优质创作者🌐个人主页:妄北y 📞个人QQ:2061314755 💌个人邮箱:[mailto:2061314755qq.com] 📱个人微信:Vir2025WB…...

poi-tl 生成 word 文件(插入文字、图片、表格、图表)
文章说明 本篇文章主要通过代码案例的方式,展示 poi-tl 生成 docx 文件的一些常用操作,主要涵盖以下内容 : 插入文本字符(含样式、超链接)插入图片插入表格引入标签(通过可选文字的方式,这种方…...
Oracle查询表空间大小
1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

【入坑系列】TiDB 强制索引在不同库下不生效问题
文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

ESP32读取DHT11温湿度数据
芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...

剑指offer20_链表中环的入口节点
链表中环的入口节点 给定一个链表,若其中包含环,则输出环的入口节点。 若其中不包含环,则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列,以便知晓哪些列包含有价值的数据,…...

springboot整合VUE之在线教育管理系统简介
可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...
深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏
一、引言 在深度学习中,我们训练出的神经网络往往非常庞大(比如像 ResNet、YOLOv8、Vision Transformer),虽然精度很高,但“太重”了,运行起来很慢,占用内存大,不适合部署到手机、摄…...
全面解析数据库:从基础概念到前沿应用
在数字化时代,数据已成为企业和社会发展的核心资产,而数据库作为存储、管理和处理数据的关键工具,在各个领域发挥着举足轻重的作用。从电商平台的商品信息管理,到社交网络的用户数据存储,再到金融行业的交易记录处理&a…...

uni-app学习笔记三十五--扩展组件的安装和使用
由于内置组件不能满足日常开发需要,uniapp官方也提供了众多的扩展组件供我们使用。由于不是内置组件,需要安装才能使用。 一、安装扩展插件 安装方法: 1.访问uniapp官方文档组件部分:组件使用的入门教程 | uni-app官网 点击左侧…...