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

【云计算】虚拟私有云 VPC

虚拟私有云 VPC

  • 1.前言
    • 1.1 基本介绍
    • 1.2 VPC 的作用
    • 1.3 VPC 的适用人群
  • 2.VPC 基本概念
    • 2.1 VPC 相关基本概念
    • 2.2 其他相关基本概念
  • 3.VPC 通信场景
    • 3.1 VPC 内部互通
    • 3.2 VPC 间互通
      • 3.2.1 对等连接
      • 3.2.2 Transit Gateway 或者云联网
    • 3.3 访问 Internet
      • 3.3.1 Internet 网关
      • 3.3.2 NAT 网关
    • 3.4 访问本地网络
      • 3.4.1 VPN 连接
      • 3.4.2 专线接入
      • 3.4.3 SD_WAN 接入服务
    • 3.5 将本地网络扩展到云中
      • 3.5.1 将 VPC 资源扩展到本地扩展区
      • 3.5.2 将 VPC 资源扩展到 Outposts 中
      • 3.5.3 将 VPC 资源扩展到 Wavelength 区域
    • 3.6 PrivateLink 和 VPC Endponit
      • 3.6.1 VPC Endpoint
      • 3.6.2 PrivateLink
  • 4.云厂商 VPC 的对比
    • 4.1 私有网络的差别
    • 4.2 专线接入的差别
    • 4.3 Transit Gateway 或者云联网
    • 4.4 SD-WAN 接入服务
  • 5.总结和展望

1.前言

VPC 全称是 Virtual Private Cloud,翻译成中文是 虚拟私有云。但是在有些场合也被翻译成 私有网络 或者 专有网络 等。这里不免会让人产生疑惑,VPC 究竟是指云还是网络?其实,VPC 既是一种云,也是一种网络模式,不过这应该从服务和技术的角度分别来看。

1.1 基本介绍

从服务角度来看,VPC 指的是一种云,是一种云计算服务,是一种运行在公有云上,将一部分公有云资源为某个用户隔离出来,让这个用户私有使用的资源的集合。它由公有云管理,运行在公共资源上,但是保证每个用户之间的资源是隔离,用户在使用的时候不受其他用户的影响,感觉像是在使用自己的私有云一样。

从这种意义上看,VPC 不是网络,我们可以将 VPC 和它一个字面上相近的概念做对比:VPNVirtual Private Network)。VPN 在公共的网络资源上虚拟隔离出一个个用户网络,例如 IPsec VPN 可以是在互联网上构建连接用户私有网络的隧道,MPLS VPN 更是直接在运营商的 PE 设备上划分隔离的 VRF 给不同的用户。从提供服务的角度来说,如果 VPC 指的只是网络的话,那它跟 VPN 的概念是重复的。所以,从公有云所提供的服务来说,VPC 应该理解成,向用户提供的隔离资源的集合。

用户可以在公有云上创建一个或者多个 VPC,每个部门一个 VPC。对于需要连通的部门创建 VPC 连接。同时,用户也可以通过 VPN 将自己内部的数据中心与公有云上的 VPC 连接,构成混合云。不论哪种用例,VPC 都以更加直观形象让用户来设计如何在公有云上存放自己的数据。

从技术角度来看,VPC 是用户专属的一个二层网络。

1.2 VPC 的作用

用户可以通过 VPC 方便地管理、配置内部网络,进行安全、快捷的网络变更。同时,用户可以自定义安全组内与组间弹性云服务器的访问规则,加强弹性云服务器的安全保护。

1.3 VPC 的适用人群

VPC 专门针对那些有兴趣利用云计算优势,但对云的某些方面存在顾虑的客户而推出。为了满足客户需求,许多公共云供应商设计了一个 VPC,它提供了供应商公共基础设施的一部分,但具有为 VPC 客户保留的专用云服务器,虚拟网络,云存储和私有 ID 地址。

总的来说,VPC 是一种云计算服务,它有时还被称为 “私有云”,但由于 VPC 是通过第三方供应商基础架构而非企业 IT 基础架构提供的私有云,因此存在细微差别。

