828华为云征文|华为云Flexus云服务器X实例之openEuler系统下部署GitLab服务器

news2024/12/26 21:00:12

828华为云征文|华为云Flexus云服务器X实例之openEuler系统下部署Gitlab服务器

  • 前言
  • 一、Flexus云服务器X实例介绍
    • 1.1 Flexus云服务器X实例简介
    • 1.2 Flexus云服务器X实例特点
    • 1.3 Flexus云服务器X实例使用场景
  • 二、GitLab介绍
    • 2.1 GitLab简介
    • 2.2 GitLab主要特点
  • 三、本次实践介绍
    • 3.1 本次实践简介
    • 3.2 本次环境规划
  • 四、远程连接华为云Flexus云服务器X实例
    • 4.1 购买Flexus云服务器X实例
    • 4.2 查看Flexus云服务器X实例状态
    • 4.3 使用Xshell远程连接
  • 五、检查Flexus云服务器X实例系统环境
    • 5.1 检查操作系统版本
    • 5.2 检查内核版本
    • 5.3 检查Docker版本
    • 5.4 检查Docker服务状态
    • 5.5 检查Docker compose版本
  • 六、部署GitLab服务器
    • 6.1 下载GitLab镜像
    • 6.2 创建部署目录
    • 6.3 编辑docker-compose.yaml文件
    • 6.4 创建GitLab容器
    • 6.5 查看GitLab容器状态
    • 6.6 查看GitLab容器日志
    • 6.7 查看资源使用情况
  • 七、访问前准备工作
    • 7.1 关闭防火墙
    • 7.2 Flexus云服务器X实例安全组配置
  • 八、访问GitLab首页
    • 8.1 访问GitLab登录页
    • 8.2 重置登录密码
    • 8.3 访问GitLab首页
    • 8.4 设置中文语言
  • 九、使用体验与总结

前言


随着云计算技术的不断进步,华为云Flexus云服务器X实例凭借其专为中小企业和开发者定制的柔性算力特性,在众多云服务产品中崭露头角,以强劲的性能和出色的性价比赢得了市场的青睐。GitLab 作为一款基于 Git 的开源代码托管平台,提供了版本控制、代码审查、问题跟踪及 CI/CD 等一系列项目管理工具,极大地提升了开发团队的工作效率。本文将指导读者如何在运行 openEuler 系统的华为云Flexus云服务器X实例上部署 GitLab,通过整合两者的优势,实现服务器管理的现代化转型。无论是初创企业还是成熟团队,都能借助这一部署方案,充分发挥华为云的强大算力与 GitLab 的先进功能,推动项目的快速发展。通过本文的详尽步骤,读者将能够顺利完成 GitLab 的部署,并进一步探索其在实际应用中的潜力。


一、Flexus云服务器X实例介绍

1.1 Flexus云服务器X实例简介

  • 官网地址: 华为云Flexus云服务器X实例

华为云Flexus云服务器X实例是新一代面向中小企业和开发者的柔性算力云服务器。它能够智能感知业务负载的变化,自动调整资源配置。这款服务器特别适用于中低负载的应用场景,例如电商直播、企业网站建设、开发测试环境、游戏服务器以及音视频服务等。X实例的设计理念旨在为用户提供更加灵活和高效的计算资源管理方式。通过智能调整,它可以更好地满足不同业务的需求,提高资源利用率。

在这里插入图片描述

1.2 Flexus云服务器X实例特点

  • 提供丰富的公共镜像:Flexus云服务器X实例提供多种公共镜像供用户选择,方便快速部署各种应用和服务。

  • 可灵活自定义vCPU内存配比:用户可以根据自己的需要灵活调整虚拟CPU和内存的配比,以满足不同场景的需求。

  • 智能感知业务动态升降配:Flexus云服务器X实例能够智能感知业务的负载情况,并根据需要自动升降配,以满足业务的需求,提高系统的稳定性和性能。

  • 负载范围更高:相对于Flexus应用服务器L实例,Flexus云服务器X实例能够处理更高的负载,适用于更复杂和繁忙的场景。

