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

Conversões: From, Into, TryFrom

Nesta aula, você aprenderá a realizar conversões de tipos em Rust de forma idiomática e segura, utilizando as traits From, Into, TryFrom, TryInto, AsRef e AsMut. Exploraremos como essas traits facilitam a conversão entre tipos, com exemplos práticos e boas práticas.

✓ Lido
Rust

Lifetimes avançado

Nesta aula avançada sobre lifetimes em Rust, você aprenderá a trabalhar com lifetimes em structs, o uso do 'static, lifetime bounds e casos complexos. Através de exemplos práticos, você dominará a elisão de lifetimes, a relação entre referências e lifetimes, e como o compilador garante a segurança de memória.

✓ Lido
Rust

O padrão Newtype

Esta aula explora o padrão Newtype em Rust, que envolve criar uma struct com um único campo para encapsular um tipo existente. Você aprenderá como esse padrão permite implementar traits externas contornando a regra do órfão, além de melhorar a segurança e a legibilidade do código. Através de exemplos práticos, veremos casos de uso comuns e como aplicar o padrão em seus projetos.

✓ Lido
Rust

Macros declarativas (macro_rules!)

Esta aula explora as macros declarativas em Rust usando macro_rules!, cobrindo sintaxe, padrões de repetição, higiene e exemplos práticos. Você aprenderá a definir e usar macros para reduzir código repetitivo, compreender a captura de tokens e a importância da higiene para evitar conflitos de nomes.

✓ Lido
Rust

Derive macros e atributos

Esta aula explora as derive macros e atributos em Rust, mostrando como usar #[derive] para implementar traits automaticamente, os atributos mais comuns, quando aplicar cada um e uma introdução às macros procedurais. O conteúdo inclui exemplos práticos, boas práticas e exercícios para fixação.

✓ Lido
Rust

Macros procedurais (introdução)

Esta aula introduz as macros procedurais em Rust, explicando os três tipos (derive, attribute e function-like), o crate proc_macro, as bibliotecas syn e quote, e cuidados importantes. Inclui exemplos práticos, referências e exercícios com respostas.

✓ Lido
Rust

Unsafe Rust

Esta aula explora o Rust inseguro (unsafe), explicando o que ele permite, como usar ponteiros crus, quando é necessário e como garantir segurança mesmo em código unsafe. Inclui exemplos práticos, boas práticas e exercícios com respostas.

✓ Lido
Rust

Máquinas de estado com tipos

Esta aula explora o padrão Typestate em Rust, que modela máquinas de estado usando o sistema de tipos para garantir em tempo de compilação que operações inválidas sejam impossíveis. Você aprenderá a representar estados como tipos, transições como funções e como isso aumenta a segurança e expressividade do código.

✓ Lido
Rust

Programação no_std

Esta aula explora a programação no_std em Rust, abordando o que é, quando usar (especialmente em sistemas embarcados), as diferenças entre core e std, e as limitações. Você aprenderá a criar programas sem o sistema operacional e a usar as bibliotecas core e alloc.

✓ Lido
Rust

FFI: interoperando com C

Nesta aula, exploramos como o Rust interopera com a linguagem C através da FFI (Foreign Function Interface). Aprendemos a usar blocos extern "C", a expor funções Rust com #[no_mangle], a gerar bindings automaticamente com bindgen e a lidar com os principais cuidados de segurança ao cruzar a fronteira entre Rust e C.

✓ Lido