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

云原生训练营课程大纲

第一部分:Go 语****言基础

模块一:Go 语言特性

教学目标:

  1. 理解 Go 语言基本语法

  2. 理解 Go 语言常用数据类型

  3. 理解 Go 语言常用小技巧

  4. 深入理解 Go 语言的多线程编程

针对的用户痛点:

  1. 云原生从业者因为未熟练掌握 Go 语言,在阅读 Docker、containerd、Kubernetes 代码时有困难

  2. 未熟练掌握 Go 语言,在需要编写云原生组件时无法高效率高质量交付

通过学习掌握的核心能力:

  1. 阅读 Go 语言代码的能力

  2. 用 Go 语言编写应用程序的基本能力

  3. 用 Go 语言编写一个 Kubernetes 中最常见的生产者消费者小程序

详细内容:

  1. Go 语言编译环境设置

  2. Go 语言常用数据结构

  3. Go 语言函数调用,深入理解 Channel 并基于 Channel 编写一个生产者消费者程序

模块二:使用 Go 语言编写一个****小 Demo

教学目标:

  1. 理解 Go 语言的调度原理

  2. 理解 Go 语言的内存管理

  3. Go 语言依赖管理

  4. Go 语言调试和问题分析 pprof

针对的用户痛点:

  1. 对 Goroutine 无深入理解,无法利用 Go 语言强大的并发能力

  2. 面对众多的 Go 语言项目包依赖管理工具无所适从,不知道该用哪一个工具

  3. 针对 Go 语言编写的程序,不知道如何调试

通过学习掌握的核心能力:

  1. 了解 Go 语言的高级话题,如线程调度原理,内存管理等,使得学员有能力编写高效程序

  2. 理解 Go 语言的依赖管理方法,以便能够正确地管理项目依赖

  3. 学会用 pprof 对应用运行时的调用栈、内存等进行分析

  4. 学会用 Go 语言编写一个简单的 HTTP 服务器供后续云原生应用使用

详细内容:

  1. Goroutine 的调度

  2. 内存管理

  3. 学会用 Go 语言编写一个简单的 HTTP 服务器

第二部分:云原生技术栈

模块三:Docker 核心技术

教学目标:

  1. 理解容器特性以及相比虚拟化技术所具备的优势

  2. 了解容器技术的实现细节:Namespace、cgroup、文件系统

针对的用户痛点:

  1. 分不清容器技术和虚拟化技术的差异,在做技术决策时没有理论支撑

  2. 因为不了解技术原理,排查容器问题时毫无头绪

通过学习掌握的核心能力:

  1. 了解 Namespace 技术的原理以及基于 Namespace 的问题排查方法

  2. 理解 cgroup 控制资源限额的方法,查看 cgroup 配置并临时调整 cgroup 配置

  3. 理解容器文件系统如何高效管理运行时和数据

  4. 理解容器网络,为进一步理解 Kubernetes 网络插件奠定基础

  5. 基于 Dockerfile 将应用程序打包成容器镜像

详细内容:

  1. 容器技术的本质以及技术优势,Namespace、cgroup、文件系统、网络连通

  2. 容器镜像与镜像仓库

  3. 将 Go 语言编写的 HTTP 服务器打包成容器镜像

**模块四:**Kubernetes 架构原则和对象设计

教学目标:

  1. 理解 Kubenretes 架构原则

  2. 理解 Kubernetes 的对象设计与 API 定义

  3. 理解 Kubernetes 控制器模式与多组件联动机制

针对的用户痛点:

  1. 对 Kubernetes 有简单认知,但无法编写出高效的、符合云原生规范和最佳实践的组件

  2. 对组件和基本对象只有浅层次的理解,对 API 的统一性和差异性无深入理解

  3. 不了解 Kubernetes 的控制器原理,对 Kubernetes 控制面板组件如何运作无深入理解

通过学习掌握的核心能力:

  1. 动手搭建 Kubernetes 环境

  2. 理解 Kubernetes 架构原则

  3. 理解 Kubernetes API 定义的设计原则,理解 Kubernetes 对象中的重要属性

  4. 理解 Kubernetes 控制器的联动机制

