Язык Rust, урок #3 | Ownership, borrowing, scope, память, ссылки и указатели, heap и stack

  Рет қаралды 2,652

Ilya Krukowski

Ilya Krukowski

Күн бұрын

В этом уроке по Rust мы поговорим о том, как происходит управление памятью. Обсудим понятия ownership и borrowing, в каких случаях происходит копирование и перемещение значений и почему это важно. Также узнаем разницу между stack и heap и где что хранится.
Таймкоды:
00:00 Введение
01:30 Хранение данных в стеке (stack)
03:00 Область видимости (scope)
04:30 Владение (ownership)
05:40 Хранение данных в куче (heap)
09:20 Копирование при присваивании
10:15 Передача указателя
11:30 Перемещение при присваивании
14:40 Клонирование
16:40 Копирование, перемещение и функции
18:30 Возврат владения
20:10 Заимствование (borrowing)
23:30 Слайсы (slices)
24:45 Литералы и слайсы
26:40 Практикуемся
28:30 Заключение
Станьте спонсором канала, и вы получите доступ к эксклюзивным бонусам: / @ilyabodrovkrukowski
Boosty: boosty.to/bodrovis
Patreon: / bodrovis
DonationAlerts: www.donationalerts.com/r/bodr...
Аккаунт Ethereum (ETH), Arbitrum, Polygon, BNB, USDT, TRX, BUSD: 0x719C2d2bcC155c85190f20E1Cc3710F90FAFDa16
Исходный код github.com/bodrovis-learning/...
Канал Telegram: t.me/dev_in_ruby_colors
Наш чат в Telegram: t.me/joinchat/MxYT6-01eeA1NTYy
Мой сайт: bodrovis.tech

