GithubHelp home page GithubHelp logo

esgi-rust's Introduction

esgi-rust

Cours de système et réseaux de Rust.

Journée 0 - Bases de Rust

Plongée dans le langage Rust:

Les exercices sont ici: https://framagit.org/darnuria/rust-initiation/

Planning

  • 09:45 - 10:00 Présentation générales

  • 10:00 - 10:20 Installation de rust avec rustup

  • 10:20 - 11:15 Exercices de base

  • 11:15 - 11:30 Pause

  • 11:30 - 13:00 Exercices on continue sur les bases!

  • 13:00 - 14:00 Pause manger

  • 14:00 - 14:20 Fin exercice sur rustlings

  • 14:20 - 15:30 application sur les structures struct Point2D

  • 15:30 - 15:45 Pause

  • 15:45 - 16:30 Recapitulatif et concepts clé de Rust

  • 16:30 - 17:15 Temps de travail en autonomie

Travail maison:

Faire au maximum rustling d'ici la prochaine seance: https://github.com/rust-lang/rustlings/

Installation de Rust

Pour installer Rust on va utiliser le projet Rustup.rs,

Windows

Installer la dernière version de visual studio 2019 cocher le support C++, Rust utilise le linker de de visual studio pour lier les binaires.

Source: http://www.jonathanturner.org/2017/03/rust-in-windows.html

Les bases

Pour assimiler les bases je vous propose de faire des exercices en autonomie pour intégrer la syntaxe et les concepts de base du langage.

On va commencer avec le projet rustlings https://github.com/rust-lang/rustlings/ jusque aux struct.

Vous pouvez l'installer avec la commande: curl -L https://git.io/rustlings | bash

Focus sur les struct Point2D

Écrire une struct Point2D avec deux champs x et y de type i32, écrire une fonction new et add dans un bloc impl voir ce chapitre sur les methodes du livre de Rust.

  • new aura la signature suivante: fn new (x: i32, y: i32) -> Point2D
  • add aura la signature suivante: fn add(&self, a: &Point2D) -> Point2D

Questions0: Si add avait eu la signature fn add(self, a: Point2D) -> Point2D quel problème aurions eu? (Tentez de l'écrire et la tester avec cette signature en realisant plusieurs additions avec le même point.

Rust en ligne

Editeur rust en ligne play.rust-lang.org

Ressources pedagogiques

Ressources optionnelles

  • Programming Rust Jim Blandy Oreally

Communauté et veille technologique

Page récapitulative: https://www.rust-lang.org/community

Pour la veille en rust je vous recommande le site https://this-week-in-rust.org/ qui propose de faire une revue des actualités de la semaine en Rust.

Le reddit de Rust est aussi pertinant: https://www.reddit.com/r/rust/

Il existe un channel Discord ou les débutants sont les bienvenus: https://discordapp.com/invite/rust-lang

esgi-rust's People

Contributors

darnuria avatar

Watchers

 avatar  avatar

Forkers

mattiaprimavera

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.