{"id":"usi1aOi7czk","title":"6 Коллекции, массивы,  slices, vecs, hashmaps, btree, etc (Курс 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/usi1aOi7czk/hqdefault.jpg","transcript_text":"сегодняшняя тема у нас и прекрасное и легкое одновременно сложная с богатым внутренним миром как всегда с многими подводными камнями в общих чертах я бы эту тему обозначила так массивы слайсы и коллекция collections это одна из относится к одной из в том числе фундаментальных тем бросьте и давайте определимся с тем какие на сегодня мы с вами ставим задача разобраться в том какие типы данных являются массивы и коллекции и где размещается память достаточно такой важный нюанс посмотрим с момента что из себя представляет примитивный как тип как массивы что такое среза или слазь что такое коллекции и из коллекции мы рассмотрим такой виктора сет не bid либо скажу сразу что тема с одной стороны выглядит достаточно простой но не есть очень много деваться вы и сложности поэтому будем предполагать что все таки этот курс рассчитан на людей которые только знакомился с 1 тон и я постараюсь избегать дебри и усложнения и в конце и я предоставлю список ссылок где вы сможете это почитать детали если у вас будет на то особо и желание потому что темам действительности очень объемная в особенности тема которая касается коллекции документация в этом смысле очень хорошая она на английском языке сразу предупреждаю но есть у вас появится желание более детально в этом разобраться ссылочки я предоставлю это же лекцию я наверное смотри почерку как вот в эту тему если у вас по мере презентации будут вопросы не стесняйтесь давайте постараемся на них ответить давайте попробуем понять как вообще происходит размещение памятью массивов и collections что такое collections я расскажу чуть похуже это такое более более комплексная тема но в целом у вас сразу же должно быть понимание как у где памяти используется как помните прошлой лекции кирилл детально рассказывал про концепции хранением танки и данном случае бросьте это активно используется и так у нас есть так и хип позже путча соответствовало у нас переменные могут храниться переменные данные могут храниться у стойки или в куче и это имеет такое достаточно большое значение поскольку как нетрудно догадаться то модель хранения данных которые предполагают сохранение в стеке она позволяет к данным обращаться естественно быстрее силу того что эти данные находятся как вы помните как кирилл приводил пример с полетами можно привести пример знаете с тарелками когда одна тарелка ложится на другого и соответственно когда мы хотим получить доступ о какой-то из тарелок мы их постепенного того снимаем и соответственно достаточно быстро операция операция с кучей не настолько быстры и у неё есть одна из таких особенностей как фрагментации но на данный момент ванны над этим и очень сильно нужно задумываться самое главно просто запомнить где именно происходит хранения и это важный нюанс потому что примеру если мы оперируем массивами то это будет накладывать свои определенные обязательства перед разработчиками и так массивы и слоя сохраняться в стеке а коллекция конечно он хранится куча и здесь я как видите привел несколько таких водных примерчик а как происходит описание массивчик здесь у нас описываем директор здесь у нас описаны кошмар просто чтобы уже визуально поняли как она выглядит и мне сейчас постепенно поэтапно рассмотрим что из себя представляет каждая из этих концепций каких случаях их применять и как эффективно использовать давайте мы начнем с такого примитивного типа пластика на сего когда я говорю примитивный тип это пара подразумевается базовый тип самого языка это такое наименьшая базовая конструкция примитивным типам относятся те типы который мы рассматривали раньше в частности это интер 32 и 64 и 128 он сайт в том числе и diger а вот более и другие что из себя в данном случае представляет массивы массива это набор такой сгруппированы да и они хранятся в четко определенная последовательность также они хранятся в строки в это нужно запомнить и эта последовательность она не естественно не меняется к примеру у нас есть первое описание и здесь важным нюансом является следующее что массив описывается через подводные скобки и у него должен быть известен размер во время компиляции это такой важный нюанс как вы видите у нас типы вася и через запятую через . , у нас указывается размер массива его размерность соответственно мы заполняем его элементами которые должны быть все указанного типа нашем случае и 8 соответственно здесь будет ограничения числа 255 и естественно мы эти элементы располагаем той последовательности которая требует от нас логика программы и важным аспектом является то я повторяю специально что размер его известен во время компиляции это обеспечивает достаточно эффективную работу с массивами и позволяет фактически ему находиться в том числе и стыки очень эффективно и быстро самого ему оперировать в принципе раз может делать автоматический вывод типа но все-таки для явного понимания какой тип массива иногда все-таки есть смысл указывать явные какой-то тип на нашем случае ось об этом оставшиеся четыре более в том числе и так далее то есть самые разные и 2 2 крышечка которая есть в расте это то что можно массив задач из повторяющихся элементов то есть как вы видите у нас сама объявляет второй массив из трех элементов и мы можем заполнить числом 10 как это делается и как увидите описываем мы по-прежнему сначала указывается тип ; и размер массива а далее у нас опять же таки значение массива описывается через квадратные скобки сигарета во многих языках программирования так и в данном случае мы указываем число заполнитель это 10 точку запятой и количество повторений спасибо и как вы видите мы получили масел из трех элементов которые себе содержит число 10 давайте разберемся с тем как можем получить доступ массе здесь мы уже немножко усложнили на сквере наш пример и показываем что переменная x нас является мутабельным и примеру мы хотим поменять элемент который является вторым важным аспектом является то что индексация массива начинается с 0 что значит индексация это доступ к определенным элементом массива в данном случае у нас описан массив из трех элементов которые в себе содержит числа 135 и яндекс доступа к каждому из элементов следующий один находится по индексу 03 находится по индексу 1 и 5 находится по индексу некоторых языков программирования яндекс и начинается с единицы к примеру july но здесь важно запомнить что доступ элементов массива в россии начинается с 0 не соединится с нуля к этому потому и указываем что x с индексом 1 равен 100 это значит что мы заменяем число 3 на стол и вот такой еще не он что что произойдет если мы попробуем получить доступ к элементу который которого нет носили нашем случае это естественно богат ошибку и давайте посмотрим что получится если мы проверим какие элементы находятся здесь уже вводится дополнительный концерт на его чуть чуть позже рассмотрим это слайс потому что массивы и слайс а они очень плотно переплетены и здесь фактически мы рассматриваемый элемент с первого по последнее и как вы видите здесь у нас находится числа стойка также очень легко массива модерировать цикла как видите достаточно просто написать простейшую конструкцию как фарфор in и мужа фактически получаем доступ массива и здесь важным нюансом является то что фактически когда мы обращаемся к массиву в данном случае вцик ли то это уже является как бы среза что такое средств мы буквально таких следующей теме рассмотрим с теми слайды так же его можно проектировать как вы помните на прошлых лекциях мы делали все операции которые доступны для массивов здесь доступно в том числе и литераторы и давайте рассмотрим ещё такой элемент как мы можем получить доступ kinder примеру нам нужно в массиве получить конкретные индекс этих элементов то есть вот у нас есть массив 135 и нужно получить яндекс народ в данном случае когда мы делаем цикл for мы используем как видите функцию method and peter литератор фактически и этот итератор что он делает он делает перебор всех элементов которые находятся данном массиве есть специальный метод который называется он умирает он всего на сво делать следующие он возвращает на туп как вы видите здесь у нас тепло содержится из двух элементов и этот купол себе содержит такие элементы как яндекс мы здесь надавали переменную и и ваш этого массива соответственно у нас будет возвращаться тепло из двух элементов это индекс и значение массива и как вы видите здесь мы уже выводим эти данные далеко не всегда это нужно но если у вас возникнет такая потребность вы всегда можете этим воспользоваться скажу такую важную деталь что вся эта информация в полном виде доступна в документации методов существует достаточно много для оперирования smas с носимыми это не только метод hydra есть и другие методы и также литераторы по предоставляет множество других методов которые позволяют преобразовать этот массив который мы получаем но фактически даже создавать в том числе коллекции применять к нему анонимные функции и это тот механи мы его будем рассматривать в следующих лекциях которая уже большей степени приближает нас от функционального программирования я щас такими крупными мазками для вас на будущее просто делаю заметки чтобы вы обратили внимание что что для доступ от массива есть возможность очень удобных таких функций которые относятся уже функциями это все мы подробно в соответствующих лекция просмотр теперь давайте разберемся с вами со слайс слайс очень плотной 1000 сносил и как я до этого говорил и одна из отличительных черт слайс а это то что он слайсы записывается через амперсанд то есть как вы видите у нас описано из четырёх элементов и когда мы хотим что значит не имеют он помощи по или владельцы это значит что он фактически у нас является с одной стороны ссылочным а в другой стороны он предоставляет определенные средства массива определенный набор элементов если вы знакомому математики с таким понятием как множество так вот слайсы позволяют делать из одного множества большого под множество практически достаточно большое количество под может в зависимости от требований и это такая концепция которую крайне удобно для практической разработке приложений и это fly собрать пульт доступа амперсанда и для этого мы соответственно указываем переменную и в скобках мы указываем range данном случае это нас от 0 до когда мы говорим до двух это значит что последний элемент не включается то есть как вы видите здесь у нас получится числа 1 и 3 поскольку нас четыре элемента то как вы видите у нас толстым происходит по элементам которые относятся на единицу меньше чтобы вы не запутались просто запомните что первый элемент доступа это тот элемент которому вы хотите получить на правой части доступа к этому срезу это фактически будет на на элемент индекс у него будет фактически при включении от нуля до единицы и есть один такой синтаксический сахар обрасти когда к примеру есть мы хотим указать срез от нуля и до определенного значения в данном случае до двух мы 0 можете указать это значит что роста автоматически поймет и вот эти две два выражения у нас напечатают одинаковое значение дальше соответственно мы получаем доступ когда мы указом от 2 до 4 это значит что конкретный второй элемент нашем случае это будет 5 и до конечного элемента это будет элемент 0 1 2 3 когда мы указываем 4 это значит что фактически у нас берется на один элемент меньше то есть если рассматривать с включением то это будет второй и третий элемент и также синтаксический сахар распространяется и на такую же конструкцию то есть нам известны известен элемент к примеру с которого мы хотим взять слайс это 2 и мы точно знаем что мы хотим взять то конца нашего массива а он содержит четыре элемента то мы можем оказать 2 . почему это удобно иногда у нас могут быть большие массивы к примеру и в некоторых случаях когда он передается там ссылки и так далее нам нужно будет получить его длину а для для того чтобы этого не делать есть очень красиво упрощения где фактически компилятор за нас делает всю работу и есть еще одну прекраснейшая конструкция она решает ряд очень важных задач это когда мы слайс указываем : то есть у нас и левый и правый диапазон массива полностью включены зачем это делается это значит что мы массив наш массив из четырёх элементов преобразовали в слайс срез который содержит четыре элемента это очень полезно когда мы передаем данные по ссылке то есть практически у нас не происходит копирование и это очень удобно опять же таки это позволит вам автоматически фактически сконвертировать массив срез и я на всякий случай еще раз повторю что массивов из лайса все элементы одного типа данных не может быть такого что у нас тип и 8 примеру там до 255 а мы туда хотим поставить тысячу это естественно будет ошибкой не приведет и либо паники если это во время runtime а либо к ошибке компиляции есть если компилятор это сможет теперь я предлагаю с вами перейти к коллекция коррекция это специальный тип у области и коллекция не являются примитивными типами они являются частью стала частью стандартной библиотеки палачи и некоторые из них нужно указывать явном виде некоторые не нужно в явном виде указывать и коллекция качестве важно понимать они не относятся к стандартной библиотеки под стандартная библиотека подразумевается истине и вам просто напросто нужно это запомнить потому что если вдруг в будущем вы будете разрабатывать новости программа который не содержит себя стандартные переплете а иногда такие потребности бывают в особенности когда вы разрабатываете под всяких будут устройства или смарт-контракты которая у которых есть специальные требования [музыка] производительностью использования газа или объемом в таком случае возможно когда-нибудь вы столкнулись с тем что вам необходимо использовать новости и в этом случае вам нужно запомнить что коллекции туда не включены и вам нужно будет использовать специальные вспомогательной библиотеки они прости все есть и просто отдельные катка вещать это такой важный нюанс который чувствует запомню и мы начнем с такого наиболее простого типа это вектор он описывается как бег и как я говорил ранее типа коллекции которому [музыка] дальнейшем будем рассматривать они хранятся в куче соответственно это значит что что размер их ограничен только размеров оперативной памяти которая вам предоставляет операционную систему есть пример вам операционной системы предоставляют объем примеру остров у вас там ноутбуки 8 предоставляет секс половина гигабайт то фактически вы имеете доступ ко всей этой памяти через коллекции данном случае человек то мы все остальные в том числе и интересным нюансом является то что со стеком сунита память т.к. она ограничена по дефолту в расте это 2048 килобайт 2 мегабайта опять конечно же можно менять но управление объем стека это такая штука которую лучше не трогать потому что вы очень четко должны понимать что вы делаете поэтому если у вас есть необходимость интенсивного и большого использования подойти вам пригодится конечно же коллекции и первым помощником как я говорил для вас будет вектор вектор это набор упорядоченных данные которые хранятся которую одного типа фактически это тот же сама носи он просто организован и другому и он на хранится в кучин один из нюансов заключается в том что к типу вектор в том числе относятся строка string поскольку это является воплощением типа ветки 8 вектор вести восемь элементов и соответственно через это можно представить любой юдифи и youtube 8 элемент поскольку оперирования у нас происходит изучив 8 до строк и как происходит объявление вектора это достаточно просто делается но есть некоторые нюансы как вы видите когда мы описываем векторы у нас здесь есть как бы так сказать это символ больше меньше я скажу так и в данном случае он позволяет нам указать какого типа являются элементы вектора в данном случае есть несколько способов описание вектором мы описываем таким классическим вектором как векторы него то есть мы инициализируем оси соответственно для того чтобы работать с ним эта переменная должна быть мутабельным и у вектора есть достаточно много методов и я здесь намеренно их не перечислял поскольку в документации они все описаны в общем случае один из самых полезных методов это метод уж это значит что вы можете добавить потайными его последовательно сканируется из этого следует что объем массива вонь ограничен то есть если я изменять вектор если в массиве у вас должно быть четко определенная размер вектора вы можете добавлять хоть он элементов просто вы будете использовать дополнительную там здесь как вы видите в воде и когда мы делаем прим 2 выглядит это вывод будет выглядеть так же как носил и последовательность элементов с которой вы добавляете она будет именно такой не будет 1 сен 3 они размещаются последовательно и к вектору также применимы и итераторы ко всем элементам коллекции которые мы будем рассматривать применив оператор что такое итератор может быть более глубоко но не очень сильно подробно мы будем рассматривать в теме trade of поскольку для разных элементов мы можем самостоятельно реализовать то каким способом будет происходить и тегирование прости это уже сделано за вас в стандартной библиотеке коллекции вектор и я рекомендую вам свободное время посмотреть эту библиотеку немного функции и один из аспектов является то что это достаточно хорошо вменяемо описано чаще всего с примерами и как победить и интегрировании происходит через цикл for фактически особо ничем не отличается как вы видите вот вывода в массиве единственное что в массиве мы оперирован с лайсом но опять же таки вектор тоже можно перевести всласть для этого вы можете зайти документацию и посмотреть как это делается он давайте рассмотрим с вами хочу это уже такая более сложная тема я даже сказала она является advanced и я решил пойти немножко таким путем с цитированием того как это описано в библиотеке мы поступим следующим образом сначала его объяснить максимально просто дальше вы можете посчитать это описание которые я здесь клево она также у поздно и документация и если у вас более пожелания пути выстроен потому что из себя представляет кошму это фактически других языках примера представим это некая ключ-значение некая структура которая в себе содержит при извлечении когда мы храним грудь значения есть одна из фундаментальных проблем она заключается в том что доступ по ключу может быть скомпрометирован и для этого используется фишман что значит почему именно это значит что для плеча у него используются некий алгоритм хэширования и как вы видите по умолчанию в расте используется алгоритм 13 если у вас есть желание опять же таки можете более детально посмотреть что это такое это значит что у него предоставляется определенной гарантию уникальности этого ключа и есть разного рода атаки на map и почему это важно это значит что можно получить доступ к данным которым доступ не должен быть получен и вырасти с этим все отлично поскольку раз это системное программирование его позиционируются как безопасный и хочу опасается задачи полностью справляется если на пальцах . это просто ключ-значение то есть у вас есть некий ключ к которому вы можете получить значение если здесь видеть в массиве нас доступ последовательный доступ к элементам происходит это элементы одного типа у нас здесь никаких ключей нет здесь у нас есть только значения в данном случае это 137 в шляпе это более сложная структура по которой вы можете получать доступ к значению по его плечу и как вы видите здесь в этом описании поздно что реализуется понте фиксированный доступ семьи сент-иво папу короче говоря и он гарантирует безопасность вот такого рода опять же таки есть го сезона почитать об этом подробно почитайте но на данном этапе я думаю вам не осилю нужно но тема hp по она всегда интересно в любом языке программирования и просто запомните раз и навсегда что фишман реализует функцию хеширования ключ должен быть зафиксирован это везде так реализуется в любом меня языке и в питоне и в бога и так далее и давайте разберемся как к.с. шляпам работает для работы с ним необходимо вызвать его из стандартной библиотеки как вы видите здесь у нас а среди коллег шин и мы используем типах и швы и швы по нету быстрого описания для векторов сейчас я вам попробую показать почему то здесь нету вектор можно описать в том числе через макрос один из один из элементов в это сделать и поэтому мы переменном всегда должны указывать и обратите внимание что в отличие от вектора хэш map содержит два типа первый тип он может быть опять же таки любом но в данном случае у кота что это стр первый тип это тип ключа второй тип тип значения опять же таки повторюсь что каждый из этих типов он может быть заменен на другой единственное важным нюансом является то что для типа который используется для ключа должна быть реализована функция хеширования есть это стандартный тип просто она реализована по умолчанию если это ваш постоянный тип то вы должны каким-то образом сами определиться как ее реализовать это на самом деле не сложно мы это рассматривать не будем потому что это принципе чаще всего это критический случай когда для плеча мы используем кастомная тип иногда такое необходимо достаточно я обратите внимание что если мы все ключи использую то они всегда будут одного типа нашем случае store и соответственно все значения у нас тоже будут одного типа для hashmi по используется функции для вставки enter действительности очень много функции есть встроенный для кэшбэка и для того чтобы узнать какие они есть и я вам крайне рекомендую пойти документации по этой библиотеке который будет находиться вот по такому платью и там будет очень много функций описано я разумный дублировать поскольку в документации и очень хорошо списаны мерами и так вы можете найти множество вспомогательных функций мы просто для начала он есть запомнить вставляется естественно cashmere не ограничено своем размере опять же такие как и все типы коллекции которые относятся они ограничены только объемом оперативной памяти которых которые для вашей программы выделены и это достаточно эффективно и на всякий случай еще раз повторюсь что все коллекции они находятся в кучу и как вы видите очень легко в том числе распечатать значение которые находятся в шляпе здесь как вы уже видите они представлены через фигурные скобки если абстрагироваться то это очень похожим на jison естественно никакого отношениям через он это не имеет просто но в таком виде отображается очень похоже согласитесь в данном случае если вы эти просто визуально запомнить как как это выглядит с левой части у нас находится ключ с правой части находится значениями эпический ключ-значение как вы помните когда мы печатали вектора у нас данные отображались через квадратные скобки и через последовательность элементов одного типа ключ-значение это по-другому происходит тоже наглядности с показаны и как я вам говорил что коллекция во всех типов коллекции которые есть в расте стандартной библиотекой то есть как вы видите вот эта стандартная библиотека есть они collections и в нём находится целый набор кошмар извините коллекция типа в том числе вектор хочешь этом петимат и там есть на самом деле и другие но они редко используются если у вас будет желание потребность использовать их вы идете по вот этому и доступ ко всем коллекциям реализуется в том числе через генератор это очень удобно можно в том числе получать поэлементно если у вас есть такая потребность например в конкретному ключу в данном случае чтобы не это не усложнять я показывал как можно вывести элементы ключ значения непосредственно через цикл for и на тот момент вам просто нужно запомнить что вектор это последовательности значение которое неограниченно в размере и хранятся в кучи и это именно последовательность они там не рандом надежно это значение это тип которая содержит себе ключ-значение он пройден хранится в том числе кучи и это крайне удобно для соответствующих структур данных как вы видите это очень такие структуру данных очень часто встречается это одни из очень распространены аки поехали дальше и давайте рассмотрим считаю себя представляет хэштег это одна из абстракции которая позволяет оперировать ключами то есть hash сет является под типом шмап и опять усики он себе содержится те же самые элементы и атрибуты значит что он хранится куча каких-то шмар поскольку фактически отвергается хоффман он по своей сути является собой набор ключей то есть если hashmi это набор ключ-значение the headset это набор ключей как это внутреннее устроена мышцы это фактически хоффману которого все значения одинаковые это типа видите видеть упал просто две круглые скобки как вы помните в рости нету типа ну или нил реализуется вот такой вот конструкции двумя фигурными скобками и как вы помните если я вам говорил на одной из прошлых лекций если вы видите функцию которая не возвращает ничего это на самом деле упрощение компилятора это значит он не требует от программиста в явном виде указывайте монтировались и если к примеру у нас есть функция main я на не возвращают тип то это значит что по умолчанию у него возвращается такой тип это одна из удивительных особенностей роста которые не позволяют наличие несуществующих переменных типа молнии и так далее просто называется и это значит что гарантируется безопасность на уровне самого императора и дик такие фигурные скобки это значит что это пустое значение соответственно когда у нас записывается кошмар таким образом это у нас есть набор ключей и все значения это пустые значения мы получаем одну из крайне полезных структур которая являет собой хранилище ключей вам нужно помнить что это хранилище ключей которая с одной стороны уникальным то есть они не могут повторяться от одной из требований второе это то что мы используем кашмир это значит что под капотом у них алгоритм хэширования и соответственно множество защит который гарантирует сам язык программирования компилятор ним находится для избежания взлома давно я буду говорить очень примитивно и это один из офисов которая иногда может быть очень полезным получить доступ только включаем к этому значения и давайте посмотрим как это выглядит с практической точки зрения как вы видите у нас поменялось объявление здесь сама указываю системе collections headset если прошлом случае данном случае тащишься и опять же таки я специально повторюсь что если у вас есть с вами разобраться где же находится документация она находится вот по такому пути ток срс в том числе это политика личность и там в том числе вы увидите хочет и с ним спокойно можете поработать все эти ссылки конце этого слайда будут что не трудно будет найти все есть и объявление переменной для хочется это происходит таким образом как вы видите мы описываем переменную хочу эту которые есть у нас всего один тип это тип ключа нашем случае с до string и опять этом our pride любой тип фактически которые реализует все стандартные типа расти они реализуют это опять же таки инициализация происходит также как вы помните у нас лектор так инициализировал также инициализировал ся cached то есть если вы будете работать с коллекциями то и вдруг не знаете как и инициализировать то ответ всегда один вы указываете тип коллекции нашем случае и ними и не забывайте указывать переменную мы топили если вы хотите его заполнить поскольку при инициализация естественно пустой с ним можно работать в том или ином виде но возможного будет в этом случае бесполезны и как вы видите также каких и шмиты функция тоже самое для вставки значения это insert только как видите в данном случае мы указываем только ключ поскольку значение и поскольку есть некая преемственность как вы видите через итератор также мы получаем доступ значение ключа и в данном случае у нас будет содержаться только ключи я качестве можно вывести как и прежде его через в данном случае как вы видите есть такие есть отличие погадать фигурных скобках через запятую перечислены всего-навсего ключ думаю что с хэш этом все достаточно просто потому что он является подмножеством и давайте прямо это всей видимости by потому что причина и дерево и оно автоматически подумал что неплохо бы таким образом ставит а это еще более сложная концепция опять же таки я постараюсь ее для вас упростить сделать такую небольшую небольшую выдержку из документации но по факту это работы с бинарными как вы знаете для бинарного дерева существует эффективные алгоритмы поиска и это тип реализует эти алгоритмы как вы помните вот если вы работали с базами данных потом есть разные типы хранения хранение данных и пример postgres апреля один из типов хранения является битый этого можно конфигурация выставить то есть некое бинарное дерево то есть это ланже что она имеет свойство такого явления здесь более подробно описано как вы видите в чем преимущества для доступа бинарному дереву я не буду просто пересчитывать важно важным элементом является то что у бинарного дерева есть свои накладные расходы то есть если у вас есть желание с бинарным деревом познакомиться более подробно поскольку такая специфическая штука его ближайшее время я думаю он вам она не понадобится но для некоторых алгоритмов поскольку это уже именно алгоритмический такой тип бинарное дерево является неотъемлемым элементом и к сожалению у каждого из этих типов есть свои накладные расходы то есть документации роста достаточно четко описано какие есть водные расходы по доступу к элементам частности у вектора это наименьшее накладные расходы накладные расходы это значит что время доступа к элементам хищники поскольку это реализовано через через функцию хэширования это по-другому уже происходит и здесь как вы видите в детей mapi расходные проще говоря доступ к элементам брать в аренду за счет того что он предоставляет разного рода внутренние элементы для и things on all для доступа к данным и поиску поскольку он эффективно то есть вам всегда очень четко можно понимать какое из этих типов на практике рассмотреть как же все-таки выглядит доступ и как вы видите очень похожи на естественно опять же у нас происходит описание через by three который находится от категории collection стандартной библиотеки и здесь опять же таки мы указом уже два типа который отвечает значения этих элементов и в бинарном дереве выделения происходит немножко по-другому именно для этого мы рассчитываем и опять же таки как и в have my baby fresh сети все те же стандартные функции insert это итератор и здесь все те же стандартные функции создания без ремонта и я для вас здесь привёл один из интересных элементов специально сохранил деньги под конец когда вы хотите удостовериться к примеру вставить ключ и [музыка] проверить и если этот элемент и примеру если у вас есть такая задача есть ключи есть ничего не делать а если ключа нету сделать ставку в данном случае функция или method are in soft это делает это значит если он есть он ничего не сделает если его нет он ставит значение 100 и как увеличить через iterator то точно таким способом происходит доступ к элементам какие флэшмоб то есть когда мы оперируем мы получаем такой купол который себе содержит киева и опять же таки мы через император может не получить доступ на самом деле способа получить доступ достаточно много как вы видите вот у нас есть центре есть другие методы это все вы можете посмотреть в документации расписывать какие есть методы для гитаре мы опять-таки повторюсь я считаю что это бессмысленно на всякий случай я еще один полезный метод здесь решили показать это кудринский как вы понимаете этот мир существует вид для хэш мы по и для сета поскольку соответственно есть у вас есть такая задача чтобы проверить содержит ли набор данных определенный ключ-то задолженность таких частых задач вы можете этим воспользоваться и под конец мы видим что когда мы будем данное 53 пампа они выглядят очень похоже и я напомню что мы с вами рассмотрели три базовых типа коллекция это вектор который себе содержит последовательность элементов 1-го типа хеш map это ключ-значение где все ключи должны быть одного типа и реализовывать хэш-функцию и значение значение тоже должны быть все одного типа язык программирования это построй типизированный язык и он будет строго за этим следят который себе содержит набор ключей также одного типа и битемап реализующего бинарное дерево который опять-таки к себе содержит два типа значения и опять-таки все ключи должны быть 1-го типа также как и значение каждый из них рассчитан от определенной you space я бы очень рекомендовал когда [музыка] продакшене не имеет задачи которые будут требовать от вас понимание какой из этих типов использовать обращаться к вот этим ссылочкам специальный подобрал в себе куда-нибудь их сохранить и слайс с на полюсе как вы видите просто буки главе 4 массиву относится к примитивным типом вот он находится в стандартной библиотеке роста коллекция находится вот по этому пути тоже как вы видите это стандартные библиотеки и коллекция как и также не забывайте что у нас есть разбег samples который показывает в таком развернутом виде так сказал как с этим работать поскольку у нас примером немного разбавить zapals примеров много и они разные иногда языке экзотические полезны очень рекомендую вам полазить и одна из специфик это то что непосредственно на этом сайте можно их выполнить там есть такая кнопочка запустить вы читайте документацию сразу можете это очень удобно опять-таки повторюсь когда у вас появится насущную потребность в том чтобы работать со структурами данными как массивы слайсы коллекция и вы что-то забудете обращайтесь по вот этим соком они вам помогут с тем чтобы разобраться какие функции есть как с этим работать поскольку мы с вами сегодня рассмотрели только некую такую верхушку айсберга я поскольку сама тема достаточно сложная объемная и в ней много подводных камней и это документация вам явно поможет очень рекомендую на этом я думаю что все будем переходить по важным вопросам так на поскольку здесь есть только отмечены рассматривать правильно я понимаю что массивы и слазь не всегда хранятся на стыке например когда он хранится вместе или при любом другом интересами мама кирилл ответил действительно [музыка] слайс и массива не всегда в стеке вектора куча естественно что там есть есть свои свои нюансы поскольку частности пример когда мы осуществляем срочные там там доступ по своему происходит целом вопрос хранятся в листья здесь наверное было бы смысла . листья не direction ну вот я смотрю здесь приведен пример вектор котором находится масел это нужно ещё понять зачем именно так делать смотрите вектор для повторюсь хранится в куче если у вас есть если вы туда сохраняете массив это значит что эти данные будут храниться в куче не значит что часть будет храниться в стеке часть будет в куче вектор хранится куча это нужно запомнить любой тип который там находится он будет храниться в куче поэтому вот там массив хоть не массив будет это все находиться у чем так массива разве не хранится там где хранятся его элементы например массивы sting разве хранится встреча ну как вы знаете стинг это не массив я вам так что это сказал так буфер для находится хранится архив это ответил кирилл есть со структурой из кучи она хранится в стеке я не очень понял как и из элементов string она может храниться стеки я наверно не очень понял что вы имеете ввиду что будет если вектор во время работе перерастет размером нетрудно догадаться будет паника смотрите нужно понимать что управление памятью происходит в операционной системе и и как кирилл правильно сказал это вопрос не краску об операционной системе обычного с будет использовать of memory но опять же таки это все зависит исключительно от операционной системы вот и и настроек от приоритета от на плащах примеру поскольку раз позволяет писать системные приложения то их можно запускать с высоким приоритетом даже на уровне ядра ну то есть как это делать мне естественно рассматривать не будем поэтому это все зависит от совершенно конкретных кейсов и если произойдет переполнение памяти ничем хорошим это не закончится до упомянули что рандом нас не хэширование кэшбэк и защищается от того чтобы на одном плече получить элемент другого включая есть я правильно понял можно ли рассказать подробнее так давайте я попробовал понять что вы спросили рандомность защищает от того чтобы по одному ключу получить элемент другого ключа по одному ключу получить элемент другу ключа что значит по одному ключу получить элемент другого ключа выше получаете смотрите вам нужно понять что вам как для конечного пользователя имеется как для программиста вот вас существует всего навсего один ключ дальше существуют алгоритмы которая позволяет обезопасить доступ к элементам которые позволили бы получить доступ к данным которые могут быть скомпрометированы и соответственно для этого используются некие алгоритмы хэширования нет ни ки сказал таки поэтому самоутверждение в одному ключу получить элемент другого врача она не очень верно то есть вы получаете по плечу некоторое значение фактически вам даже не очень сильно нужно задумываться как именно это работает вам самое главное понимать что она обладает свойствами надежности и самое главное она работает по принципу ключ-значение ну да совершенно верно она это защита в том числе и вот а то поскольку примеру у вас чувствительное чувствительные данные есть приложение но предположим у вас приложение которое работает финансовом секторе и соответственно для того чтобы защитить ворота элементы поскольку в кашмире можно реализовать разного рода атаки это уже знаете такие дремучие тема но важно понимать то что это позволяет обезопасить еще ваши вопросы ну смотрите если вы если для вас ну и уют это одно и то же муки это про вопрос из чата правильно я понимаю что массив стрингов ранится ацтеки то есть в стеке есть ссылка лэнс capacity сама ссылка ведет в хип хороший вопрос из того что я помню там именно происходит доступ к [музыка] ссылочные кучи то есть фактически он содержит себе ссылки на кучу домам другого ряда это вычету ну смотрите опять же таки вопрос поднимается с с пустым типом и ну если вы сможете для себя ответит чем пустой тип отличается от но я думаю что это будет ответом на ваш вопрос так у вас есть еще вопросы какого сделать движутся с домашним заданием если какие-то сложности по всей видимости нету дан массив массивов нельзя менять размеры наверно так вот вопросики прости нету метода типа void и нету типанова не знаю является ли это ответственно для вас элемент и они очень сильно понимаю в чем суть вопроса что смотрите вы пишете вопросы в том зачем возвращать пустое пустое значение если можно вернуть есть тоже пустое значение мы уже к мы с вами говорим про типы данных смотрите выпиши это максим пишет что она учится возврат пустого значение преподносится как какое-то преимущество спасающие от ошибки соснул но смотрите чем специфика вы не можете не как вернуть потому что переменные ну не будет это на уровне самого компилятора содержится поэтому вы не можете много вернуть даже если были захочет имеется ввиду если вы используете frost естественно что не нужно возвращать пустое значение но смотрите некоторых случаях это пустое значение может быть записано по-другому у нас следующая тема будет результаты и ошибки раза type rs там это такая специальная обертка в которой примеру можно использовать в том числе и этот сон пустой тип то есть это то что позволяет в явном виде описывать то что мы примеру им особо ничего не возвращаем ну смотрите конечно вы можете его присвоить и всячески ему оперировать так ладно следующий вопрос есть ли какой-то способ программно избежать переполнения памяти при использовании вектора то есть не допустить ситуации добавления элемента которые приведет к такому переполнение я бы сказал что-то к норке святому вы со мной согласитесь то есть переполнить память это нужно как-то сильно постараться но естественно в россии есть способы контроля памяти из того что я помню вас есть такие элементы и есть у вас есть насущная потребность то конечно же можно это судила контролировать единственном нужно понимать что всяческая проверка который вы делаете это в том числе вы будет влиять может быть и минимально но на производительность потому что к примеру если у вас есть задача когда в цикле вы добавляете элементы и у вас одновременно происходит алгоритмически вычисления и вы там делаете постоянно такого рода проверку то это может сильно повлиять на работает волгарь поэтому очень четко нужно понимать в каких случаях это нужно делать таких случаев это не нужно делать на моей практике ли я с этим сталкивался с тем чтобы напрямую проверять есть ли переполнение или нет кстати вот интересная такая задачка вы можете ее попробовать на эту тему это вычисление факториала она как раз очень связано с темой памяти и как происходит и переполнения потому что факториал ли как нетрудно догадаться этого можно получить мгновенное поэтому если будет желание попробуйте это будет такой интересный эксперимент факт по примеру если вы будете делать через т.к. там припомнится очень быстро а если вы будете делать через кучу это будет естественно подольше при этом какие типы данных можно использовать потому что и у шисят четыре очень быстро закончится и так далее ну почему нет занят рублями домашнее задание есть она была дана и поэтому я и спрашиваю как у вас нет дела если какие-то сложности или проблемы поскольку у нас есть еще время я возможно смог бы ответить на поскольку я вижу что у вас вопросы особо нету я мог бы ответить на вопросы связанные домашним заданием окно я вижу что вопросам нету обрабатывать ли как то ошибки с неправильного ввода скорее всего вы имеете ввиду когда вот силой передвигать аргументы я бы рекомендовал обрабатывать единственная специфика что тему резал и ошибки мы будем проходить если не ошибаюсь следующий раз но если вы сможете самостоятельно разобраться что смотрите домашнее задание она на самом деле для вас она компьютерно догадаться меня мне нужно и оно было сделано для того чтобы вы попробовали свои силы в достаточно простом задание оно простое но вместе с тем увлекательное не может приняты принести некое разнообразие жизнь бесконечно может ok я предлагаю поскольку вопросов больше нет завершать я опять же таки напомню что следующее занятие у нас носящая неделя занятия у нас не будет поэтому через неделю в понедельник какое число при 26 до 20 числа у нас будет следующее занятие не по пути и я предлагаю вам за это время как-то выделить время позаниматься домашнее задание потому что какой достаточно практична и сложно если вам не сложно попробуйте объединиться в такие меню группы зачем общем то чтобы первое вы друг другу могли помочь очень важно знать как любой команде помощи иногда очень нужно в особенности одни более опытны другими нему и плечо верного товарища в этом смысле может быть очень полезная поскольку вы друг у друга можете учиться и второе это то что вы увидите как другие пишут код учиться его читать и они ведут на росте читать его вносить какие то правки или предложения и если вам конечно это интересно выше поднимать у вас никто не заставлять не будет просто мое такое предложение вон проявите инициативу и скопировать посмотреть как кто выполняет его группки небольшие предлагаю 45 человек максом потому что не очень сложно слишком объемна это коммуникация это нужно уделить время на то чтобы проверить другое задание вы можете посмотреть кто выполняет и коллегиально грядут выходные желаю вам хороших выходных после 5 точки и до встреч","transcript_synced_at":"2026-11-04T04:12:38.684Z","segments":[{"start_seconds":0,"text":"сегодняшняя тема у нас и прекрасное и легкое одновременно сложная с богатым","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=0s"},{"start_seconds":7,"text":"внутренним миром как всегда с многими подводными камнями в общих чертах я бы","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=7s"},{"start_seconds":15,"text":"эту тему обозначила так массивы слайсы и коллекция collections","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=15s"},{"start_seconds":24,"text":"это одна из относится к одной из в том числе фундаментальных тем бросьте","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=24s"},{"start_seconds":31,"text":"и давайте определимся с тем какие на сегодня мы с вами ставим задача","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=31s"},{"start_seconds":41,"text":"разобраться в том какие типы данных","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=41s"},{"start_seconds":48,"text":"являются массивы и коллекции и где размещается память достаточно такой","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=48s"},{"start_seconds":56,"text":"важный нюанс посмотрим с момента что из себя представляет примитивный как тип","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=56s"},{"start_seconds":66,"text":"как массивы что такое среза или слазь что такое","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=66s"},{"start_seconds":73,"text":"коллекции и из коллекции мы рассмотрим такой виктора","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=73s"},{"start_seconds":81,"text":"сет не bid либо скажу сразу что тема с","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=81s"},{"start_seconds":89,"text":"одной стороны выглядит достаточно простой но не есть очень много деваться вы","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=89s"},{"start_seconds":94,"text":"и сложности поэтому будем предполагать что все таки этот курс рассчитан на","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=94s"},{"start_seconds":104,"text":"людей которые только знакомился с 1 тон и я постараюсь избегать","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=104s"},{"start_seconds":111,"text":"дебри и усложнения и в конце и я предоставлю список ссылок где вы сможете","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=111s"},{"start_seconds":121,"text":"это почитать детали если у вас будет на то особо и желание потому что темам","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=121s"},{"start_seconds":130,"text":"действительности очень объемная в особенности тема которая касается коллекции документация","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=130s"},{"start_seconds":140,"text":"в этом смысле очень хорошая она на английском языке сразу предупреждаю но","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=140s"},{"start_seconds":148,"text":"есть у вас появится желание более детально в этом разобраться ссылочки я предоставлю это же лекцию я","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=148s"},{"start_seconds":158,"text":"наверное смотри почерку как вот в эту тему если у вас по мере презентации будут","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=158s"},{"start_seconds":166,"text":"вопросы не стесняйтесь давайте постараемся на них ответить давайте попробуем понять как вообще","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=166s"},{"start_seconds":176,"text":"происходит размещение памятью массивов и collections что такое collections я расскажу чуть","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=176s"},{"start_seconds":184,"text":"похуже это такое более более комплексная тема но в целом у вас сразу же должно","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=184s"},{"start_seconds":191,"text":"быть понимание как у где памяти используется как помните прошлой лекции кирилл","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=191s"},{"start_seconds":200,"text":"детально рассказывал про концепции хранением танки и","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=200s"},{"start_seconds":208,"text":"данном случае бросьте это активно используется и так у нас есть так и хип","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=208s"},{"start_seconds":218,"text":"позже путча соответствовало у нас переменные могут храниться переменные данные могут храниться у","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=218s"},{"start_seconds":226,"text":"стойки или в куче и это имеет такое достаточно большое значение поскольку","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=226s"},{"start_seconds":233,"text":"как нетрудно догадаться то модель хранения данных которые предполагают сохранение в стеке она позволяет к данным обращаться","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=233s"},{"start_seconds":242,"text":"естественно быстрее силу того что эти данные находятся как вы помните как","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=242s"},{"start_seconds":252,"text":"кирилл приводил пример с полетами можно привести пример знаете с тарелками когда одна тарелка ложится на другого и соответственно когда мы хотим получить","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=252s"},{"start_seconds":261,"text":"доступ о какой-то из тарелок мы их постепенного того снимаем и соответственно достаточно","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=261s"},{"start_seconds":269,"text":"быстро операция операция с кучей не настолько быстры и у неё есть одна из","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=269s"},{"start_seconds":276,"text":"таких особенностей как фрагментации но на данный момент ванны над этим и очень","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=276s"},{"start_seconds":285,"text":"сильно нужно задумываться самое главно просто запомнить где именно происходит хранения и это важный нюанс потому что","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=285s"},{"start_seconds":294,"text":"примеру если мы оперируем массивами то это будет накладывать свои определенные","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=294s"},{"start_seconds":303,"text":"обязательства перед разработчиками и так массивы и слоя сохраняться в стеке а коллекция","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=303s"},{"start_seconds":311,"text":"конечно он хранится куча и здесь я как видите привел несколько таких водных","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=311s"},{"start_seconds":319,"text":"примерчик а как происходит описание массивчик здесь у нас описываем директор","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=319s"},{"start_seconds":329,"text":"здесь у нас описаны кошмар просто чтобы уже визуально поняли как она выглядит и мне сейчас постепенно поэтапно","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=329s"},{"start_seconds":337,"text":"рассмотрим что из себя представляет каждая из этих концепций каких случаях","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=337s"},{"start_seconds":346,"text":"их применять и как эффективно использовать","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=346s"},{"start_seconds":353,"text":"давайте мы начнем с такого примитивного типа пластика на сего когда я говорю примитивный тип это пара","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=353s"},{"start_seconds":362,"text":"подразумевается базовый тип самого языка это такое наименьшая базовая конструкция","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=362s"},{"start_seconds":372,"text":"примитивным типам относятся те типы который мы рассматривали раньше в","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=372s"},{"start_seconds":377,"text":"частности это интер 32 и 64 и 128 он","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=377s"},{"start_seconds":384,"text":"сайт в том числе и diger а вот более и другие что из себя в","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=384s"},{"start_seconds":393,"text":"данном случае представляет массивы массива это набор такой сгруппированы да и они","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=393s"},{"start_seconds":403,"text":"хранятся в четко определенная последовательность также они хранятся в строки в это нужно","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=403s"},{"start_seconds":411,"text":"запомнить и эта последовательность она не естественно не меняется к примеру","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=411s"},{"start_seconds":419,"text":"у нас есть первое описание и здесь важным нюансом является следующее что","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=419s"},{"start_seconds":427,"text":"массив описывается через подводные скобки и у него должен быть известен","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=427s"},{"start_seconds":435,"text":"размер во время компиляции это такой важный нюанс как вы видите у нас типы вася и через запятую","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=435s"},{"start_seconds":443,"text":"через . , у нас указывается размер массива его размерность соответственно","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=443s"},{"start_seconds":450,"text":"мы заполняем его элементами которые должны быть все указанного типа нашем случае и 8 соответственно здесь будет","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=450s"},{"start_seconds":459,"text":"ограничения числа 255 и естественно мы эти элементы располагаем той последовательности","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=459s"},{"start_seconds":466,"text":"которая требует от нас логика программы и важным аспектом является то я повторяю","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=466s"},{"start_seconds":475,"text":"специально что размер его известен во время компиляции это","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=475s"},{"start_seconds":483,"text":"обеспечивает достаточно эффективную работу с массивами и позволяет","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=483s"},{"start_seconds":490,"text":"фактически ему находиться в том числе и стыки очень эффективно и быстро самого","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=490s"},{"start_seconds":498,"text":"ему оперировать в принципе раз может делать автоматический вывод типа но","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=498s"},{"start_seconds":507,"text":"все-таки для явного понимания какой тип массива иногда все-таки есть смысл указывать","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=507s"},{"start_seconds":516,"text":"явные какой-то тип на нашем случае ось об этом оставшиеся четыре более в том","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=516s"},{"start_seconds":522,"text":"числе и так далее то есть самые разные и 2 2 крышечка которая есть в расте это","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=522s"},{"start_seconds":534,"text":"то что можно массив задач из повторяющихся элементов то есть как вы видите у нас сама объявляет второй массив из трех","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=534s"},{"start_seconds":543,"text":"элементов и мы можем заполнить числом 10 как это делается и как увидите описываем","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=543s"},{"start_seconds":550,"text":"мы по-прежнему сначала указывается тип ; и размер массива а далее у нас опять","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=550s"},{"start_seconds":558,"text":"же таки значение массива описывается через квадратные скобки","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=558s"},{"start_seconds":565,"text":"сигарета во многих языках программирования так и в данном случае мы указываем число заполнитель это 10","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=565s"},{"start_seconds":573,"text":"точку запятой и количество повторений спасибо и как вы видите мы получили","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=573s"},{"start_seconds":580,"text":"масел из трех элементов которые себе содержит число 10 давайте разберемся с","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=580s"},{"start_seconds":591,"text":"тем как можем получить доступ массе здесь мы уже немножко усложнили на","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=591s"},{"start_seconds":598,"text":"сквере наш пример и показываем что переменная x нас является мутабельным и примеру мы хотим поменять","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=598s"},{"start_seconds":608,"text":"элемент который является вторым важным аспектом является то что индексация","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=608s"},{"start_seconds":617,"text":"массива начинается с 0 что значит индексация это доступ к определенным элементом массива в данном случае у нас","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=617s"},{"start_seconds":626,"text":"описан массив из трех элементов которые в себе содержит числа 135 и яндекс","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=626s"},{"start_seconds":633,"text":"доступа к каждому из элементов следующий один находится по индексу 03 находится","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=633s"},{"start_seconds":640,"text":"по индексу 1 и 5 находится по индексу некоторых языков программирования яндекс","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=640s"},{"start_seconds":646,"text":"и начинается с единицы к примеру july но здесь важно запомнить что доступ элементов массива в россии","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=646s"},{"start_seconds":656,"text":"начинается с 0 не соединится с нуля к этому потому и указываем что x с","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=656s"},{"start_seconds":665,"text":"индексом 1 равен 100 это значит что мы заменяем число 3 на стол и вот такой еще","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=665s"},{"start_seconds":676,"text":"не он что что произойдет если мы попробуем получить доступ к элементу","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=676s"},{"start_seconds":683,"text":"который которого нет носили нашем случае это естественно богат ошибку и давайте посмотрим что получится","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=683s"},{"start_seconds":692,"text":"если мы проверим какие элементы находятся здесь уже вводится дополнительный концерт на его чуть чуть","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=692s"},{"start_seconds":701,"text":"позже рассмотрим это слайс потому что массивы и слайс а они очень плотно переплетены и здесь фактически мы","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=701s"},{"start_seconds":710,"text":"рассматриваемый элемент с первого по последнее и как вы видите здесь у нас находится числа стойка","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=710s"},{"start_seconds":718,"text":"также очень легко массива модерировать цикла","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=718s"},{"start_seconds":724,"text":"как видите достаточно просто написать простейшую конструкцию как фарфор","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=724s"},{"start_seconds":732,"text":"in и мужа фактически получаем доступ массива и здесь важным нюансом является","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=732s"},{"start_seconds":739,"text":"то что фактически когда мы обращаемся к массиву в данном случае вцик ли то это","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=739s"},{"start_seconds":746,"text":"уже является как бы среза что такое средств мы буквально таких","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=746s"},{"start_seconds":751,"text":"следующей теме рассмотрим с теми слайды","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=751s"},{"start_seconds":758,"text":"так же его можно проектировать как вы помните на прошлых лекциях мы делали все операции которые доступны для массивов","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=758s"},{"start_seconds":767,"text":"здесь доступно в том числе и литераторы и давайте рассмотрим ещё такой элемент как","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=767s"},{"start_seconds":778,"text":"мы можем получить доступ kinder примеру нам нужно в массиве получить конкретные","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=778s"},{"start_seconds":787,"text":"индекс этих элементов то есть вот у нас есть массив 135 и нужно получить яндекс народ в данном случае когда мы","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=787s"},{"start_seconds":796,"text":"делаем цикл for мы используем как видите функцию method and peter литератор","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=796s"},{"start_seconds":804,"text":"фактически и этот итератор что он делает он делает перебор всех элементов которые находятся","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=804s"},{"start_seconds":812,"text":"данном массиве есть специальный метод который называется он умирает он всего","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=812s"},{"start_seconds":820,"text":"на сво делать следующие он возвращает на туп как вы видите здесь у нас тепло","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=820s"},{"start_seconds":827,"text":"содержится из двух элементов и этот купол себе содержит такие элементы как","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=827s"},{"start_seconds":834,"text":"яндекс мы здесь надавали переменную и и ваш этого массива соответственно у нас","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=834s"},{"start_seconds":842,"text":"будет возвращаться тепло из двух элементов это индекс и значение массива и как вы видите здесь мы уже выводим эти","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=842s"},{"start_seconds":853,"text":"данные далеко не всегда это нужно но если у вас возникнет такая потребность","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=853s"},{"start_seconds":859,"text":"вы всегда можете этим воспользоваться скажу такую важную деталь что вся эта","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=859s"},{"start_seconds":866,"text":"информация в полном виде доступна в документации методов существует","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=866s"},{"start_seconds":873,"text":"достаточно много для оперирования smas с носимыми это не только метод hydra есть и другие методы и также литераторы","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=873s"},{"start_seconds":883,"text":"по предоставляет множество других методов которые позволяют преобразовать этот","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=883s"},{"start_seconds":891,"text":"массив который мы получаем но фактически даже создавать в том числе коллекции применять к нему анонимные функции и","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=891s"},{"start_seconds":902,"text":"это тот механи мы его будем рассматривать в следующих лекциях которая уже большей степени","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=902s"},{"start_seconds":910,"text":"приближает нас от функционального программирования я щас такими крупными мазками для вас на будущее просто делаю","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=910s"},{"start_seconds":917,"text":"заметки чтобы вы обратили внимание что что для доступ от массива","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=917s"},{"start_seconds":928,"text":"есть возможность очень удобных таких функций которые относятся уже функциями","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=928s"},{"start_seconds":936,"text":"это все мы подробно в соответствующих лекция просмотр теперь давайте разберемся с вами со","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=936s"},{"start_seconds":945,"text":"слайс слайс очень плотной 1000 сносил и как я до этого говорил и одна из отличительных","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=945s"},{"start_seconds":954,"text":"черт слайс а это то что он слайсы","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=954s"},{"start_seconds":961,"text":"записывается через амперсанд то есть как вы видите у нас описано","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=961s"},{"start_seconds":967,"text":"из четырёх элементов и когда мы хотим что значит не имеют он помощи по или владельцы","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=967s"},{"start_seconds":974,"text":"это значит что он фактически у нас является с одной стороны ссылочным а в другой стороны он предоставляет","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=974s"},{"start_seconds":981,"text":"определенные средства массива определенный набор элементов если вы знакомому математики с таким","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=981s"},{"start_seconds":990,"text":"понятием как множество так вот слайсы позволяют делать из одного множества","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=990s"},{"start_seconds":1000,"text":"большого под множество практически достаточно большое количество под может","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1000s"},{"start_seconds":1007,"text":"в зависимости от требований и это такая концепция которую крайне удобно для","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1007s"},{"start_seconds":1016,"text":"практической разработке приложений и это","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1016s"},{"start_seconds":1021,"text":"fly собрать пульт доступа амперсанда и","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1021s"},{"start_seconds":1029,"text":"для этого мы соответственно указываем переменную и в скобках","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1029s"},{"start_seconds":1036,"text":"мы указываем range данном случае это нас","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1036s"},{"start_seconds":1043,"text":"от 0 до когда мы говорим до двух это значит что последний элемент","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1043s"},{"start_seconds":1050,"text":"не включается то есть как вы видите здесь у нас получится числа 1 и 3","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1050s"},{"start_seconds":1058,"text":"поскольку нас четыре элемента то как вы видите у нас","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1058s"},{"start_seconds":1065,"text":"толстым происходит по элементам которые относятся на единицу меньше","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1065s"},{"start_seconds":1073,"text":"чтобы вы не запутались просто запомните что первый элемент доступа это тот","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1073s"},{"start_seconds":1081,"text":"элемент которому вы хотите получить на правой части доступа к этому срезу это фактически будет на на элемент","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1081s"},{"start_seconds":1090,"text":"индекс у него будет фактически при включении от нуля до единицы и есть один","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1090s"},{"start_seconds":1098,"text":"такой синтаксический сахар обрасти когда к примеру есть мы хотим указать срез от","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1098s"},{"start_seconds":1105,"text":"нуля и до определенного значения в данном случае до двух мы 0 можете","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1105s"},{"start_seconds":1111,"text":"указать это значит что роста автоматически поймет и вот эти две два","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1111s"},{"start_seconds":1119,"text":"выражения у нас напечатают одинаковое значение дальше соответственно мы","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1119s"},{"start_seconds":1129,"text":"получаем доступ когда мы указом от 2 до 4 это значит что конкретный второй","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1129s"},{"start_seconds":1135,"text":"элемент нашем случае это будет 5 и до","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1135s"},{"start_seconds":1143,"text":"конечного элемента это будет элемент 0 1 2 3","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1143s"},{"start_seconds":1149,"text":"когда мы указываем 4 это значит что фактически у нас берется на один элемент","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1149s"},{"start_seconds":1156,"text":"меньше то есть если рассматривать с включением то это будет второй и третий элемент и также синтаксический сахар","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1156s"},{"start_seconds":1165,"text":"распространяется и на такую же конструкцию то есть нам известны известен элемент к примеру","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1165s"},{"start_seconds":1172,"text":"с которого мы хотим взять слайс это 2 и мы точно знаем что мы хотим взять то","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1172s"},{"start_seconds":1180,"text":"конца нашего массива а он содержит четыре элемента то мы можем оказать 2 .","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1180s"},{"start_seconds":1186,"text":"почему это удобно иногда у нас могут быть большие массивы к примеру и в","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1186s"},{"start_seconds":1195,"text":"некоторых случаях когда он передается там","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1195s"},{"start_seconds":1201,"text":"ссылки и так далее нам нужно будет получить его длину а для для того чтобы","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1201s"},{"start_seconds":1211,"text":"этого не делать есть очень красиво упрощения где фактически компилятор за","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1211s"},{"start_seconds":1219,"text":"нас делает всю работу и есть еще одну прекраснейшая конструкция она решает ряд","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1219s"},{"start_seconds":1227,"text":"очень важных задач это когда мы слайс указываем : то есть у нас и левый и","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1227s"},{"start_seconds":1237,"text":"правый диапазон массива полностью включены зачем это делается это значит","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1237s"},{"start_seconds":1244,"text":"что мы массив наш массив из четырёх элементов преобразовали в слайс срез который","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1244s"},{"start_seconds":1253,"text":"содержит четыре элемента это очень полезно когда мы передаем","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1253s"},{"start_seconds":1259,"text":"данные по ссылке то есть практически у нас не происходит копирование и это","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1259s"},{"start_seconds":1269,"text":"очень удобно опять же таки это позволит вам автоматически","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1269s"},{"start_seconds":1275,"text":"фактически сконвертировать массив срез","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1275s"},{"start_seconds":1283,"text":"и я на всякий случай еще раз повторю что массивов из лайса все элементы одного","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1283s"},{"start_seconds":1292,"text":"типа данных не может быть такого что у нас тип и 8 примеру там до 255 а мы туда","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1292s"},{"start_seconds":1303,"text":"хотим поставить тысячу это естественно будет ошибкой не приведет и либо паники","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1303s"},{"start_seconds":1312,"text":"если это во время runtime а либо к ошибке компиляции есть если компилятор","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1312s"},{"start_seconds":1317,"text":"это сможет теперь я предлагаю с вами","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1317s"},{"start_seconds":1325,"text":"перейти к коллекция коррекция это специальный тип у области и","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1325s"},{"start_seconds":1337,"text":"коллекция не являются примитивными типами они являются частью стала частью","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1337s"},{"start_seconds":1345,"text":"стандартной библиотеки палачи и","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1345s"},{"start_seconds":1353,"text":"некоторые из них нужно указывать явном виде некоторые не нужно в явном","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1353s"},{"start_seconds":1360,"text":"виде указывать и коллекция качестве важно понимать они не относятся к","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1360s"},{"start_seconds":1369,"text":"стандартной библиотеки под стандартная библиотека подразумевается истине и","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1369s"},{"start_seconds":1376,"text":"вам просто напросто нужно это запомнить потому что если вдруг в будущем вы будете разрабатывать новости программа","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1376s"},{"start_seconds":1385,"text":"который не содержит себя стандартные переплете а иногда такие потребности бывают в особенности когда вы","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1385s"},{"start_seconds":1392,"text":"разрабатываете под всяких будут устройства или смарт-контракты которая у которых есть специальные требования","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1392s"},{"start_seconds":1402,"text":"[музыка]","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1402s"},{"start_seconds":1403,"text":"производительностью использования газа или объемом в таком случае возможно","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1403s"},{"start_seconds":1410,"text":"когда-нибудь вы столкнулись с тем что вам необходимо использовать новости и в","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1410s"},{"start_seconds":1416,"text":"этом случае вам нужно запомнить что коллекции туда не включены и вам нужно будет использовать специальные","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1416s"},{"start_seconds":1425,"text":"вспомогательной библиотеки они прости все есть и просто отдельные катка вещать это такой важный нюанс который чувствует","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1425s"},{"start_seconds":1433,"text":"запомню и мы начнем с такого наиболее простого типа это вектор он описывается","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1433s"},{"start_seconds":1442,"text":"как бег и как я говорил ранее типа","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1442s"},{"start_seconds":1449,"text":"коллекции которому","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1449s"},{"start_seconds":1450,"text":"[музыка]","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1450s"},{"start_seconds":1452,"text":"дальнейшем будем рассматривать они хранятся в куче соответственно это","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1452s"},{"start_seconds":1458,"text":"значит что что размер их ограничен только размеров оперативной памяти которая вам предоставляет операционную","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1458s"},{"start_seconds":1467,"text":"систему есть пример вам операционной системы предоставляют объем примеру","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1467s"},{"start_seconds":1474,"text":"остров у вас там ноутбуки 8 предоставляет секс половина гигабайт то","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1474s"},{"start_seconds":1481,"text":"фактически вы имеете доступ ко всей этой памяти через коллекции данном случае человек то","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1481s"},{"start_seconds":1489,"text":"мы все остальные в том числе и интересным нюансом является то что со","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1489s"},{"start_seconds":1497,"text":"стеком сунита память т.к. она ограничена по дефолту в расте это 2048 килобайт 2","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1497s"},{"start_seconds":1505,"text":"мегабайта опять конечно же можно менять но управление","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1505s"},{"start_seconds":1513,"text":"объем стека это такая штука которую лучше не трогать потому что вы очень четко должны понимать что вы делаете","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1513s"},{"start_seconds":1521,"text":"поэтому если у вас есть необходимость интенсивного и большого использования подойти вам пригодится конечно же","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1521s"},{"start_seconds":1530,"text":"коллекции и первым помощником как я говорил для вас будет вектор вектор это набор упорядоченных данные которые","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1530s"},{"start_seconds":1540,"text":"хранятся которую одного типа фактически это тот","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1540s"},{"start_seconds":1547,"text":"же сама носи он просто организован и другому и он на хранится в кучин один из","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1547s"},{"start_seconds":1558,"text":"нюансов заключается в том что к типу вектор в том числе относятся строка","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1558s"},{"start_seconds":1565,"text":"string поскольку это является воплощением типа ветки 8 вектор вести","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1565s"},{"start_seconds":1573,"text":"восемь элементов и соответственно через это можно представить любой юдифи и","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1573s"},{"start_seconds":1580,"text":"youtube 8 элемент поскольку оперирования у нас происходит изучив 8 до строк и как","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1580s"},{"start_seconds":1590,"text":"происходит объявление вектора это достаточно просто делается но есть","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1590s"},{"start_seconds":1599,"text":"некоторые нюансы как вы видите когда мы описываем векторы у нас здесь есть как","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1599s"},{"start_seconds":1607,"text":"бы так сказать это символ больше меньше я скажу так и в данном случае он","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1607s"},{"start_seconds":1615,"text":"позволяет нам указать какого типа являются элементы вектора в данном","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1615s"},{"start_seconds":1624,"text":"случае есть несколько способов описание вектором мы описываем таким классическим","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1624s"},{"start_seconds":1631,"text":"вектором как векторы него то есть мы инициализируем оси соответственно для того чтобы работать с","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1631s"},{"start_seconds":1638,"text":"ним эта переменная должна быть мутабельным и у вектора есть достаточно","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1638s"},{"start_seconds":1645,"text":"много методов и я здесь намеренно их не перечислял поскольку в документации они","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1645s"},{"start_seconds":1652,"text":"все описаны в общем случае один из самых полезных методов это метод уж это значит","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1652s"},{"start_seconds":1661,"text":"что вы можете добавить потайными его последовательно сканируется","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1661s"},{"start_seconds":1670,"text":"из этого следует что объем массива вонь ограничен то есть если я изменять вектор","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1670s"},{"start_seconds":1679,"text":"если в массиве у вас должно быть четко определенная размер вектора вы можете","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1679s"},{"start_seconds":1686,"text":"добавлять хоть он элементов просто вы будете использовать дополнительную там здесь как вы видите в воде и когда мы","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1686s"},{"start_seconds":1696,"text":"делаем прим 2 выглядит это вывод будет выглядеть так же как носил и","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1696s"},{"start_seconds":1705,"text":"последовательность элементов с которой вы добавляете она будет именно такой не будет 1 сен 3 они размещаются","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1705s"},{"start_seconds":1714,"text":"последовательно и к вектору также применимы и итераторы ко всем элементам коллекции которые мы будем рассматривать","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1714s"},{"start_seconds":1723,"text":"применив оператор что такое итератор может быть более глубоко но не очень","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1723s"},{"start_seconds":1729,"text":"сильно подробно мы будем рассматривать в теме trade of поскольку для разных","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1729s"},{"start_seconds":1738,"text":"элементов мы можем самостоятельно реализовать то каким способом будет происходить и тегирование прости это уже","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1738s"},{"start_seconds":1747,"text":"сделано за вас в стандартной библиотеке коллекции вектор и я рекомендую вам","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1747s"},{"start_seconds":1756,"text":"свободное время посмотреть эту библиотеку немного функции и один из","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1756s"},{"start_seconds":1763,"text":"аспектов является то что это достаточно хорошо вменяемо описано чаще всего с примерами и как победить и","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1763s"},{"start_seconds":1773,"text":"интегрировании происходит через цикл for фактически особо ничем не отличается как","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1773s"},{"start_seconds":1780,"text":"вы видите вот вывода в массиве единственное что в массиве мы оперирован с лайсом но опять же таки вектор тоже","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1780s"},{"start_seconds":1789,"text":"можно перевести всласть для этого вы можете зайти документацию и","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1789s"},{"start_seconds":1795,"text":"посмотреть как это делается он давайте рассмотрим с вами хочу это","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1795s"},{"start_seconds":1807,"text":"уже такая более сложная тема я даже сказала она является advanced и я решил","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1807s"},{"start_seconds":1816,"text":"пойти немножко таким путем с цитированием того как это описано в библиотеке","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1816s"},{"start_seconds":1825,"text":"мы поступим следующим образом сначала его объяснить максимально просто дальше вы","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1825s"},{"start_seconds":1834,"text":"можете посчитать это описание которые я здесь клево она также у поздно и документация и если","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1834s"},{"start_seconds":1845,"text":"у вас более пожелания пути выстроен потому что из себя представляет кошму","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1845s"},{"start_seconds":1853,"text":"это фактически других языках примера представим это некая ключ-значение некая","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1853s"},{"start_seconds":1865,"text":"структура которая в себе содержит при извлечении когда мы храним грудь значения есть одна из фундаментальных","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1865s"},{"start_seconds":1872,"text":"проблем она заключается в том что доступ","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1872s"},{"start_seconds":1877,"text":"по ключу может быть скомпрометирован и","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1877s"},{"start_seconds":1883,"text":"для этого используется фишман что значит почему именно это значит что для плеча у","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1883s"},{"start_seconds":1892,"text":"него используются некий алгоритм хэширования и как вы видите по умолчанию","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1892s"},{"start_seconds":1899,"text":"в расте используется алгоритм 13 если у вас есть желание опять же таки можете","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1899s"},{"start_seconds":1906,"text":"более детально посмотреть что это такое это значит что у него предоставляется определенной гарантию","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1906s"},{"start_seconds":1914,"text":"уникальности этого ключа и есть разного","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1914s"},{"start_seconds":1920,"text":"рода атаки на map и почему это важно это значит что","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1920s"},{"start_seconds":1929,"text":"можно получить доступ к данным которым доступ не должен быть получен и вырасти","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1929s"},{"start_seconds":1936,"text":"с этим все отлично поскольку раз это системное программирование его позиционируются как безопасный и хочу","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1936s"},{"start_seconds":1945,"text":"опасается задачи полностью справляется если на пальцах .","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1945s"},{"start_seconds":1951,"text":"это просто ключ-значение то есть у вас есть некий ключ к которому вы можете","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1951s"},{"start_seconds":1957,"text":"получить значение если здесь видеть в массиве нас доступ последовательный","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1957s"},{"start_seconds":1965,"text":"доступ к элементам происходит это элементы одного типа у нас здесь никаких ключей нет здесь у","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1965s"},{"start_seconds":1974,"text":"нас есть только значения в данном случае это 137 в шляпе это более сложная структура по","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1974s"},{"start_seconds":1983,"text":"которой вы можете получать доступ к значению по его плечу и как вы видите","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1983s"},{"start_seconds":1993,"text":"здесь в этом описании поздно что реализуется понте фиксированный доступ","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=1993s"},{"start_seconds":2004,"text":"семьи сент-иво папу короче говоря и он гарантирует безопасность вот такого рода","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2004s"},{"start_seconds":2013,"text":"опять же таки есть го сезона почитать об этом подробно почитайте но на данном этапе я думаю вам не осилю","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2013s"},{"start_seconds":2022,"text":"нужно но тема hp по она всегда интересно в любом языке программирования и просто запомните раз","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2022s"},{"start_seconds":2031,"text":"и навсегда что фишман реализует функцию","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2031s"},{"start_seconds":2038,"text":"хеширования ключ должен быть зафиксирован это везде так реализуется в любом меня","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2038s"},{"start_seconds":2045,"text":"языке и в питоне и в бога и так далее и давайте разберемся как к.с.","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2045s"},{"start_seconds":2059,"text":"шляпам работает для работы с ним","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2059s"},{"start_seconds":2065,"text":"необходимо вызвать его из стандартной библиотеки как вы видите здесь у нас а","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2065s"},{"start_seconds":2072,"text":"среди коллег шин и мы используем типах и","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2072s"},{"start_seconds":2076,"text":"швы и швы по нету быстрого описания для","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2076s"},{"start_seconds":2087,"text":"векторов сейчас я вам попробую показать почему то здесь нету вектор можно","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2087s"},{"start_seconds":2097,"text":"описать в том числе через макрос один из","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2097s"},{"start_seconds":2103,"text":"один из элементов в","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2103s"},{"start_seconds":2110,"text":"это сделать и поэтому мы переменном всегда должны указывать и обратите","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2110s"},{"start_seconds":2119,"text":"внимание что в отличие от вектора хэш map содержит два типа первый тип он","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2119s"},{"start_seconds":2127,"text":"может быть опять же таки любом но в данном случае у кота что это стр","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2127s"},{"start_seconds":2134,"text":"первый тип это тип ключа второй тип тип значения опять же таки повторюсь что","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2134s"},{"start_seconds":2143,"text":"каждый из этих типов он может быть заменен на другой единственное важным нюансом является то","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2143s"},{"start_seconds":2151,"text":"что для типа который используется для ключа должна быть реализована функция","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2151s"},{"start_seconds":2158,"text":"хеширования есть это стандартный тип просто она реализована по умолчанию если","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2158s"},{"start_seconds":2165,"text":"это ваш постоянный тип то вы должны каким-то образом сами определиться как","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2165s"},{"start_seconds":2172,"text":"ее реализовать это на самом деле не сложно мы это рассматривать не будем потому что это принципе чаще всего это","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2172s"},{"start_seconds":2179,"text":"критический случай когда для плеча мы используем кастомная тип иногда такое","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2179s"},{"start_seconds":2186,"text":"необходимо достаточно я обратите внимание что если мы все","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2186s"},{"start_seconds":2195,"text":"ключи использую то они всегда будут одного типа нашем случае store и соответственно все значения у нас тоже будут одного типа","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2195s"},{"start_seconds":2204,"text":"для hashmi по используется функции для вставки enter действительности очень","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2204s"},{"start_seconds":2213,"text":"много функции есть встроенный для кэшбэка и для того чтобы узнать какие","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2213s"},{"start_seconds":2220,"text":"они есть и я вам крайне рекомендую пойти документации по этой библиотеке который","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2220s"},{"start_seconds":2226,"text":"будет находиться вот по такому платью и там будет очень много функций описано я","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2226s"},{"start_seconds":2235,"text":"разумный дублировать поскольку в документации и очень хорошо списаны мерами и так вы","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2235s"},{"start_seconds":2246,"text":"можете найти множество вспомогательных функций мы просто для начала он есть","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2246s"},{"start_seconds":2252,"text":"запомнить вставляется естественно cashmere не ограничено своем размере опять же","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2252s"},{"start_seconds":2262,"text":"такие как и все типы коллекции которые относятся они ограничены только объемом","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2262s"},{"start_seconds":2268,"text":"оперативной памяти которых которые для","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2268s"},{"start_seconds":2274,"text":"вашей программы выделены и это","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2274s"},{"start_seconds":2283,"text":"достаточно эффективно и на всякий случай еще раз повторюсь что все коллекции","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2283s"},{"start_seconds":2289,"text":"они находятся в кучу и как вы видите очень легко в том числе распечатать","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2289s"},{"start_seconds":2298,"text":"значение которые находятся в шляпе здесь как вы уже видите они представлены через","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2298s"},{"start_seconds":2308,"text":"фигурные скобки если абстрагироваться то это очень похожим на jison естественно никакого отношениям через он это не","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2308s"},{"start_seconds":2315,"text":"имеет просто но в таком виде отображается очень похоже согласитесь в данном случае если вы","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2315s"},{"start_seconds":2324,"text":"эти просто визуально запомнить как как это выглядит с левой части у нас находится ключ с правой части находится","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2324s"},{"start_seconds":2332,"text":"значениями эпический ключ-значение как вы помните когда мы печатали вектора у","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2332s"},{"start_seconds":2340,"text":"нас данные отображались через квадратные скобки и через последовательность","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2340s"},{"start_seconds":2347,"text":"элементов одного типа ключ-значение это по-другому происходит тоже наглядности с показаны и как я вам","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2347s"},{"start_seconds":2355,"text":"говорил что коллекция во всех типов коллекции которые есть в расте стандартной","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2355s"},{"start_seconds":2363,"text":"библиотекой то есть как вы видите вот эта стандартная библиотека есть они collections и в нём находится целый набор","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2363s"},{"start_seconds":2371,"text":"кошмар извините коллекция типа в том числе вектор хочешь этом петимат","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2371s"},{"start_seconds":2379,"text":"и там есть на самом деле и другие но они редко используются если у вас будет желание потребность использовать их вы","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2379s"},{"start_seconds":2387,"text":"идете по вот этому и доступ ко всем коллекциям реализуется в том числе через","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2387s"},{"start_seconds":2396,"text":"генератор это очень удобно можно в том числе получать поэлементно если у вас есть такая потребность например в","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2396s"},{"start_seconds":2403,"text":"конкретному ключу в данном случае чтобы не это не усложнять я показывал как можно вывести элементы","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2403s"},{"start_seconds":2412,"text":"ключ значения непосредственно через цикл","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2412s"},{"start_seconds":2417,"text":"for и на тот момент вам просто нужно","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2417s"},{"start_seconds":2425,"text":"запомнить что вектор это последовательности значение которое","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2425s"},{"start_seconds":2432,"text":"неограниченно в размере и хранятся в кучи и это именно последовательность они там не","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2432s"},{"start_seconds":2440,"text":"рандом надежно это значение это тип которая содержит","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2440s"},{"start_seconds":2448,"text":"себе ключ-значение он пройден хранится в том числе кучи и это крайне удобно для соответствующих","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2448s"},{"start_seconds":2456,"text":"структур данных как вы видите это очень такие структуру данных очень часто встречается это одни из очень","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2456s"},{"start_seconds":2466,"text":"распространены аки поехали дальше и давайте рассмотрим считаю себя представляет хэштег это одна из","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2466s"},{"start_seconds":2476,"text":"абстракции которая позволяет оперировать ключами то есть hash сет является под","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2476s"},{"start_seconds":2484,"text":"типом шмап и опять усики он себе содержится те же самые элементы и атрибуты","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2484s"},{"start_seconds":2491,"text":"значит что он хранится куча каких-то шмар поскольку фактически отвергается хоффман","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2491s"},{"start_seconds":2500,"text":"он по своей сути является собой набор ключей то есть если hashmi","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2500s"},{"start_seconds":2507,"text":"это набор ключ-значение the headset это набор ключей как это внутреннее","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2507s"},{"start_seconds":2515,"text":"устроена мышцы это фактически хоффману которого все значения одинаковые это типа","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2515s"},{"start_seconds":2524,"text":"видите видеть упал просто две круглые скобки как вы помните в рости нету типа","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2524s"},{"start_seconds":2533,"text":"ну или нил реализуется вот такой вот конструкции двумя фигурными скобками и","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2533s"},{"start_seconds":2542,"text":"как вы помните если я вам говорил на одной из прошлых лекций если вы видите функцию которая не","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2542s"},{"start_seconds":2549,"text":"возвращает ничего это на самом деле упрощение компилятора это значит он не","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2549s"},{"start_seconds":2559,"text":"требует от программиста в явном виде указывайте монтировались и если к примеру у нас","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2559s"},{"start_seconds":2565,"text":"есть функция main я на не возвращают тип то это значит что по умолчанию у него","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2565s"},{"start_seconds":2572,"text":"возвращается такой тип это одна из удивительных особенностей роста которые не позволяют наличие","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2572s"},{"start_seconds":2580,"text":"несуществующих переменных типа молнии и так далее просто называется и это значит","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2580s"},{"start_seconds":2589,"text":"что гарантируется безопасность на уровне самого императора и дик такие фигурные","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2589s"},{"start_seconds":2598,"text":"скобки это значит что это пустое значение соответственно когда у нас записывается кошмар таким образом это у","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2598s"},{"start_seconds":2605,"text":"нас есть набор ключей и все значения это пустые значения мы получаем одну из крайне полезных структур которая являет","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2605s"},{"start_seconds":2614,"text":"собой хранилище ключей вам нужно помнить что это хранилище","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2614s"},{"start_seconds":2621,"text":"ключей которая с одной стороны уникальным то есть они не могут повторяться от одной из","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2621s"},{"start_seconds":2629,"text":"требований второе это то что мы используем кашмир это значит что под","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2629s"},{"start_seconds":2637,"text":"капотом у них алгоритм хэширования и соответственно множество защит который","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2637s"},{"start_seconds":2645,"text":"гарантирует сам язык программирования компилятор ним находится для избежания","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2645s"},{"start_seconds":2653,"text":"взлома давно я буду говорить очень примитивно и это один из офисов которая","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2653s"},{"start_seconds":2661,"text":"иногда может быть очень полезным получить доступ только включаем к этому значения и давайте посмотрим как это","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2661s"},{"start_seconds":2671,"text":"выглядит с практической точки зрения как вы видите у нас поменялось объявление здесь сама указываю системе","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2671s"},{"start_seconds":2680,"text":"collections headset если прошлом случае данном случае тащишься и опять же таки я","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2680s"},{"start_seconds":2689,"text":"специально повторюсь что если у вас есть с вами разобраться где же находится","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2689s"},{"start_seconds":2696,"text":"документация она находится вот по такому пути ток срс в том числе это политика","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2696s"},{"start_seconds":2705,"text":"личность и там в том числе вы увидите хочет и с ним спокойно можете поработать все эти ссылки","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2705s"},{"start_seconds":2713,"text":"конце этого слайда будут что не трудно будет найти все есть и объявление","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2713s"},{"start_seconds":2723,"text":"переменной для хочется это происходит таким образом как вы видите мы описываем переменную хочу эту которые есть у нас","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2723s"},{"start_seconds":2730,"text":"всего один тип это тип ключа нашем случае с до string и опять этом our pride любой тип фактически которые","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2730s"},{"start_seconds":2738,"text":"реализует все стандартные типа расти они","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2738s"},{"start_seconds":2746,"text":"реализуют это опять же таки инициализация происходит","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2746s"},{"start_seconds":2756,"text":"также как вы помните у нас лектор так инициализировал также инициализировал ся cached то есть","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2756s"},{"start_seconds":2765,"text":"если вы будете работать с коллекциями то и вдруг не знаете как и инициализировать","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2765s"},{"start_seconds":2770,"text":"то ответ всегда один вы указываете тип коллекции нашем случае","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2770s"},{"start_seconds":2778,"text":"и ними и не забывайте указывать переменную мы топили если вы хотите его","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2778s"},{"start_seconds":2785,"text":"заполнить поскольку при инициализация естественно пустой с ним можно работать в том или ином виде но возможного будет","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2785s"},{"start_seconds":2793,"text":"в этом случае бесполезны и как вы видите также каких и шмиты функция тоже самое","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2793s"},{"start_seconds":2800,"text":"для вставки значения это insert только как видите в данном случае мы указываем","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2800s"},{"start_seconds":2807,"text":"только ключ поскольку значение и поскольку есть некая преемственность как","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2807s"},{"start_seconds":2815,"text":"вы видите через итератор также мы получаем доступ","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2815s"},{"start_seconds":2826,"text":"значение ключа и в данном случае у нас будет содержаться только ключи я","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2826s"},{"start_seconds":2834,"text":"качестве можно вывести как и прежде его через в данном случае как вы видите есть","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2834s"},{"start_seconds":2841,"text":"такие есть отличие погадать фигурных скобках через запятую перечислены","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2841s"},{"start_seconds":2848,"text":"всего-навсего ключ думаю что с хэш этом","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2848s"},{"start_seconds":2855,"text":"все достаточно просто потому что он","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2855s"},{"start_seconds":2859,"text":"является подмножеством и давайте прямо","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2859s"},{"start_seconds":2872,"text":"это всей видимости by потому что причина и дерево и оно автоматически подумал что","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2872s"},{"start_seconds":2879,"text":"неплохо бы таким образом ставит а это еще более сложная концепция","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2879s"},{"start_seconds":2886,"text":"опять же таки я постараюсь ее для вас упростить сделать такую небольшую небольшую выдержку из документации","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2886s"},{"start_seconds":2895,"text":"но по факту это работы с бинарными как вы знаете","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2895s"},{"start_seconds":2904,"text":"для бинарного дерева существует эффективные алгоритмы поиска и это тип","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2904s"},{"start_seconds":2911,"text":"реализует эти алгоритмы как вы помните вот если вы работали с базами данных потом есть разные типы хранения хранение","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2911s"},{"start_seconds":2921,"text":"данных и пример postgres апреля один из типов хранения является битый этого","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2921s"},{"start_seconds":2930,"text":"можно конфигурация выставить то есть некое бинарное дерево то есть это ланже","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2930s"},{"start_seconds":2935,"text":"что она имеет свойство такого явления","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2935s"},{"start_seconds":2943,"text":"здесь более подробно описано как вы видите в чем преимущества для доступа","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2943s"},{"start_seconds":2951,"text":"бинарному дереву я не буду просто пересчитывать важно важным элементом","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2951s"},{"start_seconds":2958,"text":"является то что у бинарного дерева есть свои накладные расходы то есть если у","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2958s"},{"start_seconds":2966,"text":"вас есть желание с бинарным деревом познакомиться более подробно поскольку такая специфическая штука его","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2966s"},{"start_seconds":2973,"text":"ближайшее время я думаю он вам она не понадобится но для некоторых алгоритмов","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2973s"},{"start_seconds":2981,"text":"поскольку это уже именно алгоритмический такой тип бинарное дерево является неотъемлемым элементом и к сожалению у","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2981s"},{"start_seconds":2991,"text":"каждого из этих типов есть свои накладные расходы то есть документации роста достаточно четко","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2991s"},{"start_seconds":2999,"text":"описано какие есть водные расходы по доступу к элементам частности у вектора это наименьшее накладные расходы","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=2999s"},{"start_seconds":3008,"text":"накладные расходы это значит что время доступа к элементам хищники поскольку","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3008s"},{"start_seconds":3015,"text":"это реализовано через через функцию хэширования это по-другому","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3015s"},{"start_seconds":3024,"text":"уже происходит и здесь как вы видите в детей mapi расходные проще говоря доступ","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3024s"},{"start_seconds":3035,"text":"к элементам брать в аренду за счет того что он предоставляет разного рода","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3035s"},{"start_seconds":3042,"text":"внутренние элементы для и things on all для доступа к данным и поиску поскольку он эффективно","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3042s"},{"start_seconds":3051,"text":"то есть вам всегда очень четко можно понимать какое из этих типов на практике","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3051s"},{"start_seconds":3059,"text":"рассмотреть как же все-таки выглядит доступ и как вы видите очень похожи на","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3059s"},{"start_seconds":3069,"text":"естественно опять же у нас происходит описание через by three который","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3069s"},{"start_seconds":3077,"text":"находится от категории collection стандартной библиотеки и здесь опять же таки мы указом уже два типа который","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3077s"},{"start_seconds":3086,"text":"отвечает значения этих элементов и в бинарном","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3086s"},{"start_seconds":3096,"text":"дереве выделения происходит немножко по-другому именно для этого мы рассчитываем и опять","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3096s"},{"start_seconds":3107,"text":"же таки как и в have my baby fresh сети все те же стандартные функции insert","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3107s"},{"start_seconds":3114,"text":"это итератор и здесь все те же стандартные функции создания без ремонта","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3114s"},{"start_seconds":3121,"text":"и я для вас здесь привёл один из интересных элементов специально сохранил","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3121s"},{"start_seconds":3130,"text":"деньги под конец когда вы хотите удостовериться к примеру вставить ключ и","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3130s"},{"start_seconds":3138,"text":"[музыка]","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3138s"},{"start_seconds":3140,"text":"проверить и если этот элемент и примеру если у вас есть такая задача есть","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3140s"},{"start_seconds":3146,"text":"ключи есть ничего не делать а если ключа нету сделать ставку в данном случае","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3146s"},{"start_seconds":3154,"text":"функция или method are in soft это делает это значит если он есть он ничего","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3154s"},{"start_seconds":3161,"text":"не сделает если его нет он ставит значение 100 и как увеличить через iterator то точно таким способом","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3161s"},{"start_seconds":3169,"text":"происходит доступ к элементам какие флэшмоб то есть когда мы оперируем мы получаем такой купол который себе содержит киева","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3169s"},{"start_seconds":3177,"text":"и опять же таки мы через император может не получить доступ на самом деле способа","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3177s"},{"start_seconds":3186,"text":"получить доступ достаточно много как вы видите вот у нас есть центре есть другие методы это все вы можете посмотреть в","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3186s"},{"start_seconds":3193,"text":"документации расписывать какие есть методы для гитаре мы опять-таки повторюсь я считаю что это бессмысленно","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3193s"},{"start_seconds":3202,"text":"на всякий случай я еще один полезный метод здесь решили показать это","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3202s"},{"start_seconds":3208,"text":"кудринский как вы понимаете этот мир","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3208s"},{"start_seconds":3214,"text":"существует вид для хэш мы по и для сета поскольку соответственно есть у вас есть","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3214s"},{"start_seconds":3223,"text":"такая задача чтобы проверить содержит ли набор данных","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3223s"},{"start_seconds":3229,"text":"определенный ключ-то задолженность таких частых задач вы можете этим","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3229s"},{"start_seconds":3236,"text":"воспользоваться и под конец мы видим что когда мы будем данное","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3236s"},{"start_seconds":3244,"text":"53 пампа они выглядят очень похоже и я","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3244s"},{"start_seconds":3252,"text":"напомню что мы с вами рассмотрели три базовых типа коллекция это вектор","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3252s"},{"start_seconds":3260,"text":"который себе содержит последовательность элементов 1-го типа хеш map это ключ-значение где все ключи должны быть","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3260s"},{"start_seconds":3270,"text":"одного типа и реализовывать хэш-функцию и значение значение тоже должны быть все одного типа язык","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3270s"},{"start_seconds":3279,"text":"программирования это построй типизированный язык и он будет строго за этим следят который себе","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3279s"},{"start_seconds":3287,"text":"содержит набор ключей также одного типа и битемап реализующего бинарное дерево","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3287s"},{"start_seconds":3296,"text":"который опять-таки к себе содержит два типа значения и опять-таки все ключи должны быть 1-го типа также как и","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3296s"},{"start_seconds":3304,"text":"значение каждый из них рассчитан от определенной you space я бы очень рекомендовал когда","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3304s"},{"start_seconds":3315,"text":"[музыка]","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3315s"},{"start_seconds":3316,"text":"продакшене не имеет задачи которые будут требовать от вас понимание какой из этих типов","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3316s"},{"start_seconds":3324,"text":"использовать обращаться к вот этим ссылочкам специальный подобрал в себе","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3324s"},{"start_seconds":3332,"text":"куда-нибудь их сохранить и слайс с на","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3332s"},{"start_seconds":3339,"text":"полюсе как вы видите просто буки главе 4","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3339s"},{"start_seconds":3348,"text":"массиву относится к примитивным типом вот он находится в стандартной","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3348s"},{"start_seconds":3355,"text":"библиотеке роста коллекция находится вот","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3355s"},{"start_seconds":3363,"text":"по этому пути тоже как вы видите это стандартные библиотеки и коллекция как и","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3363s"},{"start_seconds":3373,"text":"также не забывайте что у нас есть разбег samples который показывает","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3373s"},{"start_seconds":3380,"text":"в таком развернутом виде так сказал как с этим работать поскольку у нас примером","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3380s"},{"start_seconds":3386,"text":"немного разбавить zapals примеров много и они разные иногда языке экзотические","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3386s"},{"start_seconds":3395,"text":"полезны очень рекомендую вам полазить и одна из специфик это то что непосредственно на этом сайте можно их","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3395s"},{"start_seconds":3404,"text":"выполнить там есть такая кнопочка запустить вы читайте документацию сразу можете это очень удобно","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3404s"},{"start_seconds":3413,"text":"опять-таки повторюсь когда у вас появится насущную потребность в том чтобы работать со структурами данными","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3413s"},{"start_seconds":3421,"text":"как массивы слайсы коллекция и вы что-то забудете обращайтесь по вот этим соком","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3421s"},{"start_seconds":3430,"text":"они вам помогут с тем чтобы разобраться какие функции есть как с этим работать","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3430s"},{"start_seconds":3438,"text":"поскольку мы с вами сегодня рассмотрели только некую такую верхушку айсберга я поскольку сама тема достаточно сложная","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3438s"},{"start_seconds":3447,"text":"объемная и в ней много подводных камней и это документация вам явно поможет","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3447s"},{"start_seconds":3455,"text":"очень рекомендую на этом я думаю что все","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3455s"},{"start_seconds":3462,"text":"будем переходить по важным вопросам","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3462s"},{"start_seconds":3489,"text":"так на поскольку здесь есть только отмечены рассматривать правильно я","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3489s"},{"start_seconds":3498,"text":"понимаю что массивы и слазь не всегда хранятся на стыке например когда он","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3498s"},{"start_seconds":3504,"text":"хранится вместе или при любом другом интересами","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3504s"},{"start_seconds":3519,"text":"мама кирилл ответил действительно","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3519s"},{"start_seconds":3523,"text":"[музыка]","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3523s"},{"start_seconds":3524,"text":"слайс и массива не всегда в стеке вектора","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3524s"},{"start_seconds":3531,"text":"куча естественно что там есть есть свои","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3531s"},{"start_seconds":3538,"text":"свои нюансы поскольку частности пример когда мы осуществляем срочные там там","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3538s"},{"start_seconds":3544,"text":"доступ по своему происходит целом вопрос хранятся в листья здесь наверное было бы смысла .","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3544s"},{"start_seconds":3554,"text":"листья не direction","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3554s"},{"start_seconds":3565,"text":"ну вот я смотрю здесь приведен пример","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3565s"},{"start_seconds":3569,"text":"вектор котором находится масел это нужно","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3569s"},{"start_seconds":3579,"text":"ещё понять зачем именно так делать смотрите вектор для повторюсь хранится в","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3579s"},{"start_seconds":3591,"text":"куче если у вас есть если вы туда сохраняете массив это значит что эти данные будут","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3591s"},{"start_seconds":3599,"text":"храниться в куче не значит что часть будет храниться в стеке часть будет в куче вектор хранится","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3599s"},{"start_seconds":3607,"text":"куча это нужно запомнить любой тип который там находится он будет храниться в куче поэтому вот там массив хоть не","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3607s"},{"start_seconds":3615,"text":"массив будет это все находиться у чем","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3615s"},{"start_seconds":3628,"text":"так массива разве не хранится там где хранятся его элементы например массивы sting разве хранится встреча ну как вы знаете","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3628s"},{"start_seconds":3638,"text":"стинг это не массив я вам так что это сказал так буфер для находится хранится","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3638s"},{"start_seconds":3646,"text":"архив это ответил кирилл","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3646s"},{"start_seconds":3662,"text":"есть со структурой из кучи она хранится в стеке я не очень понял как и","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3662s"},{"start_seconds":3670,"text":"из элементов string она может храниться стеки я наверно не очень понял что вы","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3670s"},{"start_seconds":3680,"text":"имеете ввиду что будет если вектор во","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3680s"},{"start_seconds":3686,"text":"время работе перерастет размером нетрудно догадаться будет паника","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3686s"},{"start_seconds":3700,"text":"смотрите нужно понимать что управление памятью происходит в операционной","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3700s"},{"start_seconds":3706,"text":"системе и и как кирилл правильно сказал это вопрос не краску об операционной","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3706s"},{"start_seconds":3714,"text":"системе обычного с будет использовать of memory но опять же таки это все зависит","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3714s"},{"start_seconds":3721,"text":"исключительно от операционной системы вот и и настроек от приоритета от на плащах примеру","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3721s"},{"start_seconds":3729,"text":"поскольку раз позволяет писать системные приложения то их можно запускать с","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3729s"},{"start_seconds":3736,"text":"высоким приоритетом даже на уровне ядра ну то есть как это делать мне","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3736s"},{"start_seconds":3744,"text":"естественно рассматривать не будем поэтому это все зависит от совершенно","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3744s"},{"start_seconds":3750,"text":"конкретных кейсов и если произойдет","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3750s"},{"start_seconds":3757,"text":"переполнение памяти ничем хорошим это не","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3757s"},{"start_seconds":3761,"text":"закончится до упомянули что","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3761s"},{"start_seconds":3768,"text":"рандом нас не хэширование кэшбэк и защищается от того чтобы на одном плече","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3768s"},{"start_seconds":3775,"text":"получить элемент другого включая есть я правильно понял можно ли рассказать","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3775s"},{"start_seconds":3781,"text":"подробнее так давайте я попробовал понять что вы спросили рандомность","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3781s"},{"start_seconds":3791,"text":"защищает от того чтобы по одному ключу получить элемент другого ключа по одному ключу получить элемент другу ключа что","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3791s"},{"start_seconds":3800,"text":"значит по одному ключу получить элемент другого ключа выше получаете смотрите вам нужно понять","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3800s"},{"start_seconds":3807,"text":"что вам как для конечного пользователя имеется как для программиста вот вас","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3807s"},{"start_seconds":3814,"text":"существует всего навсего один ключ дальше существуют алгоритмы которая позволяет обезопасить доступ к элементам","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3814s"},{"start_seconds":3823,"text":"которые позволили бы получить доступ к данным которые могут быть скомпрометированы и соответственно для","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3823s"},{"start_seconds":3831,"text":"этого используются некие алгоритмы хэширования нет ни ки сказал таки","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3831s"},{"start_seconds":3839,"text":"поэтому самоутверждение в одному ключу получить элемент другого врача она не очень верно то есть вы получаете по","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3839s"},{"start_seconds":3848,"text":"плечу некоторое значение фактически вам даже не очень сильно нужно задумываться","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3848s"},{"start_seconds":3855,"text":"как именно это работает вам самое главное понимать что она обладает свойствами надежности и самое главное","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3855s"},{"start_seconds":3864,"text":"она работает по принципу ключ-значение","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3864s"},{"start_seconds":3878,"text":"ну да совершенно верно она это защита в том числе и вот а то поскольку примеру у вас чувствительное","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3878s"},{"start_seconds":3886,"text":"чувствительные данные есть приложение но предположим у вас приложение которое","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3886s"},{"start_seconds":3893,"text":"работает финансовом секторе и соответственно для того чтобы защитить","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3893s"},{"start_seconds":3900,"text":"ворота элементы поскольку в кашмире можно реализовать разного рода атаки это","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3900s"},{"start_seconds":3907,"text":"уже знаете такие дремучие тема но важно понимать то что это позволяет обезопасить","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3907s"},{"start_seconds":3920,"text":"еще ваши вопросы","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3920s"},{"start_seconds":3955,"text":"ну смотрите если вы если для вас ну и","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3955s"},{"start_seconds":3961,"text":"уют это одно и то же муки это про вопрос из чата","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3961s"},{"start_seconds":3988,"text":"правильно я понимаю что массив стрингов ранится ацтеки то есть в стеке есть ссылка лэнс","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3988s"},{"start_seconds":3995,"text":"capacity сама ссылка ведет в хип хороший вопрос","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=3995s"},{"start_seconds":4024,"text":"из того что я помню там именно происходит доступ к","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4024s"},{"start_seconds":4033,"text":"[музыка]","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4033s"},{"start_seconds":4035,"text":"ссылочные кучи то есть фактически он содержит себе","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4035s"},{"start_seconds":4039,"text":"ссылки на кучу домам другого ряда это","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4039s"},{"start_seconds":4047,"text":"вычету","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4047s"},{"start_seconds":4079,"text":"ну смотрите опять же таки вопрос поднимается с с пустым типом и ну если вы сможете для","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4079s"},{"start_seconds":4088,"text":"себя ответит чем пустой тип отличается от но я думаю что это будет ответом на ваш вопрос","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4088s"},{"start_seconds":4115,"text":"так у вас есть еще вопросы","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4115s"},{"start_seconds":4131,"text":"какого сделать движутся с домашним заданием если какие-то сложности","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4131s"},{"start_seconds":4145,"text":"по всей видимости нету","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4145s"},{"start_seconds":4169,"text":"дан массив массивов нельзя менять размеры наверно так вот вопросики","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4169s"},{"start_seconds":4191,"text":"прости нету метода типа void","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4191s"},{"start_seconds":4201,"text":"и нету типанова не знаю является ли это ответственно для","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4201s"},{"start_seconds":4210,"text":"вас элемент и они очень сильно понимаю в чем суть вопроса что смотрите вы пишете","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4210s"},{"start_seconds":4222,"text":"вопросы в том зачем возвращать пустое пустое значение если можно вернуть есть тоже пустое значение","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4222s"},{"start_seconds":4241,"text":"мы уже к мы с вами говорим про типы данных","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4241s"},{"start_seconds":4279,"text":"смотрите выпиши это максим пишет что она учится возврат пустого значение","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4279s"},{"start_seconds":4286,"text":"преподносится как какое-то преимущество спасающие от ошибки соснул но смотрите","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4286s"},{"start_seconds":4295,"text":"чем специфика вы не можете не как вернуть потому что переменные","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4295s"},{"start_seconds":4304,"text":"ну не будет это на уровне самого компилятора содержится поэтому вы","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4304s"},{"start_seconds":4313,"text":"не можете много вернуть даже если были захочет имеется ввиду если вы","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4313s"},{"start_seconds":4320,"text":"используете frost","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4320s"},{"start_seconds":4334,"text":"естественно что не нужно возвращать пустое значение но смотрите некоторых случаях это пустое","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4334s"},{"start_seconds":4343,"text":"значение может быть записано по-другому у нас следующая тема будет","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4343s"},{"start_seconds":4352,"text":"результаты и ошибки раза type rs там это такая специальная","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4352s"},{"start_seconds":4359,"text":"обертка в которой примеру можно использовать в том числе и этот сон","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4359s"},{"start_seconds":4368,"text":"пустой тип то есть это то что позволяет в явном виде описывать то что мы примеру","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4368s"},{"start_seconds":4378,"text":"им особо ничего не возвращаем","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4378s"},{"start_seconds":4388,"text":"ну смотрите конечно вы можете его присвоить и всячески ему оперировать","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4388s"},{"start_seconds":4404,"text":"так ладно следующий вопрос есть ли какой-то способ программно избежать переполнения памяти при","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4404s"},{"start_seconds":4412,"text":"использовании вектора то есть не допустить ситуации добавления элемента которые приведет к","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4412s"},{"start_seconds":4420,"text":"такому переполнение я бы сказал что-то к норке святому вы со мной согласитесь то есть","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4420s"},{"start_seconds":4428,"text":"переполнить память это нужно как-то сильно постараться но естественно в","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4428s"},{"start_seconds":4434,"text":"россии есть способы контроля памяти из","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4434s"},{"start_seconds":4442,"text":"того что я помню вас есть такие элементы и есть у вас есть насущная потребность то конечно же можно это судила","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4442s"},{"start_seconds":4451,"text":"контролировать единственном нужно понимать что всяческая проверка который вы делаете это в том числе вы будет","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4451s"},{"start_seconds":4459,"text":"влиять может быть и минимально но на производительность потому что к примеру если у вас есть задача","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4459s"},{"start_seconds":4467,"text":"когда в цикле вы добавляете элементы и у вас одновременно происходит алгоритмически вычисления и вы там","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4467s"},{"start_seconds":4475,"text":"делаете постоянно такого рода проверку то это может сильно повлиять на работает волгарь","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4475s"},{"start_seconds":4481,"text":"поэтому очень четко нужно понимать в каких случаях это нужно делать таких","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4481s"},{"start_seconds":4487,"text":"случаев это не нужно делать на моей практике ли я с этим сталкивался с тем","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4487s"},{"start_seconds":4495,"text":"чтобы напрямую проверять есть ли переполнение или нет кстати вот","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4495s"},{"start_seconds":4504,"text":"интересная такая задачка вы можете ее попробовать на эту тему это вычисление факториала","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4504s"},{"start_seconds":4512,"text":"она как раз очень связано с темой памяти и как происходит и переполнения потому","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4512s"},{"start_seconds":4519,"text":"что факториал ли как нетрудно догадаться этого можно получить мгновенное поэтому","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4519s"},{"start_seconds":4529,"text":"если будет желание попробуйте это будет такой интересный эксперимент факт по примеру если вы будете делать через","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4529s"},{"start_seconds":4538,"text":"т.к. там припомнится очень быстро а если вы будете делать через кучу это будет естественно подольше при этом какие типы","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4538s"},{"start_seconds":4547,"text":"данных можно использовать потому что и у шисят четыре очень быстро закончится и","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4547s"},{"start_seconds":4553,"text":"так далее ну почему нет занят рублями","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4553s"},{"start_seconds":4561,"text":"домашнее задание есть она была дана и поэтому я и спрашиваю как у вас нет","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4561s"},{"start_seconds":4570,"text":"дела если какие-то сложности или проблемы поскольку у нас есть еще время я возможно смог бы ответить на поскольку я","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4570s"},{"start_seconds":4579,"text":"вижу что у вас вопросы особо нету я мог бы ответить на вопросы связанные домашним заданием","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4579s"},{"start_seconds":4617,"text":"окно я вижу что вопросам нету","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4617s"},{"start_seconds":4644,"text":"обрабатывать ли как то ошибки с неправильного ввода скорее всего вы имеете ввиду когда вот силой","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4644s"},{"start_seconds":4651,"text":"передвигать аргументы я бы рекомендовал обрабатывать единственная специфика что тему","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4651s"},{"start_seconds":4659,"text":"резал и ошибки мы будем проходить если не ошибаюсь следующий раз но если вы","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4659s"},{"start_seconds":4667,"text":"сможете самостоятельно разобраться что смотрите домашнее задание она на самом деле для вас она компьютерно догадаться","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4667s"},{"start_seconds":4675,"text":"меня мне нужно и оно было сделано для того чтобы вы попробовали свои силы в","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4675s"},{"start_seconds":4684,"text":"достаточно простом задание оно простое но вместе с тем увлекательное не может приняты принести","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4684s"},{"start_seconds":4691,"text":"некое разнообразие жизнь бесконечно может","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4691s"},{"start_seconds":4714,"text":"ok я предлагаю поскольку вопросов больше нет завершать я опять же таки напомню","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4714s"},{"start_seconds":4722,"text":"что следующее занятие у нас носящая неделя занятия у нас не будет","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4722s"},{"start_seconds":4729,"text":"поэтому через неделю в понедельник какое число при 26 до 20 числа у нас","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4729s"},{"start_seconds":4736,"text":"будет следующее занятие не по пути и я предлагаю вам за это время как-то","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4736s"},{"start_seconds":4744,"text":"выделить время позаниматься домашнее задание потому что какой достаточно практична и сложно если вам не сложно","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4744s"},{"start_seconds":4753,"text":"попробуйте объединиться в такие меню группы зачем общем то чтобы первое вы друг","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4753s"},{"start_seconds":4760,"text":"другу могли помочь очень важно знать как любой команде помощи иногда очень нужно в особенности","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4760s"},{"start_seconds":4769,"text":"одни более опытны другими нему и плечо верного товарища в этом смысле может","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4769s"},{"start_seconds":4777,"text":"быть очень полезная поскольку вы друг у друга можете учиться и второе это то что","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4777s"},{"start_seconds":4784,"text":"вы увидите как другие пишут код учиться его читать и они ведут на росте","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4784s"},{"start_seconds":4791,"text":"читать его вносить какие то правки или предложения и если вам конечно это","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4791s"},{"start_seconds":4803,"text":"интересно выше поднимать у вас никто не заставлять не будет просто мое такое предложение вон проявите инициативу и","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4803s"},{"start_seconds":4812,"text":"скопировать посмотреть как кто выполняет","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4812s"},{"start_seconds":4819,"text":"его группки небольшие предлагаю 45 человек максом потому что не очень","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4819s"},{"start_seconds":4825,"text":"сложно слишком объемна это коммуникация это нужно уделить время на то чтобы","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4825s"},{"start_seconds":4831,"text":"проверить другое задание вы можете посмотреть кто выполняет и коллегиально","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4831s"},{"start_seconds":4843,"text":"грядут выходные желаю вам хороших выходных после 5 точки и до встреч","url":"https://www.youtube.com/watch?v=usi1aOi7czk&t=4843s"}],"youtube_url":"https://youtube.com/watch?v=usi1aOi7czk","url":"https://near-pedia.xyz/videos/usi1aOi7czk"}