虚拟私有云为云服务器、云容器、云数据库等云上资源构建隔离、私密的虚拟网络环境。您可以完全掌控自己的专有网络,VPC 丰富的功能帮助您灵活管理云上网络,包括创建子网、设置安全组和网络 ACL、管理路由表、申请弹性公网 IP 和带宽等。此外,您还可以通过云专线、VPN 等服务将 VPC 与传统的数据中心互联互通,灵活整合资源,构建混合云网络。

VPC 使用网络虚拟化技术,通过链路冗余,分布式网关集群,多 AZ 部署等多种技术,保障网络的安全、稳定、高可用。

2.VPC 基本概念

虚拟私有网络Virtual Private CloudVPC)是用户构建的专属网络空间,云上的资源可以部署到虚拟网络中,和数据中心中运行的传统网络极其相似。不同私有网络间完全逻辑隔离。用户可以自定义网络环境、包括选择自己的 IP 地址范围、创建子网以及配置路由表和网络网关等,同时私有网络支持多种方式连接 Internet、连接其他 VPC、连接本地数据中心。

在这里插入图片描述

2.1 VPC 相关基本概念

VPC CIDR无类别域间路由Classless Inter-Domain Routing)是一个用于给用户分配 IP 地址以及在互联网上有效地路由 IP 数据包的对 IP 地址进行归类的方法。云厂商 VPC 的 CIDR 一般要求为 RFC 1918 中指定的私有(非公有可路由)IP 地址范围。

在这里插入图片描述
同时云厂商也支持 IPV6 的网络地址。为了限制私有网络的 IP 规模,一般是支持 16 位的地址,例如 10.0.0.0/16192.168.0.0/16,为了扩大单个 VPC 空间的 IP 数目,部分云厂商支持一个 VPC 多个 CIDR 的功能,如下图,VPC 从 10.0.0.0/16,扩展为 10.0.0.0/1610.2.0.0/16

在这里插入图片描述
子网:VPC 内的一个 IP 地址范围,子网一般从 VPC CIDR 内分配 Subnet CIDR,例如 VPC 的 CIDR 为 10.0.0.0/16,分配给子网为 10.0.0.0/2410.0.1.0/24

弹性网络接口:IP 地址使 VPC 中的资源能够相互通信以及与 Internet 上的资源进行通信。VPC 中的每个实例都有一个默认网络接口(主网络接口),系统会为该接口在 VPC 的 IPv4 地址范围内指定一个私有 IPv4 地址。一般情况,用户无法从实例(例如,子机)断开主网络接口,但可以创建其他网络接口并将其挂载至 VPC 中的任何实例,当将一个网络接口从一个实例移动到另一个实例时,网络流量也会重导向到新的实例。在 VPC 的实例中包括如下的虚拟网络接口:

  • 一个主要私有 IPv4 地址
  • 一个或多个辅助私有 IPv4 地址
  • 每个私有 IPv4 地址一个弹性 IP 地址
  • 一个公有 IPv4 地址,可在启动实例时自动分配给 eth0 的网络接口
  • 一个或多个 IPv6 地址
  • 一个或多个安全组
  • MAC 地址

路由表:一组称为 “路由” 的规则,它们用于确定将网络流量发送到何处。每个子网都必须关联一个路由表,这个路由表可指定允许出站流量离开子网的可用路由,每个子网都会自动关联 VPC 的主路由表,如下表所示。

DestinationTarget
10.0.0.0 / 16 10.0.0.0/16 10.0.0.0/16local

用户也可以自定义路由表和路由策略来控制流量的转发,如下图不同的路由表网络流量的转发路径不同。其中 igw-id 表示 Internet 网关 ID

在这里插入图片描述

网络网关:连接到 VPC 的网关,用于启用 VPC 中的资源与互联网之间的通信。例如 互联网网关NAT 设备 连接 VPC 和互联网,VPN 连接Direct Connect 连接 是连接 VPC 和用户的本地网络。

VPC 终端节点endpoint):将 VPC 私密地连接到支持的云服务和 VPC 终端节点服务(由 PrivateLink 提供支持),而无需互联网网关、NAT 设备、VPN 连接或 Direct Connect 连接。VPC 中的实例无需公有 IP 地址便可与服务中的资源通信。

2.2 其他相关基本概念

Region:区域或者大区,之间相互隔离,实现最大程度的容错能力和稳定性。
在这里插入图片描述

