Estrutura do Curso
Esta página é para o instrutor do curso.
Fundamentos do Rust
Os primeiros quatro dias compõem os Fundamentos do Rust. Os dias são rápidos e cobrimos bastante counteúdo!
Agenda do curso:
- Dia 1 Manhã (2 horas e 5 minutos, incluindo intervalos)
| Segment | Duration |
|---|---|
| Bem-vindos | 5 minutes |
| Olá, Mundo | 15 minutes |
| Tipos e Valores | 40 minutes |
| Fundamentos de Controle de Fluxo | 40 minutes |
- Dia 1 Tarde (2 horas e 35 minutos, incluindo intervalos)
| Segment | Duration |
|---|---|
| Tuplas e Matrizes | 35 minutes |
| Referências | 55 minutes |
| Tipos Definidos pelo Usuário | 50 minutes |
- Dia 2 Manhã (2 horas and 10 minutos, incluindo intervalos)
| Segment | Duration |
|---|---|
| Bem-vindos | 3 minutes |
| Correspondência de Padrões | 1 hour |
| Métodos e Traits | 50 minutes |
- Dia 2 Tarde (3 horas e 15 minutos, incluindo intervalos)
| Segment | Duration |
|---|---|
| Genéricos (Generics) | 45 minutes |
| Tipos da Biblioteca Padrão | 1 hour |
| Traits da Biblioteca Padrão | 1 hour and 10 minutes |
- Dia 3 Manhã (2 horas and 20 minutos, incluindo intervalos)
| Segment | Duration |
|---|---|
| Bem-vindos | 3 minutes |
| Gerenciamento de Memória | 1 hour |
| Ponteiros Inteligentes (Smart Pointers) | 55 minutes |
- Dia 3 Tarde (1 hora and 55 minutos, incluindo intervalos)
| Segment | Duration |
|---|---|
| Empréstimo (Borrowing) | 55 minutes |
| Tempos de Vida (Lifetimes) | 50 minutes |
- Dia 4 Manhã (2 horas and 40 minutos, incluindo intervalos)
| Segment | Duration |
|---|---|
| Bem-vindos | 3 minutes |
| Iteradores | 45 minutes |
| Módulos | 40 minutes |
| Testes | 45 minutes |
- Dia 4 Tarde (2 horas and 15 minutos, incluindo intervalos)
| Segment | Duration |
|---|---|
| Tratamento de Erros | 1 hour |
| Rust Inseguro (Unsafe) | 1 hour and 5 minutes |
Análises Detalhadas
Além do curso de 4 dias sobre Fundamentos de Rust, nós abordamos alguns tópicos mais especializados:
Rust para Android
O Rust para Android é um curso de meio dia sobre o uso de Rust para o desenvolvimento na plataforma Android. Isso inclui interoperabilidade com C, C++ e Java.
Você precisará de um checkout do AOSP. Faça um checkout do repositório do curso no mesmo computador e mova o diretório src/android/ para a raiz do seu checkout do AOSP. Isso garantirá que o sistema de compilação do Android veja os arquivos Android.bp em src/android/.
Certifique-se de que adb sync funcione com seu emulador ou dispositivo físico e pré-compile todos os exemplos do Android usando src/android/build_all.sh. Leia o roteiro para ver os comandos executados e verifique se eles funcionam quando você os executa manualmente.
Rust para Chromium
O Rust para Chromium é um curso de meio dia sobre o uso de Rust como parte do navegador Chromium. Ele inclui o uso de Rust no sistema de compilação gn do Chromium, a inclusão de bibliotecas de terceiros (“crates”) e interoperabilidade com C++.
Você precisará ser capaz de compilar o Chromium — uma compilação de componentes de depuração é recomendada para velocidade, mas qualquer compilação funcionará. Certifique-se de que você possa executar o navegador Chromium que você compilou.
Rust Bare-Metal
O Rust Bare-Metal é uma aula de um dia inteiro sobre o uso de Rust para o desenvolvimento bare-metal (sistema embarcado). Tanto micro-controladores quanto processadores de aplicação são cobertos.
Para a parte do micro-controlador, você precisará comprar a placa de desenvolvimento BBC micro:bit v2 com antecedência. Todos precisarão instalar vários pacotes, conforme descrito na página inicial.
Concorrência em Rust
Concorrência em Rust é uma aula de um dia sobre concorrência clássica e concorrência async/await.
Você precisará de um novo crate configurado e as dependências baixadas e prontas para uso. Você pode então copiar/colar os exemplos para src/main.rs para experimentá-los:
cargo init concurrency
cd concurrency
cargo add tokio --features full
cargo run
Agenda do curso:
- Morning (3 hours and 20 minutes, including breaks)
| Segment | Duration |
|---|---|
| Threads | 30 minutes |
| Canais (Channels) | 20 minutes |
| Send e Sync | 15 minutes |
| Estado Compartilhado | 30 minutes |
| Exercícios | 1 hour and 10 minutes |
- Afternoon (3 hours and 20 minutes, including breaks)
| Segment | Duration |
|---|---|
| Fundamentos de Async (Assincronicidade) | 30 minutes |
| Canais e Controle de Fluxo | 20 minutes |
| Armadilhas | 55 minutes |
| Exercícios | 1 hour and 10 minutes |
Formato
O curso foi projetado para ser bastante interativo e recomendamos deixar as perguntas conduzirem a exploração do Rust!