Hands-On System Programming with Go

Guerrieri, Alex

  • 出版商: Packt Publishing
  • 出版日期: 2019-07-09
  • 售價: $1,380
  • 貴賓價: 9.5$1,311
  • 語言: 英文
  • 頁數: 458
  • 裝訂: Quality Paper - also called trade paper
  • ISBN: 1789804078
  • ISBN-13: 9781789804072
  • 相關分類: Go 程式語言
  • 立即出貨 (庫存=1)

買這商品的人也買了...

商品描述

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

商品描述(中文翻譯)



學習


  • 使用Go和並發性探索系統編程的概念

  • 深入了解Golang的內部結構、內存模型和分配

  • 熟悉文件系統和IO流的一般知識

  • 通過信號和管道處理和控制進程和守護進程的生命週期

  • 使用網絡與其他應用程序有效通信

  • 使用各種編碼格式對復雜數據結構進行序列化

  • 熟練掌握通道、goroutine和sync實現並發

  • 使用並發模式構建強大且高效的系統應用程序





關於

系統軟件和應用程序通常使用低級語言如C或C++來創建。Go是一種現代語言,結合了簡單性、並發性和性能,是構建Linux和macOS系統應用程序的良好選擇。

這本Go書籍介紹了Unix和系統編程,幫助您了解操作系統提供的組件,從內核API到文件系統。然後,您將熟悉Go及其規範。您還將學習如何使用文件和數據流優化輸入和輸出操作,這是構建虛擬終端應用程序的有用工具。您將深入了解進程之間如何通信,並學習使用信號、管道和退出代碼控制進程和守護進程。本書還將使您了解如何使用各種協議(包括TCP和HTTP)進行網絡通信。隨著您的進一步學習,您將專注於Go的最佳功能-並發性,這將幫助您處理通道和goroutine之間的通信,使用其他並發工具同步共享資源,以及使用上下文包編寫優雅的應用程序。

通過閱讀本書,您將學會使用Go構建並發系統應用程序





特點


  • 學習如何在Golang v1.12中編寫Unix和Linux系統代碼

  • 使用管道、消息隊列、共享內存和信號量進行進程間通信

  • 探索現代Go功能,如goroutine和通道,有助於系統編程