Улучшаемые навыки

Rust
Управление памятью (Ownership/Lifetimes)
Асинхронное программирование
Финтех-разработка
Highload
Многопоточность
Профилирование производительности (flamegraph)
Zero-copy десериализация
Микросервисная архитектура
Безопасность кода

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

01 Использовать язык Rust для безопасной и быстрой разработки ПО.
02 Управлять памятью без сборщика мусора, используя систему владения (ownership), заимствования (borrowing) и умные указатели (Box, Rc, Arc).
03 Проектировать надежную архитектуру с использованием алгебраических типов (Option, Result) и паттернов Rust (RAII, state machine).
04 Разрабатывать асинхронные потоковые сервисы на Tokio, управляя задачами, каналами (mpsc) и воркерами.
05 Парсить данные из CSV/JSON синхронно внутри асинхронного контекста с помощью библиотеки nom.
06 Внедрять gRPC- и REST-интерфейсы для отдачи агрегированных метрик.
07 Оптимизировать горячие пути и снижать количество аллокаций с помощью профилировщиков; использовать unsafe только при доказанной необходимости и после исчерпания safe-альтернатив.

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

01 Часть 1. Основы, владение, умные указатели и паттерны
1. Введение и отличия от C/C++ и других языков программирования
  • Особенности языка Rust и область применения. Безопасность памяти без сборщика мусора.
  • Сравнительный анализ: владение, borrow checker, move по умолчанию, pattern matching, трейты, алгебраические типы.
  • Установка toolchain.

  • 2. Базовый синтаксис и система типов
  • Быстрый повтор для опытных по темам:
  • скалярные и составные типы, неизменяемость,
  • функции, управление потоком,
  • String и &str, срезы.

  • 3. Владение, заимствование и времена жизни
  • Правила владения (ownership): перемещение (move), копирование (copy), типаж Clone.
  • Ссылки и заимствование — основные правила (одна &mut или много &)
  • Аннотации времён жизни (lifetimes).
  • Сквозной пример: безопасная передача транзакции с использованием ownership и lifetimes.

  • 4. Структуры, перечисления и обработка ошибок
  • Использование struct, enum, match, Option, Result, оператора и крейта thiserror для реализации принципов надёжного банковского ПО.

  • 5. Коллекции, итераторы и функциональный стиль
  • Vec, HashMap. Итераторы и адаптеры.
  • Ленивые вычисления, создание собственных итераторов.
  • Пакетная обработка записей из банковской выписки.
  • Старт сквозного проекта на основе обработки выписки.

  • 6. Smart Pointers и interior mutability
  • Box, Rc, Arc, RefCell, Cell, OnceCell, Weak.
  • Примеры: разделяемый кэш (Rc/Arc), разрыв циклических связей (Weak), отложенная инициализация (OnceCell).

  • 7. Обобщения, типажи и паттерны Rust
  • Generics, trait, impl Trait, trait objects. Стандартные типажи.
  • Паттерны проектирования в Rust: RAII, билдер, newtype, стратегия, state machine через enum.
  • Особенности системы трейтов (orphan rule, coherence, связанные типы).

  • 8. Unsafe Rust: зачем и как применять
  • Сырые указатели, unsafe-блоки и функции.
  • Когда оправдан unsafe: оптимизация горячих путей, взаимодействие с памятью (FFI, низкоуровневые структуры).
  • Создание безопасных обёрток.

  • 9. Сквозной проект: старт и первое код ревью + консультация
  • Разработка синхронной логики приложения (структуры, парсинг CSV/JSON, итераторы, обработка ошибок).
  • Код-ревью с разбором типичных ошибок владения и паттернов.
  • 02 Часть 2. Асинхронность, парсинг, профилирование и финальный проект
    10. Асинхронное программирование с Tokio
  • Future, async/await. Рантайм Tokio, спавн задач, JoinSet.
  • Таймауты, select!. Отмена и CancellationToken.
  • Планировщик и worker threads.

  • 11. Асинхронные потоки и каналы
  • Трейты Stream и Sink.
  • Каналы: mpsc (многопродюсерный), broadcast (вещательный), watch (одно значение).
  • Потоковая обработка данных из файлов/сети. Интеграция с синхронным кодом (spawn_blocking).

  • 12. Особенности построения асинхронных процессов
  • Паттерны: акторная модель на каналах, пул воркеров, конвейерная обработка.
  • Управление временем жизни задач, Send-границы.
  • Обработка ошибок и graceful shutdown.

  • 13. Асинхронный парсинг и работа с памятью
  • Использование синхронного парсера nom внутри асинхронного контекста (с буферизацией).
  • Потоковый разбор протоколов: конечные автоматы, буферизация, работа с частичными данными.
  • Zero-copy десериализация (через слайсы и Bytes) и управление буферами.
  • Профилирование аллокаций (dhat, heaptrack, massif).

  • 14. Сквозной проект: асинхронная реализация
  • Переход от синхронного ядра к асинхронному сервису.
  • Добавление gRPC/REST-интерфейса.
  • Интеграция с асинхронными каналами.
  • Обработка потока транзакций.

  • 15. Обратная связь и разбор решений
  • Ревью кода проекта, обсуждение архитектурных альтернатив, ответы на вопросы, коллективный разбор лучших практик.

  • 16. Производительность, профилирование и бенчмаркинг
  • Инструменты: criterion, flamegraph, perf.
  • Поиск узких мест в асинхронном коде, снижение аллокаций.
  • Бенчмарки парсинга и обработки.
  • 03 Итого на курс часов 40 ак. ч.: теория — 15 ак. ч. (37,5%), практика — 25 ак. ч. (62,5%)

    99 900 ₽

    89 910 ₽ — для физ. лиц

    Записаться на курс

    Для кого

    Разработчик Разработчик
    Руководитель группы\Тимлид Руководитель группы\Тимлид

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

  • Опыт коммерческой разработки на C/C++ или других языках (понимание ручного управления памятью или работы сборщика мусора) от 1,5 лет.
  • До старта курса желательно ознакомиться с бесплатными ресурсами: The Rust Programming Language, Rust by Example, Rustlings, The Rustonomicon, Rust Design Patterns.
  • 99 900 ₽

    89 910 ₽ — для физ. лиц

    Записаться на курс

    Записаться на курс

    99 900 ₽

    89 910 ₽ — для физ. лиц

    Юр. лицо — 99 900 ₽
    Физ. лицо — 89 910 ₽
    Открытая дата

    Наши ученики работают в:

    Наши клиенты

    Mail.ru
    Альфа-Банк, банковская группа
    Лаборатория Касперского
    Магнит, розничная сеть
    Спортмастер, сеть спортивных магазинов
    ПСБ
    Сбертех
    Дзен
    IT One
    Ростелеком
    Мегафон
    Nexign
    Ozon
    Декатлон
    X5 Group
    Технониколь
    Росатом
    Газпром
    Нлмк
    ВСК
    Синимекс

    Нужна помощь? Оставьте заявку, и мы свяжемся с вами в ближайшее время

    Согласен получать на e-mail информационные рассылки о новостях Учебного центра IBS
    Корпоративное обучение Оценка персонала Сертификация О нас Стать тренером Блог Личный кабинет
    Пользователь только что записался на курс ""
    Спасибо!
    Форма отправлена успешно.