2022 年全国职业院校技能大赛高职组云计算正式赛卷第二场-容器云

2022 年全国职业院校技能大赛高职组云计算赛项试卷

云计算赛项第二场-容器云

目录

2022 年全国职业院校技能大赛高职组云计算赛项试卷

【赛程名称】云计算赛项第二场-容器云

【任务 1】容器云平台搭建[5 分]

【任务 2】容器云应用部署: Docker Compose 编排部署[7.0 分]

【任务 3】容器云应用部署: 基于 Kubernetes 构建 CICD[8.0 分]

【任务 4】容器云服务运维: Kubernetes 基于容器的运维[6 分]

【任务 5】容器云服务运维: Kubernetes  基于虚拟机的运维[4.0 分]

【任务 6】容器云运维开发:Kubernetes APIs 运维开发[10 分]

需要竞赛软件包环境可私信博主!

说明: 完成本任务需要两台安装了 CentOS7.9  操作系统的云主机: master   node

Chinaskill_Cloud_PaaS.iso 镜像包中有本次容器云部署所需的所有文件, 运维所需的文件见附件。

某公司技术部产品开发上线周期长, 客户的需求经常得不到及时响应。引入 CICD

(Continuous Integration 持续集成、Continuous Delivery 持续交付)  成了公司的当务之急,  发团队决定搭建基于 Kubernetes   CICD 环境,希望基于这个平台来实现 DevOps 的部分流

程,来减轻开发、部署、运维的负担。

为了能够让公司开发的 web 应用系统产品能够基于服务器的性能、可靠性、高可用性

与方便维护,研发部决定使用微服务架构,实现基于 Kubernetes 的容器化部署。

节点规划如表 1 所示。

 1 容器云平台节点规划

节点角色

主机名

VCPUS

内存

硬盘

Master Harbor CICD

master

8

12G

100G

Worker Node

node

8

8G

100G

【任务 1】容器云平台搭建[5 ]

【适用平台】私有云

【题目 1】平台部署--部署容器云平台[1.5 ]

登录 OpenStack 私有云平台,使用 CentOS7.9 镜像创建两台云主机,使用 kubeeasy 工具 完成 Kubernetes 1.22.1 集群的搭建。然后使用 nginx 镜像在 default 命名空间下创建一个名为

exam  Pod,并为该 Pod 设置环境变量 exam,其值为 2022

完成后提交 master 节点的用户名、密码和 IP 到答题框。

1.Kubernetes 集群部署成功得 1 分;

2.Pod 创建成功且环境变量设置正确得 0.5 分。

【题目 2】平台部署--部署 Istio 服务网格[0.5 ]

 Kubernetes 集群上完成 Istio 服务网格环境的安装, 然后新建命名空间 exam,为该命

名空间开启自动注入 Sidecar

完成后提交 master 节点的用户名、密码和 IP 到答题框。

1.Istio 所有组件运行成功得 0.3 分;

2.命名空间 exam 自动注入成功得 0.2 分。

【题目 3】平台部署--部署 KubeVirt 虚拟化[1 ]

 Kubernetes 集群上完成 KubeVirt 虚拟化环境的安装。

完成后提交 master 节点的用户名、密码和 IP 到答题框。

1.KubeVirt 所有组件运行成功得 1 分。

【题目 4】平台部署--部署 Harbor 仓库及 Helm 包管理工具[1 ]

 master 节点上完成 Harbor 镜像仓库及 Helm 包管理工具的部署。然后使用 nginx 镜像 自定义一个 Chart Deployment 名称为 nginx,副本数为 1,然后将该 Chart 部署到 default

命名空间下,Release 名称为 web

完成后提交 master 节点的用户名、密码和 IP 到答题框。

1.Harbor 仓库部署成功得 0.5 分;

2.Helm 工具安装成功得 0.2 分;

3.Chart 包部署成功得 0.3 分。

【题目 5】集群管理--备份 ETCD 数据[1 ]

