TGViewer
Senior Python Developer Senior Python Developer @seniorpy · 39.8K subscribers
Post #3849 3.13K
Владение, заимствование и ссылки в Rust: как компилятор делает ваш код безопасным

В Rust одна из самых непривычных для разработчиков тем — это ownership (владение) и borrowing (заимствование). Многие пытаются писать на Rust как на C++ или Python, натыкаются на компилятор, и правила borrow checker'а поначалу кажутся слишком строгими. На деле компилятор просто защищает вас от ошибок, которые в других языках приводят к падениям, утечкам памяти и гонкам данных. Но чтобы подружиться с borrow checker’ом, нужно понять логику, а не заучивать правила.

На открытом вебинаре 9 сентября в 20:00 разберём фундаментальные концепции Rust, которые делают код безопасным без сборщика мусора. Поговорим о том, почему на одни и те же данные можно взять сколько угодно иммутабельных ссылок (&), но мутабельная (&mut) может быть только одна — и не одновременно с иммутабельными. Разберём, чем перемещение (move) отличается от копирования (Copy/Clone). Обсудим, что такое время жизни (lifetimes): когда его нужно указывать явно, а когда компилятор выводит его сам по правилам элизии (lifetime elision). На практических примерах посмотрим, как разбирать типичные ошибки borrow checker'а, писать функции, безопасно работающие со ссылками и слайсами, и почему правила владения и заимствования предотвращают гонки данных, обращение к освобождённой памяти и двойное освобождение.

Вебинар не для тех, кто хочет просто «посмотреть синтаксис» без погружения в модель памяти. Подойдёт тем, кто уже знаком с основами языка — переменными, функциями, типами — и хочет наконец разобраться в модели памяти Rust, а также программистам с опытом в C++, Java или Python, которые хотят понять самую важную и необычную концепцию языка.

👉 Записатьсяhttps://otus.pw/ebD1/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
More from @seniorpy
  1. Sep 22, 2026#вопросы_с_собеседований Как работает хэш-таблица? Принцип работы: — Элементы хэш-таблицы…
  2. Sep 21, 2026LangChain LangChain — это библиотека, которая позволяет создавать цепочки обработки естест…
  3. Sep 20, 2026#вопросы_с_собеседований В каких случаях можно обработать SyntaxError? SyntaxError — это и…
  4. Sep 19, 2026tell() Метод tell() используется для получения текущей позиции (смещения) при работе с фай…
  5. Sep 18, 2026raise Конструкция raise используется для генерации исключений. Когда в коде происходит что…
  6. Sep 17, 2026Оператор pass Оператор pass — это особая конструкция, которая не делает ничего. Она может…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →