- Регистрация
- 26.05.2022
- Сообщения
- 23 590
- Реакции
- 56
- Баллы
- 48
Rust Developer. Best Practices по языку программирования Rust
RUST - мультипарадигмальный компилируемый язык программирования общего назначения, сочетает парадигмы функционального и процедурного программирования с объектной системой, основанной на типажах. Управление памятью осуществляется через механизм «владения» с использованием аффинных типов, что позволяет обходиться без системы сборки мусора во время исполнения программы. Rust гарантирует безопасную работу с памятью благодаря встроенной в компилятор системе статической валидации ссылок. Имеются средства, позволяющие использовать приёмы объектно-ориентированного программирования.
Ближайший открытый вебинар для ознакомления по Rust Какие проблемы решает Rust? от OTUS стартует 25 апреля в 20:00. Все информация о курсе доступна по ссылке ниже.
Необходимые знания перед началом курса:
базовое знание любого другого языка программирования,
знание БД.
Что даст вам этот курс?
Углублённый курс по языку программирования Rust, в котором мы разберем:
ключевые особенности Rust, понимание которых позволяет не только разрабатывать сложные программные продукты на этом языке, но и помогает лучше проектировать ПО в целом,
наиболее популярные библиотеки и проекты, широко используемые на практике,
многопоточность и архитектуру программного обеспечения.
Курс будет интересен курс?
Разработчикам на системных языках (С, C++, ...), которые хотят:
изучить Rust, его сильные и слабые стороны,
научиться избегать ошибки по работе с памятью и многопоточностью,
изучить проектирование высокопроизводительного ПО.
Разработчикам на интепретируемых или высокоуровневых языках (Python, JS, Java, C#, ...), которые хотят:
изучить язык, позволяющий делать критические по производительности секции вашего ПО максимально быстрыми,
особенности работы с низкоуровневым ПО,
подходы к разработке безопасного и отказоустойчивого ПО.
Чему вы научитесь на курсе?
использовать язык Rust для разработки ПО,
разворачивать Rust и среду разработки,
создавать надёжное, отказоустойчивое и высокопроизводительное ПО,
тестировать код,
использовать сторонние библиотеки,
писать асинхронный код.
Преподаватель курса
Кирилл Федченко. Старший разработчик ПО, НИИ Квант. Заинтересовался программированием ещё в школе. Работает программистом более 5 лет. Увлекается компьютерной графикой и разработкой игр. Основной стэк: Rust, C++, Python. Есть опыт работы с С#, JS, PHP, MatLab.
Проектировал и разрабатывал:
программное обеспечение для цифровой обработки сигналов,
файловую систему для последовательного хранения больших объёмов данных,
фреймворк для параллельной обработки данных на графическом процессоре,
Backend части распределённых систем сбора и обработки данных,
Программа курса
Модуль 1. Введение в Rust
Основные концепции и особенности Rust
Вспомогательные утилиты. Выбор среды разработки
Базовый синтаксис
Владение и заимствование
Обобщённое программирование
Макросы
Дополнительные вопросы синтаксиса
Модуль 2. Модули, крейты и тесты
Разбиение проекта на файлы и логические блоки. Тесты и примеры
Пакеты и крейты. Использование сторонних крейтов. Версии и features
Модуль 3. Стандартная библиотека
Основные перечисления и типажи
Умные указатели и коллекции
Ввод и вывод
Пишем клиент-серверное приложение
Модуль 4. Многопоточность
Проблемы многопоточного кода. Запуск параллельного потока
Контроль корректности многопоточного приложения на стадии компиляции
Пишем свой ThreadPool
Типы многозадачности. Асинхронность
Асинхронность под капотом
Делаем клиент-серверное приложение асинхронным
Межпроцессное взаимодействие и синхронизация
Модуль 5. Архитектура
Rust и ООП
Rust и ФП
Обработка ошибок
Инварианты
Паттерны
Модуль 6. Фреймворки и библиотеки
Популярные утилитарные библиотеки
Логирование, отладка и профилирование
Rust и Backend
Rust и GUI
Rust и GameDev
Rust и Frontend
Взаимодействие с другими языками
Модуль 7. Проектная работа
Выбор темы и организация проектной работы
Консультация по проектам и домашним заданиям
Защита проектных работ
Подведение итогов курса
Более подробная программа доступна по ссылке: cdn.otus.ru/media/public/44/b5/44b5dc_program_rust_developer.pdf
Выпускной проект
Задачи выпускного проекта:
Сформулировать идею приложения или библиотеки,
Разработать архитектуру проекта,
Написать proof-of-concept код, демонстрирующий жизнеспособность текущего дизайна,
Полноценно реализовать задуманный функционал, с документацией интерфейсов и тестами бизнес-логики,
Разработать документацию и примеры использования кода,
Опубликовать результаты работы на GitHub и на Crates.io.
Темы на выбор (+возможность предложить свою тему):
Web backend
Real-time data processing
Image processing
Data storage and caches
Продающий сайт
otus.ru/lessons/rust-developer/
Цена курса
Цена составляет 57000 руб ($760).
RUST - мультипарадигмальный компилируемый язык программирования общего назначения, сочетает парадигмы функционального и процедурного программирования с объектной системой, основанной на типажах. Управление памятью осуществляется через механизм «владения» с использованием аффинных типов, что позволяет обходиться без системы сборки мусора во время исполнения программы. Rust гарантирует безопасную работу с памятью благодаря встроенной в компилятор системе статической валидации ссылок. Имеются средства, позволяющие использовать приёмы объектно-ориентированного программирования.
Ближайший открытый вебинар для ознакомления по Rust Какие проблемы решает Rust? от OTUS стартует 25 апреля в 20:00. Все информация о курсе доступна по ссылке ниже.
Необходимые знания перед началом курса:
базовое знание любого другого языка программирования,
знание БД.
Что даст вам этот курс?
Углублённый курс по языку программирования Rust, в котором мы разберем:
ключевые особенности Rust, понимание которых позволяет не только разрабатывать сложные программные продукты на этом языке, но и помогает лучше проектировать ПО в целом,
наиболее популярные библиотеки и проекты, широко используемые на практике,
многопоточность и архитектуру программного обеспечения.
Курс будет интересен курс?
Разработчикам на системных языках (С, C++, ...), которые хотят:
изучить Rust, его сильные и слабые стороны,
научиться избегать ошибки по работе с памятью и многопоточностью,
изучить проектирование высокопроизводительного ПО.
Разработчикам на интепретируемых или высокоуровневых языках (Python, JS, Java, C#, ...), которые хотят:
изучить язык, позволяющий делать критические по производительности секции вашего ПО максимально быстрыми,
особенности работы с низкоуровневым ПО,
подходы к разработке безопасного и отказоустойчивого ПО.
Чему вы научитесь на курсе?
использовать язык Rust для разработки ПО,
разворачивать Rust и среду разработки,
создавать надёжное, отказоустойчивое и высокопроизводительное ПО,
тестировать код,
использовать сторонние библиотеки,
писать асинхронный код.
Преподаватель курса
Кирилл Федченко. Старший разработчик ПО, НИИ Квант. Заинтересовался программированием ещё в школе. Работает программистом более 5 лет. Увлекается компьютерной графикой и разработкой игр. Основной стэк: Rust, C++, Python. Есть опыт работы с С#, JS, PHP, MatLab.
Проектировал и разрабатывал:
программное обеспечение для цифровой обработки сигналов,
файловую систему для последовательного хранения больших объёмов данных,
фреймворк для параллельной обработки данных на графическом процессоре,
Backend части распределённых систем сбора и обработки данных,
Программа курса
Модуль 1. Введение в Rust
Основные концепции и особенности Rust
Вспомогательные утилиты. Выбор среды разработки
Базовый синтаксис
Владение и заимствование
Обобщённое программирование
Макросы
Дополнительные вопросы синтаксиса
Модуль 2. Модули, крейты и тесты
Разбиение проекта на файлы и логические блоки. Тесты и примеры
Пакеты и крейты. Использование сторонних крейтов. Версии и features
Модуль 3. Стандартная библиотека
Основные перечисления и типажи
Умные указатели и коллекции
Ввод и вывод
Пишем клиент-серверное приложение
Модуль 4. Многопоточность
Проблемы многопоточного кода. Запуск параллельного потока
Контроль корректности многопоточного приложения на стадии компиляции
Пишем свой ThreadPool
Типы многозадачности. Асинхронность
Асинхронность под капотом
Делаем клиент-серверное приложение асинхронным
Межпроцессное взаимодействие и синхронизация
Модуль 5. Архитектура
Rust и ООП
Rust и ФП
Обработка ошибок
Инварианты
Паттерны
Модуль 6. Фреймворки и библиотеки
Популярные утилитарные библиотеки
Логирование, отладка и профилирование
Rust и Backend
Rust и GUI
Rust и GameDev
Rust и Frontend
Взаимодействие с другими языками
Модуль 7. Проектная работа
Выбор темы и организация проектной работы
Консультация по проектам и домашним заданиям
Защита проектных работ
Подведение итогов курса
Более подробная программа доступна по ссылке: cdn.otus.ru/media/public/44/b5/44b5dc_program_rust_developer.pdf
Выпускной проект
Задачи выпускного проекта:
Сформулировать идею приложения или библиотеки,
Разработать архитектуру проекта,
Написать proof-of-concept код, демонстрирующий жизнеспособность текущего дизайна,
Полноценно реализовать задуманный функционал, с документацией интерфейсов и тестами бизнес-логики,
Разработать документацию и примеры использования кода,
Опубликовать результаты работы на GitHub и на Crates.io.
Темы на выбор (+возможность предложить свою тему):
Web backend
Real-time data processing
Image processing
Data storage and caches
Продающий сайт
otus.ru/lessons/rust-developer/
Цена курса
Цена составляет 57000 руб ($760).
