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

中高级运维工程师运维面试题(十一)之 Docker

目录

  • 往期回顾
  • 前言
  • 基础知识
    • 1. 什么是 Docker?
    • 2. Docker 的核心组件有哪些?
    • 3. Docker 镜像和容器有什么区别?
    • 4. 什么是 Dockerfile?
  • 高级知识
    • 5. 什么是多阶段构建?如何使用?
    • 6. Docker 网络有哪些模式?
    • 7. 如何优化 Docker 容器性能?
    • 8. Docker 镜像如何减小体积?
    • 9. Docker 的存储驱动有哪些?如何选择?
    • 10. Docker 如何实现资源隔离?
    • 11. 如何在生产环境中安全运行 Docker 容器?
    • 12. Docker Compose 的作用是什么?
    • 13. Docker 的日志系统有哪些配置?
    • 14. 如何调试 Docker 容器问题?
    • 15. Docker 的卷(Volume)与绑定挂载(Bind Mount)有什么区别?
  • 结语

往期回顾

中高级运维工程师运维面试题(一)之JVM
中高级运维工程师运维面试题(二)之NGINX
中高级运维工程师运维面试题(三)之HAProxy
中高级运维工程师运维面试题(四)之 LVS
中高级运维工程师运维面试题(五)之 MySQL
中高级运维工程师运维面试题(六)之 Redis
中高级运维工程师运维面试题(七)之 Kafka
中高级运维工程师运维面试题(八)之 Zookeeper
中高级运维工程师运维面试题(九)之 Apache Pulsar
中高级运维工程师运维面试题(十)之 iptables

前言

Docker 是目前广泛使用的容器化技术,在 DevOps、微服务架构和云原生应用中扮演着至关重要的角色。作为中高级运维工程师,掌握 Docker 的基础原理、实际应用、性能优化和故障排查能力是面试和工作中的核心竞争力。本文将以问题与答案的形式,深入浅出地阐述 Docker 相关知识,帮助你全面掌握这项技能。


基础知识

1. 什么是 Docker?

问题:简述 Docker 的核心功能和作用。

答案

Docker 是一个开源的容器化平台,用于自动化应用程序的部署、隔离和运行,具有以下特点:

  • 轻量化:通过共享主机内核实现轻量化运行。
  • 可移植性:跨平台运行,支持从开发到生产的全流程一致性。
  • 高效性:资源利用率高,相比虚拟机更加轻便。

Docker 主要用于:

  • 应用程序的打包和交付。
  • 快速构建测试环境。
  • 支持微服务架构。
  • 提供跨平台的持续交付支持。

2. Docker 的核心组件有哪些?

问题:Docker 的核心组件是什么?它们各自的作用是什么?

答案

  1. Docker Client:用户与 Docker 的交互接口,主要通过命令行工具实现。
  2. Docker Daemon:后台运行的服务,负责构建、运行和管理容器。
  3. Docker Image:容器的只读模板,包含运行容器所需的所有依赖。
  4. Docker Container:基于镜像创建的运行时实例,是一个独立的执行环境。
  5. Docker Registry:用于存储和分发 Docker 镜像的仓库,例如 Docker Hub 和私有 Registry。

3. Docker 镜像和容器有什么区别?

问题:解释 Docker 镜像和容器的区别。

答案

  1. Docker 镜像

    • 是一个静态的文件系统模板。
    • 包含运行容器所需的操作系统、应用程序和依赖。
    • 是容器的源文件,可以通过 docker build 构建。
  2. Docker 容器

    • 是镜像的运行时实例。
    • 是一个动态的、隔离的轻量级环境。
    • 可以通过 docker run 命令从镜像启动。

4. 什么是 Dockerfile?

问题:什么是 Dockerfile?它的作用是什么?

答案

Dockerfile 是用于定义 Docker 镜像的脚本文件,包含了一系列指令。作用包括:

  1. 镜像构建

    • 指定镜像基础层,例如 FROM ubuntu:20.04
    • 添加依赖、配置和启动命令。
  2. 版本管理

    • 通过版本控制系统管理 Dockerfile,便于复现镜像。
  3. 自动化部署

    • 配合 CI/CD 工具实现自动化构建和部署。

