Rust Developer. Professional
30 ноября
Professional
6 месяцев
Онлайн
Вт/Чт 20:00 Мск
Для кого этот курс?
Для разработчиков на системных языках (С, C++, ...), которые хотят изучить Rust, его сильные и слабые стороны, научиться избегать ошибок в работе с памятью и многопоточностью, изучить проектирование высокопроизводительного ПО.Для разработчиков на интепретируемых или высокоуровневых языках (Python, JS, Java, C#, ...), которые хотят изучить язык, позволяющий делать критические по производительности секции вашего ПО максимально быстрыми, изучить особенности работы с низкоуровневым ПО, а также подходы к разработке безопасного и отказоустойчивого ПО.
Необходимые знания
- базовое знание любого другого языка программирования;
- знание БД.

Что вам даст этот курс?
В курсе мы разберем наиболее популярные библиотеки и проекты, широко используемые на практике, а также многопоточность и архитектуру программного обеспечения.
Вы научитесь:
- использовать язык Rust для разработки ПО;
- разворачивать Rust и среду разработки;
- создавать надёжное, отказоустойчивое и высокопроизводительное ПО;
- тестировать код;
- использовать сторонние библиотеки;
- писать асинхронный код.
Курс даёт разработчику знания в таких областях, как:
- Computer Science;
- проектирование и архитектура ПО;
- теория и практика разработки в сферах: Backend, Frontend, GameDev, Blockchain.
Процесс обучения
Трудоустройство
- Карьерные мероприятия в сообществе
Публичный разбор резюме
Публичное прохождение собеседования и воркшопы - Разместите свое резюме в базе OTUS и сможете получать приглашения на собеседования от партнеров
Формат обучения
Интерактивные вебинары
2 занятия по 2 ак. часа в неделю. Доступ к записям и материалам остается у вас навсегда
Практика
Домашние задания + проектная работа, которая усилит ваше портфолио
Активное комьюнити
Общайтесь с преподавателями голосом на вебинарах и в Telegram-чате
Программа
Основные концепции Rust
Рассмотрим основные концепции и особенности языка программирования Rust. Установим основные инструменты, компилятор и среду разработки. Разберёмся в базовом и продвинутом синтаксисе Rust.
Тема 1: Основные концепции и особенности Rust
Тема 2: Основные элементы синтаксиса. Часть 1
Тема 3: Основные элементы синтаксиса. Часть 2
Тема 4: Владение и заимствование
Тема 5: Обобщённое программирование. Часть 1
Тема 6: Обобщённое программирование. Часть 2
Тема 7: Макросы
Тема 8: Дополнительные вопросы синтаксиса
Модули, крейты и тесты
Научимся разбивать проект на модули, писать тесты и примеры. Разберёмся с крейтами и пакетами. Воспользуемся сторонними крейтами.
Тема 1: Разбиение проекта на файлы и логические блоки. Тесты и примеры
Тема 2: Пакеты и крейты. Использование сторонних крейтов. Версии и features
Тема 3: Консультация по вопросам ДЗ (Q&A)
Стандартная библиотека
Научимся использовать стандартные перечисления и реализовывать стандартные трайты. Разберёмся с управлением памятью и структурами данных. Научимся читать и писать файл и общаться по сети.
Тема 1: Основные перечисления и типажи. Часть 1
Тема 2: Основные перечисления и типажи. Часть 2
Тема 3: Умные указатели и коллекции. Часть 1
Тема 4: Умные указатели и коллекции. Часть 2
Тема 5: Ввод и вывод
Тема 6: Работа с файлами и сетью
Тема 7: Пишем клиент-серверное приложение
Многопоточность
Познакомимся с проблемами многопоточного кода. Запустим выполнение задачи в отдельном системном потоке. Напишем свой ThreadPool. Создадим асинхронное клиент-серверное приложение. Организуем взаимодействие между процессами.
Тема 1: Проблемы многопоточного кода. Запуск параллельного потока
Тема 2: Контроль корректности многопоточного приложения на стадии компиляции
Тема 3: Пишем свой ThreadPool
Тема 4: Консультация по вопросам ДЗ (Q&A)
Тема 5: Типы многозадачности. Асинхронность
Тема 6: Асинхронность под капотом
Тема 7: Делаем клиент-серверное приложение асинхронным
Тема 8: Межпроцессное взаимодействие и синхронизация
Тема 9: Консультация по вопросам ДЗ (Q&A)
Архитектура
Научимся проектировать архитектуру Rust приложений. Рассмотрим элементы функционального и объектно-ориентированного программирования в Rust. Углубимся в обработку ошибок. Будем поддерживать инварианты и использовать паттерны.
Тема 1: Rust и ООП
Тема 2: Rust и ФП
Тема 3: Обработка ошибок
Тема 4: Инварианты
Тема 5: Паттерны
Фреймворки и библиотеки
Рассмотрим современную инфраструктуру Rust. Научимся логировать, отлаживать и профилировать приложение. Попробуем применить Rust в различных областях IT.
Тема 1: Популярные утилитарные библиотеки
Тема 2: Логирование, отладка и профилирование
Тема 3: Rust и Backend
Тема 4: Rust и GUI
Тема 5: Rust и GameDev
Тема 6: Rust и Frontend
Тема 7: Rust и Blockchain
Тема 8: Взаимодействие с другими языками
Проектная работа
Заключительный месяц курса посвящен проектной работе. Свой проект — это то, над чем интересно поработать слушателю. То, что можно создать на основе знаний, полученных на курсе. При этом не обязательно закончить его за месяц. В процессе написания по проекту можно получить консультации преподавателей.
Тема 1: Выбор темы и организация проектной работы
Тема 2: Консультация по проектам и домашним заданиям
Тема 3: Защита проектных работ
Тема 4: Подведение итогов курса
Также вы можете получить полную программу, чтобы убедиться, что обучение вам подходит
Выпускной проект
Задачи выпускного проекта:
- Сформулировать идею приложения или библиотеки
- Разработать архитектуру проекта
- Написать proof-of-concept код
- Реализовать задуманный функционал с документацией интерфейсов и тестами бизнес-логики.
- Разработать документацию и примеры использования кода.
- Опубликовать результаты работы на GitHub и на Crates.io.
Примеры тем:
- Web backend
- Real-time data processing
- Image processing
- Data storage and caches
Преподаватели
Эксперты-практики делятся опытом, разбирают кейсы студентов и дают развернутый фидбэк на домашние задания
Прошедшие
мероприятия
Возможность пройти вступительное тестирование повторно появится только через 2 недели
Результаты тестирования будут отправлены вам на email, указанный при регистрации.
Тест рассчитан на 30 минут, после начала тестирования отложить тестирование не получится!
Корпоративное обучение для ваших сотрудников
- Курсы OTUS верифицированы крупными игроками ИТ-рынка и предлагают инструменты и практики, актуальные на данный момент
- Студенты работают в группах, могут получить консультации не только преподавателей, но и профессионального сообщества
- OTUS проверяет знания студентов перед стартом обучения и после его завершения
- Простой и удобный личный кабинет компании, в котором можно видеть статистику по обучению сотрудников
- Сертификат нашего выпускника за 5 лет стал гарантом качества знаний в обществе
- OTUS создал в IT более 120 курсов по 7 направлениям, линейка которых расширяется по 40-50 курсов в год
Отзывы
Сертификат о прохождении курса
OTUS осуществляет лицензированную образовательную деятельность. В конце обучения вы получите сертификат OTUS о прохождении курса.

После обучения вы:
- бессрочно получите материалы по всем пройденным занятиям (видеозаписи вебинаров, выполненные домашние задания, выпускной проект);
- получите сертификат об окончании курса.
Rust Developer. Professional
Стоимость в рассрочку
Стоимость указана для оплаты физическими лицами
вычета до 13% стоимости обучения. Пройдите тестирование и менеджер вас проконсультирует
+7 499 938-92-02 бесплатно