Availability Zones:每个区域都有多个相互隔离的位置,称为 可用区。当启动实例时,用户可以自己选择一个可用区。如果实例分布在多个可用区且其中的某个实例发生故障,则可对应用程序进行相应设计,以使另一可用区中的实例可代为处理相关请求。

在这里插入图片描述

Local Zones:目前 AWS 支持 Local Zones。本地区域 是在地理上靠近用户的 AWS 区域的扩展。本地区域拥有自己的 Internet 连接并支持 AWS Direct Connect,因此在本地区域中创建的资源可以为本地用户提供超低延迟的通信。

在这里插入图片描述

Wavelength Zones:目前 AWS 支持 Wavelength Zones。利用 AWS Wavelength,开发人员可以为移动设备和最终用户打造具有超低延迟的应用程序。Wavelength 可以将 AWS 标准计算和存储服务部署到电信运营商的 5G 网络边缘。开发人员可以将 VPC 扩展到一个或多个 Wavelength 区域,然后使用 Amazon EC2 实例等 AWS 资源来运行需要超低延迟并连接到区域中的 AWS 服务的应用程序。

在这里插入图片描述

3.VPC 通信场景

本章节主要介绍 VPC 的通信的场景。

3.1 VPC 内部互通

默认情况下,同 VPC 下的子网的子机是可以互通。例如 VPC 的 10.0.0.0/16 的子网 10.0.0.0/2410.0.1.0/24 关联的路由表会有一个目的网段为 10.0.0.0/16,Target 为 Local 的路由策略。

DestinationTarget
10.0.0.0 / 16 10.0.0.0/16 10.0.0.0/16local
2001 : d b 8 : 1234 : 1 a 00 : : / 56 2001:db8:1234:1a00::/56 2001:db8:1234:1a00::/56tgw-id

可以配置安全组(Security Group)和 ACL 使得同 VPC 的机器之间不互通。
在这里插入图片描述

3.2 VPC 间互通

3.2.1 对等连接

在这里插入图片描述
VPC 对等连接 是两个 VPC 之间的网络连接,通过此连接,用户可以使用私有 IPv4 地址或 IPv6 地址在两个 VPC 之间路由流量。这两个 VPC 中的实例可以彼此通信,就像它们在同一网络中一样。用户可以在自己的 VPC 之间创建 VPC 对等连接,或者在自己的 VPC 与其他账户中的 VPC 之间创建连接。VPC 可位于不同区域(Region)内。

3.2.2 Transit Gateway 或者云联网

AWS 的 Transit Gateway 是网络中转中心,可用它来 互连 VPC 和本地网络。阿里云类似的产品为 云企业网,腾讯云类似的产品为 云联网

在这里插入图片描述
每个 VPC 具有一个路由表,并且 Transit Gateway 具有一个路由表。

(1)VPC 路由表

每个 VPC 具有一个包含 2 个条目的路由表。第一个条目是 VPC 中本地 IPv4 路由的默认条目;此条目允许此 VPC 中的实例相互通信。第二个条目将所有其他 IPv4 子网流量路由到 Transit Gateway。

DestinationTarget
10.1.0.0 / 16 10.1.0.0/16 10.1.0.0/16local
0.0.0.0 / 0 0.0.0.0/0 0.0.0.0/0tgw-id

(2)Transit Gateway 路由表

默认路由,其中启用了路由传播。

DestinationTargetRoute Type
10.1.0.0 / 16 10.1.0.0/16 10.1.0.0/16Attachment for VPC Apropagated
10.2.0.0 / 16 10.2.0.0/16 10.2.0.0/16Attachment for VPC Bpropagated
10.3.0.0 / 16 10.3.0.0/16 10.3.0.0/16Attachment for VPC Cpropagated
10.99.99.0 / 24 10.99.99.0/24 10.99.99.0/24Attachment for VPN connectionpropagated

阿里云云企业网互通

在这里插入图片描述

腾讯云云联网互通

在这里插入图片描述

3.3 访问 Internet

3.3.1 Internet 网关

在这里插入图片描述
此场景的配置包含一个有单一公有子网的 VPC,以及一个 Internet 网关以启用 Internet 通信。

3.3.2 NAT 网关

在这里插入图片描述

