Ежедневно, с 8:30 до 22:30
Предзаказ
1420

Rust Developer. Basic + Professional

Средняя оценка 5.0 из 5 на основании 1 голосов 5.0 (1)
1 0
0
Автор:
12500 ₽
132780 ₽
-91%
Кэшбэк: 5% (625 ₽)
Курс будет выдан в течение 1-3 часов после оплаты.
Категории:

Разрабатывайте безопасное и отказоустойчивое ПО на языке Rust.

Для кого курс Basic?

  • Для тех, кто знаком с основами программирования и хочет развиваться в разработке на Rust: разберётесь в синтаксисе Rust, получите ценный практический опыт
  • Для начинающих разработчиков на системных языках С и C++: познакомитесь с языком, который не уступает в производительности C и C++, а также гарантирует безопасность в работе с памятью
  • Для начинающих разработчиков на интерпретируемых или высокоуровневых языках (Python, JS, Java, C#): сможете увеличить производительность приложений

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

Rust используется в веб-разработке, в разработке системного ПО, мобильной разработке, разработке встраиваемых систем и даже в анализе данных. А ещё — в блокчейне и машинном обучении. На этом курсе вы изучите особенности работы с низкоуровневым ПО, подходы к разработке безопасного и отказоустойчивого ПО, а также основные библиотеки Rust.

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

  • пользоваться инструментарием Rust
  • чинить, собирать и запускать приложения
  • реализовывать функции
  • работать с циклами, ветвлениями, кортежами, структурами и перечислениями
  • писать программы в процедурном стиле с использованием ссылок
  • работать со слайсами, строками и массивами
  • писать программы в объектном стиле
  • переиспользовать код и обобщать поведение с помощью шаблонов и трейтов
  • писать приложения с полиморфизмом
  • писать безопасный сложный многопоточный код
  • создавать декларативные макросы
  • использовать асинхронные вызовы для работы с сетью и файловой системой
  • читать и писать сложные Rust-приложения

Программа курса

Введение

Познакомимся с языком. Узнаем, как устроен курс. Поговорим о разработке ПО в целом.

  • Тема 1: Знакомство с Rust. Подготовка к обучению
  • Тема 2: Основы архитектуры компьютера

Синтаксис Rust и основы Computer Science

Разберёмся с базовыми концепциями разработки ПО. Рассмотрим и попрактикуемся в реализации этих концепций с использованием Rust.

  • Тема 1: Типы данных. Переменные и функции
  • Тема 2: Сложные типы данных. Кортеж, структура, перечисление
  • Тема 3: Ветвление и циклы
  • Тема 4: Практика: Типы данных. Переменные и функции. Ветвление и циклы
  • Тема 5: Управление ресурсами. Клонирование. Трейт Copy. Принцип владения
  • Тема 6: Владение. Ссылки и заимствование
  • Тема 7: Практика: Владение и заимствование
  • Тема 8: Коллекции. Слайсы, массивы, строки
  • Тема 9: Q&A сессия
  • Тема 10: Структуры и методы. Инкапсуляция
  • Тема 11: Перечисления и pattern matching
  • Тема 12: Практика: Структуры и методы. Перечисления и pattern matching
  • Тема 13: Введение в систему типов. Типы стандартной библиотеки: Result, Option, ()
  • Тема 14: Введение в лямбда-функции
  • Тема 15: Обрабока ошибок. Оператор ?. Обработчики Result, Option
  • Тема 16: Практика: работа с Result, Option

Типы, полиморфизм и дженерики

Познакомимся с утилитарными элементами стандартной библиотеки. Научимся работать со стандартными коллекциями и оценивать сложность алгоритмов. Научимся писать сложный полиморфный код и рассуждать о типах.

  • Тема 1: Обобщённое программирование. Статический полиморфизм
  • Тема 2: Q&A сессия
  • Тема 3: Времена жизни
  • Тема 4: Обобщённое программирование. Наследование
  • Тема 5: Обобщенное программирование. Динамический полиморфизм. dyn Trait. dyn Any
  • Тема 6: Практика: Обобщённое программирование
  • Тема 7: Коллекции. Big O нотация. Хэш-мэп и вектор
  • Тема 8: Коллекции. Итераторы.
  • Тема 9: Практика: коллекции и итераторы
  • Тема 10: Функции. Типы функций. Лямбда-функции
  • Тема 11: Q&A сессия

Многопоточность и дополнительные темы

Изучим концепцию многопоточности и увидим, как Rust упрощает написание многопоточных приложений.

  • Тема 1: Работа с кучей. Box, Arc, Rc. RAII
  • Тема 2: Потоки. Создание потоков. Send + Sync
  • Тема 3: Лямбды и потоки. Send + Sync. Использование move и Arc
  • Тема 4: Mutex, Atomic
  • Тема 5: Практика: потоки, куча, mutex, atomic
  • Тема 6: Interior mutability
  • Тема 7: Q&A сессия
  • Тема 8: Сборка. Модули
  • Тема 9: Продвинутые элементы синтаксиса
  • Тема 10: Макросы: декларативные и процедурные
  • Тема 11: Асинхронность. Понятие Event Loop, проблема 10k соединений. Использование async/await
  • Тема 12: Пример: разбор приложения на Rust
  • Тема 13: Q&A сессия

Проектная работа

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

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

  • Сергей Потамошнев
    • Ведущий разработчик
    • 10+ лет опыта промышленной разработки, в том числе создания веб-приложений, инфраструктурных решений, высоконагруженных систем, баз данных и аналитических систем.
    • Образование: СурГу, инженер — программист, факультет информационных технологий.
  • Артём Павлов
    • Опытный Rust программист. Являюсь создателем и одним из главных мейнтейнеров проекта RustCrypto. Занимался разработкой программного обеспечения для беспилотного автотранспорта. На данный момент занимаюсь разработкой баз данных и средств криптографических зашиты информации
    • Образование: степень бакалавра и магистра в Московском Физико-Техническом Институте, закончил аспирантуру в Сколковском Институте Науки и Технологий

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

  • Для разработчиков на системных языках (С, C++, …): вы изучите сильные и слабые стороны языка Rust, сможете избежать ошибок в работе с памятью и многопоточностью, научитесь проектировать высокопроизводительное ПО
  • Для разработчиков на интепретируемых или высокоуровневых языках (Python, JS, Java, C#, …): с помощью Rust вы значительно ускорите работу критических секций и увеличите производительность ПО; изучите особенности работы с низкоуровневым ПО, а также исследуете подходы к разработке безопасных и отказоустойчивых
  • Для действующих Rust-разработчиков и тех, кто прошёл базовый курс Rust Developer. Basic: сможете повысить квалификацию с помощью новых знаний и навыков

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

  • базовое знание Rust или любого другого языка программирования
  • знание баз данных

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

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

Программа продвинутого курса

Особенности Rust

Демонстрируем студенту основные отличия Rust от других языков, а также примеры идиоматического Rust кода с использованием элементов std.

  • Тема 1: Какие проблемы решает Rust?
  • Тема 2: Организация проекта
  • Тема 3: Владение, заимствование и типы данных//ДЗ
  • Тема 4: Статический полиморфизм
  • Тема 5: Динамический полиморфизм
  • Тема 6: Макросы
  • Тема 7: Макросы. Часть 2
  • Тема 8: Стандартная библиотека//ДЗ
  • Тема 9: Практика Rust разработки #1
  • Тема 10: Практика Rust разработки #2
  • Тема 11: Консультация по домашним заданиям

Многопоточность

Вы научитесь разрабатывать многопоточные приложения на Rust. Мы разберем, как Rust помогает избегать гонок данных, научимся использовать трейты Send и Sync, а также синхронизировать потоки. В практической части вы реализуете ThreadPool, освоите модель акторов и создадите многопользовательский чат. Также вы изучите основы асинхронного программирования с помощью async/await, и принцип работы асинхронных задач и планировщиков.

  • Тема 1: Многопоточность без страха
  • Тема 2: Пишем ThreadPool
  • Тема 3: Асинхронный код
  • Тема 4: Асинхронность под капотом//ДЗ
  • Тема 5: Пишем чат
  • Тема 6: Консультация по домашним заданиям

Архитектура

Вы изучите идиомы функционального и объектно-ориентированного программирования в Rust. Мы разберем стратегии обработки ошибок, поймем, как инварианты повышают надежность API, и изучим полезные паттерны проектирования. В практических занятиях вы потренируетесь в принятии архитектурных решений и написании идиоматического кода.

  • Тема 1: Элементы ФП и ООП в Rust
  • Тема 2: Обработка ошибок
  • Тема 3: Инварианты
  • Тема 4: Rust паттерны//ДЗ
  • Тема 5: Практика проектирования #1
  • Тема 6: Практика проектирования #2
  • Тема 7: Консультация по домашним заданиям

Экосистема

Вы познакомитесь с наиболее популярными готовыми решениями экосистемы Rust в различных областях, которые значительно упрощают разработку. Мы рассмотрим популярные утилитарные крейты для работы с математикой, сериализацией, многопоточностью и тестированием. Вы научитесь работать с логами, отладкой и профилированием, включая такие инструменты, как Valgrind, Flamegreph и Miri. Также мы изучим основы FFI и создание интерфейсов между Rust и другими языками.

  • Тема 1: Утилитарные крейты
  • Тема 2: Логи, отладка, профилирование
  • Тема 3: Теория FFI//ДЗ
  • Тема 4: Практика FFI
  • Тема 5: Консультация по домашним заданиям
  • Тема 6: Backend #1
  • Тема 7: Backend #2
  • Тема 8: actix-web под капотом
  • Тема 9: GUI
  • Тема 10: Frontend//ДЗ
  • Тема 11: Примеры кода Frontend приложений
  • Тема 12: Консультация по домашним заданиям
  • Тема 13: Blockchain//ДЗ
  • Тема 14: Примеры смарт-контрактов
  • Тема 15: GameDev//ДЗ
  • Тема 16: Пример игры на Rust
  • Тема 17: Консультация по домашним заданиям

Проектная работа

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

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

  • Кирилл Федченкою Lead Rust Developer. InfinitySwap
  • Илья Богданов. Rust Developer. Enso
  • Павел Ершов. Rust Developer
  • Сергей Потамошнев
Характеристики
Наличие Предзаказ Тип Видео Размещение на сайте 07.08.2023 Артикул 1420

Об авторах

Фото: OTUS
5.0
OTUS
Образовательная платформа для IT-специалистов, основана в 2017 году. Более 130 авторских курсов от преподавателей-практиков — от C++ и Java до архитектуры высоких нагрузок.

Отзывы и комментарии

Отзывов ещё нет, будьте первыми

Написать отзыв
Нажимая "Отправить" Вы соглашаетесь с правилами публикации и даёте согласие на обработку персональных данных. Администрация не несёт ответственности за содержание отзывов.

Похожие товары:

Постер товара: Rust - основы языка программирования
Скидка 67%
Предзаказ
Средняя оценка 0.0 из 5 на основании 0 голосов
Rust - основы языка программирования
Бэкенд-разработка
Постер товара: Введение в Rust
Скидка 79%
Предзаказ
Средняя оценка 0.0 из 5 на основании 0 голосов
Введение в Rust
Языки программирования
Постер товара: Rust во frontend
Скидка 93%
Предзаказ
Средняя оценка 0.0 из 5 на основании 0 голосов
Rust во frontend
Веб-разработка
Постер товара: C++ Developer. Basic
Скидка 87%
Предзаказ
Средняя оценка 0.0 из 5 на основании 0 голосов
C++ Developer. Basic
C и C++
Постер товара: Подготовительный курс по JavaScript разработке
Скидка 94%
Предзаказ
Средняя оценка 5.0 из 5 на основании 1 голосов
Подготовительный курс по JavaScript разработке
Основы JavaScript
Постер товара: JavaScript. Базовый уровень
Скидка 82%
Предзаказ
Средняя оценка 0.0 из 5 на основании 0 голосов
JavaScript. Базовый уровень
Основы JavaScript
Постер товара: JavaScript с нуля - основы языка и практика для начинающих
Скидка 75%
Предзаказ
Средняя оценка 0.0 из 5 на основании 0 голосов
JavaScript с нуля - основы языка и практика для начинающих
Основы JavaScript
Постер товара: Полный курс по Javascript (включает 80 задач)
Скидка 78%
Предзаказ
Средняя оценка 0.0 из 5 на основании 0 голосов
Полный курс по Javascript (включает 80 задач)
JavaScript