Kubernetes 使用 ETCD 来存储集群的实时运行数据,为防止服务器宕机导致 Kubernetes

集群数据丢失, 请将 Kubernetes 集群数据备份到/root/etcd.db 中。

完成后提交 master 节点的 IP 地址、用户名和密码到答题框。

1.etcdctl 工具安装成功得 0.2 分;

2.ETCD 数据备份成功得 0.8 分。

【任务 2】容器云应用部署: Docker Compose 编排部署[7.0 ]

【适用平台】私有云

Hyperf 是一个高性能、高灵活性的渐进式 PHP 协程框架, 内置协程服务器及大量常用 的组件,性能较传统基于 PHP-FPM 的框架有质的提升, 提供超高性能的同时,也保持着极 其灵活的可扩展性。请根据要求完成数据库服务 MariaDB、缓存服务 Redis、微服务 Hyperf

及前端服务 Nginx 按照要求进行容器化。

【题目 1】容器化 MariaDB 服务[1 ]

编写Dockerfile 文件构建hyperf-mariadb:v1.0 镜像,具体要求如下:(需要用到的软件包:

Hyperf.tar.gz

1)基础镜像:centos:7.9.2009

2)完成 MariaDB 服务的安装;

3)声明端口:3306

4)设置数据库 root 用户的密码为 root

5)将提供的数据库文件 hyperf_admin.sql 导入数据库;

6)设置服务开机自启。

完成后构建镜像,并提交 master 节点的用户名、密码和 IP 地址到答题框。

1.镜像构建成功得 0.5 分;

2.数据库安装且导入数据成功得 0.5 分。

【题目 2】容器化 Redis 服务[1 ]

编写 Dockerfile 文件构建 hyperf-redis:v1.0 镜像,具体要求如下:(需要用到的软件包:

Hyperf.tar.gz

1)基础镜像:centos:7.9.2009

2)安装 Redis 服务;

3)关闭保护模式;

4)声明端口:6379

5)设置服务开机自启。

完成后构建镜像,并提交 master 节点的用户名、密码和 IP 地址到答题框。

1.镜像构建成功的 0.5 分;

2.Redis 服务安装成功且配置正确得 0.5 分。

【题目 3】容器化 Nginx 服务[0.5 ]

编写 Dockerfile 文件构建 hyperf-nginx:v1.0 镜像, 具体要求如下:(要用到的软件包:

Hyperf.tar.gz

1)基础镜像:centos:7.9.2009

2)安装 nginx 服务;

3)声明端口:80

4)设置服务开机自启。

完成后构建镜像,并提交 master 节点的用户名、密码和 IP 地址到答题框。

1.镜像构建成功得 0.3 分;

2.Nginx 安装成功且配置正确得 0.2 分。

【题目 4】容器化 Hyperf 服务[1 ]

编写 Dockerfile 文件构建 hyperf-service:v1.0 镜像,具体要求如下:(需要用到的软件包:

Hyperf.tar.gz

1)基础镜像:centos:7.9.2009

2)安装 PHP 及扩展;

3)使用源码编译安装 Swoole

完成后构建镜像,并提交 master 节点的用户名、密码和 IP 地址到答题框。

1.镜像构建成功得 0.5 分;

2.PHP 安装成功得 0.2 分;

3.Swoole 安装成功得 0.3 分。

【题目 5】编排部署 Hyperf 框架[3.5 ]

编写/root/hyperf/project/docker-compose.yaml 文件,具体要求如下:

1)容器 1 名称: hyperf-mysql;镜像:hyperf-mariadb:v1.0;端口映射: 3306:3306

2)容器 2 名称: hyperf-redis;镜像:hyperf-redis:v1.0

3)容器 3 名称: hyperf-ui;镜像:hyperf-nginx:v1.0;端口映射: 80:8081

4)容器 4 名称: hyperf-service;镜像: hyperf-service:v1.0