示例 Dockerfile:

# 基础镜像
FROM python:3.9-slim# 设置工作目录
WORKDIR /app# 复制项目文件
COPY . .# 安装依赖
RUN pip install -r requirements.txt# 启动命令
CMD ["python", "app.py"]

高级知识

5. 什么是多阶段构建?如何使用?

问题:解释多阶段构建的作用并提供一个示例。

答案

多阶段构建是 Docker 提供的一种优化技术,通过多个阶段构建镜像,最终只保留所需的部分,从而减小镜像体积。

示例:

# 第一阶段:构建应用程序
FROM golang:1.17 AS builder
WORKDIR /app
COPY . .
RUN go build -o main .# 第二阶段:生成轻量镜像
FROM alpine:latest
WORKDIR /app
COPY --from=builder /app/main .
CMD ["./main"]

优势:

  • 减少最终镜像体积。
  • 提高构建效率。
  • 避免将敏感数据(如构建工具)带入生产环境。

6. Docker 网络有哪些模式?

问题:Docker 提供了哪些网络模式?它们的作用是什么?

答案

Docker 提供以下网络模式:

  1. bridge(默认网络)

    • 容器通过桥接网络互联。
    • 提供网络隔离和 IP 地址分配。
  2. host

    • 容器共享主机网络栈。
    • 性能高,但隔离性差。
  3. none

    • 容器没有网络连接,仅使用本地回环。
  4. overlay

    • 跨主机的分布式网络,用于 Docker Swarm 或 Kubernetes 集群。
  5. macvlan

    • 为容器分配物理网络中的 MAC 地址。
  6. custom

    • 用户自定义网络,适合特定需求。

7. 如何优化 Docker 容器性能?

问题:列举一些优化 Docker 容器性能的常用方法。

答案

  1. 优化镜像

    • 使用轻量级基础镜像,如 alpine
    • 多阶段构建减少无用文件。
  2. 资源限制

    • 使用 --memory--cpus 限制容器资源。
  3. 日志管理

    • 配置日志驱动避免占用过多磁盘空间。
  4. 网络优化

    • 使用自定义网络提高容器间通信效率。
  5. 存储优化

    • 使用卷(Volume)代替绑定挂载,提高 IO 性能。

8. Docker 镜像如何减小体积?

问题:请列举一些减小 Docker 镜像体积的方法。

答案

  1. 选择轻量级基础镜像

    • 使用 alpine 或其他精简版镜像作为基础镜像。
  2. 删除无用文件

    • 清理构建时生成的临时文件。
  3. 合并指令

    • 将多条 RUN 指令合并为一条,减少镜像层数。
  4. 使用多阶段构建

    • 构建应用后仅复制必要的文件到最终镜像中。
  5. 使用 .dockerignore 文件

    • 避免将无关文件打包进镜像。

9. Docker 的存储驱动有哪些?如何选择?

问题:Docker 提供了哪些存储驱动?不同场景下该如何选择?

答案

Docker 常用的存储驱动有:

  1. overlay2(推荐):

    • 默认存储驱动,性能高,支持多层镜像。
    • 适合大多数场景。
  2. aufs

    • 早期的分层文件系统,兼容性好。
    • 不推荐使用,已逐步被淘汰。
  3. btrfs

    • 提供快照和压缩功能。
    • 适合需要高级存储功能的场景。
  4. zfs

    • 高度稳定,支持快照和复制。
    • 适用于需要高级数据保护的场景。
  5. devicemapper

    • 使用块设备分层存储。
    • 适合对块存储有特殊需求的场景。

选择建议

  • 优先选择 overlay2
  • 根据操作系统和具体需求选择其他驱动。

10. Docker 如何实现资源隔离?

问题:Docker 是如何实现 CPU、内存等资源隔离的?

答案

Docker 通过以下机制实现资源隔离:

  1. Namespace

    • 提供进程、网络、文件系统的隔离。
    • 每个容器运行在独立的 Namespace 中。
  2. Cgroups

    • 控制容器的 CPU、内存、IO 等资源使用。
    • 配置参数:
      • --memory:限制容器内存。
      • --cpus:限制 CPU 使用。
      • --blkio-weight:限制 IO 权重。
  3. 文件系统隔离

    • 每个容器使用独立的文件系统,基于镜像层构建。

