11 курсов по Rust доступных для прохождения в 2024 году

Курсы по Rust предоставляют уникальную возможность погрузиться в мир одного из самых перспективных языков программирования на сегодняшний день. Изучение Rust остается высоко перспективным по нескольким ключевым причинам.

  1. Безопасность и надежность: Rust известен своей уникальной системой безопасности, которая помогает избегать множества типичных ошибок программирования, таких как segmentation fault и data races. Это делает его привлекательным выбором для разработки безопасного и стабильного программного обеспечения.

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

  3. Мультипарадигменность: Язык Rust объединяет преимущества функционального и императивного программирования, позволяя разработчикам писать более чистый, модульный и поддерживаемый код.

  4. Широкие возможности применения: Rust может использоваться для различных целей, от системного программирования до веб-разработки и разработки распределенных приложений. Это делает его универсальным и перспективным инструментом для разработчиков.

  5. Активное сообщество и поддержка: Rust имеет активное сообщество разработчиков, которые активно поддерживают язык, создают новые библиотеки и инструменты, что способствует его постоянному развитию.

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

Курс «Уроки по языку программирования Rust» — rust_lang_ru

Уроки:

  1. Введение - Rust язык программирования
  2. Установка и компиляция - Rust язык программирования
  3. Менеджер пакетов Cargo - Rust язык программирования
  4. Редактор исходного кода VS Code - Rust язык программирования
  5. Переменные - Rust язык программирования
  6. Типы данных - Rust язык программирования
  7. Функции - Rust язык программирования
  8. Конструкции управления - Rust язык программирования
  9. Владение - Rust язык программирования
  10. Ссылочные переменные - Rust язык программирования
  11. Срезы - Rust язык программирования
  12. Структуры - Rust язык программирования
  13. Перечисления - Rust язык программирования
  14. Операторы Match и If let - Rust язык программирования
  15. Модули Mod - Rust язык программирования
  16. Управление доступом - Rust язык программирования
  17. Импорт имён с Use - Rust язык программирования
  18. Векторы - Rust язык программирования
  19. Строки - Rust язык программирования
  20. Hash Maps - Rust язык программирования
  21. Обработка ошибок ч.1 - Rust язык программирования
  22. Обработка ошибок ч.2 - Rust язык программирования
  23. Шаблонные типы данных (Generics) - Rust язык программирования
  24. Типажи - Rust язык программирования
  25. Время жизни ссылок - Rust язык программирования
  26. Тестирование ч.1 - Rust язык программирования
  27. Тестирование ч.2 - Rust язык программирования
  28. Аргументы командной строки - Rust язык программирования
  29. Чтение файлов - Rust язык программирования
  30. Рефакторинг - Rust язык программирования
  31. Разработка через тестирование (TDD) - Rust язык программирования.
Стоимость: бесплатно
Курс «Программирование на Rust» — НИУ ВШЭ

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

 В этом курсе вы узнаете следующее:

  1. Как скачать и установить Rust;
  2. Как компилировать программы и (опционально) работать с IDE.
  3. Узнаете о фундаментальных типах данных и о том, как использовать их для объявления переменных
  4. Поймете массивы, векторы и строки, понятие срезов
  5. Научитесь создавать функции, методы, замыкания, функции высшего порядка
  6. Поймете, как создавать различные структуры данных, такие как структуры и перечисления; также черты.
  7. Узнаете, как безопасно обмениваться данными вокруг вашего (возможно, многопоточного) приложения с Rc, Arc и Mutex.
  8. Используете пакетный менеджер Rust с помощью Cargo.
  9. Узнаете о других полезных темах: документация, условная компиляция, тестирование.

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

