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

Testes de integração e doc tests

Nesta aula, você aprenderá a criar testes de integração em Rust usando a pasta tests/, além de escrever documentação com testes embutidos (doc tests). Também verá como organizar e medir a cobertura de testes no projeto.

✓ Lido
Rust

Publicando uma crate

Nesta aula, você aprenderá a publicar suas crates no crates.io, o registro oficial de pacotes do Rust. Abordaremos metadados do Cargo.toml, versionamento semântico e o comando cargo publish, com boas práticas e exercícios práticos.

✓ Lido
Rust

Pattern matching avançado

Esta aula explora técnicas avançadas de pattern matching em Rust, incluindo padrões em ranges, desestruturação aninhada, bindings com @ e uso de padrões em funções. O conteúdo é prático, com exemplos de código e exercícios para consolidar o aprendizado.

✓ Lido
Rust

Testes em Rust

Nesta aula, você aprenderá como escrever e executar testes em Rust usando o atributo #[test], a macro assert! e o comando cargo test. Vamos explorar testes de unidade, boas práticas e exercícios práticos para consolidar o conhecimento.

✓ Lido
Rust

Default e o padrão Builder

Nesta aula, você aprenderá a usar o trait Default do Rust para fornecer valores padrão a tipos e como aplicar o padrão de projeto Builder para construir objetos complexos de forma ergonômica e legível, com exemplos práticos e exercícios.

✓ Lido
Rust

Lifetimes avançado

Esta aula aprofunda o conceito de lifetimes em Rust, cobrindo lifetimes em structs, a lifetime 'static, lifetime bounds e casos complexos como múltiplas referências e elisão. Ao final, você terá uma compreensão sólida para escrever código seguro e eficiente com lifetimes.

✓ Lido
Rust

O padrão Newtype

Nesta aula, exploramos o padrão Newtype em Rust, que consiste em criar um tipo novo encapsulando um tipo existente. Aprendemos como ele resolve a regra do órfão, permite implementar traits externas em tipos locais e traz segurança de tipos. Também vimos casos de uso práticos e exercícios para fixar o conteúdo.

✓ Lido
Rust

Conversões: From, Into, TryFrom

Nesta aula, você aprenderá a realizar conversões de tipos em Rust usando as traits From, Into, TryFrom e TryInto, além de entender as traits AsRef e AsMut. Exploraremos os padrões idiomáticos para conversões seguras e eficientes, com exemplos práticos e exercícios para fixar o conteúdo.

✓ Lido
Rust

Formatação e o trait Display

Nesta aula, você aprenderá a formatar saídas em Rust usando a macro format!, as diferenças entre os traits Display e Debug, os especificadores de formatação e como implementar Display para seus próprios tipos. Ao final, terá domínio para gerar saídas claras e customizadas em seus programas.

✓ Lido
Rust

Derive macros e atributos

Nesta aula, você aprenderá a usar a macro derive para implementar automaticamente traits comuns em Rust, explorará atributos como #[derive], #[allow], #[inline] e outros, entenderá quando usar derive em vez de implementações manuais e terá uma visão geral das macros procedurais que permitem criar seus próprios derives.

✓ Lido
Rust

Macros declarativas (macro_rules!)

Nesta aula, você aprenderá sobre macros declarativas em Rust usando macro_rules!, cobrindo sintaxe, padrões e repetição, higiene e exemplos práticos. O conteúdo inclui explicações detalhadas, blocos de código comentados, boas práticas, exercícios com respostas e referências oficiais.

✓ Lido
Rust

Macros procedurais (introdução)

Esta aula introduz macros procedurais em Rust, explicando os três tipos (derives, attribute-like e function-like), o funcionamento da crate proc_macro, as bibliotecas syn e quote para análise e geração de código, além de cuidados importantes ao escrevê-las.

✓ Lido
Rust

Unsafe Rust

Esta aula explora o conceito de Rust inseguro (unsafe), detalhando o que ele permite, como trabalhar com ponteiros crus, quando seu uso é necessário e as práticas para garantir segurança mesmo em código unsafe. Inclui exemplos práticos, exercícios com respostas e referências para aprofundamento.

✓ Lido
Rust

FFI: interoperando com C

Esta aula aborda a interoperabilidade entre Rust e C através da FFI (Foreign Function Interface). Você aprenderá a declarar funções externas com extern "C", exportar funções Rust para C usando #[no_mangle], terá uma visão geral da ferramenta bindgen e conhecerá os cuidados de segurança essenciais para evitar bugs e vulnerabilidades.

✓ Lido