Rust Developer. Professional

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

30 мая

Professional

5 месяцев

Онлайн

Вт/Чт 20:00 Мск

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

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

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


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

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

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

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

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

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

Знания в областях:


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

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

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

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

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

  • Разместите свое резюме в базе OTUS и сможете получать приглашения на собеседования от партнеров

Rust Developer

Перспективы направления
Средний уровень зарплат в Москве:
110 000Junior+ специалист
220 000Middle+ специалист
350 000Senior специалист
100
актуальных вакансий
Формат обучения

Интерактивные вебинары

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

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

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

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

Lead Rust Developer

InfinitySwap

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

Rust Developer

Enso

Павел Ершов

Rust Developer

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

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

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

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

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

Отзывы

Руслан Фадин

17.09.2023
Работаю в области информационной безопасности и по работе периодически приходилось писать различные сервисы и утилиты для собственных нужд. Последние пару лет для этого использовался язык Go в связи с простотой распространения собранных программ. Однако появилось желание углубиться в системное программирование, а особенности Rust делали его наиболее привлекательным из возможных вариантов. Ещё несколько лет назад он привлек внимание, однако попытки написать на нем что-то с наскоку вызывали лишь боль, так как язык не похож ни на один из тех, с которыми сталкивался ранее. В связи с этим возникло желание пройти обучение на курсе, а otus, по крайней мере на момент поиска, единственная площадка на которой была такая возможность. Из плюсов отметил бы домашние задания, а именно тот факт, что решая их удалось охватить значительную долю возможностей языка, что по итогу позволяет уже самостоятельно писать полноценные приложения. Также понравилось отсутствие жёстких дедлайнов, так как иногда проще пропустить что-то и потом наверстать, нежели всегда подстраиваться под график занятий. По поводу того, что можно было бы улучшить. Порой не хватало какого-то описания к коду из презентаций. Когда параллельно смотришь видео, то всё понятно, но если пользоваться только презентацией, то не всегда очевидно что к чему. Обучение на курсе позволило получить ту необходимую базу знаний по языку и практических навыков с которыми можно уже самостоятельно продолжать углублять знания по языку и писать собственные проекты.

Дмитрий Назаров

14.09.2023
Очень интересный курс, охватывающий как синтаксис языка Rust так и области его применения. Домашние задания позволяют отработать полученные на лекциях навыки.

Евгений Салоников

14.09.2023
В целом, курс прикольный, галопом пробегаемся по всем основным частям языка, которые позволяют написать какой-то более-менее серьёзный проект. Жаль не удалось попробовать групповую работу, сокурсники не нашли это интересным, а задания, которое бы подталкивало к групповой работе отсутствует.

Глеб Акимов

13.09.2023
Добрый день! Хочу поблагодарить преподавателей, спасибо! В целом, мне курс понравился. Многое для себя подчеркнул, освоил и использую уже в работе. Очень рад, что материалы останутся у меня в личном кабинете. Буду советовать своим колегам. Хочу попросить доработать последние два модуля, уж очень мало информации о фреймворках. Хочется потрогать хотя бы несколько, сравнить и т.п. Очень быстро и поверхностно пролетает на мой взгляд очень важная информация. В отсальном, я очень доволен! Наверное, это первый курс, который оставил положительные эмоции после его прохождения!

Дмитрий Журавлев

02.08.2023
Курс достаточно подробный. Много концепций Rust разбирается не поверхностно, конечно требуется и самостоятельная работа, чтение документации. Для вкатывания в язык с нуля может быть сложновато, но опять таки зависит от желания. Так как домашние задания вполне по плечу + есть разборы и примеры. Хорошо, что к урокам можно возвращаться по истечении курса, освежать в памяти.

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

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

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

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

Дмитрий Любаневич

12.10.2022
Обучение прошло прекрасно, отличные преподаватели и материал. Это уже 2 мое обучение в otus и считаю, что это лучшая платформа для образования. И вот на сравнении двух курсов, Java Spring и Rust, я выделил для себя, чего мне тут не хватило и оставил пожелания по улучшению курса в итоговом отзыве. В общем не хватило практики на самих занятиях, она была иногда только на занятиях Ильи Богданова, и цельного проекта по ДЗ, т.е. хотелось бы на дз иметь один проект, который бы улучшался и дорабатывался с каждым заданием и по итогу был бы готов достаточно большой и интересный проект. Курс своих денег стоит, мне все понравилось и буду советовать otus своим знакомым.

Роман Воронкин

05.10.2022
Курс оставил о себе хорошее впечатление. Позволил достаточно хорошо разобраться в многопоточности и асинхронности в Rust.

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

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

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

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

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

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