План на курса

Разширено управление

  • Разбиране на жизнените цикли и използването на ресурси (borrowing)
  • Изучаване на умни указатели: Box, Rc и Arc
  • Работа с референтни цикли с помощта на Weak и Unsync
  • Разширените модели и техники за управление на ресурси

Асинхронно програмиране с async/await

  • Въведение в асинхронното програмиране в Rust
  • Работа с синтаксиса async/await
  • Композиция на бъдещия (futures) и работа с асинхронни библиотеки
  • Изучаване на асинхронния екосистем и библиотеки

Трийтовете и генеричните типове (Generics)

  • Разширено използване на трийтовете и свързаните типове
  • Имплементиране на генерични функции, структури и енумерации
  • Ограничения (bounds) и обекти от тип трийт (trait objects)
  • Изучаване на съответствието между трийтовете (trait coherence) и правила за изолирани типове (orphan rules)

Разширеното управление на грешки

  • Създаване на персонализирани типове грешки
  • Разширени техники за управление на грешки: try!, оператор ?, персонализирани цепи от грешки (error chains)
  • Стратегии и модели за управление на грешки

Макроси

  • Процедурни макроси: атрибутни и функционални макроси
  • Декларативни макроси: macro_rules! и синтаксис подобен на match
  • Разширеното използване на макроси и метапрограмирането

Оптимизация на производителността

  • Профилиране и бенчмаркиране на кода на Rust
  • Идентифициране на бутилкови гърди за производителността (performance bottlenecks)
  • Техники за оптимизация: структури от данни, алгоритми и компилаторни флагове
  • Написване на код с висока производителност на Rust

Разширен паралелизъм (Concurrency)

  • Разширени примитиви за синхронизиране: Mutex, RwLock и Condvar
  • Имплементация на безблокиращи (lock-free) и безочакващи (wait-free) структури от данни
  • Канали и преместване на съобщения (message passing)
  • Изучаване на разширените модели за паралелизъм

Разширени техники за улесняване на грешки (troubleshooting)

  • Разширени техники за дебагиране и разрешаване на сложни проблеми в програмите на Rust
  • Профилиране и оптимизация на производителността в реални сценарии
  • Стратегии за управление на граничните случаи (edge cases) и необичайното поведение

Резюме и следващи стъпки

Изисквания

  • Умения и умения в основите на Rust или еквивалентен опит
  • Опит с програмиране на системно ниво
  • Промеждно ниво програмиране

Целева група

  • Разработчици
 21 часа

Брой участници


Цена за участник

Отзиви от потребители (1)

Предстоящи Курсове

Свързани Kатегории