1.3 Flexus云服务器X实例使用场景

Flexus云服务器X实例针对不同的使用场景展现出其独特的优势:

  1. 电商直播:利用X实例搭建电商交易平台,可以有效应对电商市场的瞬息万变,从容处理业务压力波动,确保交易过程顺畅无阻。

  2. 企业建站:面向博客、论坛和企业门户等应用场景,X实例帮助企业高效传播价值信息,促进信息共享与交流,支持构建多功能传播和交互平台。

  3. 个人开发测试:开发者在开发和测试过程中所需的环境资源可以通过X实例便捷获取,不仅提高了搭建效率,而且降低了成本。

  4. 游戏服务器:适用于搭建游戏后台服务器,强大的计算能力可以轻松应对大量玩家同时在线的情况,同时支持平滑扩容,快速应对玩家数量增长的需求,以及提供出色的网络加速能力以提升用户体验。

二、GitLab介绍

2.1 GitLab简介

GitLab 是一个基于Git的在线代码仓库管理平台,提供了代码托管、版本控制、持续集成和部署等一系列功能。使用GitLab可以轻松管理团队中的开发者,进行代码的协作开发和管理。GitLab也提供了丰富的项目集成和API,可以让开发者更快地进行集成和部署。

2.2 GitLab主要特点

  • 版本控制与代码托管:GitLab 提供了一个基于 Git 的版本控制系统,支持多仓库管理,使得代码的版本控制变得更加高效和可靠。用户可以轻松创建、克隆、分支和合并代码仓库。

  • 代码审查与协作:GitLab 支持合并请求(Merge Requests)机制,允许团队成员在代码合并之前进行代码审查,确保代码质量,并促进团队间的协作。

  • 问题与项目管理:内置的问题跟踪系统(Issues)和项目管理面板(Boards),帮助团队跟踪缺陷、任务和特性请求,有效地组织和管理项目进度。

  • 持续集成与持续部署(CI/CD):GitLab 内置了 CI/CD 功能,通过 .gitlab-ci.yml 文件定义构建、测试和部署流程,支持自动化测试、部署和监控,加速软件交付周期。

  • 安全性与合规性:提供了一系列的安全工具,如静态应用安全测试(SAST)、依赖性检查(Dependency Scanning)、容器镜像扫描(Container Scanning)等,帮助开发者识别潜在的安全漏洞,确保应用程序的安全性。

  • 可扩展性与高可用性:GitLab 可以从小型项目扩展到大型企业级应用,支持水平扩展,即通过增加节点来提高处理能力。同时,它也支持高可用性部署,确保服务的连续性和可靠性。

  • 集成与插件支持:GitLab 支持与各种第三方工具和服务集成,如 Slack、Jira、Docker 等,通过插件和 API 接口增强其功能性和灵活性,使开发者能够在一个平台上完成几乎所有 DevOps 相关的任务。

  • 用户界面与体验:GitLab 提供了直观且用户友好的图形界面,使得即便是非技术背景的团队成员也能轻松使用其各项功能。

  • 开源与企业版:GitLab 有免费的社区版(Community Edition, CE)和付费的企业版(Enterprise Edition, EE)。企业版提供了更多的高级特性和支持服务,适用于需要更高安全性和定制化功能的大规模企业。

三、本次实践介绍

3.1 本次实践简介

1.本次实践为个人测试学习环境,旨在快速部署应用,生产环境请谨慎;
2.本次实践环境为云华为云Flexus云服务器X实例,使用的操作系统为openEuler 22.03 LTS;
3.本次实践在Docker环境下部署GitLab服务器。

3.2 本次环境规划

服务器类别公共镜像选择内网IP地址Docker版本操作系统版本
华为云Flexus云服务器X实例openEuler192.168.0.16926.1.3openEuler 22.03 LTS

