{"id":"oFKldy5u0Ac","title":"4. Переменные, mutability, scope (Курс Rust на NEAR)","description":"Все видео курса    • Курс Rust на NEAR (RU)  \nСовместный курс NEAR & 4ire Labs\n\nПодписывайтесь, чтобы получать обновления о новостях NEAR, акциях, запуске проектов, баунти, хакатонов \nРусскоязычное сообщество NEAR https://t.me/near_protocol\nТвиттер   / near_protocol  \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","channel_name":"NEAR Protocol","published_at":"2021-08-09T00:00:00.000Z","thumbnail_url":"https://img.youtube.com/vi/oFKldy5u0Ac/hqdefault.jpg","transcript_text":"так далее то есть вывод приятных врасти достаточно извинить его типов расти достаточно продвинутая и вместе с тем есть возможность явного указания типа к примеру вот данном случае x равно 10 и тип you 64 соответственно это выделяется 4 байта восемь байт и [музыка] на сохранение числа и соответственно но является нет отрицательных значений также для любых других переменных мы можем явным образом указывать тип важным аспектом является то что далеко не всегда явный его типа прости работает то есть далеко не всегда мы можем использовать вот такую конструкцию когда вместе есть случаи когда компилятор не сможет сделать и он вас дружелюбном тони я надеюсь попросит указать тип это очень удобно и более того некоторых случаях он даже подскажет какой тип поставить и в расти в этом смысле работа с таким с предиктивные анализом с пониманием того что код должен делать и как он должен работать он в этом смысле будет вашим таким самым настоящим помощником предоставляя дополнительную информацию как работать с с переменными из типами следующий тип переменных это изменяем как вы видите здесь уже появилась еще дополнительно и ключевое слово меют митя был и синтаксис тот же самое и в данном случае какая возможность доставляется то есть опять же таки у нас есть возможность явно указывать тип и одна из характерных черт заключается в том что мы эту переменную можем менять частности мы ее можем над ней осуществлять определенные операции и в том числе и перед назначать и как вы видите когда мы уже работаем с изменяемым переменами смита был принят здесь уже не нужно указывать ключевое слово обратить и есть ещё одна сущность расти очень важно на которую я хочу обратить ваше внимание это константы константы и переменные компьютеру детализации это разные сущности и здесь достаточно большая продуктивно тема где переменные хранятся где хранятся константы как происходит распределение памяти ну что в частности есть часть переменных которой хранится так называемом стеке есть две концепции хранения памяти это стык и куча востоке хит и когда например оперировать переменами которые относятся к это джерри любили под они относятся или пуля они относятся так что не хранятся в стеке но есть типы которые хранятся в кучи и более того прости есть специальные типы который позволяет непосредственно обращаться объявлять этот тип как работа с кучей и taxify catia бокс мы это не будем рассматривать хотят к более специфическая тема и пожаловано больше какому разделу как работать более эффективно с памятью потому что работа со стыками скучной они имеют свои преимущества и недостатки для объявления констант используется ключевое слово const и для констант есть правило что для них обязательно нужно указывать в явно видите когда мы указываем что x равно 10 то мы обязательно должны указать его типы в нашем случае и 64 одна из особенность констант следует название что они не изменяем и как вы видите область объявления констант она отличается если мы рассматриваем модуль то она так увидите на улице за пределами функции но это не значит что мы не можем объявить константу внутри функции как видите когда мы описываем и то мы также y описываем в качестве константы внутри самой функции и я повторюсь важной особенностью константе является то что они первые не меняем и и второе они имеют так называемую область видимости константа можно обращаться из других модулей и частности сейчас у нас константа x является приватным значением то есть поскольку здесь явным образом не указано что на публично то есть нет слов ключевого слова пап то это константа распространяется только на текущий модуль и вторым важным аспектом являюсь за то что когда мы объявляем константу y область видимости и и ограничивается областью этой функции то есть если мы захотим воспользоваться константы y другой функции это ведь невозможно но если мы захотим подставка из воспользоваться пределов модуль где она объявлена это можно будет легко сделать и опять же таки константами можно достаточно легко оперировать и как увидите над ними можем осуществлять любые действия которые характерны в том числе для переменной и теперь давайте рассмотрим еще один очень удобный контекст под названием тибблз это изобретение роста функциональных языках программирования таких распространенных техник оперирования с переменными и один из таких ярчайших примеров является то как он объявляется скобки внутри мы перечисляем наше значение здесь важно отличительной чертой duplas является то что эти значения примеру мы можем использовать разные типы как вы видите когда мы объявляем наши функции мы она возвращает купол состоящее из двух разных типов это и 8 и f30 мы можем указать любые типы и в отличие вот масию нет такого специального требования что все переменные должны быть одного типа купался эти значения могут различаться и в данном случае это можно рассматривать как некую такое множество подмножеств и в этой функции как мы возвращаем результат точно таким же способом мы указываем круглые скобки и мне указываем значение которое мы возвращаем важным аспектом является то что не обязательно здесь в явном виде пример указывать числа этом будут переменные в том числе и самое главное чтобы они соответствовали возвращаем ему типу функции достаточно и далее мы рассмотрим как именно оперировать с такого рода структурами данных примеру можно группировать значение для переменной то есть мы эти плз можем присвоить конкретной переменной и в нашем случае икс икс у нас такая уже более комплексной переменной и соответственно мы ее можем возвращать как результат функции вторым важным аспектом является то что мы можем делать некую такую декомпозиция сама утепл это значит что когда мы его определяем мы одновременно через одно ключевое слово можем определить сразу же 2 переменности как вы видите в данном случае lexxa присвоится значение 10 a.yu присвоится значение 2 целых три десятых и соответственно мы в этой функции возвращаем опять же таки пол состоящий из двух примеров то есть если вот здесь возвращали конкретные числа то в данном случае мы возвращаем уже переменной и в этом смысле есть такая большая гибкость теперь давайте поймем как а вращаться метаном к данным который находится в keepass достаточно просто то есть когда мы от упал с присваиваем одной какой-то переменной мы действительно мы обращаемся через значение объявляем а я точкой и примеру индексация идет через значит с нуля это когда мы указываем примеру 10 даже нашем случае это энди gera то обращение к нему будет происходить через и так далее в действительности мы можем указать любое количество переменных которые находятся в типа лс и в соответствии с индексом начиная с 0 мы можем ему обращаться в том числе это может быть и обозначение и самое интересное то типа может быть пустым у него может быть не быть никаких значений и такие очень интересным моментом является то если мы посмотрим на примером на само объявление нашей функции как она описана он очень умен и ее описание у нас не указана какой результат она возвращает и насколько вы знаете в рости нету panthers соответственно любая функция она что-нибудь да возвращает и вот здрасьте здесь в явным образом не указывается что она возвращает и некоторых случаях это может быть очень удобно когда мы явным образом указываем его пустым и в расти это достаточно часто применяется давайте рассмотрим случай как происходит перекрывание переменной что под этим подразумевается под этим подразумевается когда мы объявляем одну и ту же переменную пример вот мы объявляем переменную x и потом через некоторое время и сразу же это не имеет никакого значения мы ее сразу же переназначает и пример когда мы потом мы назначаем переменной y то как нетрудно увидеть значение i будет другим это такой достаточно один из удобных но иногда опасных концептов перекрыванием переменных затенением таких таким вы с одной стороны можете воспользоваться удобством этого подхода в другой стороны это может приводить неочевидным результатом если вы оперируете значениями которые kicks равна 10 в этом есть смысл помнить и по возможности пользоваться этим осторожно и давайте перейдем к теме который касается области видимости переменной как констант и здесь является таким важным нюансом где именно мы имеем доступ как я говорил раньше область видимости конце константа она относится либо к модулю либо к этому блог где она объект объявляется и введите по сравнению с предыдущим примерам у нас появилась ключевое слово pap pap он ства y равно 20 это значит что игрек игрек у как константе можно обратиться из-за другого модуля и область видимости его находится за пределами целом это может быть глобальной области видеть видимость для всего принц частности и когда мы объявляем konstantin z важным аспектом является то что область видимости этой константы является именно сама функция достаточно тривиальные вещи но о них есть смысл помню и области видимости переменных дело обстоит по-другому поскольку переменные не обладают областью видимости для всего модуля они относятся к некому конкретному блогу под блоком здесь подразумевается фигурные скобки как вы видите и моем блог можем объявить в разных частях то есть внутри самой функция через фигурные скобки мы можем выделить отдельную специальную область видимости и как вы видите здесь мы используем переменную x когда мы переходим другой блок мы ее там перекрываем тоже переменная x и когда мы делаем печать это я переменную мы видим что блоки она будет 1 но за пределами этого блога она останется прежним потому что область видимости переменных она относится не к непосредственному блоку которому я повторюсь что звуки области они в целом маркируется щели с фигурной скобки и как мы сегодня увидим этому могут быть разная сущность час не цвета может и ф матч зачем вообще валлис и дополнительно области видимости для изоляции части кода а другой части кода это достаточно такая удобная концепция теперь давайте рассмотрим что же из себя представляет и дно и нам с точки зрения таких более математических концепций вид алгебраические типы да и в чем ее преимущество в том что оно может выражать с одной стороны абстрактные характеристики структуры с другой стороны они могут быть одновременно типизированным или даже содержать себе под структуры примеру когда мы хотим написать какой нибудь про визира ванный калькулятор мы можем описать три разных вида значение которой относится к и нам здесь кубов таких в демонстрационных целях я написал что в частности это является не типизированный данном случае и он не содержит никаких дополнительных элементов и майну содержит в себе два внутренних элементов в частности дающиеся 4 32 и как вы видите у нас под структурой сущностью является типом который может себе содержать разнородные типы данных и соответственно 1 у нас может быть это атомарная сущностью это может быть содержать более комплексные структурные данные видите у пульс и это может содержать ника некоторые данные которые очень похожи данные структуры без просто без ключевого слова и они опять же таки определяются через плечо и через фигурной скобки о частности когда мы хотим описать какой-нибудь мы пишем мы описываем а два типа с явным указанием названия и это достаточно удобно зачем это вообще нужно это позволяет описывать абстрактные структуры очень лаконичным и близким математическом языке это не значит что конечно же математическое описание ни в коем случае но это позволяет вооружать сложные понятийно структуры более понятным языком через и с этим вырасти очень хорошо все и примеру некоторых языках в принципе нету крайне не хватает он более того я скажу что и нам и поддерживают все остальные типы взаимодействия чтобы эти подразумевается возможность работы с live таймами здра и вами с generic types и тогда же я детально не буду на этом сейчас останавливаться поскольку это в общая концепция которая касается и trade of и структур и домов они распространяются и имеют единую структуру для всех структур типо драсте и давайте разберемся как и нам реализуется [музыка] реализует доступ частности как мы можем описать как вы видите мой и объявляем как переменную и мог явном виде указывая какой тип пottep фактический нам он является данной случайность и мы в явном виде указу соответствующее значение для и держим и для фон и также таком очень в общем виде привел пример как осуществляется доступ в россии это очень удобно делать разными способами в данном случае я показываю как это сделать через поттер matching и как вы видите можно напрямую обращаться к сущностям самого и нам и в данном случае что это значит что я потом буду чуть подробнее об этом говорить но мы можем когда делаем потому начинка рассмотреть только одну нужен текстуру в данном случае матус а все остальные которые относятся к иному cold мы можем игнорировать из за это отвечает токсической конструкции он диска подчеркиваем это значит что все любые значения кроме майдас будут возвращены как что значит эта конструкция лет y равно матч я специально и написал поле усложненным иди чтобы у вас уже сложилось впечатление того как мы можем работать с блоком структур и это мы рассмотрим чуть тоже какие есть еще способы доступа во кино одним из распространенных типов которые отвечают за это является общим и для того чтобы описать мы описываем через ключевое слово сам сам 10 это значит что мы определили его как тип общем pascal за это отвечают keep baby если вы вкурсе и что он позволяет сделать он решается одну из таких характерных частей для категориального аппарата частности в том числе может относиться к теории категорий что у нас значение может что-то содержать турнир сансы и может ничего не содержать сном это очень удобно с этим оперировать частности когда мы разбираем этом блоке if the у нас появляется дополнительная синтаксическая структура на это просто один смысл обратить внимание она может быть не очень очевидно поскольку как увидеть в описании их нас появилась структуру лет сам это специальная структура которая позволяет разобрать наш и на данном случае когда мы пишем будет сам мы определяем является ли и нам который мы определили x и содержит ли он под тип условно так назовем сам как я вам говорил он может быть самый ли дом и соответственно если он не содержит то мы идем другую ветку и напечатает и одним из аспектов является то что в этой структуре когда мы пишем вот мы получаем внутреннее значение которой там содержится в частном случае это 10 и мы его уже можем спокойно вывести для печати и опять же такие я покажу пример как это сделать с помощью ключевого слова матч матч и является более гибким и там смысле поскольку есть у нас комплексное и нам то мы можем в такую чем лаконичной форме описать все варианты которые в нем содержатся опять как вы видите мы те структуры которые не относятся к нужен описываем как on the score а та которая нужна в частности сам мы получаем из неё переменную y и нам соответственно печатает здесь важной особенностью синтаксической конструкции матч является то что все значения которые относятся по дачному они обязаны быть реализованы иначе компилятор будет не годовой и всячески вставлять вам палки в колеса но для того чтобы избежать этой оказии далеко не всегда и во всех случаях можно это делать описывать все значения пас поскольку для некоторых алгоритм может распространяться примеру в нашем случае когда мы указываем andes корм это значит что все любые другие значения это просто напомню и давайте рассмотрим некоторые заметки о многопоточном у толстую о которыми я ранее говорил это имеет большое значение в частности для того понимания какие есть сложности при работе с этим детально я не буду на этом останавливаться поскольку это такая отдельная тема и она каждая из них пожалуй займет своего отдельного нишу но один из элементов которых есть смысл понимать это то что для многопоточного доступа или для множества доступа в частности когда мы оперируем переменную может возникнуть риск эдишн условия поскольку раз по определению безопасен компилятор за этим строго следит а для этого существуют такие структуры данных как rc арк мьютекс в частности to ride control синхронный creed контр new так следуем из матрикса копиям right почему мы детально не будем на этом останавливаться потому что это прямо-таки отдельная тема и большому сожалению на копа точно доступ мы не будем просматривать в этом курсы но я вам настоятельно рекомендую обратиться как раз сколько там для этого более детально будет рассмотрен как с этим работать также не стесняйтесь обращаться к документации по стандартным библиотекам роста это является именно стандартными библиотеками и также я объясню почему в общем виде их не будем использовать это такие достаточно специфические вещи потому что при разработке smart контрактов по дни это может потребоваться в достаточно узком спектре задач поскольку многопоточной доступа там естественно отсутствует поскольку там нет таких способов взаимодействия с внешним миром но там это реализуется через другие концепции и соответственно этого нам существенно будет упрощать разработку об этом мы будем рассказывать соответствующие секции по разработке smart контрактов но в целом это так это уже такой продвинуть и топы на которую вам есть смысл обратить внимание у будущем сейчас а чтобы у вас сильно не загружать этим материалом я на этом не буду останавливаться какой из элементов еще важно знать о переменных как вы видите переменные могут присваиваться в том числе и оку что это значит это значит что когда мы объявляем переменную то каждый из блоков может быть присвоен данной конкретной переменная здесь есть определенные правила на которые вам есть смысл обратить внимание с первого взгляда может быть вы не заметили но когда мы описываем через ключевого слова матч нашу конструкцию нас после закрывающихся скобок стоит ; это значит что в данном случае это не просто блок вот здесь вот когда мы определяем отдельную область видимости через кавычки и она никак не соотносится с другими переменными здесь это такая уже более специальная конструкция когда мы можем значение этой области присвоить конкретной переменной это очень удобно в частности что это значит это значит что вместо того чтобы описывать отдельную переменную присваивать и и внутри каждого из этих вот под паттерн скажем так и это очень неудобно громоздкая есть более элегантный способ freedom а просто-напросто возвращаем какой-то из значений в данном случае это будет значение типа a и f 64 и мы его присваивая переменной нашем случае или и для данных конструкций когда вы присваиваете значение из блока повторюсь что блок описывается через фигурные скобки не забывайте ставить точку с запятой другой стороны если вы забудете компилятора вам вечера вам и крайне настойчива потребовать это сделать программу was nice компилироваться более того он вам подскажет где я поставить . за битву в чем проблема и 1 специфик является то что в отличие от ошибок которые описываются в любых других языках программирования прости они детально описаны с подчёркиванием это все мы будем рассматривать в теме работа с с ошибками мудрости с ошибками компиляция с рфс типы какие бывают но здесь я в таком общем виде скажу что компиляторы в данном случае вам будет сельский помог не мешать а именно помогаешь там некоторых других компиляторов программирования компиляторы не настолько тут то же самое будет касаться не только блоком матч но и блока div в данном случае то есть как вы видите здесь у нас есть и в которой всего нас и делает ветвление но также как и для матч здесь есть возможность а через такой ; присваивать значение результаты выполнения всей этой ветвящийся конструкция конкретное переменной какой здесь есть важный нюанс на которой он стоит помнить а если вы забыли the compiler вам напомню что во всех случаях этого ветвления множествами обязательным условием является то что возвращаемый тип должен быть один и поскольку когда мы используем наш пином колд-колл калешин как вы видите у нас содержится здесь два разных типа здесь содержится и у 64 и f32 и когда мы получаем к ним доступ через x y здесь важным является то что необходимо сделать приведение типов что значит а значит что типы должно быть одинаковым и поскольку у нас y это плод плотен x это и 64 то через ключевое слово с мы можем его привести к f 64 возможности приведения типов есть разные но это один из самых распространенных для простых типов простым типом в том числе относятся интеджер вот пуля и так далее пример со стрингами также не получится и как вы видите в данной конструкции к этому пишем y минус x мы гарантированно возвращаем о f 64 может возникнуть вопрос распространяется ли область видимости за пределы скобок в частности функции я повторюсь еще раз нет и это один из таких удобных концертов где мы можем адамар на фактически изолировать нож от в этом смысле это очень удобно и так что мы сегодня с вами рассмотрели это какие есть типы переменных изменяемые и неизменяемые а это какие есть возможности для для работа стейплз это затенение перемены в эта область видимости область объявления переменных и констант и способы присваивания перемены одним из еще очень важных аспектов является то что сейчас и попробуем найти какое-то обращение и вот здесь нету не знаю как так получилось не подходят причине здесь его нету я вам специально мышкой вот здесь вот эту область покажу какая из концепция еще есть большому сожалению почему то его нету но надеюсь что нам слуху и вы сможете воспринять есть возможность определения переменных через подчеркиваний примера мы можем указать лет подчеркивание рамосом 10 что это значит это значит что результат выполнения чего бы-то ни было мы можем присвоить некое абсолютно безымянные переменная зачем это нужно в том случае когда результат функции у нас что-то возвращает но нам ничего не нужно делать с этим результатом это очень удобно и еще одна из полезных концепция которые вместе со знать это когда мы переменные можем определять через починку примеру light подчёркивание и мне тут это этот слайд выпал сожалению бессовестно пропал что это значит когда мы определяем переменную через подчеркивание подчеркивание расти это являются условиям того что это переменная у нас не обязательно должна быть использован как я говорил росстата строгий компилятор если мы описываем нашу переменную то нам компилятор вежливо и настойчиво укажет что друзья а эта перемена у нас не используется если живу у нас каким-то нашим внутренним причинам необходимо семьям указать что переменная не используется то эти переменные описываются через подчеркиваем это касается в том числе и для объявления функций и для объявления на переменах в любом виде блока это правило для лет конструкции распространяется на все и в том числе вы я повторюсь это распространяется на атрибутов просто об этом есть смысл помнить на этом я заканчиваю трансляцию и перехожу так показатели курсора я уже постарался писал ножкам подсветить си плюс плюс компилятора так я вам напомню что если у вас есть желание чтобы это не было спросить задавайте секса по skype леши это то есть если функция возвращает так и только типу с двумя переменными и одно из них можно отпрыгнуть производить но смотрите если мы описываем через подчёркивание как я вам что-то мы его можем это распространяется и на вкус и на и на другие переменные то есть к примеру когда мы описывали типа лс вы помните у нас было два значения котором у нас описывался переменное значение ю шийся 4s 32 и если при каких-то обстоятельствах нам втором значении нужно там и через присваивание descor можем это делать кстати говоря в пример детальных примера это описано раз будет zapals принципе очень очень подробно настоятельно вам рекомендую посмотреть туда там рассмотрены самые разные варианты именно по работе steel poles по работе с элементами через подчёркивания в том числе и поттером matching таким очень-очень детальную пример поскольку почему я здесь все эти примеры не привожу нашего перед можно посмотреть почему запустить там одна из специфика раз бы examples является то что вы сразу же этот код можете запустить на выполнить это очень удобно что то я рекомендую вам с этим играть не понятно по поводу анды скор в поттер мальчики подчеркивание потом начинки что значит [музыка] сама подчёркивание это значит что любое значение либо и а вот то что вы написали равно и знак больше это синтаксически определитель того что вот смотрите когда мы рассматриваем pattern matching нам нужно определить ну что на какие компоненты разделяются дерева и одна из точности описывает что мы разбираем а вторая слышно должно показать что мы после этого должны сделать так вот равно стрелочка это как вот такую указатель на то что после этого твита дату скинули в общем то ссылку на 100 как это описано в разборки возможно в этом смысл с точки зрения визуального представления более понятны опять же таки здесь показали пример steel poles где игнорируется значение да именно так если в случае того когда ты упал со вращается если не использовать 2 lite x10 это равно 20 будет ошибкой компиляции да будет потому что для того чтобы использовать мутабельные переменная нужно явным образом описать лет бью x равно 10 если обрасти формально реализован сам отведать через и на насколько власти распространены другие конструкции функционально интересно функционального программирования факторы монады насколько насколько можно назвать раз функциональным языком программирования это комплексный вопрос потому что для начала нужно понять что за это должно отвечать и какими критериям он должен соответствовать первое это то что роста обладают некоторыми качествами которые относятся к языкам функционального программирования и эти элементы мы будем рассматривать для этого выделена отдельная тема но важно понимать что 1 не является языком функциональные языком программирования что значит функциональный язык программирования чтобы мы с вами говорили на одном языке это значит что ключевой сущностью является функция filter функциональный этой программе является например идрис который обладает my mouth обильными свойствами костыль а также есть возможность перевести переменной стабильность и но важно понимать то что фаски ли более еще более строгая система титул в этом смысле раз очень сильно к нему придвинулся это бесспорным но к сожалению он не обладает всей мощностью функциональных свойств примеру там хаскеле большому сожалению невозможно курирование а соответственно про какие вы functor и мы можем с вами говорить про описание манат из того что я видел некоторые пытались сделать это образцы но насколько это разумно использовать это очень большой вопрос также в растянет влазит алгебраических типов данных и по всей видимости они не нужны дело в том что в россии есть определенный компромисс между элементами функциональных языков программирования и элементами который носит более распространенным накачки у него есть одни из функциональных возможностей и мы на этом специально будем останавливаться это одна из моих любимых тем так и вот вопрос то есть можно написать лет подчёркивание сам-то в этом это не нужно в каком случае это нужно в данном случае это не нужно но примеру если у вас есть функция которую вы вызываете и она возвращать какой-то результат по вам результат множество то вы можете описать как лет подчёркивание случае сам это естественно бессмысленная операция поскольку она ровным счетом ничего не поскольку сам является определением [музыка] так еще раз какое значение переменных с подчёркиванием как тут лет подчёркивание z равно 9 или об этом не говорилось говорилось значит что из себя представляет вот подчёркивание z равна 9 это значит что у нас есть переменная которая всего-навсего начинается с подчёркивает то есть мы ее пределах куда можем спокойно использовать естественное и значение будет равно 9 но для компилятора когда мы описываем переменную через подчёркивание это значит что она не должна быть обязательно использованием то есть если мы опишем z равно 9 нам компилятор будет не сильно доволен этим и скажут что у нас переменная z не используется а если мы опишем как подчеркивание z поймем что мы это сделаем абсолютно намеренно о своих каких-то цели и ему это переменная может быть не используем то есть ну да такие случаи жизни бывают зачем нужны класс если просто можно не указать ньют и и переменная будет неизменяемые верно-верно но у const гриба область видимости и они по-разному хранятся в памяти я не буду вдаваться в детали чтобы просто не запутывается как происходит и перевел с памятью но целом это это разные концепции первое это важно понимать 2 эта область видимости как я вам говорил поскольку он как вы заметили она описывается за пределами в общем случае описываются за пределами функции это значит что константа и область видимости распространяется на весь модуль 1 и 2 как я вам показывал презентации мы можем описать константу как публичную это значит что мы к этой константе можем обращаться из других модулей то есть фактически у них разное назначение все по поводу лежит ли константа в статье ленин степи это вопрос интересный потому что я так понимаю что вам очень сильно хочется об этом узнать ну ладно как я я обо всем расскажу но есть несколько разных концепций и есть случаи когда для нее выделяется память и это может определяться специально но в целом расти это сделаем очень хитро смотрите у нас консультанта известно правильно и она не меняется это очевидно соответственно какую оптимизацию может сделать компилятор prime и чем использовать память там где ее не нужно использовать эти значения подставить во все нужно 100 то есть на этапе компиляции это константа будет изменено на соответствующее значение фактически получается что это некая абстракция и в тех местах где она может быть заменено или произведено вычисление примеру у нас есть константа который при опять для на как здесь где-то происходит вычисление переменной примера два плюс это константа и компилятор сделаны удивительные чтоб он не будет это делать во время выполнения он сделает во время компиляции это одна из фишек роста которые ускоряют работу таких оптимизации в россии очень много я не буду вдаваться одна из причин почему раз не так быстро компилируется как гул лежит в том что он обладает очень гибкой продвинутой системы анализатора работы не только станции контент с константами но из типами из выведение типов и с областями видимости из оперирования мтс памятью поскольку роста безопасно период с памятью и всего этого не делает во время компиляции это более сложная задача чем просто скомпилировать код и приветом не оптимизировать структуру данных который работает непосредственно с памяти и одна из оптимизация которая касается непосредственно к то это то что примеру есть с трапа то он строку нужное место подставить в общем случае там там раз на самом деле бывает и второй аспект это то что он может сделать вычисления его подготовить все оптимизации под что это значит это значит что если вы помните мы говорили о том что 1 1 компиляции является lg что такое родовым это волгу вершил машин это позволяет роста компилироваться под огромнейшее количество торги то с одной стороны а с другой стороны быть достаточно быстро скажем так это решает большое количество задач проблем так еще вопросам так сожалению почему то не могу их показывать как отвечены так какие у вас еще есть вопросы до 1 2 xanthus посмотрите [аплодисменты] хороший вопрос является единственным пешком или нет первое это не движок это пакет из того что я знаю он единственный импортирован под огромнейшее количество скажем так таргетом но здесь интересный момент заключается в том пока он себя ведет под мвд шли закину примеру там от arduino под stm32 насколько я помню там тоже он собирает под новые штуковин заключается в том что он сам умеет собирать эту структуру то есть вам не нужно компилировать нативный сэмплер он за вас все сделает в этом его фишка это то же самое как в опасен для для smart контрактов вам не нужно под конкретный таргет собирать он за вас все сделает может ли означает что продвинута компилятор не будет вычислять с сложением константа просто написать их готовый результат может ли означает что противны за компилятор не будет вычислять почему будет смотрите вон же вычисляет на этапе компиляции то есть скорее всего вопрос заключается в том не будет ли он это делать вовремя runtime и дауни были то есть он вычислит это во время компиляции и ставит то есть dice ключевым является то что это происходит во время компиляции они вовремя выполнить фронтами топтать летели одессе несложно можете подсказать где в книге найти раздел под углом и не могу если вы говорить про разбор не ощущения под рукой нету давайте наверно я скину к чему вам скинча но в целом я бы рекомендовал посмотреть больше раз бы экзомарс вы не поверите но у джесси тоже есть патент ужас у коран пустота же так есть еще вопросы а вот скинули спасибо хентай так не стесняйтесь задавать вопросы у нас есть еще немного времени у передавать еще минут подожду если у вас опроса не появится то будешь завершать окей о чем при пу-пум фелляции вас а мы получаем размер 10 раз больше по сравнению с по компиляции из bosanski компиляция свой пол хорошо по компиляции спасибо я что спальня даже не значит что он работает быстрее правильно смотрите от чего зависит объем от строим их библиотек это большой вопрос с помощью чего вы там собирали но целом то можно добиться небольших размеров несколько килобайт что на вас сам скрипт вы этого не добьетесь никогда потому что там нет возможность все работы сожалению я могу предположить что вы спрашивали именно про нир протокол вопрос разделяется на две части первое это использование не с диким и я сейчас очень сильно забегаю вперед но я просто постараюсь ответить на ваш вопрос чтобы остальные не заскучали первое это возможность использования не рынке и 2 это использование новости де эти аспекты новые steady мы с вами не будем рассматривать на что-то очень экзотическая такая штука онер и стихии вместе с собой тянет большое количество зависимостей это влияет объем файла это не значит что это прямо-таки очень плохо намного важнее смарт-контракты как раз пользуется глаз и я бы обращал внимание не на его размер это тоже конечно важно но намного важнее как оптимизирована работа с газом это очень важный аспект и его не стоит упускать из виду если же смарт-контракты стоят задачи размер и использования газа имея значение для этого можно нативно его использовать через новость иди и в общем-то этим задачи потрясена то что конца значение константа подставляется местах увеличивает размер бинарная строка этого избежать у нас по плану там увеличиваю смотрите если вы используете большие скульптуры ну к примеру вы там делаете in club я понимаю конечно что сейчас мы этого не рассматривали и может быть не сильно понятно выражаюсь но есть возможность включения в некоторых того участка входа и так далее конечно это сильно влияет на размер файла на подстанции смотрите и у 648 ну катастрофически увеличивается размер я даже сказал что скорее всего это все-таки уменьшают размер почему потому что у нас делается предварительно оптимизация и предотвращение дополнительных вычислений то есть те структуры инструкции которым мы дополнительно могли пописывать они будут элиминирование и соответственно у нас напрямую это может взять и есть еще один такой за спектр да то в каком режиме мы собираем потому что где баги нас естественно должна содержаться промежуточной информации для отладки по этой причине у нас объемного дебага pulid борщ подскажите а вот этот газ и смарт-контракты его можно улучшать получается потому что это константа которого исправить нельзя смотрите здесь как бы он так сказать этот вопрос не совсем корректно поставлю что такое газ и за что он отвечает намного разумнее было бы если вы подождали тему 2 получается 2 вторая секция то есть у нас будет три первое это введение в растрате нет какой-то мы будем более детально об этом рассказать сейчас мы прям поскольку илья спросил я ответил на его вопрос мне показался добавить не очень красивые весенние отвечу но мы забежали слишком вперед поэтому давайте мы тему с газом отложим на потом поскольку там это будет обсуждаться в контексте сейчас это когда разговор не о чем-то сколько я не могу вам показать сейчас наглядных примеров и правильно я понимаю что последнее обновление 1 то двигаются конвертация функций функции в целях увеличения того что может быть привычным топи компиляция почему за процесс ю так медленно а это не простая задача на самом деле это может показаться что это легко сделать из того что я видел это и 3-я задача то сколько смотрите здесь уже не только алгоритмы выведения типов и работает но и продвинутый analyzer и написать его таким способом чтобы он эффективен одновременно и это никоим образом не сказалось на скорости выполнения это такая очевидная штука в том числе ней это касается всяких там redline операции так далее это то что касается непосредственно оптимизации дроп вызывать до конца область видимости что поступать память раньше но это мем нет напоминает аналогию с [музыка] повторять до можно ли вам самое главно вопрос а если вы ответите за чем лишь тебе таким образом выстрелите могут кроме а так видел и если хотите сделать дроп раньше пошли на свой страх и бесконечно самое главное понять зачем вы это делаете возвращение ради ненужной оптимизации может оказаться чтобы не нужно может оказаться так что вы хотите добиться большей производительности при таком хорошо значит маша но время уже завершается благодарю вас за то что присоединились спасибо за ваши вопросы очень рады будем вас видеть следующих лекциях и паспорт контрактом на перейти с терпение это будет вторая часть нашего курса я понимаю как уже хочется к ним добраться тоже если честно это будет всем хорошего вечера окончание недели и всего доброго","transcript_synced_at":"2026-11-04T04:12:52.252Z","segments":[{"start_seconds":4,"text":"так далее то есть вывод приятных врасти достаточно извинить его типов расти","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=4s"},{"start_seconds":12,"text":"достаточно продвинутая и вместе с тем есть возможность явного указания типа к","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=12s"},{"start_seconds":19,"text":"примеру вот данном случае x равно 10 и тип you 64","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=19s"},{"start_seconds":27,"text":"соответственно это выделяется 4 байта восемь байт и","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=27s"},{"start_seconds":35,"text":"[музыка]","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=35s"},{"start_seconds":38,"text":"на сохранение числа и соответственно но является нет отрицательных значений","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=38s"},{"start_seconds":47,"text":"также для любых других переменных мы можем явным образом указывать тип важным","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=47s"},{"start_seconds":56,"text":"аспектом является то что далеко не всегда явный его типа прости работает то есть далеко не всегда мы можем","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=56s"},{"start_seconds":63,"text":"использовать вот такую конструкцию когда вместе есть случаи когда компилятор не","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=63s"},{"start_seconds":71,"text":"сможет сделать и он вас дружелюбном тони","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=71s"},{"start_seconds":76,"text":"я надеюсь попросит указать тип это очень","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=76s"},{"start_seconds":84,"text":"удобно и более того некоторых случаях он даже подскажет какой тип поставить и в","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=84s"},{"start_seconds":91,"text":"расти в этом смысле работа с таким с предиктивные анализом с пониманием того","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=91s"},{"start_seconds":99,"text":"что код должен делать и как он должен работать он в этом смысле","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=99s"},{"start_seconds":105,"text":"будет вашим таким самым настоящим помощником предоставляя дополнительную","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=105s"},{"start_seconds":114,"text":"информацию как работать с с переменными из типами следующий тип","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=114s"},{"start_seconds":125,"text":"переменных это изменяем как вы видите здесь уже появилась","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=125s"},{"start_seconds":132,"text":"еще дополнительно и ключевое слово меют митя был и синтаксис тот же самое и в данном","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=132s"},{"start_seconds":141,"text":"случае какая возможность доставляется то есть опять же таки у нас есть возможность явно указывать тип","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=141s"},{"start_seconds":148,"text":"и одна из характерных черт заключается в том что мы эту переменную можем менять","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=148s"},{"start_seconds":159,"text":"частности мы ее можем над ней осуществлять определенные операции и в","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=159s"},{"start_seconds":168,"text":"том числе и перед назначать и как вы видите когда мы уже работаем с изменяемым переменами","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=168s"},{"start_seconds":175,"text":"смита был принят здесь уже не нужно указывать ключевое слово обратить и есть","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=175s"},{"start_seconds":187,"text":"ещё одна сущность расти очень важно на которую я хочу обратить ваше внимание это константы константы и переменные","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=187s"},{"start_seconds":196,"text":"компьютеру детализации это разные сущности и здесь достаточно большая","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=196s"},{"start_seconds":203,"text":"продуктивно тема где переменные хранятся где хранятся константы как происходит","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=203s"},{"start_seconds":212,"text":"распределение памяти ну что в частности есть часть переменных которой хранится","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=212s"},{"start_seconds":220,"text":"так называемом стеке есть две концепции хранения памяти это стык и куча","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=220s"},{"start_seconds":228,"text":"востоке хит и когда например оперировать","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=228s"},{"start_seconds":234,"text":"переменами которые относятся к это джерри любили под они относятся или пуля","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=234s"},{"start_seconds":241,"text":"они относятся так что не хранятся в стеке но есть типы которые хранятся в","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=241s"},{"start_seconds":249,"text":"кучи и более того прости есть специальные типы который позволяет","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=249s"},{"start_seconds":258,"text":"непосредственно обращаться объявлять этот тип как работа с кучей и taxify","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=258s"},{"start_seconds":266,"text":"catia бокс мы это не будем рассматривать хотят к более специфическая тема и","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=266s"},{"start_seconds":274,"text":"пожаловано больше какому разделу как работать более","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=274s"},{"start_seconds":282,"text":"эффективно с памятью потому что работа со стыками скучной они имеют свои преимущества и недостатки","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=282s"},{"start_seconds":290,"text":"для объявления констант используется ключевое слово const и для констант есть","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=290s"},{"start_seconds":298,"text":"правило что для них обязательно нужно указывать в явно видите когда мы указываем что x равно 10","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=298s"},{"start_seconds":307,"text":"то мы обязательно должны указать его типы в нашем случае и 64 одна из особенность констант следует","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=307s"},{"start_seconds":317,"text":"название что они не изменяем и как вы видите","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=317s"},{"start_seconds":324,"text":"область объявления констант она отличается если мы рассматриваем модуль то она так увидите на улице за","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=324s"},{"start_seconds":333,"text":"пределами функции но это не значит что мы не можем объявить константу внутри функции как видите когда мы описываем","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=333s"},{"start_seconds":340,"text":"и то мы также y описываем в качестве константы внутри самой функции","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=340s"},{"start_seconds":348,"text":"и я повторюсь важной особенностью константе является то что они первые не меняем и и второе","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=348s"},{"start_seconds":357,"text":"они имеют так называемую область видимости константа можно обращаться из","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=357s"},{"start_seconds":367,"text":"других модулей и частности сейчас у нас константа x является приватным значением то есть","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=367s"},{"start_seconds":375,"text":"поскольку здесь явным образом не указано что на публично то есть нет слов ключевого слова пап то это константа","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=375s"},{"start_seconds":384,"text":"распространяется только на текущий модуль и вторым важным аспектом являюсь","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=384s"},{"start_seconds":391,"text":"за то что когда мы объявляем константу y область видимости и и ограничивается","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=391s"},{"start_seconds":398,"text":"областью этой функции то есть если мы захотим воспользоваться константы y другой функции это ведь невозможно но","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=398s"},{"start_seconds":407,"text":"если мы захотим подставка из воспользоваться пределов модуль где она объявлена это можно будет","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=407s"},{"start_seconds":415,"text":"легко сделать и опять же таки константами можно достаточно легко оперировать и как увидите над ними можем","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=415s"},{"start_seconds":425,"text":"осуществлять любые действия которые характерны в том числе для переменной и","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=425s"},{"start_seconds":432,"text":"теперь давайте рассмотрим еще один очень удобный контекст под названием тибблз","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=432s"},{"start_seconds":441,"text":"это изобретение роста функциональных","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=441s"},{"start_seconds":452,"text":"языках программирования таких распространенных техник оперирования с","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=452s"},{"start_seconds":460,"text":"переменными и один из таких ярчайших примеров является то как он объявляется","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=460s"},{"start_seconds":468,"text":"скобки внутри мы перечисляем наше значение здесь важно отличительной","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=468s"},{"start_seconds":477,"text":"чертой duplas является то что эти значения примеру мы можем использовать","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=477s"},{"start_seconds":486,"text":"разные типы как вы видите когда мы объявляем наши функции мы она возвращает","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=486s"},{"start_seconds":492,"text":"купол состоящее из двух разных типов это и 8 и f30 мы можем указать","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=492s"},{"start_seconds":501,"text":"любые типы и в отличие вот масию нет такого специального требования что все","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=501s"},{"start_seconds":510,"text":"переменные должны быть одного типа купался эти значения могут различаться и в","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=510s"},{"start_seconds":518,"text":"данном случае это можно рассматривать как некую такое множество подмножеств и в этой","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=518s"},{"start_seconds":526,"text":"функции как мы возвращаем результат точно таким же способом мы указываем круглые скобки и мне указываем значение","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=526s"},{"start_seconds":535,"text":"которое мы возвращаем важным аспектом является то что не обязательно здесь в явном виде пример указывать числа этом","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=535s"},{"start_seconds":544,"text":"будут переменные в том числе и самое главное чтобы они соответствовали","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=544s"},{"start_seconds":551,"text":"возвращаем ему типу функции достаточно и далее мы рассмотрим как именно","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=551s"},{"start_seconds":559,"text":"оперировать с такого рода структурами","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=559s"},{"start_seconds":563,"text":"данных примеру можно группировать","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=563s"},{"start_seconds":571,"text":"значение для переменной то есть мы эти плз можем присвоить конкретной","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=571s"},{"start_seconds":578,"text":"переменной и в нашем случае икс икс у нас такая уже более комплексной","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=578s"},{"start_seconds":585,"text":"переменной и соответственно мы ее можем возвращать как результат функции вторым","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=585s"},{"start_seconds":593,"text":"важным аспектом является то что мы можем делать некую такую декомпозиция сама","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=593s"},{"start_seconds":601,"text":"утепл это значит что когда мы его определяем мы одновременно через одно ключевое слово","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=601s"},{"start_seconds":609,"text":"можем определить сразу же 2 переменности как вы видите в данном случае lexxa присвоится значение 10 a.yu","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=609s"},{"start_seconds":619,"text":"присвоится значение 2 целых три десятых и соответственно мы в этой функции","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=619s"},{"start_seconds":627,"text":"возвращаем опять же таки пол состоящий из двух примеров то есть если вот здесь","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=627s"},{"start_seconds":636,"text":"возвращали конкретные числа то в данном случае мы возвращаем уже переменной и в","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=636s"},{"start_seconds":646,"text":"этом смысле есть такая большая гибкость теперь давайте поймем как а","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=646s"},{"start_seconds":653,"text":"вращаться метаном к данным который находится в keepass достаточно просто то","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=653s"},{"start_seconds":660,"text":"есть когда мы от упал с присваиваем одной какой-то переменной мы","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=660s"},{"start_seconds":673,"text":"действительно","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=673s"},{"start_seconds":693,"text":"мы обращаемся через значение объявляем а я точкой и","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=693s"},{"start_seconds":701,"text":"примеру индексация идет через значит с","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=701s"},{"start_seconds":707,"text":"нуля это когда мы указываем примеру 10","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=707s"},{"start_seconds":716,"text":"даже нашем случае это энди gera то обращение к нему будет происходить через и так далее в действительности мы можем","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=716s"},{"start_seconds":723,"text":"указать любое количество переменных которые находятся в типа лс и в","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=723s"},{"start_seconds":731,"text":"соответствии с индексом начиная с 0 мы можем ему обращаться в том числе это может быть и обозначение","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=731s"},{"start_seconds":739,"text":"и самое интересное то типа может быть пустым у него может быть не быть никаких","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=739s"},{"start_seconds":748,"text":"значений и такие очень интересным моментом является то если мы посмотрим","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=748s"},{"start_seconds":755,"text":"на примером на само объявление нашей функции как она описана он очень умен и ее описание","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=755s"},{"start_seconds":764,"text":"у нас не указана какой результат она возвращает и насколько вы знаете в рости","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=764s"},{"start_seconds":771,"text":"нету panthers соответственно любая функция она что-нибудь да возвращает и","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=771s"},{"start_seconds":778,"text":"вот здрасьте здесь в явным образом не указывается что она возвращает","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=778s"},{"start_seconds":784,"text":"и некоторых случаях это может быть очень","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=784s"},{"start_seconds":791,"text":"удобно когда мы явным образом","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=791s"},{"start_seconds":797,"text":"указываем его пустым и в расти это","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=797s"},{"start_seconds":805,"text":"достаточно часто применяется давайте рассмотрим случай как происходит","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=805s"},{"start_seconds":812,"text":"перекрывание переменной что под этим подразумевается под этим подразумевается когда мы объявляем","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=812s"},{"start_seconds":822,"text":"одну и ту же переменную пример вот мы объявляем переменную x и потом через","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=822s"},{"start_seconds":831,"text":"некоторое время и сразу же это не имеет никакого значения мы ее сразу же","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=831s"},{"start_seconds":838,"text":"переназначает и пример когда мы потом мы назначаем переменной y","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=838s"},{"start_seconds":845,"text":"то как нетрудно увидеть значение i будет другим это такой достаточно один из","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=845s"},{"start_seconds":854,"text":"удобных но иногда опасных концептов перекрыванием переменных затенением","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=854s"},{"start_seconds":863,"text":"таких таким вы с одной стороны можете воспользоваться удобством этого подхода","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=863s"},{"start_seconds":870,"text":"в другой стороны это может приводить неочевидным результатом если вы","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=870s"},{"start_seconds":876,"text":"оперируете значениями которые kicks равна 10 в этом есть смысл помнить и по","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=876s"},{"start_seconds":884,"text":"возможности пользоваться этим осторожно и давайте перейдем к теме который","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=884s"},{"start_seconds":893,"text":"касается области видимости переменной как констант и здесь является таким","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=893s"},{"start_seconds":904,"text":"важным нюансом где именно мы имеем доступ как я говорил раньше","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=904s"},{"start_seconds":911,"text":"область видимости конце константа она относится либо к модулю либо к этому","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=911s"},{"start_seconds":918,"text":"блог где она объект объявляется и введите по сравнению с предыдущим","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=918s"},{"start_seconds":925,"text":"примерам у нас появилась ключевое слово pap pap он ства y равно 20","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=925s"},{"start_seconds":931,"text":"это значит что игрек игрек у как","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=931s"},{"start_seconds":939,"text":"константе можно обратиться из-за другого модуля и область видимости его находится за пределами целом это","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=939s"},{"start_seconds":949,"text":"может быть глобальной области видеть видимость для всего принц частности","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=949s"},{"start_seconds":955,"text":"и когда мы объявляем konstantin z важным аспектом является то что область","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=955s"},{"start_seconds":962,"text":"видимости этой константы является именно сама функция достаточно тривиальные вещи","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=962s"},{"start_seconds":970,"text":"но о них есть смысл помню и области видимости переменных","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=970s"},{"start_seconds":977,"text":"дело обстоит по-другому поскольку переменные не обладают областью","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=977s"},{"start_seconds":984,"text":"видимости для всего модуля они относятся к некому конкретному блогу","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=984s"},{"start_seconds":994,"text":"под блоком здесь подразумевается фигурные скобки как вы видите и моем блог можем объявить","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=994s"},{"start_seconds":1001,"text":"в разных частях то есть внутри самой функция через фигурные скобки мы можем выделить отдельную специальную область","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1001s"},{"start_seconds":1010,"text":"видимости и как вы видите здесь мы используем переменную x когда мы","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1010s"},{"start_seconds":1018,"text":"переходим другой блок мы ее там перекрываем тоже переменная x и когда мы делаем печать это я","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1018s"},{"start_seconds":1027,"text":"переменную мы видим что блоки она будет 1 но за пределами этого блога она","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1027s"},{"start_seconds":1035,"text":"останется прежним потому что область видимости переменных она относится не к","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1035s"},{"start_seconds":1041,"text":"непосредственному блоку которому я повторюсь что звуки области они в целом","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1041s"},{"start_seconds":1051,"text":"маркируется щели с фигурной скобки и как мы сегодня увидим этому могут быть","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1051s"},{"start_seconds":1061,"text":"разная сущность час не цвета может и ф матч","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1061s"},{"start_seconds":1069,"text":"зачем вообще валлис и дополнительно области видимости для изоляции части кода а другой части кода это достаточно","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1069s"},{"start_seconds":1078,"text":"такая удобная концепция теперь давайте рассмотрим что же из себя","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1078s"},{"start_seconds":1086,"text":"представляет и дно и нам с точки зрения таких более математических концепций","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1086s"},{"start_seconds":1095,"text":"вид алгебраические типы да и в чем ее","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1095s"},{"start_seconds":1102,"text":"преимущество в том что оно может выражать с одной стороны абстрактные характеристики структуры с","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1102s"},{"start_seconds":1113,"text":"другой стороны они могут быть одновременно типизированным или даже содержать себе под структуры примеру","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1113s"},{"start_seconds":1121,"text":"когда мы хотим написать какой нибудь про визира ванный калькулятор мы можем","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1121s"},{"start_seconds":1130,"text":"описать три разных вида значение которой относится к и нам здесь","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1130s"},{"start_seconds":1139,"text":"кубов таких в демонстрационных целях я написал что в частности это является не","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1139s"},{"start_seconds":1147,"text":"типизированный данном случае и он не содержит никаких дополнительных элементов и майну","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1147s"},{"start_seconds":1155,"text":"содержит в себе два внутренних элементов в частности дающиеся 4 32 и как вы","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1155s"},{"start_seconds":1162,"text":"видите у нас под структурой сущностью является типом","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1162s"},{"start_seconds":1168,"text":"который может себе содержать разнородные типы данных и соответственно 1 у нас","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1168s"},{"start_seconds":1177,"text":"может быть это атомарная сущностью это может быть содержать более комплексные","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1177s"},{"start_seconds":1185,"text":"структурные данные видите у пульс и это может содержать ника некоторые данные которые очень похожи","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1185s"},{"start_seconds":1194,"text":"данные структуры без просто без ключевого слова и они опять же таки","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1194s"},{"start_seconds":1199,"text":"определяются через плечо и через фигурной скобки о частности когда мы","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1199s"},{"start_seconds":1209,"text":"хотим описать какой-нибудь мы пишем мы описываем а два типа с явным указанием названия и","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1209s"},{"start_seconds":1219,"text":"это достаточно удобно зачем это вообще нужно это позволяет описывать","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1219s"},{"start_seconds":1227,"text":"абстрактные структуры очень лаконичным и близким математическом языке это не значит что","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1227s"},{"start_seconds":1235,"text":"конечно же математическое описание ни в коем случае но это позволяет вооружать сложные","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1235s"},{"start_seconds":1244,"text":"понятийно структуры более понятным языком через и с этим вырасти очень","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1244s"},{"start_seconds":1255,"text":"хорошо все и примеру некоторых языках в принципе нету","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1255s"},{"start_seconds":1262,"text":"крайне не хватает он более того я скажу что и нам и поддерживают все остальные","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1262s"},{"start_seconds":1269,"text":"типы взаимодействия чтобы эти подразумевается возможность работы с","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1269s"},{"start_seconds":1277,"text":"live таймами здра и вами с generic types","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1277s"},{"start_seconds":1283,"text":"и тогда же я детально не буду на этом сейчас останавливаться поскольку это в","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1283s"},{"start_seconds":1291,"text":"общая концепция которая касается и trade of и структур и домов они","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1291s"},{"start_seconds":1300,"text":"распространяются и имеют единую структуру для всех структур типо драсте","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1300s"},{"start_seconds":1306,"text":"и давайте разберемся как и нам реализуется","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1306s"},{"start_seconds":1313,"text":"[музыка]","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1313s"},{"start_seconds":1315,"text":"реализует доступ частности как мы можем описать как вы видите мой и объявляем","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1315s"},{"start_seconds":1321,"text":"как переменную и мог явном виде указывая какой тип пottep фактический нам он","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1321s"},{"start_seconds":1331,"text":"является данной случайность и мы в явном виде указу соответствующее значение для","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1331s"},{"start_seconds":1339,"text":"и держим и для фон и также таком очень в общем виде привел пример","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1339s"},{"start_seconds":1346,"text":"как осуществляется доступ в россии это очень удобно делать разными способами в","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1346s"},{"start_seconds":1354,"text":"данном случае я показываю как это сделать через поттер matching и как вы видите можно напрямую обращаться","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1354s"},{"start_seconds":1363,"text":"к сущностям самого и нам и в данном случае что это значит","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1363s"},{"start_seconds":1369,"text":"что я потом буду чуть подробнее об этом говорить но мы можем когда делаем потому","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1369s"},{"start_seconds":1379,"text":"начинка рассмотреть только одну нужен текстуру в данном случае матус а все","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1379s"},{"start_seconds":1385,"text":"остальные которые относятся к иному cold мы можем игнорировать из за это отвечает","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1385s"},{"start_seconds":1395,"text":"токсической конструкции он диска подчеркиваем это значит что все любые значения кроме майдас будут возвращены","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1395s"},{"start_seconds":1404,"text":"как что значит эта конструкция лет y равно матч я специально и написал поле","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1404s"},{"start_seconds":1411,"text":"усложненным иди чтобы у вас уже сложилось впечатление того как мы можем работать с блоком структур и это мы","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1411s"},{"start_seconds":1419,"text":"рассмотрим чуть тоже какие есть еще способы доступа во кино","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1419s"},{"start_seconds":1426,"text":"одним из распространенных типов которые отвечают за это является общим и","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1426s"},{"start_seconds":1433,"text":"для того чтобы описать мы описываем через ключевое слово сам сам 10 это","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1433s"},{"start_seconds":1441,"text":"значит что мы определили его как тип общем pascal за это отвечают keep baby","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1441s"},{"start_seconds":1450,"text":"если вы вкурсе и что он позволяет сделать он решается одну из таких","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1450s"},{"start_seconds":1460,"text":"характерных частей для категориального аппарата частности в том числе может относиться к теории категорий","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1460s"},{"start_seconds":1466,"text":"что у нас значение может что-то содержать турнир сансы и может ничего не содержать сном это очень удобно с этим","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1466s"},{"start_seconds":1476,"text":"оперировать частности когда мы разбираем этом блоке if the у нас появляется","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1476s"},{"start_seconds":1483,"text":"дополнительная синтаксическая структура на это просто один смысл обратить","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1483s"},{"start_seconds":1490,"text":"внимание она может быть не очень очевидно поскольку как увидеть в","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1490s"},{"start_seconds":1497,"text":"описании их нас появилась структуру лет сам это специальная структура которая","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1497s"},{"start_seconds":1504,"text":"позволяет разобрать наш и на данном случае когда мы пишем будет сам мы","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1504s"},{"start_seconds":1511,"text":"определяем является ли и нам который мы определили","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1511s"},{"start_seconds":1517,"text":"x и содержит ли он под тип условно так назовем сам","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1517s"},{"start_seconds":1526,"text":"как я вам говорил он может быть самый ли дом и соответственно если он не содержит то мы идем другую ветку и напечатает и","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1526s"},{"start_seconds":1536,"text":"одним из аспектов является то что в этой структуре когда мы пишем вот мы получаем","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1536s"},{"start_seconds":1543,"text":"внутреннее значение которой там содержится в частном случае это 10 и мы","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1543s"},{"start_seconds":1549,"text":"его уже можем спокойно вывести для печати и опять же такие я покажу пример","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1549s"},{"start_seconds":1559,"text":"как это сделать с помощью ключевого слова матч матч и является более гибким","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1559s"},{"start_seconds":1567,"text":"и там смысле поскольку есть у нас комплексное и нам то мы можем в такую чем лаконичной форме описать все","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1567s"},{"start_seconds":1577,"text":"варианты которые в нем содержатся опять как вы видите мы те структуры","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1577s"},{"start_seconds":1586,"text":"которые не относятся к нужен описываем как on the score а та которая нужна в частности сам мы получаем","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1586s"},{"start_seconds":1594,"text":"из неё переменную y и нам соответственно печатает здесь важной особенностью","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1594s"},{"start_seconds":1601,"text":"синтаксической конструкции матч является то что все значения которые относятся по","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1601s"},{"start_seconds":1609,"text":"дачному они обязаны быть реализованы иначе компилятор будет не годовой и","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1609s"},{"start_seconds":1617,"text":"всячески вставлять вам палки в колеса но для того чтобы избежать этой оказии далеко не всегда и во всех случаях можно","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1617s"},{"start_seconds":1626,"text":"это делать описывать все значения пас поскольку для некоторых алгоритм может","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1626s"},{"start_seconds":1633,"text":"распространяться примеру в нашем случае когда мы указываем andes корм это значит","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1633s"},{"start_seconds":1639,"text":"что все любые другие значения это просто напомню и давайте рассмотрим некоторые","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1639s"},{"start_seconds":1648,"text":"заметки о многопоточном у толстую о которыми я ранее говорил это имеет","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1648s"},{"start_seconds":1658,"text":"большое значение в частности для того","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1658s"},{"start_seconds":1664,"text":"понимания какие есть сложности при работе с этим детально я не буду на этом","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1664s"},{"start_seconds":1673,"text":"останавливаться поскольку это такая отдельная тема и она каждая из них","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1673s"},{"start_seconds":1683,"text":"пожалуй займет своего отдельного нишу но один из элементов которых есть смысл","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1683s"},{"start_seconds":1692,"text":"понимать это то что для многопоточного доступа или для множества доступа в частности когда мы оперируем","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1692s"},{"start_seconds":1700,"text":"переменную может возникнуть риск эдишн условия поскольку раз по определению","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1700s"},{"start_seconds":1707,"text":"безопасен компилятор за этим строго следит а для этого существуют такие","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1707s"},{"start_seconds":1716,"text":"структуры данных как rc арк мьютекс","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1716s"},{"start_seconds":1722,"text":"в частности to ride control синхронный creed контр new так следуем из матрикса","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1722s"},{"start_seconds":1728,"text":"копиям right почему мы детально не будем на этом останавливаться потому что это","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1728s"},{"start_seconds":1735,"text":"прямо-таки отдельная тема и большому сожалению на копа точно доступ мы не","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1735s"},{"start_seconds":1742,"text":"будем просматривать в этом курсы но я вам настоятельно рекомендую обратиться как раз","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1742s"},{"start_seconds":1749,"text":"сколько там для этого более детально будет рассмотрен как с","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1749s"},{"start_seconds":1757,"text":"этим работать также не стесняйтесь обращаться к документации по стандартным","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1757s"},{"start_seconds":1764,"text":"библиотекам роста это является именно стандартными библиотеками и также я объясню почему в общем виде их не будем","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1764s"},{"start_seconds":1774,"text":"использовать это такие достаточно специфические вещи потому что при","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1774s"},{"start_seconds":1781,"text":"разработке smart контрактов по дни это может потребоваться в достаточно узком","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1781s"},{"start_seconds":1787,"text":"спектре задач поскольку многопоточной доступа там естественно отсутствует","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1787s"},{"start_seconds":1794,"text":"поскольку там нет таких способов взаимодействия с внешним миром но там","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1794s"},{"start_seconds":1803,"text":"это реализуется через другие концепции и соответственно этого нам существенно","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1803s"},{"start_seconds":1809,"text":"будет упрощать разработку об этом мы будем рассказывать соответствующие секции по разработке smart контрактов","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1809s"},{"start_seconds":1817,"text":"но в целом это так это уже такой продвинуть и топы на которую вам есть смысл обратить внимание у будущем сейчас","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1817s"},{"start_seconds":1826,"text":"а чтобы у вас сильно не загружать этим материалом я на этом не буду","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1826s"},{"start_seconds":1832,"text":"останавливаться какой из элементов еще важно знать о переменных","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1832s"},{"start_seconds":1841,"text":"как вы видите переменные могут присваиваться в том числе и","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1841s"},{"start_seconds":1848,"text":"оку что это значит это значит что когда мы объявляем переменную то каждый из","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1848s"},{"start_seconds":1856,"text":"блоков может быть присвоен данной конкретной переменная здесь есть","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1856s"},{"start_seconds":1864,"text":"определенные правила на которые вам есть смысл обратить внимание с первого взгляда может быть вы не заметили но","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1864s"},{"start_seconds":1873,"text":"когда мы описываем через ключевого слова матч нашу конструкцию нас после","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1873s"},{"start_seconds":1881,"text":"закрывающихся скобок стоит ; это значит что в данном случае это не просто блок","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1881s"},{"start_seconds":1891,"text":"вот здесь вот когда мы определяем отдельную область видимости через","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1891s"},{"start_seconds":1900,"text":"кавычки и она никак не соотносится с другими переменными здесь это такая уже","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1900s"},{"start_seconds":1908,"text":"более специальная конструкция когда мы можем значение этой области присвоить","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1908s"},{"start_seconds":1918,"text":"конкретной переменной это очень удобно в частности что это значит это значит что вместо того чтобы описывать отдельную","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1918s"},{"start_seconds":1927,"text":"переменную присваивать и и внутри каждого из этих вот под паттерн скажем","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1927s"},{"start_seconds":1936,"text":"так и это очень неудобно громоздкая есть более элегантный способ freedom а","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1936s"},{"start_seconds":1943,"text":"просто-напросто возвращаем какой-то из значений в данном случае это будет","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1943s"},{"start_seconds":1950,"text":"значение типа a и f 64 и мы его присваивая переменной нашем случае или и для данных","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1950s"},{"start_seconds":1960,"text":"конструкций когда вы присваиваете значение из блока повторюсь что блок описывается через фигурные скобки не","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1960s"},{"start_seconds":1968,"text":"забывайте ставить точку с запятой другой стороны если вы забудете компилятора вам вечера вам и крайне настойчива","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1968s"},{"start_seconds":1977,"text":"потребовать это сделать программу was nice компилироваться более того он вам","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1977s"},{"start_seconds":1985,"text":"подскажет где я поставить . за битву в чем проблема и 1 специфик является то что в отличие от ошибок которые","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1985s"},{"start_seconds":1994,"text":"описываются в любых других языках программирования прости они детально","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=1994s"},{"start_seconds":2002,"text":"описаны с подчёркиванием это все мы будем рассматривать в теме работа с с ошибками мудрости с ошибками","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2002s"},{"start_seconds":2012,"text":"компиляция с рфс типы какие бывают но здесь я в таком общем виде скажу что","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2012s"},{"start_seconds":2019,"text":"компиляторы в данном случае вам будет сельский помог не мешать а именно помогаешь там некоторых других","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2019s"},{"start_seconds":2026,"text":"компиляторов программирования компиляторы не","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2026s"},{"start_seconds":2034,"text":"настолько тут то же самое будет касаться не только блоком матч но и блока div","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2034s"},{"start_seconds":2052,"text":"в данном случае то есть как вы видите здесь у нас есть и в которой всего нас и","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2052s"},{"start_seconds":2062,"text":"делает ветвление но также как и для матч здесь есть возможность а через такой ;","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2062s"},{"start_seconds":2069,"text":"присваивать значение результаты выполнения всей этой ветвящийся","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2069s"},{"start_seconds":2076,"text":"конструкция конкретное переменной какой здесь есть важный нюанс на которой он стоит помнить","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2076s"},{"start_seconds":2083,"text":"а если вы забыли the compiler вам напомню что во всех случаях этого","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2083s"},{"start_seconds":2091,"text":"ветвления множествами обязательным условием является то что возвращаемый","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2091s"},{"start_seconds":2097,"text":"тип должен быть один и поскольку когда","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2097s"},{"start_seconds":2103,"text":"мы используем наш пином колд-колл калешин как вы видите у нас содержится","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2103s"},{"start_seconds":2111,"text":"здесь два разных типа здесь содержится и","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2111s"},{"start_seconds":2118,"text":"у 64 и f32 и когда мы получаем к ним","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2118s"},{"start_seconds":2125,"text":"доступ через x y здесь важным является то что необходимо сделать приведение","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2125s"},{"start_seconds":2131,"text":"типов что значит а значит что типы должно быть одинаковым и поскольку у нас","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2131s"},{"start_seconds":2138,"text":"y это плод плотен x это и 64","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2138s"},{"start_seconds":2148,"text":"то через ключевое слово с мы можем его привести к f 64 возможности приведения","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2148s"},{"start_seconds":2156,"text":"типов есть разные но это один из самых распространенных для простых типов простым типом в том числе относятся","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2156s"},{"start_seconds":2164,"text":"интеджер вот пуля и так далее пример со стрингами также не получится и как вы","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2164s"},{"start_seconds":2174,"text":"видите в данной конструкции к этому пишем y минус x мы гарантированно возвращаем о f 64","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2174s"},{"start_seconds":2183,"text":"может возникнуть вопрос распространяется ли область видимости за","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2183s"},{"start_seconds":2190,"text":"пределы скобок в частности функции я повторюсь","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2190s"},{"start_seconds":2198,"text":"еще раз нет и это один из таких удобных концертов где мы можем адамар на фактически","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2198s"},{"start_seconds":2205,"text":"изолировать нож от в этом смысле это очень удобно","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2205s"},{"start_seconds":2221,"text":"и так что мы сегодня с вами рассмотрели","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2221s"},{"start_seconds":2232,"text":"это какие есть типы переменных изменяемые и неизменяемые","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2232s"},{"start_seconds":2237,"text":"а это какие есть возможности для для работа стейплз","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2237s"},{"start_seconds":2245,"text":"это затенение перемены в эта область видимости область объявления переменных и констант","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2245s"},{"start_seconds":2254,"text":"и способы присваивания перемены одним из еще очень важных аспектов является то","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2254s"},{"start_seconds":2261,"text":"что сейчас и попробуем найти какое-то","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2261s"},{"start_seconds":2269,"text":"обращение и вот здесь нету не знаю как так получилось не подходят причине здесь","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2269s"},{"start_seconds":2278,"text":"его нету я вам специально мышкой вот здесь вот эту область покажу какая из концепция","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2278s"},{"start_seconds":2287,"text":"еще есть большому сожалению почему то его нету но надеюсь что нам слуху и вы","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2287s"},{"start_seconds":2295,"text":"сможете воспринять есть возможность определения переменных через подчеркиваний примера мы можем указать","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2295s"},{"start_seconds":2303,"text":"лет подчеркивание рамосом 10 что это значит это значит что результат","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2303s"},{"start_seconds":2309,"text":"выполнения чего бы-то ни было мы можем присвоить некое абсолютно безымянные переменная","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2309s"},{"start_seconds":2317,"text":"зачем это нужно в том случае когда результат функции у нас что-то","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2317s"},{"start_seconds":2324,"text":"возвращает но нам ничего не нужно делать с этим результатом это очень удобно и","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2324s"},{"start_seconds":2330,"text":"еще одна из полезных концепция которые вместе со знать это когда мы","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2330s"},{"start_seconds":2338,"text":"переменные можем определять через починку примеру light подчёркивание и","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2338s"},{"start_seconds":2346,"text":"мне тут это этот слайд выпал сожалению бессовестно пропал что это значит когда","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2346s"},{"start_seconds":2354,"text":"мы определяем переменную через подчеркивание подчеркивание расти это являются условиям того что это","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2354s"},{"start_seconds":2364,"text":"переменная у нас не обязательно должна быть использован как я говорил росстата","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2364s"},{"start_seconds":2371,"text":"строгий компилятор если мы описываем нашу переменную то нам компилятор","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2371s"},{"start_seconds":2379,"text":"вежливо и настойчиво укажет что друзья а эта перемена у нас не используется если","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2379s"},{"start_seconds":2387,"text":"живу у нас каким-то нашим внутренним причинам необходимо семьям указать что переменная","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2387s"},{"start_seconds":2395,"text":"не используется то эти переменные описываются через подчеркиваем это касается в том числе и для объявления","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2395s"},{"start_seconds":2402,"text":"функций и для объявления на переменах в любом виде блока это правило для лет конструкции","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2402s"},{"start_seconds":2412,"text":"распространяется на все и в том числе вы я повторюсь это распространяется на атрибутов просто об этом есть смысл","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2412s"},{"start_seconds":2421,"text":"помнить на этом я заканчиваю трансляцию и","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2421s"},{"start_seconds":2430,"text":"перехожу","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2430s"},{"start_seconds":2441,"text":"так показатели курсора я уже постарался писал ножкам подсветить","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2441s"},{"start_seconds":2451,"text":"си плюс плюс компилятора так","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2451s"},{"start_seconds":2471,"text":"я вам напомню что если у вас есть желание чтобы это не было спросить","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2471s"},{"start_seconds":2478,"text":"задавайте секса по skype леши это то есть если функция возвращает так","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2478s"},{"start_seconds":2487,"text":"и только типу с двумя переменными и одно из них можно отпрыгнуть","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2487s"},{"start_seconds":2493,"text":"производить но смотрите если мы описываем через подчёркивание как я вам","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2493s"},{"start_seconds":2502,"text":"что-то мы его можем это распространяется","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2502s"},{"start_seconds":2511,"text":"и на вкус и на и на другие переменные то есть к примеру","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2511s"},{"start_seconds":2522,"text":"когда мы описывали типа лс вы помните у нас было два значения котором у нас","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2522s"},{"start_seconds":2531,"text":"описывался переменное значение ю шийся 4s 32 и если при каких-то","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2531s"},{"start_seconds":2538,"text":"обстоятельствах нам втором значении нужно там и через присваивание descor","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2538s"},{"start_seconds":2544,"text":"можем это делать кстати говоря в пример детальных примера это описано раз будет","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2544s"},{"start_seconds":2553,"text":"zapals принципе очень очень подробно настоятельно вам рекомендую посмотреть","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2553s"},{"start_seconds":2560,"text":"туда там рассмотрены самые разные варианты именно по работе steel poles по работе с элементами через","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2560s"},{"start_seconds":2568,"text":"подчёркивания в том числе и поттером matching таким очень-очень детальную","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2568s"},{"start_seconds":2575,"text":"пример поскольку почему я здесь все эти примеры не привожу нашего перед можно посмотреть почему запустить там одна из","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2575s"},{"start_seconds":2584,"text":"специфика раз бы examples является то что вы сразу же этот код можете запустить на выполнить это очень удобно","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2584s"},{"start_seconds":2591,"text":"что то я рекомендую вам с этим","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2591s"},{"start_seconds":2595,"text":"играть не понятно по поводу анды скор в","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2595s"},{"start_seconds":2607,"text":"поттер мальчики подчеркивание потом начинки что значит","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2607s"},{"start_seconds":2614,"text":"[музыка]","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2614s"},{"start_seconds":2616,"text":"сама подчёркивание это значит что любое значение либо и","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2616s"},{"start_seconds":2622,"text":"а вот то что вы написали равно и знак больше это синтаксически определитель","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2622s"},{"start_seconds":2631,"text":"того что вот смотрите когда мы рассматриваем pattern matching нам нужно","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2631s"},{"start_seconds":2638,"text":"определить ну что на какие компоненты разделяются дерева и одна из точности описывает","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2638s"},{"start_seconds":2645,"text":"что мы разбираем а вторая слышно должно показать что мы после этого должны сделать так вот","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2645s"},{"start_seconds":2654,"text":"равно стрелочка это как вот такую указатель на то что после этого твита","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2654s"},{"start_seconds":2664,"text":"дату скинули в общем то ссылку на 100","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2664s"},{"start_seconds":2669,"text":"как это описано в разборки возможно в этом смысл с точки зрения визуального","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2669s"},{"start_seconds":2677,"text":"представления более понятны опять же таки здесь","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2677s"},{"start_seconds":2684,"text":"показали пример steel poles где игнорируется значение да именно так если","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2684s"},{"start_seconds":2694,"text":"в случае того когда ты упал со вращается","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2694s"},{"start_seconds":2704,"text":"если не использовать 2 lite x10","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2704s"},{"start_seconds":2709,"text":"это равно 20 будет ошибкой компиляции да","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2709s"},{"start_seconds":2715,"text":"будет потому что для того чтобы использовать мутабельные переменная","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2715s"},{"start_seconds":2722,"text":"нужно явным образом описать лет бью","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2722s"},{"start_seconds":2726,"text":"x равно 10 если обрасти формально","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2726s"},{"start_seconds":2734,"text":"реализован сам отведать через и на насколько власти распространены","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2734s"},{"start_seconds":2741,"text":"другие конструкции функционально интересно функционального","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2741s"},{"start_seconds":2748,"text":"программирования факторы монады насколько насколько можно назвать раз функциональным языком программирования","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2748s"},{"start_seconds":2757,"text":"это комплексный вопрос потому что для начала нужно понять что за это должно","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2757s"},{"start_seconds":2766,"text":"отвечать и какими критериям он должен соответствовать первое это то что роста","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2766s"},{"start_seconds":2775,"text":"обладают некоторыми качествами которые относятся к языкам функционального","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2775s"},{"start_seconds":2782,"text":"программирования и эти элементы мы будем рассматривать для этого выделена отдельная тема но","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2782s"},{"start_seconds":2789,"text":"важно понимать что 1 не является языком функциональные языком программирования что значит функциональный язык","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2789s"},{"start_seconds":2797,"text":"программирования чтобы мы с вами говорили на одном языке это значит что","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2797s"},{"start_seconds":2806,"text":"ключевой сущностью является функция","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2806s"},{"start_seconds":2814,"text":"filter функциональный этой программе является например идрис который обладает","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2814s"},{"start_seconds":2825,"text":"my mouth обильными свойствами костыль а также есть возможность перевести","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2825s"},{"start_seconds":2832,"text":"переменной стабильность и но важно понимать то что фаски ли более еще более строгая система","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2832s"},{"start_seconds":2839,"text":"титул в этом смысле раз очень сильно к нему","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2839s"},{"start_seconds":2846,"text":"придвинулся это бесспорным но к сожалению он не обладает всей мощностью","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2846s"},{"start_seconds":2854,"text":"функциональных свойств примеру там хаскеле большому сожалению невозможно курирование а соответственно про какие","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2854s"},{"start_seconds":2861,"text":"вы functor и мы можем с вами говорить про описание манат из того что я видел","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2861s"},{"start_seconds":2870,"text":"некоторые пытались сделать это образцы но насколько это разумно использовать это очень большой вопрос также в","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2870s"},{"start_seconds":2880,"text":"растянет влазит алгебраических типов данных и по всей видимости они не нужны","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2880s"},{"start_seconds":2888,"text":"дело в том что в россии есть определенный компромисс между элементами функциональных языков программирования и","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2888s"},{"start_seconds":2895,"text":"элементами который носит более распространенным накачки у него есть","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2895s"},{"start_seconds":2904,"text":"одни из функциональных возможностей и мы на этом специально будем останавливаться это одна из моих любимых тем","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2904s"},{"start_seconds":2913,"text":"так и вот вопрос то есть можно написать лет подчёркивание сам-то в этом это не","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2913s"},{"start_seconds":2922,"text":"нужно в каком случае это нужно в данном случае это не нужно но примеру если у","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2922s"},{"start_seconds":2930,"text":"вас есть функция которую вы вызываете и она возвращать какой-то результат по вам результат множество то вы можете","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2930s"},{"start_seconds":2937,"text":"описать как лет подчёркивание случае сам это естественно бессмысленная операция поскольку она ровным счетом ничего не","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2937s"},{"start_seconds":2947,"text":"поскольку сам является определением","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2947s"},{"start_seconds":2953,"text":"[музыка]","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2953s"},{"start_seconds":2963,"text":"так еще раз какое значение переменных с подчёркиванием как тут лет подчёркивание z равно 9 или","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2963s"},{"start_seconds":2972,"text":"об этом не говорилось говорилось значит что из себя представляет вот подчёркивание z равна 9 это значит что у","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2972s"},{"start_seconds":2981,"text":"нас есть переменная которая всего-навсего начинается с подчёркивает то есть мы ее пределах куда можем спокойно использовать естественное и","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2981s"},{"start_seconds":2990,"text":"значение будет равно 9 но для компилятора когда мы описываем переменную через подчёркивание это","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2990s"},{"start_seconds":2998,"text":"значит что она не должна быть обязательно использованием то есть если мы опишем z равно 9","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=2998s"},{"start_seconds":3005,"text":"нам компилятор будет не сильно доволен этим и скажут что у нас переменная z не используется а если мы опишем как","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3005s"},{"start_seconds":3014,"text":"подчеркивание z поймем что мы это сделаем абсолютно намеренно о своих каких-то цели и ему это переменная может","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3014s"},{"start_seconds":3023,"text":"быть не используем то есть ну да такие случаи жизни бывают","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3023s"},{"start_seconds":3036,"text":"зачем нужны класс если просто можно не указать ньют и и переменная будет","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3036s"},{"start_seconds":3043,"text":"неизменяемые верно-верно но у const гриба область видимости и они","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3043s"},{"start_seconds":3051,"text":"по-разному хранятся в памяти я не буду вдаваться в детали чтобы","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3051s"},{"start_seconds":3058,"text":"просто не запутывается как происходит и перевел с памятью но целом это это","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3058s"},{"start_seconds":3065,"text":"разные концепции первое это важно понимать 2 эта область видимости как я","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3065s"},{"start_seconds":3073,"text":"вам говорил поскольку он как вы заметили она описывается за пределами в общем","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3073s"},{"start_seconds":3080,"text":"случае описываются за пределами функции это значит что константа и область","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3080s"},{"start_seconds":3089,"text":"видимости распространяется на весь модуль 1 и 2","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3089s"},{"start_seconds":3096,"text":"как я вам показывал презентации мы можем описать константу как публичную","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3096s"},{"start_seconds":3103,"text":"это значит что мы к этой константе можем обращаться из других модулей то есть","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3103s"},{"start_seconds":3111,"text":"фактически у них разное назначение все","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3111s"},{"start_seconds":3120,"text":"по поводу лежит ли константа в статье ленин степи это вопрос интересный потому что я так понимаю что вам очень сильно","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3120s"},{"start_seconds":3129,"text":"хочется об этом узнать ну ладно как я я обо всем расскажу но есть несколько","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3129s"},{"start_seconds":3137,"text":"разных концепций и есть случаи когда для нее выделяется память и это может","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3137s"},{"start_seconds":3143,"text":"определяться специально но в целом расти это сделаем очень хитро смотрите у нас консультанта","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3143s"},{"start_seconds":3151,"text":"известно правильно и она не меняется это очевидно соответственно какую","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3151s"},{"start_seconds":3159,"text":"оптимизацию может сделать компилятор prime и чем использовать память там где ее не нужно использовать эти значения","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3159s"},{"start_seconds":3169,"text":"подставить во все нужно 100 то есть на этапе компиляции это константа будет изменено на соответствующее значение фактически","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3169s"},{"start_seconds":3177,"text":"получается что это некая абстракция и в тех местах где она может быть заменено","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3177s"},{"start_seconds":3184,"text":"или произведено вычисление примеру у нас есть константа который при опять для на как здесь где-то происходит вычисление","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3184s"},{"start_seconds":3192,"text":"переменной примера два плюс это константа и компилятор сделаны удивительные чтоб он не будет это делать во время","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3192s"},{"start_seconds":3199,"text":"выполнения он сделает во время компиляции это одна из фишек роста которые ускоряют работу таких","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3199s"},{"start_seconds":3208,"text":"оптимизации в россии очень много я не буду вдаваться одна из причин почему раз","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3208s"},{"start_seconds":3214,"text":"не так быстро компилируется как гул лежит в том что он обладает очень гибкой","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3214s"},{"start_seconds":3224,"text":"продвинутой системы анализатора работы не только станции контент с константами но из типами","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3224s"},{"start_seconds":3232,"text":"из выведение типов и с областями видимости из оперирования мтс памятью","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3232s"},{"start_seconds":3240,"text":"поскольку роста безопасно период с памятью и всего этого не делает во время компиляции это более сложная задача чем","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3240s"},{"start_seconds":3251,"text":"просто скомпилировать код и приветом не оптимизировать структуру данных который работает непосредственно с памяти и одна","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3251s"},{"start_seconds":3259,"text":"из оптимизация которая касается непосредственно к то это то что примеру есть с трапа то он строку нужное место","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3259s"},{"start_seconds":3267,"text":"подставить в общем случае там там раз на самом деле бывает и второй аспект это то","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3267s"},{"start_seconds":3276,"text":"что он может сделать вычисления его подготовить все оптимизации под что это","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3276s"},{"start_seconds":3285,"text":"значит это значит что если вы помните мы говорили о том что 1 1 компиляции","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3285s"},{"start_seconds":3292,"text":"является lg что такое родовым это волгу вершил машин это позволяет","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3292s"},{"start_seconds":3300,"text":"роста компилироваться под огромнейшее количество торги то с одной стороны а с","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3300s"},{"start_seconds":3306,"text":"другой стороны быть достаточно быстро скажем так это решает большое количество","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3306s"},{"start_seconds":3314,"text":"задач проблем так еще вопросам","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3314s"},{"start_seconds":3327,"text":"так сожалению почему то не могу их показывать как отвечены","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3327s"},{"start_seconds":3359,"text":"так какие у вас еще есть вопросы до 1 2 xanthus посмотрите","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3359s"},{"start_seconds":3368,"text":"[аплодисменты]","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3368s"},{"start_seconds":3377,"text":"хороший вопрос является единственным пешком или нет первое это не движок это","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3377s"},{"start_seconds":3384,"text":"пакет из того что я знаю он единственный","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3384s"},{"start_seconds":3391,"text":"импортирован под огромнейшее количество","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3391s"},{"start_seconds":3399,"text":"скажем так таргетом но здесь интересный момент заключается в том пока он себя","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3399s"},{"start_seconds":3407,"text":"ведет под мвд шли закину примеру там от arduino","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3407s"},{"start_seconds":3413,"text":"под stm32 насколько я помню там тоже он","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3413s"},{"start_seconds":3419,"text":"собирает под новые штуковин заключается в том что он сам умеет собирать эту","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3419s"},{"start_seconds":3431,"text":"структуру то есть вам не нужно компилировать нативный сэмплер он за вас","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3431s"},{"start_seconds":3437,"text":"все сделает в этом его фишка это то же самое как в опасен для для smart контрактов вам не нужно под конкретный","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3437s"},{"start_seconds":3446,"text":"таргет собирать он за вас все сделает может ли означает что продвинута","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3446s"},{"start_seconds":3458,"text":"компилятор не будет вычислять с сложением константа просто написать их готовый","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3458s"},{"start_seconds":3465,"text":"результат может ли означает что противны","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3465s"},{"start_seconds":3472,"text":"за компилятор не будет вычислять почему будет смотрите вон же вычисляет на этапе","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3472s"},{"start_seconds":3484,"text":"компиляции то есть скорее всего вопрос заключается в том не будет ли он это делать вовремя runtime и дауни были то есть он вычислит","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3484s"},{"start_seconds":3494,"text":"это во время компиляции и ставит то есть dice ключевым является то что это происходит во время компиляции они","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3494s"},{"start_seconds":3503,"text":"вовремя выполнить фронтами топтать","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3503s"},{"start_seconds":3513,"text":"летели одессе несложно можете подсказать где в","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3513s"},{"start_seconds":3524,"text":"книге найти раздел под углом и не могу","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3524s"},{"start_seconds":3529,"text":"если вы говорить про разбор не ощущения под рукой нету","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3529s"},{"start_seconds":3538,"text":"давайте наверно я скину к чему вам скинча","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3538s"},{"start_seconds":3554,"text":"но в целом я бы рекомендовал посмотреть больше раз бы экзомарс","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3554s"},{"start_seconds":3573,"text":"вы не поверите но у джесси тоже есть","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3573s"},{"start_seconds":3575,"text":"патент ужас у коран пустота же так есть","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3575s"},{"start_seconds":3588,"text":"еще вопросы а вот скинули","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3588s"},{"start_seconds":3596,"text":"спасибо хентай","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3596s"},{"start_seconds":3624,"text":"так не стесняйтесь задавать вопросы у нас есть еще немного времени","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3624s"},{"start_seconds":3679,"text":"у передавать еще минут подожду если у вас опроса не появится то","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3679s"},{"start_seconds":3687,"text":"будешь завершать окей о чем при пу-пум","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3687s"},{"start_seconds":3701,"text":"фелляции вас а мы получаем размер 10 раз больше по сравнению с по компиляции из","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3701s"},{"start_seconds":3710,"text":"bosanski","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3710s"},{"start_seconds":3716,"text":"компиляция свой пол хорошо по компиляции","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3716s"},{"start_seconds":3725,"text":"спасибо я что спальня даже не значит что","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3725s"},{"start_seconds":3731,"text":"он работает быстрее правильно смотрите","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3731s"},{"start_seconds":3738,"text":"от чего зависит объем от строим их библиотек это большой вопрос с помощью","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3738s"},{"start_seconds":3748,"text":"чего вы там собирали но целом то можно добиться небольших размеров несколько","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3748s"},{"start_seconds":3756,"text":"килобайт что на вас сам скрипт вы этого не добьетесь никогда потому что","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3756s"},{"start_seconds":3764,"text":"там нет возможность все работы сожалению я могу","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3764s"},{"start_seconds":3773,"text":"предположить что вы спрашивали именно про нир протокол вопрос разделяется на две части первое","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3773s"},{"start_seconds":3783,"text":"это использование не с диким и я сейчас очень сильно забегаю вперед но я просто постараюсь ответить на ваш вопрос чтобы","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3783s"},{"start_seconds":3792,"text":"остальные не заскучали первое это возможность использования не рынке и 2 это использование новости де","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3792s"},{"start_seconds":3802,"text":"эти аспекты новые steady мы с вами не будем рассматривать на что-то очень экзотическая такая штука онер и стихии","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3802s"},{"start_seconds":3810,"text":"вместе с собой тянет большое количество зависимостей это влияет объем файла это не значит что это","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3810s"},{"start_seconds":3819,"text":"прямо-таки очень плохо намного важнее смарт-контракты как раз пользуется глаз и я бы обращал внимание","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3819s"},{"start_seconds":3828,"text":"не на его размер это тоже конечно важно но намного важнее как оптимизирована работа с газом это очень важный аспект","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3828s"},{"start_seconds":3837,"text":"и его не стоит упускать из виду если же смарт-контракты стоят задачи размер и","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3837s"},{"start_seconds":3845,"text":"использования газа имея значение для этого можно нативно его использовать через новость иди и в","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3845s"},{"start_seconds":3855,"text":"общем-то этим задачи потрясена то что конца","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3855s"},{"start_seconds":3865,"text":"значение константа подставляется местах увеличивает размер бинарная строка этого избежать","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3865s"},{"start_seconds":3873,"text":"у нас по плану там увеличиваю смотрите если вы используете большие скульптуры","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3873s"},{"start_seconds":3881,"text":"ну к примеру вы там делаете in club я понимаю конечно что сейчас мы этого не рассматривали и","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3881s"},{"start_seconds":3891,"text":"может быть не сильно понятно выражаюсь но есть возможность включения в некоторых того участка входа и так далее","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3891s"},{"start_seconds":3899,"text":"конечно это сильно влияет на размер файла на подстанции смотрите и у 648","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3899s"},{"start_seconds":3907,"text":"ну катастрофически увеличивается размер я даже сказал что скорее всего это все-таки уменьшают размер почему потому","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3907s"},{"start_seconds":3916,"text":"что у нас делается предварительно оптимизация и предотвращение","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3916s"},{"start_seconds":3922,"text":"дополнительных вычислений то есть те структуры инструкции которым мы дополнительно могли пописывать они будут","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3922s"},{"start_seconds":3932,"text":"элиминирование и соответственно у нас напрямую это может взять и есть еще один","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3932s"},{"start_seconds":3940,"text":"такой за спектр да то в каком режиме мы собираем потому что где баги нас естественно должна содержаться","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3940s"},{"start_seconds":3947,"text":"промежуточной информации для отладки по этой причине у нас объемного дебага pulid борщ","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3947s"},{"start_seconds":3977,"text":"подскажите а вот этот газ и смарт-контракты его можно улучшать получается потому что это константа","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3977s"},{"start_seconds":3986,"text":"которого исправить нельзя смотрите здесь","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3986s"},{"start_seconds":3992,"text":"как бы он так сказать этот вопрос не совсем корректно поставлю что такое газ","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=3992s"},{"start_seconds":4000,"text":"и за что он отвечает намного разумнее было бы если вы","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=4000s"},{"start_seconds":4008,"text":"подождали тему 2 получается 2 вторая секция то есть у","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=4008s"},{"start_seconds":4016,"text":"нас будет три первое это введение в растрате нет какой-то мы будем более детально об","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=4016s"},{"start_seconds":4023,"text":"этом рассказать сейчас мы прям поскольку илья спросил я ответил на его вопрос мне показался добавить не очень красивые весенние отвечу","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=4023s"},{"start_seconds":4031,"text":"но мы забежали слишком вперед поэтому давайте мы тему с газом отложим на потом поскольку там это будет обсуждаться в","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=4031s"},{"start_seconds":4040,"text":"контексте сейчас это когда разговор не о чем-то сколько я не могу вам показать","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=4040s"},{"start_seconds":4047,"text":"сейчас наглядных примеров и правильно я","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=4047s"},{"start_seconds":4054,"text":"понимаю что последнее обновление 1 то двигаются конвертация функций функции в","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=4054s"},{"start_seconds":4061,"text":"целях увеличения того что может быть привычным топи компиляция почему за процесс ю так медленно","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=4061s"},{"start_seconds":4069,"text":"а это не простая задача на самом деле это может показаться что это легко","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=4069s"},{"start_seconds":4075,"text":"сделать из того что я видел это","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=4075s"},{"start_seconds":4082,"text":"и 3-я задача то сколько смотрите здесь уже не только алгоритмы выведения типов","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=4082s"},{"start_seconds":4092,"text":"и работает но и продвинутый analyzer и","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=4092s"},{"start_seconds":4099,"text":"написать его таким способом чтобы он эффективен одновременно и","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=4099s"},{"start_seconds":4107,"text":"это никоим образом не сказалось на скорости выполнения это такая очевидная штука в том числе ней это касается","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=4107s"},{"start_seconds":4117,"text":"всяких там redline операции так далее это то что касается непосредственно","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=4117s"},{"start_seconds":4123,"text":"оптимизации дроп вызывать до конца область видимости","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=4123s"},{"start_seconds":4136,"text":"что поступать память раньше","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=4136s"},{"start_seconds":4152,"text":"но это мем нет напоминает аналогию с","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=4152s"},{"start_seconds":4155,"text":"[музыка]","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=4155s"},{"start_seconds":4157,"text":"повторять до можно ли вам","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=4157s"},{"start_seconds":4169,"text":"самое главно вопрос а если вы ответите за чем лишь тебе таким образом","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=4169s"},{"start_seconds":4179,"text":"выстрелите могут","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=4179s"},{"start_seconds":4187,"text":"кроме а так видел","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=4187s"},{"start_seconds":4217,"text":"и если хотите сделать дроп раньше пошли","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=4217s"},{"start_seconds":4225,"text":"на свой страх и бесконечно самое главное понять зачем вы это делаете","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=4225s"},{"start_seconds":4232,"text":"возвращение ради ненужной оптимизации","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=4232s"},{"start_seconds":4237,"text":"может оказаться чтобы не нужно может","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=4237s"},{"start_seconds":4245,"text":"оказаться так что вы хотите добиться большей производительности при таком хорошо значит маша но время уже","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=4245s"},{"start_seconds":4253,"text":"завершается благодарю вас за то что присоединились спасибо за ваши вопросы","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=4253s"},{"start_seconds":4261,"text":"очень рады будем вас видеть следующих лекциях и паспорт контрактом на перейти","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=4261s"},{"start_seconds":4270,"text":"с терпение это будет вторая часть нашего курса я понимаю как уже хочется к ним","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=4270s"},{"start_seconds":4277,"text":"добраться тоже если честно это будет всем хорошего вечера окончание недели и","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=4277s"},{"start_seconds":4288,"text":"всего доброго","url":"https://www.youtube.com/watch?v=oFKldy5u0Ac&t=4288s"}],"youtube_url":"https://youtube.com/watch?v=oFKldy5u0Ac","url":"https://near-pedia.xyz/videos/oFKldy5u0Ac"}