通过这些机制,Docker 可以确保容器在共享主机资源的同时保持独立性和安全性。

11. 如何在生产环境中安全运行 Docker 容器?

问题:在生产环境中,运行 Docker 容器时需要注意哪些安全问题?

答案

  1. 最小权限原则

    • 使用非 root 用户运行容器。
    • 通过 USER 指令在 Dockerfile 中指定用户。
  2. 限制资源

    • 使用 --memory--cpus 限制容器资源,防止资源滥用。
  3. 镜像安全性

    • 仅从可信源拉取镜像。
    • 定期扫描镜像的安全漏洞。
  4. 网络安全

    • 禁止容器间不必要的通信。
    • 使用自定义网络和防火墙规则。
  5. 数据安全

    • 将敏感信息存储在安全存储中(如 Docker Secrets)。
    • 避免在 Dockerfile 中暴露敏感信息。
  6. 定期更新

    • 定期更新 Docker 版本和镜像,修补已知漏洞。

12. Docker Compose 的作用是什么?

问题:什么是 Docker Compose?它在实际工作中有哪些用途?

答案

Docker Compose 是一个用于定义和管理多容器应用的工具。其作用包括:

  1. 简化多容器管理

    • 使用 docker-compose.yml 文件定义多个容器的服务、网络和卷。
  2. 一键部署

    • 通过 docker-compose up 命令快速启动整个应用。
  3. 环境隔离

    • 支持不同环境(开发、测试、生产)的配置。
  4. 服务依赖管理

    • 通过 depends_on 定义服务间的依赖关系。

实际用途

  • 构建微服务架构。
  • 测试和开发复杂应用。
  • 快速部署应用到测试环境。

13. Docker 的日志系统有哪些配置?

问题:Docker 的日志系统如何配置?有哪些常用的日志驱动?

答案

Docker 提供多种日志驱动,常见的包括:

  1. json-file(默认)

    • 将日志存储为 JSON 文件。
    • 配置参数:
      • max-size:单个日志文件的大小。
      • max-file:保留的文件数量。
  2. syslog

    • 将日志发送到 syslog 服务。
  3. journald

    • 使用 systemd 的日志管理。
  4. fluentd

    • 集成 Fluentd,用于集中式日志管理。
  5. gelf

    • 支持 Graylog 日志管理。
  6. none

    • 禁用日志记录。

配置示例

logging:driver: "json-file"options:max-size: "10m"max-file: "3"

14. 如何调试 Docker 容器问题?

问题:在容器运行过程中遇到问题时,如何进行调试?

答案

  1. 查看容器日志

    • 使用 docker logs <container_id> 查看容器日志。
    • 配置 --tail--follow 参数实时查看日志。
  2. 进入容器内部

    • 使用 docker exec -it <container_id> /bin/bash 进入容器内部。
  3. 检查容器状态

    • 使用 docker inspect <container_id> 查看详细信息。
    • 检查容器的网络、卷和配置。
  4. 网络调试

    • 使用 docker network inspect 查看网络配置。
    • 测试容器间连通性。
  5. 文件系统检查

    • 使用 docker cp 命令拷贝文件到本地分析。
  6. 监控资源使用

    • 使用 docker stats 监控容器的 CPU、内存、IO 等资源。

15. Docker 的卷(Volume)与绑定挂载(Bind Mount)有什么区别?

问题:请比较 Docker 的卷和绑定挂载的差异及适用场景。

答案

  1. 卷(Volume)

    • 管理由 Docker 创建和维护的数据。
    • 存储位置在 Docker 的默认目录中,如 /var/lib/docker/volumes
    • 容器间共享数据的最佳选择。
    • 数据独立于容器生命周期。
  2. 绑定挂载(Bind Mount)

    • 将主机目录直接挂载到容器中。
    • 可选择任意主机目录,灵活性高。
    • 适合本地开发环境下使用。

选择建议

  • 使用卷进行生产环境的数据存储。
  • 在开发环境中使用绑定挂载方便调试。

结语

