Course Outline
# 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
Testimonials (4)
Οι γνώσεις του εκπαιδευτή είναι πολύ εκτεταμένες, η δέσμευσή του για συνομιλία και μεταφορά γνώσης τεράστια. Καλή επαφή με τους συμμετέχοντες. Πολύ καλά προετοιμασμένο υλικό, πολλές διαφάνειες, περιγραφές ασκήσεων, ήταν ορατή μεγάλη προετοιμασία για την προπόνηση.Παρά τα σχόλιά μου, εξακολουθώ να βαθμολογώ πολύ καλά την προπόνηση. Τα σχόλιά μου είναι απλώς μια προσθήκη στην προπόνηση, η οποία ήταν πολύ καλής ποιότητας. Κατά τη γνώμη μου, με συμμετέχοντες από την περιοχή C# και τις διορθώσεις που εισάγονται, η εκπαίδευση μπορεί να είναι σε ιδανικό επίπεδο ;-)
Sławek - Sonova Warsaw Service Center Sp z o o
Course - Rust Programming
Machine Translated
Μου άρεσαν τα διαδραστικά παραδείγματα που δουλέψαμε, ο εκπαιδευτής ήταν εξαιρετικά ενημερωμένος σχεδόν σε κάθε θέμα για το οποίο είχαμε ερωτήσεις και έδωσε εξαιρετικές συμβουλές για τις πραγματικές μας περιπτώσεις χρήσης σχετικά με μέρος του υλικού της εκπαίδευσης.
Tracy - GenesysGo
Course - Rust Advanced
Machine Translated
Ένας μεγάλος όγκος πρακτικών γνώσεων φαίνεται σε παραδείγματα της πραγματικής ζωής.
Kamil - Streamsoft Kraków
Course - Java Advanced
Machine Translated
Πιέστε τις αλλαγές σε συνεχή βάση, όταν την 3η μέρα άρχισα να χάνομαι περισσότερο από πριν και ήταν πιο δύσκολο να εντοπίσω το σφάλμα γρήγορα, μπόρεσα γρήγορα να ελέγξω για την τελευταία αλλαγή και να μείνω ενημερωμένος με το υλικό
Paulina
Course - Advanced Java Security
Machine Translated