四、远程连接华为云Flexus云服务器X实例

4.1 购买Flexus云服务器X实例

进入华为云官网:https://activity.huaweicloud.com/,登录自己的华为云账号,进入华为云首页。

在这里插入图片描述
在这里插入图片描述

  • 可参考以下基础配置,进行购买:

1.计费模式:包年/包月,这里选择此模式;
2.区域:华北—北京四,可用区:随机即可;
3.实例规格:关闭性能模式,选择自定义,4vCPUs | 12GiB;
4.镜像:公共镜像,Huawei Cloud EulerOS,版本,Huawei Cloud EulerOS 2.0 Standard 64 bit(10GiB);
5.应用加速:这里选择不加速;
6.存储:系统盘,通用型SSD100G;
7.网络:选择默认即可;
8.安全组:选择默认即可;
9.弹性公网IP:选择“现在购买”,全动态BGP,带宽3Mbit/s;
10.云服务器名称:可自定义设置,这里选择默认的名称;
11.登录凭证:自定义设置密码;
12.云备份:暂不购买;
其余配置默认即可。

  • 确认配置及购买

在确认配置页面,检查Flexus云服务器X实例的各项配置是否正确。检查完毕后,点击“立即购买”。付款完毕后,华为云Flexus云服务器X实例购买成功。

在这里插入图片描述

4.2 查看Flexus云服务器X实例状态

进入华为云Flexus云服务的控制台,选择Flexus云服务器X实例,可以看到已经正在运行的Flexus云服务器X实例。

在这里插入图片描述

4.3 使用Xshell远程连接

  • 复制Flexus云服务器X实例的弹性公网IP地址

在这里插入图片描述

  • 主要填写Flexus云服务器X实例的弹性公网IP地址,输入其登录用户和密码,连接即可。

在这里插入图片描述

在这里插入图片描述

五、检查Flexus云服务器X实例系统环境

5.1 检查操作系统版本

检查Flexus云服务器X实例的操作系统版本,本次实践选择的版本为openEuler 22.03 LTS

[root@flexusx-51a1 ~]# cat /etc/os-release
NAME="openEuler"
VERSION="22.03 LTS"
ID="openEuler"
VERSION_ID="22.03"
PRETTY_NAME="openEuler 22.03 LTS"
ANSI_COLOR="0;31"

5.2 检查内核版本

检查当前操作系统的内核版本,当前内核版本为5.10.0-60.109.0.136.oe2203.x86_64

[root@flexusx-51a1 ~]# uname -r
5.10.0-60.109.0.136.oe2203.x86_64

5.3 检查Docker版本

部署该项目需要提前安装Docker环境,检查Docker版本,当前安装的Docker版本为 26.1.3

[root@flexusx-51a1 ~]# docker -v
Docker version 26.1.3, build b72abbb

5.4 检查Docker服务状态

检查Docker服务状态,确保Docker服务正常。

[root@flexusx-51a1 ~]#  systemctl status docker
● docker.service - Docker Application Container Engine
     Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
     Active: active (running) since Wed 2024-09-04 21:23:44 CST; 15min ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 10018 (dockerd)
      Tasks: 10
     Memory: 196.3M
     CGroup: /system.slice/docker.service
             └─ 10018 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

5.5 检查Docker compose版本

检查docker compose版本,当前默认安装版本为v2.29.1

[root@flexusx-51a1 ~]# docker compose version
Docker Compose version v2.27.0

六、部署GitLab服务器

6.1 下载GitLab镜像

执行以下命令,下载GitLab镜像。

docker pull gitlab/gitlab-ce:latest

如果拉取过慢,也可以拉取本人的镜像仓库中GitLab镜像:

docker pull registry.cn-hangzhou.aliyuncs.com/jeson/gitlab-ce

在这里插入图片描述

6.2 创建部署目录

执行以下命令,创建项目部署目录/data/gitlab/

mkdir -p /data/gitlab/{data,logs,config}  && cd /data/gitlab/

