Hands-On System Programming with Go

Hands-On System Programming with Go

作者: Guerrieri Alex
出版社: Packt Publishing
出版在: 2019-07-09
ISBN-13: 9781789804072
ISBN-10: 1789804078
裝訂格式: Quality Paper - also called trade paper
總頁數: 458 頁





內容描述


Learn

Explore concepts of system programming using Go and concurrency
Gain insights into Golang's internals, memory models and allocation
Familiarize yourself with the filesystem and IO streams in general
Handle and control processes and daemons' lifetime via signals and pipes
Communicate with other applications effectively using a network
Use various encoding formats to serialize complex data structures
Become well-versed in concurrency with channels, goroutines, and sync
Use concurrency patterns to build robust and performant system applications

About

System software and applications were largely created using low-level languages such as C or C++. Go is a modern language that combines simplicity, concurrency, and performance, making it a good alternative for building system applications for Linux and macOS.
This Go book introduces Unix and systems programming to help you understand the components the OS has to offer, ranging from the kernel API to the filesystem. You'll then familiarize yourself with Go and its specifications. You'll also learn how to optimize input and output operations with files and streams of data, which are useful tools in building pseudo-terminal applications. You'll gain insights into how processes communicate with each other, and learn about processes and daemon control using signals, pipes, and exit codes. This book will also enable you to understand how to use network communication using various protocols, including TCP and HTTP. As you advance, you'll focus on Go's best feature - concurrency, which will help you handle communication with channels and goroutines, other concurrency tools to synchronize shared resources, and the context package to write elegant applications.
By the end of this book, you will have learned how to build concurrent system applications using Go

Features

Learn how to write Unix and Linux system code in Golang v1.12
Perform inter-process communication using pipes, message queues, shared memory, and semaphores
Explore modern Go features such as goroutines and channels that facilitate systems programming




相關書籍

MacRuby: The Definitive Guide: Ruby and Cocoa on OS X (Paperback)

作者 Matt Aimonetti

2019-07-09

Node.js進階之路

作者 尤嘉

2019-07-09

SRE with Java Microservices: Patterns for Reliable Microservices in the Enterprise

作者 Schneider Jonathan

2019-07-09