-
Build real-world systems software and UNIX programming tools through practical Zig projects
-
Develop network programming skills through TCP, UDP, HTTP services, concurrent applications, and CLI tools
-
Master memory management, I/O, and systems-level design with the Zig programming language
Build reliable systems software with Zig through a project-driven approach focused on practical engineering challenges. Guided by UNIX systems engineer & bestselling author Mihalis Tsoukalos, you will learn modern systems programming techniques while creating production-ready applications, UNIX tools, & network services.
This book takes you from essential UNIX tooling and build infrastructure to advanced topics such as direct memory access, binary formats, filesystem monitoring, networking, concurrency, asynchronous I/O, & database integration. Through hands-on projects, you will create command-line utilities, TCP and UDP services, HTTP applications, file indexing tools, cache servers, & a domain-specific language interpreter that combines memory management, comptime metaprogramming, parsing, evaluation, & error handling.
Each chapter demonstrates how Zig features solve practical systems programming problems. You will work with memory management, process control, synchronization primitives, event-driven architectures, SQLite integration, protocol design, & performance-focused data structures while learning the reasoning behind key engineering decisions.
By the end of this book, you will be able to build efficient and maintainable systems software in Zig & confidently apply the language to production projects.
Software developers, systems programmers, UNIX systems engineers, and backend engineers who already understand Zig fundamentals and want to build production-ready systems software. Familiarity with programming concepts and experience using languages such as C, C++, Rust, Go, or Python will help you get the most from this book.
-
Build production-ready UNIX command-line tools with Zig
-
Develop TCP, UDP, and HTTP network services and applications
-
Apply systems programming techniques to memory, filesystems, and process management
-
Manage memory and binary data safely and efficiently
-
Implement multithreading, synchronization, and concurrent systems
-
Create asynchronous I/O and event-driven network applications
-
Integrate SQLite into real-world Zig applications
-
Design and build a domain-specific language using parsing and comptime techniques