Курс: Rust Developer. Basic
Продолжительность курса: 40 ак. ч.
Описание курса:
В программе обучения предусмотрено изучение синтаксиса Rust, алгоритмов, структур данных и многопоточности. Развитие проектных навыков также является важной частью курса.
Аудитория:
• Для тех, кто знаком с основами программирования и хочет развиваться в разработке на Rust;
• Для начинающих разработчиков на системных языках С и C++;
• Для начинающих разработчиков на интерпретируемых или высокоуровневых языках (Python, JS, Java, C#).
Необходимая подготовка:
Опыт разработки от 1 года;
Программа курса:
Модуль 1. Введение в Rust:
• Знакомство с языком Rust;
• Подготовка рабочего окружения;
• Основы архитектуры компьютера.
Модуль 2. Синтаксис Rust и основы Computer Science:
• Типы данных, переменные и функции;
• Сложные типы данных: кортежи, структуры, перечисления;
• Ветвление и циклы;
• Практика. Типы данных, переменные, функции, ветвление и циклы;
• Управление ресурсами. Клонирование. Трейт Copy. Концепция владения;
• Владение и заимствование;
• Практика. Владение и заимствование;
• Коллекции: слайсы, массивы, строки;
• Структуры и методы. Инкапсуляция;
• Перечисления и pattern matching;
• Практика. Структуры и методы. Перечисления и pattern matching;
• Введение в систему типов. Result, Option, ();
• Введение в лямбда-выражения;
• Обработка ошибок: оператор ?, работа с Result и Option;
• Практика. Работа с Result и Option.
Модуль 3. Типы, полиморфизм и обобщённое программирование:
• Обобщённое программирование. Статический полиморфизм;
• Времена жизни (lifetimes);;
• Наследование и обобщённое программирование
• Динамический полиморфизм. dyn Trait, dyn Any;
• Практика. Обобщённое программирование;
• Коллекции. Big O нотация. Хэш-мэп и вектор;
• Коллекции и итераторы;
• Практика. Коллекции и итераторы;
• Функции и лямбда-выражения.
Модуль 4. Многопоточность и продвинутые темы:
• Работа с кучей. Box, Arc, Rc. RAII;
• Потоки: создание и запуск. Send + Sync;
• Лямбды и потоки. Использование move и Arc;
• Mutex, Atomic;
• Практика: потоки, куча, mutex, atomic;
• Interior mutability;
• Сборка проекта. Организация модулей;
• Продвинутые элементы синтаксиса;
• Макросы: декларативные и процедурные;
• Асинхронность. Event Loop. Проблема 10k соединений. async/await;
• Пример: разбор реального приложения на Rust.
Окончательная цена указывается в договоре на обучение.
Записаться на курс