Планируемые результаты обучения:

  • Знает, как установить и настроить Rust. Владеет понятием менеджер пакетов Cargo; Rust в IntelliJ IDEA
  • Знает основные типы данных. Владеет понятиями: числа на компьютере; операторы; Scope и Shadowing; объявление и использование констант; стек и куча
  • Знает конструкции if, while, for, match.
  • Знает структуры, перечисления, союзы, оption <T>, массивы, векторы, срезы, HashMap. Умеет проводить сопоставление с образцом.
  • Владеет понятиями: функции и аргументы функций; методы; замыкания; функции высшего порядка.
  • Владеет понятиями: Traits; Into; Drop; перегрузка оператора; статическая рассылкa; динамическая отправка; Векторы разных объектов
  • Владеет понятиями: право собственности; заимствование; продолжительность жизни; время жизни в реализации структуры. Знает переменные с атомной привязкой. Использует Mutex для поточно-ориентированной изменчивости
  • Владеет понятием циркулярных ссылок.

Содержание учебной дисциплины:

  1. Введение в курс
  2. Типы и переменные
  3. Контроль потока
  4. Структуры данных
  5. Функции
  6. Traits
  7. Время жизни и память
  8. Расширенные темы.
Стоимость: нет информации
Подробнее о курсе →
Курс «The Rust Programming Language» — Udemy

Чему вы научитесь:

  1. Решайте проблемы в Rust
  2. Поймите сильные и слабые стороны Rust
  3. Эффективно используйте гарантии безопасности памяти Rust
  4. Написание приложений и библиотек
  5. Протестируйте и задокументируйте свой код.

Материалы курса:

12 разделов, 61 лекция

  1. Вступление
  2. Типы и переменные
  3. Поток управления
  4. Структуры данных
  5. Стандартные Коллекции
  6. Символы и строки
  7. Функции
  8. Черты
  9. Жизнь и память
  10. Дополнительные темы
  11. Совпадение
  12. Мелочи и концы
Стоимость: 2 490 ₽
Подробнее о курсе →
Курс «Изучить Rust» — rust-lang

Основная документация:

  1. СТАНДАРТНАЯ БИБЛИОТЕКА
    Полное руководство по API стандартной библиотеки.
  2. РУКОВОДСТВО ПО РЕДАКЦИЯМ ЯЗЫКА
    Руководство по редакциям Rust.
  3. КНИГА ПО CARGO
    Книга о пакетном менеджере и системе сборки Rust.
  4. КНИГА ПО RUSTDOC
    Узнайте, как создать удивительную документацию для вашего проекта.
  5. КНИГА ПО RUSTC
    Познакомьтесь с опциями, доступными в компиляторе Rust.
  6. РУКОВОДСТВО ПО ОШИБКАМ КОМПИЛЯТОРА
    Подробные объяснения ошибок, которые вы можете получить от компилятора.

С чего начать?

  • «The Rust Programming Language», ласково называемая «книгой»
    даст вам обзор языка начиная с базовых принципов. По ходу чтения вы создадите несколько проектов и к концу изучения получите твёрдое понимание языка.
  • Курс Rustlings
    поможет вам в установке и настройке инструментов Rust, и обучит вас основам чтения и написания кода на Rust. Это альтернатива книге «Rust на примерах», которая работает с вашим собственным окружением.
  • «Rust на примерах» («Rust By Example», RBE).
    Пока «Книга» большим количеством слов рассуждает о коде, RBE показывает куски кода и сводит рассуждения к минимуму. Также она содержит упражнения.
Стоимость: бесплатно
Подробнее о курсе →
Курс «Плагин для Rust» — JetBrains

Адаптированный курс Rustlings

Этот курс поможет вам разобраться со всеми главными возможностями языка Rust: базовым синтаксисом, стандартной библиотекой, макросами, потоками, автоматизированными тестами и т. д.

Наша адаптация сохранила всю прелесть исходного курса, а вдобавок она познакомит вас со всеми возможностями для работы с Rust, которые только есть в IDE на базе IntelliJ — это умный редактор, автодополнение кода, вызов документации, рефакторинги и многое другое.

Стоимость: бесплатно
Подробнее о курсе →
Курс «[rust] язык программирования» — Академия IT

Уроки курса:

  1. Введение - установка, первая программа
  2. Переменные
  3. Типы данных
  4. Функции
  5. Условные выражения и циклы
  6. Чтение логов в реальном времени на RUST и запись данных в influxDB.
Стоимость: бесплатно
Подробнее о курсе →
Курс «Руководство по языку программирования Rust» — metanit

Глава 1. Введение в язык Rust

  • Общий обзор языка программирования Rust. Установка
  • Первая программа

Глава 2. Основы Rust

  • Структура программы
  • Переменные
  • Типы данных
  • Арифметические операции
  • Поразрядные операции
  • Условные выражения
  • Конструкция if..else
  • Конструкция match
  • Циклы
  • Функции
  • Параметры функции
  • Возвращение значения из функции
  • Константы
  • Анонимные функции
  • Замыкания
  • Тип функции
  • Функция как параметр и результат другой функции

Глава 3. Составные типы данных

  • Кортежи
  • Массивы
  • Структуры
  • Структуры-кортежи
  • Перечисления Enum
  • Последовательность Range
  • Паттерны и конструкция match
  • Паттерны и конструкция if let

Глава 4. Ссылки и Ownership

  • Контекст/область видимости
  • Устройство памяти в Rust. Стек и куча
  • Ownership
  • Ссылки
  • Изменяемые ссылки
  • Slice

Глава 5. Объектно-ориентированное программирование

  • Методы
  • Ассоциированные функции
  • Trait
  • Trait как параметр и результат функции
  • Обобщенные типы
  • Обобщенные функции и методы
  • Trait bound

Глава 6. Время жизни ссылки

  • Аннотации и время жизни ссылки
  • Аннотации ссылок в функциях
  • Аннотации ссылок в структурах
  • Аннотации ссылок в определениях методов
  • Статическое время жизни

Глава 7. Коллекции

  • Вектор
  • String
  • HashMap

Глава 8. Модули

  • Определение модулей. Приватность и публичность
  • Вложенные модули и ключевое слово super
  • Оператор use и подключение модулей
  • Определение модуля во внешнем файле

Глава 9. Обработка ошибок

  • Макрос panic!
  • Тип Result
  • Методы unwrap и expect типа Result
  • Обработка нескольких типов ошибок
  • Оператор ?

Глава 10. Cargo

  • Создание проекта с помощью Cargo
  • Загрузка и использование внешних зависимостей

Глава 11. Ввод и вывод

  • Ввод с клавиатуры

Глава 12. Unsafe-контекст

  • Указатели.
Стоимость: бесплатно
Подробнее о курсе →
Курс «Learning Rust» — Dumindu Madunuwan
  • Basics
    Installation, Hello World, Cargo, Crates, Variable bindings, Functions, Primitive Data Types, Operators & Control Flows.
  • Beyond the Basics
    Vectors, Structs, Enums, Generics, Impls & Traits.
  • The Tough Part
    Ownership, Borrowing, Lifetimes & Lifetime Elision.
  • Let’s Get It Started
    Modules, Crates, Workspaces, std modules and Preludes.
  • Error Handling
    Smart compiler, Panicking, Option & Result, Unwrap & Expect, Error & None propagation, Combinators and Custom Error Types.
  • Stay tuned!
    More things are coming in 2021. Stay in touch.
Стоимость: бесплатно
Подробнее о курсе →
Курс «Программирование на Rust» — Computer Science Center
  • Курс знакомит слушателей с языком программирования Rust.
  • Для курса необходимо уметь программировать на любом другом языке, например Python. Особенно хорошо курс сочетается с курсом по C++.

Цель курса не просто научить программировать на Rust, а сделать акцент на его особенностях и отличиях от более традиционных языков, и увидеть знакомые задачи с другого ракурса.

Предварительная программа курса:

  1. Зачем нужны языки программирования без сборщика мусора?
  2. Дисциплина владения, линейные типы, RAII.
  3. Ссылки и времена жизни.
  4. Механика языка: встроенные типы, выражения, алгебраические типы данных, macro by example.
  5. Модули, библиотеки и модель компиляции.
  6. Стратегии обработки ошибок.
  7. Параметрический полиморфизм, трейты, статичекое и динамическое связывание.
  8. FFI и unsafe.
  9. Реализация коллекций и итераторов.
  10. Надёжное многопоточное программирование.
  11. Стратегии управления памятью.
  12. Процедурные макросы.

