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

六十天前端强化训练之第三十七天之Docker 容器化部署实战指南(大师级详解)

=====欢迎来到编程星辰海的博客讲解======

看完可以给一个免费的三连吗,谢谢大佬!

目录

一、Docker 核心知识体系

1.1 容器革命:改变开发方式的技术

1.2 Docker 三剑客

1.3 Docker 生命周期管理

1.4 关键命令详解

二、前端容器化实战案例(含完整代码)

2.1 项目结构

2.2 四阶段构建 Dockerfile

2.3 配套Nginx配置(nginx.conf)

2.4 编排文件(docker-compose.yml)

2.5 操作流程

三、大师级最佳实践

3.1 镜像优化策略

3.2 安全加固方案

四、知识图谱与扩展

4.1 学习路线图

4.2 扩展阅读

五、疑难解答宝典


一、Docker 核心知识体系

1.1 容器革命:改变开发方式的技术

容器技术通过操作系统级别的虚拟化,将应用程序及其依赖打包成标准化单元。容器与虚拟机对比:

  • 轻量级(共享主机内核)
  • 秒级启动速度
  • 资源占用仅为MB级
  • 镜像分层机制(copy-on-write)

1.2 Docker 三剑客

组件作用描述
Dockerfile构建镜像的蓝图文件,包含逐层构建指令
Image只读的模板文件,包含运行环境和应用程序
Container镜像的运行实例,具有可写层和独立命名空间

1.3 Docker 生命周期管理

BASH

# 完整工作流示例
docker build -t myapp .         # 构建镜像
docker run -d -p 80:80 myapp    # 启动容器
docker exec -it <cid> bash      # 进入容器
docker logs <cid>               # 查看日志
docker stop <cid>               # 停止容器
docker system prune             # 清理资源

1.4 关键命令详解

BASH

# 镜像管理
docker image ls                 # 列出所有镜像
docker history <image>          # 查看镜像构建历史
docker save -o backup.tar myapp # 镜像导出# 容器网络
docker network create mynet     # 创建自定义网络
docker stats                    # 实时资源监控# 高级功能
docker volume create appdata    # 持久化数据卷
docker-compose up --scale web=3 # 服务扩展

二、前端容器化实战案例(含完整代码)

2.1 项目结构

TEXT

/my-react-app├── public/├── src/├── package.json├── Dockerfile          # 构建定义文件└── docker-compose.yml  # 服务编排文件

2.2 四阶段构建 Dockerfile

DOCKERFILE

# 阶段1:使用Node镜像构建应用
FROM node:18-alpine as builder
WORKDIR /app
COPY package*.json ./
RUN npm ci --silent       # 精确安装依赖
COPY . .
RUN npm run build         # 生成生产环境构建文件# 阶段2:使用Nginx服务静态文件
FROM nginx:1.25-alpine
# 复制构建产物到Nginx默认目录
COPY --from=builder /app/build /usr/share/nginx/html
# 使用自定义nginx配置(需要提前准备)
COPY nginx.conf /etc/nginx/conf.d/default.conf
# 暴露端口并启动服务
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]  # 前台运行模式

2.3 配套Nginx配置(nginx.conf)

NGINX