公有子网中的实例可直接将出站流量发往 Internet,私有子网中的实例可使用位于公有子网中的 网络地址转换NAT)网关访问 Internet。例如,公有子网运行面向公众的 Web 应用程序,数据库服务器则位于私有子网之内而不想暴露后端服务,这样数据库服务器可以使用 NAT 网关连接到 Internet 进行软件更新,但 Internet 不能建立到数据库服务器的连接。

3.4 访问本地网络

3.4.1 VPN 连接

在这里插入图片描述
站点到站点 VPN 连接 由云端的 虚拟私有网关中转网关 与位于数据中心的 客户网关设备 之间的两条 VPN 隧道组成。客户网关设备是站点到站点 VPN 连接在用户这一端配置的实体设备或软件设备。

3.4.2 专线接入

在这里插入图片描述
Direct Connect 通过标准的以太网光纤电缆将用户的内部网络链接到 Direct Connect 位置。电缆的一端接到 用户的路由器,另一端接到 Direct Connect 路由器。有了此连接以后,用户就可以创建直接连接到云上服务,从而绕过网络路径中的 Internet 服务提供商。目前云厂商一般是支持两种接入,一种是用户直接连接到云厂商的 专线接入点;另外一种是用户连接到云厂商的 Partner,再由 Partner 连接到云厂商的专线接入点。

3.4.3 SD_WAN 接入服务

SD-WAN 接入服务SD-WAN Access Service)助力多分支轻松实现与云、数据中心的任意互联,具有即插即用、全球覆盖、智能管控等特性,为企业多分支提供更简单、可靠、智能的一站式的上云体验。

AWS 的 SD-WAN 是把合作伙伴的 SD-WAN 服务部署在 VPC 的机器中并且提供 Transit Gateway 和云网络的其他实例互通,阿里云和腾讯云会单独的售卖 SD-WAN 设备。

在这里插入图片描述
其中,Edge 设备为硬件设备形态,在用户 IDC、分支和门店安装 Edge 设备后,可自动与云网络连接。

在这里插入图片描述

3.5 将本地网络扩展到云中

注:本章节主要使用 AWS 的云服务进行介绍。

3.5.1 将 VPC 资源扩展到本地扩展区

把 VPC 的子网分配到 Local Zone 中,可以在靠近最终用户的地理位置运行各种云服务。本地区域具有本地 Internet 出入口,以降低延迟。本地区域还支持 Direct Connect,使用户有机会通过专用网络连接路由流量。

在这里插入图片描述

3.5.2 将 VPC 资源扩展到 Outposts 中

AWS Outposts 是一项完全托管的服务,可提供相同的云基础设施、云服务、API 和工具到几乎任何数据中心、主机托管空间或本地设施,以实现真正一致的混合体验。

Outposts 提供一套云的硬件和服务,对于私有网络 VPC 分配子网到 Outposts 中,其中有两种互通模型,一种是专线接入,另外一种是提供 Internel 互通。

(1)专线模式

在这里插入图片描述

(2)Internet 模式

在这里插入图片描述

3.5.3 将 VPC 资源扩展到 Wavelength 区域

在这里插入图片描述

Wavelength 可以将 AWS 标准计算和存储服务部署到电信运营商的 5G 网络边缘。开发人员可以将 Amazon VPC 扩展到一个或多个 Wavelength 区域,然后使用 Amazon Elastic Compute Cloud(EC2)实例等 AWS 资源来运行需要超低延迟并连接到区域中的 AWS 服务的应用程序。

3.6 PrivateLink 和 VPC Endponit

VPC 终端节点使用户能够将 VPC 私密地连接到支持的云服务和 VPC 终端节点服务(由 PrivateLink 提供支持),而无需互联网网关、NAT 设备、VPN 连接或 Direct Connect 连接。VPC 中的实例无需公有 IP 地址便可与服务中的资源通信。VPC 和其他服务之间的通信不会离开云网络。例如云服务商提供的 DNS 服务,可以不需要通过访问 Internet 的 DNS 服务,可以在云服务商的内部环境完成 DNS 服务的访问。

3.6.1 VPC Endpoint

通过 VPC 终端节点可在用户的 VPC 与云服务以及由 PrivateLink 支持的 VPC 终端节点服务之间建立私有连接。

Interface Endpoints:一个弹性网络接口,具有来自子网 IP 地址范围的私有 IP 地址,用作发送到受支持的服务的通信的入口点。