Список лекций

  • Введение
  • Время жизни, ADT
  • Трейты
  • Модули
  • Функции и итераторы
  • Управление ошибками
  • Объекты, строки
  • Время жизни II
  • Умные указатели, static
  • Многопоточность
  • unsafe
  • Коллекции
  • Макросы.
Стоимость: бесплатно
Подробнее о курсе →
Курс «Rust для начинающих» — GitHub

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

Оглавление:

  1. Привет, Rust!
  2. Арифметические вычисления
  3. Переменные
  4. Логический тип данных
  5. Выражение if
  6. Хранилища однотипных данных
  7. Использование простых типов данных в Rust
  8. Перечисления
  9. Кортежи и структуры
  10. Функция
  11. Обобщенные структуры и функции
  12. Использование различных мест хранения переменных
  13. Реализация типов данных в Rust
  14. Анонимные функции
  15. Строка
  16. Диапазон
  17. Срез
  18. Итератор
  19. Типаж.
Стоимость: бесплатно
Подробнее о курсе →
Курс «Rust Developer» — OTUS

Углублённый курс по языку программирования Rust, в котором мы разберем:

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

Курс будет интересен:

 Разработчикам на системных языках (С, C++, …), которые хотят:

  • изучить Rust, его сильные и слабые стороны;
  • научиться избегать ошибки по работе с памятью и многопоточностью;
  • изучить проектирование высокопроизводительного ПО

Разработчикам на интепретируемых или высокоуровневых языках (Python, JS, Java, C#, …), которые хотят:

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

Чему вы научитесь на курсе?

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

Программа обучения

Модуль 1. Введение в Rust

  • Тема 1. Основные концепции и особенности Rust
  • Тема 2. Система сборки. Вспомогательные утилиты. Выбор среды разработки
  • Тема 3. Базовый синтаксис
  • Тема 4. Продвинутый синтаксис

Модуль 2. Модули, крейты и тесты

  • Тема 5. Разбиение проекта на файлы и логические блоки. Тесты и примеры
  • Тема 6. Пакеты и крейты
  • Тема 7. Использование сторонних крейтов. Версии и features

Модуль 3. Стандартная библиотека

  • Тема 8. Основные перечисления и типажи
  • Тема 9. Умные указатели и коллекции
  • Тема 10. Ввод и вывод
  • Тема 11. Пишем клиент-серверное приложение

Модуль 4. Многопоточность

  • Тема 12. Проблемы многопоточного кода. Запуск параллельного потока.
  • Тема 13. Контроль корректности многопоточного приложения на стадии компиляции
  • Тема 14. Пишем свой ThreadPool
  • Тема 15. Типы многозадачности. Асинхронность
  • Тема 16. Асинхонность под капотом
  • Тема 17. Делаем клиент-серверное приложение асинхронным
  • Тема 18. Межпроцессное взаимодействие и синхронизация

Модуль 5. Архитектура

  • Тема 19. Rust и ООП
  • Тема 20. Rust и ФП
  • Тема 21. Обработка ошибок
  • Тема 22. Инварианты
  • Тема 23. Паттерны

Модуль 6. Фреймворки и библиотеки

  • Тема 24. Популярные утилитарные библиотеки
  • Тема 25. Логирование, отладка и профилирование
  • Тема 26. Rust и Backend
  • Тема 27. Rust и GUI
  • Тема 28. Rust и GameDev
  • Тема 29. Rust и Frontend
  • Тема 30. Взаимодействие с другими языками

Модуль 7. Проектная работа

  • Тема 31. Выбор темы и организация проектной работы
  • Тема 32. Консультация по проектам и домашним заданиям
  • Тема 33. Защита проектных работ
  • Тема 34. Подведение итогов курса.

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

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

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

Темы на выбор (+возможность предложить свою тему):

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

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

  • бессрочно получите материалы по всем пройденным занятиям (видеозаписи вебинаров, выполненные домашние задания, выпускной проект)
  • получите сертификат об окончании курса
  • получите приглашение пройти собеседование в компаниях-партнёрах (в случае успешного обучения).
Стоимость: 50 000 ₽
Подробнее о курсе →

Перейти к курсу ↑