通过深入了解 Docker 的架构、命令、配置及常见问题的解决方案,我们可以更高效地使用 Docker 应对复杂的运维场景。本文涵盖了基础、中级和高级知识,希望能为面试或日常工作提供有价值的参考。

如果需要进一步深入某些专题,比如 Docker Swarm 或 Kubernetes 集成,请继续关注相关学习内容!

相关文章:

中高级运维工程师运维面试题(十一)之 Docker

目录 往期回顾前言基础知识1. 什么是 Docker&#xff1f;2. Docker 的核心组件有哪些&#xff1f;3. Docker 镜像和容器有什么区别&#xff1f;4. 什么是 Dockerfile&#xff1f; 高级知识5. 什么是多阶段构建&#xff1f;如何使用&#xff1f;6. Docker 网络有哪些模式&#x…...

Kafka如何实现顺序消费?

Kafka的消息是存储在指定的topic中的某个partition中的。并且一个topic是可以有多个partition的。同一个partition中的消息是有序的&#xff0c;但是跨partition&#xff0c;或者跨topic的消息就是无序的了。 为什么同一个partition的消息是有序的? 因为当生产者向某个parti…...

通过 ulimit 和 sysctl 调整Linux系统性能

目录 一&#xff1a;资源限制管理工具&#xff1a;ulimit1、ulimit 作用介绍2、ulimit 常用选项3、ulimit 配置文件 二&#xff1a;内核参数调整工具&#xff1a;sysctl1、sysctl 作用介绍2、sysctl 常用选项3、sysctl 配置文件 一&#xff1a;资源限制管理工具&#xff1a;uli…...

pandas基础使用

pandas基础使用 基本介绍 类似于字典形式的numpy&#xff0c;可以给它的不同行和不同列进行重命名。 import numpy as np import pandas as pd # 创建一个序列 s pd.Series([1,4,True,np.nan,55.0])创建date format日期矩阵 import numpy as np import pandas as pd dates…...

2024.1.5总结

今日不开心:这周本来想花点时间学习的&#xff0c;没想到全都花在刷视频&#xff0c;外出消费去了。 今日思考: 1.找对象这件事确实不能强求&#xff0c;顺其自然吧&#xff0c;单身和不单身&#xff0c;其实&#xff0c;各有各的利弊。在一次坐地铁的过程中&#xff0c;我一…...

解释一下:运放的输入偏置电流

输入偏置电流 首先看基础部分:这就是同相比例放大器 按照理论计算,输入VIN=0时,输出VOUT应为0,对吧 仿真与理论差距较大,有200多毫伏的偏差,这就是输入偏置电流IBIAS引起的,接着看它的定义 同向和反向输入电流的平均值,也就是Ib1、Ib2求平均,即(Ib1+Ib2)/2 按照下面…...

Federation机制的实现

1.关闭Hadoop的HDFS和YARN&#xff0c;依次执行“stop-yarn.sh”和“stop-dfs.sh”命令关闭Hadoop的YARN和HDFS。 2.删除3台虚拟机上的临时文件&#xff1a; 3.修改hdfs-site.xml配置文件&#xff0c;进入虚拟机liumengting1的/export/servers/hadoop-3.3.4/etc/hadoop目录&…...

120.Jenkins里的Pipeline Script

目录 1. **Declarative Pipeline** 主要部分 示例 2. **Scripted Pipeline** 主要部分 示例 3. **常用指令和功能** 环境变量 工具管理 文件操作 构建触发器 并行执行 异常处理 用户交互 4.**两种类型的特点** 1. **声明式 Pipeline (Declarative Pipeline)** 中…...

SpringBoot3-整合WebSocket指南

更多SpringBoot3内容请关注我的专栏&#xff1a;《SpringBoot3》 期待您的点赞&#x1f44d;收藏⭐评论✍ SpringBoot3-整合WebSocket指南 1. 什么是WebSocket?2. 环境准备2.1 项目依赖 3. WebSocket配置3.1 WebSocket配置类3.2 自定义WebSocket处理器 4. 控制器5. 前端实现5.…...

【npm依赖包介绍】借助rimraf依赖包,在用npm run build构建项目时,清空dist目录,避免新旧混合