6.3 编辑docker-compose.yaml文件

本次使用使用docker compose方式部署,需要新建及编辑docker-compose.yaml文件,内容如下。注意修改部署文件中的hostname地址为自己服务器的内网IP地址, 其余映射宿主机端口可自行定义设置,注意防止端口冲突。

vim docker-compose.yaml
version: "3"
services:
  gitlab:
    container_name: gitlab
    image: registry.cn-hangzhou.aliyuncs.com/jeson/gitlab-ce
    hostname: '192.168.0.169'
    restart: always
    ports:
      - 8011:8011
      - 8443:443
      - 2222:22/tcp
    volumes:
      - /etc/localtime:/etc/localtime
      - /data/gitlab/data:/var/opt/gitlab
      - /data/gitlab/config:/etc/gitlab
      - /data/gitlab/logs:/var/log/gitlab
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://192.168.0.169:8011'
        gitlab_rails['gitlab_shell_ssh_port'] = 2222
    deploy:
      resources:
        limits:
           memory: 6G
        reservations:
           memory: 1G
    

相关说明

  • container_name: 定义了容器的名称,这里设置为 gitlab。
  • image: 指定了要使用的 Docker 镜像,这里是 GitLab 社区版(CE)的最新版本。
  • hostname: 设定为服务器的内网IP地址192.168.0.169。
  • restart: 设置容器的重启策略,always 表示无论容器是否退出,都会重新启动。
  • ports: 将容器内的端口映射到宿主机的端口,例如 HTTP 服务映射到 8011 端口,HTTPS 映射到 8443 端口,SSH 服务映射到 2222 端口。
  • volumes: 将宿主机上的目录挂载到容器内,确保数据持久化,例如 /data/gitlab/data 挂载到容器内的 /var/opt/gitlab 目录。
  • environment: 设置容器内的环境变量,这里定义了 GitLab 的外部 URL 和 SSH 端口号。
  • deploy: 定义了容器的部署配置,特别是资源限制,例如内存限制为 4GB,预留内存为 1GB。

6.4 创建GitLab容器

执行以下命令,快速创建GitLab容器。

[root@flexusx-51a1 gitlab]# docker compose up -d
WARN[0000] /data/gitlab/docker-compose.yaml: `version` is obsolete
[+] Running 2/2
 ✔ Network gitlab_default  Created                                                                                                                           0.0s
 ✔ Container gitlab        Started                                                                                                                           0.2s

在这里插入图片描述

6.5 查看GitLab容器状态

检查GitLab容器状态,确保GitLab容器正常启动。

[root@flexusx-51a1 gitlab]# docker compose ps
WARN[0000] /data/gitlab/docker-compose.yaml: `version` is obsolete
NAME      IMAGE                                               COMMAND             SERVICE   CREATED          STATUS                             PORTS
gitlab    registry.cn-hangzhou.aliyuncs.com/jeson/gitlab-ce   "/assets/wrapper"   gitlab    38 seconds ago   Up 38 seconds (health: starting)   80/tcp, 0.0.0.0:8011->8011/tcp, :::8011->8011/tcp, 0.0.0.0:2222->22/tcp, :::2222->22/tcp, 0.0.0.0:8443->443/tcp, :::8443->443/tcp

在这里插入图片描述

6.6 查看GitLab容器日志

检查GitLab容器日志,确保GitLab服务正常运行。

[root@flexusx-51a1 gitlab]#  docker compose logs  |grep 8011
WARN[0000] /data/gitlab/docker-compose.yaml: `version` is obsolete
gitlab  |     +  address: http://192.168.0.169:8011
gitlab  |     +  listen *:8011;
gitlab  |     +    set $http_host_with_default "192.168.0.169:8011";
gitlab  |     +url='http://localhost:8011/help'
gitlab  | {"content_type":"text/html; charset=utf-8","correlation_id":"01J70HQS3MQGGWK6RR21XWYZ3K","duration_ms":329,"host":"localhost:8011","level":"info","method":"GET","msg":"access","proto":"HTTP/1.1","referrer":"","remote_addr":"127.0.0.1:0","remote_ip":"127.0.0.1","route":"","status":200,"system":"http","time":"2024-09-05T15:35:16+08:00","ttfb_ms":329,"uri":"/help","user_agent":"curl/8.6.0-DEV","written_bytes":27808}
gitlab  | {"content_type":"text/html; charset=utf-8","correlation_id":"01J70HSM1Z4DYGMN4028NPH9NF","duration_ms":273,"host":"localhost:8011","level":"info","method":"GET","msg":"access","proto":"HTTP/1.1","referrer":"","remote_addr":"127.0.0.1:0","remote_ip":"127.0.0.1","route":"","status":200,"system":"http","time":"2024-09-05T15:36:16+08:00","ttfb_ms":273,"uri":"/help","user_agent":"curl/8.6.0-DEV","written_bytes":27808}

6.7 查看资源使用情况

检查GitLab的资源占用情况,发现GitLab还是比较占用系统资源的。本次实践购买的华为云Flexus云服务器X实例配置为4vCPUs | 12GiB,轻松可以满足资源要求。

 docker stats gitlab

在这里插入图片描述

七、访问前准备工作

7.1 关闭防火墙

执行以下命令,关闭防火墙。

systemctl stop firewalld

如果想要开启防火墙,则需要在防火墙上放行cockpit服务。

sudo firewall-cmd --permanent --zone=public --add-service=cockpit
sudo firewall-cmd --reload
  • 关闭selinux
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

7.2 Flexus云服务器X实例安全组配置

进入Flexus云服务器X实例控制台,进行安全组规则配置。在安全组入方向规则上,放行8011/2222/8443端口。

在这里插入图片描述

八、访问GitLab首页

8.1 访问GitLab登录页

浏览器访问地址:http://弹性公网IP地址:8011,将IP替换为自己服务器IP地址。浏览器打开后,进入GitLabt登录页。

在这里插入图片描述

8.2 重置登录密码

  • 进入GitLab容器内部
[root@flexusx-51a1 gitlab]# docker exec -it gitlab  /bin/bash
root@192:/#
  • 进入控制台
gitlab-rails console -e production
  • 查询超级管理用户
user = User.where(id:1).first

在这里插入图片描述

  • 修改密码
user.password='admin36987'
  • 保存于退出
# 保存
user.save!
# 退出
exit

8.3 访问GitLab首页

浏览器访问地址:https://弹性公网IP地址:8011,将IP替换为自己服务器IP地址。浏览器打开后,进入GitLabt登录页。输入刚才的查询的账号及修改密码,登录GitLab。

在这里插入图片描述

在这里插入图片描述

8.4 设置中文语言

点击账号——Preferences选项,找到“Localization”区域,将“Language”选项修改为“简体中文”。

在这里插入图片描述
在这里插入图片描述

更改中文语言后,查看GitLab首页效果。

在这里插入图片描述

九、使用体验与总结

在本次实践中,我们成功地在华为云Flexus云服务器X实例上部署了GitLab系统,整个部署过程及后续使用体验极为顺畅。华为云Flexus X实例凭借卓越的性价比、强大的计算性能、可靠的稳定性和高标准的安全保障,在众多选项中脱颖而出。其网络连接始终保持稳定,操作过程毫无延迟或卡顿,确保了高效的用户体验。GitLab 作为一个基于 Git 的在线代码仓库管理平台,提供了代码托管、版本控制、持续集成和部署等一系列功能。此次部署不仅彰显了华为云Flexus X实例作为云服务器基础的强大优势,还验证了当高质量云服务与高效工具相结合时,能够显著提升工作效率。这种组合值得每一个寻求可靠云解决方案的专业人士尝试。


