Hands-On System Programming with Go
暫譯: 實戰 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 流的一般概念

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

  • 有效地使用網路與其他應用程式進行通信

  • 使用各種編碼格式序列化複雜的數據結構

  • 熟練掌握使用通道、goroutines 和 sync 的併發編程

  • 使用併發模式構建穩健且高效的系統應用程式





關於本書

系統軟體和應用程式主要是使用低階語言如 C 或 C++ 創建的。Go 是一種現代語言,結合了簡單性、併發性和性能,使其成為構建 Linux 和 macOS 系統應用程式的良好替代方案。

本書介紹了 Unix 和系統程式設計,幫助您理解作業系統所提供的組件,從核心 API 到檔案系統。接著,您將熟悉 Go 及其規範。您還將學習如何優化檔案和數據流的輸入和輸出操作,這些都是構建偽終端應用程式的有用工具。您將深入了解進程之間如何通信,並學習使用信號、管道和退出代碼來控制進程和守護進程。本書還將使您了解如何使用各種協議(包括 TCP 和 HTTP)進行網路通信。隨著學習的深入,您將專注於 Go 的最佳特性 - 併發,這將幫助您使用通道和 goroutines 處理通信,使用其他併發工具來同步共享資源,以及使用 context 套件來編寫優雅的應用程式。

在本書結束時,您將學會如何使用 Go 構建併發系統應用程式。





特色


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

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

  • 探索促進系統程式設計的現代 Go 特性,如 goroutines 和通道




最後瀏覽商品 (1)