详细内容:

  1. 环境搭建

  2. Kubernetes 架构优势及架构原则

  3. Kubernetes 核心组件

  4. Kubernetes 对象设计与 API 定义

  5. Kubernetes 控制器模式

**模块:**Kubernetes 控制平面组件:etcd

教学目标:

  1. 深入理解 Kubernetes 的唯一数据存储组件 etcd

  2. 掌握构建生产系统中 etcd 集群的方法

  3. 熟悉 etcd 的优化管理,了解灾备方案

针对的用户痛点:

  1. 对 etcd 的实现机制不了解,不知道在生产化应用过程中可能遇到的问题

  2. 不知道应该如何构建生产系统中的 etcd 集群

  3. 不知道如何进行数据的备份和灾难恢复

通过学习掌握的核心能力:

  1. 理解 Raft 协议的工作机制和 etcd 的实现原理,针对 etcd 生产系统的配置优化以及数据灾备

  2. 深入理解 API Server 的实现机制,包括与企业认证系统整合、鉴权、准入插件的实现等等

  3. 深入理解 Kubernetes 的对象实现

  4. 如何构建高可用的 etcd 和 API Server 控制平面

详细内容:

  1. 深入理解 Kubernetes 的数据存储 etcd

  2. 了解 Raft 协议

  3. 生产系统中 etcd 的配置

  4. etcd operator

  5. etcd 的灾备方案

  6. 生产系统中常见问题解析

**模块六:**Kubernetes 控制平面组件:API Server

教学目标:

  1. 深入理解 Kubernetes API Server 的实现机制

  2. 掌握基于 API Server Webhook 的整合方案

针对的用户痛点:

  1. 缺乏对 Kubernetes 对象实现方法的理解

  2. 对 API Server 缺乏理解,不知道如何与企业认证系统整合,不会基于鉴权准入等机制打造多租户 Kubernetes 平台

通过学习掌握的核心能力:

  1. 理解 Kubernetes 对象设计的实现机制

  2. 理解 API Server 缓存的工作机制

  3. 掌握生产系统中 API Server 的常用配置

  4. 掌握 API Server 与企业生态系统的整合方法

详细内容:

  1. 深入理解 Kubernetes API Server

  2. API Server 代码走读

  3. 理解 internalVersion、externalVersion 和 storageVersion

  4. 理解 conversion

  5. 基于 client-go 生成 Kubernetes 框架代码

  6. 理解 lister 和 informer 框架

  7. 理解 API Server 缓存

  8. API Server 与企业生态系统的整合:认证接入、鉴权、准入控制

  9. API Server 常用配置与常见问题解析

模块Kubernetes 控制平面组件:调度器和控制器

教学目标:

  1. 理解 Kubernetes 调度器原理以及常用调度插件

  2. 理解 Kubernetes 调度的常用技巧,利用亲和性与反亲和性进行调度

  3. 理解 Kubernetes 的常见控制器

  4. 深入理解 Kubelet 对 Pod 声明周期的管理

针对的用户痛点:

  1. 对 Kubernetes 调度器无深入理解,在 Pod 无法调度时,不知道如何排查问题

  2. 不会利用 Kubernetes 调度器实现应用的高效、高可用部署

  3. 对 Kubernetes 控制器缺乏全面认知

  4. 对 Kubernetes 如何管理 Pod 生命周期缺乏认知

通过学习掌握的核心能力:

  1. 排查调度故障,利用调度器实现应用的高可用部署

  2. 扩展对 Kubernetes 控制器的认知,理解更多的 Kubernetes 控制平面行为

  3. 深入理解 CRI、CNI 和 CSI

详细内容:

  1. 深入理解 Kubernetes 调度器

  2. 深入理解 Kubenretes 控制器

  3. 深入理解 Kubelet

  4. 如何运行你的 Pod(CRI、CNI、CSI)

  5. Kubelet Pod 代码走读

  6. containerd 代码走读

  7. CNI 代码走读

  8. 全方位的 CSI 一站式解决方案:Rook

**模块:**Kubernetes 控制平面组件:生命周期管理和服务发现