文章目录 背景如何使用附上rimraf的介绍和说明主要作用使用场景安装使用示例异步删除同步删除 参考资料 背景 在npm run build时&#xff0c;一般都会清空项目中已有的dist目录再构建&#xff0c;避免新旧混合。 如何使用 可以简单使用rimraf这个npm依赖包。 目前rimraf的最…...

python学opencv|读取图像(二十四)使用cv2.putText()绘制文字进阶-倾斜文字

【1】引言 前述学习进程中&#xff0c;我们已经掌握了pythonopencv绘制文字的基本技能&#xff0c;相关链接为&#xff1a; python学opencv|读取图像&#xff08;二十三&#xff09;使用cv2.putText()绘制文字-CSDN博客 在这里&#xff0c;我们使用不同的字体、线条颜色和线…...

【简博士统计学习方法】第1章:3. 统计学习方法的三要素

3. 统计学习方法的三要素 3.1 监督学习的三要素 3.1.1 模型 假设空间&#xff08;Hypothesis Space&#xff09;&#xff1a;所有可能的条件概率分布或决策函数&#xff0c;用 F \mathcal{F} F表示。 若定义为决策函数的集合&#xff1a; F { f ∣ Y f ( X ) } \mathcal{F…...

“AI智慧语言训练系统:让语言学习变得更简单有趣

大家好&#xff0c;我是你们的老朋友&#xff0c;一个热衷于探讨科技与教育结合的产品经理。今天&#xff0c;我想和大家聊聊一个让语言学习变得不再头疼的话题——AI智慧语言训练系统。这个系统可是我们语言学习者的福音&#xff0c;让我们一起来揭开它的神秘面纱吧&#xff0…...

机器学习笔记 - 单幅图像深度估计的最新技术

1、深度估计简述 单眼深度估计是一项计算机视觉任务,AI 模型从单个图像中预测场景的深度信息。模型估计场景中对象从一个照相机视点的距离。单目深度估计已广泛用于自动驾驶、机器人等领域。深度估计被认为是最困难的计算机视觉任务之一,因为它要求模型理解对象及其深度信息之…...

洛谷:P1540 [NOIP2010 提高组] 机器翻译

[NOIP2010 提高组] 机器翻译 题目背景 NOIP2010 提高组 T1 题目描述 小晨的电脑上安装了一个机器翻译软件&#xff0c;他经常用这个软件来翻译英语文章。 这个翻译软件的原理很简单&#xff0c;它只是从头到尾&#xff0c;依次将每个英文单词用对应的中文含义来替换。对于…...

2025第2周 | JavaScript中的函数的参数默认值和剩余参数

目录 1. 函数的默认值1.1 ES5的时候默认值写法1.2 es6的默认值1.3 babel转换之后1.4 有默认值的参数建议放到最后1.5 有默认值的函数length属性 2. 参数为对象时默认值及解构2.1 默认值和解构一起使用2.2 默认值为一个空对象 3. 剩余参数3.1 剩余参数必须放到最后3.2 剩余参数和…...

Unity学习之UGUI(三)

十二、Slider 1、作用 Slider是滑动条组件&#xff0c;是UGUI中用于处理滑动条相关交互的关键组件 创建Slider默认包括4个对象 父对象&#xff1a;Slider组件依附的对象 子对象&#xff1a;背景图&#xff0c;进度图&#xff0c;滑动块三组对象 2、主要参数 3、代码控制 voi…...

分享3个国内使用正版GPT的网站【亲测有效!2025最新】

1. molica 传送入口&#xff1a;https://ai-to.cn/url/?umolica 2. 多帮AI 传送入口&#xff1a;https://aigc.openaicloud.cn?inVitecodeMYAAGGKXVK 3. 厉害猫 传送入口&#xff1a;https://ai-to.cn/url/?ulihaimao...

ffmpeg-avio实战:打开本地文件或者网络直播流dome

使用ffmpeg打开打开本地文件或者网络直播流的一个小dome。流程产靠ffmpeg4.x系列的解码流程-CSDN博客 #include <libavcodec/avcodec.h> #include <libavformat/avformat.h> #include <libavformat/avio.h> #include <libavutil/file.h> #include &l…...