在这里插入图片描述
子网 1 中的实例可以使用其默认 DNS 名称,通过 AWS 区域中的公有 IP 地址空间与 Amazon Kinesis Data Streams 通信。

在这里插入图片描述
在上图中,为终端节点启用私有 DNS。任一子网中的实例都可以使用默认的 DNS 主机名或特定于终端节点的 DNS 主机名,通过接口终端节点向 Amazon Kinesis Data Streams 发送请求。

Gateway Load Balancer Endpoints:是一个网关,作为在路由表中指定的路由的目标,用于发往受支持的云服务的流量,例如 AWS 的 Amazon S3,DynamoDB,腾讯云的 COS,CDB 等服务。

在这里插入图片描述
子网 2 中的实例可通过网关终端节点访问 Amazon S3。

3.6.2 PrivateLink

服务提供方在 VPC 中创建自己的应用程序并将其配置为 PrivateLink 支持的服务(也称作终端节点服务)。其他用户可以使用接口 VPC 终端节点,在他们的 VPC 和你的终端节点服务之间创建连接。

PrivateLink 服务提供商配置在其 VPC 中运行服务的实例,并以 Network Load Balancer 为前端,将 区域内 VPC 对等连接(VPC 在同一区域中)和 区域间 VPC 对等连接(VPC 在不同的区域中)与 PrivateLink 结合使用,可允许跨 VPC 对等连接对使用者进行私有访问。

在这里插入图片描述

4.云厂商 VPC 的对比

对于 VPC,主流的云厂商基本上的功能和实现类似。在 VPC 的连接方面,云厂商的基本功能也类似,细节有细微的产品,产品的能力有部分差异。

4.1 私有网络的差别

Google Cloud PlatformGCP)的私有网络和其他云厂商有差别。GCP VPC 的特点:

  • VPC 网络(包括其关联的路由和防火墙规则)属于全球性资源,它们与任何特定地区或区域均无关联。
  • 子网属于地区性资源。每个子网都会定义一个 IP 地址范围。

在这里插入图片描述

4.2 专线接入的差别

国内的云厂商阿里云和腾讯云等会支持专线接入的静态路由和 BGP 动态路由,AWS 只支持 BGP 动态路由。而专线接入也有是否支持 NAT 的差别。

4.3 Transit Gateway 或者云联网

目前 Transit Gateway 是负责本地网络实例的连接和互通,跨地域需要借助 Transit Gateway Peering,而腾讯云的云联网,阿里云的云企业网可以支持不同地域的网络实例连接和互通。在路由控制方便,AWS 的使用多路由表,控制粒度更细。

4.4 SD-WAN 接入服务

AWS 的 SD-WAN 是把合作伙伴的 SD-WAN 服务部署在 VPC 的机器中并且提供 Transit Gateway 和云网络的其他实例互通,阿里云和腾讯云会单独的售卖 SD-WAN 设备。

5.总结和展望

私有网络 VPC 作为 IaaS 层基础设施之一,类似高速公路或高铁的在国民经济的作用,一直在不断的追求高速上云,全球互联的愿景,而云上私有网络 VPC 的发展是云基础设施和服务不断的扩张和完善的真实写照。相信未来私有网络 VPC 也能继续的扩展新的应用场景和服务,助力云上和云下的服务的高效智能的互联互通。

相关文章:

【云计算】虚拟私有云 VPC

虚拟私有云 VPC 1.前言1.1 基本介绍1.2 VPC 的作用1.3 VPC 的适用人群 2.VPC 基本概念2.1 VPC 相关基本概念2.2 其他相关基本概念 3.VPC 通信场景3.1 VPC 内部互通3.2 VPC 间互通3.2.1 对等连接3.2.2 Transit Gateway 或者云联网 3.3 访问 Internet3.3.1 Internet 网关3.3.2 NA…...

@EventListener 监听事件 ,在同一个虚拟机中如何保证顺序执行

文章目录 前言EventListener 监听事件 ,在同一个虚拟机中如何保证顺序执行1. 设计原理2. 具体编码2.1. 编码事件监听器2.2. 制作一个生成序号方法2.3. 制作测试代码2.4. 测试结果 前言 如果您觉得有用的话,记得给博主点个赞,评论,…...

数据结构入门 — 树的概念与结构

