Programação de Rede em Rust
286 páginas
Portuguese
PDF
4.5

Programação de Rede em Rust

Programação de Rede em Rust

Autor:

Ano:

Resumo:

Introdução

O livro «Network Programming with Rust» (autor — Abhijit Gadgil, 2018, 286 páginas) é um guia prático dedicado à criação de aplicações de rede na linguagem Rust. Numa era em que desempenho e segurança de memória se tornam fatores críticos, o Rust oferece uma combinação única de controle de baixo nível e garantias de segurança. O autor tem como objetivo ensinar o leitor não apenas a escrever código de rede, mas a fazê-lo de forma eficiente, utilizando todos os pontos fortes da linguagem: sistema de ownership, borrowing, lifetimes e um poderoso sistema de tipos.

Sobre o que é o livro

O livro abrange uma ampla gama de tópicos — desde os fundamentos do trabalho com sockets até a construção de servidores assíncronos de alta carga. Começa com uma introdução ao ecossistema Rust e conceitos básicos de comunicação em rede (modelo OSI, TCP/UDP). Em seguida, são abordados sequencialmente:

  • Trabalho com sockets bloqueantes e não bloqueantes;
  • Protocolos TCP e UDP, sua implementação em Rust;
  • Criação de servidores e clientes HTTP usando crates populares (hyper, reqwest);
  • Programação assíncrona com tokio e async/await (na época do lançamento do livro — futures);
  • Segurança: criptografia TLS/SSL, trabalho com certificados;
  • Interação com bancos de dados através da rede (exemplo com PostgreSQL);
  • Testes de aplicações de rede e depuração.

Cada capítulo contém exemplos práticos de código que podem ser executados e modificados imediatamente.

Para quem é este livro

O livro é direcionado a desenvolvedores já familiarizados com os fundamentos do Rust (sintaxe, ownership, traits). Se você está começando a aprender a linguagem, é recomendável ler primeiro The Rust Programming Language (guia oficial). Também é pressuposto um conhecimento básico de protocolos de rede (TCP/IP, HTTP).

Público-alvo:

  • Desenvolvedores backend que desejam migrar para Rust para criar serviços de alto desempenho;
  • Programadores de sistemas que trabalham com daemons de rede, proxies, balanceadores de carga;
  • Estudantes e pesquisadores interessados em programação segura de sistemas;
  • Desenvolvedores C/C++ que querem ver como o Rust resolve problemas de segurança de memória em código de rede.

O que o leitor aprenderá

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

  • Criar servidores e clientes TCP do zero, processando conexões em modos multithread e assíncrono;
  • Implementar protocolos próprios sobre UDP;
  • Escrever servidores HTTP usando o crate hyper e processar requisições/respostas;
  • Usar tokio para construir aplicações de rede assíncronas com sobrecarga mínima;
  • Adicionar criptografia TLS às suas aplicações com native-tls ou rustls;
  • Trabalhar com bancos de dados através de drivers de rede (por exemplo, tokio-postgres);
  • Escrever testes unitários e de integração para código de rede, usando mocks e servidores de teste;
  • Compreender o funcionamento interno de crates de rede populares e escolher os mais adequados para suas tarefas.

Pontos fortes

O livro se destaca por várias qualidades importantes:

  • Orientação prática. Cada conceito é apoiado por código funcional que pode ser adaptado aos seus projetos.
  • Imersão profunda em assincronia. O autor explica detalhadamente o modelo async/await (através de futures) e mostra como evitar erros comuns (por exemplo, bloqueio do event loop).
  • Ênfase em segurança. Rust é conhecido por sua segurança, e o livro demonstra consistentemente como o sistema de tipos previne classes inteiras de vulnerabilidades (race conditions, use-after-free, estouro de buffer).
  • Atualidade dos exemplos. Apesar de ser de 2018, a maioria dos exemplos permanece relevante,

Recommendations