Learn network programming and data structures by building a Redis-like server from scratch with C/C++.
- Why build Redis? The knowledge required is broader and deeper than usual application-level development. It's a good way to level up your skills (mainly network programming and data structures).
- Why start from scratch? A quote from Richard Feynman: “What I cannot create, I do not understand”. Human understanding is full of holes aka “things I don't know that I don't know”. Building from scratch is one way to ensure that your understanding is complete.
- Why C? C is widely used in system programming and infrastructure software. Learn how C is used in real projects, with simple C code. No prior C/C++ experience is required.
- Why a book? The Redis project is a complex software system built with a lot of effort, which can be hard to grasp for beginners. The book breaks down the core concepts into easily digestible steps.