趁着华为云828 B2B企业节的热潮,快来探索Flexus X实例的超值优惠,感受技术与创新的完美融合;从高性能计算到智能监控,每一个细节都彰显出华为云对品质的坚持与追求;加入华为云大家庭,不仅是一次技术升级,更是向未来迈出的坚实一步;让我们携手并进,共创云端新辉煌!


在这里插入图片描述

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

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

相关文章

Java异常类

目录 Java异常类 Java中的异常体系 抛出异常 处理异常 处理异常的两种方式 try...catch和throws的区别 finally关键字 抛出异常注意事项 自定义异常类 Java异常类 Java中的异常体系 在Java中,异常类的父类为Throwable类,在Throwable下&#x…

git submodule子模块的使用

子模块的使用 添加子模块 添加子模块 git submodule add <子仓库URL> <子仓库路径> 例子&#xff1a; git submodule add http://192.168.100.181/guideir/poco.git 3rdparty/poco 若子模块存在好几个分支&#xff0c;可以在添加子模块时&#xff0c;指定分支 g…

全国糖酒会,就这5个字。“会天下美味”

“全国糖酒会&#xff0c;会天下美味”&#xff0c;是全国糖酒会的品牌口号。这个品牌口号来的非常偶然。 两年前&#xff0c;全国糖酒会准备更新标志之时&#xff0c;也设计了一个品牌口号。新标志发布前几天&#xff0c;临时作了调整&#xff0c;最终变成了“全国糖酒会&…

Day92 代码随想录打卡|动态规划篇---斐波那契数

题目&#xff08;leecode T509&#xff09;&#xff1a; 斐波那契数 &#xff08;通常用 F(n) 表示&#xff09;形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始&#xff0c;后面的每一项数字都是前面两项数字的和。也就是&#xff1a; F(0) 0&#xff0c;F(1) 1 F(n)…

C++11线程池、多线程编程(附源码)

Test1 示例源码展示&#xff1a; #include<iostream> #include<thread> #include<string> using namespace std;void printHelloWord(string s) {cout << s << endl;//return; } int main() {string s;s "wegfer";thread thread1(p…

【动手学深度学习】08 线性回归 + 基础优化算法(个人向笔记)

1. 线性回归 一个简化的模型&#xff1a; 我们可以这样来定义线性模型&#xff1a;注意这里先转置变成了列向量线性模型可以被看成时一个单层的神经网络&#xff1a;单层是因为单层参数 - 用一个函数来衡量预估质量&#xff1a;损失函数 在训练的时候寻找最小化的损失的参数 w…

Vivado编译报错黑盒子问题

1 问题描述 “Black Box Instances: Cell **** of type ** has undefined contents and is considered a back box. The contents of this cell must be defined for opt_design to complete successfully.” 检查工程代码提示的模块&#xff0c;该模块为纯手写的Veril…

使用AI赋能进行软件测试-文心一言

1.AI赋能的作用 提高速度和效率缺陷预测与分析 2.AI互动指令格式--文心一言 角色、指示、上下文例子、输入、输出 a 直接问AI 针对以下需求&#xff0c;设计测试用例。 需求&#xff1a; 1、账号密码登录系统验证账号和密码的正确性。 验证通过,用户登录成功,进入个人中心;验…

【优选算法】---前缀和

前缀和 一、【模板】一维前缀和二、【模板】二维前缀和三、寻找数组的中心下标四、除自身以外数组的乘积五、和为K子数组六、和可被 K 整除的子数组七、连续数组八、矩阵区域和 一、【模板】一维前缀和 一维前缀和&#xff0c;链接 1、预处理出来一个前缀和数组 注意&#xf…

C#学习 深入理解委托、匿名方法、Lamda表达式、Linq;

目录 一.委托 1.1 什么是委托 1.2 委托的使用 二.匿名方法和Lamda表达式 2.1 什么是匿名方法 2.2 Lambda表达式 三.Linq 3.1 Linq理解 3.2 Linq的扩展方法 一.委托 1.1 什么是委托 委托和类一样&#xff0c;是具有特定参数列表和返回值类型的方法函数的…

