Rust Developer. Professional

Best Practices по языку программирования Rust

30 ноября

Professional

6 месяцев

Онлайн

Вт/Чт 20:00 Мск

Для кого этот курс?

Для разработчиков на системных языках (С, C++, ...), которые хотят изучить Rust, его сильные и слабые стороны, научиться избегать ошибок в работе с памятью и многопоточностью, изучить проектирование высокопроизводительного ПО.

Для разработчиков на интепретируемых или высокоуровневых языках (Python, JS, Java, C#, ...), которые хотят изучить язык, позволяющий делать критические по производительности секции вашего ПО максимально быстрыми, изучить особенности работы с низкоуровневым ПО, а также подходы к разработке безопасного и отказоустойчивого ПО.


Необходимые знания

  • базовое знание любого другого языка программирования;
  • знание БД.
Пройти тестирование

Что вам даст этот курс?

Углублённый курс по Rust рассматривает ключевые особенности этого языка программирования, понимание которых позволяет не только разрабатывать сложные программные продукты, но и помогает лучше проектировать ПО в целом.
В курсе мы разберем наиболее популярные библиотеки и проекты, широко используемые на практике, а также многопоточность и архитектуру программного обеспечения.

Вы научитесь:

  • использовать язык Rust для разработки ПО;
  • разворачивать Rust и среду разработки;
  • создавать надёжное, отказоустойчивое и высокопроизводительное ПО;
  • тестировать код;
  • использовать сторонние библиотеки;
  • писать асинхронный код.

Курс даёт разработчику знания в таких областях, как:


  • Computer Science;
  • проектирование и архитектура ПО;
  • теория и практика разработки в сферах: Backend, Frontend, GameDev, Blockchain.

Процесс обучения

Образовательный процесс происходит ONLINE в формате вебинаров (язык преподавания — русский). В рамках курса слушателям предлагаются к выполнению домашние задания, которые позволяют применить на практике знания, полученные на занятиях. По каждому домашнему заданию преподаватель дает развернутый фидбек. В течение всего учебного процесса преподаватель находится в едином коммуникационном пространстве с группой, то есть при обучении слушатель может задавать преподавателю уточняющие вопросы по учебным материалам.

Трудоустройство

  • Карьерные мероприятия в сообществе
    Публичный разбор резюме
    Публичное прохождение собеседования и воркшопы

  • Разместите свое резюме в базе 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: Подведение итогов курса

Также вы можете получить полную программу, чтобы убедиться, что обучение вам подходит

Выпускной проект


Задачи выпускного проекта:

  1. Сформулировать идею приложения или библиотеки
  2. Разработать архитектуру проекта
  3. Написать proof-of-concept код
  4. Реализовать задуманный функционал с документацией интерфейсов и тестами бизнес-логики.
  5. Разработать документацию и примеры использования кода.
  6. Опубликовать результаты работы на GitHub и на Crates.io.

Примеры тем:

  • Web backend
  • Real-time data processing
  • Image processing
  • Data storage and caches

Преподаватели

Руководитель курса

Кирилл Федченко

Lead Rust Developer

InfinitySwap

Илья Богданов

Rust Developer

Enso

Павел Ершов

Rust Developer

Эксперты-практики делятся опытом, разбирают кейсы студентов и дают развернутый фидбэк на домашние задания

Прошедшие
мероприятия

Кирилл Федченко
Открытый вебинар
Реализация паттернов проектирования на Rust
Кирилл Федченко
Открытый вебинар
Смарт-контракт токена
Для доступа ко всем прошедшим мероприятиям необходимо пройти входное тестирование
Возможность пройти вступительное тестирование повторно появится только через 2 недели
Результаты тестирования будут отправлены вам на email, указанный при регистрации.
Тест рассчитан на 30 минут, после начала тестирования отложить тестирование не получится!

Корпоративное обучение для ваших сотрудников

Отус помогает развивать высокотехнологичные Команды. Почему нам удаётся это делать успешно:
  • Курсы OTUS верифицированы крупными игроками ИТ-рынка и предлагают инструменты и практики, актуальные на данный момент
  • Студенты работают в группах, могут получить консультации не только преподавателей, но и профессионального сообщества
  • OTUS проверяет знания студентов перед стартом обучения и после его завершения
  • Простой и удобный личный кабинет компании, в котором можно видеть статистику по обучению сотрудников
  • Сертификат нашего выпускника за 5 лет стал гарантом качества знаний в обществе
  • OTUS создал в IT более 120 курсов по 7 направлениям, линейка которых расширяется по 40-50 курсов в год

Отзывы

Михаил Самусев

17.10.2022
Все очень понравилось. У меня есть опыт с курса по Архитектуре и Паттернам который я не смог закончить потому что пропала мотивация из за слабоватой поддержки по домашкам со стороны менторов. На курсе по расту эта часть была организована намного лучше. Также я очень рад был увидеть что курс охватывает очень широкую публику, на лекциях обговорили огромное количество областей применений языка, разные подходы к разработке на нем ну и конечно же все детали того как сам язык устроен. Мне это помогло на прошлой неделе пройти техническое собеседование, и думаю учась сам по книжкам я бы этого сделать не смог. Сильно помогло то что мы с группой изначально перенесли чат в Телеграм, обмен знаниями между одногруппниками проходил в разы быстрее в сравнении с упомянутым курсом по архитектуре. В общем курс задал хорошую базу с которой можно дальше прокачиваться в любое направление где используется данный язык. Большое спасибо всем организаторам и менеджерам.

Николай Пролеев

15.05.2023
Мне в целом понравилось обучение, единственный момент - слишком много опросов после занятий) Пожалуй я бы еще больше уделил внимание асинхронному и многопоточному коду и работе с футурами, тасками и итераторами в этом контексте. А так все очень достойно, особенно спасибо за занятие по блокчейну.

Сертификат о прохождении курса

OTUS осуществляет лицензированную образовательную деятельность. В конце обучения вы получите сертификат OTUS о прохождении курса.

После обучения вы:

  • бессрочно получите материалы по всем пройденным занятиям (видеозаписи вебинаров, выполненные домашние задания, выпускной проект);
  • получите сертификат об окончании курса.

Частые вопросы

Что, если в середине курса я не смогу продолжать обучение?
У вас есть право одного бесплатного трансфера в другую группу.
Обязательно ли защищать выпускной проект?
Для получения сертификата OTUS необходимо сдать проект. Кроме того, проект необязательно защищать перед аудиторией, а можно сдать в чате с преподавателем.
Я могу вернуть деньги?
Да, вы можете сделать возврат средств пропорционально оставшимся месяцам обучения.