Go Systems Programming — Mihalis Tsoukalos — обложка книги
460 страниц
Go (Golang)
PDF
4.5

Go Systems Programming

Погружение в системное программирование на Go

Автор:

Год:

Краткое содержимое:

Введение

Книга «Go Systems Programming» (автор — Михалис Цукалос, 2017 год, 460 страниц) — это не просто очередное руководство по языку Go. Это глубокое погружение в мир системного программирования, ориентированное на разработчиков, которые хотят писать эффективные, надёжные и низкоуровневые утилиты для UNIX-подобных операционных систем. Автор, известный своими техническими книгами и статьями, предлагает практический подход, сочетающий теорию с множеством примеров кода.

О чём книга

Книга охватывает широкий спектр тем, связанных с взаимодействием программы на Go с операционной системой. Основное внимание уделяется Linux и macOS, но большинство примеров переносимы на другие UNIX-системы. Вы узнаете, как работать с файловыми системами, процессами, сигналами, сетевыми сокетами, а также как создавать собственные системные утилиты (например, аналог ps, ls или netstat).

Для кого эта книга

Книга рассчитана на программистов, уже знакомых с основами Go (синтаксис, горутины, каналы). Она будет полезна:

  • Разработчикам, переходящим с C/C++ на Go и желающим сохранить контроль над системными ресурсами;
  • DevOps-инженерам и администраторам, пишущим инструменты для мониторинга и автоматизации;
  • Всем, кто хочет понять, как Go взаимодействует с ядром ОС на низком уровне.

Что узнает читатель

После прочтения вы сможете:

  • Работать с файловыми дескрипторами и системными вызовами через пакет os и syscall;
  • Управлять процессами (создание, завершение, ожидание, сигналы);
  • Создавать многопоточные серверы и клиенты с использованием сокетов TCP/UDP;
  • Писать собственные утилиты командной строки с обработкой аргументов и флагов;
  • Работать с временем, таймерами и синхронизацией на уровне ОС;
  • Использовать пакет os/exec для запуска внешних программ;
  • Понимать устройство файловых систем и работать с inode, правами доступа и ссылками.

Сильные стороны

Главное достоинство книги — практическая направленность. Каждая глава содержит множество листингов кода, которые можно сразу запустить и модифицировать. Автор не боится показывать «грязные» детали: обработку ошибок, работу с бинарными данными, особенности разных ОС. Книга написана живым языком, с примерами из реального опыта. Отдельно стоит отметить главы, посвящённые сетевым сокетам и созданию собственных серверов — они дают прочную базу для написания высоконагруженных систем.

Кому рекомендуется

Я рекомендую эту книгу всем, кто хочет выйти за рамки веб-разработки на Go и научиться писать системные инструменты, которые работают быстро и надёжно. Она будет полезна как опытным разработчикам, так и тем, кто только начинает изучать Go, но уже имеет базовые знания. Если вы хотите понять, как Go «общается» с ядром Linux — эта книга для вас.

Рекомендаций