LabHub — 실습으로 배우는 IT
읽고 끝나지 않습니다. 브라우저의 실제 서버에서 실습합니다.
IT 基础
无论是不是科班出身,工作中卡住的地方通常就是基础有洞的地方。这条路径依次走过计算机组成、操作系统、网络与数据库,把那些洞补上。学完后遇到故障能自己收敛到「哪一层的什么问题」。
Linux 与终端精通
在只剩终端的服务器上,把问题一路收敛到底的能力。从文件、权限、进程这些基本功开始,动手走过 shell 脚本、vim 与 tmux,磁盘、内存、fd 与负载的故障处理,以及名称解析与套接字诊断。学完后能用几行命令说清「df 明明有空间为什么写不进去」「负载 24 为什么 CPU 还在闲着」。
- Linux 基础 — 第一次用终端也没关系。
- Shell 脚本 — 不是用完就扔的脚本,是敢放到服务器上的脚本。
- vim 与 tmux — 没有鼠标的环境里反而更快。
- Linux 故障处理 — df 明明有空间,为什么写不进去。
- Linux 网络诊断 — 是名字解析不了,是连不上,还是服务器慢。
容器精通
从第一次启动容器,到命名空间与 cgroup、OCI 镜像格式,再到最小权限镜像,五门课层层递进。不背命令,而是靠一个退出码收敛原因、指出打断缓存的那一行、用 inspect 证明镜像里烙进了什么。学完后能在三分钟内评审别人的 Dockerfile。
- Docker 基础 — 给第一次启动容器的人的第一门课。
- 构建镜像 — 构建慢,多半不是缓存的问题,是顺序的问题。
- 卷、网络与 Compose — 一个容器成不了一个服务。
- 容器内部原理 — 内核里根本没有「容器」这个东西。
- 容器安全 — 先打破「已经隔离了所以没事」这句话。
Kubestronaut — Kubernetes 五冠
CNCF Kubestronaut 是集齐 KCNA、KCSA、CKA、CKAD、CKS 五项认证才能获得的头衔。这条路径从概念(KCNA)开始,在真实集群上动手走过运维(CKA)、开发(CKAD)、安全基础(KCSA)与安全实务(CKS)五场考试的考纲。学完后看一眼清单就能在三分钟内说出哪里错了。
- KCNA — Kubernetes 与云原生入门 — 先把术语理清,再动手打开集群
- CKA — Kubernetes 管理员 — 练出修集群的那双手。
- CKAD — Kubernetes 应用开发者 — 手写清单,当场判分
- KCSA — Kubernetes 安全助理 — 用攻击者的眼睛重新看一遍集群
- CKS — Kubernetes 安全专家 — 练出真正把集群锁上的那双手。
黄金 Kubestronaut
在Kubestronaut学习之后,继续学习可观测性(PCA、OTCA)、网络(ICA、CCA)、交付(CAPA、CGOA)、策略(KCA)、平台(CNPA、CBA、CNPE)和Linux(LFCS)。通过理论、测验和练习备考;完成课程不代表获得官方认证,也不保证通过考试。首次获得Golden Kubestronaut称号需要CNCF指定的认证及LFCS均有效。制定考试计划时请核对官方清单和生效日期。
- PCA — Prometheus 认证助理 — 从指标回答什么问题,到实战里的 PromQL 判断
- OTCA — OpenTelemetry 认证助理 — 传播断掉的四个地方,以及 collector 流水线
- ICA — Istio 认证助理 — 光有一个 VirtualService 什么都不会发生。
- CCA — Cilium 认证助理 — 删掉 iptables,把策略种进内核。
- CAPA — Argo 项目认证助理 — 把 Argo 四个项目动手拼起来。
- CGOA — GitOps 认证助理 — Git 是真相,集群自会跟上
- KCA — Kyverno 认证助理 — 把策略写成不会拖垮集群的样子。
- CNPA — 云原生平台工程助理 — 把平台当产品来做
- CBA — Backstage 认证助理 — 我们有多少个服务,谁是主人
- LFCS — Linux 基金会认证系统管理员 — 动手证明 Kubernetes 底下的那层 Linux
- CNPE — 云原生平台工程师 — 设计并守住平台的判断力
SRE / DevOps 工程师
流水线、GitLab CI、IaC、可观测性、Git、压测六门课,讲的是让部署从事件变成日常的手艺。碰的是机制而不是工具名 — 门禁为什么必须用退出码说话、plan 的三个符号各是什么意思、燃烧率 14.4 这个数字从哪来。学完后看到凌晨三点响的告警,能判断此刻该做什么。
FDE — 前置部署工程师
Palantir 创造、OpenAI 与 Anthropic 争相招聘的岗位 Forward Deployed Engineer,这条路径让你动手练。侦察没有文档也没有仪表盘的客户系统,调试别人写的代码,清洗脏的客户数据,只凭日志复原故障时间线,对接 API,最后把这一切写成非工程师能读的报告。学完后即使面对第一次见的环境,最初三十分钟做什么也已经定好。
- 面对陌生系统 — 在一无所知的状态下怎么起步。
- 调试实战 — 只凭症状去修别人写完就走的代码。
- 处理客户数据 — 真实的客户数据,长得不像示例数据。
- 从日志里找原因 — 没有仪表盘时,日志是唯一的眼睛。
- 集成与部署 — 接上、守住、讲清楚。
- 不可撤销的变更 — 一直只读的那双手,第一次动笔的日子。
- 银行现场的语言 — 找到原因,不懂业务也说不清楚。
- 保险领域进阶 — 在保险公司现场,第一周卡住你的不是技术而是术语。
- 闭网现场 — 国防领域 — 在不能搜索、不能安装、不能带出的地方怎么工作。
- 资本市场与清结算 — 毫秒会变成事故,顺序会变成钱的地方。
- FDE综合实战:仓库收到了三次相同订单 — 从客户CSV到无重复预订与交接
数据与 AI 工程
从用 SQL 处理数据的手感开始,设计失败后仍安全的流水线,并亲手做出 LLM 应用的内部零件。学完后收到「数据不对」的报告时,能用数字收敛到是哪个阶段出了问题。
- SQL 实战 — 从查询到执行计划,全部动手跑一遍
- 数据流水线 — 失败后重跑,结果必须一样
- Apache Spark — 慢作业的答案在执行计划和事件日志里 — 用本地模式 Spark 通过事件日志测量 shuffle、连接与数据倾斜
- Apache Hadoop — 在一个 Pod 里搭起并运维 HDFS 与 YARN — 在伪分布式 HDFS·YARN 上亲手操作块、权限、配额与 MapReduce
- Apache Flink — 用真正的引擎跑流处理 — 用引擎自己的输出验证水位线、状态和检查点
- ClickHouse — 从内部理解列式分析数据库 — 用 system 表里的数字读懂排序键、数据部分与合并
- LLM 工程 — 从分词器到 RAG 评测,从地基开始
- AI 智能体 — 是图不是模型 — 停止条件、失败路径、留痕。demo 与产品的分水岭
- Transformer — 手算一遍注意力 — 用数字确认为什么要除以 √d
- AI瘦身失败事件 — 亲手构建INT8模型并测量准确率与性能
- 上周那个模型更好,可没人找得到 — 亲手搭建实验台账、注册表与晋升闸门
- 智能体删掉了我的数据库 — 用标准库编写 MCP 服务器,并设置三层防护
当下的 DevOps 实务
用 Helm 部署与回滚,半夜被叫起来时怎么读 CPU 与内存。不背工具名,而是在真集群和真 /proc 上动手做。
- Helm 发布与回滚 — 能回滚才叫发布 — 在真集群上
- CPU 与内存泄漏的判定 — 在相信 top 的数字之前该确认什么
- SLO — 定下能坏到什么程度 — 99.9% 就是一个月 43 分钟
- 构建是绿灯,可那个库是谁加进来的 — 用清单、签名与来源证明产物
网络进阶
从地址与网关这样的基本功,到在家开服务器必然撞上的发夹 NAT,再到服务网格的真身 Envoy 以及其上的 Istio。
- 地址、子网与网关 — A、B、C 类为什么消失了,取而代之的是什么
- 网络基础 — 在 Linux 虚拟机里动手 — 用 netns 和 tcpdump 亲手摸 ARP、路由、DNS、TCP、防火墙和 NAT
- Kubernetes 网络 — 在真集群上 — 亲手数一数名字怎么解析、策略挡住了什么
- Envoy 内部结构 — 服务网格的流量,最终是这个代理在处理
- Istio 进阶 — 为什么会那样流 — 光有一个 VirtualService 什么都不会发生
- 证书已经续期,浏览器却还显示旧证书 — 在 Pod 里亲手重现 DNS 缓存与 TLS 证书
系统管理员
把服务器前每天发生的事动手走一遍。装包、按层收敛名称为什么解析不了、用密钥连上去搬文件、把 fstab 那一行写准、处理 qcow2 与 rootless 容器、把 GPU 驱动搬进没有外网的网络、把备份一直做到恢复演练。最后按需求写出 Slurm 配置文件,并从损坏的配置里找出原因。
- 包管理 — 一行 install 背后发生的事。
- 网络排障 — 把「连不上」的报告拆成层。
- SSH 与文件传输 — 用密钥连上、安全地搬、再挖条隧道。
- 存储与挂载 — fstab 的一行能救活也能弄死一次启动。
- 虚拟化与 QEMU/KVM — qcow2 的 backing chain 造就了黄金镜像。
- Rootless Podman 运维 — 没有守护进程,没有 root,照样是容器。
- 闭网环境的 GPU 驱动搬入与安装 — 一趟 U 盘就搞定的搬入流程。
- 备份与恢复 — 没做过恢复演练的就不是备份。
- HPC 与 Slurm — 多人分享八张 GPU 的方法。
- RHEL 系管理 — dnf、rpm、createrepo,还有 unit 文件。
可观测性与日志进阶
边车里该挂什么、日志在哪里切、链路在哪里断、Loki 与 OpenSearch 在什么问题上分道扬镳。讲的是设计判断,不是工具用法。
- 边车与多容器组合模式 — 为什么要在一个 Pod 里放两个容器
- 日志流水线设计 — 收集容易,日后找出来难
- 分布式链路断掉的地方 — 边车照样生成 span,链路照样断
- Loki — 不索引日志的日志库 — 只索引标签这个决定改变了一切
- Grafana — 仪表盘是一个问题 — 多加图表和得到答案,方向相反
- cron 在凌晨三点执行了 curl — 编写检测规则,跑通响应流程
平台工程
从登录服务器敲命令的方式里走出来,学会用代码声明想要的状态,让工具去收敛到那个状态。从 Ansible 与 OpenTofu 开始,动手走过 Kubernetes 运维、Helm、CRD 与 Operator、Istio、GitOps、策略引擎共十门课。学完后能把基础设施变更变成留下「谁、改了什么、何时、为什么」的可评审工作。
- Ansible 基础 — 结束手动登录服务器的日子。
- Ansible 实战 — 把复制粘贴的 playbook 折成角色。
- Terraform/OpenTofu 基础 — 声明它、用状态管住它、读懂 plan。
- Terraform 实战 — 动手处理模块、状态与漂移。
- Kubernetes 运维实务 — 只收集凌晨三点会把你叫起来的那些事。
- Kubernetes 发行版 — 自己搭 — 搭起 k3s 与 k0s,再恢复一次 etcd
- Helm Chart 的制作与发布 — 自己写 chart,用 revision 回滚。
- CRD 与 Operator — 给 Kubernetes API 加上自己的类型。
- Istio 服务网格 — 把流量和安全从代码里剥出来。
- GitOps 与 Argo CD — 一次提交就把部署做完。
- 策略即代码 — 把规则刻进集群,而不是写进文档。
- GPU Operator 与时间片 — 从一次让四张 GPU 同时失效的事故讲起。
韩国 SI 实务
按顺序讲韩国 SI/SM 现场新人第一周就会遇到的事。从需求规格书、割接检查表这类交付物开始,在真实服务器上动手走过 Tomcat/nginx 运维、LDAP 与 SSO 认证对接、系统间接口、数据库迁移。标准是那些学校不教、现场第一天就要你做的事。
- SI 项目流程 — 从需求到上线与稳定化,走一整圈
- Tomcat 与 nginx 运维 — WAS 前后真正会去改的全部配置
- nginx 故障处理 — 自己制造故障,再从日志里指出真凶
- 企业认证对接 — LDAP、SSO、DRM — 客户现场早就有的那些
- 系统间对接 (EAI) — 从接口规格书到重处理设计
- SI 的数据库运维 — 标准、变更管理、调优、迁移,全部动手
- Spring Boot — 数一数发了几条查询 — @Autowired 为什么不该写在字段上
- 堆还有空间,服务却停了 — 用 GC 日志、线程转储、连接池耗尽和堆转储读懂 JVM 停顿
云原生架构
把一个服务拆开的那一刻起就需要的零件,全部动手做一遍。服务间通信与韧性、队列与异步 API、Redis 缓存与实时排行榜、S3 与 SeaweedFS、基于 Keycloak 的企业认证,以及 LLM 服务,共六门课。学完后能在架构评审里用「付出什么、得到什么」来讲话。
- 微服务架构 — 先学怎么不拆,再学怎么拆。
- 队列与异步 API — 把慢活儿挪到之后,安全地做。
- Redis 与缓存 — 排行榜用 ZSet,缓存要小心。
- 对象存储与 S3 — 不按文件想,按对象想。
- Keycloak 与企业认证 — 一个登录按钮背后的协议。
- LLM 服务 — 不用模型,也能学会服务这套机械装置。
- 订单重复到达,又消失了一次 — 在单节点 KRaft 中复现并防止重复与丢失
- 当时有两个领导者 — 亲手体验任期、法定人数与网络分区
数据库运维
写好查询和运维数据库是两回事。你会搭起复制、真的做一次主从切换、亲眼看到时间线分叉。然后诊断一个还活着却已经不对劲的数据库。
- PostgreSQL 复制与提升 — 搭起备库,再真的提升一次
- 备份 — 把删掉的数据找回来 — 没恢复过的备份不算备份
- 改表结构 — 别让发版停掉服务 — 一行迁移能把所有请求排成队
- PostgreSQL 故障处理 — 诊断一个还活着却不对劲的数据库
- MongoDB — 文档数据库的判断 — 学的不是查询语法,而是嵌到什么程度
应用开发
后端框架与语言,以及测试。不讲用法,而是讲每种工具如何改变代码的形状。
- 测试工具实战 — 100% 覆盖率保证不了什么
- 用 Go 写服务器 — 没有异常这件事,会改变代码的形状
- Rust — 编译器拦下的那些 — 借来的值用两次,构建就拒绝
- FastAPI — 类型就是契约 — 一个 async def 写错,整台服务器就卡住
- 明明在找鲸鱼,却出现了猫 — 修复 React 搜索竞态,构建显示一万条结果的界面
- 失败了,退出码却是 0 — 把 Python 脚本变成运维工具 — 退出码、重试、指标、测试
云计算基础
很多课程把 Kubernetes 和 Linux 讲得很深,却把底下的云留成空白。这条路径填上那个洞。从区域与责任共担模型开始,亲手读 IAM 策略文档,手工划分 CIDR,最后用计费模型比较两种架构。因为讲的是判断依据而不是控制台按钮的位置,所以无论学 AWS 还是 Azure 都留得住。学完后能在架构评审里用「付出什么、得到什么」来讲话。
后端工程
在真实的 PostgreSQL 与 HTTP 边界上,把数据完整性、幂等性、资源授权、可观测性、部署与事故复盘,连成一个可验证的后端系统。
- 生产级后端 API 综合项目 — 从 PostgreSQL 与真实 HTTP 一直到运维证据,用一个系统证明
- 并发 — 两个人碰同一行时 — 库存变负数不是代码的错,是顺序的错
- 幂等性 — 点两次也只扣一次款 — 重试挡不住,能挡住的只有重复
- 改了字段编号,旧客户端悄悄读出了错误的值 — 亲手验证 protobuf 字节与 schema 演进规则
3D 图形与物理引擎
亲手做出一个三角形出现在屏幕上、以及一摞箱子不塌地立着,背后跑的是哪些计算。讲的不是怎么用引擎,而是引擎里面发生的事。不用任何库,只用标准 Python,每个实验都把结果留成 PNG,在网页预览里用眼睛确认。
- 3D 数学与软件光栅化器 — 把一个三角形画到屏幕上的计算,全部亲手写出来。
- 物理引擎的骨架 — 自己写积分器、碰撞检测、冲量、约束,再把箱子摞起来。
- 着色器与 GPU 管线 — 在 CPU 上模仿顶点着色器和片段着色器,学 GPU 在算什么。
后端求职准备
把一份真实招聘启事逐句读透,决定先做什么;然后只用标准库亲手把 Node.js 后端缺的部分搭起来。不背框架,而是练出读框架的眼睛。
- 从招聘启事读出的后端路线图 — 先决定从什么开始,再动手
- Node.js 后端 — 框架藏起来的东西 — 不装 Nest,自己把 Nest 做的事搭出来
- 慢的不是一个请求,而是全部 — 堵住的是一个请求,变慢的是全部
电子电路与电路板验证
用模型验证电压、电流、负载与 ADC 输入,明确区分仿真和实体电路板测量。
- 电子电路入门 — 传感器输入验证 — 为什么接上负载后分压值会改变
- 冰箱坚称自己有255°C — 用C排查符号、部分读取、重试与期限错误
- 电缆也有回声 — 用 ngspice 与 Python 验证传播、反射与端接
- 传感器没坏,是板子听不懂 — 亲手解读采集到的波形,找出故障
套接字与实时系统
亲手实现字节边界与连接生命周期,复现故障,学习实时应用的基础。
- TCP 包裹碎成几段才送到 — 从字节片段中重建消息
- 一个慢订阅者让直播停了下来 — 隔离停滞的订阅者,让其他人继续接收
- ACK前停机的零食售货机 — 重新连接也不重复增加库存
- 一个连接变慢,其余全都停住了 — 用一个循环盯住数百个连接
前端进阶
状态库为什么强制不可变,流式传输实际上在哪里断掉,浏览器如何读 HTML,层叠如何计算。不看用法之上,而看之下。
- HTML — 一个标签顶一项功能 — 用 div 做的按钮为什么不是按钮
- CSS — 后写的规则获胜 — 你最终动手写 !important 的真正原因
- 状态管理 — 自己写一个库 — 为什么它们都强制不可变
- SSE — 服务端先说话的方式 — 明明在工作,为什么画面上一次性全出来
- SSR — 服务端先画 — 当服务端和客户端画出不同的 HTML
系统故障侦探团
在隔离的实验环境中复现故障并缩小原因范围。比较状态指示和实际请求,学习运维与调试的思路。
- 把K8s弄坏吧 — 原来是我的YAML — 找出绿色状态背后隐藏的故障
- 由我来搞坏 — 先写假设的混沌实验室 — 动手之前,先写下会发生什么
- 日志来自未来 — 时钟制造的五起事故 — 时间戳不是证据,而是主张