三维管线管网自动化建模工具MagicPipe3D V3.6.0

经纬管网建模系统MagicPipe3D&#xff0c;本地离线参数化构建地下管网三维模型&#xff08;包括管道、接头、附属设施等&#xff09;&#xff0c;输出标准3DTiles、Obj模型等格式&#xff0c;支持Cesium、Unreal、Unity、Osg等引擎加载进行三维可视化、语义查询、专题分析。欢迎…...

设计基于检索增强生成的个性化语言模型(RAG-based LLM)

设计基于检索增强生成的个性化语言模型&#xff08;RAG-based LLM&#xff09; 引言 在当今快速发展的自然语言处理技术中&#xff0c;生成式预训练模型&#xff08;LLM&#xff09;对个性化和可靠结果的需求不断增加。为了满足这种需求&#xff0c;基于检索增强生成&#xf…...

Oracle Dataguard(主库为单节点)配置详解(5):使用 rman 复制技术(DUPLICATE)同步主库到备库

Oracle Dataguard&#xff08;主库为单节点&#xff09;配置详解&#xff08;5&#xff09;&#xff1a;使用 rman 复制技术&#xff08;DUPLICATE&#xff09;同步主库到备库 目录 Oracle Dataguard&#xff08;主库为单节点&#xff09;配置详解&#xff08;5&#xff09;&am…...

119.使用AI Agent解决问题:Jenkins build Pipeline时,提示npm ERR! errno FETCH_ERROR

目录 1.Jenkins Build时的错误 2.百度文心快码AI智能体帮我解决 提问1&#xff1a;jenkins中如何配置npm的源 提问2&#xff1a;jenkins pipeline 类型为pipeline script from SCM时&#xff0c;如何配置npm源 3.最终解决方法-Jenkinsfile的修改 4.感触 1.Jenkins Build时…...

回归预测 | MATLAB实ELM-Adaboost多输入单输出回归预测

回归预测 | MATLAB实ELM-Adaboost多输入单输出回归预测 目录 回归预测 | MATLAB实ELM-Adaboost多输入单输出回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 一、极限学习机&#xff08;ELM&#xff09; 极限学习机是一种单层前馈神经网络&#xff0c;具有训练速…...

服务器漏洞修复解决方案

漏洞1、远程桌面授权服务启用检测【原理扫描】 Windows Remote Desktop Licensing Service is running: Get Server version: 0x60000604 1、解决方案&#xff1a;建议禁用相关服务避免目标被利用 方法一&#xff1a;使用服务管理器 打开“运行”对话框&#xff08;WinR&am…...

Couldn‘t resolve host name for http://mirrorlist.centos.org

【问题】 在CentOS8执行sudo yum update -y 软件包更新的时候报错 Errors during downloading metadata for repository appstream:- Curl error (6): Couldnt resolve host name for http://mirrorlist.centos.org/?release8-stream&archx86_64&repoAppStream&…...

Vue2:el-table中的文字根据内容改变颜色

想要实现的效果如图,【级别】和【P】列的颜色根据文字内容变化 1、正常创建表格 <template><el-table:data="tableData"style="width: 100%"><el-table-column prop="id" label="ID"/> <el-table-column …...

C++静态变量的使用方法?C++静态变量占用内存情况?拷贝构造函数会拷贝哪些内容?const使用注意

1.静态变量的使用 函数中使用&#xff1a;静态变量初次声明并定义作为初始值&#xff0c;后续再次运行函数&#xff0c;基于上次的结果累加类中&#xff1a;类内声明&#xff0c;类外实现&#xff08;如声明为const&#xff0c;特殊情况&#xff0c;可以类内直接声明时定义&am…...

Linux初识——基本指令

我们在linux下输入各种指令&#xff0c;其实就相当于在windows中的相关操作&#xff0c;比如双击&#xff0c;新建文件夹等。 以下是相关基本指令基本用法 一.ls&#xff08;显示当前目录下的所有文件和目录&#xff09; 那如何显示当前目录&#xff08;我们所在的位置&…...

python 实现贪心算法(Greedy Algorithm)