完成后编排部署 Hyperf 框架,并提交 master 节点的用户名、密码和 IP 地址到答题框。

1.docker-compose.yaml 文件编排成功得 1.5 分;

2.8081 端口访问服务成功得 1 分;

3.Hyperf-service 连接数据库和 Redis 成功得 1 分。

【任务 3】容器云应用部署: 基于 Kubernetes 构建 CICD[8.0 ]

该公司决定采用 Kubernetes + GitLab CI 来构建 CICD 环境, 以缩短新功能开发上线周 期, 及时满足客户的需求,实现 DevOps 的部分流程, 来减轻部署运维的负担, 实现可视化 容器生命周期管理、应用发布和版本迭代更新,请完成 GitLab CI + Kubernetes  CICD  境部署(构建持续集成所需要的所有软件包在软件包 CICD-Runner.tar.gz 中)。CICD 应用系

统架构如下:

【适用平台】私有云

【题目 1】安装 GitLab 环境[1 ]

Kubernetes 集群中新建命名空间 gitlab-ci,将 GitLab 部署到该命名空间下,Deployment  Service 名称均为 gitlab,以 NodePort 方式将 80 端口对外暴露为 30880,设置 GitLab 服务 root  用户的密码为 admin@123,将项目包 demo-2048.tar.gz  导入到 GitLab   中并命名为demo-2048。

完成后提交 master 节点的用户名、密码和 IP 地址到答题框。(需要用到的软件包路径

CICD-Runner.tar.gz

1.GitLab 部署正确且能正常访问得 0.5 分;

2.项目导入成功得 0.5 分。

【题目 2】部署 GitLab Runner[2 ]

 GitLab  Runner 部署到 gitlab-ci 名空间下,Release 名称为 gitlab-runner,为 GitLab Runner 创建持久化构建缓存目录/home/gitlab-runner/ci-build-cache 以加速构建速度, 并将其注册到 GitLab 中。完成后提交 master 节点的用户名、密码和 IP 地址到答题框。(需要用到的软件包路径CICD-Runner.tar.gz)

1.GitLab Runner 部署成功得 0.5 分;

2.GitLab Runner 注册成功得 0.5 分;

3.GitLab Runner 持久化配置成功得 1 分。

【题目 3】配置 GitLab[1.5 ]

 Kubernetes 集群添加到 demo-2048 项目中, 并命名为 kubernetes-agent,项目命名空

间选择 gitlab-ci

完成后提交 master 节点的用户名、密码和 IP 地址到答题框。(需要用到的软件包路径

CICD-Runner.tar.gz

1.GitLab Agent 安装成功得 1 分;

2.Kubernetes 连接成功得 0.5 分。

【题目 4】构建 CICD[3.5 ]

编写流水线脚本.gitlab-ci.yml 触发自动构建, 具体要求如下:

1)基于镜像 maven:3.6-jdk-8 构建项目的 drone 分支;

2)构建镜像的名称: demo:latest

3)将镜像推送到 Harbor 仓库 demo 项目中;

4)将 demo-2048 应用自动发布到 Kubernetes 集群 gitlab-ci 命名空间下。

