Curso Introduction to Rust Programming
24 horasVisão Geral
O Rust foi desenvolvido pela Mozilla como uma linguagem de programação a nível de sistemas altamente capaz. Rust é rápido, poderoso, oferece verificações rigorosas e pedantes do compilador, permite-lhe escrever software complexo sem qualquer medo, fornece abstrações de custo zero, características funcionais & muitas outras regalias. Alguns programadores estão mesmo a utilizá-lo como alternativa às linguagens de programação C/C++ para motores de simulação VR, sistemas operativos, componentes de browsers, motores de jogos & sistemas de ficheiros.
Através de uma mistura de laboratórios práticos e palestras interativas, será capaz de aprender a linguagem Rust para utilizar eficazmente todas as suas características. É adequada para qualquer pessoa que esteja à procura de apanhar a programação da Ferrugem a partir do nível do solo.
Objetivo
Após concluir o Curso Introduction to Rust Programming, você será capaz de:
- Compreender os fundamentos da linguagem de programação Rust
- Criar e trabalhar com tipos escalares
- Compreender e trabalhar com a mutabilidade
- Compreender e trabalhar com a lógica Rust
- Criar e trabalhar com funções
- Resistir e trabalhar com propriedade
- Criar e trabalhar com cordas
- Criar e trabalhar com estruturas
- Criar e trabalhar com enums
- Criar e trabalhar com vectores
- Pense como um ferrugem
- Escrever código Rust idiomático
- Compilar e testar código
- Escolha a estrutura de dados apropriada
- Use a documentação e as bibliotecas mais comuns
- Entenda os pontos fortes e fracos de Rust
- Desenhar e implementar sua primeira aplicação em Rust
Publico Alvo
- Os envolvidos em qualquer tarefa relacionada com a segurança, a qualquer nível.
Pre-Requisitos
- Conhecimento básico de qualquer linguagem de programação é necessário para iniciar o curso
Informações Gerais
Carga Horária: 24h
- Se noturno este curso é ministrado de Segunda-feira à sexta-feira, das 19h às 23h
- Se aos sábados este curso é ministrado das 9h às 18h
- Se in-company por favor fazer contato para mais detalhes.
Formato de entrega:
- 100% on-line ao vivo, via Microsoft Teams na presença de um instrutor/consultor ativo no mercado.
- Nota: não é curso gravado.
Lab:
- Laboratório + Exercícios práticos
Materiais
Português | InglêsConteúdo Programatico
Introduction
- How is Rust different?
- Execution time
- Error management
- Safety
- Multithreading
- Programming paradigms
Basics
- Primitive types
- Functions
- Variables and mutability
- Control flow
- Structured data types
- Enumerations (enum, match, Option)
Understanding Ownership and References
- Ownership
- References and Borrowing
- Slices
- Lifetime
- Types that contain references
Advanced Types
- Collections (String, Vec, HashMap)
- Iterators
- Error management (Result, propagation, panic)
- Closures
Generics
- Generic types
- Trait bounds
- Standard traits
- Operator overloading
Development Environment
- Installing and configuring Rust (rustup, system packages)
- Using the compiler and build system (rustc, cargo)
- The Cargo package manager (cargo and crates.io)
- Unit testing
- Documentation: rustdoc
- Environments and IDE
Multithreading
- Inter-thread communication
- Data sharing
- Trait Send and Sync
Advanced Rust
- Macros
- Using C/C++ code inside Rust
- Using Rust code inside C/C++
- Unsafe Rust
Standard Libraries and Ecosystem
- std::*
- Serializing using serde
- Non-blocking IO using tokio
- Querying databases
- Web server