交互沙盒
亲手操作每一层抽象
54 个交互式沙盒,覆盖 7 层抽象的每一层。从 NAND 门到云原生,状态可编码进 URL,支持分享。
AI 能帮你写代码,但亲手操作沙盒、看到数据在眼前流动的体验,是任何 AI 都无法替代的。就像织毛衣的人知道,临窗听雨、引针穿线的意趣,终究不是机器轰鸣能碾碎的。
🎯 AI 时代的学习建议:不要只看不做。打开沙盒,亲手调整参数、观察行为变化。AI 能帮你写代码,但亲手操作的体验无法替代——那是建立工程直觉的唯一途径。当 AI 生成的代码出了问题,你能从沙盒中积累的直觉出发,快速定位根因。
按层级筛选
根据抽象层级筛选沙盒,从底层硬件到高层应用:
全部沙盒
逻辑门实验室
LogicGateLab
交互式逻辑门可视化。用 NAND 门构建 AND、OR、NOT 等逻辑门,观察真值表变化,理解布尔代数的基础。
CPU 步进器
CpuStepper
单步执行 CPU 指令流水线。观察每条指令如何经过取指→译码→执行→访存→写回五个阶段,理解 CPU 和内存的协作。
汇编游乐场
AssemblyPlayground
交互式汇编语言环境。编写简单的汇编程序,观察寄存器变化和内存访问,理解低级代码如何控制硬件。
虚拟机探索器
VmExplorer
可视化字节码执行过程。观察栈式虚拟机如何执行字节码指令,理解跨平台运行的原理。
编译器实验室
CompilerLab
交互式编译器可视化。输入高级语言代码,观察词法分析、语法分析、代码生成的全过程。
ALU 设计器
AluDesigner
交互式 Hack ALU 模拟器。通过 6 个控制位实现 18 种运算,理解计算机如何用简单操作组合出复杂算术。对应 Nand2Tetris 第 2 章。
存储器模拟器
MemorySimulator
交互式时序逻辑模拟器。操作寄存器组和 RAM,观察时钟信号如何驱动状态更新。对应 Nand2Tetris 第 3 章。
硬件构建器
HardwareBuilder
从零构建 Hack 计算机。放置 ALU、寄存器、内存等组件并建立数据通路,理解计算机体系结构。对应 Nand2Tetris 第 5 章。
Data Lab
DataLab
CSAPP 数据实验室。通过位运算、补码表示、浮点数格式等挑战,深入理解计算机如何表示和处理数据。
Cache Lab
CacheLab
CSAPP 缓存实验室。模拟缓存的工作原理,理解组相联、替换策略、缓存命中与缺失。
SQL 游乐场
SQLPlayground
交互式 SQL 查询实验室。通过挑战学习 SELECT、JOIN、聚合、子查询等 SQL 核心语法。
Bomb Lab
BombLab
CSAPP 炸弹实验室。阅读 x86-64 汇编代码,通过 6 个关卡拆除炸弹,掌握二进制调试技能。
Wireshark HTTP 实验室
WiresharkHttpLab
计算机网络 HTTP 抓包分析实验室。分析真实 HTTP 请求/响应报文,学习请求方法、状态码、头部字段、缓存控制等核心概念。
CUDA 编程实验室
CudaLab
GPU 并行编程入门实验室。通过向量加法、标量乘法、矩阵转置等挑战,学习 CUDA 核函数、线程层次和内存管理。
Socket 编程实验室
SocketProgrammingLab
计算机网络 Socket 编程实验室。通过 TCP 三次握手、数据传输、四次挥手和 UDP 通信挑战,掌握网络编程核心技能。
JVM 内存分析实验室
JvmMemoryLab
JVM 内存管理实验室。通过堆分代可视化、栈帧分析、GC 可达性分析、内存泄漏检测和 OOM 诊断,深入理解 JVM 内存机制。
Java 并发编程实验室
JavaConcurrencyLab
Java 并发编程实验室。通过竞态条件演示、volatile 可见性、死锁检测、ReentrantLock 和 CAS 原子操作,掌握线程安全核心技能。
自动微分实验室
AutoDiffLab
深度学习自动微分实验室。通过计算图可视化、前向/反向传播、链式法则,理解 PyTorch/TensorFlow 的底层原理。
SOLID 原则检查器
SolidChecker
分析代码是否符合 SOLID 设计原则,识别违反单一职责、开闭原则、里氏替换、接口隔离和依赖倒置的地方。对应《架构整洁之道》。
设计模式探索器
DesignPatternsExplorer
探索 GoF 23 种经典设计模式,理解每种模式的意图、参与者和应用场景。对应《设计模式》。
重构手法探索器
RefactoringExplorer
学习常见的重构手法,对比重构前后的代码差异,理解重构的收益。对应《重构》。
领域建模画布
DomainModelingCanvas
可视化领域驱动设计中的限界上下文、聚合根、实体和值对象,构建清晰的领域模型。对应《领域驱动设计》。
微服务拆分工具
MicroserviceSplitter
可视化微服务架构,分析服务间依赖关系,识别循环依赖和过度耦合问题。对应《微服务架构设计模式》。
架构评估工具
ArchitectureEvaluator
基于质量属性的架构权衡分析方法 (ATAM),评估架构在性能、可用性、安全性、可修改性等方面的表现。对应《软件架构实践》。
企业架构模式库
EnterpriseArchitecturePatterns
探索常见的企业应用架构模式(分层、微服务、事件驱动、六边形、CQRS、管道-过滤器),理解每种模式的适用场景。对应《企业应用架构模式》。
K8s Pod 编排模拟器
K8sPodOrchestrator
可视化 Kubernetes Pod 的调度、扩缩容和滚动更新过程。观察 Pod 生命周期、Service 发现和 Deployment 策略。对应《Kubernetes 实战》。
云原生模式匹配器
CloudNativePatternMatcher
识别应用架构中适用的云原生模式(弹性、可观测性、安全、交付),分析模式间的依赖关系和最佳实践。对应《云原生模式》。
Docker 镜像构建器
DockerImageBuilder
交互式 Dockerfile 编写和镜像构建可视化。理解分层缓存、多阶段构建、镜像大小优化,观察镜像层的组合过程。对应《Docker 深度探索》。
分布式系统模拟器
DistributedSystemSimulator
模拟分布式系统的核心挑战:网络分区、节点故障、消息延迟。观察服务发现、负载均衡、弹性模式如何应对这些问题。对应《设计分布式系统》。
CI/CD 流水线可视化
CICDPipelineVisualizer
可视化持续集成和持续交付流水线。观察代码提交如何触发构建、测试、部署,理解价值流映射和 DORA 指标。对应《DevOps 实践指南》。
服务网格流量控制器
ServiceMeshTrafficController
可视化 Istio 服务网格的流量管理。配置 VirtualService 和 DestinationRule,观察金丝雀发布、故障注入、mTLS 安全策略的效果。对应《Istio 服务网格实战》。
可观测性仪表盘
ObservabilityDashboard
构建可观测性三大支柱(指标、日志、追踪)的可视化仪表盘。学习 OpenTelemetry 数据采集、告警策略设计和 SLI/SLO 定义。对应《可观测性工程》。
概率分布可视化器
ProbabilityDistributionVisualizer
交互式概率分布探索工具。可视化高斯分布、指数族分布、贝叶斯后验更新,理解 PRML 中的概率建模思想。对应《模式识别与机器学习》。
神经网络构建器
NeuralNetworkBuilder
拖拽式神经网络构建工具。组合全连接层、卷积层、循环层,观察前向传播和反向传播过程,理解深度学习架构设计。对应《深度学习》。
强化学习环境模拟器
RLEnvironmentSimulator
交互式强化学习训练环境。在网格世界、CartPole 等环境中训练智能体,观察 Q-learning 和策略梯度算法的收敛过程。对应《强化学习》。
NLP 管道可视化
NLPPipelineVisualizer
可视化自然语言处理管道。从分词、词嵌入到 Transformer 注意力机制,观察文本如何被模型理解和生成。对应《语音与语言处理》。
推荐算法对比器
RecommenderAlgorithmComparator
对比协同过滤、矩阵分解、基于内容的推荐算法效果。在电影评分数据集上评估准确率、召回率和覆盖率。对应《推荐系统基础》。
ML 工程模式检查器
MLEngineeringPatternChecker
检查机器学习工程实践是否符合设计模式。分析特征工程、模型训练、MLOps 流程中的反模式,提供改进建议。对应《机器学习设计模式》。
联邦学习模拟器
FederatedLearningSimulator
模拟联邦学习的训练过程。观察 FedAvg 算法如何在多个客户端间聚合模型,理解隐私保护和通信效率的权衡。对应《联邦学习》。
Rust 所有权可视化
RustOwnershipVisualizer
可视化 Rust 的所有权、借用和生命周期规则。观察变量作用域、移动语义和借用检查器如何保证内存安全。对应《Rust 程序设计语言》。
Go 并发模式可视化
GoConcurrencyVisualizer
可视化 Go 的 goroutine 和 channel 通信。观察并发模式的执行流程,理解 select、waitgroup 和并发原语的使用。对应《Go 程序设计语言》。
算法挑战实验室
AlgorithmChallengeLab
编程珠玑经典算法挑战。通过排序、搜索、数据结构选择等问题,训练算法思维和代码优化能力。对应《编程珠玑》。
并发原语模拟器
ConcurrencyPrimitiveSimulator
模拟锁、无锁数据结构、事务内存等并发原语。观察线程同步、死锁检测和线性一致性的实现。对应《多处理器编程艺术》。
HTTP 协议可视化
HttpProtocolVisualizer
可视化 HTTP/1.1、HTTP/2、HTTP/3 协议的工作过程。观察多路复用、头部压缩、0-RTT 连接等特性。对应《高性能浏览器网络》。
代码质量分析器
CodeQualityAnalyzer
分析代码的质量指标:命名规范、函数长度、圈复杂度、依赖关系。提供重构建议和最佳实践指导。对应《代码大全》。
编程实践检查器
PragmaticPracticeChecker
检查代码是否符合务实程序员的最佳实践:DRY、正交性、可追踪性、契约式设计。提供重构建议和代码示例。对应《程序员修炼之道》。
C 到汇编探索器
CtoAsmExplorer
参考 Compiler Explorer (godbolt.org) 的交互式 C 到汇编编译器。编写 C 代码,实时查看编译后的 x86-64 汇编输出,行号对应高亮,理解编译器如何将高级语言转换为机器指令。
CPU 数据通路可视化
CpuDatapathVisualizer
交互式 CPU 数据通路可视化实验室。观察指令如何在 CPU 内部流动:取指→译码→执行→访存→写回。实时查看寄存器、内存、ALU 和标志位的变化,支持单步执行和动画回放。
CPU 3D 可视化实验室
Cpu3DVisualizer
参考 CPU EYE 的 3D CPU 可视化实验室。用 Three.js 渲染 CPU 内部数据通路,支持编译、运行、单步执行和回退。拖拽旋转查看 CPU 组件,观察数据在寄存器、ALU、内存间的流动。
MARIE 模拟器
MarieSimulator
参考 MARIE.js 的 16 位教学计算机模拟器。编写 MARIE 汇编程序,实时观察 7 个寄存器和内存的变化,支持单步执行、自动运行、输入输出设备,理解计算机组成原理的基础概念。
CSAPP 系统漫游
CsappSystemTour
对应 CSAPP 第 1 章「计算机系统漫游」。交互式展示一个 C 程序从源码到执行的全过程:编译→链接→加载→执行。可视化数据在处理器、缓存、内存、I/O 间的流动,理解 Amdahl 定律。
CSAPP 性能优化实验室
CsappPerformanceLab
对应 CSAPP 第 5 章「优化程序性能」。交互式分析代码性能瓶颈:调整循环展开因子、观察编译器优化选项(-O0/-O1/-O2)、对比 CPE(每元素周期数)。理解消除低效率、减少过程调用、避免引入额外开销的优化策略。
CSAPP 链接实验室
CsappLinkingLab
对应 CSAPP 第 7 章「链接」。可视化静态链接全过程:符号解析→重定位→最终可执行文件。交互式观察符号表、重定位条目、强符号/弱符号规则。理解为什么「欢迎来到灰色地带」——链接器如何在多个目标文件间做出决策。
CSAPP 系统 I/O 实验室
CsappSystemIoLab
对应 CSAPP 第 10 章「系统级 I/O」。交互式学习 Unix I/O 模型:文件描述符、read/write 系统调用、RIO(带缓冲的 I/O)包。可视化进程打开文件表、系统级文件表、v-node 表的关系,理解文件共享和重定向的本质。
沙盒分类导读
常见问题
什么是交互沙盒?
交互沙盒是 bittern.cn 提供的 48 个可在线运行的实验环境,覆盖从逻辑门到分布式系统的每一层抽象。你可以亲手调整参数、观察行为变化,建立 AI 无法替代的工程直觉。每个沙盒的状态都可编码进 URL,支持直接分享。
AI 时代为什么还要亲手操作沙盒?
AI 能帮你写代码,但不能帮你建立那种一看就知道哪里不对的工程直觉。亲手操作沙盒、看到数据在眼前流动的体验,是任何 AI 都无法替代的。当 AI 生成的代码出了问题,你能从沙盒中积累的直觉出发,快速定位根因。
沙盒如何按层级分类?
48 个沙盒覆盖 7 层抽象阶梯:L1 基础逻辑门(如 NAND 门实验)、L2 CPU 与内存(如 CPU 步进器)、L3 计算机体系结构(如 ALU 设计器)、L4 低级代码(如汇编实验场)、L5 虚拟机代码(如编译器实验)、L6 高级语言(如重构探索器)、L7 应用抽象(如微服务拆分器)。可按层级筛选。
如何配合经典教材使用沙盒?
建议采用理论-实践双轨学习法:从经典教材中找 What 和 Why,从交互沙盒中找 How。学完教材一章后,打开对应层级的沙盒亲手操作验证。每个沙盒详情页都关联了对应的教材章节,方便配合学习。
沙盒状态可以分享吗?
可以。每个沙盒的状态都编码在 URL 中,你可以直接复制浏览器地址栏的链接分享给他人,对方打开后会自动恢复到你的操作状态。非常适合团队协作和教学演示。