贪心算法&#xff08;Greedy Algorithm&#xff09;是一种在每一步选择中都采取当前最优的选择&#xff0c;希望通过局部最优解达到全局最优解的算法设计方法。以下是使用Python实现贪心算法解决几个经典问题的示例&#xff1a; 1. 活动选择问题&#xff08;Activity Selection…...

设计形成从业务特点到设计模式的关联

规范和指引在应用架构、数据架构等各架构方向上形成规范性约束指导。同一个决策要点、架构单元在统一的架构原则指导下&#xff0c;会因业务特点差异有不同的实现&#xff0c;经过总结形成了最佳实践。在开展新应用的设计时&#xff0c;根据决策要点以及相关的业务特点&#xf…...

Pytorch初学

创建虚拟环境 python控制台&#xff0c;jupyter notebook,python文件运行的差异&#xff0c;后续结合使用三者。 jupter主要可以对代码进行分割单独运行&#xff0c;主要做一些探索性工作。 数据集的常见存储模式 1、以标签命名图像。 2、单独存储图像的地址。 加载数据集…...

【动态重建】时间高斯分层的长体积视频

标题&#xff1a;Representing Long Volumetric Video with Temporal Gaussian Hierarchy 来源&#xff1a;浙江大学 链接&#xff1a;https://zju3dv.github.io/longvolcap/ 文章目录 摘要一、前言二、主要方法2.1 时间高斯分层2.2 高效渲染2.3 层次结构更新2.4 紧凑的外观模型…...

Java设计模式 —— 【行为型模式】命令模式(Command Pattern) 详解

文章目录 模式介绍优缺点适用场景结构案例实现注意事项 模式介绍 有时候需要向某些对象发送请求&#xff0c;但是并不知道请求的接收者是谁&#xff0c;也不知道被请求的操作是什么。此时希望用一种松耦合的方式来设计程序&#xff0c;使得请求发送者和请求接收者能够消除彼此…...

IOS开发如何从入门进阶到高级

针对iOS开发的学习&#xff0c;不同阶段应采取不同的学习方式&#xff0c;以实现高效提升.本文将iOS开发的学习分为入门、实战、进阶三个阶段&#xff0c;下面分别详细介绍. 一、学习社区 iOS开源中国社区 这个社区专注于iOS开发的开源项目分享与协作&#xff0c;汇集了大量开…...

数据结构与算法之二叉树: LeetCode 108. 将有序数组转换为二叉搜索树 (Ts版)

将有序数组转换为二叉搜索树 https://leetcode.cn/problems/convert-sorted-array-to-binary-search-tree/description/ 描述 给你一个整数数组 nums &#xff0c;其中元素已经按 升序 排列请你将其转换为一棵 平衡 二叉搜索树 示例 1 输入&#xff1a;nums [-10,-3,0,5,9…...

细说STM32F407单片机以轮询方式读写外部SRAM的方法

目录 一、实例的功能 二、工程配置 1、KEYLED 2、时钟、DEBUG、USART6、NVIC、GPIO、CodeGenerator 3、FSMC &#xff08;1&#xff09; 模式设置 &#xff08;2&#xff09; Bank 1子区3参数设置 1) NOR/PSRAM control组&#xff0c;子区控制参数 2) NOR/PSRAM timi…...

【Unity3D】AB包加密(AssetBundle加密)

加密前&#xff1a; 加密后&#xff0c;直接无法加载ab&#xff0c;所以无法正常看到ab内容。 using UnityEngine; using UnityEditor; using System.IO; public static class AssetBundleDemoTest {[MenuItem("Tools/打包!")]public static void Build(){//注意:St…...

wujie无界微前端框架初使用

先说一下项目需求&#xff1a;将单独的四套系统的登录操作统一放在一个入口页面进行登录&#xff0c;所有系统都使用的是vue3&#xff0c;&#xff08;不要问我为啥会这样设计&#xff0c;产品说的客户要求&#xff09; 1.主系统下载wujie 我全套都是vue3&#xff0c;所以直接…...

联发科MTK6771/MT6771安卓核心板规格参数介绍

MT6771&#xff0c;也被称为Helio P60&#xff0c;是联发科技(MediaTek)推出的一款中央处理器(CPU)芯片&#xff0c;可运行 android9.0 操作系统的 4G AI 安卓智能模块。MT6771芯片采用了12纳米工艺制造&#xff0c;拥有八个ARM Cortex-A73和Cortex-A53核心&#xff0c;主频分别…...

ZooKeeper Java API操作

&#xff08;1&#xff09;添加依赖&#xff0c;在pom.xml文件中添加zookeeper依赖&#xff1a; &#xff08;2&#xff09;连接zookeeper服务&#xff0c;创建cn.itcast.zookeeper包&#xff0c;在该包中创建ZooKeeperDemo类&#xff0c;该类用于实现创建会话和操作ZooKeeper&…...

【vue3封装element-plus的反馈组件el-drawer、el-dialog】

vue2中封装el-drawer、el-dialog这类反馈类子组件&#xff0c;需要将父组件的visible值传递子组件&#xff0c;并且再通过$emit将关闭弹窗的组件值传回父组件&#xff0c;同事子组件还需要监听父组件传递过来的visible的值&#xff0c;来驱动弹窗显示隐藏&#xff0c;很麻烦&am…...

doris:远程存储

功能简介​ 远程存储支持把部分数据放到外部存储&#xff08;例如对象存储&#xff0c;HDFS&#xff09;上&#xff0c;节省成本&#xff0c;不牺牲功能。 注意 远程存储的数据只有一个副本&#xff0c;数据可靠性依赖远程存储的数据可靠性&#xff0c;您需要保证远程存储有…...

win11 电脑重启后,需要重新插拔U盘、移动硬盘才能识别问题

win11 电脑重启后&#xff0c;需要重新插拔U盘、移动硬盘才能识别问题 前言 原因&#xff1a;win10在一个版本更新后&#xff0c;usb默认都开了自动停用 一、解决方式一 在设备管理里面找到那些需要插拔才能识别的usb设备&#xff0c;电源策略里关掉“允许计算机关闭这个设…...

望获实时Linux系统与大语言模型深度融合,开创实时智能无限可能!

大语言模型的崛起为智能化应用开辟了新的可能性。借助深度学习技术&#xff0c;这些模型能够理解和生成自然语言&#xff0c;处理复杂的文本和语义信息。这使得它们在诸如人机问答、内容生成和数据分析等领域展现出巨大的潜力。在实时控制领域&#xff0c;大语言模型能够显著提…...

【工业场景】用YOLOv8实现工业安全帽识别

工业安全帽识别是一项重要的工作安全管理措施&#xff0c;旨在防止工作场所发生头部伤害事故。通过使用YOLOv8等深度学习模型&#xff0c;可以实时准确地检测出工人是否佩戴安全帽&#xff0c;及时发现违规行为&#xff0c;为工人提供更安全的工作环境。 使用YOLOv8实现工业安全…...

137. 只出现一次的数字 II

137. 只出现一次的数字 II 题目-中等难度1. 位运算2. 位运算 题目-中等难度 给你一个整数数组 nums &#xff0c;除某个元素仅出现 一次 外&#xff0c;其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法且使用常数…...

Transformer 和 Attention机制入门

1. 什么是 Transformer 背景&#xff1a; 在自然语言处理领域&#xff0c;早期常使用循环神经网络&#xff08;RNN&#xff09;及其变体&#xff08;如 LSTM、GRU&#xff09;来处理序列数据&#xff0c;如机器翻译、文本生成等任务。然而&#xff0c;RNN 结构存在以下问题&…...

selenium合集

环境搭建步骤 安装selenium pip install selenium 安装浏览器 安装浏览器驱动 谷歌浏览器&#xff1a;chromdriver.exe ie浏览器:ieserverdriver.exe FireFox浏览器:geckodriver.exe 特别注意⚠️&#xff1a;下载驱动版本必须与浏览器版本一致 下载地址 淘宝镜像&#xff1…...

# Java 发送电子邮件示例

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c; 忍不住分享一下给大家。点击跳转到网站 学习总结 1、掌握 JAVA入门到进阶知识(持续写作中……&#xff09; 2、学会Oracle数据库入门到入土用法(创作中……&#xff09; 3、手把…...