完成后提交 master 节点的用户名、密码和 IP 地址到答题框。(需要用到的软件包路径

CICD-Runner.tar.gz

1.项目变异成功得 0.5 分;

2.镜像构建成功得 1 分;

3.服务发布成功得 1 分;

4.服务能正常访问得 1 分。

【任务 4】容器云服务运维: Kubernetes 基于容器的运维[6 ]

【适用平台】私有云

【题目 1Pod 管理--创建 Pod[0.5 ]

 default 命名空间下使用 nginx:latest 镜像创建一个 QoS 类为 Guaranteed  Pod,名称

 qos-demo

完成后提交 master 节点的 IP 地址、用户名和密码到答题框。

1.Pod 创建成功得 0.2 分;

2.Pod QoS 类型为 Guaranteed  0.3 分。

【题目 2】安全管理--配置 Pod 安全上下文[0.5 ]

使用 busybox 镜像启动一个名为 context-demo  Pod,为该 Pod 配置安全上下文, 要求

容器内以用户 1000 和用户组 3000 来运行所有进程,并在启动时执行“sleep 1h”命令。

完成后提交 master 节点的 IP 地址、用户名和密码到答题框。

1.Pod 安全上下午配置正确得 0.5 分。

【题目 3CRD 管理--创建自定义资源类型[0.5 ]

 Kubernetes 集群中自定义一种资源类型 StudentAPI  stable.example.com/v1,单数 形式为 student,复数形式为 students,简写为 stu,作用域为命名空间级,然后在 default 

名空间下创建一个名为 exam  Student 对象。

完成后提交 master 节点的 IP 地址、用户名和密码到答题框。

1.资源类型 Student 定义成功的 0.3 分;

2.exam 创建成功得 0.2 分。

【题目 4】解析管理--添加主机别名到 Pod[0.5 ]

使用 nginx 镜像在 default 命名空间下创建一个名为 nginx  Pod,并 Pod /etc/hosts

中添加 IP 地址 127.0.0.1  chinaskills 的解析。

完成后提交 master 节点的 IP 地址、用户名和密码到答题框。

1.自定义解析配置正确得 0.5 分。

【题目 5HPA 管理--创建 HPA 规则[1 ]

默认情况下 HPA 是无法调整伸缩灵敏度的,但不同的业务场景对伸缩灵敏度的要求不 一样。要求在 default 命名空间下使用 nginx 镜像创建一个名为 web  deployment,自定义 HPA 的伸缩灵敏度, 为该 deployment 创建一个名为 web  HPA,扩容时立即新增当前 9  数量的副本数, 时间窗口为 5s,伸缩范围为 1-- 1000。例如一开始只有 1  Pod,当 CPU 使

用率超过 80%时, Pod 数量变化趋势为: 1   10   100   1000

完成后提交 master 节点的 IP 地址、用户名和密码到答题框。

1.HPA 创建成功得 0.2 分;

2.HPA 伸缩策略配置正确得 0.8 分。

【题目 6】节点亲和性管理--创建硬限制规则的 Pod[0.5 ]

default  命名空间下使用 nginx  镜像运行一个 Pod ,名称为 nginx ,要求使用 requiredDuringSchedulingIgnoredDuringExecution 策略将 Pod 调度到具有“disktype=ssd”标

签的节点。

完成后提交 master 节点的用户名、密码和 IP 到答题框。

1.Pod 调度策略配置正确得 0.5 分。

【题目 7】网络策略管理--创建 Pod 网络策略[0.5 ]

创建一个网络策略 network-exam,要求只有 internal 命名空间下的 Pod 可以通过 TCP

协议的 8080 端口访问到 mysql 命名空间下的 Pod

完成后提交 master 节点的 IP、用户名和密码到答题框。

1.网络策略创建成功得 0.2 分;

2.规则配置正确得 0.3 分。

【题目 8】驱逐机制管理--配置节点压力驱逐[0.5 ]

设置kubelet 数据存储在/apps/data/kubelet 目录下,并设置当kubelet 的存储空间不足 5%

或者当容器运行时文件系统可用存储空间不足 5%时开始驱逐 Pod

完成后提交 master 节点的 IP 地址、用户名和密码到答题框。

1.节点压力驱逐配置正确得 0.5 分。

【题目 9】流量管理--创建 Ingress Gateway[0.5 ]

使用提供的软件包 ServiceMesh.tar.gz  Bookinfo 应用部署到 default 命名空间下, 使用 Istio  Gateway     现应 用程     访     Bookinfo   用创      bookinfo-gateway 的网关,指定所 HTTP 流量通过 80 端口流入网格,然后将网关绑定到虚

拟服务 bookinfo 上。

完成后提交 master 节点的 IP 地址、用户名和密码到答题框。

1.Bookinfo 应用部署成功得 0.2 分;

2.Bookinfo 能通过网关访问得 0.3 分。

【题目 10】服务网格--创建基于用户身份的路由[0.5 ]

创建一个名为 reviews  路由,要求来自名为 Jason  的用户的所有流量将被路由到服务

reviews:v2

完成后提交 master 节点的用户名、密码和 IP 到答题框。

1.路由创建成功得 0.2 分;

2.用户限制正确得 0.3 分。

【题目 11】服务网格--创建请求路由[0.5 ]

default 命名空间下创建一个名为reviews-route 的虚拟服务,默认情况下,所有的HTTP 流量都会被路由到标签为 version:v1  reviews 服务的 Pod 上。此外, 路径以/wpcatalog/ /consumercatalog/开头的 HTTP 请求将被重写/newcatalog,并被发送到标签为 version:v2 

Pod 上。

完成后提交 master 节点的 IP 地址、用户名和密码到答题框。

1.请求路由创建成功得 0.2 分;

2.路由策略配置正确得 0.3 分。

【任务 5】容器云服务运维: Kubernetes  基于虚拟机的运维[4.0 ]

【适用平台】私有云

【题目 1VM 管理--创建 VM[0.5 ]

使用镜像 fedora-virt:v1.0  default 命名空间下创建一台 vm,名称为 vm-fedora,内存为

1G

完成后提交 master 节点的 IP 地址、用户名和密码到答题框。

1.VM 创建成功得 0.3 分;

2.VM 配置正确得 0.2 分。

【题目 2】存储与卷--创建 emptyDisk [1 ]

使用镜像 fedora-virt:v1.0  default 命名空间下创建一台 vmi,名称为 vmi-fedora ,并使

 emptyDisk 卷为 vmi 挂载一块 2G 的磁盘。

完成后提交 master 节点的 IP 地址、用户名和密码到答题框。

1.VMI 创建成功得 0.4 分;

2.卷挂载成功得 0.6 分。

【题目 3KubeVirt 运维--创建 VMI[1.5 ]

将提供的镜像 exam.qcow2 转换为 docker 镜像 exam:v1.0,然后使用镜像 exam:v1.0 镜像  default 命名空间下创建一台 vmi,名称为 exam,将虚拟机的 80 端口以 NodePort 的方式

对外暴露为 30082,并使用数据源在启动时将 VM 的主机名初始化为 exam

完成后提交 master 节点的 IP 地址、用户名和密码到答题框。

1.qcow2 镜像转化成功得 0.3 分;

2.VMI 创建成功得 0.3 分;

3.端口暴露成功得 0.3 分;

4.服务能正常访问得 0.4 分;

5.主机名初始化成功得 0.2 分。

【题目 4KubeVirt 运维--启用快照[1 ]

KubeVirt 支持对 VM 进行快照, 请启用 KubeVirt 快照管理功能:

完成后提交 master 节点的 IP 地址、用户名和密码到答题框。

1.快照功能启用成功得 1 分。

【任务 6】容器云运维开发:Kubernetes APIs 运维开发[10 ]

【适用平台】私有云

【题目 1Python 运维开发:基 Kubernetes Restful API 实现 Deployment 创建[2 ]

在提供的 OpenStack 私有云平台上,使用 k8s-python-dev 镜像创建 1 台云主机,云主机 类型使用 4vCPU/12G 内存/100G 硬盘。该主机中已经默认安装了所需的开发环境, 登录默

认账号密码为“root/1DaoYun@2022”

使用 Kubernetes Restful API 库,在/root  录下,创建 api_deployment_manager.py 文件,

要求编写 python 代码,代码实现以下任务:

1)编写 Python 程序实现 Deployment 资源的创建。Deployment 配置信息如下。如果

