Skip to content

Jornada de aprendizado em Rust seguindo The Rust Book — Cap. 1-3 implementados

Notifications You must be signed in to change notification settings

rapassos/learn-Rust

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🦀 Aprendendo Rust — Jornada pelo The Rust Book

Repositório de estudos acompanhando o The Rust Programming Language Book (também conhecido como "The Book"), com implementações práticas de cada capítulo.

Rust Status Progress


🎯 Sobre Este Repositório

Documentação completa da minha jornada de aprendizado em Rust, seguindo o livro oficial The Rust Programming Language. Cada capítulo é implementado em uma pasta separada com código funcional e anotações de aprendizado.

Por que Rust?
Rust combina performance de baixo nível (como C/C++) com segurança de memória garantida em tempo de compilação — habilidades valiosas para infraestrutura, sistemas embarcados e ferramentas de DevOps modernas.


📚 Estrutura do Repositório

learn-Rust/
├── 01-hello-cargo/         # Cap. 1 - Hello World com Cargo
├── 02-guessing-game/       # Cap. 2 - Jogo de Adivinhação
├── 03-variables/           # Cap. 3 - Variáveis e Mutabilidade
├── 04-ownership/           # Cap. 4 - Ownership (em breve)
├── 05-structs/             # Cap. 5 - Structs (planejado)
└── README.md

Cada pasta contém:

  • src/main.rs — código fonte do projeto
  • Cargo.toml — arquivo de configuração do Cargo
  • README.md — anotações e aprendizados do capítulo

🗂️ Capítulos Implementados

Conceitos: Cargo, compilação, estrutura de projetos Rust

Primeiro contato com o ecossistema Rust, entendendo a ferramenta Cargo (gerenciador de pacotes e build).

cd 01-hello-cargo
cargo run

Conceitos: Input/Output, Match, Loops, Crates externos (rand)

Jogo interativo onde o programa gera um número aleatório e o usuário tenta adivinhar.

Aprendizados principais:

  • Uso de std::io para entrada de dados
  • Pattern matching com match
  • Importação de crates externos (rand)
  • Loops com loop e controle de fluxo
cd 02-guessing-game
cargo run

Conceitos: Mutabilidade, Shadowing, Tipos de dados, Constantes

Exploração do sistema de tipos e gerenciamento de memória do Rust.

Aprendizados principais:

  • Diferença entre let e let mut
  • Shadowing vs. Mutabilidade
  • Tipos escalares (inteiros, floats, booleanos, caracteres)
  • Tipos compostos (tuplas, arrays)
cd 03-variables
cargo run

🔮 Próximos Capítulos (Planejados)

  • Cap. 4 — Ownership (conceito central do Rust)
  • Cap. 5 — Structs e Métodos
  • Cap. 6 — Enums e Pattern Matching
  • Cap. 7 — Módulos e Pacotes
  • Cap. 8 — Coleções (Vectors, Strings, HashMaps)
  • Cap. 9 — Error Handling
  • Cap. 10 — Generics, Traits, Lifetimes

🚀 Como Executar os Projetos

Pré-requisitos

  • Rust instalado (rustc + cargo)

Executando um capítulo específico

# Clone o repositório
git clone https://github.com/rapassos/learn-Rust.git
cd learn-Rust

# Navegue até o capítulo desejado
cd 02-guessing-game

# Compile e execute
cargo run

# Ou apenas compile
cargo build

# Executável estará em:
./target/debug/[nome-do-projeto]

📖 Recursos de Aprendizado


💡 Por Que Rust Para Infraestrutura?

Como profissional de infraestrutura com 15+ anos de experiência, Rust oferece:

  • Performance — Velocidade comparável a C/C++, ideal para ferramentas CLI
  • 🔒 Segurança — Zero null pointers, zero data races (garantido em compilação)
  • 🛠️ Tooling moderno — Cargo, rustfmt, clippy são excelentes
  • 🌐 Cross-compilation — Binários para Linux, Windows, macOS com o mesmo código
  • 📦 Deploy simples — Binário único, sem dependências de runtime

Casos de uso:

  • Ferramentas de automação (substituto de scripts Bash/Python para performance crítica)
  • Agents de monitoramento
  • Proxies e load balancers customizados
  • Parsers de logs de alta performance

🎯 Objetivos de Aprendizado

  • Sintaxe básica e tooling do Rust
  • Sistema de tipos e mutabilidade
  • Ownership (próximo marco importante!)
  • Pattern matching avançado
  • Traits e generics
  • Async/await para I/O
  • Criar ferramenta CLI real com Rust

📊 Progresso

████████░░░░░░░░░░░░░░░░░░░░ 30% — Capítulo 3 de 10 (conceitos fundamentais)

Última atualização: Fevereiro 2025


🔗 Repositórios Relacionados

Este repositório consolida o que antes eram projetos separados:

  • learn-Rust-hello_cargo → agora em 01-hello-cargo/
  • learn-Rust-guessing_game → agora em 02-guessing-game/
  • learn-Rust-variables → agora em 03-variables/

👤 Autor

Rafael Passos Guimarães

Analista de Infraestrutura | 15+ anos em TI | Estudando Rust para ferramentas de DevOps


📄 Licença

MIT License — veja LICENSE para detalhes.


💭 Reflexão: Rust tem uma curva de aprendizado íngreme, mas o borrow checker força a escrever código seguro desde o início. Cada erro de compilação é uma lição sobre gerenciamento de memória — algo que scripts em linguagens de alto nível escondem, mas que profissionais de infraestrutura precisam entender profundamente.

About

Jornada de aprendizado em Rust seguindo The Rust Book — Cap. 1-3 implementados

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages