https://github.com/blanboom/tiny-projects
计算机科学领域的入门 DIY 项目,例如自制操作系统、CPU、编译器等
https://github.com/blanboom/tiny-projects
awesome-lists
Last synced: 8 months ago
JSON representation
计算机科学领域的入门 DIY 项目,例如自制操作系统、CPU、编译器等
- Host: GitHub
- URL: https://github.com/blanboom/tiny-projects
- Owner: blanboom
- Created: 2024-01-29T14:30:57.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-08-15T14:02:46.000Z (about 1 year ago)
- Last Synced: 2025-01-30T17:29:13.058Z (8 months ago)
- Topics: awesome-lists
- Homepage:
- Size: 17.6 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# tiny-projects
本仓库收集计算机科学领域的入门 DIY 项目,例如自制操作系统、CPU、编译器等。
类似仓库:
* [codecrafters-io/build-your-own-x: Master programming by recreating your favorite technologies from scratch.](https://github.com/codecrafters-io/build-your-own-x)
* [karan/Projects: :page_with_curl: A list of practical projects that anyone can solve in any programming language.](https://github.com/karan/Projects)
* [florinpop17/app-ideas: A Collection of application ideas which can be used to improve your coding skills.](https://github.com/florinpop17/app-ideas)
* [cweagans/awesome-diy-software: A curated list of awesome DIY software.](https://github.com/cweagans/awesome-diy-software)对于科技类 DIY 项目(硬件项目),欢迎关注如下仓库:
* [blanboom/awesome-technical-diy-cn: DIY Projects/Tools/Books for Makers](https://github.com/blanboom/awesome-technical-diy-cn)
## 操作系统
* 项目
* [Kernels 101 – Let’s write a Kernel - Arjun Sreedharan](https://arjunsreedharan.org/post/82710718100/kernels-101-lets-write-a-kernel)
* [Writing an OS in Rust](https://os.phil-opp.com/)
* [Simple-XX/SimpleKernel: Simple kernel for learning operating systems. 用于学习操作系统的简单内核](https://github.com/Simple-XX/SimpleKernel)
* [s-matyukevich/raspberry-pi-os: Learning operating system development using Linux kernel and Raspberry Pi](https://github.com/s-matyukevich/raspberry-pi-os)
* [Making an OS (x86) Chapter 1 - CPU, Assembly, Booting - YouTube](https://www.youtube.com/watch?v=MwPjvJ9ulSc)
* [ranxian/xv6-chinese: 中文版的 MIT xv6 文档](https://github.com/ranxian/xv6-chinese)
* [rustcc/writing-an-os-in-rust: 《使用Rust编写操作系统》](https://github.com/rustcc/writing-an-os-in-rust)
* [babbleberry/rpi4-osdev: Tutorial: Writing a "bare metal" operating system for Raspberry Pi 4](https://github.com/babbleberry/rpi4-osdev)
* [CN-GuoZiyang/Moonix: Yet another RISC-V OS in C](https://github.com/cn-guoziyang/moonix)
* [rust-embedded/rust-raspberrypi-OS-tutorials: :books: Learn to write an embedded OS in Rust :crab:](https://github.com/rust-embedded/rust-raspberrypi-OS-tutorials)
* [30天自制操作系统](https://book.douban.com/subject/11530329/)
* [khaledh/fusion: A hobby OS implemented in Nim](https://github.com/khaledh/fusion)
* 相关资源
* [OSDev Wiki](https://wiki.osdev.org/Main%5C_Page)
* [You're the OS! by Pier-Luc Brault](https://plbrault.itch.io/youre-the-os) - 一款游戏,玩家扮演操作系统## 游戏、游戏机与模拟器
* 项目
* [FPGA入门指南 用Verilog HDL语言设计计算机系统](https://book.douban.com/subject/35388347/):使用 FPGA 制作 Game Boy 游戏机
* [Bigboy: Writing a Gameboy Emulator - Dandigit](https://dandigit.com/posts/bigboy-writing-a-gameboy-emulator)
* 相关资源
* [6502.org: The 6502 Microprocessor Resource](http://6502.org/)
* [NESdev Wiki](https://www.nesdev.org/wiki/Nesdev\_Wiki)
* [sehugg/awesome-8bitgamedev: A curated list of awesome resources for 8-bit retro game development](https://github.com/sehugg/awesome-8bitgamedev)
* [gbdev/awesome-gbdev: A curated list of Game Boy development resources such as tools, docs, emulators, related projects and open-source ROMs.](https://github.com/gbdev/awesome-gbdev)
* [gbadev-org/awesome-gbadev: A curated list of Game Boy Advance development resources](https://github.com/gbadev-org/awesome-gbadev)
* [command-tab/awesome-n64-development: A curated list of Nintendo 64 development resources including toolchains, documentation, emulators, example code, and more](https://github.com/command-tab/awesome-n64-development)## CPU
* [CPU自制入门](https://book.douban.com/subject/25780703//)
* [自己动手写CPU](https://book.douban.com/subject/25960657/)
* [James Stanley - SCAMP is alive](https://incoherency.co.uk/blog/stories/scamp-lives.html)
* [Pineapple One](https://pineapple-one.github.io/): Open source 32 bit RISC-V CPU that you can make at home
* [I don't know how CPUs work so I simulated one in code - djhworld](https://djharper.dev/post/2019/05/21/i-dont-know-how-cpus-work-so-i-simulated-one-in-code/)## Bootloader
* [From Zero to main(): How to Write a Bootloader from Scratch | Interrupt](https://interrupt.memfault.com/blog/how-to-write-a-bootloader-from-scratch)
* [A 64-bit X86 Bootloader From Scratch | Hackaday](https://hackaday.com/2024/07/14/a-64-bit-x86-bootloader-from-scratch/)## 数据库
* [How Does a Database Work? | Let’s Build a Simple Database](https://cstack.github.io/db_tutorial/)
## 文件系统
* [Writing a file system from scratch in Rust · carlosgaldino](https://blog.carlosgaldino.com/writing-a-file-system-from-scratch-in-rust.html)
## 编程语言、编译器
* [自己动手实现Lua](https://book.douban.com/subject/30348061/)
* [自制编程语言](https://book.douban.com/subject/25735333//)
* [两周自制脚本语言](https://book.douban.com/subject/25908672/)
* [自己动手写Java虚拟机](https://book.douban.com/subject/26802084/)
* [aprz512/write-your-own-jvm: implement a simple jvm with java](https://github.com/aprz512/write-your-own-jvm)
* [第零零章 • 关于 · Build Your Own Lisp 中文版](https://ksco.gitbooks.io/build-your-own-lisp/content/)
* [Lisp In 200 Lines | Hackaday](https://hackaday.com/2017/12/02/lisp-in-200-lines/)
* [Writing a minimal Lua implementation with a virtual machine from scratch in Rust | notes.eatonphil.com](https://notes.eatonphil.com/lua-in-rust.html)
* [Simple-XX/SimpleCompiler: DIY Compiler](https://github.com/Simple-XX/SimpleCompiler)
* [Let's make a Teeny Tiny compiler, part 1 - Austin Z. Henley](https://austinhenley.com/blog/teenytinycompiler1.html)
* [The Compiler Writer Resource Page](https://c9x.me/compile/bib/)
* [21分钟学会写编译器 - 知乎](https://zhuanlan.zhihu.com/p/22328674)
* [A method of self-made C compiler which even a beginner can do – utam0k](https://www.utam0k.jp/en/blog/2018/10/12/r9cc/)
* [Brian Robert Callahan](https://briancallahan.net/blog/20210814.html)
* [rui314/chibicc: A small C compiler](https://github.com/rui314/chibicc)
* [Let’s Build A Simple Interpreter. Part 1. - Ruslan's Blog](https://ruslanspivak.com/lsbasi-part1/)## 虚拟机、容器
* [Write your Own Virtual Machine](https://www.jmeiners.com/lc3-vm/)
* [Sol — a sunny little virtual machine • rsms](https://rsms.me/sol-a-sunny-little-virtual-machine)
* [jakogut/tinyvm: TinyVM is a small, fast, lightweight virtual machine written in pure ANSI C.](https://github.com/jakogut/tinyvm/)
* [RedDragonet/rocker: Docker from scratch](https://github.com/RedDragonet/rocker)## Apps
* iOS App
* [soapyigu/Swift-30-Projects: 30 mini Swift Apps for self-study](https://github.com/soapyigu/Swift-30-Projects/tree/master)
* [iOS App Dev Tutorials | Apple Developer Documentation](https://developer.apple.com/tutorials/app-dev-training/)
* [Develop in Swift Tutorials | Apple Developer Documentation](https://developer.apple.com/tutorials/develop-in-swift-tutorials)
* [SwiftUI Tutorials | Apple Developer Documentation](https://developer.apple.com/tutorials/swiftui)
* 桌面应用
* [pythonguis/15-minute-apps: 15 minute (small) desktop apps built with PyQt](https://github.com/pythonguis/15-minute-apps)## TCP/IP 协议栈
* [Let's code a TCP/IP stack, 1: Ethernet & ARP](https://www.saminiir.com/lets-code-tcp-ip-stack-1-ethernet-arp/)
* [CS144:一个轻量级 TCP 重组器的实现与分析 - 熊喵君的博客 | PANDAYCHEN](https://pandaychen.github.io/2024/02/10/A-CS144-COURSE-STUDY/)## 服务器
* [Implementing a TCP server in C | OpsTips](https://ops.tips/blog/a-tcp-server-in-c/)
* [Let’s Build A Web Server. Part 1. - Ruslan's Blog](https://ruslanspivak.com/lsbaws-part1/)## 标准库
* [Implementing Malloc: Students and Systems Programming](https://www.cs.cmu.edu/~bryant/pubdir/sigcse18.pdf)
## AI 相关
* [juraam/stable-diffusion-from-scratch: Implementation of Stable Diffusion with PyTorch](https://github.com/juraam/stable-diffusion-from-scratch)
## 其他
* [Writing a Linux Debugger Part 1: Setup](https://blog.tartanllama.xyz/writing-a-linux-debugger-setup/)
* [Let’s Build a Regex Engine | kean.blog](https://kean.blog/post/lets-build-regex)