同名 Deployment 存在, 先删除再创建。

2)创建完成后, 查询该 Deployment 的详细信息, 执行结果控制台输出,以 yaml

式展示。

创建 Deployment   yaml 的配置如下:

apiVersion: apps/v1

kind: Deployment

metadata:

name: nginx-deployment

labels:

app: nginx

spec:

replicas: 3

selector:

matchLabels:

app: nginx

template:

metadata:

labels:

app: nginx

spec:

containers:

- name: nginx

image: nginx:1.15.4

ports:

- containerPort: 80

1.执行 api_deployment_manager.py 脚本,成功创建 deployment 资源,计 1 分;

2.检查创建的 deployment 资源, 配置信息无误计 1 分。

【题目 2Python 运维开发:基于 Kubernetes Python SDK 实现 Job 创建[1 ]

在前面已建好的 Kubernetes 开发环境云平台上。使用 Kubernetes python SDK 

“kubernetes”Python 库, /root  目录下, 创建 sdk_job_manager.py 文件, 要求编写 python

码,代码实现以下任务:

1)编写 Python 程序实现 Job 资源的创建。 Job 配置信息如下。如果同名 Job 存在,

先删除再创建。

2)创建完成后, 查询该 Job 的详细信息, 执行结果控制台输出,以json 格式展示。