Пікірлер: 31
@hopelesssuprem1867
@hopelesssuprem1867 4 күн бұрын
Я занимаюсь ml и начал смотреть в сторону rust для расширений возможностей питона в плане скорости. Посмотрев различные туториалы, я уже был готов морально идти читать доку и напрягать мозги, чтобы разобраться в особенностях этого языка. Случайно увидел ваши туториалы и могу сказать, что они потрясающие. Если бы я пытался всё это узнать самостоятельно, то потралил бы огромное количество времени. Огромое вам спасибо за такой качественный контент.
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 4 күн бұрын
Благодарю за добрые слова Rust очень быстрый, но, увы, непростой. Go - тоже любопытный вариант
@hopelesssuprem1867
@hopelesssuprem1867 4 күн бұрын
@@IlyaBodrovKrukowski после нейронок мне уже ничего не кажется сложным :) Да, Go - тоже классный варинт, но насколько мне известно, у него нет серьезных фреймворков для нейронок. Дело в том, что высоконагруженных задач на питоне занимаются больше прототипированием, а в для прода и расширений используют C++, например, как в задачах Computer Vision или работы со звуком. Rust же, в свою очередь, хорошо дружит с питоном + для него имеется достатчное количество ml и dl библиотек. Именно поэтому я смотрю в его сторону :) Честно говоря, я удивлен продуманности этого языка в сравнении с питоном и теперь становится понятно почему многие программисты хейтят питон.
@thefetteser3511
@thefetteser3511 2 ай бұрын
Благодаря ролику наконец понял, как работают указатели. Лучшее объяснение 🥸
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 2 ай бұрын
Это важная штука, правда дальше там будет жёстче, так как появятся "умные" указатели
@norskiy9765
@norskiy9765 Ай бұрын
​@@IlyaBodrovKrukowski разве в расте умные указатели не как умные указатели в плюсах? В плюсах умные указатели как сборщики мусора работают, и можно не работать с выделением памяти напрямую, умные указатели все сами выделят и освободят. Неужели в расте не так?
@user-yo7mw6oj4p
@user-yo7mw6oj4p 6 ай бұрын
Только вспоминал что долго нет нового урока. Так через 20 минут появилась в рекомендованном.
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 6 ай бұрын
@limonred5283
@limonred5283 6 ай бұрын
спасибо. довольно необычно после динамических языков.
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 6 ай бұрын
Это правда
@yaroslavsergeev6737
@yaroslavsergeev6737 4 ай бұрын
Спасибо за разъяснение move и copy. Как раскрыта тема в rust book мне не понравилось. Посмотрев видос, сильно лучше понял эту тему с перемещением и копированием)
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 4 ай бұрын
@UU-zc5ek
@UU-zc5ek 6 ай бұрын
Спасибо, Илья!
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 6 ай бұрын
@user-om3je4vn8x
@user-om3je4vn8x 4 ай бұрын
Thank you!
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 4 ай бұрын
@muradgadjiev3556
@muradgadjiev3556 6 ай бұрын
Спасибо!
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 6 ай бұрын
На здоровье!
@user-xo7er4sv7x
@user-xo7er4sv7x 6 ай бұрын
кайф
@yorishinamoku
@yorishinamoku 6 ай бұрын
ВОТ И 3ТЬЯ ЧАТЬ, УРАААААААААААА 🥳🥳🥳🥳🥳🥳🥳
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 6 ай бұрын
@adamsm1th27
@adamsm1th27 6 ай бұрын
Илья, попробуй ide для rust от jet brains. Для некоторых довольно популярных крейтов анализатор vscode'а вообще не фурычит.
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 6 ай бұрын
Я раньше использовал поделки jet brains долгое время, но потом как-то ударился в минимализм, тк уж очень здоровые у них ide с кучей каких-то наворотов. Но может и правда стоит попробовать
@adamsm1th27
@adamsm1th27 6 ай бұрын
@@IlyaBodrovKrukowski да, мне тоже не нравится jet brains из за этой же причины, но когда страдает функционал приходится жертвовать: В частности одна из самых популярных orm - diesel очень плохо реализована с точки зрения анализатора. Перешел на RustRover - проблема исчезла.
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 6 ай бұрын
@@adamsm1th27 хм, ок, спасибо за информацию
@Vojan-Najov
@Vojan-Najov 6 ай бұрын
Интересно, что функция с пустым телом и параметром по значению выбрасывает имя аргумента из скоупа своего вызова. Примерно так, наверное, и сделана функция drop?
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 6 ай бұрын
Вероятно
@qbskalfans
@qbskalfans Ай бұрын
Хорошие уроки но точно не для новичка в расте на примере меня, почти нечего не понятно. Очень ускорено но материал полезный
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski Ай бұрын
Скорее, не для начинающих в программировании, это правда
@qbskalfans
@qbskalfans Ай бұрын
@@IlyaBodrovKrukowski Будете еще записывать ветку видео для новчиков ?
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski Ай бұрын
@@qbskalfans Есть плейлист Ruby с нуля, вот там конкретно с самых азов. Для Rust - пока маловероятно
C# Стек и Куча | Stack and Heap | Часть 1
11:02
Как быстро замутить ЭлектроСамокат
00:59
ЖЕЛЕЗНЫЙ КОРОЛЬ
Рет қаралды 13 МЛН
ИРИНА КАЙРАТОВНА - АЙДАХАР (БЕКА) [MV]
02:51
ГОСТ ENTERTAINMENT
Рет қаралды 1,2 МЛН
Купили айфон для собачки #shorts #iribaby
00:31
Watermelon Cat?! 🙀 #cat #cute #kitten
00:56
Stocat
Рет қаралды 26 МЛН
Как сделать красивую программу под ПК? | Tauri за 10 минут!
14:31
Хауди Хо™ - Просто о мире IT!
Рет қаралды 83 М.
Как быстро замутить ЭлектроСамокат
00:59
ЖЕЛЕЗНЫЙ КОРОЛЬ
Рет қаралды 13 МЛН