Do zero à produção em Rust
Do zero à produção em Rust
Resumo:
Introdução
O livro «Zero To Production In Rust» (autor: Luca Palmieri, 2022, 485 páginas) não é apenas mais um tutorial sobre a linguagem Rust. É um guia completo e aprofundado que o conduzirá por todas as etapas da criação de um serviço web pronto para produção: desde a primeira linha de código até o deploy em um servidor real. Ao contrário de muitos livros que param na sintaxe ou em exemplos simples, este trabalho foca nos aspectos práticos da engenharia: arquitetura, testes, tratamento de erros, segurança e CI/CD. Se você já conhece os fundamentos do Rust e deseja aprender a construir aplicações web confiáveis, sustentáveis e escaláveis, este livro se tornará seu guia de referência.
Sobre o que é o livro
O livro é construído como a criação sequencial de um projeto — uma assinatura de newsletter. Você começa com um diretório vazio e, passo a passo, adiciona funcionalidades, aprendendo as melhores práticas ao longo do caminho. Os principais tópicos são:
- Configuração do projeto e estrutura do código: organização de módulos, trabalho com dependências (Cargo), escolha do framework (Actix Web).
- Trabalho com bancos de dados: uso do SQLx para acesso assíncrono ao PostgreSQL, migrações, pool de conexões.
- Manipulação de requisições e respostas HTTP: roteamento, middleware, validação de dados (serde, validator).
- Autenticação e autorização: sessões, JWT, hash de senhas (argon2).
- Testes: testes unitários, testes de integração, testes com banco de dados real, objetos mock.
- Tratamento de erros: tipos de erro idiomáticos, logging (tracing), monitoramento.
- Deploy e DevOps: Docker, CI/CD (GitHub Actions), configuração do ambiente de produção, migrações de banco de dados.
- Desempenho e segurança: rate limiting, CORS, proteção contra injeção SQL, profiling.
Para quem é este livro
O livro é voltado para desenvolvedores que já possuem um entendimento básico de Rust (conhecem sintaxe, ownership, closures, traits) e desejam avançar para a criação de serviços web reais. Será útil para:
- Desenvolvedores backend que desejam dominar o Rust como linguagem principal para o lado do servidor.
- Engenheiros migrando de outras linguagens (Python, Go, Java) — o livro mostra como aplicar padrões familiares no Rust.
- Aqueles que querem entender como construir sistemas confiáveis do zero, em vez de apenas copiar exemplos.
O que o leitor aprenderá
- Como organizar um projeto Rust para um serviço web: módulos, workspace, configuração.
- Como usar o Actix Web para construir uma API REST.
- Como trabalhar com bancos de dados assíncronos (PostgreSQL) através do SQLx.
- Como implementar autenticação e gerenciamento de sessões.
- Como escrever testes que realmente verificam a lógica de negócio.
- Como configurar CI/CD e deploy com Docker.
- Como tratar erros e fazer logging em produção.
- Como aplicar os princípios SOLID e arquitetura limpa no Rust.
Pontos fortes
- Foco prático: você não apenas lê teoria, mas escreve código que pode ser executado imediatamente.
- Atualidade: o livro utiliza versões modernas do Rust, Actix Web 4, SQLx 0.6, async/await.
- Aprofundamento nos detalhes: o autor explica não apenas o "como", mas também o "porquê" — por exemplo, por que um determinado padrão foi escolhido.
- Excelente estrutura: cada capítulo se baseia no anterior, o código evolui, não é reescrito do zero.
- Atenção aos testes: um capítulo inteiro é dedicado a testes, algo raro em livros sobre Rust.
- Mentalidade de produção: desde o início, você aprende a pensar em segurança, desempenho e sustentabilidade.
A quem é recomendado
O livro será especialmente útil para aqueles que já escreveram alguns pequenos programas em Rust e desejam avançar.