本文属于数据结构专栏文章,适合数据结构入门者学习,涵盖数据结构基础的知识和内容体系,文章在介绍数据结构时会配合上动图演示,方便初学者在学习数据结构时理解和学习,了解数据结构系列专栏点击下方链接。 博客主页&am…...

linux驱动开发day6--(epoll实现IO多路复用、信号驱动IO、设备树以及节点和属性解析相关API使用)

一、IO多路复用--epoll实现 1.核心: 红黑树、一张表以及三个接口、 2.实现过程及API 1)创建epoll句柄/创建红黑树根节点 int epfdepoll_create(int size--无意义,>0即可)----------成功:返回根节点对应文件描述符&#xf…...

9月15日作业

Qt代码 #include "mywnd.h"//构造函数的定义 mywnd::mywnd(QWidget *parent): QWidget(parent) //显性调用父类的有参构造完成对子类从父类继承下来成员的初始化工作 {//窗口设置this->resize(QSize(500, 433));this->setWindowTitle("Widget&quo…...

关于Java多线程的那些事

多线程 多线程1. 关于多线程的理解1.1 进程和线程1.2 并行和并发1.3 线程调度 2. 创建多线程的方式创建线程有哪几种方式?2.1 通过继承Thread类来创建并启动线程的步骤如下:2.2 通过实现Runnable接口来创建并启动线程的步骤如下:2.3 通过实现…...

信息化项目验收的依据、内容和验收测评报告

随着信息系统业务覆盖率的提高和深度整合创新的逐步提高,信息系统运行阶段的复杂性和资源比例逐渐增加。一方面,信息已成为业务创新、技术应用和运营服务的综合体,而不仅仅是技术平台建设。另一方面,信息采购是技术平台建设。另一…...

解决IntelliJ IDEA执行maven打包,执行java -jar命令提示jar中没有主清单属性

问题场景 IDEA执行mvn clean package -DskipTesttrue命令或者借助工具的Maven菜单进行打包操作,然后执行java -jar app.jar命令后,提示jar中没有主清单属性 D:\WorkSpace\demo\target>java -jar demo-SNAPSHOT.jar demo-SNAPSHOT.jar中没有主清单属性…...

Python--文件和异常

目录 1、读取文件 1.1 读取文件的全部内容 1.2 相对路径和绝对路径 1.3 访问文件中的各行 1.4 使用文件中的内容 1.5 包含100万位的大型文件 1.6 圆周率中的生日 2、写入文件 2.1 写入一行 2.2 写入多行 3、异常 3.1 处理ZeroDivisionError 异常 3.2 使用try-exce…...

IDEFICS 简介: 最先进视觉语言模型的开源复现

我们很高兴发布 IDEFICS ( Image-aware Decoder Enhanced la Flamingo with Ininterleaved Cross-attention S ) 这一开放视觉语言模型。IDEFICS 基于 Flamingo,Flamingo 作为最先进的视觉语言模型,最初由 DeepMind 开发,但目前尚未公开发布…...

玩转Mysql系列 - 第20篇:异常捕获及处理详解

这是Mysql系列第20篇。 环境:mysql5.7.25,cmd命令中进行演示。 代码中被[]包含的表示可选,|符号分开的表示可选其一。 需求背景 我们在写存储过程的时候,可能会出现下列一些情况: 插入的数据违反唯一约束&#xff…...

一些工具类

1、字符串处理工具类 1.1、StrUtils package com.study.java8.util;/*** Classname:StrUtils* Description:字符串工具类* Date:2023/9/9 9:37* Author:jsz15*/import org.apache.commons.lang.text.StrBuilder; import org.apa…...

20230916后台面经整理

1.面对抢优惠券这样的高负载场景,你从架构、负载均衡等方面说一下你的设计? 答了参考Nginx进行负载均衡,然后在每台服务器怎么怎么弄(架构每一层怎么设计) 参考https://toutiao.io/posts/6z3uu2m/preview,h…...

如何通过快解析测试接口内外网?本地内网ip让外网访问连接

接口调试测试是网络技术员经常工作内容之一。如在公司内部api项目webserver测试,在公司内办公室个人电脑是正常用内网IP访问连接测试的,但在外网电脑需要远程测试时需要怎么测试呢?这里提供一种内网地址让外网访问的通用方法:快解…...

用c++实现五子棋小游戏