教学目标:

  1. 深入理解 Pod 的完整生命周期和就绪状态控制

  2. 深入理解 Pod 状态控制对应用可用性的影响

  3. 深入理解 Kubernetes 中的服务发现机制,包括负载均衡配置和域名服务

针对的用户痛点:

  1. 解决日常运维的困扰,比如,在 Pod 初始化或故障转移时或者版本发布时,如何不影响业务?

  2. 我发布的服务经常出现服务中断,是缺了什么配置吗?

通过学习掌握的核心能力:

  1. 理解 Pod 的完整生命周期,如何初始化、如何控制就绪状态、如何探活、如何优雅终止

  2. 如何发布服务,如何剔出异常实例

详细内容:

  1. 深入理解 Kubernetes 的服务实例对象 Pod:Pod 生命周期详解、健康探针、ReadinessGate

  2. 深入理解 Kube-Proxy:如何发布你的服务、代码走读、负载均衡配置

  3. 域名管理

  4. 基于 Ingress 以及 Service API 的入站流量管理

模块九:生产化集群的管理

教学目标:

  1. 掌握生产化集群的搭建技术

  2. 掌握生产化集群持续运维过程中最重要的节点管理能力

  3. 如何在不影响业务的前提下完成 Kubernetes 升级

针对的用户痛点:

  1. 不知道如何快速构建本地集群供研发测试使用

  2. 未掌握构建生产化集群的方法,缺少对集群节点的管控,节点出现故障以后需要人为介入

  3. 如何实现生产化集群的管理,比如计算节点的监控与管理

  4. 不了解完成了集群搭建以后离生产化还有多远

通过学习掌握的核心能力:

快速构建本地集群的能力

理解 Kubernetes 集群构建的原理,掌握搭建 Kubernetes 集群的能力

基于 Cluster API 完成生产化集群的构建和持续运维

详细内容:

  1. 利用 kind 构建本地集群

  2. 利用 kubeadm 构建基于虚拟机的集群

  3. 利用 Cluster API 完成生产化集群的搭建

  4. 持续运维的考量:节点健康检查、Kubernetes 升级、主机操作系统升级

**模块十:**Kubernetes 的生产化运维

教学目标:

  1. 如何实现基于 Kubernetes 的 CI/CD

  2. 如何实现生产化集群的监控

针对的用户痛点:

  1. 缺少企业统一的镜像仓库

  2. 镜像安全应该如何保证

  3. 企业缺少持续集成持续部署能力

  4. 缺少对整个集群的监控,希望实现无人值守

通过学习掌握的核心能力:

  1. 打造持续集成平台

  2. 基于自动化管理生产化集群

  3. 实现对集群控制面板以及重要应用的监控和告警

详细内容:

  1. 镜像仓库和容器镜像缓存

  2. 镜像扫描和镜像安全保证

  3. 基于 Kubernetes、Jenkins、Tekton 打造 CI/CD Pipeline

  4. 集群监控:日志收集和分析,事件、指标和告警(Event、Metrics 和 Alert)

**模块十一:**将应用迁移至 Kubernetes 平台

教学目标:

  1. 如何将无状态应用发布到 Kubernetes 平台

  2. 如何基于 Kubernetes 原生能力将有状态应用发布到 Kubernetes 平台

  3. 基于 Kubernetes 对象扩展,将更复杂的应用发布到 Kubernetes 平台

针对的用户痛点:

  1. 缺少将应用发布到 Kubernetes 平台上的理论指导

  2. 对于有状态应用,更不知道如何借助 Kubernetes 平台的优势进行处理

通过学习掌握的核心能力:

  1. 掌握 Kubernetes 提供的应用管理框架,包括有状态应用和无状态应用

  2. 掌握 Operator 模式,具备通过 Kubebuilder 构建自己的 CRD,并且基于 CRD 编写控制器的能力

  3. 利用 Kubebuilder 完成控制器的测试和发布

  4. 借助 Helm 完成复杂的应用模板管理

详细内容:

  1. 应用容器化

  2. 无状态应用移植到 Kubernetes 平台的考量

  3. 有状态应用移植到 Kubernetes 平台的考量

  4. 理解 Operator

  5. 借助 Kubebuilder 开发一个 Operator

  6. 借助 Helm 管理应用发布

**模块十二:**基于 Istio 的高级流量管理

教学目标:

  1. 理解基于 TCP/UDP 协议的 Kubernetes Service 的局限性

  2. 理解 Kubernetes 入站流量管理的场景和原生方案

  3. 理解原生方案的局限性和社区的方向

  4. 深入理解 Envoy 的服务发现机制、线程模型以及扩展机制

  5. 理解如何基于 Istio 实现入站、出站流量管理以及服务网格管理

针对的用户痛点:

  1. 社区的 Ingress 对象无法毕业,为支持生产化应用,应该用什么方案提供入站流量支撑

  2. Envoy 为什么变成了 Kubernetes 中七层代理的首选

  3. 社区爆火的 Istio 背后的技术驱动力是什么,我应该选 Istio 作为入站流量管理平面组件吗

通过学习掌握的核心能力:

  1. 深入理解 Envoy 的实现机制

  2. 深入理解 Istio 的实现机制,了解为什么 Istio 会成为服务网格的标准

详细内容:

  1. 入站流量管理 Ingress 和 Service API

  2. Istio 和 Envoy

  3. 深入理解 Envoy:发现机制、线程模型、filter 机制、高级特性

  4. 深入理解 Isito:入站流量、出站流量、Service Mesh(服务网格)、Istio 服务发现代码走读

5. 安全保证

**模块十三:**Kubernetes 集群联邦和 Istio 多集群管理

教学目标:

  1. 如何通过集群联邦的统一控制平面管理多个集群

  2. 如何部署跨地域的高可用应用

  3. 如何通过 Istio 多集群方案管理跨集群的 Service Mesh(服务网格)

针对的用户痛点:

  1. 针对真正的生产化应用,跨地域部署是确保应用高可用的一个强需求,那么如何管理多个 Kubernetes 集群

  2. 针对跨集群部署的应用,如何确保其接入流量高可用,如何借助 Istio 实现这一目的

通过学习掌握的核心能力:

  1. Kubernetes 集群联邦的实现原理和配置方法

  2. Istio 多集群实现原理和配置方法

详细内容:

  1. Kubernetes 集群联邦

  2. 基于集群联邦的跨地域高可用部署

  3. 基于 Istio 多集群的流量高可用方案

模块十四:基于 Kubernetes Istio 的安全保证

教学目标:

  1. 理解传统安全架构的挑战

  2. 掌握零信任架构的意义和机遇

  3. 掌握 Kubernetes 平台本身的安全保证手段

  4. 学习如何基于 Kubernetes 和 Istio 实现对应用的隔离和安全保证

针对的用户痛点:

  1. 如何确保 Kubernetes 平台的安全性

  2. 如何确保 Kubernetes 中数据保存的安全性

  3. 如何确保 Kubernetes 上运行应用的安全性

通过学习掌握的核心能力:

  1. 如何保证 etcd 中保存的数据安全性

  2. 如何保证 Kubernetes 控制面板的安全性

  3. 如何确保 API 网关的安全性

  4. 对应用进行安全隔离

  5. 如何基于零信任架构完成应用的认证和授权

详细内容:

  1. 理解 etcd 的加密方法

  2. 掌握 Kubernetes 控制面板的安全配置

  3. 掌握应用隔离的常规手段以及在 Kubernetes 中配置的方式

  4. 掌握 API 网关的安全配置

  5. 了解基于 Istio 的认证鉴权机制

第三部分:云原生项目实战

模块十微服务项目的开发和部署****案例

教学目标:

完成一个复杂的异构的微服务系统在 Kubernetes 平台上的部署,以 Istio 的 Bookinfo 为例

针对的用户痛点:

  1. 随着业务复杂度的增加,微服务的部署和运维变得越来越有挑战性,如何保证微服务应用部署的高性能是一个复杂问题

  2. 如何基于熔断、限流等手段保护核心业务

  3. 如何基于基础架构平台确保应用安全

通过学习掌握的核心能力:

  1. 基于微服务架构的复杂应用部署

  2. 熔断、限流、故障注入

  3. 应用的安全保证

详细内容:

