Categoria: Rust

Rust é uma linguagem de programação moderna construída sobre três pilares: segurança de memória, desempenho e concorrência. Foi projetada para ocupar o espaço de C e C++ em sistemas onde a eficiência é crítica, eliminando ainda em tempo de compilação os erros clássicos de gerenciamento de memória — e sem precisar de coletor de lixo. O caminho oficial para começar é o livro The Rust Programming Language.

Rust

Outras coleções

Esta aula aborda três coleções importantes da biblioteca padrão do Rust: VecDeque, BTreeMap e HashSet. Você aprenderá suas características, quando usá-las e verá exemplos práticos. Ao final, terá uma visão geral das coleções disponíveis e poderá escolher a mais adequada para cada situação.

✓ Lido
Rust

Erros customizados

Aula sobre criação de erros customizados em Rust, abordando definição de tipos de erro, implementação da trait Error, e uso das bibliotecas thiserror e anyhow para simplificar o processo.

✓ Lido
Rust

Tratamento de erros idiomático

Esta aula ensina como lidar com falhas em Rust de forma idiomática, contrastando panic! e Result, apresentando o operador ? para propagação de erros, técnicas de conversão e boas práticas para código robusto.

✓ Lido
Rust

Genéricos

Nesta aula, exploramos o sistema de genéricos em Rust, que permite escrever código reutilizável para diferentes tipos. Abordamos funções genéricas, structs e enums genéricos, o processo de monomorfização e os limites (traits bounds) que restringem tipos permitidos. Ao final, você será capaz de criar abstrações seguras e eficientes.

✓ Lido
Rust

Traits comuns da std

Esta aula explora os traits mais comuns da biblioteca padrão do Rust: Debug, Clone, Copy, PartialEq, Eq, Ord, Display e o atributo derive. Você aprenderá como implementá-los manualmente ou via derive, e como eles habilitam comportamentos essenciais como impressão, comparação e clonagem de tipos.

✓ Lido
Rust

Trait bounds e where

Esta aula aborda como restringir tipos genéricos em Rust usando trait bounds, incluindo a sintaxe 'where' para maior clareza, o uso de 'impl Trait' em parâmetros e retornos, e a combinação de múltiplos bounds. O conteúdo inclui exemplos práticos e boas práticas para escrever código genérico mais legível e seguro.

✓ Lido
Rust

Closures

Nesta aula, você aprenderá sobre closures em Rust: sintaxe, captura de ambiente, as traits Fn, FnMut e FnOnce, e a palavra-chave move. Com exemplos práticos e exercícios, dominará como criar e usar closures de forma eficiente.

✓ Lido
Rust

Trait objects e dyn

Aula sobre trait objects em Rust, abordando despacho dinâmico vs estático, uso de `dyn Trait`, alocação com `Box<dyn Trait>` e custos associados. Explica como traits podem ser usados para polimorfismo em tempo de execução com exemplos práticos.

✓ Lido
Rust

Sobrecarga de operadores

Nesta aula, exploramos a sobrecarga de operadores em Rust, que permite definir comportamentos personalizados para operadores como +, *, [] em tipos definidos pelo usuário. Aprendemos a implementar traits como Add, Mul e Index, seguindo as regras de consistência e imutabilidade da linguagem, com exemplos práticos de um tipo NúmeroComplexo e uma Matriz.

✓ Lido
Rust

Iteradores avançado

Nesta aula, exploramos iteradores avançados em Rust, incluindo métodos como collect, fold, zip e enumerate, além de aprender a criar iteradores personalizados. Também discutimos aspectos de performance e boas práticas para usar iteradores de forma eficiente.

✓ Lido