Programação de Sistemas com Go
460 páginas
Portuguese
PDF
4.5

Programação de Sistemas com Go

Programação de Sistemas com Go

Autor:

Ano:

Resumo:

Introdução

O livro «Go Systems Programming» (autor — Mihalis Tsoukalos, 2017, 460 páginas) — não é apenas mais um guia sobre a linguagem Go. É um mergulho profundo no mundo da programação de sistemas, voltado para desenvolvedores que desejam escrever utilitários eficientes, confiáveis e de baixo nível para sistemas operacionais do tipo UNIX. O autor, conhecido por seus livros técnicos e artigos, oferece uma abordagem prática, combinando teoria com muitos exemplos de código.

Sobre o que é o livro

O livro cobre uma ampla gama de tópicos relacionados à interação de um programa em Go com o sistema operacional. O foco principal é Linux e macOS, mas a maioria dos exemplos é portável para outros sistemas UNIX. Você aprenderá a trabalhar com sistemas de arquivos, processos, sinais, sockets de rede, além de como criar seus próprios utilitários de sistema (por exemplo, análogos ao ps, ls ou netstat).

Para quem é este livro

O livro é voltado para programadores que já conhecem os fundamentos do Go (sintaxe, goroutines, canais). Será útil para:

  • Desenvolvedores migrando de C/C++ para Go que desejam manter o controle sobre os recursos do sistema;
  • Engenheiros DevOps e administradores que escrevem ferramentas para monitoramento e automação;
  • Todos que desejam entender como o Go interage com o kernel do SO em baixo nível.

O que o leitor aprenderá

Após a leitura, você será capaz de:

  • Trabalhar com descritores de arquivo e chamadas de sistema através dos pacotes os e syscall;
  • Gerenciar processos (criação, término, espera, sinais);
  • Criar servidores e clientes multithread usando sockets TCP/UDP;
  • Escrever seus próprios utilitários de linha de comando com tratamento de argumentos e flags;
  • Trabalhar com tempo, timers e sincronização em nível de SO;
  • Usar o pacote os/exec para executar programas externos;
  • Entender a estrutura dos sistemas de arquivos e trabalhar com inodes, permissões de acesso e links.

Pontos fortes

A principal vantagem do livro é a orientação prática. Cada capítulo contém muitas listagens de código que podem ser executadas e modificadas imediatamente. O autor não tem medo de mostrar detalhes "sujos": tratamento de erros, trabalho com dados binários, peculiaridades de diferentes SOs. O livro é escrito em linguagem viva, com exemplos da experiência real. Vale destacar especialmente os capítulos dedicados a sockets de rede e criação de servidores próprios — eles fornecem uma base sólida para escrever sistemas de alta carga.

A quem é recomendado

Recomendo este livro a todos que desejam ir além do desenvolvimento web em Go e aprender a escrever ferramentas de sistema que funcionam de forma rápida e confiável. Será útil tanto para desenvolvedores experientes quanto para aqueles que estão começando a estudar Go, mas já possuem conhecimentos básicos. Se você quer entender como o Go "se comunica" com o kernel do Linux — este livro é para você.

Recommendations