Build Real Tools with No Hidden Cost
Mihalis Tsoukalos

#Zig
#Systems_Programming
#TCP
#UDP
#HTTP
#CLI
⚡ ساخت نرمافزارهای سیستمی کارآمد با Zig
🛠️ با زبان برنامهنویسی Zig نرمافزارهای سیستمی کارآمد بساز؛ با ساخت ابزارهای UNIX، سرویسهای شبکه، اپلیکیشنهای Asynchronous و سرورهای High-Performance.
✨ ویژگیهای کلیدی
🧰 نرمافزارهای سیستمی واقعی و ابزارهای برنامهنویسی UNIX رو از طریق پروژههای عملی Zig میسازی
🌐 مهارتهای برنامهنویسی شبکه رو با سرویسهای TCP، UDP، HTTP، اپلیکیشنهای Concurrent و ابزارهای CLI توسعه میدی
🧠 مدیریت حافظه، I/O و طراحی سطح سیستم رو با زبان برنامهنویسی Zig مسلط میشی
📘 توضیح کتاب
⚙️ با رویکرد پروژهمحور و تمرکز روی چالشهای واقعی مهندسی، نرمافزارهای سیستمی قابلاعتماد با Zig بساز. با راهنمایی میهالیس سوکالوس، مهندس سیستمهای UNIX و نویسنده پرفروش، تکنیکهای مدرن برنامهنویسی سیستمها رو یاد میگیری، در حالی که اپلیکیشنهای آماده پروداکشن، ابزارهای UNIX و سرویسهای شبکه میسازی.
🧩 این کتاب تو رو از ابزارهای ضروری UNIX و زیرساخت Build تا موضوعهای پیشرفتهای مثل دسترسی مستقیم به حافظه، فرمتهای باینری، مانیتورینگ فایلسیستم، شبکه، Concurrency، Asynchronous I/O و یکپارچهسازی دیتابیس جلو میبره. با پروژههای دستبهکار، ابزارهای Command-Line، سرویسهای TCP و UDP، اپلیکیشنهای HTTP، ابزارهای Indexing فایل، سرورهای Cache و یک مفسر زبان Domain-Specific میسازی؛ مفسری که مدیریت حافظه، متاپروگرمینگ با comptime، Parsing، Evaluation و Error Handling رو با هم ترکیب میکنه.
🛠️ هر فصل نشون میده قابلیتهای Zig چطور مسئلههای عملی برنامهنویسی سیستمها رو حل میکنن. با مدیریت حافظه، کنترل Process، Primitiveهای Synchronization، معماریهای Event-Driven، یکپارچهسازی SQLite، طراحی Protocol و ساختارهای داده پرفورمنسمحور کار میکنی و همزمان منطق پشت تصمیمهای کلیدی مهندسی رو یاد میگیری.
🚀 تا پایان این کتاب، میتونی نرمافزارهای سیستمی کارآمد و قابلنگهداری با Zig بسازی و با اعتمادبهنفس این زبان رو در پروژههای پروداکشن به کار بگیری.
🎯 چیزهایی که یاد میگیری
🧰 ابزارهای Command-Line آماده پروداکشن برای UNIX رو با Zig میسازی
🌐 سرویسها و اپلیکیشنهای شبکه با TCP، UDP و HTTP توسعه میدی
⚙️ تکنیکهای برنامهنویسی سیستمها رو روی حافظه، فایلسیستمها و مدیریت Process به کار میگیری
🧠 حافظه و دادههای باینری رو امن و کارآمد مدیریت میکنی
🧵 Multithreading، Synchronization و سیستمهای Concurrent رو پیادهسازی میکنی
⚡ اپلیکیشنهای شبکه Event-Driven و مبتنی بر Asynchronous I/O میسازی
🗄️ SQLite رو وارد اپلیکیشنهای واقعی Zig میکنی
🧩 با استفاده از Parsing و تکنیکهای comptime، یک زبان Domain-Specific طراحی و پیادهسازی میکنی
👤 این کتاب برای چه کسانیه؟
👨💻 این کتاب برای دولوپرهای نرمافزار، برنامهنویسهای سیستم، مهندسهای سیستمهای UNIX و مهندسهای Backend نوشته شده که مبانی Zig رو میشناسن و میخوان نرمافزارهای سیستمی آماده پروداکشن بسازن. آشنایی با کانسپتهای برنامهنویسی و تجربه کار با زبانهایی مثل C، C++، Rust، Go یا Python کمک میکنه بیشترین استفاده رو از این کتاب ببری.
📖 فهرست مطالب
فصل ۱. ساخت ابزارهای ضروری UNIX
فصل ۲. زیرساخت سیستمها: Build، تست و توزیع
فصل ۳. دسترسی مستقیم به حافظه و فرمتهای باینری
فصل ۴. پردازش Streamها، Bufferها و Encoding داده
فصل ۵. حرکت در Directoryها و رویدادهای فایلسیستم
فصل ۶. برنامهنویسی Network Stack
فصل ۷. مدیریت Threadها، Processها و Signalها
فصل ۸. ارکستریت کردن Concurrency و Synchronization
فصل ۹. پیادهسازی Asynchronous I/O
فصل ۱۰. ساخت یک سرور Cache درونحافظهای High-Performance
فصل ۱۱. ذخیرهسازی داده ساختاریافته با SQLite3
فصل ۱۲. توسعه یک زبان Domain-Specific
👤 درباره نویسنده
✍️ میهالیس سوکالوس مدرک کارشناسی ریاضی از University of Patras و کارشناسی ارشد IT از University College London (UCL) داره. کتابهای قبلی او، Go Systems Programming و Mastering Go، به منبعهای ضروری برای متخصصهای سیستمهای UNIX و Linux تبدیل شدهاند. او بهعنوان مهندس سیستمهای UNIX و نویسنده فنی کار میکنه.
📝 او از نوشتن مقالههای فنی لذت میبره و برای نشریههایی مثل Sys Admin، MacTech، C/C++ Users Journal، USENIX ;login:، Linux Journal، Linux User and Developer، Linux Format و Linux Voice نوشته. علاقههای پژوهشی او شامل Data Mining برای سریهای زمانی، Indexing سریهای زمانی و دیتابیسها میشه.
Build efficient systems software with the Zig programming language by creating UNIX tools, network services, asynchronous applications, and high-performance servers.
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.
About the Author
Mihalis Tsoukalos holds a BSc in Mathematics from the University of Patras and an MSc in IT from University College London (UCL). His previous books, Go Systems Programming and Mastering Go, have become must-reads for UNIX and Linux systems professionals. He works as a UNIX systems engineer and a technical author. He enjoys writing technical articles and has written for Sys Admin, MacTech, C/C++ Users Journal, USENIX ;login:, Linux Journal, Linux User and Developer, Linux Format and Linux Voice. His research interests include time series data mining, time series indexing and databases.









