项目简介
按编程语言分类的项目式教程合集,带你从零构建真实应用。涵盖 C/C++、Python、JavaScript、Go、Rust 等多种语言,适合通过动手实践从理论走向真实软件开发。
README 预览
# Project Based Learning\n\n[](https://gitter.im/practical-tutorials/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) [](https://github.com/practical-tutorials/project-based-learning/actions/workflows/link-rot.yml)\n\nA list of programming tutorials in which aspiring software developers learn how to build an application from scratch. These tutorials are divided into different primary programming languages. Tutorials may involve multiple technologies and languages.\n\nTo get started, simply fork this repo. Please refer to [CONTRIBUTING.md](CONTRIBUTING.md) for contribution guidelines.\n\n## Table of Contents:\n\n- [C#](#c)\n- [C/C++](#cc)\n- [Clojure](#clojure)\n- [Dart](#dart)\n- [Elixir](#elixir)\n- [Erlang](#erlang)\n- [F#](#f)\n- [Go](#go)\n- [Haskell](#haskell)\n- [HTML/CSS](#html-and-css)\n- [Java](#java)\n- [JavaScript](#javascript)\n- [Kotlin](#kotlin)\n- [Lua](#lua)\n- [OCaml](#ocaml)\n- [PHP](#php)\n- [Python](#python)\n- [R](#r)\n- [Ruby](#ruby)\n- [Rust](#rust)\n- [Scala](#scala)\n- [Swift](#swift)\n- [Additional resources](#additional-resources)\n\n## C/C++:\n\n- [Build an Interpreter](http://www.craftinginterpreters.com/) (Chapter 14 on is written in C)\n- [Memory Allocators 101 - Write a simple memory allocator](https://arjunsreedharan.org/post/148675821737/memory-allocators-101-write-a-simple-memory)\n- [Write a Shell in C](https://brennan.io/2015/01/16/write-a-shell-in-c/)\n- [Write a FUSE Filesystem](https://www.cs.nmsu.edu/~pfeiffer/fuse-tutorial/)\n- [Build Your Own Text Editor](http://viewsourcecode.org/snaptoken/kilo/)\n- [Build Your Own Lisp](http://www.buildyourownlisp.com/)\n- [How to Program an NES Game in C](https://nesdoug.com/)\n- [Write an OS from scratch](https://github.com/tuhdo/os01)\n- [How to create an OS from scratch ](https://github.com/cfenollosa/os-tutorial)\n- [Building a CHIP-8 Emulator](https://austinmorlan.com/posts/chip8_emulator/)\n- [Beginning Game Programming with C++ and SDL](http://lazyfoo.net/tutoria
常见问题 (1)
故障排除如何修复 GitHub README 中损坏或失效的链接?
故障排除
如何修复 GitHub README 中损坏或失效的链接?首先验证每个链接的失败类型(DNS 解析失败、404 或超时)。然后选择相应的修复方案:1) 对于有价值但已失效的资源,通过 Wayback Machine(https://web.archive.org/web/*/<original-url>)链接到其存档快照,而不是删除该条目。2) 对于已不存在的教程,用等效的可用资源替换它们(例如,将失效的 React 教程链接替换为 React 官方文档教程)。3) 删除那些域名已永久消失且没有合适替代资源的链接。4) 将更改作为引用该 issue 的单个 PR 提交。为防止问题回归,使用 lychee 或 awesome_bot 等工具在 CI 中添加自动化链接检查。