五子棋是一款经典小游戏,今天我们就用c实现简单的五子棋小游戏 目录 用到的算法: 思路分析 定义变量 开始写代码 完整代码 结果图: 用到的算法: 合法移动的判断:isValidMove 函数通过检查指定位置是否在棋盘范…...

Android 12.0 SystemUI下拉状态栏定制化之隐藏下拉通知栏布局功能实现(二)

1.前言 在12.0的系统定制化开发中,由于从12.0开始SystemUI下拉状态栏和11.0的变化比较大,所以可以说需要从新分析相关的SystemUI的 布局,然后做分析来实现不同的功能,今天就开始实现关于隐藏SystemUI下拉状态栏中的通知栏布局系列二,去掉下拉状态栏中 通知栏部分 白色的…...

通过finalshell快速在ubuntu上安装jdk1.8

这篇文章主要介绍一下怎么通过finalshell连接ubuntu,然后在ubuntu上安装jdk1.8,让不熟悉linux操作系统的童鞋也能快速地完成安装。 目录 一、准备一台虚拟机 二、安装finalshell远程连接工具 三、获取ubuntu虚拟机的ip地址 四、通过finalshell连接u…...

【Linux从入门到精通】多线程 | 线程互斥(互斥锁)

上篇文章我们对线程 | 线程介绍&线程控制介绍后,本篇文章将会对多线程中的线程互斥与互斥锁的概念进行详解。同时结合实际例子解释了可重入与不被重入函数、临界资源与临界区和原子性的概念。希望本篇文章会对你有所帮助。 文章目录 引入 一、重入与临界 1、1 可…...

Echarts 散点图的详细配置过程

文章目录 散点图 简介配置步骤简易示例 散点图 简介 Echarts散点图是一种常用的数据可视化图表类型,用于展示两个或多个维度的数据分布情况。散点图通过在坐标系中绘制数据点的位置来表示数据的关系。 Echarts散点图的特点如下: 二维数据展示&#xff…...

Nginx详解 五:反向代理

文章目录 1. 正向代理和反向代理1.1 正向代理概述1.1.1 什么是正向代理1.1.2 正向代理的作用1.1.3 正向代理的基本格式 1.2 反向代理概述1.2.1 什么是反向代理1.2.2 反向代理可实现的功能1.2.3 反向代理的可用模块 2. 配置反向代理2.1 反向代理配置参数2.1.1 proxy_pass2.1.2 其…...

【PDF密码】PDF文件打开之后不能打印,怎么解决?

正常的PDF文件是可以打印的,如果PDF文件打开之后发现文件不能打印,我们需要先查看一下自己的打印机是否能够正常运行,如果打印机是正常的,我们再查看一下,文件中的打印功能按钮是否是灰色的状态。 如果PDF中的大多数功…...

深入解析 qsort 函数(下),用冒泡排序模拟实现 qsort 函数

前言:对于库函数有适当了解的朋友们,对于 qsort 函数想必是有认知的,因为他可以对任意数据类型进行排序的功能属实是有点厉害的,本次分享,笔者就给大家带来 qsort 函数的全面的解读 本次知识的分享笔者分为上下俩卷文章…...

Azure + React + ASP.NET Core 项目笔记一:项目环境搭建(二)

有意义的标题 pnpm 安装umi4 脚手架搭建打包语句变更Visual Studio调试Azure 设置变更发布 pnpm 安装 参考官网,或者直接使用npm安装 npm install -g pnpmumi4 脚手架搭建 我这里用的umi4,官网已附上 这里需要把clientapp清空,之后 cd Cl…...

Vmware通过VMware tools设置共享文件夹

步骤说明: 先安装VMware tools,再设置共享文件夹即可。 写在前面: 刚安装虚拟机时,窗口可能显得太小,这是窗口分辨率没有调整导致的。 点击设置->显示->分辨率调整即可 一、安装VMware tools 1.1 点击虚拟机…...

RPA机器人流程自动化专题培训大纲 (针对大学生的版本)

一、课程简介 RPA机器人流程自动化是一种新兴的技术,它通过软件机器人模拟人类操作计算机完成重复性任务,从而实现业务流程的自动化。本课程旨在介绍RPA机器人流程自动化的基本概念、原理和应用,并通过实践案例演示如何应用RPA机器人流程自动…...