本模块是之前所有模块的综合复习模块,希望借助本模块完成基于 Kubernetes 框架下面微服务治理这一重要命题的回顾和总结。

加餐:Serverless 核心技术概览

教学目标:

  1. 理解 Kubernetes 的价值和面临的挑战

  2. 了解 Serverless 能为云原生领域带来的价值

  3. 知道常见的 Serverless 平台和开源框架

针对的用户痛点:

  1. 不知道 Serverless 的源起、希望解决的问题

  2. 想学习 Serverless,不知道从哪里入手

通过学习掌握的核心能力:

  1. 了解 Serverless 的设计理念

  2. 掌握 Serverless 平台、开源项目、应用希望达成的目标

  3. 掌握容器 Serverless 和函数 Serverless 的使用方法

详细内容:

  1. Serverless 的设计理念,理解 BaaS 和 FaaS 的相同点和差异点

  2. Serverless 给运维、研发工程师等岗位带来的改变

  3. 常见的 Serverless 框架能够提供的服务

  4. 容器 Serverless:Knative

  5. Knative 控制面和数据面原理

  6. 利用 Knative 做灰度发布和扩缩容

  7. Knative Eventing 核心对象

  8. Knative 冷启动面临的挑战

  9. 函数 Serverless:Fission

  10. Fission 如何加速冷启动

  11. Fission 的主要功能特性

  12. Serverless 落地实践的机遇和挑战

《云原生训练营实战项目》

https://shimo.im/docs/RKAWV8xgZ7tKWXk8/

相关文章:

云原生训练营课程大纲

第一部分:Go 语****言基础 模块一:Go 语言特性 教学目标: 理解 Go 语言基本语法 理解 Go 语言常用数据类型 理解 Go 语言常用小技巧 深入理解 Go 语言的多线程编程 针对的用户痛点: 云原生从业者因为未熟练掌握 Go 语言&#…...

【Ajax】笔记-同源策略

同源策略(Same-Origin Policy),是浏览器的一种安全策略 同源(即url相同):协议、域名、端口号 必须完全相同。(请求是来自同一个服务) 跨域:违背了同源策略,即跨域。 ajax请求是遵循…...

Java使用FFmpeg实现mp4转m3u8

Java使用FFmpeg实现mp4转m3u8 前言FFmpegM3U8 一、需求及思路分析二、安装FFmpeg1.windows下安装FFmpeg2.linux下安装FFmpegUbuntuCentOS 三、代码实现1.引入依赖2.修改配置文件3.工具类4.Controlle调用5.Url转换MultipartFile的工具类 四、播放测试1.html2.nginx配置3.效果展示…...

【JavaEE初阶】Servlet (三)MessageWall

在我们之前博客中写到的留言墙页面,有很严重的问题:(留言墙博客) 如果刷新页面/关闭页面重开,之前输入的消息就不见了.如果一个机器上输入了数据,第二个机器上是看不到的. 针对以上问题,我们的解决思如如下: 让服务器来存储用户提交的数据,由服务器保存. 当有新的浏览器打开页…...

D. Make It Round

在Berlandia发生了通货膨胀,所以商店需要改变商品的价格。 商品n的当前价格已经给出。允许将该商品的价格提高k倍,1≤k≤m,k为整数。输出商品的最圆的可能的新价格。也就是在最后有最大数量的零的那个。 例如,数字481000比数字1…...

Python网站页面开发HTML总结

Python网站页面开发HTML总结 一、HTML基础语法 1.HTML是什么? ●HTML是HyperText Mark-up Language的首字母简写,即超文本标记语言。 ●HTML不是一种编程语言,而是一种标记语言。 ●超文本指的是超链接,标记指的是标签&#xf…...

[个人笔记] vCenter设置时区和NTP同步

VMware虚拟化 - 运维篇 第三章 vCenter设置时区和NTP同步 VMware虚拟化 - 运维篇系列文章回顾vCenter设置时区和NTP同步(附加)ESXi设置alias参考链接 系列文章回顾 第一章 vCenter给虚机添加RDM磁盘 第二章 vCenter回收活跃虚拟机的剩余可用空间 vCente…...

