这个项目能做什么
tutor 是一款离线的、基于终端的 Python 课程,它通过让你编写真实代码而非观看视频来进行教学。课程内容、练习、示例、"VIM 道场"以及动画化的 "运行追踪器" 均由本地预先生成;README 指出该程序无需模型调用且无需网络访问,因此可完全离线运行且不会向外传输数据。
该课程在类 Neovim 的模态编辑器中运行。工作流为:阅读挑战内容,按 i 开始输入,按 Esc,然后通过 :!python3 % 或 Ctrl+Enter 运行并提交。通过后进入下一个挑战;失败则可修改代码并重新运行。NORMAL 模式按键包括 h/j/k/l 移动,i/a/A/I/o/O 插入,x 删除字符,dd 删除行,yy 复制,p 粘贴,u 撤销,0/$ 边缘,gg/G 顶端/底端,按 Enter 进入课程,并设有观看、聆听、课程、快速检查、速查表、复习、示例、音量、语音和音乐的快捷键。
旁白由自动检测的本地 TTS 引擎播报:espeak-ng(被描述为最简单且最广泛可用,声音较机械)或 Piper(通过提供的脚本安装的神经语音)。F6 可切换语音,若未安装语音,所有功能仍可静默运行。按键音和胜负音效依赖于 ALSA 或 PulseAudio 上的 aplay/paplay,安装程序捆绑了一个包含 32 个机械按键样本和音效库的媒体包。F4 可打开音量面板,分别为语音和音效提供独立推子,且两者的音量等级在会话之间会被记录。
除语言基础外,教材还包含一个 BUILD STUFF 路径,配备真实的 bash 终端和实时文件夹树,允许用户创建目录和文件并运行自己的程序。CLOUD & DEVOPS 路径包含 11 个模块和 92 节课,涵盖使用 git 进行版本控制,使用 Docker 进行打包,通过 CLI 和真实的 boto3 Python 操作 AWS S3, EC2, Lambda, DynamoDB 和 IAM,使用 Terraform 实现基础设施即代码,使用 Ansible 进行服务器自动化(包括幂等性和处理器),以及一个会显示红/绿状态的 CI/CD 流水线 —— 所有这些都在一个模拟的离线云环境中完成。
经验值 (XP)、等级、连续学习天数和音量等进度保存至 ~/.learning/progress.json,且不受更新影响。安装过程通过一行 curl 脚本完成,将应用下载至 ~/.local/share/tutor/,创建私有虚拟环境,安装两个 Python 依赖(textual 和 rich),并将 tutor 启动器放置在 ~/.local/bin;此外还提供通过 Git URL 使用 pip 或 pipx 安装的替代方案。重新运行安装程序具有幂等性,会拉取最新的代码和媒体包。该项目采用 MIT 许可证。
评论
0 评分人数达到10人后显示
登录后参与讨论。