数据在内存中的存储——练习4

题目&#xff1a; int main() {char a[1000];int i;for(i0; i<1000; i){a[i] -1-i;}printf("%d",strlen(a));return 0; }思路分析&#xff1a; 已知条件&#xff1a; 通过循环遍历&#xff0c;我们得到的结果是 -1、-2、-3、-4等等。这些是数组内部的存储的元…...

Python 06 之面向对象基础

&#x1f600;前言 在日常编程和软件开发中&#xff0c;我们通常会遇到各种各样的问题&#xff0c;其中很多问题都可以通过面向对象的程序设计方法来解决。面向对象编程不仅可以使代码更加组织化和系统化&#xff0c;而且还可以提高代码的重用性和可维护性。 . 在本教程中&…...

去除pdf/word的水印艺术字

对于pdf中的水印如果无法去除水印&#xff0c;则先另存为word&#xff0c;然后再按下面办法处理即可&#xff1a; 查看宏&#xff0c;创建&#xff1a;删除艺术字 添加内容&#xff1a; Sub 删除艺术字()Dim sh As ShapeFor Each sh In ActiveDocument.ShapesIf sh.Type msoT…...

【Linux】使用 Alist 实现阿里云盘4K播放

一、安装 Alist 官方文档 默认安装在 /opt/alist 中 curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s install自定义安装路径&#xff0c;将安装路径作为第二个参数添加&#xff0c;必须是绝对路径&#xff0c;如果路径以 alist 结尾&#xff0c;则直接安装到给定…...

Gof23设计模式之状态模式

1.概述 【例】通过按钮来控制一个电梯的状态&#xff0c;一个电梯有开门状态&#xff0c;关门状态&#xff0c;停止状态&#xff0c;运行状态。每一种状态改变&#xff0c;都有可能要根据其他状态来更新处理。例如&#xff0c;如果电梯门现在处于运行时状态&#xff0c;就不能…...

怎么去掉wordpress加载动画/什么是seo营销

公众号迁移的话就是是公众号A可以向公众号B实现功能上的迁移和部分内容选择性转移。公众号不支持直接变更主体。公众平台推出帐号迁移功能&#xff0c;通过此功能可将A账号的粉丝、文章素材(可选)、违规记录、以及带有的留言功能、原创保护功能迁移至B帐号。帐号A迁移至B&#…...

免费好用的网页制作工具/关键词优化精灵

作者&#xff1a;雷远缘 编辑&#xff1a;毕小烦 一. 先知道小程序是什么 啥是小程序&#xff1f; “小程序是一种不需要下载安装即可使用的应用&#xff0c;它实现了应用 “触手可及” 的梦想&#xff0c;用户扫一扫或者搜一下即可打开应用。也体现了 “用完即走” 的理念&am…...

东莞工业品网站建设/如何做平台推广赚钱

编写函数&#xff0c;参数是两个非负整数n和m,返回组合数 &#xff0c; 其中m<n<25。例如&#xff0c;n25,m12时答案为5200300。转载于:https://www.cnblogs.com/jjzzx/p/5338052.html...

网站怎么做漂亮点/绍兴seo网站管理

在Python的交互式命令行写程序&#xff0c;好处是一下就能得到结果&#xff0c;坏处是没法保存&#xff0c;下次还想运行的时候&#xff0c;还得再敲一遍。 所以&#xff0c;实际开发的时候&#xff0c;我们总是使用一个文本编辑器来写代码&#xff0c;写完了&#xff0c;保存为…...

云南网站建设优选平台/长沙seo关键词

1 .责任分配矩阵展示项目资源在各个&#xff08;&#xff09;中的任务分配&#xff1f; A.工作包 B.项目活动 4 .在虚拟团队环境中&#xff0c;&#xff08;&#xff09;规划变得日益重要&#xff1f; A.资源 B.沟通 参考答案 A B...

工信部网站备案系统/网站推广的渠道有

冯.诺依曼体系结构,个人的理解:物理电学补充:所有的物质,是由分子或原子组成的。分子是能保持物质化学性质不变的最小微粒。分子是由原子组成的&#xff0c;可分为单原子分子和多原子分子。原子的原子核式结构&#xff1a;原子的中心为原子核&#xff0c;电子在不同轨道上绕着原…...