Book
Go nara Wakaru System Programming, 2nd Edition (Systems Programming You Can Understand with Go)
Yoshiki Shibukawa
Summary
A Japanese-language book by Yoshiki Shibukawa, in its 424-page 2nd edition, that explains the low layers of a system through Go code. It starts from ordinary application code written in Go and descends from there, to show the connections between the familiar world of code and the world of memory and the CPU. Through Go code it makes the low layers of the OS visible, including file I/O, processes, and socket communication, so that readers can understand how server-side programs behave. The 2nd edition adds chapter-length explanations of topics that are known vaguely from experience, such as the shell and how a process comes to be executed. The 1st edition was compiled from a web series that ran on ASCII.jp from September 2016 to August 2017.
Target Readers
- Backend engineers who want to understand how things work at the OS level
- Developers who want to learn system programming in Go
- Engineers who do not know where to start with the low layers, and who find that textbooks differ too much from the code they usually write
Tags
Colophon
- Publisher
- Lambda Note
- ISBN
- 978-4908686122
- Published
- Mar 2022
- List price
- ¥3,960incl. taxMay differ from the actual selling price on Amazon
Get this book
* The link above is an advertisement via Amazon Associates.Related Books
Prerequisites
- Recommended
Mastering TCP/IP Nyumon-hen, 6th Edition (Mastering TCP/IP: Introductory Volume)
Naoya Inoue, Yukio Murayama, Takafumi Takeshita, Toru Arai, and Yukio Karita
Reason: This is the stage where protocol understanding connects to building a server that actually runs. System programming in Go shows how to write network services in a language strong at concurrency, turning TCP/IP knowledge into working code.
Next Books
- Prerequisite
Concurrency in Go
Tools and Techniques for Developers
Katherine Cox-Buday
Reason: Once you can do basic system programming in Go, you dig deep into concurrency—Go's greatest strength. Concurrency in Go systematizes the design of coordinating 'by communicating rather than sharing memory' using goroutines and channels, teaching how to build safe concurrent programs.
- Related
Spring Tettei Nyumon (A Thorough Introduction to Spring)
Java Application Development with the Spring Framework
NTT Data
Reason: Having once felt the effort of writing a server with raw system programming, you grasp viscerally what a framework like Spring takes off your hands. Low-level experience gives you perspective to weigh a framework's convenience against its constraints.