(原创)Flutter与Native通信的方式:EventChannel和BasicMessageChannel

前言 上一篇博客主要介绍了MethodChannel的使用方式 Flutter与Native通信的方式:MethodChannel 这篇博客接着讲另外两种通信方式 EventChannel和BasicMessageChannel EventChannel用于从native向flutter发送通知事件,例如flutter通过其监听Android的重…...

【解决】el-tree报Cannot read property ‘getCheckedKeys‘ of undefined

如果你报错 Cannot read property getCheckedKeys of undefined 或者 Cannot read property getCheckedNodes of undefined 只要在你的在<el-tree>上加个这个&#xff0c;就可以了 ref"tree"...

车载软件架构 —— 信息安全与基础软件

车载软件架构 —— 信息安全与基础软件 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 没有人关注你。也无需有人关注你。你必须承认自己的价值,你不能站在他人的角度来反对自己。人生在世,最怕…...

C\C++内存管理

目录 1.C/C内存分布2.C语言中动态内存管理方式3.C中动态内存管理3.1new/delete内置类型3.2new和delete操作自定义类型 4.operator new与operator delete函数4.2重载operator new与operator delete&#xff08;了解&#xff09; 5.new和delete的实现原理5.1内置类型5.2 自定义类…...

会议室预约系统-检验是否被预约核心SQL

会议室预约时&#xff0c;判断能否被预约&#xff0c;即查询是否已经有预约记录&#xff0c;存在不能被预约。 s,e&#xff1b;表示已经预约的开始结束时间&#xff1b; ns,ne&#xff0c;表示表单提交的预约时间&#xff1b; 只需要(ns,ne)与(s,e)区间没有交集&#xff0c;可…...

C++11类模板

类模板是用来生成类的蓝图&#xff0c;与函数模板的不同之处是&#xff0c;编译器不能为类模板推断模板参数类型。 所以我们在使用类的时候要带上<>并且指定类型如下 vector<int> v; // 需要带上<int> 哦定义类模板 如下&#xff0c;和函数模板差不多都是…...

SpiderFlow爬虫平台(爬虫学习)

申明 作为自己学习的记录,方面后期查阅 官网 SpiderFlow官网 简介 spider-flow 是一个爬虫平台&#xff0c;以图形化方式定义爬虫流程&#xff0c;无需代码即可实现一个爬虫 是使用springboot开发的项目,后端代码直接运行即可使用...

Rime输入法配置

Rime输入法在我电脑上&#xff0c;删了装&#xff0c;装了删&#xff0c;已经反复好几次了。就像是Vim&#xff0c;用它的时候&#xff0c;感觉各种配置太麻烦&#xff0c;想要的功能不知道怎么实现。转用其它编辑器的时候&#xff0c;却又念着它的快捷键和可定制性&#xff0c…...

R语言学习笔记--列表list、数据框

列表 1-列表 列表可以包含不同类型的对象&#xff0c;也就是说&#xff0c;列表不是将某些具体的值组织起来&#xff0c;而是组织R对象。列表将数据组织在一个一维集合中。 列表非常好用&#xff0c;因为它可以装任何类型的对象&#xff0c;不要求数据之间是同质的。 创建列…...

电磁波定义、特性以及信道相关知识

文章目录 前言一、电磁波的定义、特性、波谱1、电磁波的特性2、电磁波谱的划分及用途 二、地球大气层的结构三、电磁波的传播方式1、地波&#xff08;ground-wave&#xff09;2、天波&#xff08;sky-wave&#xff09;3、视线传播&#xff08;line-of-sight&#xff09;①、相关…...

TCP KeepAlive与HTTP Keep-Alive

TCP KeepAlive与HTTP Keep-Alive TCP KeepAliveHTTP Keep-AliveTCP服务器怎么检测客户端断开连接 TCP KeepAlive TCP连接建立之后&#xff0c;如果应用程序或者上层协议一直不发送数据&#xff0c;或者隔很长时间才发送一次数据&#xff0c;那么TCP需要判断是应用程序掉线了还…...

SkyWalking链路追踪-Agent (代理人)

