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

#需要资源(软件包及镜像)或有问题的,可私聊博主!!!

#需要资源(软件包及镜像)或有问题的,可私聊博主!!!

#需要资源(软件包及镜像)或有问题的,可私聊博主!!!

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

        说明: 完成本任务需要两台安装了 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 分;

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

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

在 Kubernetes 集群上完成 Istio 服务网格环境的安装,然后新建命名空间 exam,为该命名空间开启自动注入Sidecar。

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

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

  1. 命名空间 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 分;

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

  1. 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 分;

  1. 数据库安装且导入数据成功得 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 分;

  1. 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 分;

  1. 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 分;

  1. PHP 安装成功得 0.2 分;

  1. 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 分;

  1. 项目导入成功得 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 分;

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

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

【题目 3】配置GitLab[1.5 分]

将 Kubernetes 集群添加到 demo-2048 项目中,并命名为 kubernetes-agent,项目命名空间选择 gitlab-ci。

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

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

  1. 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 分;

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

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

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

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

【适用平台】私有云

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

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

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

  1. Pod 创建成功得 0.2 分;

  1. 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 集群中自定义一种资源类型 Student,API 为 stable.example.com/v1,单数形式为 student,复数形式为 students,简写为 stu,作用域为命名空间级,然后在 default 命名空间下创建一个名为 exam 的 Student 对象。

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

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

  1. 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 分;

  1. 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 分;

  1. 规则配置正确得 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 分;

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

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

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

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

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

  1. 用户限制正确得 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 分;

  1. VM 配置正确得 0.2 分。

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

使用镜像 fedora-virt:v1.0 在 default 命名空间下创建一台 vmi,名称为 vmi-fedora,并使用 emptyDisk 卷为 vmi 挂载一块 2G 的磁盘。

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

  1. VMI 创建成功得 0.4 分;

  1. 卷挂载成功得 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 分;

  1. VMI 创建成功得 0.3 分;

【题目 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 分;

  1. 检查创建的 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 分;

  1. 查询 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}的 Pod;Response 的 Body 以 json 格式输出。

POST /pod/{yamlfilename} 创建 yaml 文件名称为{yamlfilename}的 Pod;Response 的

Body 以 json 格式。

编码完成后,“手工下载”文件服务器主目录所有*.yaml 文件到 root 目录下,“手动执行”所编写pod_server.py 程序,提交答案进行检测。

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

  2. 发起指定参数的GET 查询 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}的 Service;Response 的 Body 以 json 格式输出。

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

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

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

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

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

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

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C#上位机1ms级高精度定时任务

precisiontimer 安装扩展包 添加引用 完整代码 using PrecisionTiming;using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; us…

Android虚拟机机制

目录 一、Android 虚拟机 dalvik/art(6版本后)二、Android dex、odex、oat、vdex、art区别 一、Android 虚拟机 dalvik/art(6版本后) 每个应用都在其自己的进程中运行,都有自己的虚拟机实例。ART通过执行DEX文件可在设…

C——单链表

一.前言 我们在前面已经了解了链表中的双向链表,而我们在介绍链表分类的时候就说过常用的链表只有两种——双向带头循环链表和单向不带头不循环链表。下来我来介绍另一种常用的链表——单向不带头不循环链表也叫做单链表。不清楚链表分类的以及不了解双向链表的可以…

react18【系列实用教程】JSX (2024最新版)

为什么要用 JSX? JSX 给 HTML 赋予了 JS 的编程能力 JSX 的本质 JSX 是 JavaScript 的语法扩展,浏览器本身不能识别,需要通过解析工具(如babel)解析之后才能在浏览器中运行。 bable 官网可以查看解析过程 JSX 的语法 …

杭州打的样,适合全国推广

房地产 昨天,杭州和西安全面解除房地产限购。 在房价跌跌不休的今天,这两大城市取消限购其实并不意外。 尤其是杭州,土地财政依赖全国第一,绷不住很正常。 近十年,杭州依靠于亚运会、G20 和阿里巴巴,涨得飞…

将机械手与CodeSys中的运动学模型绑定

文章目录 1.背景介绍2.选定运动学模型3.机械手各尺寸的对应4.总结4.1.选择正确的运动学模型4.2.注意各个关节旋转的正方向。4.3.编码器零点与机械零点的偏移修正。 1.背景介绍 最近搞到了一台工业机械手,虽然这个机械手有自己的控制程序,但是我们还是想…

Java入门基础学习笔记1——初识java