Job 创建 yaml 的信息如下:

apiVersion: batch/v1

kind: Job

metadata:

name: pi

spec:

template:

spec:

containers:

- name: pi

image: perl

command: ["perl",    "-Mbignum=bpi", "-wle", "print bpi(2000)"]

restartPolicy: Never

backoffLimit: 4

1.执行 sdk_job_manager.py 脚本, 成功创建job 资源,计 0.5 分;

2.查询job 资源, 配置信息无误,计 0.5 分。

【题目 3Python 运维开发: Pod 资源的 Restful APIs HTTP 服务封装[3 ]

编写 Python 程序实现 Pod 资源管理程序,  Pod 资源管理的封装成 Web 服务。

/root 目录下创建pod_server.py 程序,实现Pod 的增删查改等Web 访问操作。http.server

 host  localhost,端口 8889;程序内部实现 Kubernetes 认证。

提示说明: Python 标准库 http.server 模块,提供了 HTTP Server 请求封装。

需要实现的 Restful API 接口如下:

GET /pod/{name}  ,查询指定名称{name} PodResponse  Body json 格式输出。

POST /pod/{yamlfilename}  创建 yaml 文件名称为{yamlfilename} PodResponse 

Body json 格式。

编码完成后,“手工下载”文件服务器主目录所有*.yaml 文件到 root  目录下,“手动执

行”所编写 pod_server.py 程序, 提交答案进行检测。

1.HTTP 服务成功启动, 计 1 分;

2.发起指定参数的 GET 查询 Pod 请求, 成功查询指定名称的 pod 服务,  1 分;

3.发起指定参数的 POST 创建 Pod 请求, 成功创建 Pod 服务,计 1 分。

【题目 4Python 运维开发: Service 资源 Restful APIs HTTP 服务封装[4 ]

编写 Python 程序实现 Service 资源管理程序,将 Service 资源管理的封装成 Web 服务。

/root 目录下创建 service_server.py 程序, 实现 Service 的增删查改等 Web 访问操作。

http.server  host  localhost,端口 8888;程序内部实现 Kubernetes 认证。

提示说明: Python 标准库 http.server 模块,提供了 HTTP Server 请求封装。

需要实现的 Restful API 接口如下:

GET /services/{name} ,查询指定名称{name} ServiceResponse  Body json 格式

输出。

POST /services/{yamlfilename}  创建 yaml 文件名称为{yamlfilename} Service

Response  Body json 格式,(手工将文件服务器主目录所有*.yaml 件下载到 root  目录

下)。

DELETE /services/{name};删除指定名称的 ServiceResponse  Body json 格式。

编码完成后,自己手动执行提供 Web HTTP 服务的 service_server.py 程序,提交答案进

行检测。

