Show HN: Learn by rebuilding Redis, Git, a database from scratch
199 points
• 6 days ago
• Article
Link
Ship That Code 提供了一种实用的编程学习方式,着重从零开始构建可运行的系统。平台摒弃理论式授课,改用"选项目—写代码—运行查看即时结果"的循环教学,让学生通过反复实操把知识真正掌握。
课程库包含 80 多门课,覆盖数据库、 Git 、容器运行时、操作系统内核等广泛技术领域。学员通过用 Python 、 Go 、 Rust 和 C 等语言实现这些复杂项目,能更深入地理解支撑现代技术的基础设施。平台还设计了结构化的职业路径,如后端工程、 DevOps 和数据科学,把单门课程串成连贯的学习体系,帮助学员达到就业要求。
除了项目驱动的单课学习外,平台还提供系统化的编程语言学习路线。每种语言分为基础、中级和高级三个层级,学员可随着能力提升按部就班进阶。这种结构化安排对各种背景的人都很友好,无论是刚上第一堂课的初学者,还是希望巩固技术的转行者。
用户体验强调可执行性与问责,系统提供实时运行和反馈以验证代码是否正确。通过让学习者解决真实的技术问题,平台更注重实践掌握而非被动接受。总体使命是引导开发者超越简单教程,亲手构建在职业生涯中会实际使用的系统。
Ship That Code provides a practical approach to learning programming by focusing on building functional systems from the ground up. The platform moves away from theoretical lectures, instead utilizing a format where students learn through a cycle of choosing a project, writing the code, and running it to see immediate results. This hands-on methodology aims to ensure that concepts truly click through tangible experience and repetitive practice.
The library includes over 80 courses that cover a wide range of technical domains, such as building databases, Git, container runtimes, and operating system kernels. By tackling these complex projects in languages like Python, Go, Rust, and C, learners gain a deeper understanding of the infrastructure that powers modern technology. The platform also offers structured career paths, such as backend engineering, DevOps, and data science, which sequence these individual courses into a cohesive curriculum intended to make students job-ready.
Beyond individual project-based learning, the platform provides comprehensive tracks for mastering programming languages. Each language category is organized into fundamental, intermediate, and advanced levels, allowing students to progress logically as their skills grow. This structured environment is designed to be accessible to anyone, from beginners starting their first lesson to career switchers seeking to solidify their technical knowledge.
The user experience is centered on accountability, as the system provides real-time execution and feedback to verify that the code works correctly. By forcing learners to solve genuine technical problems, the platform emphasizes practical mastery over passive consumption. The overall mission is to move developers beyond simple tutorials and into a space where they are building the same types of systems they interact with in their professional careers.
68 comments • Comments Link
• 人们担忧该平台的内容是否原创,还是由人工智能基于已有的教学资源自动生成,例如 Building Git 或 Destroy All Software 等。
• 该项目被视为与 Crafting Interpreters 和 The Raytracer Challenge 等公认的高质量技术指南处在同一领域,这些指南以深度和实用性著称。
• 与 CodeCrafters 的区别在于,该平台提供了一个超过 80 门课程的庞大课程库,且所有课程均可免费使用。
• 用户普遍更倾向于在本地可自由调试代码的执行环境,这与该平台当前要求在服务器端运行测试的做法形成鲜明对比。
• 注册频率限制和不稳定的端点等技术问题引发用户不满,尽管可以通过访客模式作为权宜之计。
• 其教学方法强调通过遵循正式规范和测试驱动开发来"在实践中学习",专为那些希望深入了解 Redis 或数据库等复杂系统内部机制的开发者设计。
• 向使用人工智能助手的转变降低了命令行工具的入门门槛,但围绕这是否能促进真正理解,或反而妨碍基础技能培养,仍存在争论。
• 创建者计划最终将项目开源,但目前架构依赖专用服务器,因为运行测试套件需要大量资源(例如 20 GB RAM)。
• 可持续性仍是用户关注的核心问题;在面对维护密集型、服务器端测试基础设施带来的高昂成本时,"永久免费"的模式可能难以扩展。
讨论的焦点在于经过精心策划的高水平技术教育与快速、可能高度自动化的"自己动手搭建"项目之间的权衡。虽然很多人对该项目旨在揭示复杂软件内部机制的初衷表示热情,但对于人工智能辅助课程与人类撰写的经典课程之间的质量差异仍持怀疑态度。这次对话突出了托管式测试驱动平台的便利性,与开发者对本地控制、透明度以及对学习材料可持续、长期访问的渴望之间存在的更广泛张力。 • Concerns exist regarding whether the platform's content is original or merely AI-generated material derived from established educational resources like "Building Git" or Destroy All Software.
• The project occupies a space similar to established high-quality technical guides such as "Crafting Interpreters" and "The Raytracer Challenge," which are praised for their depth and practical application.
• The platform distinguishes itself from CodeCrafters by offering a larger library of over 80 courses, all of which are free to use.
• Users express a strong preference for local execution environments where they can tinker with code, contrasting with the platform's current requirement for server-side testing.
• Technical difficulties, such as rate limits on sign-ups and endpoint instability, have led to user frustration, though a guest mode is available as a workaround.
• The pedagogical approach emphasizes "learning by doing" through real specifications and test-driven development, specifically targeting developers who want to understand the internals of complex systems like Redis or databases.
• The shift toward using AI assistants has lowered the barrier to entry for command-line tools, though some debate whether this fosters genuine understanding or discourages the learning of fundamental skills.
• The creator intends to eventually open-source the project, though current infrastructure relies on dedicated servers due to the high resource requirements (e.g., 20 GB of RAM) needed to run the test suites.
• Sustainability remains a primary concern for users, as the "free forever" model faces potential scaling conflicts with the high costs associated with maintaining server-side infrastructure for intensive testing.
The discussion centers on the trade-offs between curated, high-level technical education and the rapid, potentially automated proliferation of "build it yourself" projects. While there is significant enthusiasm for the project's goal of demystifying complex software internals, skepticism remains regarding the quality of AI-assisted curriculum versus human-authored classics. The dialogue highlights a broader tension between the convenience of hosted, test-driven platforms and the developer desire for local control, transparency, and sustainable, long-term access to learning materials.