1、为什么学习java? 几乎统治了服务端的开发;几乎所有的互联网企业都使用;100%国内大中型企业都用;全球100亿的设备运行java。开发岗位薪资高。 Java的流行度很高,商用占有率很高。 可移植性。 2、Java的背景知识 …

【基础算法总结】二分查找一

二分查找一 1. 二分查找2.在排序数组中查找元素的第一个和最后一个位置3.x 的平方根4.搜索插入位置 点赞👍👍收藏🌟🌟关注💖💖 你的支持是对我最大的鼓励,我们一起努力吧!😃&#x1…

Java入门基础学习笔记12——变量详解

变量详解: 变量里的数据在计算机中的存储原理。 二进制: 只有0和1, 按照逢2进1的方式表示数据。 十进制转二进制的算法: 除二取余法。 6是110 13是1101 计算机中表示数据的最小单元:一个字节(byte&…

【教程向】从零开始创建浏览器插件(三)解决 Chrome 扩展中弹出页面、背景脚本、内容脚本之间通信的问题

第三步:解决 Chrome 扩展中弹出页面、背景脚本、内容脚本之间通信的问题 Chrome 扩展开发中,弹出页面(Popup)、背景脚本(Background Script)、内容脚本(Content Script)各自拥有独立…

word转pdf的java实现(documents4j)

一、多余的话 java实现word转pdf可用的jar包不多,很多都是收费的。最近发现com.documents4j挺好用的,它支持在本机转换,也支持远程服务转换。但它依赖于微软的office。电脑需要安装office才能转换。鉴于没在linux中使用office,本…

hadoop学习---基于Hive的教育平台数据仓库分析案例(二)

衔接第一部分,第一部分请点击:基于Hive的教育平台数据仓库分析案例(一) 后接第三部分,第三部分请点击:基于Hive的教育平台数据仓库分析案例 (三) 意向用户模块(全量分析)&#…

用户体验优化uxo指的是什么?

用户体验优化(User Experience Optimization,简称UXO)是一种专注于改善和提升用户在使用企业产品或服务时的整体感受和体验的过程。简单来说,它旨在通过改进产品或服务的设计和功能,使用户在使用过程中感到更加愉悦、满意和高效。用户体验优化…

桌面怎么分类便签 桌面分类便签设置方法

桌面便签,一直是我工作和学习的好帮手。每当灵感闪现或是有待办事项,我都会随手记录在便签上,它们就像我桌面上的小助手,时刻提醒我不要遗漏任何重要事务。 但便签一多,管理就成了问题。一张张五颜六色的便签贴满了我…

C++ 多态的相关问题

目录 1. 第一题 2. 第二题 3. inline 函数可以是虚函数吗 4. 静态成员函数可以是虚函数吗 5. 构造函数可以是虚函数吗 6. 析构函数可以是虚函数吗 7. 拷贝构造和赋值运算符重载可以是虚函数吗 8. 对象访问普通函数快还是访问虚函数快 9. 虚函数表是什么阶段生成的&…

华为与达梦数据签署全面合作协议

4月26日,武汉达梦数据库股份有限公司(简称“达梦数据”)与华为技术有限公司(简称“华为”)在达梦数据武汉总部签署全面合作协议。 达梦数据总经理皮宇、华为湖北政企业务总经理吕晓龙出席并见证签约;华为湖…

uniapp、web网页跨站数据交互及通讯

来来来,说说你的创作灵感!这就跟吃饭睡觉一样,饿了就找吃的,渴了就倒水张口灌。 最近一个多月实在是忙的没再更新日志,好多粉丝私信说之前的创作于他们而言非常有用!受益菲浅,这里非常感谢粉丝…

Ubuntu20.04 设置路由器

1. 网络拓扑图 2. 查看网卡信息 ip a得出如下网卡信息&#xff0c;enp1s0和enp2s0为两个网卡名称&#xff0c;以及相关两个网卡的详细信息&#xff0c;不同设备的网卡名称可能不一样 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group defaul…

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-15.4讲 GPIO中断实验-IRQ中断服务函数详解

前言&#xff1a; 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM&#xff08;MX6U&#xff09;裸机篇”视频的学习笔记&#xff0c;在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…

debug技巧之本地调试

大家好啊&#xff0c;我是summo&#xff0c;今天给大家分享一下我平时是怎么调试代码的&#xff0c;不是权威也不是教学&#xff0c;就是简单分享一下&#xff0c;如果大家还有更好的调试方式也可以多多交流哦。 如果看过我文章的同学应该知道我是一个Java开发&#xff0c;平时…