Rust Concorrência e alta performance com segurança
Marcelo Castellani, Willian MolinariConteúdo
Quando falamos em linguagens de programação voltadas à construção de sistemas que exigem performance e agilidade, Rust tem se consolidado como a melhor opção. Ela foi feita para ser segura a ponto de possibilitar uma concorrência limpa sem a famigerada race condition. Trata-se de uma linguagem open source multiparadigma, sendo uma ótima alternativa ao C++.
Nesta nova edição, Marcelo Castellani e Willian Molinari mostram por que Rust encaixa-se perfeitamente neste momento de busca por tecnologias capazes de efetuar processamento rápido e paralelo, para o desenvolvimento de ferramentas que exigem performance, como sistemas embarcados e aplicativos de servidor. Você vai aprender na prática conceitos como traits, vetores, generics, macros, entre outros, chegando aos testes e à compilação final do código. Com Rust, você será capaz de escrever sistemas complexos, de alta performance, robustos e seguros.
Edição atualizada em 04/2022.
Sumário
- 1 Primeiros passos
- 1.1 Por que uma nova linguagem de programação?
- 1.2 Um pouco de história
- 1.3 O que é Rust?
- 1.4 O que preciso instalar em meu computador?
- 1.5 Pronto para o Alô Mundo?
- 2 Começando no Cargo
- 2.1 Preludes
- 2.2 Crates, cargo e outras ferramentas
- 2.3 Criando um projeto com o Cargo
- 2.4 Utilizando extensões
- 2.5 Outros utilitários do Cargo
- 3 Mergulhando no oceano Rust
- 3.1 Atribuição e vinculação de variáveis
- 3.2 Funções
- 3.3 Tipos de dados em Rust
- 3.4 Agrupando em módulos
- 3.5 Comentários
- 3.6 O bom e velho if
- 3.7 Busca de padrões com match
- 3.8 While
- 3.9 Loop
- 3.10 For e ranges
- 4 Traits e estruturas
- 4.1 Derivando
- 4.2 PartialEq e Eq
- 4.3 PartialOrd e Ord
- 4.4 Operações aritméticas e de bit
- 5 Vetores e iteradores
- 6 Strings e Slices
- 7 Tipos de dados genéricos
- 8 Alocação e gerenciamento de memória
- 8.1 Gerenciamento de memória
- 8.2 Escopo de variáveis
- 8.3 Casting
- 8.4 Ponteiros, box e drop
- 8.5 Ownership
- 8.6 Borrowing
- 9 Processamento paralelo e assíncrono
- 9.1 Processamento paralelo e threads
- 9.2 Criando uma thread
- 9.3 Movendo o contexto
- 9.4 Entendendo channels
- 9.5 Processamento assíncrono e o padrão async/await
- 10 Macros
- 10.1 Por que macros?
- 10.2 Macros declarativas
- 10.3 Recursividade
- 10.4 Exemplo usando uma árvores de tokens
- 10.5 Macros procedurais
- 10.6 Por que usamos macros?
- 11 Testar, o tempo todo
- 11.1 A macro panic!
- 11.2 Macros de asserção
- 11.3 Desempacotamento e o operador ?
- 11.4 Escrevendo testes
- 12 Alguns ponteiros para Rust
- 12.1 Rust para a web
- 12.2 Rust vs. Go
- 12.3 Rust e Webassembly
- 12.4 Rust para software embarcado
- 13 O começo de uma jornada
- 13.1 Material online
Autores
Marcelo Castellani
Marcelo Castellani é desenvolvedor de software há mais de duas décadas, tendo passado muito tempo escrevendo código embarcado para automação bancária. Trabalha com Rust desde 2018, quando passou uma temporada na Califórnia, além de ser um dos organizadores do meetup de Rust em SP.
Willian Molinari
Willian Molinari, mais conhecido como PotHix, é autor do livro Desconstruindo a web e trabalha com desenvolvimento de software há mais de 15 anos. Foi um dos organizadores da Rust LATAM 2019, o maior evento de Rust da América Latina até então, e mantém a organização do meetup de Rust em São Paulo (Rust-SP) desde 2018.
Dados do produto
- Número de páginas:
- 268
- ISBN:
- 978-85-5519-302-6
- Data publicação:
- 12/2017. Atualizado em 04/2022