1.HTTP 服务成功启动, 计 1 分;

2.发起指定参数的 POST 创建 service 请求,成功创建 service 资源,计 1 分;

3.发起指定参数的 GET 查询 service 请求 成功查询指定名称的 Service,计 1 分;

4.发起指定参数的 DELETE 删除 service 请求,成功删除指定名称的 Service,计 1 分。

需要竞赛软件包环境可私信博主!

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

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

相关文章

【ZYNQ】教你用 Vivado HLS 快速设计一个 IP

Xilinx 推出的 Vivado HLS 工具可以直接使用 C、C或 System C 来对 Xilinx 系列的 FPGA 进行编程,从而提高抽象的层级,大大减少了使用传统 RTL 描述进行 FPGA 开发所需的时间。 Vivado HLS 的功能简单地来说就是把 C、C 或 SystemC 的设计转换成 RTL 实…

Python自动化测试:选择最佳的自动化测试框架

在开始学习python自动化测试之前,先了解目前市场上的自动化测试框架有哪些? 随着技术的不断迭代更新,优胜劣汰也同样发展下来。从一开始工具型自动化,到现在的框架型;从一开始的能用,到现在的不仅能用&…

element el-table实现可进行横向拖拽滚动

【问题】表格横向太长,表格横向滚动条位于最底部,需将页面滚动至最底部才可左右拖动表格,用户体验感不好 【需求】基于elment的el-table组件生成的表格,使其可以横向拖拽滚动 【实现】灵感来源于这篇文章【Vue】表格可拖拽滚动&am…

每周一算法:区间覆盖

问题描述 给定 N N N个闭区间 [ a i , b i ] [a_i,b_i] [ai​,bi​],以及一个线段区间 [ s , t ] [s,t] [s,t],请你选择尽量少的区间,将指定线段区间完全覆盖。 输出最少区间数,如果无法完全覆盖则输出 − 1 -1 −1。 输入格式…

androj环境搭建_AS安装及运行源码

1、 jdk安装 安卓项目也是java开发的,运行在虚拟机上,安装jdk及运行的时候,就会自动生成虚拟机, jdk前面已经讲过,这里不在讲解 2、下载安装androj studio https://developer.android.google.cn/studio?hlzh-cn 下…

mysql原理---InnoDB统计数据是如何收集的

以下聚焦于 InnoDB 存储引擎的统计数据收集策略。 1.两种不同的统计数据存储方式 InnoDB 提供了两种存储统计数据的方式: (1). 永久性的统计数据 这种统计数据存储在磁盘上,也就是服务器重启之后这些统计数据还在。 (2). 非永久性的统计数据 这种统计数…

Java生态系统的进化:从JDK 1.0到今天

目录 前言 JDK 1.0:开启Java时代 JDK 1.1:Swing和内部类 JDK 1.2:Collections框架和JIT编译器 JDK 1.5:引入泛型和枚举 JDK 1.8:Lambda表达式和流 JDK 11以后:模块化和新特性 未来展望 总结 作者简…

Smartbi获工信部旗下赛迪网“2023行业信息技术应用创新产品”奖

近日,由工信部旗下的赛迪网、《数字经济》杂志共同主办的2023行业信息技术应用创新大会上,“信息技术应用创新成果名单”重磅揭晓,思迈特软件凭借“Smartbi 自然语言分析引擎”斩获“2023行业信息技术应用创新产品”大奖。 据了解&#xff0c…

JavaWeb——监听器Listener 过滤器Filter——韩顺平学习笔记

文章目录 JavaWeb 三大组件之监听器 ListenerListenerJavaWeb 的监听器ServletContextListener 监听器ServletContextAttributeListener 监听器其它监听器-使用较少HttpSessionListener 监听器HttpSessionAttributeListener 监听器ServletRequestListener 监听器ServletRequest…

YOLOv5算法进阶改进(8)— 引入GSConv + Slim Neck相结合的方式降低模型复杂性