基础概念&#xff1a; SkyWalking链路追踪代理&#xff08;SkyWalking Tracing Agent&#xff09;是一种用于收集和传输链路追踪数据的工具。它与应用程序一起部署&#xff0c;并通过自动或手动方式来收集关于应用程序中的请求路径和操作的信息。该代理将收集到的数据发送到Sky…...

多线程案例 | 单例模式、阻塞队列、定时器、线程池

多线程案例 1、案例一&#xff1a;线程安全的单例模式 单例模式 单例模式是设计模式的一种 什么是设计模式&#xff1f; 设计模式好比象棋中的 “棋谱”&#xff0c;红方当头炮&#xff0c;黑方马来跳&#xff0c;针对红方的一些走法&#xff0c;黑方应招的时候有一些固定的…...

(十)学生端搭建

本次旨在将之前的已完成的部分功能进行拼装到学生端&#xff0c;同时完善学生端的构建。本次工作主要包括&#xff1a; 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)

CSI-2 协议详细解析 (一&#xff09; 1. CSI-2层定义&#xff08;CSI-2 Layer Definitions&#xff09; 分层结构 &#xff1a;CSI-2协议分为6层&#xff1a; 物理层&#xff08;PHY Layer&#xff09; &#xff1a; 定义电气特性、时钟机制和传输介质&#xff08;导线&#…...

定时器任务——若依源码分析

分析util包下面的工具类schedule utils&#xff1a; ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类&#xff0c;封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz&#xff0c;先构建任务的 JobD…...

MMaDA: Multimodal Large Diffusion Language Models

CODE &#xff1a; https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA&#xff0c;它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

短视频矩阵系统文案创作功能开发实践,定制化开发

在短视频行业迅猛发展的当下&#xff0c;企业和个人创作者为了扩大影响力、提升传播效果&#xff0c;纷纷采用短视频矩阵运营策略&#xff0c;同时管理多个平台、多个账号的内容发布。然而&#xff0c;频繁的文案创作需求让运营者疲于应对&#xff0c;如何高效产出高质量文案成…...

es6+和css3新增的特性有哪些

一&#xff1a;ECMAScript 新特性&#xff08;ES6&#xff09; ES6 (2015) - 革命性更新 1&#xff0c;记住的方法&#xff0c;从一个方法里面用到了哪些技术 1&#xff0c;let /const块级作用域声明2&#xff0c;**默认参数**&#xff1a;函数参数可以设置默认值。3&#x…...

Linux-进程间的通信

1、IPC&#xff1a; Inter Process Communication&#xff08;进程间通信&#xff09;&#xff1a; 由于每个进程在操作系统中有独立的地址空间&#xff0c;它们不能像线程那样直接访问彼此的内存&#xff0c;所以必须通过某种方式进行通信。 常见的 IPC 方式包括&#…...

k8s从入门到放弃之Pod的容器探针检测

k8s从入门到放弃之Pod的容器探针检测 在Kubernetes&#xff08;简称K8s&#xff09;中&#xff0c;容器探测是指kubelet对容器执行定期诊断的过程&#xff0c;以确保容器中的应用程序处于预期的状态。这些探测是保障应用健康和高可用性的重要机制。Kubernetes提供了两种种类型…...

【Zephyr 系列 16】构建 BLE + LoRa 协同通信系统:网关转发与混合调度实战

🧠关键词:Zephyr、BLE、LoRa、混合通信、事件驱动、网关中继、低功耗调度 📌面向读者:希望将 BLE 和 LoRa 结合应用于资产追踪、环境监测、远程数据采集等场景的开发者 📊篇幅预计:5300+ 字 🧭 背景与需求 在许多 IoT 项目中,单一通信方式往往难以兼顾近场数据采集…...

Modbus转Ethernet IP深度解析:磨粉设备效率跃升的底层技术密码

在建材矿粉磨系统中&#xff0c;开疆智能Modbus转Ethernet IP网关KJ-EIP-101的应用案例是一个重要的技术革新。这个转换过程涉及到两种主要的通信协议&#xff1a;Modbus和Ethernet IP。Modbus是一种串行通信协议&#xff0c;广泛应用于工业控制系统中。它简单、易于部署和维护…...