{"id":"jZBv4YrLIy8","title":"5. Ownership & borrowing в Rust (Курс Rust на NEAR)","description":"Все видео курса    • Курс Rust на NEAR (RU)  \nСовместный курс NEAR & 4ire Labs\n\nПодписывайтесь, чтобы получать обновления о новостях NEAR, акциях, запуске проектов, баунти, хакатонов \nРусскоязычное сообщество NEAR https://t.me/near_protocol\nТвиттер   / near_protocol  \nОбщение с разработчиками https://t.me/openwebdev\n\nFollow the latest from NEAR Protocol on:\nWebsite: https://near.org/\nDiscord: https://near.chat/\nBlog: https://near.org/blog/\nTwitter:   / nearprotocol  \nGitHub: https://github.com/near  https://github.com/nearprotocol\n#Blockchain #FutureIsNEAR #NEAR #nearprotocol #rust #wasm #assemblyscript #раст","channel_name":"NEAR Protocol","published_at":"2021-08-09T00:00:00.000Z","thumbnail_url":"https://img.youtube.com/vi/jZBv4YrLIy8/hqdefault.jpg","transcript_text":"сегодня у нас тема будет это ровно щит и bruin это в принципе я бы сказал самые уникальные особенности за красных связанные с этими темами и эти конкретно темы вам нужно будет усвоить и я бы сказал это одни из самых важных тем понимание этих тем в принципе будете гораздо лучше понимать раз почему и как там происходит что и скажем основное преимущество раз сегодня эта тема у нас будет такая более обзорная то есть мы рассмотрим с вами основные концепты эти связанные с ними характеристики и преимущества что дают собственно эти возможности языка раз но больше всего вам конечно нужно будет самим попробовать поиграться с этими механизмами попробовать их сломать то есть это всегда возникает вопрос а что если я сделал вот так она наверное будет работать и она сломается и это очень хорошо будет потренироваться с таким потому что в ином случае поначалу эти концепты могут показаться вам очень непривычными но со временем вы так сказать уже готти стоит и уже привыкнете и сможете их использовать более бесполезен более безболезненно поговорим до начала про сам организации памяти даже в принципе memory management как возможно многие из вас уже должны знать что каждая программа окном случае должна управлять своими ресурсами памяти который выделяется как-то ее создавать аллоцировать эту память и когда когда-то лишь сожрать эту память правильно потому что иначе если у вас память накапливается накапливается но не освобождается конце концов у вас просто закончится ресурса устройство данных которым исполняется это приложение то компьютер мобильное приложение и так далее закончится оперативная память слов и так далее поэтому ресурсы конечно же должны освобождаться какие современном мире существуют возможности до управления памятью если поговорим с вами о таких языках у которой у которых есть свой runtime виртуальная машина например такие языки как java или шар то эти языки используют garbage collector это сборщик мусора что такое сборщик мусора для тех кто не знакомится с этим концептом грубо говоря наряду с вашей программой виртуальной машине из к которой вы используете одновременно с этим в нем запущены скажем так стороннее приложение которое контролирует память вашего приложения это конечно очень грубо и определение в данном случае пральна машина управляет вашей памяти в которой есть компонент сборщика мусора и какая задача сборщика мусора сборщик мусора что делает он грубо говоря о таких исков тоже java и сша вы тогда создаете объекты ты в принципе не задумываетесь где вы их создаете и как ну зачастую зачастую вы создаете и в дальнейшем нибудь не думаете о том как будет происходить управление памятью связано с этими объектами потому что в этих языках у вас грубо говоря есть определенная гарантия что как только вы перестает использовать эти объекты то ваша память освободиться и соответственно у вас всегда будет доступна в этом есть конечно зеленое исключение но в целом как работа сборщик мусора он старается отслеживать ссылки на все ваши объекты и определяют как только сборщик мусора определяет что ваш объект более не используется он его уничтожает то есть как бы собирает скажем так мусорный объект к этому дай называется сборщик мусора собирает объекты которые более они используются и таким образом памяти ощущается их и таким образом знаете что вам не нужно переживать о памяти совсем в редких случаях у вас есть возможность конечно вызывать принудительно сборку мусора . вы можете сборщику мусора сказать сами сейчас и очисти память потому что обычно сборщик мусора работает с определенным интервалом то есть допустим условно говоря докажет это 30 секунд или каждую минуту он проверяет детстве какие-то инвалид объекты которые уже можно удалить какой есть ещё метод это ну какой честь методы организации памяти это выделение и освобождения памяти то есть allocation и дело песен вручную так собственно вы делаете когда вы работаете с такими языками например как систему стоит в данном случае конкретно вы как программист во время разработки должны сами отслеживать насколько используются ваша память сами должны определять когда ваш обед должен быть уничтожен также когда он должен быть создан и само собой у каждого из таких походов у них есть свои плюсы и минусы то есть когда вы работаете с такими языка java jar с garbage collector и вы соответственно не переживайте совсем за память когда вы работаете вручную с памятью конечно вся ответственность лежит на ваших плечах и вы самостоятельно должны правильно выделять правильно освобождает память и когда люди там на плечи что это ответственность падает зачастую большинство ошибок в программном обеспечении происходит как раз связаны с этим с этим концептом с концептом управления памяти вот например даже компания microsoft они когда говорили о почему они начали использовать 1 вот там несколько лет назад продуктах microsoft потому что в принципе за последние 20 лет процентов 80 если не ошибаюсь около 80 процентов ошибок и багов которые они находили волосах на именно с управлением памяти возможно кто-то из вас знает если языках таки вы видели какую-то память потом у вас как то в каком то месте вы допустим я случайно особо деле или эта память была уничтожена его потом получают пытаетесь получить доступ к тому же участку памяти конечно что вы получите секунд то есть это будет ошибка и в принципе зависимость этого если у вас какой-то механизм до отлова ошибок зависимости от этого вас тоже не может ее постели не могут происходить какие-то непредсказуемые вещи которые называются инфериор а когда вы работаете с такими языками как и другими которых посредстве наруч на выделения памяти вы должны всегда задумываться с каким типом памяти работает то есть это такая память или это хит memory то есть память которых память кучер в чем отличие я пробегусь кратко по этим концептом потому что возможно не все и созда работали с такими низкоуровневые языками программирования codesys то есть допустим до тех же людей у которых есть экран языков которые сборщик мусора конца помог бы не понял что такое стыковая память для тех кто не знаком с концертом стента вы можете придут представить этот концепт так вот представьте вас есть этом деревянные паллеты какие-то с грузом и ну грубо говоря 1 полета над que ser кладется еще сверху еще сверху еще сверху и когда вы соответственно вам нужно получить доступ к тому же к чему-то что лежит на самой нижней полить вам сначала заставляет снять все пакеты сверху то есть здесь работает принцип last info то есть тут то что положено последним из цеха выйдет первым это такой попытки упрощенного до объяснения что такая старая память такая память она работает последовательно вы друг на друга кладете кладете кладете сверху элементы в данном случае это изменяется только индекс так и то что лежит самом верху стыка это то что туда последнее было положено что такое hitman память в куча случаев по мячу куча это сложнее потому что допустим если говорить про память стеклу память можно класть все переменные значения которых фиксирована то есть вы всегда можете знать какой объем памяти лежит стыке случае выделения памяти в куче это как раз нужен на динамических объектов допустим вы учитываете у вас есть какое-то консольное приложение и вы пользователь считываете какие-то там допустим ваше приложение это приложение по какому-то преобразованию тесто и пользователь из консоли вводит текст какой-то не прыгну какой-то длинный да и длина этого текста каждый раз может изменяться и в таком случае вы конечно не знаете сколько точно памяти нужно выпилить заранее и в данном случае этого суть динамическая память как работает в таком случае в таком случае у вас локатор он находит вашей оперативной памяти какой-то свободный участок памяти нужной длины которые вы запрашиваете во время исполнения программы кришне во время компиляция во время исполнения программы он находит этот участок памяти и выделяет для вас до вашего объекта и ваш объект он получает ссылку на этот участок памяти до то есть грубо говоря в какой ячейке лежит ваш объект и соответственно нужно обеспечить такой принцип да правильно работаю с памяти в куче чип ноябре которых главный концерт нужно обеспечить это то что вы должны знать что если у вас ошибки у него есть ссылка да где он лежит в какой чехии памяти но это также давно называется библиотека наказать что нужно знать что никакой другой объект не будет находиться по тому же адресу и соответственно что вы скажем счастья чеки этой памяти случайно не передадите во владении в другом объект туда не будет записан другой объект вот это такое очень краткое объяснение этих двух концертов конечно это если скажем вниз тауп этого курса это дантес и на этот счет можно почитать отдельности кого я парни такого память куча она же динамическая память и собственно возникает вопрос что тогда на этот счет какой из этих концептов использовать раз если говорить высокого уровня во более концептуальны него виталия тарас используют какой-то другой интер который здесь покаяние 1 давайте подумаем что же за концерт для того чтобы подумать мы с вами вспомним что как мы упоминали как его лекции в рости нету сборщика мусора то есть нет ту систему до такое управление вашей памяти которая собирает мусор сажает него делительные ссылки и так далее при этом как вы помните еще на первой самой лекции мы с вами задекларировали что в россии при этом есть безопасность памяти и потока и безопасность памяти возникает вопрос а за счет чего раз обеспечивает безопасность памяти и безопасность потоков то есть если мы с вами только что говорили что ручное управление памяти она так или иначе приводит к ошибкам потому что когда у вас огромное приложение очень сложно контролировать за выделениями освобождения памяти даже если вы используете правильные техники да да работы с этой памятью о которых мы не будем говорить на это на этом курсе это все равно очень сложно потому что как правило кодовой базы могут исчисляться в мегабайтах там огромное количество кода и всегда очень много мест где можно что-то пойти не так что раз предлагает до того чтобы решить эту проблему раз предлагает как раз в конце который называется полночь то есть концепт владения памяти это собственно является уникальным свойствам языка 1 какие из правила владения памяти что у каждого значения есть свой владелец то есть свой обзор памяти и всегда в один момент может быть только один владелец вами только 12 не может быть старение может и больше только один владелец валюте владелец как это примерно до какого-то значения и такое есть еще правило что когда владелец памяти выходит за властитель насти соску значение будет писать robs вере и красных значения будет освобождено уничтожен что такой область видимости я думаю уже вы с этим знакомы женя на прошлой лекции рассказывал про этот концепт и каким пользоваться то есть если вы правильно вспомнить вот это да это например протеже фигурные скобки да что вы можете с помощью фигурных скобок ограничить область видимости и собственно область видимости как раз очень важно именно до этого пусть если у вас какая-то переменная выходит за область видимости в расте вы можете знать что это что эта переменная был освобожден от оси и ресурсы были освобождены и больше никто не может получить доступ к этой переменной и более того это будет ошибка компиляции если кто-то постарается получить доступ переменной которая уже было освобождено при этом стоит отметить что в россии сделали очень умна то есть вы конечно же не хотелось бы доресах у вас была конструкция скажем лет x равняется 3 и от y равняется x и потом вы не можете использовать переменную x потому что значение было передано поэтому в россии что сделано примитивные типы данных врасти хранятся на стыке и это значит что они также уничтожаются когда они выходят за область видимости но при этом вырастет на примитивных типов данных то есть это допустим числа это пуля вы можете знать что вы можете точно так же как в других языках программирования присваивать одну переменную другой и так далее и как у вас это говорит о работать хорошо здесь есть фундаментальное объяснение почему это будет работать мы с вами рассмотрим сегодня очень похожи и при этом не примитивные типы данных такие то есть какие-то комплексные типы данных они хранятся куча и в этом случае в расте они эти переменные эти типы данных они освобождаются из кучи то есть джобс когда они выходят из области видимости рассмотрим такой пример вот у нас есть такая строка string один в которой лежит значение и кедами как вы уже могли помнить из предыдущих лекций а в данном случае string это у нас тура до of rome это метод метод этой структуры который скажет метод который результата структура и . что получаете доступ в данном случае это статический метод метода фронт это статический метод и это собственно у нас переменной string' один будет езжай строка со значением ракетами как вы помните что мы разбирали в россии есть несколько типов стрим несколько типов строк то есть есть такие строки кто из вас уже успел поработать с рассом видеть что иногда войну с большой буквы а переманил принимать переменной типа papers on st то есть в данном случае это строковые литералы и этот руководить ral он является как бы константам вы не можете изменять и соответственно другие правила но мы сейчас говорим про строку которая скажем более привычной adwords желтом с языков типа кафе java и так далее это какая-то страха в который решит ракеты и и почему это является комплексный потому что у вас эта строка может быть произвольной длины примеру объявить эту переменную как это был то есть быть лет мьют string ван то вы сможете изменять значение этой строки и соответственно вы во время компиляции программы вы не знаете как сколько именно памяти принимать этот раз не может быть 00 элементов в одной символов не может быть 100 тысяч поэтому соответственно конечно такая переменная это комплексный тип данных которых хранится в куча то есть этот динамический тип данных посмотрим как это все таки работает скажем так изнутри просто вот можно посмотреть вот по сути как это работает вот у нас есть переменная string один если смотреть как внутри у нас не хранятся такие перемены как длина и это всем символ и этой сети это 7 символов между они будут тоже out of school нашей лекции до тех кто уже таких этот концепт понять capacity если фракция это какой объем выделен для этой строки фактически и едино которая используется непосредственно и есть воля к enter которая грубо говоря содержит указатель на ячейку памяти которая была выделена до этой переменной и поэтому из ячейки памяти у нас соответственно первый элемент i-той строки и с индексом 1 2 2 2 символ этой строке это попасть и так далее и и того у нас таких 7 символов соответственно рассмотрим давайте такого пример если мы создаем вторую переменную string 2 и исаева им есть значение a string один как вы думаете что произойдет произойдет как не ожидаете допустим вот так и ситуация вторая переменная stringvar и на самом деле это string 2 она будет указывается на тоже на ту же чей купаете то есть получается в данном случае у нас будет такая ситуация когда у нас переменная strenx'а оказывает на ключи по памяти и переменная то есть одновременно две те же переменные указывает на тут уже чипа памяти как вы понимаете кто из вас пользовался да это опасный подход почему напал на паз и потому что допустим вы оперируете переменной string' один и мы ожидаем вы не меняете выключения вы ожидаете что все происходит потому что вы не видите чтобы менять значение перволь string один но при этом у вас примерно string вас ссылается на тот же участок памяти и соответственно если будет изменена string какой то какой то это символ или добавили новые силовые викторины то соответственно неявно поменяется также значение переменной a singing и это очень хороший способ это как раз то о чем мы говорили это не безопасное управление памятью и соответственно в расте как бы не будет позволено происходить что же изначально вот кота пользователя как бы программист из когда в данном контексте говорю пользователями пользовательское программирование то есть программиста труда напиши что хотел сделать программистской долбишь склонил extreme2 равно стригла он скорее всего ожидал вот получить какой-то такой результат в переменной стенд 2 ссылалась на свой участок памяти и при этом в этом участком памяти содержалось ровно та же информация как и в этом участке памяти но такое происходить не будет просто чтобы происходить врасти вместо этого вместо этого просто когда вы создаете переменную string 2 она действительно оказывается на ту же область памяти что переменная среда день но при этом что делает раз при этом раз он как бы обозначает переменную string один что я уже невозможно использовать на текущий момент потому что этим участком памяти владеет переменная стрельцова и соответственно как это понятиях языка роста как это называется это называется что владение владение вот этим участком памяти было передано от переменной string' один переменной a string 2 то есть вот это вот это вот вот это запомните это передача владения точно владения на ум ножичек избегут владение было передано соответственно если вы в россии продолжить этот пример которой string ту если спросите вы присвоили строке one и потом вы попытаетесь вывести содержимое строки стрингами вы получите вот такую ошибку компилятора и что скажет он скажет что здесь произошел муж потому что streaming один имеет тип string и этот тип не реализует трэйд копи что такое трейд мы на текущий лекса разбирать не будем трейды мы разберем на будущих на будущих уроках если вкратце на текущий момент не вникая особенно в подробности какая логика врасти если у вашего объекта нет скажем доступного свойства копирования в данном случае troyka может сочетать что это свойство на сейчас то есть если объекта нет устройство копировать то этот объект его владение будет передано и соответственно капилляров отчимом ругаясь он вам говорит что вы попытаетесь использовать перемещена значение то есть вы передали значение вот этой строки переменной string' 2 и значит уже стрим бланк будущем не владеет этим объектом но при этом вы пытаетесь вывести строку со значением объекта сталин бланк и раз вам не позволяет это делать и поэтому это происходит во время компиляции программы что опять же возвращаемся к тому же принципу кай про который я говорил вот наши самой первой лекции прости если маска программа ваши корректируется то практически всегда она будет работать так как вы этого ожидается ну то есть вот логика да конечно может отличаться но в плане потому чтобы реализовать не так так как себе представить голове но суть в том что с технической точки зрения ваша программа будет работать не произойдет такого момента как я говорил что у вас обе переменная указывает тоже глаз памяти и при изменении скажем street 2 вы случайно пока можете обнаружить что у вас также меняется просто такого не будет как вы видите это ошибка корреляция давай теперь перейдем собственно семантики перемещения перемещения владения до объекта в расте используются и более того заставляет воспользовался должен знакомы с таким концертам то есть этот концепт он что гласит что получение ресурсов это является инициализации этого ресурса . благодарю вас нету неинициализированных объектов и более того если ваш объект больше не используется уничтожаются то есть как раз в 1 tiny за ваши объекты опять же возвращаемся к этому концерту еще раз проговорим его это важно если ваши объекты выходят из области видимости то есть выходят заз-клуб я собственно советую вам использовать такие понятия как скуп даже если вы на русском языке до общаетесь мистер и если ваш объект и выходят за 100 то объект и уничтожаются почему я вот если внимание уже не первый раз слышу сколько что они джобс только что мы с вами когда смотрели этот пример ошибку компиляции здесь вам координатор пишет что ваша переменная не рисует копи trade так как я сказал что папе это свойства объекта то свойство объекта которая отличает для печать за его уничтожение называется прости что происходит перемена когда она выходит за область видимости она джобс то есть она уничтожается и это запомнить позже и соответственно когда выходите за область видимости мотор чтоб я уничтожается ресурсы которыми владел этот объект они также очищаются что имеется ввиду но в данном случае когда у нас была строка 1 32 которая получила владение поступаете а как вы можете заметить в присутствии на этом рисунке и занятия так как это описано в упрощенном виде структура сама string нём есть они есть указатель на если попадете в которой лежат она и медленно и в ней есть и более мало того что with string 2 будет уничтожен когда он выйдет из области видимости до так скажем закончится ваша фигурной скобки которая вы поставили в каком-то месте вашей программы допустим как эта функция или просто ограниченная область видимости внутри какой-то по улице как бы рассмотреть на прошлых лекциях . льда slim 2 выходят за область видимости мало того что эта перемена уничтожается но ее ресурс освобождаются то есть данном случае ресурса по что я ресурс это область видим это область памяти которая хранится в строках кедами то есть в данном случае это память будет также освобождена то есть объекты уничтожаются когда они выходят за область видимости их ресурсная очищаются освобождаются при этом что важно понимание семантики братство присвоения переменных то есть а вот вот это было у нас предстояние переменных также передача аргументов в функцию по значению а также возвращение результатах испугался допустим эти все три вида из как бы использования они передают владения и после передачи владения ресурсами предыдущего с уже и поле что не может получить доступ не может получить доступ к той же памяти о чем мы с вами говорили как раз здесь когда мы с помощью присвоения а вот это оператор присвоения мы присвоили string востребован в этот миг после этого стрелу long уже не может получить доступ я показывал как я показывал здесь так как мы уже передали владения по мячу переменной steam 2 то попытка обратиться к переменной string' один это будет ошибка у string один уже нет доступа она потеряла овладения рассмотрим конкретные примеры чтобы было понятнее то есть как я сказал что присвоение оператор присвоения он передает владение то есть от одного объекта права владения приходят другого объекта вот собственно пример да как это также передача аргументов функции по значению точно также передает владение давайте рассмотрим простой пример вот у нас есть функция main в котором мы создаем переменную string один точно такая перемена как в предыдущих примерах которая лежит строка ракетами при этом у нас есть функция принципе которая что делать она просто выводит на экран значение вот передано передано переменной s мы с вами делаем мы здесь выводим строку первая попытка передаст им потом вызываем функцию print стрим который выводит на экран строку recipe string и соответственно самарка и потом вызываем опять вызова этой функции онлайн print and scan но там вторая попытка опять переменных среды в данном случае врасти это не сработает это будет опять ошибка это ошибка компиляции почему собственно так бы потому что в данном случае вы передали значит владение своей переменной в функцию при и если если вы посмотрите внимательно на сакуру функции функция вами на экран сейчас по мокрому купил эту вкладку смотрите в данном случае вы создали переменную string один присвоили строку вы вывели значение этой строки потом вызвали функцию print 3 как вы можете заметить функция принимает аргумент с типа string и что происходит в россии врачи в данном случае вы передаете владения во владение своей строкой год переменной string' один вы передаете владение функции принципе и соответственно так как вы передали владение право владения этими данными функции принести вам раз не даст сделать вот такую вот конструкцию он не даст вам второй раз вывести содержимое этой строки собственно у вас будет ошибка компиляции которая будет выглядеть вот так компилировать это ход брахман скажешь что вы пытаетесь опять же получить перемещенная перемещенный перемен то есть перемещенная перемена дальнейшем использовать понятия must semantics скажем более есть с чем перемещена переменная то что перемещена перемена скажем зачитывать немного странновато в данном случае полагает она владение функции при mix 3 и вы пытаетесь используете must вы пытаетесь использовать значение этой переменной которая уже не владеет теми данными которыми владел а изначально раз он собственно и говорит об этом да я видел вас в чате были обсуждения по поводу того что насколько там не информативные ошибки в россии на самом деле они достаточно информативно и конкретно в чате я вот видел перед акция пример был там да по поводу тестирования ну конкретно там вам брат даже говорил что использовать просто так вот здесь опять же раз вам очень все четко говорит что происходит не так он нам подсвечивает что track 1 опять же является типом string который не реализовывает свойства копирование и соответственно когда вы вызываете принц stream то ваше владение от права владения данными от переменной string' один переходит функцию принц 3 и вам калькулятора как же подсказывает что выяснились пытаетесь использовать значение после вов и рак fontal и позволяет это делать на это как апелляция законы природы если кому то интересно по поводу свойства копи если бы у вас скажем вот это наша строка string у неё было бы свойства хобби то это был бы валидный код и он бы скомпилировал говоря если вы у нас в россии строк происходило вот такой вот вид из переменной string' 2 копировала содержимое этой ячейки памяти в новую ячейку памяти и вот эти чипы памяти тогда тот тот ход на примере он был по работе и повергался там случая ранг знал бы что даже если вы пытаетесь использовать повторно эту переменную то никто другой не владел этой переменной то есть эта функция грубо говоря она получила копию этой переменной но не саму переменную и соответственно это безопасно если ты тоже функции будете изменять значение этой переменной до оригинальной переменная это не проблема потому что она точно знаешь что ее значение не изменялась также какой еще свойство есть семантики возвращение результата снова опять же передает владение давайте рассмотрим пример как это возвращать результаты как эта передача примера то есть не стоит на секунду посмотрим предыдущий пример здесь наша функция green street перевале принимает перемену с типа string что же такое возвращение результата вот мы указываем что наша функция принц и она возвращается как результат тоже переменную типа string и что происходит мы вызываем funds to try and string она также получает строку типа string и в конце мы как вы видите просто с то есть в данном случае наша функция возвращает опять же эту строку которую мы приняли назад как вы помните сейчас первой коллекции вот это синтаксис краткий синтаксис для возвращения результат функция написать . заготовили это было бы тоже самое что с без точки что теперь изменилось в нашем примере помимо того что мы возвращаем string и вращаем строку с конечно мы с данном случае должны string один изменяем и потому что мы собираемся использовать оператор предстояния да это переменных но что мы делаем мы пишем что string один равняется a twin string в которой мы передали и если мы попытаемся скомпилировать эту программу она у нас уже будет работать что происходит в данном случае как вот если рассмотреть по шагов сначала мы создаем переменную string один которая хранится строка обеды потом мы выводим i на экран консоль содержимое этой строки потом мы вызываем функцию принцем которая передается владение значением владения вот на текущий момент когда новый завет эту функцию у нас уже ст encoding она не владеет этой переменной но что потом мы делаем самой функции в самой функции в конце возвращаем опять же переменную типа string то есть мы возвращаем назад овладение этим объектам и соответственно здесь мы присваиваем 31 мы присваиваем значение которое видно функция винкс 3 и вот в этот момент когда мы возвращаем это значение функция print screen она уже больше не владеет она уже не владеет этой переменной и из владения то переменных в этой в этой части вот в этой строке она возвращено назад переменной string' один из агдама попытаемся вместе с ним на экран функция main это уже не будет ошибкой и все окей потому что вы вернули владение этим агентом и вот когда мы вернули овладение этим объектом мы уже не можем сказать что одновременно два объекта владеет этими данными не только один просто порядок менялся сначала офигенная string один владелец потом владельцам слова функция принтере а потом передал во владении и опять владельцам стала переменной string' один кстати такой вот еще момент рассмотрим то что я дам несколько раз кроме упоминал что когда перемена выходят за область видимости происходит то есть переменная уничтожается и освобождаются ресурсы которыми предыдущего примера вот у нас была функция pins 3 которому передать переменную string эта функция это появляется один не school то есть после того как у нас эта функция завершена у нас будет освобождена старка с и вот на этот момент у все уже будет освобождена память и больше у нас памяти не будет против память не будешь какие кадры потому что при завершении вот этой функции у нас уничтожилась память в этом примере у нас память не уничтожилась потому что мы вернули владения назад и получается когда назад-то область видимости остается рафу тоже еще функция main а вот при завершении уже функции main переменной a string один будет удалена ресурсы которыми владеет это переменная то есть строка первыми эти ресурсы будут освобождены собственно что нужно на самом деле окажется вот такая конструкция немного странная мы просто хотим распечатать строку на экран при этом нам приходится делать какие-то кажется странноватые операции мы просто хотим распечатывать строку да кому он какие там передачи владения почему мы должны об этом задумываться настолько тяжело то есть обязательно вернуть назад это владение потом опять же сделать какую-то был чтобы можно было сделать присвоение это кажется немного сложно и так конкретно в этом случае это излишнее как же нам сделать так чтобы мы могли спокойно передать строку когда мы знаем что мы и не собираемся изменять мы ее просто хотим распечатать те самые распечатываем там и мы ведь мы меняем ее значение операции чтения мы ожидаем что происходит и для этого существует этот уровень уровень музыка как для того чтобы вы могли получить доступ к данным но при этом не изменяя владения титан то есть конкретном примере как я только что говорил ведь хотели просто вывести значение этой переменной она экраном и не пытались изменить ее значение и поэтому кажется что использование вновь излишняя до этого примера и да вот в этом как раз и случае было бы более целесообразно использовать барби также когда мы используем форуме компилятор статически гарантирую что во время компиляции что ссылки всегда указывает на аварийные объекта точно вернёмся когда я имея за коми к тому же если у вас точно так же вы видели какую-то память хип кучера вы как-то чего-то с ней делали потом вы скажем изменили значение строки и вас цветами есть какой-то другой указатель который указывает на эту область видимости новым далее 1 указатель который указывает эту область видимости вас итоге будет что у вас будет попытка доступа к 100 почтенной памяти и это что это гаджет то есть это и и крыш вашей программы или какой-то анды фантики его сложно прогнозировать что произойдет в каждом конкретном случае случае роста этого не произойдет потому что компилятор гарантирую что если у вас есть какая то ссылка на обед то она указывает на валидный объект эта ссылка не можешь показывать на какое-то скажем поврежденной объекты на участок освобожденной память здесь конечно определенное исключение поля во встрече августу этого курса но компилятор вот это гарантирует за счет использования такого инструмента который бросается поручика то есть это скажем модуль топовых компилятора который проверяет водить нас ссылок что ссылки как раз указывает на валидные объекта и при этом если что такое важно форум что пока ссылки на объект существует объект не может быть уничтожен что это значит это значит что если мы создали нескольких петь несколько переменных которые ссылается на какую-то область памяти то это область памяти не будет освобождена до тех пор пока объекты которые они ссылаются не будут уничтожены то есть до тех пор пока эти объект они выйдут за скоб какие собственно правило бур чтобы передать объект по ссылке в россии вы указываете амперсанд амперсанд указывается перед типа мне перед названием переменной а перед ее типом рассмотрим такой пример то есть если вот пример и как бы казалось все и классный вопрос распечатываем строку у нас должно все работать но как и объяснил расти это не будет работать потому что вы передали владение этой строкой и как вот собственно такой же пример чуть-чуть модифицировать на сделать так чтобы у вас это было как федеральная программа чтобы она работала так как вы этого ожидает это сделать достаточно просто с помощью борова механизма и как вы можете заметить вот вот эти призраки эта строка и вот эта строка изменилась сама сигнатуру функции то есть теперь у нас функция print screen она принимает переменную s 2 эта переменная не типа string эта переменная типа ссылка на 3 и соответственно с точно так же когда вы вызываете эту функцию вы передаете ему тоже эту функцию не перемен множестве негативный передаете указатель на переменную string или или конкретно в таком случае ваша программа скооперироваться потому что вы не не передать владение при этом случае вызывать функцию print не передаете владение этой переменной в in только скажем а там желаете временно одалживаете эту переменную причем в данном случае вы одалживаете не позволяет изменять переменах если вы хотите искать эту переменную то для этого вы должны указывать амперсанд бьются и так конкретно в данном случае да это извечная потому что функция принцип она как бы даже по названию то подразумевают что эта функция просто выводя строку на экран но если допустим в этой функции вы по каким то причинам хотели бы модифицировать значение этой строки то тогда вы можете или передать владение этой функции или в данном случае передач вы можете спросить в чем отличие скажем от обычной передачи объекта когда мы просто газовать x3 но отличие в том что как вы помните вот в этом примере для того чтобы вернуть владение объектом было должны были написать такую конструкцию то есть мы должны были сделать во первых стрим ван также сделать здесь вы еще в этой функции пошли были возвращать результат типа string и вы должны быть явно указать что вы возвращаете владение возвращает результат и соответственно вы возвращаете владение этой переменной случай бороны вот этот вот так вот если бы вы сюда добавили перстом пьют а был он был говорить да он был бы не совсем правильно потому что веса предательством изменяем ссылку если вы не планируете сжимаете переменной но этот пост был бы валидный конечно вы должны были доказать что эта переменная типа string один потому что реальность string одиночество оно бьют обл потому что раст вам опять же он не даст такого делает что если эта функция была выглядел аватарках бью там которая принимает и это был string показательно string бы не позволил вот таким образом и передать переменную потому что раз вам бы сказал что вы пытаетесь использовать одни изменяемую переменную как изменяемую и это опять же вопрос и про то что врачи неизменяемая все помолчали почему это хорошо что если вы случайно стали такой ход которая вы называете принципе вот такого типа особо не давать выходкам бы сказал ребят вы пытаетесь использовать переменную которую объявили как неизменяемые пытайтесь использовать функции которая меняет его значение и вам компилятор не даст это сделать нам случае пор ручей к какой есть еще правило в городе данные могут имеют а был то есть неизменяемо они могут быть захвачены неограниченное количество раз захвачены этого можете нагрузка переводить как бы скажем захвата значение захват значения или условно до одалживания значение то есть какое правило данные могут быть захвачены неизменяемым образом неограниченное количество раз что это значит это значит что вы бы могли вызывать эту функцию принимает неограниченное количество раз и повторно вообще не было то есть чтобы работ лодке но при этом если если значение было захвачено неизменяемым типом оригинальные данные не могут быть оригинальное значение оно не могло быть был дорог то есть захвачена изменяем конкретно это кусок это уже смотрите больше примеры этим концептом самостоятельно и также еще такое правило что только одна изменяемая какой-то участок времени то есть не может быть такой ситуации что у вас одна переменная владеет объектом а при этом другая переменная она не владеет объектом но у вовы идей как вы передали изменяем в ссылку на ваш объект в россии это запрещено делать потому что опять же когда вы пишете код мясо вы знаете что вас эта переменная только эта переменная может изменять значение очень неприятно когда оказывается что какой-то другая переменная каким-то образом изменил значение вашей перемен возрасте это будет невозможно это опять ошибке компиляции раз он скажет про то что вы не могут одновременно получать доступ к изменения объекта даже если владелец один но при этом другой объект получил право на иск на то чтобы модифицировать содержимое эти там еще раз это будет ошибка при этом можно захватывать владение объектом оригинальным объектом снова только после того как изменяемая ссылка на этот уже выйдет скажем зашел то выйдет за область видимо то есть уже будет это захваченная захватывает доступ он будет возвращен и так далее финальные данные оригинальные владелец этой переменной сможет опять сможет опять передавать передавать скажем доступ к этой переменной другие функции грина только тогда и более того у вас опять же чтобы избежать такой ошибки что у вас есть переменные которые захватили оригинальный эффект неизменяемых типов типом а другие переменные заплатили ваша цель изменяемы типом расстройством такого и позволит потому что опять же очень странно конечно происходит постоянно у вас есть какая-то скажем вы считаете константа входе не как санта понятия красного константах понятия концептуального даже если у вас есть какая-то переменная которая объявлена просто допустим live streaming равняются тригон санкций план вы не можете создать переменную string 3 равняется не это был амперсанд стринги он потому что даст вам скажет что может происходить когда времена есть не изменяем с изменяемой ссылки и это было бы страны странно очень если такого проект ходил ой какой была бы разрешено потому что это бы значило что когда вы пишете код как программист и вы видите что у вас есть переменная которая неизменяемая но при этом вы какой-то момент времени да пусть а потом отслеживаете пока что у вас каким-то образом изменилась значение переменной и такое постоянно происходит программиста потому что там нет такого механизма пол нальчик оборотный прости такого не будет происходить потому что раз заметят у ошибку с помощью баранчиков и уведомит вас об этом то есть если вы видите что ваша переменная не сняла не изменяемого типа вы точно можете знать что никакой другой поток никакая другая переменная не какая то там какая функция не сможет изменить значение этой переменной и это и вот эти вот принцип это которая принципе пор у индюшек которые мы сейчас рассмотрели собственно они являются а первой причиной многих крупных компаний таких как например тот же microsoft да почему они переходят на 1 основное преимущество роста это не не его какие-то функциональные кишки которые мы с вами смотрели расходы больше это не та то что язык читаются хорошо это не то что языке есть много такого как прикольного синтаксического сахара это даже не тот принцип просто чтобы не платить за то что вы не используете это именно в первую очередь концерт овощи сбора всех предыдущих перечисленные вещами также по ну и конечно влияет такой выбор но они второстепенные самый главный самый главный концерт в раз сама уникальная которое дают такую популярность растут все больше и больше скажи почему вы используют это как раз полна щиты барон то есть это то как раз управляет память я понимаю что это лица домой из вас возможно было сложно особенно допустим до тех людей так то ни было знаком с такими фундаментальными концертами как память павич куча кто не был знаком с текущими существующими механизмами управления памятью предметах горбач коннектора прочно выделении 100 пустыня память и я надеюсь что вы получите небольшой какой-то такой сайт про эти концепты я вам очень советую очень shoes самостоятельно также попробовать поиграться с этими концептами то есть на прошлой лекции женя вандал большое домашнее задание там где такие простые программки для подсчета площади круга квадрата и так далее утку небольшое приложение попробуйте там использовать эти концепты попробуйте использовать концепты скопировать этот код к которая показывал на презентации попробуйте написать свои небольшие програмки поиграться с этим попробуйте сломать это то есть это очень круто если вы подумаете то я сейчас сделаю это попробуйте попробуйте сделать это очень высоки по играетесь потому что конкретно с этими двумя концертами связано очень много власти как только вы привыкнете сразу станет намного проще и легче вы избежите очень многих ошибок когда вы не понимаете почему программа никак не вроде как выглядит все окей поэтому пожалуйста обязательно потратите время это я считаю наверное одна из самых важных лекции на нашем курсе по 1 тур по части роста возможно даже самое важное потому что без этих концепт образцы прочный никуда не так далеко и сразу забегу наперёд это абсолютно руке если вы скажем даже первый шанс какой с этим работаете 1 и 5 часов первые 10 первые даже 2030 640 возникали проблемы словно щека подлый и вам будет казаться что это сложно это нормально это окей что для вас это сложно но со временем вы к этим концептом очень велик нити и если потом возвращаться и забитом секрет даже там какой то вы уже будете думать совсем по-другому моего поэтому happy уборщик он бармен хокинг теперь перейдём к вопросам так я вижу комментарии что суперконцепт сама правильный nand-памяти да так есть когда я начинала сасом это был еще наверное дойдет и 2015 год очень странно и мне казалось что это очень не удобно момента пока уча нас запускал коробочек коран и очень часто не понимал что с этим происходит почему так почему не то но это были попытки сложнее когда еще там есть время жизни лишь time will examine и скорее всего в рамках курса не будем рассматривать возможно очень поверхностно потому что это чуть-чуть сложнее конце почему наши поборник ну да вначале вы будете дома часто запускает комбинатор часто смотреть на ошибки часто понять это за понять что там происходит но со временем вы оцените преимущества такого концерта врасти мило и тренировать работать не так ожидается да это именно так потому что потому что вы не ниц и резеро вали переменную и более того как этого дела что вырасти еще на первой лекции кажется что если данном случае the box and notes перейдём к вопросам я еще один из тех конструктор которых нет в других языках программирования это верно хорошо мы запросу слышали постараемся сделать небольшое введение в эту тему на одной из целей секреции почему мы lifetime не рассматриваем в рамках этого курса по родству не рассматриваем более подробно так как например защиту уровень и подобное и не будем рассматривать будем рассматривать поверхностно потому что сама тема lifetime я рассчитаю можно рассматривать метре лекции вполне легко и возможно даже этого времени будет мало но почему мы не рассматриваем конкретно в рамках этого курса потому что наш курс первую очередь направлен на то чтобы вот мы когда его планировали мы хотели дать минимальный напор скажем владение runs там чтобы могли уже начинать писать какие-то смарт-контракты на том жене и в дальнейшем дальше обстоит контракты смарт-контракты то конкретной в общем идея в чем была что вы имеете минимальные минимальное подмножество низкое значение 1 и вы уже можете писать свои первые смарт-контракты манер на неё их языке сделан так максимально удобная изолирована что скорее всего при работе сне вы практически никогда не столкнетесь и 0 то есть тех знаний которые изначально планировал не знаю фраз которые изначально планирую дать рамках 1 курса и о принципе вам будет достаточно то что писать на них смарт-контракты потому что гнев это очень классно что без этого концепта вы можете уже работать но я слышал и его рассмотрим опять же попрошу пожалуйста пишите вопросы в отдельности акции вас как я сейчас смотрю в час до последнее сообщение на самом обычно на лекциях мы можем не заметить ваши вопросы xmpp вопрос у вас там скоро будет курс последите а зачем он если есть 1 да это верно смотрите это чаще разные направления случае с роста мы говорим в первую очередь если это проплачено это про таргет мир . на них если мы говорим про садитесь и и татары пятна эфириум экосистему и с помощью со видите вы можете не только перед тепло контракт и вы так же можете добавить контракты а в роли то есть это как раз тот проект в котором мы работаем с женей где вы можете описать в контракты на среди te digo этих в аврору в где вам роли полностью compatible виртуальная машина эфира но при этом аврора работает на мир и соответственно аврора имеет все преимущества это виртуально это виртуальная машина которая написана вы смарт-контракты нерва таков и это даёт очень много преимуществ таких опять же как работает на блокчейне near the это очень быстро и очень дешевая и при этом full compatible 30 поэтому со видите это тоже важно и да поэтому будут курсы посадите но их полем считать уже не мой же так ? не полностью понятно что такое владелец эта переменная функция область видимости эта сущность которая в ответ некоторой области памяти эта абстракция которая гарантирует уникальность доступа к этому участку памяти какие варианты этих сущностей существуют эти сущности существуют вопрос задал via это да и то если подразумевает это такая сущность которая существует во время как раз компиляции программы как правильным сон николай какие варианты существуют этих сущностей варианты собственно это то что проявляет например тоже поручик здесь владелец объекта постоянно передается владение этим объектам и при этом проверяется если в этот же момент скажем изменяемые ссылки на объект не изменяемы ссылкой на объект соответствует ли это все правилам которые существуют просто правилам боров читера то есть да это определенная сущность стоит рассматривать это вот так как абстракция то есть конкретно такого что у вас будет какой-то ленор типами владения такого стоит смотреть на это именно как на концерт на абстракцию платок как управлять память то есть есть в глубину понимать как это на уровне valve реализовано но если если пожелания конечно можно но это точно тушку pucci pups и так переходим к следующим вопросом так передачу введения объекта функцию и возвращения его обратно происходит на и перевели зрения память или другими накладные расходы будет эффективнее использовать передачу по ссылке конкретно в данном примере то что я привозил выделение памяти происходить в этом собственно изначально и и есть идея концепция он ищет borrowing и то есть если оно сделано гораздо сложнее при этом учитывайте что я например сделано гораздо сложнее случае просто здесь как раз есть идея в том что это эффективно то есть вы не платите за то что вы не используете если вы скажем не изменяли как-то там объект то есть вы не платите за это вы не платите этими маранта my будет эффективно использовать передачу по ссылке эффективнее с точки зрения технического в данном примере я нет с точки зрения того насколько вы скажем правильно пишете программу да это будет эффективнее потому что что такие если вы функция ожидаете что она должна просто прочитать значение переменных и как как бы использовать эту переменную почтения то не стоит передавать владение этой функции не стоит передавать ее также меня вопросы к слайду 48 сейчас найдем стать 48 так ну тут я вижу в этом вопросе фото обрывок и небольшое предупреждение ссылка на объект деньгах вероятно ссылки на литерал да это похоже концепт в данном случае здесь это может быть предупреждение винтер а потому что здесь растут тем более тоже не компилятор 1тр это он осмотре что в принципе вам не обязательно делать такое лишнее движение можно использовать непосредственно просто то динамике передавали то равных кедами поэтому здесь это уже речь об оптимизации но этот пример а это не про оптимизацию этот пример то чтобы продемонстрировать механизм работы настолько поручить ранее учиться смартфон торетто полностью логика зачастую да как николай иногда рассматривается в ран таймер но string от этого особо выхода нету основной концепт это то что проверка происходит во время компиляции так еще вопросы момент происходит освобождение памяти в конце блока области видимости сразу после последнего использования перемены в конце области видимости стандартных концертах я вижу что есть еще ответ life таймс но если говорить про наши приметы в наших вот конкретно на этом слайде то скажем если у вас тут после этой строки будет еще несколько строк с другим переменами то освобождение памяти будет происходить при выходе за пределы функции мы за власть видимости функциями не в момент последнего использования ну потому что да что то программа программа это ваш по сути скомпилированный бинарный файл и когда вы можете писать что он конкретно есть какие-то участки и когда выходит ваша примерно за час тракта на уничтожаться говори head номере находится оперативно пролетит рациона системы до в оперативной памяти но опять же это иногда может меняться на те же девайсах там есть нет некоторые хаки которые позволяют скажем тоже и операционной системе этой девайсов допустим хранить часть какой-то в подарок постоянной памяти компьютера то есть опять же есть и так далее память но когда вы пишете на расти вы не должны думать где находится там стыковая память и память куча потому что это обязанность операционных систем и собственно операционной системы linux чтобы операционная система конкретно и аллах где у вас лежит участок то есть если уж так говорить о не ваша программа даже когда вы выделяете памяти кажется что вы заработаете слоуролл программированием да это так и есть но при этом теме человека памяти которые вам дает операционная система то есть это нереально и не реальные физические данные это виртуальная память а виртуальную память вам для вас скажем так подготавливает именно операционная система уже операционная система может составить какой нужна молитва может часть вообще посажены помидоры поможет операционную но это как раз до этого нужен операционной системы операционная система как раз снижает этот образ программиста и позволяет работать с абстракциях памяти когда местность по тропе зачем эта функция drop как я говорила это это в принципе трейда дроп это свойства объекта и эта функция вызывается неявно когда за область видимости но если вы хотите по какой-то причине освободить ресурс раньше он побеждает этот ответ еще здесь николай ответил что например данных сетевой соединения файл это верно то это правильный пример если вы не хотите занимать ресурсы все область видимости особых этих раньше то можно это евгений можно у вас попросить под и за расписать подробнее что надо сделать заявление я думаю он ответил вы также можете взять еще написать огромный вопрос чтобы в чате люди также увидели эти ответы а если свойства копирование при использовании оператора присваивания происходит копирование нужно явно указать копи нет кулака явно указывать не нужно будет происходить копирования в этом же веке и суть что копии оператор присваивания почему не произошло перемещение переменной стинга динамо красти print line отказа функции print 3 до здесь это именно потому что как раз макрос print line а принимается за чему перевернул так секунду сейчас еще вопрос поддерживать актуально раз одновременно уровне пересекающийся например непересекающиеся структуры это сложный вопрос насчет вот разных полей структуры это сомнительно я не думаю что это ближайшее время будет реализовано насчет непересекающихся часть рейсов тебя точно знаю что над этим ведется активная работа в расте по-моему я точно не уверен но по-моему тоже в какой-то из версия роста это доступно по моему знаете на этой версии то не стабильная версия роста . на текущий момент я не могу ответить но стоит для скорее всего у вас не будет такой возможности потому что опять же это намного сложнее чем кажется отслеживает что именно это риме пересекающийся часть самого насколько часто на практике возникают ситуации когда ограничения букмекера необходимо обходить через яркое интро вами то берите насколько часто возникают ну однозначный ответ на этот вопрос не могу потому что насколько часто это вопросы кисти статистики у меня нету твоей практика мнению очень часто приходится делать скажем природе при работе приложения smart контрактов он же даже при разработке облучены над substrate это тоже достаточно редкие случаи более частого создать мир с мире earth пальни скажем описании к фото приложение с сетевым взаимодействием с взаимодействием с операционной системой как у вас системного приложения так я тогда минут выше подожду если будут еще вопросы но в целом я понимаю что для вас возможно была тяжелая тема тяжелая это один из важных концерта франц фанон сложный поначалу поэтому абсолютно не пугайтесь того что вам не все понятно что он сложно будет сложно поначалу это хорошо если бы это было легко тогда бы у вас было гораздо больше конкурентов языке 1 но так как я говорил в предыдущих лекциях многие раз не разбирают именно как раз подключения что людям кажется это очень сложный язык то вас есть небольшое преимущество то вам нужно будет самим конечно разобраться самим разобраться с этими сложными концептами но если вы с ними разберетесь до какой-то степени вы будете еще какой то определенный период времени зайти и дизельными разработчиками то есть на 1 разработчиков на текущий момент спрос гораздо выше чем предположение допустим я помню скажем пять лет назад четыре года назад когда я в других компаниях тоже предлагал использовать раз faberlic то чтобы ничего не знал про ростовы преимущество кроме джек то с ним уже непосредственно работает то есть в медиа-пространстве про раз не особо говорили и многие вообще не понимали зачем нужно использовать о тех кто тоже понимали у них был вполне логичный честный и обоснованный ответ что вот если допустим у нас есть разработчик нарасти мы делаем на расстрел разработчик утек пойдем новый разработчик последние 100 лет это очень поменялось с разработчику на 1 стала гораздо больше но при этом века создав больше вырос спрос на разработчиков просто поэтому очень сложно найти раз разработчиков команду поэтому если вы чтобы освоить раз проблем не будет просто пикник что людям это будет сложно но люди будут делать ошибки буду делать много ошибок со временем present концепта его полюбят я думаю и тогда уже сложностей не возникает сейчас уже половина класса просто 5 10 а потом по нир будет таверна этого икса у нас планируется 10 лекций по родству после этого у нас скорее всего около пяти тянет около это значит что мы на текущий момент распланировали наш потерял на 5 лекции но возможно коллекции чуть-чуть изменяться большую сторону меня нету сейчас их цена вынужденных савчак у нас есть замечательные кураторы нашего курса это более елена одни с удовольствием вам ответят этот вопрос и пришли пришлют все полезные ссылки написал теперь я думал в чате когда ответят если вас вопросы пишите пожалуйста начаться я видел больше шансов что обратить внимание на ваши вопросы и что на него ответят и более того короля или смогут обратить внимание на эту информацию вот огромное спасибо всем кто сегодня кучу на лекцию до конца если вы потратите часть своего времени в течение недели возможно даже на выходных следующих это будет очень круто очень полезно то вас вам однозначно будет проще на следующих лекциях пожалуйста happy hacking поразвлекать с этим концептами и хорошего всем вечера всем пока","transcript_synced_at":"2026-11-04T04:12:45.578Z","segments":[{"start_seconds":0,"text":"сегодня у нас тема будет это ровно щит и bruin это в принципе я бы сказал самые","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=0s"},{"start_seconds":8,"text":"уникальные особенности за красных связанные с этими темами и эти конкретно темы вам нужно будет усвоить и я бы","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=8s"},{"start_seconds":18,"text":"сказал это одни из самых важных тем понимание этих тем в принципе будете гораздо лучше понимать раз почему и как","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=18s"},{"start_seconds":27,"text":"там происходит что и скажем основное преимущество раз сегодня эта тема у нас","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=27s"},{"start_seconds":35,"text":"будет такая более обзорная то есть мы рассмотрим с вами основные концепты","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=35s"},{"start_seconds":40,"text":"эти связанные с ними характеристики и преимущества что дают собственно эти","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=40s"},{"start_seconds":49,"text":"возможности языка раз но больше всего вам конечно нужно будет самим попробовать поиграться с этими","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=49s"},{"start_seconds":57,"text":"механизмами попробовать их сломать то есть это всегда возникает вопрос а что если я сделал вот так она наверное будет","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=57s"},{"start_seconds":65,"text":"работать и она сломается и это очень хорошо будет потренироваться с таким потому что в ином случае поначалу эти концепты могут показаться","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=65s"},{"start_seconds":74,"text":"вам очень непривычными но со временем вы так сказать уже готти стоит и уже привыкнете и сможете их использовать","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=74s"},{"start_seconds":83,"text":"более бесполезен более безболезненно поговорим до начала про сам организации","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=83s"},{"start_seconds":92,"text":"памяти даже в принципе memory management как возможно многие из вас уже должны","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=92s"},{"start_seconds":98,"text":"знать что каждая программа окном случае должна управлять своими ресурсами памяти","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=98s"},{"start_seconds":106,"text":"который выделяется как-то ее создавать аллоцировать эту память и когда когда-то","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=106s"},{"start_seconds":114,"text":"лишь сожрать эту память правильно потому что иначе если у вас память накапливается накапливается но не освобождается","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=114s"},{"start_seconds":121,"text":"конце концов у вас просто закончится ресурса устройство данных которым исполняется это приложение то компьютер","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=121s"},{"start_seconds":128,"text":"мобильное приложение и так далее закончится оперативная память слов и так далее поэтому ресурсы конечно же должны","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=128s"},{"start_seconds":137,"text":"освобождаться какие современном мире существуют возможности до управления памятью если поговорим с","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=137s"},{"start_seconds":146,"text":"вами о таких языках у которой у которых есть свой runtime виртуальная машина","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=146s"},{"start_seconds":153,"text":"например такие языки как java или шар то эти языки используют","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=153s"},{"start_seconds":159,"text":"garbage collector это сборщик мусора что такое сборщик мусора для тех кто не знакомится","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=159s"},{"start_seconds":167,"text":"с этим концептом грубо говоря наряду с вашей программой виртуальной машине из к которой вы используете","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=167s"},{"start_seconds":176,"text":"одновременно с этим в нем запущены скажем так стороннее приложение которое контролирует память вашего приложения","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=176s"},{"start_seconds":183,"text":"это конечно очень грубо и определение в данном случае пральна машина управляет вашей памяти в которой есть компонент","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=183s"},{"start_seconds":191,"text":"сборщика мусора и какая задача сборщика мусора сборщик мусора что делает он","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=191s"},{"start_seconds":198,"text":"грубо говоря о таких исков тоже java и сша вы тогда создаете объекты ты в принципе не задумываетесь где вы их","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=198s"},{"start_seconds":206,"text":"создаете и как ну зачастую зачастую вы создаете и в дальнейшем нибудь не думаете о том","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=206s"},{"start_seconds":213,"text":"как будет происходить управление памятью связано с этими объектами потому что в этих языках у вас грубо говоря есть","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=213s"},{"start_seconds":221,"text":"определенная гарантия что как только вы перестает использовать эти объекты то ваша память","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=221s"},{"start_seconds":227,"text":"освободиться и соответственно у вас всегда будет доступна в этом есть конечно","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=227s"},{"start_seconds":234,"text":"зеленое исключение но в целом как работа сборщик мусора он старается отслеживать","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=234s"},{"start_seconds":241,"text":"ссылки на все ваши объекты и определяют как только сборщик мусора определяет что","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=241s"},{"start_seconds":248,"text":"ваш объект более не используется он его уничтожает то есть как бы собирает скажем так мусорный объект к этому дай","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=248s"},{"start_seconds":257,"text":"называется сборщик мусора собирает объекты которые более они используются и таким образом памяти ощущается их","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=257s"},{"start_seconds":265,"text":"и таким образом знаете что вам не нужно переживать о памяти совсем в редких","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=265s"},{"start_seconds":272,"text":"случаях у вас есть возможность конечно вызывать принудительно сборку мусора .","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=272s"},{"start_seconds":278,"text":"вы можете сборщику мусора сказать сами сейчас и очисти память потому что обычно","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=278s"},{"start_seconds":285,"text":"сборщик мусора работает с определенным интервалом то есть допустим условно говоря докажет это 30 секунд или каждую","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=285s"},{"start_seconds":293,"text":"минуту он проверяет детстве какие-то инвалид объекты которые уже можно","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=293s"},{"start_seconds":299,"text":"удалить какой есть ещё метод это ну какой честь методы организации памяти","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=299s"},{"start_seconds":306,"text":"это выделение и освобождения памяти то есть allocation и дело песен вручную так","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=306s"},{"start_seconds":315,"text":"собственно вы делаете когда вы работаете с такими языками например как систему стоит в данном случае конкретно вы как","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=315s"},{"start_seconds":323,"text":"программист во время разработки должны сами отслеживать насколько используются ваша память сами должны определять когда","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=323s"},{"start_seconds":331,"text":"ваш обед должен быть уничтожен также когда он должен быть создан и само собой","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=331s"},{"start_seconds":338,"text":"у каждого из таких походов у них есть свои плюсы и минусы то есть когда вы работаете с такими","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=338s"},{"start_seconds":347,"text":"языка java jar с garbage collector и вы соответственно","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=347s"},{"start_seconds":356,"text":"не переживайте совсем за память когда вы работаете вручную с памятью конечно вся ответственность лежит на ваших плечах и","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=356s"},{"start_seconds":364,"text":"вы самостоятельно должны правильно выделять правильно освобождает память и","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=364s"},{"start_seconds":370,"text":"когда люди там на плечи что это ответственность падает зачастую","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=370s"},{"start_seconds":379,"text":"большинство ошибок в программном обеспечении происходит как раз связаны с этим с этим концептом с концептом","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=379s"},{"start_seconds":387,"text":"управления памяти вот например даже компания microsoft они когда говорили о почему они начали","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=387s"},{"start_seconds":396,"text":"использовать 1 вот там несколько лет назад продуктах microsoft потому что в принципе за последние 20","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=396s"},{"start_seconds":404,"text":"лет процентов 80 если не ошибаюсь около 80 процентов ошибок и багов которые они","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=404s"},{"start_seconds":412,"text":"находили волосах на именно с управлением памяти возможно кто-то из вас знает если языках таки","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=412s"},{"start_seconds":420,"text":"вы видели какую-то память потом у вас как то в каком то месте вы допустим я случайно особо деле или эта память была","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=420s"},{"start_seconds":428,"text":"уничтожена его потом получают пытаетесь получить доступ к тому же участку памяти конечно что вы получите секунд то есть","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=428s"},{"start_seconds":435,"text":"это будет ошибка и в принципе зависимость этого если у вас какой-то механизм до отлова ошибок зависимости от","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=435s"},{"start_seconds":444,"text":"этого вас тоже не может ее постели не могут происходить какие-то непредсказуемые вещи которые называются инфериор","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=444s"},{"start_seconds":453,"text":"а когда вы работаете с такими языками как","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=453s"},{"start_seconds":462,"text":"и другими которых посредстве наруч на выделения памяти вы должны всегда задумываться с каким типом памяти","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=462s"},{"start_seconds":470,"text":"работает то есть это такая память или это хит memory то есть память которых","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=470s"},{"start_seconds":477,"text":"память кучер в чем отличие я пробегусь кратко по этим концептом потому что","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=477s"},{"start_seconds":486,"text":"возможно не все и созда работали с такими низкоуровневые языками программирования codesys то есть допустим до тех же людей у","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=486s"},{"start_seconds":495,"text":"которых есть экран языков которые сборщик мусора конца помог бы не понял что такое стыковая память для тех кто не","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=495s"},{"start_seconds":505,"text":"знаком с концертом стента вы можете придут представить этот концепт так вот представьте вас есть этом деревянные","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=505s"},{"start_seconds":513,"text":"паллеты какие-то с грузом и ну грубо говоря 1 полета над que ser кладется еще сверху еще сверху еще сверху и когда вы","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=513s"},{"start_seconds":522,"text":"соответственно вам нужно получить доступ к тому же к чему-то что лежит на самой нижней полить вам сначала заставляет","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=522s"},{"start_seconds":529,"text":"снять все пакеты сверху то есть здесь работает принцип last info то есть тут то что положено","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=529s"},{"start_seconds":540,"text":"последним из цеха выйдет первым это такой попытки упрощенного до объяснения","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=540s"},{"start_seconds":547,"text":"что такая старая память такая память она работает последовательно вы друг на друга кладете","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=547s"},{"start_seconds":556,"text":"кладете кладете сверху элементы в данном случае это изменяется только индекс так и то что лежит самом верху стыка","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=556s"},{"start_seconds":567,"text":"это то что туда последнее было положено что такое hitman память в куча случаев по мячу куча это","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=567s"},{"start_seconds":574,"text":"сложнее потому что допустим если говорить про память стеклу память можно класть все переменные значения которых","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=574s"},{"start_seconds":582,"text":"фиксирована то есть вы всегда можете знать какой объем памяти лежит стыке","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=582s"},{"start_seconds":590,"text":"случае выделения памяти в куче это как раз нужен на динамических объектов допустим вы учитываете","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=590s"},{"start_seconds":598,"text":"у вас есть какое-то консольное приложение и вы пользователь считываете какие-то там допустим ваше приложение","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=598s"},{"start_seconds":608,"text":"это приложение по какому-то преобразованию тесто и пользователь из консоли вводит текст какой-то не прыгну","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=608s"},{"start_seconds":618,"text":"какой-то длинный да и длина этого текста каждый раз может изменяться и в таком случае вы конечно не знаете сколько","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=618s"},{"start_seconds":625,"text":"точно памяти нужно выпилить заранее и в данном случае этого суть динамическая память как работает в таком случае в","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=625s"},{"start_seconds":633,"text":"таком случае у вас локатор он находит вашей оперативной памяти какой-то свободный участок памяти","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=633s"},{"start_seconds":641,"text":"нужной длины которые вы запрашиваете во время исполнения программы кришне во время компиляция во время исполнения программы он находит этот участок памяти","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=641s"},{"start_seconds":650,"text":"и выделяет для вас до вашего объекта и ваш объект он получает ссылку на этот участок памяти до то есть грубо говоря в","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=650s"},{"start_seconds":658,"text":"какой ячейке лежит ваш объект и соответственно нужно обеспечить такой","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=658s"},{"start_seconds":667,"text":"принцип да правильно работаю с памяти в куче чип ноябре которых главный концерт нужно обеспечить","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=667s"},{"start_seconds":674,"text":"это то что вы должны знать что если у вас ошибки у него есть ссылка да где он лежит в какой чехии памяти","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=674s"},{"start_seconds":683,"text":"но это также давно называется библиотека наказать что нужно знать что никакой другой объект не будет находиться по","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=683s"},{"start_seconds":691,"text":"тому же адресу и соответственно что вы скажем счастья чеки этой памяти случайно не передадите во владении в другом","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=691s"},{"start_seconds":700,"text":"объект туда не будет записан другой объект вот это такое очень краткое","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=700s"},{"start_seconds":707,"text":"объяснение этих двух концертов конечно это если скажем вниз тауп этого курса это","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=707s"},{"start_seconds":720,"text":"дантес и на этот счет можно почитать отдельности кого я парни такого память","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=720s"},{"start_seconds":728,"text":"куча она же динамическая память и собственно возникает вопрос что тогда на этот счет","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=728s"},{"start_seconds":734,"text":"какой из этих концептов использовать раз если говорить высокого уровня во более","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=734s"},{"start_seconds":743,"text":"концептуальны него виталия тарас используют какой-то другой интер который здесь покаяние 1 давайте подумаем что же","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=743s"},{"start_seconds":752,"text":"за концерт для того чтобы подумать мы с вами вспомним что как мы упоминали как","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=752s"},{"start_seconds":760,"text":"его лекции в рости нету сборщика мусора то есть нет ту систему до такое управление вашей памяти которая","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=760s"},{"start_seconds":768,"text":"собирает мусор сажает него делительные ссылки и так далее при этом как вы помните еще на","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=768s"},{"start_seconds":778,"text":"первой самой лекции мы с вами задекларировали что в россии при этом есть безопасность памяти и потока и","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=778s"},{"start_seconds":786,"text":"безопасность памяти возникает вопрос а за счет чего раз обеспечивает безопасность памяти и","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=786s"},{"start_seconds":795,"text":"безопасность потоков то есть если мы с вами только что говорили что ручное управление памяти она так или","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=795s"},{"start_seconds":802,"text":"иначе приводит к ошибкам потому что когда у вас огромное приложение очень сложно контролировать за выделениями","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=802s"},{"start_seconds":811,"text":"освобождения памяти даже если вы используете правильные техники да да работы с этой памятью о которых мы не","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=811s"},{"start_seconds":819,"text":"будем говорить на это на этом курсе это все равно очень сложно потому что как правило кодовой базы могут исчисляться в","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=819s"},{"start_seconds":829,"text":"мегабайтах там огромное количество кода и всегда очень много мест где можно что-то пойти не так что раз предлагает","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=829s"},{"start_seconds":838,"text":"до того чтобы решить эту проблему раз предлагает как раз в конце который называется полночь то есть концепт","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=838s"},{"start_seconds":847,"text":"владения памяти это собственно является уникальным свойствам языка 1","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=847s"},{"start_seconds":855,"text":"какие из правила владения памяти что у каждого значения есть свой владелец","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=855s"},{"start_seconds":865,"text":"то есть свой обзор памяти и всегда в один момент может быть только один","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=865s"},{"start_seconds":872,"text":"владелец вами только 12 не может быть старение может и больше только один владелец валюте","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=872s"},{"start_seconds":879,"text":"владелец как это примерно до какого-то значения и такое есть еще правило что","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=879s"},{"start_seconds":887,"text":"когда владелец памяти выходит за властитель насти соску","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=887s"},{"start_seconds":895,"text":"значение будет писать robs вере и красных значения будет освобождено","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=895s"},{"start_seconds":904,"text":"уничтожен что такой область видимости я думаю уже вы с этим знакомы женя на прошлой лекции рассказывал про","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=904s"},{"start_seconds":912,"text":"этот концепт и каким пользоваться то есть если вы правильно вспомнить вот это","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=912s"},{"start_seconds":918,"text":"да это например протеже фигурные скобки да что вы можете с помощью фигурных скобок ограничить область видимости и","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=918s"},{"start_seconds":926,"text":"собственно область видимости как раз очень важно именно до этого пусть если у вас какая-то переменная","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=926s"},{"start_seconds":934,"text":"выходит за область видимости в расте вы можете знать что это что эта переменная был освобожден от оси и ресурсы были","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=934s"},{"start_seconds":942,"text":"освобождены и больше никто не может получить доступ к этой переменной и более того это будет ошибка компиляции если кто-то постарается получить доступ","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=942s"},{"start_seconds":950,"text":"переменной которая уже было освобождено при этом стоит отметить что в россии","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=950s"},{"start_seconds":959,"text":"сделали очень умна то есть вы конечно же не хотелось бы доресах у вас была","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=959s"},{"start_seconds":965,"text":"конструкция скажем лет x равняется 3 и от y равняется x и потом вы не можете","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=965s"},{"start_seconds":973,"text":"использовать переменную x потому что значение было передано","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=973s"},{"start_seconds":981,"text":"поэтому в россии что сделано примитивные типы данных врасти хранятся на стыке","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=981s"},{"start_seconds":988,"text":"и это значит что они также уничтожаются когда они выходят за область видимости","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=988s"},{"start_seconds":995,"text":"но при этом вырастет на примитивных типов данных то есть это допустим числа","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=995s"},{"start_seconds":1001,"text":"это пуля вы можете знать что вы можете точно так же как в других языках","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1001s"},{"start_seconds":1008,"text":"программирования присваивать одну переменную другой и так далее и как у вас это говорит о работать хорошо здесь","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1008s"},{"start_seconds":1016,"text":"есть фундаментальное объяснение почему это будет работать мы с вами рассмотрим сегодня очень похожи и при этом не","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1016s"},{"start_seconds":1025,"text":"примитивные типы данных такие то есть какие-то комплексные типы данных они хранятся куча и в этом случае в","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1025s"},{"start_seconds":1035,"text":"расте они эти переменные эти типы данных они освобождаются из кучи то есть джобс","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1035s"},{"start_seconds":1044,"text":"когда они выходят из области видимости рассмотрим такой пример вот у нас есть","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1044s"},{"start_seconds":1053,"text":"такая строка string один в которой лежит значение и кедами как вы уже могли помнить из предыдущих лекций а в данном","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1053s"},{"start_seconds":1061,"text":"случае string это у нас тура до of rome это метод метод этой структуры который скажет метод","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1061s"},{"start_seconds":1071,"text":"который результата структура и . что получаете доступ в данном случае","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1071s"},{"start_seconds":1078,"text":"это статический метод метода фронт это статический метод и это собственно у нас","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1078s"},{"start_seconds":1085,"text":"переменной string' один будет езжай строка со значением ракетами как вы","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1085s"},{"start_seconds":1092,"text":"помните что мы разбирали в россии есть несколько типов стрим несколько типов","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1092s"},{"start_seconds":1100,"text":"строк то есть есть такие строки кто из вас уже успел поработать с рассом видеть","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1100s"},{"start_seconds":1106,"text":"что иногда войну с большой буквы а переманил принимать переменной типа","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1106s"},{"start_seconds":1113,"text":"papers on st то есть в данном случае это строковые литералы и этот руководить ral он является","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1113s"},{"start_seconds":1122,"text":"как бы константам вы не можете изменять и соответственно другие правила но мы сейчас говорим про строку которая","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1122s"},{"start_seconds":1129,"text":"скажем более привычной adwords желтом с языков типа кафе java и так далее это какая-то страха в","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1129s"},{"start_seconds":1139,"text":"который решит ракеты и и почему это является комплексный потому что у вас эта строка может быть произвольной длины","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1139s"},{"start_seconds":1148,"text":"примеру объявить эту переменную как это был то есть быть лет мьют string ван то вы сможете изменять значение этой строки","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1148s"},{"start_seconds":1157,"text":"и соответственно вы во время компиляции программы вы не знаете как сколько именно памяти принимать этот раз не","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1157s"},{"start_seconds":1165,"text":"может быть 00 элементов в одной символов не может быть 100 тысяч поэтому","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1165s"},{"start_seconds":1173,"text":"соответственно конечно такая переменная это комплексный тип данных которых хранится в куча то есть этот динамический тип данных","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1173s"},{"start_seconds":1181,"text":"посмотрим как это все таки работает скажем так изнутри просто вот можно посмотреть вот по сути как это работает","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1181s"},{"start_seconds":1190,"text":"вот у нас есть переменная string один если смотреть как внутри у нас не хранятся такие перемены как длина и","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1190s"},{"start_seconds":1198,"text":"это всем символ и этой сети это 7 символов между","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1198s"},{"start_seconds":1205,"text":"они будут тоже out of school нашей лекции до тех кто уже таких этот","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1205s"},{"start_seconds":1217,"text":"концепт понять capacity если фракция это какой объем выделен для этой строки фактически","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1217s"},{"start_seconds":1226,"text":"и едино которая используется непосредственно и есть воля к enter которая грубо говоря содержит указатель","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1226s"},{"start_seconds":1234,"text":"на ячейку памяти которая была выделена до этой переменной и поэтому из ячейки","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1234s"},{"start_seconds":1240,"text":"памяти у нас соответственно первый","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1240s"},{"start_seconds":1244,"text":"элемент i-той строки и с индексом 1 2 2","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1244s"},{"start_seconds":1253,"text":"2 символ этой строке это попасть и так далее и и того у нас таких 7","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1253s"},{"start_seconds":1258,"text":"символов соответственно рассмотрим","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1258s"},{"start_seconds":1269,"text":"давайте такого пример если мы создаем вторую переменную string 2 и исаева им есть значение a string один как вы","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1269s"},{"start_seconds":1277,"text":"думаете что произойдет произойдет как не","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1277s"},{"start_seconds":1283,"text":"ожидаете допустим вот так и ситуация вторая переменная stringvar и на самом деле это string 2 она будет","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1283s"},{"start_seconds":1293,"text":"указывается на тоже на ту же чей купаете то есть получается в данном случае у нас будет такая ситуация когда у нас","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1293s"},{"start_seconds":1302,"text":"переменная strenx'а оказывает на ключи по памяти и переменная то есть одновременно две","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1302s"},{"start_seconds":1310,"text":"те же переменные указывает на тут уже чипа памяти как вы понимаете кто из вас","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1310s"},{"start_seconds":1317,"text":"пользовался да это опасный подход почему напал на паз и потому что допустим вы","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1317s"},{"start_seconds":1327,"text":"оперируете переменной string' один и мы ожидаем вы не меняете выключения вы ожидаете что все происходит потому что вы не видите чтобы менять значение","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1327s"},{"start_seconds":1335,"text":"перволь string один но при этом у вас примерно string вас ссылается на тот же участок памяти и соответственно если","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1335s"},{"start_seconds":1342,"text":"будет изменена string какой то какой то это символ или добавили новые силовые","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1342s"},{"start_seconds":1350,"text":"викторины то соответственно неявно поменяется также значение переменной a singing","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1350s"},{"start_seconds":1355,"text":"и это очень хороший способ это как раз то о чем мы говорили это не безопасное","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1355s"},{"start_seconds":1364,"text":"управление памятью и соответственно в расте как бы не будет позволено","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1364s"},{"start_seconds":1373,"text":"происходить что же изначально вот кота пользователя как бы программист из когда в данном","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1373s"},{"start_seconds":1383,"text":"контексте говорю пользователями пользовательское программирование то есть программиста труда напиши что хотел сделать программистской долбишь","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1383s"},{"start_seconds":1390,"text":"склонил extreme2 равно стригла он скорее всего ожидал вот получить какой-то такой результат в переменной","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1390s"},{"start_seconds":1398,"text":"стенд 2 ссылалась на свой участок памяти и при этом в этом участком памяти содержалось ровно та же информация как и","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1398s"},{"start_seconds":1406,"text":"в этом участке памяти но такое происходить не будет просто чтобы происходить врасти вместо этого","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1406s"},{"start_seconds":1413,"text":"вместо этого просто когда вы создаете переменную string 2 она действительно оказывается на ту же","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1413s"},{"start_seconds":1420,"text":"область памяти что переменная среда день но при этом что делает раз при этом раз","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1420s"},{"start_seconds":1426,"text":"он как бы обозначает переменную string один что я уже невозможно использовать на текущий момент потому что этим","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1426s"},{"start_seconds":1435,"text":"участком памяти владеет переменная стрельцова и соответственно как это понятиях языка","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1435s"},{"start_seconds":1444,"text":"роста как это называется это называется что владение владение","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1444s"},{"start_seconds":1451,"text":"вот этим участком памяти было передано от переменной string' один переменной a string 2","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1451s"},{"start_seconds":1460,"text":"то есть вот это вот это вот вот это запомните это передача владения точно владения на ум ножичек избегут владение","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1460s"},{"start_seconds":1470,"text":"было передано соответственно если вы в россии продолжить этот пример которой string ту","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1470s"},{"start_seconds":1479,"text":"если спросите вы присвоили строке one и","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1479s"},{"start_seconds":1487,"text":"потом вы попытаетесь вывести содержимое строки стрингами вы","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1487s"},{"start_seconds":1495,"text":"получите вот такую ошибку компилятора и","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1495s"},{"start_seconds":1501,"text":"что скажет он скажет что здесь произошел","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1501s"},{"start_seconds":1507,"text":"муж потому что streaming один имеет тип string и этот тип не реализует трэйд","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1507s"},{"start_seconds":1515,"text":"копи что такое трейд мы на текущий лекса разбирать не будем трейды мы разберем на будущих","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1515s"},{"start_seconds":1522,"text":"на будущих уроках если вкратце на текущий момент не вникая особенно в подробности какая логика врасти если у","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1522s"},{"start_seconds":1532,"text":"вашего объекта нет скажем доступного свойства копирования в данном случае troyka может сочетать что это свойство","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1532s"},{"start_seconds":1539,"text":"на сейчас то есть если объекта нет устройство копировать то этот объект его владение","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1539s"},{"start_seconds":1547,"text":"будет передано и соответственно капилляров отчимом ругаясь он вам","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1547s"},{"start_seconds":1554,"text":"говорит что вы попытаетесь использовать перемещена","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1554s"},{"start_seconds":1561,"text":"значение то есть вы передали значение вот этой строки переменной string' 2 и значит уже стрим бланк будущем не","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1561s"},{"start_seconds":1569,"text":"владеет этим объектом но при этом вы пытаетесь вывести строку со значением объекта сталин бланк и раз вам не","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1569s"},{"start_seconds":1577,"text":"позволяет это делать и поэтому это происходит во время компиляции программы что опять же возвращаемся к тому же принципу кай про который я говорил вот","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1577s"},{"start_seconds":1586,"text":"наши самой первой лекции прости если маска программа ваши корректируется то практически всегда она будет работать","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1586s"},{"start_seconds":1593,"text":"так как вы этого ожидается ну то есть вот логика да конечно может отличаться но в плане потому чтобы реализовать не","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1593s"},{"start_seconds":1603,"text":"так так как себе представить голове но суть в том что с технической точки","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1603s"},{"start_seconds":1610,"text":"зрения ваша программа будет работать не произойдет такого момента как я говорил","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1610s"},{"start_seconds":1617,"text":"что у вас обе переменная указывает тоже глаз памяти и при изменении скажем street 2","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1617s"},{"start_seconds":1623,"text":"вы случайно пока можете обнаружить что у вас также меняется просто такого не будет как вы видите это","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1623s"},{"start_seconds":1634,"text":"ошибка корреляция давай теперь перейдем собственно семантики перемещения перемещения","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1634s"},{"start_seconds":1644,"text":"владения до объекта в расте используются и более того заставляет","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1644s"},{"start_seconds":1660,"text":"воспользовался должен знакомы с таким концертам то есть","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1660s"},{"start_seconds":1668,"text":"этот концепт он что гласит что получение ресурсов это является инициализации этого ресурса .","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1668s"},{"start_seconds":1673,"text":"благодарю вас нету неинициализированных объектов и более того если ваш объект больше не используется уничтожаются то","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1673s"},{"start_seconds":1684,"text":"есть как раз в 1 tiny за ваши объекты опять же возвращаемся к этому концерту еще раз проговорим его это важно если","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1684s"},{"start_seconds":1691,"text":"ваши объекты выходят из области видимости то есть выходят заз-клуб я собственно советую вам использовать","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1691s"},{"start_seconds":1698,"text":"такие понятия как скуп даже если вы на русском языке до общаетесь","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1698s"},{"start_seconds":1708,"text":"мистер и если ваш объект и выходят за 100 то объект и уничтожаются почему я вот","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1708s"},{"start_seconds":1716,"text":"если внимание уже не первый раз слышу сколько что они джобс только что мы с вами когда смотрели этот пример ошибку","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1716s"},{"start_seconds":1725,"text":"компиляции здесь вам координатор пишет что ваша","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1725s"},{"start_seconds":1731,"text":"переменная не рисует копи trade так как я сказал что папе это свойства объекта","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1731s"},{"start_seconds":1739,"text":"то свойство объекта которая отличает для печать за его уничтожение называется","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1739s"},{"start_seconds":1745,"text":"прости что происходит перемена когда она","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1745s"},{"start_seconds":1752,"text":"выходит за область видимости она джобс то есть она уничтожается и это","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1752s"},{"start_seconds":1759,"text":"запомнить позже и соответственно когда выходите за область видимости мотор чтоб я уничтожается","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1759s"},{"start_seconds":1767,"text":"ресурсы которыми владел этот объект они также очищаются что имеется ввиду но в данном","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1767s"},{"start_seconds":1774,"text":"случае когда у нас была строка 1 32 которая получила владение поступаете а","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1774s"},{"start_seconds":1783,"text":"как вы можете заметить в присутствии на этом рисунке и занятия так как это","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1783s"},{"start_seconds":1791,"text":"описано в упрощенном виде структура сама string нём есть они есть указатель на","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1791s"},{"start_seconds":1798,"text":"если попадете в которой лежат она и медленно и в ней есть и более мало того","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1798s"},{"start_seconds":1806,"text":"что with string 2 будет уничтожен когда он выйдет из области видимости до так скажем закончится ваша фигурной скобки","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1806s"},{"start_seconds":1813,"text":"которая вы поставили в каком-то месте вашей программы допустим как эта функция или просто ограниченная область","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1813s"},{"start_seconds":1822,"text":"видимости внутри какой-то по улице как бы рассмотреть на прошлых лекциях . льда slim 2 выходят за область видимости","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1822s"},{"start_seconds":1831,"text":"мало того что эта перемена уничтожается но ее ресурс освобождаются то есть данном случае ресурса по что я ресурс","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1831s"},{"start_seconds":1839,"text":"это область видим это область памяти которая хранится в строках кедами то есть в данном случае это память будет","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1839s"},{"start_seconds":1848,"text":"также освобождена то есть объекты уничтожаются когда они выходят за","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1848s"},{"start_seconds":1857,"text":"область видимости их ресурсная очищаются освобождаются при","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1857s"},{"start_seconds":1863,"text":"этом что важно понимание семантики братство присвоения переменных то есть а","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1863s"},{"start_seconds":1871,"text":"вот вот это было у нас предстояние переменных также передача аргументов в","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1871s"},{"start_seconds":1879,"text":"функцию по значению а также возвращение результатах испугался допустим эти все","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1879s"},{"start_seconds":1889,"text":"три вида из как бы использования они передают владения и после передачи","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1889s"},{"start_seconds":1896,"text":"владения ресурсами предыдущего с уже и поле что не может получить доступ","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1896s"},{"start_seconds":1904,"text":"не может получить доступ к той же памяти о чем мы с вами говорили как раз здесь","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1904s"},{"start_seconds":1911,"text":"когда мы с помощью присвоения а вот это оператор присвоения мы присвоили string","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1911s"},{"start_seconds":1918,"text":"востребован в этот миг после этого стрелу long уже не может получить доступ","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1918s"},{"start_seconds":1927,"text":"я показывал как я показывал здесь так","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1927s"},{"start_seconds":1936,"text":"как мы уже передали владения по мячу переменной steam 2 то попытка обратиться к переменной string' один это будет","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1936s"},{"start_seconds":1944,"text":"ошибка у string один уже нет доступа она потеряла овладения рассмотрим конкретные","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1944s"},{"start_seconds":1954,"text":"примеры чтобы было понятнее то есть как я сказал что присвоение","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1954s"},{"start_seconds":1960,"text":"оператор присвоения он передает владение то есть от одного объекта права владения","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1960s"},{"start_seconds":1969,"text":"приходят другого объекта вот собственно пример да как это также передача","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1969s"},{"start_seconds":1978,"text":"аргументов функции по значению точно также передает владение давайте","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1978s"},{"start_seconds":1985,"text":"рассмотрим простой пример вот у нас есть функция main в котором мы создаем переменную string","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1985s"},{"start_seconds":1993,"text":"один точно такая перемена как в предыдущих примерах которая лежит строка ракетами при этом у нас есть функция","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=1993s"},{"start_seconds":2001,"text":"принципе которая что делать она просто выводит на экран значение вот передано","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2001s"},{"start_seconds":2012,"text":"передано переменной s мы с вами делаем мы здесь выводим строку","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2012s"},{"start_seconds":2023,"text":"первая попытка передаст им потом вызываем функцию print стрим который","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2023s"},{"start_seconds":2031,"text":"выводит на экран строку recipe string и соответственно самарка и потом вызываем","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2031s"},{"start_seconds":2038,"text":"опять вызова этой функции онлайн print and scan но там вторая попытка опять","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2038s"},{"start_seconds":2045,"text":"переменных среды в данном случае врасти это не сработает это будет опять ошибка","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2045s"},{"start_seconds":2055,"text":"это ошибка компиляции почему собственно так бы потому что в данном случае вы","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2055s"},{"start_seconds":2062,"text":"передали значит владение своей переменной в","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2062s"},{"start_seconds":2070,"text":"функцию при и если","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2070s"},{"start_seconds":2079,"text":"если вы посмотрите внимательно на сакуру","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2079s"},{"start_seconds":2083,"text":"функции функция вами на экран","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2083s"},{"start_seconds":2095,"text":"сейчас по мокрому купил эту вкладку","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2095s"},{"start_seconds":2165,"text":"смотрите в данном случае вы создали переменную string один присвоили строку","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2165s"},{"start_seconds":2171,"text":"вы вывели значение этой строки потом вызвали функцию print 3 как вы","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2171s"},{"start_seconds":2181,"text":"можете заметить функция принимает аргумент с типа string и что происходит в россии","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2181s"},{"start_seconds":2188,"text":"врачи в данном случае вы передаете владения во владение своей строкой год переменной string' один вы передаете","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2188s"},{"start_seconds":2196,"text":"владение функции принципе и соответственно так как вы передали владение право владения этими данными функции","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2196s"},{"start_seconds":2205,"text":"принести вам раз не даст сделать вот такую вот конструкцию он не даст вам второй раз вывести содержимое этой","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2205s"},{"start_seconds":2213,"text":"строки собственно у вас будет ошибка компиляции которая будет выглядеть вот так компилировать это ход брахман скажешь","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2213s"},{"start_seconds":2222,"text":"что вы пытаетесь опять же получить перемещенная перемещенный перемен то есть перемещенная перемена дальнейшем","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2222s"},{"start_seconds":2231,"text":"использовать понятия must semantics скажем более есть с чем перемещена","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2231s"},{"start_seconds":2238,"text":"переменная то что перемещена перемена скажем зачитывать немного странновато в","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2238s"},{"start_seconds":2248,"text":"данном случае полагает она владение функции при mix 3 и вы пытаетесь используете must вы","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2248s"},{"start_seconds":2257,"text":"пытаетесь использовать значение этой переменной которая уже не владеет теми","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2257s"},{"start_seconds":2267,"text":"данными которыми владел а изначально раз он собственно и говорит об этом да я видел вас в чате были обсуждения по поводу","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2267s"},{"start_seconds":2275,"text":"того что насколько там не информативные ошибки в россии на самом деле они достаточно информативно и конкретно в","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2275s"},{"start_seconds":2282,"text":"чате я вот видел перед акция пример был там да по поводу тестирования ну конкретно там вам брат даже говорил что","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2282s"},{"start_seconds":2291,"text":"использовать просто так вот здесь опять","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2291s"},{"start_seconds":2299,"text":"же раз вам очень все четко говорит что происходит не так он нам подсвечивает что track 1 опять же является типом","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2299s"},{"start_seconds":2307,"text":"string который не реализовывает свойства копирование и соответственно когда вы","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2307s"},{"start_seconds":2313,"text":"вызываете принц stream то ваше владение от права владения данными от переменной","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2313s"},{"start_seconds":2321,"text":"string' один переходит функцию принц 3 и вам калькулятора как же подсказывает что выяснились пытаетесь использовать","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2321s"},{"start_seconds":2329,"text":"значение после вов и рак fontal и позволяет это делать на это как апелляция законы природы если кому то","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2329s"},{"start_seconds":2339,"text":"интересно по поводу свойства копи если бы у вас скажем вот это наша строка string у неё было бы свойства хобби то","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2339s"},{"start_seconds":2348,"text":"это был бы валидный код и он бы скомпилировал говоря если вы у нас в","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2348s"},{"start_seconds":2353,"text":"россии строк происходило вот такой вот","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2353s"},{"start_seconds":2360,"text":"вид из переменной string' 2 копировала содержимое этой ячейки памяти в новую","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2360s"},{"start_seconds":2366,"text":"ячейку памяти и вот эти чипы памяти","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2366s"},{"start_seconds":2373,"text":"тогда тот тот ход на примере он был по работе и повергался там случая ранг знал","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2373s"},{"start_seconds":2382,"text":"бы что даже если вы пытаетесь использовать повторно эту переменную то никто другой не владел этой переменной","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2382s"},{"start_seconds":2390,"text":"то есть эта функция грубо говоря она получила копию этой переменной но не саму переменную и соответственно это","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2390s"},{"start_seconds":2398,"text":"безопасно если ты тоже функции будете изменять значение этой переменной до оригинальной переменная это не проблема","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2398s"},{"start_seconds":2406,"text":"потому что она точно знаешь что ее значение не изменялась также","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2406s"},{"start_seconds":2413,"text":"какой еще свойство есть семантики возвращение результата снова опять же","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2413s"},{"start_seconds":2420,"text":"передает владение давайте рассмотрим пример как это возвращать результаты как эта передача примера то есть не стоит на","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2420s"},{"start_seconds":2429,"text":"секунду посмотрим предыдущий пример здесь наша функция green street перевале принимает перемену с типа string что же такое","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2429s"},{"start_seconds":2440,"text":"возвращение результата вот мы указываем что наша функция принц и она возвращается как результат тоже","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2440s"},{"start_seconds":2449,"text":"переменную типа string и что происходит мы вызываем funds to try and string она","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2449s"},{"start_seconds":2455,"text":"также получает строку типа string и в","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2455s"},{"start_seconds":2461,"text":"конце мы как вы видите просто с то есть в данном случае наша функция возвращает","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2461s"},{"start_seconds":2468,"text":"опять же эту строку которую мы приняли назад как вы помните сейчас первой","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2468s"},{"start_seconds":2476,"text":"коллекции вот это синтаксис краткий синтаксис для возвращения результат функция написать . заготовили","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2476s"},{"start_seconds":2486,"text":"это было бы тоже самое что с без точки что теперь изменилось в нашем примере помимо того что мы возвращаем string и","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2486s"},{"start_seconds":2495,"text":"вращаем строку с конечно мы с данном случае должны string один изменяем и","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2495s"},{"start_seconds":2502,"text":"потому что мы собираемся использовать оператор предстояния да это переменных но что мы делаем мы пишем что string","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2502s"},{"start_seconds":2510,"text":"один равняется a twin string в которой мы передали и если мы попытаемся скомпилировать эту","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2510s"},{"start_seconds":2518,"text":"программу она у нас уже будет работать что происходит в данном случае как вот","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2518s"},{"start_seconds":2525,"text":"если рассмотреть по шагов сначала мы создаем переменную string один которая хранится строка обеды","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2525s"},{"start_seconds":2532,"text":"потом мы выводим i на экран консоль содержимое этой строки потом мы вызываем","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2532s"},{"start_seconds":2540,"text":"функцию принцем которая передается владение значением владения","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2540s"},{"start_seconds":2547,"text":"вот на текущий момент когда новый завет эту функцию у нас уже ст encoding она не владеет этой переменной но что потом мы","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2547s"},{"start_seconds":2555,"text":"делаем самой функции в самой функции в конце возвращаем опять же переменную типа string то есть мы возвращаем назад","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2555s"},{"start_seconds":2564,"text":"овладение этим объектам и соответственно здесь мы присваиваем 31","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2564s"},{"start_seconds":2571,"text":"мы присваиваем значение которое видно функция винкс 3 и вот в этот момент когда мы возвращаем","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2571s"},{"start_seconds":2578,"text":"это значение функция print screen она уже больше не владеет она уже не","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2578s"},{"start_seconds":2585,"text":"владеет этой переменной и из владения то переменных в этой в этой части вот в этой строке","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2585s"},{"start_seconds":2592,"text":"она возвращено назад переменной string' один из агдама попытаемся вместе с ним","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2592s"},{"start_seconds":2599,"text":"на экран функция main это уже не будет ошибкой и все окей потому что вы вернули","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2599s"},{"start_seconds":2607,"text":"владение этим агентом и вот когда мы вернули овладение этим объектом мы уже не можем сказать что одновременно два объекта","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2607s"},{"start_seconds":2615,"text":"владеет этими данными не только один просто порядок менялся сначала офигенная string один владелец потом","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2615s"},{"start_seconds":2622,"text":"владельцам слова функция принтере а потом передал во владении и опять","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2622s"},{"start_seconds":2630,"text":"владельцам стала переменной string' один кстати такой вот еще момент рассмотрим","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2630s"},{"start_seconds":2640,"text":"то что я дам несколько раз кроме упоминал что когда перемена выходят за область видимости происходит то есть","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2640s"},{"start_seconds":2649,"text":"переменная уничтожается и освобождаются ресурсы которыми","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2649s"},{"start_seconds":2658,"text":"предыдущего примера вот у нас была функция pins 3 которому передать","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2658s"},{"start_seconds":2664,"text":"переменную string эта функция это появляется один не school то есть после того как у нас эта функция","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2664s"},{"start_seconds":2672,"text":"завершена у нас будет освобождена старка с и вот на этот момент у","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2672s"},{"start_seconds":2679,"text":"все уже будет освобождена память и больше у нас памяти не будет против","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2679s"},{"start_seconds":2685,"text":"память не будешь какие кадры потому что при завершении вот этой функции у нас","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2685s"},{"start_seconds":2692,"text":"уничтожилась память в этом примере у нас память не уничтожилась потому что мы вернули владения назад и получается","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2692s"},{"start_seconds":2700,"text":"когда назад-то область видимости остается рафу тоже еще функция main а вот при завершении уже функции main","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2700s"},{"start_seconds":2709,"text":"переменной a string один будет удалена ресурсы которыми владеет это переменная то есть строка первыми эти ресурсы будут","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2709s"},{"start_seconds":2719,"text":"освобождены собственно что нужно на самом деле окажется вот такая","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2719s"},{"start_seconds":2727,"text":"конструкция немного странная мы просто хотим распечатать строку на экран при этом нам приходится делать какие-то","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2727s"},{"start_seconds":2735,"text":"кажется странноватые операции мы просто хотим распечатывать строку да кому он какие там передачи владения почему мы","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2735s"},{"start_seconds":2743,"text":"должны об этом задумываться настолько тяжело то есть обязательно вернуть назад","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2743s"},{"start_seconds":2750,"text":"это владение потом опять же сделать какую-то был чтобы можно было сделать","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2750s"},{"start_seconds":2756,"text":"присвоение это кажется немного сложно и так конкретно в этом случае это излишнее","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2756s"},{"start_seconds":2763,"text":"как же нам сделать так чтобы мы могли спокойно передать строку когда мы знаем что мы и не собираемся","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2763s"},{"start_seconds":2770,"text":"изменять мы ее просто хотим распечатать те самые распечатываем там и мы ведь мы меняем ее значение операции чтения мы","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2770s"},{"start_seconds":2780,"text":"ожидаем что происходит и для этого существует этот уровень уровень музыка","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2780s"},{"start_seconds":2791,"text":"как для того чтобы вы могли получить доступ к данным но при этом не изменяя","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2791s"},{"start_seconds":2797,"text":"владения титан то есть конкретном","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2797s"},{"start_seconds":2807,"text":"примере как я только что говорил ведь хотели просто вывести значение этой переменной она экраном и не пытались изменить ее значение и поэтому кажется","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2807s"},{"start_seconds":2814,"text":"что использование вновь излишняя до этого примера и да вот в этом как раз и случае было бы более целесообразно","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2814s"},{"start_seconds":2822,"text":"использовать барби также когда мы","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2822s"},{"start_seconds":2828,"text":"используем форуме компилятор статически гарантирую что во время компиляции что","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2828s"},{"start_seconds":2836,"text":"ссылки всегда указывает на аварийные объекта точно вернёмся когда я","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2836s"},{"start_seconds":2843,"text":"имея за коми к тому же если у вас точно так же вы видели какую-то память хип","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2843s"},{"start_seconds":2851,"text":"кучера вы как-то чего-то с ней делали потом вы скажем изменили значение строки","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2851s"},{"start_seconds":2859,"text":"и вас цветами есть какой-то другой указатель который указывает на эту область видимости новым далее 1","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2859s"},{"start_seconds":2866,"text":"указатель который указывает эту область видимости вас итоге будет что у вас будет попытка доступа к 100 почтенной","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2866s"},{"start_seconds":2874,"text":"памяти и это что это гаджет то есть это и и крыш вашей программы или","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2874s"},{"start_seconds":2881,"text":"какой-то анды фантики его сложно прогнозировать что произойдет в каждом конкретном случае случае роста этого не","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2881s"},{"start_seconds":2889,"text":"произойдет потому что компилятор гарантирую что если у вас есть какая то ссылка на обед то она указывает на валидный объект эта ссылка не можешь","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2889s"},{"start_seconds":2897,"text":"показывать на какое-то скажем поврежденной объекты на участок освобожденной память здесь конечно","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2897s"},{"start_seconds":2906,"text":"определенное исключение поля во встрече августу этого курса но компилятор вот это","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2906s"},{"start_seconds":2914,"text":"гарантирует за счет использования такого инструмента который бросается поручика","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2914s"},{"start_seconds":2921,"text":"то есть это скажем модуль топовых","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2921s"},{"start_seconds":2928,"text":"компилятора который проверяет водить нас ссылок что ссылки как раз указывает на валидные объекта и при этом если что","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2928s"},{"start_seconds":2937,"text":"такое важно форум что пока ссылки на объект","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2937s"},{"start_seconds":2944,"text":"существует объект не может быть уничтожен что это значит это значит что","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2944s"},{"start_seconds":2952,"text":"если мы создали нескольких петь несколько переменных которые ссылается на какую-то область памяти","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2952s"},{"start_seconds":2958,"text":"то это область памяти не будет освобождена до тех пор пока","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2958s"},{"start_seconds":2966,"text":"объекты которые они ссылаются не будут уничтожены то есть до тех пор пока эти","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2966s"},{"start_seconds":2970,"text":"объект они выйдут за скоб какие","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2970s"},{"start_seconds":2978,"text":"собственно правило бур чтобы передать объект по ссылке в россии вы указываете амперсанд амперсанд","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2978s"},{"start_seconds":2988,"text":"указывается перед типа мне перед названием переменной а перед ее типом","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2988s"},{"start_seconds":2995,"text":"рассмотрим такой пример то есть если вот","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=2995s"},{"start_seconds":3003,"text":"пример и как бы казалось все и классный вопрос распечатываем строку у нас должно все работать но как и объяснил расти это не будет работать","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3003s"},{"start_seconds":3011,"text":"потому что вы передали владение этой строкой и как вот собственно такой же пример чуть-чуть модифицировать на сделать так чтобы у вас это было как","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3011s"},{"start_seconds":3020,"text":"федеральная программа чтобы она работала так как вы этого ожидает это сделать достаточно просто с помощью борова","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3020s"},{"start_seconds":3026,"text":"механизма и как вы можете заметить вот вот эти призраки эта строка и вот","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3026s"},{"start_seconds":3035,"text":"эта строка изменилась сама сигнатуру функции то есть теперь у нас функция print screen она принимает переменную s 2 эта","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3035s"},{"start_seconds":3044,"text":"переменная не типа string эта переменная типа ссылка на 3 и соответственно с точно так же когда вы вызываете эту","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3044s"},{"start_seconds":3052,"text":"функцию вы передаете ему тоже эту функцию не перемен множестве негативный передаете указатель на переменную string","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3052s"},{"start_seconds":3060,"text":"или или конкретно в таком случае ваша программа скооперироваться потому что вы не не","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3060s"},{"start_seconds":3068,"text":"передать владение при этом случае вызывать функцию print не передаете владение этой переменной в","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3068s"},{"start_seconds":3075,"text":"in только скажем а там желаете временно одалживаете","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3075s"},{"start_seconds":3082,"text":"эту переменную причем в данном случае вы одалживаете не позволяет изменять","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3082s"},{"start_seconds":3087,"text":"переменах если вы хотите искать эту переменную то для этого вы должны","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3087s"},{"start_seconds":3095,"text":"указывать амперсанд бьются и так","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3095s"},{"start_seconds":3104,"text":"конкретно в данном случае да это извечная потому что функция принцип она","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3104s"},{"start_seconds":3113,"text":"как бы даже по названию то подразумевают что эта функция просто выводя строку на экран но если допустим в этой функции вы","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3113s"},{"start_seconds":3120,"text":"по каким то причинам хотели бы модифицировать значение этой строки то тогда вы можете или передать владение","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3120s"},{"start_seconds":3128,"text":"этой функции или в данном случае передач вы можете","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3128s"},{"start_seconds":3139,"text":"спросить в чем отличие скажем от обычной передачи объекта когда мы просто","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3139s"},{"start_seconds":3148,"text":"газовать x3 но отличие в том что как вы помните вот","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3148s"},{"start_seconds":3155,"text":"в этом примере для того чтобы вернуть владение объектом было должны были написать такую конструкцию то есть мы","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3155s"},{"start_seconds":3165,"text":"должны были сделать во первых стрим ван","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3165s"},{"start_seconds":3170,"text":"также сделать здесь вы еще в этой","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3170s"},{"start_seconds":3180,"text":"функции пошли были возвращать результат типа string и вы должны быть явно указать что вы возвращаете владение возвращает результат и соответственно вы","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3180s"},{"start_seconds":3188,"text":"возвращаете владение этой переменной случай бороны вот этот вот так вот если бы вы сюда","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3188s"},{"start_seconds":3197,"text":"добавили перстом пьют а был он был говорить да он был бы не совсем правильно потому что веса предательством","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3197s"},{"start_seconds":3206,"text":"изменяем ссылку если вы не планируете сжимаете переменной но этот пост был бы","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3206s"},{"start_seconds":3212,"text":"валидный конечно вы должны были доказать что эта переменная типа string один","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3212s"},{"start_seconds":3219,"text":"потому что реальность string одиночество оно бьют обл потому что раст вам опять же он не даст","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3219s"},{"start_seconds":3227,"text":"такого делает что если эта функция была выглядел аватарках бью там которая","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3227s"},{"start_seconds":3233,"text":"принимает и это был string показательно string бы не позволил вот таким образом","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3233s"},{"start_seconds":3244,"text":"и передать переменную потому что раз вам бы сказал что вы пытаетесь использовать одни изменяемую переменную как","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3244s"},{"start_seconds":3251,"text":"изменяемую и это опять же вопрос и про то что врачи неизменяемая все помолчали почему это хорошо что если вы случайно","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3251s"},{"start_seconds":3260,"text":"стали такой ход которая вы называете принципе вот такого типа особо не давать выходкам бы сказал","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3260s"},{"start_seconds":3267,"text":"ребят вы пытаетесь использовать переменную которую объявили как неизменяемые пытайтесь использовать","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3267s"},{"start_seconds":3275,"text":"функции которая меняет его значение и вам компилятор не даст это сделать нам случае пор ручей к какой есть еще","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3275s"},{"start_seconds":3285,"text":"правило в городе данные могут имеют а был то есть неизменяемо они могут быть","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3285s"},{"start_seconds":3293,"text":"захвачены неограниченное количество раз захвачены этого можете нагрузка","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3293s"},{"start_seconds":3300,"text":"переводить как бы скажем захвата значение захват значения или","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3300s"},{"start_seconds":3307,"text":"условно до одалживания значение то есть какое правило данные могут быть захвачены неизменяемым образом","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3307s"},{"start_seconds":3316,"text":"неограниченное количество раз что это значит это значит что вы бы могли вызывать эту функцию принимает","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3316s"},{"start_seconds":3325,"text":"неограниченное количество раз и повторно вообще не было то есть чтобы работ лодке","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3325s"},{"start_seconds":3334,"text":"но при этом если если значение было захвачено","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3334s"},{"start_seconds":3344,"text":"неизменяемым типом оригинальные данные не могут быть оригинальное значение оно не могло быть","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3344s"},{"start_seconds":3353,"text":"был дорог то есть захвачена изменяем конкретно это кусок это уже смотрите","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3353s"},{"start_seconds":3360,"text":"больше примеры этим концептом","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3360s"},{"start_seconds":3365,"text":"самостоятельно и также еще такое правило","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3365s"},{"start_seconds":3375,"text":"что только одна изменяемая какой-то участок времени то есть не может быть","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3375s"},{"start_seconds":3383,"text":"такой ситуации что у вас одна переменная владеет объектом а при этом другая переменная она не владеет объектом но у","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3383s"},{"start_seconds":3393,"text":"вовы идей как вы передали изменяем в ссылку на ваш объект в россии это","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3393s"},{"start_seconds":3400,"text":"запрещено делать потому что опять же когда вы пишете код мясо вы знаете что","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3400s"},{"start_seconds":3409,"text":"вас эта переменная только эта переменная может изменять значение очень неприятно когда оказывается что какой-то другая","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3409s"},{"start_seconds":3417,"text":"переменная каким-то образом изменил значение вашей перемен возрасте это будет невозможно это опять ошибке компиляции раз он","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3417s"},{"start_seconds":3426,"text":"скажет про то что вы не могут одновременно получать доступ к изменения","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3426s"},{"start_seconds":3434,"text":"объекта даже если владелец один но при этом другой объект получил","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3434s"},{"start_seconds":3440,"text":"право на иск на то чтобы модифицировать содержимое эти там еще раз это будет","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3440s"},{"start_seconds":3447,"text":"ошибка при этом можно захватывать","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3447s"},{"start_seconds":3456,"text":"владение объектом оригинальным объектом снова только после того как изменяемая","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3456s"},{"start_seconds":3465,"text":"ссылка на этот уже выйдет скажем зашел то выйдет за область видимо","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3465s"},{"start_seconds":3472,"text":"то есть уже будет это захваченная захватывает доступ он будет возвращен","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3472s"},{"start_seconds":3479,"text":"и так далее финальные данные оригинальные владелец этой переменной","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3479s"},{"start_seconds":3483,"text":"сможет опять сможет опять передавать","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3483s"},{"start_seconds":3490,"text":"передавать скажем доступ к этой переменной другие функции грина","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3490s"},{"start_seconds":3498,"text":"только тогда и более того у вас опять же","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3498s"},{"start_seconds":3506,"text":"чтобы избежать такой ошибки что у вас есть переменные которые захватили оригинальный эффект неизменяемых типов","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3506s"},{"start_seconds":3513,"text":"типом а другие переменные заплатили ваша цель изменяемы типом расстройством такого и позволит потому что опять же","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3513s"},{"start_seconds":3522,"text":"очень странно конечно происходит постоянно у вас есть какая-то скажем вы","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3522s"},{"start_seconds":3532,"text":"считаете константа входе не как санта понятия красного константах понятия концептуального даже если у вас есть","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3532s"},{"start_seconds":3540,"text":"какая-то переменная которая объявлена просто допустим live streaming","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3540s"},{"start_seconds":3546,"text":"равняются тригон санкций план вы не","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3546s"},{"start_seconds":3553,"text":"можете создать переменную string 3 равняется не это был амперсанд стринги он потому","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3553s"},{"start_seconds":3561,"text":"что даст вам скажет что может происходить когда времена есть не изменяем с изменяемой ссылки и это было","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3561s"},{"start_seconds":3569,"text":"бы страны странно очень если такого проект ходил ой какой была бы разрешено потому что это бы значило что когда вы пишете код как программист и вы видите что у вас","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3569s"},{"start_seconds":3578,"text":"есть переменная которая неизменяемая но при этом вы какой-то момент времени да пусть а потом отслеживаете пока что у","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3578s"},{"start_seconds":3586,"text":"вас каким-то образом изменилась значение переменной и такое постоянно происходит программиста","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3586s"},{"start_seconds":3594,"text":"потому что там нет такого механизма пол нальчик оборотный прости такого не будет","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3594s"},{"start_seconds":3600,"text":"происходить потому что раз заметят у ошибку с помощью баранчиков и уведомит","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3600s"},{"start_seconds":3609,"text":"вас об этом то есть если вы видите что ваша переменная не сняла не изменяемого типа вы точно можете","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3609s"},{"start_seconds":3616,"text":"знать что никакой другой поток никакая другая переменная не какая то там какая функция не сможет изменить","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3616s"},{"start_seconds":3625,"text":"значение этой переменной и это и вот эти","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3625s"},{"start_seconds":3633,"text":"вот принцип это которая принципе пор у индюшек которые мы сейчас рассмотрели собственно они являются а первой","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3633s"},{"start_seconds":3641,"text":"причиной многих крупных компаний таких как например тот же microsoft да почему они переходят на 1","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3641s"},{"start_seconds":3649,"text":"основное преимущество роста это не не его какие-то функциональные кишки которые мы с вами смотрели расходы","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3649s"},{"start_seconds":3657,"text":"больше это не та то что язык читаются хорошо это не то что языке есть много такого как прикольного","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3657s"},{"start_seconds":3666,"text":"синтаксического сахара это даже не тот принцип просто чтобы не платить за то что вы не используете это именно в","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3666s"},{"start_seconds":3674,"text":"первую очередь концерт овощи сбора всех предыдущих перечисленные вещами также по ну и","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3674s"},{"start_seconds":3681,"text":"конечно влияет такой выбор но они второстепенные самый главный самый главный концерт в раз сама уникальная","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3681s"},{"start_seconds":3689,"text":"которое дают такую популярность растут все больше и больше скажи почему вы используют это как раз полна щиты барон","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3689s"},{"start_seconds":3696,"text":"то есть это то как раз управляет память я понимаю что это лица домой из вас","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3696s"},{"start_seconds":3704,"text":"возможно было сложно особенно допустим до тех людей так то ни было знаком с такими фундаментальными концертами как","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3704s"},{"start_seconds":3713,"text":"память павич куча кто не был знаком с текущими существующими механизмами","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3713s"},{"start_seconds":3722,"text":"управления памятью предметах горбач коннектора прочно выделении 100 пустыня","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3722s"},{"start_seconds":3728,"text":"память и я надеюсь что вы получите небольшой какой-то такой сайт про эти концепты я вам очень советую очень","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3728s"},{"start_seconds":3738,"text":"shoes самостоятельно также попробовать поиграться с этими концептами то есть на прошлой лекции женя вандал","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3738s"},{"start_seconds":3747,"text":"большое домашнее задание там где такие простые программки для подсчета площади","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3747s"},{"start_seconds":3757,"text":"круга квадрата и так далее утку небольшое приложение попробуйте там использовать","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3757s"},{"start_seconds":3764,"text":"эти концепты попробуйте использовать концепты скопировать этот код к которая","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3764s"},{"start_seconds":3772,"text":"показывал на презентации попробуйте написать свои небольшие програмки поиграться с этим попробуйте сломать это","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3772s"},{"start_seconds":3780,"text":"то есть это очень круто если вы подумаете то я сейчас сделаю это попробуйте","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3780s"},{"start_seconds":3788,"text":"попробуйте сделать это очень высоки по играетесь потому что конкретно с этими двумя концертами связано очень много","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3788s"},{"start_seconds":3797,"text":"власти как только вы привыкнете сразу станет намного проще и легче вы избежите","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3797s"},{"start_seconds":3806,"text":"очень многих ошибок когда вы не понимаете почему программа никак не вроде как выглядит все окей","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3806s"},{"start_seconds":3820,"text":"поэтому пожалуйста обязательно потратите время это я считаю наверное одна из","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3820s"},{"start_seconds":3829,"text":"самых важных лекции на нашем курсе по 1 тур по части роста возможно даже самое важное потому","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3829s"},{"start_seconds":3837,"text":"что без этих концепт образцы прочный никуда не так далеко и сразу забегу наперёд это абсолютно руке если вы","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3837s"},{"start_seconds":3845,"text":"скажем даже первый шанс какой с этим работаете 1 и 5 часов первые 10 первые","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3845s"},{"start_seconds":3852,"text":"даже 2030 640 возникали проблемы словно щека подлый и вам будет казаться что это","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3852s"},{"start_seconds":3860,"text":"сложно это нормально это окей что для вас это сложно но со временем вы к этим концептом очень велик нити и если потом","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3860s"},{"start_seconds":3868,"text":"возвращаться и забитом секрет даже там какой то вы уже будете","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3868s"},{"start_seconds":3877,"text":"думать совсем по-другому моего поэтому","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3877s"},{"start_seconds":3885,"text":"happy уборщик он бармен хокинг теперь","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3885s"},{"start_seconds":3891,"text":"перейдём к вопросам","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3891s"},{"start_seconds":3910,"text":"так я вижу комментарии что суперконцепт сама правильный nand-памяти да так есть","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3910s"},{"start_seconds":3918,"text":"когда я начинала сасом это был еще","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3918s"},{"start_seconds":3923,"text":"наверное дойдет и 2015 год очень странно","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3923s"},{"start_seconds":3930,"text":"и мне казалось что это очень не удобно момента пока уча нас","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3930s"},{"start_seconds":3938,"text":"запускал коробочек коран и очень часто не понимал что с этим происходит почему","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3938s"},{"start_seconds":3946,"text":"так почему не то но это были попытки сложнее когда еще там есть время жизни","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3946s"},{"start_seconds":3955,"text":"лишь time will examine и скорее всего в рамках курса не будем рассматривать возможно очень поверхностно потому что","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3955s"},{"start_seconds":3963,"text":"это чуть-чуть сложнее конце почему наши поборник ну да вначале вы будете дома","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3963s"},{"start_seconds":3971,"text":"часто запускает комбинатор часто смотреть на ошибки часто понять это за понять что там происходит но со временем","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3971s"},{"start_seconds":3979,"text":"вы оцените преимущества такого концерта врасти","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3979s"},{"start_seconds":3990,"text":"мило и тренировать работать не так ожидается да это именно","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3990s"},{"start_seconds":3997,"text":"так потому что потому что вы не ниц и резеро вали переменную и более того как","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=3997s"},{"start_seconds":4004,"text":"этого дела что вырасти еще на первой лекции кажется что если данном случае","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4004s"},{"start_seconds":4015,"text":"the box and notes","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4015s"},{"start_seconds":4037,"text":"перейдём к вопросам я еще один из тех","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4037s"},{"start_seconds":4048,"text":"конструктор которых нет в других языках программирования это верно хорошо мы","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4048s"},{"start_seconds":4053,"text":"запросу слышали постараемся сделать небольшое введение в эту тему на одной","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4053s"},{"start_seconds":4062,"text":"из целей секреции почему мы lifetime не рассматриваем в рамках этого курса по родству не рассматриваем более подробно","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4062s"},{"start_seconds":4071,"text":"так как например защиту уровень и подобное и не будем рассматривать будем рассматривать поверхностно потому что","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4071s"},{"start_seconds":4079,"text":"сама тема lifetime я рассчитаю можно рассматривать метре лекции вполне легко и возможно даже","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4079s"},{"start_seconds":4088,"text":"этого времени будет мало но почему мы не рассматриваем конкретно в рамках этого курса потому что наш курс первую очередь","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4088s"},{"start_seconds":4097,"text":"направлен на то чтобы вот мы когда его планировали мы хотели дать минимальный","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4097s"},{"start_seconds":4108,"text":"напор скажем владение runs там чтобы могли уже начинать писать какие-то смарт-контракты","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4108s"},{"start_seconds":4116,"text":"на том жене и в дальнейшем дальше","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4116s"},{"start_seconds":4120,"text":"обстоит контракты смарт-контракты то","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4120s"},{"start_seconds":4130,"text":"конкретной в общем идея в чем была что вы имеете минимальные минимальное","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4130s"},{"start_seconds":4139,"text":"подмножество низкое значение 1 и вы уже можете писать свои первые смарт-контракты манер на неё","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4139s"},{"start_seconds":4145,"text":"их языке сделан так максимально удобная изолирована что скорее всего при работе","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4145s"},{"start_seconds":4153,"text":"сне вы практически никогда не столкнетесь и 0 то есть тех знаний","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4153s"},{"start_seconds":4160,"text":"которые изначально планировал не знаю фраз которые изначально планирую дать","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4160s"},{"start_seconds":4167,"text":"рамках 1 курса и о принципе вам будет достаточно то что писать на них смарт-контракты","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4167s"},{"start_seconds":4174,"text":"потому что гнев это очень классно что без этого концепта вы можете уже","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4174s"},{"start_seconds":4180,"text":"работать но я слышал и его рассмотрим","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4180s"},{"start_seconds":4195,"text":"опять же попрошу пожалуйста пишите вопросы в отдельности акции вас как я сейчас смотрю в час до последнее","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4195s"},{"start_seconds":4204,"text":"сообщение на самом обычно на лекциях мы можем не заметить ваши вопросы xmpp вопрос у вас там скоро будет курс","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4204s"},{"start_seconds":4212,"text":"последите а зачем он если есть 1 да это верно","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4212s"},{"start_seconds":4219,"text":"смотрите это чаще разные направления случае с роста мы говорим в первую очередь если это проплачено это про","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4219s"},{"start_seconds":4227,"text":"таргет мир . на них если мы говорим про","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4227s"},{"start_seconds":4234,"text":"садитесь и и татары пятна эфириум экосистему и с помощью со видите вы","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4234s"},{"start_seconds":4241,"text":"можете не только перед тепло контракт и вы так же можете добавить контракты а в роли","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4241s"},{"start_seconds":4250,"text":"то есть это как раз тот проект в котором мы работаем с женей где вы можете описать в контракты на среди te digo","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4250s"},{"start_seconds":4259,"text":"этих в аврору в где вам роли полностью compatible виртуальная машина эфира но","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4259s"},{"start_seconds":4267,"text":"при этом аврора работает на мир и соответственно аврора имеет все","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4267s"},{"start_seconds":4276,"text":"преимущества это виртуально это виртуальная машина","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4276s"},{"start_seconds":4283,"text":"которая написана вы смарт-контракты нерва таков и это даёт очень много","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4283s"},{"start_seconds":4289,"text":"преимуществ таких опять же как работает на блокчейне near the","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4289s"},{"start_seconds":4298,"text":"это очень быстро и очень дешевая и при этом full compatible 30","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4298s"},{"start_seconds":4304,"text":"поэтому со видите это тоже важно и да поэтому будут курсы посадите но их полем","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4304s"},{"start_seconds":4312,"text":"считать уже не мой же так ?","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4312s"},{"start_seconds":4318,"text":"не полностью понятно что такое владелец эта переменная функция область видимости эта сущность которая в ответ некоторой","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4318s"},{"start_seconds":4325,"text":"области памяти эта абстракция которая гарантирует уникальность доступа к этому участку памяти какие варианты этих","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4325s"},{"start_seconds":4334,"text":"сущностей существуют эти сущности","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4334s"},{"start_seconds":4341,"text":"существуют вопрос задал via","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4341s"},{"start_seconds":4347,"text":"это да и то если подразумевает это такая сущность которая существует во время как раз компиляции программы как правильным","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4347s"},{"start_seconds":4355,"text":"сон николай какие варианты существуют этих сущностей варианты собственно это то что проявляет","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4355s"},{"start_seconds":4363,"text":"например тоже поручик здесь владелец объекта постоянно передается владение этим объектам и при этом проверяется","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4363s"},{"start_seconds":4373,"text":"если в этот же момент скажем изменяемые ссылки на объект не изменяемы ссылкой на объект соответствует ли это все правилам","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4373s"},{"start_seconds":4381,"text":"которые существуют просто правилам боров читера то есть да это определенная сущность стоит рассматривать это вот так","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4381s"},{"start_seconds":4392,"text":"как абстракция то есть конкретно такого что у вас будет","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4392s"},{"start_seconds":4398,"text":"какой-то ленор типами владения такого стоит смотреть на это именно как на","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4398s"},{"start_seconds":4407,"text":"концерт на абстракцию платок как управлять память то есть есть в глубину","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4407s"},{"start_seconds":4415,"text":"понимать как это на уровне valve реализовано но если если пожелания конечно можно но это точно тушку pucci","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4415s"},{"start_seconds":4424,"text":"pups и так переходим к следующим вопросом","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4424s"},{"start_seconds":4444,"text":"так передачу введения объекта функцию и возвращения его обратно происходит на и перевели зрения память или другими","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4444s"},{"start_seconds":4452,"text":"накладные расходы будет эффективнее использовать передачу по ссылке","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4452s"},{"start_seconds":4458,"text":"конкретно в данном примере то что я привозил выделение памяти происходить в","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4458s"},{"start_seconds":4465,"text":"этом собственно изначально и и есть идея концепция он ищет borrowing и","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4465s"},{"start_seconds":4473,"text":"то есть если оно сделано гораздо сложнее","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4473s"},{"start_seconds":4484,"text":"при этом учитывайте что я например","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4484s"},{"start_seconds":4494,"text":"сделано гораздо сложнее случае просто здесь как раз есть идея в том что это эффективно то есть вы не","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4494s"},{"start_seconds":4502,"text":"платите за то что вы не используете если вы скажем не изменяли как-то там объект","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4502s"},{"start_seconds":4511,"text":"то есть вы не платите за это вы не платите этими маранта my будет эффективно использовать передачу по","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4511s"},{"start_seconds":4517,"text":"ссылке эффективнее с точки зрения технического в данном примере я нет с точки зрения того насколько вы скажем","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4517s"},{"start_seconds":4527,"text":"правильно пишете программу да это будет эффективнее потому что что такие если вы","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4527s"},{"start_seconds":4533,"text":"функция ожидаете что она должна просто прочитать значение переменных и как как бы использовать эту переменную почтения","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4533s"},{"start_seconds":4543,"text":"то не стоит передавать владение этой функции не стоит передавать ее также меня","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4543s"},{"start_seconds":4557,"text":"вопросы к слайду 48 сейчас найдем стать","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4557s"},{"start_seconds":4564,"text":"48 так ну тут я вижу в этом вопросе фото","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4564s"},{"start_seconds":4581,"text":"обрывок и небольшое предупреждение ссылка на объект деньгах вероятно ссылки","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4581s"},{"start_seconds":4592,"text":"на литерал да это похоже концепт в данном случае здесь это может быть","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4592s"},{"start_seconds":4601,"text":"предупреждение винтер а потому что здесь растут тем более тоже не компилятор 1тр","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4601s"},{"start_seconds":4609,"text":"это он осмотре что в принципе вам не обязательно делать такое лишнее движение можно использовать","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4609s"},{"start_seconds":4616,"text":"непосредственно просто то динамике передавали то равных кедами поэтому здесь это уже речь об","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4616s"},{"start_seconds":4624,"text":"оптимизации но этот пример а это не про оптимизацию этот пример то чтобы продемонстрировать механизм работы","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4624s"},{"start_seconds":4644,"text":"настолько поручить ранее учиться смартфон торетто полностью логика зачастую да как николай иногда","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4644s"},{"start_seconds":4653,"text":"рассматривается в ран таймер но string от этого особо выхода нету","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4653s"},{"start_seconds":4660,"text":"основной концепт это то что проверка происходит во время компиляции","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4660s"},{"start_seconds":4673,"text":"так еще вопросы момент происходит освобождение памяти в конце блока","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4673s"},{"start_seconds":4681,"text":"области видимости сразу после последнего использования перемены в конце области","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4681s"},{"start_seconds":4688,"text":"видимости стандартных концертах я вижу что есть еще ответ life таймс но если","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4688s"},{"start_seconds":4697,"text":"говорить про наши приметы в наших вот конкретно на этом слайде то скажем если","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4697s"},{"start_seconds":4705,"text":"у вас тут после этой строки будет еще несколько строк с другим переменами то освобождение памяти будет происходить","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4705s"},{"start_seconds":4712,"text":"при выходе за пределы функции мы за власть видимости функциями не в момент последнего использования ну потому что","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4712s"},{"start_seconds":4721,"text":"да что то программа программа это ваш по сути скомпилированный бинарный файл и когда вы можете писать что он конкретно","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4721s"},{"start_seconds":4730,"text":"есть какие-то участки и когда выходит ваша примерно за час тракта на уничтожаться","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4730s"},{"start_seconds":4741,"text":"говори head номере находится оперативно пролетит рациона системы до в оперативной памяти но опять же это иногда может меняться на","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4741s"},{"start_seconds":4751,"text":"те же девайсах там есть нет некоторые хаки которые позволяют скажем тоже и","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4751s"},{"start_seconds":4759,"text":"операционной системе этой девайсов допустим хранить часть какой-то в","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4759s"},{"start_seconds":4769,"text":"подарок постоянной памяти компьютера то есть опять же есть и так далее память но","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4769s"},{"start_seconds":4776,"text":"когда вы пишете на расти вы не должны думать где находится там стыковая память","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4776s"},{"start_seconds":4783,"text":"и память куча потому что это обязанность операционных систем и собственно операционной системы linux чтобы","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4783s"},{"start_seconds":4790,"text":"операционная система конкретно и аллах где у вас лежит участок то есть если уж","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4790s"},{"start_seconds":4796,"text":"так говорить о не ваша программа даже когда вы выделяете памяти кажется что вы","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4796s"},{"start_seconds":4804,"text":"заработаете слоуролл программированием да это так и есть но при этом теме человека памяти которые вам дает","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4804s"},{"start_seconds":4812,"text":"операционная система то есть это нереально и не реальные физические данные это виртуальная память а виртуальную память вам для вас скажем","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4812s"},{"start_seconds":4821,"text":"так подготавливает именно операционная система уже операционная система может составить","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4821s"},{"start_seconds":4826,"text":"какой нужна молитва может часть вообще посажены помидоры поможет операционную но это как раз до","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4826s"},{"start_seconds":4836,"text":"этого нужен операционной системы операционная система как раз снижает этот образ программиста и позволяет работать с","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4836s"},{"start_seconds":4844,"text":"абстракциях памяти когда местность по тропе зачем эта","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4844s"},{"start_seconds":4856,"text":"функция drop как я говорила это это в принципе трейда дроп это свойства","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4856s"},{"start_seconds":4865,"text":"объекта и эта функция вызывается неявно когда за область видимости но если вы","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4865s"},{"start_seconds":4872,"text":"хотите по какой-то причине освободить ресурс раньше он побеждает этот ответ еще здесь николай ответил что например","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4872s"},{"start_seconds":4881,"text":"данных сетевой соединения файл это верно то это правильный пример если вы не хотите занимать ресурсы все","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4881s"},{"start_seconds":4889,"text":"область видимости особых этих раньше то можно это евгений можно у вас попросить под и за расписать подробнее что надо","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4889s"},{"start_seconds":4897,"text":"сделать заявление я думаю он ответил вы также можете взять еще написать огромный","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4897s"},{"start_seconds":4903,"text":"вопрос чтобы в чате люди также увидели эти ответы а если свойства копирование при","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4903s"},{"start_seconds":4912,"text":"использовании оператора присваивания происходит копирование нужно явно указать копи нет кулака","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4912s"},{"start_seconds":4921,"text":"явно указывать не нужно будет происходить копирования в этом же веке и суть что копии оператор присваивания","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4921s"},{"start_seconds":4929,"text":"почему не произошло перемещение переменной стинга динамо красти print","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4929s"},{"start_seconds":4933,"text":"line отказа функции print 3 до здесь это","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4933s"},{"start_seconds":4941,"text":"именно потому что как раз макрос print line","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4941s"},{"start_seconds":4944,"text":"а принимается за чему перевернул так","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4944s"},{"start_seconds":4955,"text":"секунду сейчас еще вопрос поддерживать актуально раз одновременно","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4955s"},{"start_seconds":4967,"text":"уровне пересекающийся например непересекающиеся структуры это","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4967s"},{"start_seconds":4975,"text":"сложный вопрос насчет вот разных полей структуры это сомнительно я не думаю что","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4975s"},{"start_seconds":4983,"text":"это ближайшее время будет реализовано насчет непересекающихся часть рейсов тебя точно знаю что над этим ведется","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4983s"},{"start_seconds":4991,"text":"активная работа в расте по-моему я точно не уверен но по-моему тоже в какой-то из версия роста это доступно по моему","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=4991s"},{"start_seconds":5000,"text":"знаете на этой версии то не стабильная версия роста .","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5000s"},{"start_seconds":5006,"text":"на текущий момент я не могу ответить но стоит для скорее всего у вас не будет такой возможности потому что опять же","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5006s"},{"start_seconds":5015,"text":"это намного сложнее чем кажется отслеживает что именно это риме","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5015s"},{"start_seconds":5020,"text":"пересекающийся часть самого насколько","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5020s"},{"start_seconds":5028,"text":"часто на практике возникают ситуации когда ограничения букмекера необходимо обходить через яркое интро вами то берите","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5028s"},{"start_seconds":5040,"text":"насколько часто возникают ну однозначный ответ на этот вопрос не могу потому что насколько часто это вопросы кисти","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5040s"},{"start_seconds":5049,"text":"статистики у меня нету твоей практика мнению очень часто приходится делать","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5049s"},{"start_seconds":5056,"text":"скажем природе при работе приложения","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5056s"},{"start_seconds":5063,"text":"smart контрактов он же даже при разработке облучены над substrate это тоже","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5063s"},{"start_seconds":5071,"text":"достаточно редкие случаи более частого создать мир с мире","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5071s"},{"start_seconds":5079,"text":"earth пальни скажем описании к фото приложение с сетевым взаимодействием с","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5079s"},{"start_seconds":5087,"text":"взаимодействием с операционной системой как у вас системного приложения","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5087s"},{"start_seconds":5102,"text":"так я тогда минут выше подожду если будут еще вопросы но в целом я понимаю что для вас","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5102s"},{"start_seconds":5109,"text":"возможно была тяжелая тема тяжелая это один из важных концерта франц фанон","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5109s"},{"start_seconds":5117,"text":"сложный поначалу поэтому абсолютно не пугайтесь того что вам не все понятно что он сложно будет","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5117s"},{"start_seconds":5127,"text":"сложно поначалу это хорошо если бы это было легко тогда бы у вас было гораздо","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5127s"},{"start_seconds":5136,"text":"больше конкурентов языке 1 но так как я говорил в предыдущих лекциях","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5136s"},{"start_seconds":5143,"text":"многие раз не разбирают именно как раз подключения что людям кажется это очень сложный язык то вас есть небольшое","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5143s"},{"start_seconds":5152,"text":"преимущество то вам нужно будет самим конечно разобраться самим разобраться с этими сложными концептами но если вы с","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5152s"},{"start_seconds":5160,"text":"ними разберетесь до какой-то степени вы будете еще какой то определенный период времени","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5160s"},{"start_seconds":5168,"text":"зайти и дизельными разработчиками то есть на 1 разработчиков на текущий","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5168s"},{"start_seconds":5175,"text":"момент спрос гораздо выше чем предположение","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5175s"},{"start_seconds":5182,"text":"допустим я помню скажем пять лет назад четыре года назад когда я в других компаниях тоже предлагал использовать","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5182s"},{"start_seconds":5190,"text":"раз faberlic то чтобы ничего не знал про ростовы преимущество кроме джек то с ним","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5190s"},{"start_seconds":5198,"text":"уже непосредственно работает то есть в медиа-пространстве про раз не особо говорили и многие вообще не понимали","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5198s"},{"start_seconds":5206,"text":"зачем нужно использовать о тех кто тоже понимали у них был вполне логичный честный и","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5206s"},{"start_seconds":5213,"text":"обоснованный ответ что вот если допустим у нас есть разработчик нарасти мы делаем на расстрел разработчик утек","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5213s"},{"start_seconds":5221,"text":"пойдем новый разработчик последние 100","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5221s"},{"start_seconds":5229,"text":"лет это очень поменялось с разработчику на 1 стала гораздо больше но при этом века создав больше вырос спрос на","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5229s"},{"start_seconds":5236,"text":"разработчиков просто поэтому очень сложно найти раз разработчиков команду поэтому если","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5236s"},{"start_seconds":5245,"text":"вы чтобы освоить раз проблем не будет","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5245s"},{"start_seconds":5261,"text":"просто пикник что людям это будет сложно","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5261s"},{"start_seconds":5274,"text":"но люди будут делать ошибки буду делать много ошибок со временем present","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5274s"},{"start_seconds":5283,"text":"концепта его полюбят я думаю и тогда уже сложностей не возникает","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5283s"},{"start_seconds":5290,"text":"сейчас уже половина класса просто 5 10 а потом по нир будет таверна этого икса у","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5290s"},{"start_seconds":5297,"text":"нас планируется 10 лекций по родству после этого у нас скорее всего около","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5297s"},{"start_seconds":5304,"text":"пяти тянет около это значит что мы на текущий момент распланировали наш","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5304s"},{"start_seconds":5312,"text":"потерял на 5 лекции но возможно коллекции чуть-чуть изменяться большую","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5312s"},{"start_seconds":5320,"text":"сторону","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5320s"},{"start_seconds":5345,"text":"меня нету сейчас их цена вынужденных савчак у нас есть замечательные кураторы","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5345s"},{"start_seconds":5352,"text":"нашего курса это более елена одни с удовольствием вам ответят этот вопрос и","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5352s"},{"start_seconds":5359,"text":"пришли пришлют все полезные ссылки написал теперь я думал в чате когда ответят","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5359s"},{"start_seconds":5368,"text":"если вас вопросы пишите пожалуйста начаться","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5368s"},{"start_seconds":5372,"text":"я видел больше шансов что обратить","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5372s"},{"start_seconds":5381,"text":"внимание на ваши вопросы и что на него ответят и более того короля или смогут","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5381s"},{"start_seconds":5389,"text":"обратить внимание на эту информацию вот огромное спасибо всем кто сегодня кучу","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5389s"},{"start_seconds":5396,"text":"на лекцию до конца если вы потратите","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5396s"},{"start_seconds":5404,"text":"часть своего времени в течение недели возможно даже на выходных следующих это будет очень круто очень","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5404s"},{"start_seconds":5412,"text":"полезно то вас вам однозначно будет проще на следующих лекциях","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5412s"},{"start_seconds":5418,"text":"пожалуйста happy hacking поразвлекать с этим концептами и хорошего всем вечера","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5418s"},{"start_seconds":5427,"text":"всем пока","url":"https://www.youtube.com/watch?v=jZBv4YrLIy8&t=5427s"}],"youtube_url":"https://youtube.com/watch?v=jZBv4YrLIy8","url":"https://near-pedia.xyz/videos/jZBv4YrLIy8"}