前言:Hello大家好,我是小哥谈。在文章中,作者提出了一种新方法 GSConv 来减轻模型的复杂度并保持准确性。GSConv可以更好地平衡模型的准确性和速度。并且,提供了一种设计范式Slim Neck,以实现检测器更高的计算成本效益。实验过程中,与原始网络相比,改进方法获得了最优秀…

软件测试/测试开发丨Selenium的常用元素定位方法

Selenium是一个流行的开源框架,目前在 Web 自动化方面运用最为广泛的一个开源、无浏览器要求、可支持多语言、设计测试用例非常灵活的自动化测试框架。支持多种编程语言,并且能够模拟用户操作,例如点击、输入、提交等等。 在Selenium中&…

《深入理解JAVA虚拟机笔记》Java 运行时内存区域

程序计数器(线程私有) 程序计数器(Program Counter Register)是一块较小的内存空间,它可以看做是当前线程所执行的字节码的行号指示器。在 Java 虚拟机的概念模型里, 字节码解释器工作时就是通过改变这个计…

【Linux--多线程同步与互斥】

目录 一、线程互斥1.1相关概念介绍1.2互斥量mutex1.3互斥量接口1.3.1初始化互斥量1.3.2销毁互斥量1.3.3互斥量加锁1.3.4互斥量解锁1.3.5使用互斥量解决上面分苹果问题 1.4互斥原理 二、可重入与线程安全2.1相关概念2.2常见线程不安全的情况2.3常见不可重入的情况2.4 可重入与线…

深度解析 | 什么是超融合数据中心网络?

数据中心网络连接数据中心内部通用计算、存储和高性能计算资源,服务器间的所有数据交互都要经由网络转发。当前,IT架构、计算和存储技术都在发生重大变革,驱动数据中心网络从原来的多张网络独立部署向全以太化演进。而传统的以太网无法满足存…

Pycharm引用其他文件夹的py

Pycharm引用其他文件夹的py 方式1:包名设置为Sources ROOT 起包名的时候,需要在该文件夹上:右键 --> Mark Directory as --> Sources ROOT 标记目录为源码目录,就可以了。 再引用就可以了 import common from aoeweb impo…

【C++】开源:cpp-httplib HTTP协议库配置与使用

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍cpp-httplib HTTP协议库配置与使用。 无专精则不能成,无涉猎则不能通。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下&a…

美国Top科技公司年薪大曝光,OpenAI 600万高居榜首!

全美顶尖AI公司年薪大曝光! OpenAI 600万高居榜首,微软、英伟达只有OpenAI 的一半。 近日,美国一家帮助博士生协商薪资的公司Rora发布了一份薪资报告,公布了这些顶尖AI公司给研究人员开出的平均薪水。 以下是部分顶级AI公司的名…

《PCI Express体系结构导读》随记 —— 第I篇 第1章 PCI总线的基本知识(11)

接前一篇文章:《PCI Express体系结构导读》随记 —— 第I篇 第1章 PCI总线的基本知识(10) 1.3 PCI总线的存储器读写总线事务 1.3.2 Posted和Non-Posted传送方式 PCI总线规定了两类数据传送方式,分别是Posted和Non-Posted数据传送…

数据仓库 基本信息

数据仓库基本理论 数据仓库(英语:Data Warehouse,简称数仓、DW),是一个用于存储、分析、报告的数据系统。数据仓库的目的是构建面向分析的集成化数据环境,为企业提供决策支持(Decision Support&#xff09…

【轻松入门】OpenCV4.8 + QT5.x开发环境搭建

引言 大家好,今天给大家分享一下最新版本OpenCV4.8 QT5 如何一起配置,完成环境搭建的。 下载OpenCV4.8并解压缩 软件版本支持 CMake3.13 或者以上版本 https://cmake.org/ VS2017专业版或者以上版本 QT5.15.2 OpenCV4.8源码包 https://github.com/op…