本课问题:“已保存”这三个字,究竟承诺了什么?
前置:会操作浏览器;无需先读懂代码。实验需要 Python 3.10+,也可以由授课者先启动。
本课交付:一个明确的保存标准、两种可能解释,以及第一条实验前预测。预计 25–40 分钟。
你输入一段文字,点“保存”,页面显示“已保存”。很多时候,我们会关掉页面,继续做别的事。
先停在这里。你亲眼看见的是一条提示,还是已经知道文字能保留多久、谁能再读到、程序退出后还在不在?
“屏幕出现了已保存”是一条观察。“我明天还可以从另一台设备取回来”是另一项承诺。它们之间需要证据。
从课程目录下载整门课并解压,进入 assets/save-lab/,在这个文件夹打开终端,运行:
py -3 lab.py
macOS/Linux 使用 python3 lab.py。只需标准库,不需要账号、付费服务或安装框架。终端会持续运行并打开浏览器;看到“实验就绪”再开始。若不会运行文件,可按需查 工具箱第 01 课,不必先学完全部语法。
默认地址是 http://127.0.0.1:8034/?experiment=investigation-01。本机实验不是已托管的在线服务,公开讲义中的这个地址只有在你启动实验后才可用。
页面上有样本 A、B、C、D。暂时不展开“打开一层”,也先不读教材 README 中的实现对照。
给四个样本分别输入 A-第一轮、B-第一轮、C-第一轮、D-第一轮,逐个保存。记录:输入文字、按钮后的提示、列表里出现的文字和数量。
在实验正常启动、存储可用时,四个样本都会显示“已保存”。此时你还没有足够证据判断它们是否以同一种方式保存。
如果某个样本一开始就失败,不要把预期结果抄到观察栏。保存实际错误,检查是否能连接服务、是否允许浏览器存储,再说明你缺少哪项实验条件。
比较下面几句话:
| 表述 | 可以怎样检验 |
|---|---|
| 保存应该靠谱 | 条件与结果都不明确 |
| 刷新当前页后,仍能看到同一条文字 | 能执行刷新,并核对唯一文字 |
| 重启服务,保持地址和数据目录相同,文字仍可读取 | 能记录重启条件并核对结果 |
| 无论什么时候都不会丢 | 本组有限实验不足以证明 |
你可以先选一个最小承诺,例如:“我在同一浏览器刷新后,应能看见刚才那段文字。”不用第一课就要求跨设备、永久保存和断电恢复。
承诺取决于用途。一个临时输入草稿和一份不能丢的付款记录,需要的保证不同。我们要学会说明要求,之后才有判断是否满足要求的依据。
到“我的调查记录”填写:
选择样本 A、操作“刷新页面”,登记预测。登记后再刷新。观察结果可能支持你的解释,也可能迫使你修改它,两种情况都有学习价值。
记录本与四个样本分开保存。它在本浏览器中保留,可以导出;它的存在本身不能证明某个样本已保存数据。
本课不要求猜中 A/B/C/D。验收看的是:是否把可见提示和更强承诺分开;是否先写预测;是否保留了真实结果,包括与预期不符的结果。
不要把“刷新后还在”直接写成“它用了数据库”。先写:“在这次刷新、这个地址、这个浏览器下,这条文字仍然可见。”原因留给后面的调查。
我们还不知道保存在哪、能保留多久、换环境后怎样,也没有看到内部执行过程。下一课先整理竞争解释,找一个能让它们产生不同预测的操作。