Formation Rust Language

Code formation

rust3d

Durée

21 heures (généralement 3 jours pauses comprises)

Aperçu

Rust est un langage de programmation système axé sur la sécurité, la mémoire, la vitesse et le parallélisme.

Machine Translated

Plan du cours

# Day 1

 

- Introduction

- Installation

  - rustup

  - cargo, rustc

  - crates.io

- create a first project

  - creating a library or executable

  - Cargo.toml

  - Cargo.lock

  - exploring the source

  - cargo tools

  - hello world program

- Basic syntax

  - functions

  - variables

  - types

  - structs and enums

  - control flow: if, loops, pattern matching

  - exercise: the guessing game

- Ownership

  - moves

  - mutability

  - borrowing

  - lifetimes

  - exercise: fixing borrow checker compilation errors

- Modules

  - importing code

  - visibility

  - source code organisation

- Traits and generics

  - methods

  - generic types, functions and methods

  - type aliases

- Standard library

  - Option

  - Result

  - collections: Vec, HashMap

  - iterators

  - exercise: start building a small in memory database

 

# Day 2

 

- Tools

  - importing crates

  - unit tests

  - benchmarks

  - fuzzing

  - documentation

  - attributes

  - exercise: integrate unit tests, CI and other tools for the database example

- Strings and slices

  - String

  - &str

  - &[u8]

- Iterators

- Closures

  - exercise: start implementing queries

- Destructuring

  - if let

- API design

  - Usual traits

    - Clone and Copy

    - Debug and Display

    - PartialEq, Eq

    - Drop

  - Static VS dynamic dispatch

  - Associated types

  - Deref

  - Into

- I/O

  - exercise: add optional file storage for the database

- Concurrency

  - threads

  - channels

  - Send, Sync

  - mutability

  - Arc, Mutex

  - exercise: multiple clients querying the database while storing regularly

 

# Day 3

 

- FFI

  - repr(C)

  - exporting functions and structures

  - unsafe

  - Box

  - rusty-cheddar and rust-bindgen

  - linking

  - cargo-vendor

  - exercise: making a C interface for our in memory database

- common libraries and interfaces (adaptable depending on what the students want to focus on)

  - docs.rs

  - Command

  - clap

  - serde

  - log

  - tokio

  - rocket

  - lazy_static

  - nom

Nos Clients témoignent

★★★★★
★★★★★

Catégories Similaires

Réduction spéciale

Newsletter offres spéciales

Nous respectons le caractère privé de votre adresse mail. Nous ne divulguerons ni ne vendrons votre adresse email à quiconque
Vous pouvez toujours modifier vos préférences ou vous désinscrire complètement.

Nos clients

is growing fast!

We are looking to expand our presence in France!

As a Business Development Manager you will:

  • expand business in France
  • recruit local talent (sales, agents, trainers, consultants)
  • recruit local trainers and consultants

We offer:

  • Artificial Intelligence and Big Data systems to support your local operation
  • high-tech automation
  • continuously upgraded course catalogue and content
  • good fun in international team

If you are interested in running a high-tech, high-quality training and consulting business.

Apply now!