server {listen 80;server_name localhost;location / {root   /usr/share/nginx/html;index  index.html;try_files $uri $uri/ /index.html;  # 支持前端路由}gzip on;  # 开启压缩gzip_types text/plain text/css application/json application/javascript;
}

2.4 编排文件(docker-compose.yml)

YAML

version: '3.8'services:webapp:build: .ports:- "8080:80"restart: unless-stopped  # 自动重启策略environment:- NODE_ENV=productionnetworks:- frontend-netnetworks:frontend-net:driver: bridge

2.5 操作流程

BASH

# 构建并启动服务
docker-compose up --build -d# 查看运行状态
docker-compose ps# 访问应用
curl http://localhost:8080

三、大师级最佳实践

3.1 镜像优化策略

  1. 多阶段构建:分离构建环境与运行环境
  2. 使用Alpine基础镜像:缩减镜像体积(Node镜像从1GB→50MB)
  3. 层缓存优化:合理排序Dockerfile指令
  4. .dockerignore文件:排除无关文件

DOCKERFILE

# 示例优化后的Dockerfile
...# 添加.dockerignore文件
node_modules
.git
*.log

3.2 安全加固方案

  • 使用非root用户运行进程
  • 定期更新基础镜像
  • 扫描镜像漏洞(docker scan)
  • 配置只读文件系统

DOCKERFILE

# 安全增强配置
RUN addgroup -S appgroup && adduser -S appuser -G appgroup
USER appuser

四、知识图谱与扩展

4.1 学习路线图

4.2 扩展阅读

  • 官方文档:Docker Documentation
  • 安全指南:CIS Docker Benchmark
  • 最佳实践:Docker Production Checklist
  • 性能优化:《深入浅出Docker》
  • 前沿技术:containerd与CRI规范解析

五、疑难解答宝典

Q1: 容器端口无法访问?

  • 检查防火墙设置
  • 验证端口映射是否正确(docker ps查看PORTS列)
  • 确认应用监听0.0.0.0而非localhost

Q2: 构建时npm install超慢?

  • 使用国内镜像源:

DOCKERFILE

RUN npm config set registry https://registry.npmmirror.com

Q3: 容器内时间不正确?

DOCKERFILE

# 挂载主机时区
-v /etc/localtime:/etc/localtime:ro

通过本指南的系统学习,大家已掌握现代Web应用的容器化部署精髓。后续可继续探索Docker Swarm、Kubernetes等编排技术,构建完整的云原生技术栈。

相关文章:

六十天前端强化训练之第三十七天之Docker 容器化部署实战指南(大师级详解)

欢迎来到编程星辰海的博客讲解 看完可以给一个免费的三连吗&#xff0c;谢谢大佬&#xff01; 目录 一、Docker 核心知识体系 1.1 容器革命&#xff1a;改变开发方式的技术 1.2 Docker 三剑客 1.3 Docker 生命周期管理 1.4 关键命令详解 二、前端容器化实战案例&#xff…...

RabbitMQ--延迟队列事务消息分发

目录 1.延迟队列 1.1应用场景 1.2利用TTL死信队列模拟延迟队列存在的问题 1.3延迟队列插件 1.4常见面试题 2.事务 2.1配置事务管理器 3.消息分发 3.1概念 3.2应用场景 3.2.1限流 3.2.2负载均衡 1.延迟队列 延迟队列(Delayed Queue)&#xff0c;即消息被发送以后, 并…...

列表,元组,字典,集合,之间的嵌套关系

在 Python 中&#xff0c;列表、元组、字典和集合的嵌套关系需要遵循各自的特性&#xff08;如可变性、可哈希性&#xff09;。以下是它们之间的嵌套规则、示例和典型应用场景的详细梳理&#xff1a; 1. 列表&#xff08;List&#xff09;的嵌套 特性&#xff1a; 可变、有序…...

【行驶证识别】批量咕嘎OCR识别行驶证照片复印件图片里的文字信息保存表格或改名字,基于QT和腾讯云api_ocr的实现方式

项目背景 在许多业务场景中,如物流管理、车辆租赁、保险理赔等,常常需要处理大量的行驶证照片复印件。手动录入行驶证上的文字信息,像车主姓名、车辆型号、车牌号码等,不仅效率低下,还容易出现人为错误。借助 OCR(光学字符识别)技术,能够自动识别行驶证图片中的文字信…...

鸿蒙HarmonyOS NEXT设备升级应用数据迁移流程

数据迁移是什么 什么是数据迁移&#xff0c;对用户来讲就是本地数据的迁移&#xff0c;终端设备从HarmonyOS 3.1 Release API 9及之前版本&#xff08;单框架&#xff09;迁移到HarmonyOS NEXT&#xff08;双框架&#xff09;后保证本地数据不丢失。例如&#xff0c;我在某APP…...

MCP从零开始

MCP简介 MCP&#xff0c;全称是Model Context Protocol&#xff0c;模型上下文协议&#xff0c;由Claude母公司Anthropic于去年11月正式提出。MCP解决的最大痛点就是Agent开发中调用外部工具的技术门槛过高的问题。 能调用外部工具&#xff0c;是大模型进化为智能体Agent的关…...

Three.js 快速入门教程【十九】CSS2DRenderer(CSS2D渲染器)介绍,实现场景中物体或设备标注标签信息

系列文章目录 Three.js 快速入门教程【一】开启你的 3D Web 开发之旅 Three.js 快速入门教程【二】透视投影相机 Three.js 快速入门教程【三】渲染器 Three.js 快速入门教程【四】三维坐标系 Three.js 快速入门教程【五】动画渲染循环 Three.js 快速入门教程【六】相机控件 Or…...

横扫SQL面试——连续性登录问题

横扫SQL面试 &#x1f4cc; 连续性登录问题 在互联网公司的SQL面试中&#xff0c;连续性问题堪称“必考之王”。&#x1f4bb;&#x1f50d; 用户连续登录7天送优惠券&#x1f31f;&#xff0c;服务器连续报警3次触发熔断⚠️&#xff0c;图书馆连续3天人流破百开启限流⚡” …...

爱因斯坦求和 torch

目录 向量点积 矩阵乘法 矩阵转置 向量转换相机坐标系 在 Python 的科学计算库&#xff08;如 NumPy&#xff09;中&#xff0c;einsum 是一个强大的函数&#xff0c;它可以简洁地表示各种张量运算。下面是几个不同类型的使用示例&#xff1a; 向量点积 向量点积是两个向量…...

Spring Initializr搭建spring boot项目

介绍 Spring Initializr 是一个用于快速生成 Spring Boot 项目结构的工具。它为开发者提供了一种便捷的方式&#xff0c;可以从预先定义的模板中创建一个新的 Spring Boot 应用程序&#xff0c;从而节省了从头开始设置项目的大量时间。 使用 Spring Initializr&#xff0c;你…...

【实战】渗透测试下的文件操作

目录 Linux查找文件 Windows查找文件 查找可写目录 windows Linux 创建 Windows Linux 压缩 解压 远程解压文件 Linux查找文件 >find / -name index.php 查找木马文件 >find . -name *.php | xargs grep -n eval( >find . -name *.php | xargs grep -n ass…...

MATLAB 控制系统设计与仿真 - 30

用极点配置设计伺服系统 方法2-反馈修正 如果我们想只用前馈校正输入&#xff0c;从而达到伺服控制的效果&#xff0c;我们需要很精确的知道系统的参数模型&#xff0c;否则系统输出仍然具有较大的静态误差。 但是如果我们在误差比较器和系统的前馈通道之间插入一个积分器&a…...

P1091 [NOIP 2004 提高组] 合唱队形

题目链接&#xff1a; 思路&#xff1a; 题目意思&#xff0c;找出最少的同学出列&#xff0c;保证学生 1-t 上升&#xff0c; t-n 下降。我们只要求出每个点的最长上升子序列和最长不上升子序列&#xff0c;然后总人数-最长上升子序列和最长不上升子序列1&#xff0c;就是最少…...

小林coding-12道Spring面试题

1.说一下你对 Spring 的理解?spring的核心思想说说你的理解&#xff1f; 2.Spring IoC和AOP 介绍一下?Spring的aop介绍一下?IOC和AOP是通过什么机制来实现的?怎么理解SpringIoc&#xff1f;依赖倒置&#xff0c;依赖注入&#xff0c;控制反转分别是什么&#xff1f;依赖注…...

通过Spring Boot集成WebSocket进行消息通信

文章目录 通过Spring Boot集成WebSocket进行消息通信1. 创建 Spring Boot 项目2. 添加 WebSocket 依赖3. 配置 WebSocket4. 创建 WebSocket 处理器5. 创建控制器&#xff08;可选&#xff09;6. 前端页面测试7. 运行项目注意事项 通过Spring Boot集成WebSocket进行消息通信 1.…...

ComfyUI发展全景:从AI绘画新星到多功能创意平台的崛起

在人工智能技术迅猛发展的浪潮中&#xff0c;ComfyUI作为基于Stable Diffusion的开源工具&#xff0c;已经从最初的AI绘画辅助软件成长为支持多模态创作的强大平台。本文将全面梳理ComfyUI的发展历程、技术特点、应用场景及其在AIGC生态中的独特地位&#xff0c;同时展望这一工…...

11-项目涉及设备的问题

我们部门在开发一些项目时&#xff0c;确实需要借用设备&#xff0c;但每次开发新需求时都要从硬件部门借设备&#xff0c;开发完成后又要归还。这种频繁的借还流程不仅增加了沟通成本&#xff0c;还导致项目负责人和开发人员对设备的功能和应用场景缺乏直观的了解。有时甚至连…...

将 Markdown 表格结构转换为Excel 文件

在数据管理和文档编写过程中&#xff0c;我们经常使用 Markdown 来记录表格数据。然而&#xff0c;Markdown 格式的表格在实际应用中不如 Excel 方便&#xff0c;特别是需要进一步处理数据时。因此&#xff0c;我们开发了一个使用 wxPython 的 GUI 工具&#xff0c;将 Markdown…...

C++学习之Linux文件编译、调试及库制作

目录 1.rwx对于文件和目录的区别 2.gcc编译过程 3.数据段合并和地址回填说明 4.gcc编译其他参数 5.函数库简介 6.静态库的使用 7.动态库的简介 8.动态库制作基本流程 9.启动APP错误解决方案12 10.启动APP错误解决方案34 11.makefile一组规则 12.makefile的两个函数 …...

neo4j中导入csv格式的三元组数据

csv数据格式&#xff1a; head_entity,relation,tail_entity 02.02类以外的脂肪乳化制品&#xff0c;包括混合的和&#xff08;或&#xff09;调味的脂肪乳化制品,允许添加,β-胡萝卜素 02.02类以外的脂肪乳化制品&#xff0c;包括混合的和&#xff08;或&#xff09;调味的脂…...

高项第十六章——项目采购管理

什么是采购管理&#xff1f;项目采购管理包括从项目团队外部采购或获取所需产品、服务或成果的各个过程。 项目采购管理包括编制和管理协议所需的管理和控制过程。 16_1 管理基础 什么是协议&#xff1f;协议是用于明确项目初步意向的任何文件或沟通结果&#xff0c;协议的范…...

架构师面试(二十二):TCP 协议

问题 今天我们聊一个非常常见的面试题目&#xff0c;不管前端还是后端&#xff0c;也不管做的是上层业务还是底层框架&#xff0c;更不管技术方向是运维还是架构&#xff0c;都可以思考和参与一下哈&#xff01; TCP协议无处不在&#xff0c;我们知道 TCP 是基于连接的端到端…...

五.ubuntu20.04 - ffmpeg推拉流以及Nginx、SRS本地部署

一.本地部署nginx 1.编译ffmpeg&#xff0c;参考这位博主的&#xff0c;编译选项有的enable找不到的不需要的可以直接删除&#xff0c;但是像sdl&#xff08;包含ffplay&#xff09;、h264、h265这些需要提前下载好&#xff0c;里面都有下载指令。 Ubuntu20.04 编译安装 FFmp…...

JS 手撕题高频考点

前端面试中&#xff0c;JS 手撕题是高频考点&#xff0c;主要考察 编程能力、算法思维、JS 核心知识。以下是最常见的手撕题分类 代码示例&#xff1a; 目录 &#x1f4cc; 1. 手写函数柯里化&#x1f4cc; 2. 手写 debounce&#xff08;防抖&#xff09;&#x1f4cc; 3. 手写…...

Hyperlane框架临时上下文数据管理:提升Web开发效率的利器

Hyperlane框架临时上下文数据管理&#xff1a;提升Web开发效率的利器 在现代Web开发中&#xff0c;临时上下文数据管理是实现高效请求处理的关键。Hyperlane框架通过创新的临时上下文存储机制&#xff0c;为开发者提供了一套简洁、安全的解决方案&#xff0c;让数据在请求生命…...

QT操作PDF文件

Qt 早期本身不提供原生的 PDF 操作功能。从 Qt 5.15 开始,Qt 提供了 PDF 模块,可以显示和提取 PDF 内容。Qt中有如下几种方式实现 PDF 文件的生成、读取和操作。 1、使用 QPrinter 生成 PDF 2、使用 Qt PDF 模块 (Qt 5.15+) 3、使用第三方库(比如:Poppler) 一、使用 Q…...

【算法手记8】NC95 数组中的最长连续子序列 字母收集

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:刷题 ⚙️操作环境:牛客网 目录 一.NC95 数组中的最长连续子序列 题目详情: 题目思路: 解题代码: 二.字母收集 题目详情: 题目思路: 解题代码: 结语 一.NC95 数组中的最长连续子序列 牛客网题目链接(点击即可跳转):NC95 …...

AI渗透测试:网络安全的“黑魔法”还是“白魔法”?

引言&#xff1a;AI渗透测试&#xff0c;安全圈的“新魔法师” 想象一下&#xff0c;你是个网络安全新手&#xff0c;手里攥着一堆工具&#xff0c;正准备硬着头皮上阵。这时&#xff0c;AI蹦出来&#xff0c;拍着胸脯说&#xff1a;“别慌&#xff0c;我3秒扫完漏洞&#xff0…...

使用perf工具分析Linux系统的性能瓶颈

想获取更多高质量的Java技术文章&#xff1f;欢迎访问Java技术小馆官网&#xff0c;持续更新优质内容&#xff0c;助力技术成长 Java技术小馆官网https://www.yuque.com/jtostring 使用perf工具分析Linux系统的性能瓶颈 在现代计算系统中&#xff0c;性能瓶颈是一个经常遇到…...

知识就是力量——HELLO GAME WORD!

你好&#xff01;游戏世界&#xff01; 简介环境配置前期准备好文章介绍创建头像小功能组件安装本地中文字库HSV颜色空间音频生成空白的音频 游戏UI开发加载动画注册登录界面UI界面第一版第二版 第一个游戏&#xff08;贪吃蛇&#xff09;第二个游戏&#xff08;俄罗斯方块&…...

LeetCode算法题(Go语言实现)_20

题目 给你两个下标从 0 开始的整数数组 nums1 和 nums2 &#xff0c;请你返回一个长度为 2 的列表 answer &#xff0c;其中&#xff1a; answer[0] 是 nums1 中所有 不 存在于 nums2 中的 不同 整数组成的列表。 answer[1] 是 nums2 中所有 不 存在于 nums1 中的 不同 整数组成…...

ES拼音分词自动补全实现

#测试拼音分词 POST /_analyze { "text":"如家酒店真不错", "analyzer": "pinyin" } #这里把拼音的首字母放到这里&#xff0c;也说明了这句话没有被分词&#xff0c;而是作为一个整体出现的 #还把每一个字都形成了一个拼音&#…...

Spring Boot 日志 配置 SLF4J 和 Logback

文章目录 一、前言二、案例一&#xff1a;初识日志三、案例二&#xff1a;使用Lombok输出日志四、案例三&#xff1a;配置Logback 一、前言 在开发 Java 应用时&#xff0c;日志记录是不可或缺的一部分。日志可以记录应用的运行状态、错误信息和调试信息&#xff0c;帮助开发者…...

构建大语言模型应用:数据准备(第二部分)

本专栏通过检索增强生成&#xff08;RAG&#xff09;应用的视角来学习大语言模型&#xff08;LLM&#xff09;。 本系列文章 简介数据准备&#xff08;本文&#xff09;句子转换器向量数据库搜索与检索大语言模型开源检索增强生成评估大语言模型服务高级检索增强生成 RAG 如上…...

mac m 芯片 动态切换 jdk 版本jdk8.jdk11.jdk17

下载 jdk 版本. 默认安装路径在. /Library/Java/JavaVirtualMachines配置环境变量 # 动态获取所有 JDK 路径 export JAVA_8_HOME$(/usr/libexec/java_home -v 1.8) export JAVA_11_HOME$(/usr/libexec/java_home -v 11) export JAVA_17_HOME$(/usr/libexec/java_home -v 17)#…...

如何通过python将视频转换为字符视频

请欣赏另类的老鼠舞 字符老鼠舞 与原版对比 对比 实现过程 1. 安装库 pip install numpy pip install Pillow pip install opencv-python pip install moviepy 2. 读取视频帧并转换为灰度图 import cv2def make_video(input_video_path, output_video_path):video_cap cv2…...

如何高效备考蓝桥杯(c/c++)组

以下是针对蓝桥杯C/C组的高效备考策略&#xff0c;结合你的当前基础&#xff08;C语法简单算法题&#xff09;&#xff0c;分阶段提升竞赛能力&#xff0c;重点突破高频考点&#xff1a; 一、蓝桥杯C/C组核心考点梳理 根据历年真题&#xff0c;重点考察以下内容&#xff08;按…...

两数之和-力扣

给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案&#xff0c;并且你不能使用两次相同的元素。 你可以按任意顺序返回答案。 示例 1…...

react撤销和恢复

创建一个历史记录栈past&#xff0c;和一个撤销过的栈future&#xff0c;&#xff0c;在每次操作store的时候&#xff0c;将当前的store的数据&#xff0c;存入历史记录栈past中&#xff0c;&#xff0c; 如果是撤销操作&#xff0c;&#xff0c;就从这个历史栈中取最后面那个数…...

华为机试—密码验证合格程序

题目 你需要书写一个程序验证给定的密码是否合格。 合格的密码要求&#xff1a; 长度超过 8 位必须包含大写字母、小写字母、数字、特殊字符中的至少三种不能分割出两个独立的、长度大于 2 的连续子串&#xff0c;使得这两个子串完全相同&#xff1b;更具体地&#xff0c;如果…...

分布式ID生成器:雪花算法原理与应用解析

在互联网分布式系统中&#xff0c;生成全局唯一的ID是一个核心问题。传统的数据库自增ID、UUID虽然各有优缺点&#xff0c;但在高并发、分库分表场景下往往无法满足需求。美团Leaf分布式ID生成器便是为了解决这些问题而诞生的&#xff0c;其核心实现便是基于Snowflake&#xff…...

搭建Flutter开发环境 - MacOs

一、配置Flutter SDK 1.1 到官网下载Flutter SDK 打开Flutter中文社区网址&#xff0c;往下滚动&#xff0c;找到下载并安装Flutter&#xff0c;选择适合自己电脑的安装包进行下载。下载完毕后&#xff0c;解压放到你想要放置的目录下&#xff0c;我放到了 User/账户/develop…...

【Flutter学习(1)】Dart访问控制

疑问代码片段&#xff1a; class _MyHomePageState extends State<MyHomePage> {int _counter 0;void _incrementCounter() {setState(() {_counter;});} }对Flutter初始文件里下划线的疑问 为什么这里的类和申明的计数器都要在前面加一个下划线&#xff1f; 在 Dart 中…...

Day50 单词规律

给定一种规律 pattern 和一个字符串 s &#xff0c;判断 s 是否遵循相同的规律。 这里的 遵循 指完全匹配&#xff0c;例如&#xff0c; pattern 里的每个字母和字符串 s 中的每个非空单词之间存在着双向连接的对应规律。 class Solution {public boolean wordPattern(String p…...

HTTP和HTTPS区别

一&#xff1a;工作原理 HTTP 超文本传输协议。 一种应用层协议&#xff0c;用于在客户端&#xff08;如浏览器&#xff09;和服务器之间传输超文本数据&#xff08;如HTML、图片&#xff09;。 明文传输&#xff0c;无加密。 HTTPS 安全的超文本传输协议。 是HTTP的加密…...

拥抱AI变革机遇,联易融自研供应链金融垂直领域大模型“蜂联 AI”

2025年3月25日&#xff0c;中国领先的供应链金融科技解决方案服务商联易融科技集团&#xff08;09959.HK&#xff0c;以下简称“联易融”&#xff09;发布2024年业绩公告。2024年公司总收入及收益达10.3亿元&#xff0c;同比增长19%&#xff1b;受益于产品结构优化与运营效率改…...

常用数据库

模式的定义于删除 1.定义模式 CREATE SCHEMA [ <模式名> ] AUTHORIZATION < 用户名 >;要创建模式&#xff0c;调用该命令的用户必须拥有数据库管理员权限&#xff0c;或者获得了DBA授权 eg:为用户WANG定义一个模式S-C-SC CREATE SCHEMA "S-C-SC" AUT…...

Hive UDF开发实战:构建高性能JSON生成器

目录 一、背景与需求场景 二、开发环境准备 2.1 基础工具栈 2.2 Maven依赖配置 三、核心代码实现...

数字电子技术基础(三十六)——利用Multisim软件实现3线-8线译码器

目录 1 手动方式实现3线-8线译码器 2 使用字选择器实现3线-8线译码器 现在尝试利用Multisim软件来实现3线-8线译码器。本实验目的是验证74LS138的基本功能&#xff0c;简单来说就是“N中选1”。 实验设计&#xff1a; &#xff08;1&#xff09;使能信号&#xff1a;时&am…...

解析 HTML 网站架构规范

2025/3/28 向全栈工程师迈进&#xff01; 一、网页基本的组成部分 网页的外观多种多样&#xff0c;但是除了全屏视频或游戏&#xff0c;或艺术作品页面&#xff0c;或只是结构不当的页面以外&#xff0c;都倾向于使用类似的标准组件。 1.1页眉 通常横跨于整个页面顶部有一…...