VSCode连接docker

1.启动ssh服务 vim /root/.bashrc 或者 vim ~/.bashrc /usr/sbin/sshd #启动ssh服务~代表主目录&#xff0c;cd ~会返回root目录 cd / 返回最根上的目录 为了防止每次打开容器都要输入此指令&#xff0c;我们直接在 ~/.bashrc文件最后一行添加sshd启动命令即可。 打开终端…

javase小项目--图书管理系统

前面我们已经学习到了javase的基本语法结构-继承&#xff0c;多态&#xff0c;接口&#xff0c;接下来就让我们大家一起来利用这些来手动实现一个小项目——简洁的图书管理系统 目录 1.思路 1.book类 1.book 2.booklist 2.user类 user AdminUser NormalUser 3.ioperat…

如何使用Pytorch-Metric-Learning?

文章目录 如何使用Pytorch-Metric-Learning&#xff1f;1.Pytorch-Metric-Learning库9个模块的功能1.1 Sampler模块1.2 Miner模块1.3 Loss模块1.4 Reducer模块1.5 Distance模块1.6 Regularizer模块1.7 Trainer模块1.8 Tester模块1.9 Utils模块 2.如何使用PyTorch Metric Learni…

传统CV算法——基于harris检测算法实现角点检测

角点 角点是图像中的一个特征点&#xff0c;指的是两条边缘交叉的点&#xff0c;这样的点在图像中通常表示一个显著的几角。在计算机视觉和图像处理中&#xff0c;角点是重要的特征&#xff0c;因为它们通常是图像中信息丰富的区域&#xff0c;可以用于图像分析、对象识别、3D…

JavaScript 循环控制语句-break和continue

break循环 首先i0&#xff0c;判断i是否<5,满足条件&#xff0c;判断i是否等于3&#xff0c;i不等于3&#xff0c;输出i0&#xff0c;i的值加1&#xff0c;判断i是否<5&#xff0c;判断i是否等于3&#xff0c;i不等于3&#xff0c;输出i1&#xff0c;i的值加1&#xff0c…

【H2O2|全栈】关于HTML(6)HTML基础(五 · 完结篇)

HTML基础知识 目录 HTML基础知识 前言 准备工作 标签的具体分类&#xff08;五&#xff09; 本文中的标签在什么位置中使用&#xff1f; 表单&#xff08;二&#xff09; 下拉选择菜单 文本域 案例 拓展标签 iframe框架 案例 预告和回顾 后话 前言 本系列博客介…

EasyExcel模板导出与公式计算(下)

目录 环境要求 功能预览 需求分析 导入依赖 制作模板 编写代码 格式优化 最终效果 总结 在上一篇 EasyExcel模板导出与公式计算&#xff08;上&#xff09;-CSDN博客 文章中我们知道了在若依中使用自带的Excel注解来实现表格数据的导出&#xff0c;并且通过重写相关接…

C++复习day07

一、继承 1.什么是继承&#xff1f;继承的意义是什么&#xff1f; 继承的概念 继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段&#xff0c;它允许程序员在保持原有类特性的基础上进行扩展&#xff0c;增加功能&#xff0c;这样产生新的类&#xff0c…

C++ STL 适配器

系列文章目录 模板特例化&#xff0c;偏特化&#xff0c;左右值引用 https://blog.csdn.net/surfaceyan/article/details/126794013 C STL 关联容器 https://blog.csdn.net/surfaceyan/article/details/127414434 C STL 序列式容器(二) https://blog.csdn.net/surfaceyan/arti…

项目实战系列三: 家居购项目 第四部分

购物车 &#x1f333;购物车&#x1f346;显示购物车&#x1f346;更改商品数量&#x1f346;清空购物车&&删除商品 &#x1f333;生成订单 &#x1f333;购物车 需求分析 1.会员登陆后, 可以添加家居到购物车 2.完成购物车的设计和实现 3.每添加一个家居,购物车的数量…