🎧 Публичное собеседование #4: JavaScript, Python, async программирование, React, Node, паттерны

Подготовка к собеседованию на Frontend Developer

Транскрипция видео:

  • привет вопрос у нас сегодня еще одно собеседование и я так понимаю что сегодня у нас не только практикующий программист уровня как он сам говорит middle сейчас мы это выясним ну еще и преподаватель основ программирования людям какого возраста ты преподаешь взрослым детям ну вообще общий опыт как бы больше всего с детьми мы преподавал взрослый такой язык и какой технологические стек ты используешь в работе и вот какой преподаешь использую работе java-script используя кдзс express to do not take да да да

    00:00:01 - 00:01:54

  • преподаю до преподаю python и html css скрыт отлично так может быть ты расскажешь чем похожи и в чем разница между java скриптов и python а вот мне всегда интересует сравнительный анализ как человек разные технологии языки в общем себе представляет есть какие-то мысли по этого года давайте попробуем ну вот джонс ким тэ python эти рисовать назвать и кого первым делом я вспоминаю о создании как бы инициализации переменных то так это два не строго типизированных языка то мне нужно объявлять какой тип

    00:00:57 - 00:02:37

  • мы ожидаем и разница верно только в том что в пайта не синтаксические инициализации и переприсваивание но данных в переменную одинаково если в женском тебе приходится там объявлять через там конт-бет war to fight не этого делать не нужным видишь опять присвоение в тот же самый день тифе катар то по сути создается новая переменная с новым значениям а старая теряется просто затирается ну вот на мед работу и тексты и ещё там есть очень большая разница в собственно что создает скоб да да известно вот эта тема связана

    00:01:53 - 00:03:27

  • колокол то есть в java skype те у нас [музыка] когда мы находимся в контексте на какой-то функция доносить к я там определенная вложенность и за можно договориться влажность контекстов конечно надо воинской текста до разговора с контекстов то нам если мы стоим куда переменную и ее в нашу к тикси нет то мы поднимаемся вверх и находим ее в пайта не приходится прописывать что так бы в каком контексте находится эта переменная или она создаст основу ну или она просто создастся в этом контексте этот вопрос или ну то еще есть еще более

    00:02:42 - 00:04:31

  • важная разница в том что какие блоки порождают новые контексте да ну давайте все просто там как бы нанесем постанова фигурные скобки у тебя созданный контекст вот в пайта не давайте-ка подумаем как там регулируется контекст контекст глобальные внутри функции у тискать я в этот момент не проследил то есть когда его из функции методы создает контекст и хотя чтобы внутри функции тебе создать вложенный контекст тебе нужно в нем объявить еще значит другую фоточка хватает в принципе блока операторов просто даже не

    00:03:37 - 00:05:26

  • даже можно без и фарфора там просто открыть фигурную скобку закрыть фигурную скобку тебя уже вложенный контекст да он весь такой вопрос есть такой засранцам на него ответить мне интересно вот связан с контекстом джон скрипте есть такая как бы сама вызывается функция давай-те и вот и фидо называется я забыл как называется надо надо а вот разница вот зачем создавать самом вызывающую функцию когда есть вот такое создание контекста через фигурные скобки я понимаю что я могу ее использовать для кита асинхронных задач на например в

    00:04:40 - 00:06:02

  • одессе но асинхронный efi просто крепче не было возможности создавать контекст и при помощи открыть закрытую скобку окей плане а-а-а-а си плюс плюс она была всегда доллар по полевому них бы хотя наверное не знаю седану я отношу есть он тоже такая же самое возможность как джо скрипте смотри по сути вот ты сказал что в java скрипте открывание и закрывание скобок создает контекста по сути если ты написал iv под этим ифом не станет открытие закрытие скобок то контекст все равно создается только он получится в рамках

    00:05:23 - 00:06:50

  • express шина ты можешь после и фар написать один экспресс он один оператор какой-то и вот в рамках него будет собственно контекст как бы и это не такая бессмысленная штука потому что в рамках этого оператора может быть несколько expression of разделенных запятыми и идентификаторы созданные в одном будут видны в другом ну да конечно такой код лучше не писать но тем ни менее будет тоже работать либо вы видите то что они не ориентироваться на фигурные скобки в плане скопом не имею ввиду что если ты хочешь под ифом

    00:06:06 - 00:07:36

  • записать несколько каких-то операторов допустим там что-то присвоить а потом вызвать функцию это присвоенное туда передать то желательно не делать это при помощи круглых скобок и , а делать это при помощи фигурных скобок и . то точек запятыми ну потому что по сути если ты под лифом напишешь какой-то экспресс который разделен на несколько вложенных expression of обвинишь все это круглыми скобками внутри там разделись запятыми будешь формировать какие-то идентификаторы а потом их передавать функции но это тоже

    00:06:51 - 00:08:14

  • будет скоб то есть хоть и без фигурных скобок но это тоже будет сколу не понимаем увидеть на это чисто синтаксически по сути в любом месте где ты можешь сделать оператор какой-то один или блок операторов то в контекстном будет или операторы либо год операторов по сути или же вот в пустом месте какой-то функции ты фигурную открыл закрыл вот тебе контекст можешь efi встроить вот тебе контекст или и фортом или любой тот файл там или любой этот сэм это он тоже будет контекст вот где то так то есть в скрипте на самом деле вот начиная с

    00:07:34 - 00:09:09

  • есть 6 этих контекстов скажем так очень просто их плодить ну это удобно с одной стороны с другой стороны по сути вложенность контекстов требует потом обход поиска идентификаторов вот может быть ты как-то что-нибудь хочешь сказать по поводу как вот ищутся идентификатор если мы находимся в каком-то месте кода я и оказался в этом по не понимаю горел до этого что у нас есть и мы на первом хотим перри присвоить какую-то переменную и и в этом скол opened the пираты поднимается носков выше и [музыка] переписывают у саму переменную когда

    00:08:23 - 00:10:21

  • найдет ее ну как найдет его перископе пока она не вернется не выйдет за мы вверх если и там нету то выйдет ошибка наверное вот думаю можно ли джон скрипте объявлять переменные нет в держатель и наконец хотя мне казалось что и может быть у казалось просто идентификаторы есть разных типов есть глобальные по сути это идентификаторы находящегося в луганского да да по сути это поля global ского продажа идентификаторы которые мы как бы мы к ним обращаемся они лежат как бы вот в globo лету это не совсем

    00:09:22 - 00:10:59

  • константы и переменные и тополя нашли по горбач коллектору и там было про это то есть одна из а потом дальше кроме global ского подальше это дерево вложенных контекстов и функции все порождает контекста и естественно что по сути это обход вот такого вот сильно разветвленного дерева и конечно же поиск идентификаторов кроме констант переменных и полей глобального объекта еще что-нибудь у нас есть такой же вы скрипте что важно идентификатор рассчитать так смотрите но под индикатором не понимаю что функция же может находиться

    00:10:16 - 00:11:55

  • в модификаторе но когда ты делаешь просто фаршем declaration то вот это порождение идентификатора ну да да да на что еще может быть еще класса и прототипа по сути ну да если прототип это та же функция конечно тоже самое ну и класс создает то же самое классное то же как физический хотя нет наверно это уже не хорошо ну давай может быть тогда ты в питоне со синхронностью милга нет но в java скрипте точно имел до какой-нибудь обзор асинхронности java script on да ну дерзкая синхронность можно выполнить

    00:11:09 - 00:12:53

  • разными способами можно через call back как называется через через помощь call back of можно через promise и ну там форме считает осинка вид и смотрите а вот есть такая штука event emitter его может использовать возле понимаю что ну и вот это тоже способ когда ты расписать кожа практически до этапа на все писания синхронного кода еще какие есть [музыка] но остальные по сути редко используемые я использовал еще srx srx сами имел горами нет ни работам по сути вообще абстракции которые позволяют писатель

    00:12:08 - 00:14:13

  • синхронный кот очень много есть de fer и которые раньше в java скрипте были сильно распространены есть фьючер и по сути заменяющие promise и являющиеся более концептуально правильной реализации для функционального программирования той же самой идее что у нас promise он немножко недоделанный с точки зрения функционального программирования это такая promise это мульти парадигма но такая концепция ну на самом деле мы можем придумывать кучу всяких своих абстракций я вот в лекциях делал допустим асинхронную очередь или там

    00:13:24 - 00:15:05

  • асинхронную коллекцию коллекция которая накапливает элементы и потом когда она одновременно является и want эмиттером эта коллекция или же допустим у нее какой то есть свой интерфейс то есть она может они лишь какой-нибудь метод который может исполнить же вот есть на контракт зина был который реализован кроме сами и у коллекции может быть кто то метр дан и можно написать и ведь да и вот разрезал лицом тогда когда в коллекции появится допустим 10 элементов можно самому написать разные абстракции которые тебе удобно

    00:14:17 - 00:15:43

  • просто которые тебе удобней можно написать локи блокировки тоже в виде функции или классов может быть с какими-то такими абстракции встречался нет ну че сказать я помню что однажды люди на вот таком в команде нет но он был хороший примерно на реакции когда создавал такой компонент который принимал себя это было так сахар до компонента который поднимался другие компоненты и вы каждую эту компоненту добавлял как бы функции которые можно было вызвать и грубо говоря закрыть всю форму и вот наверное наверное не совсем та но

    00:15:00 - 00:16:41

  • хотя вот это как бы к о контракте которые мы говорили тоже ну я вижу то схожи да это практически туда и в enter да там жирные во ртах это deal но не совсем не будет просто функция объявлены в профиле функция по сути ты какую-то асинхронную машинерию упаковывал комикс который разрывается там когда что-то случится когда придут там какие-то и vmdk ты что-то там пришлешь на сервер что-то сервера вернется потом раз разрисовывал кроме сам все пошли по сути это тоже некоторая такая штука которая позволяет что-то заблокировать

    00:15:51 - 00:17:27

  • ну то есть ожидает чего-то ну покажи нам позволяет что-то ожидать нос может ожидать какой-то большой группы операций и вот эту группу операции ты можешь просто про без упаковать ну а тому кто ожидает не нужно будет там подписываться на десяток событий и отслеживать там через флаги там или еще каким быть потому что у него есть вот простой контракт зина был сам контракт не был встречал или реализовываю может быть лекциях видел в лекциях это не видел я записал вот в работе нет я не использую through

    00:16:42 - 00:18:06

  • the tax но смотри на самом деле для того чтобы писатель синхронный кот у тебя достаточно знаний и пониманий но чтобы придумывать новые асинхронная абстракции у меня есть отдельный курс по синхронному программированию там пару десятков лекций и там есть еще допустим адаптеры асинхронности которые один контракт другой преобразовывают ну и там куча харренхол про greenworks там есть там у нас еще есть другие способы работы с и синхронностью это генератор и потом асинхронные генераторы потом у нас есть там итераторы ну то есть это на

    00:17:25 - 00:19:04

  • самом деле куча еще всего вот обычные даже генераторы позволяют писатель синхронный код почему кстати я понимал что генератором что это возможность иметь кита ступенчатые не ступенчатые действия но называется со программа то есть программа которую процедура которую можно на середине остановить а потом продолжить с того же места по сути у нас осинка weighted тоже вот штука синтаксис который позволяет написать такую программу так в генераторах у нас есть weld который на следующий шаг перебраться ну да и по

    00:18:16 - 00:19:48

  • сути мы вот если вы шли промежуточные return какой-то сделали у нас функция сохранилась и по сути вот это вот и и контекст где-то сохранился и потом будет восстановлен из того же места эта функция сможет продолжить исполнении да вот мест не доводилось я когда смотрел просто читал об этом но это уже такая старая техника то есть и и конечно хорошо знаете для общего развития но сейчас писать асинхронность на генераторах это уже не тема нормально ты попал в java script позже чем все это было сильно распространено в

    00:19:04 - 00:20:27

  • этом не что нибудь расскажешь про оптимизацию рендеринга в реакции то есть каким образом когда нам нужно что-то перерисовать это не приводит к тому что вычисляются вот-вот вообще все ну прям рекомендуете хорошо смотрите то есть react он имеет себе но он создает так так званая виртуальный дом до сих отщипнул пред рассказал или ты не знаком с отвесной везде и способ через воду и через актуальный да да хорошо то есть так получается что в реакции есть какой то есть есть такая возможность перемен дай-ка компонента но зависимости

    00:19:45 - 00:21:28

  • от разных условий компонента может реакций при рендере ца если изменяется и и родитель или если мы можем вызвать принтер с помощью разных жуков например там есть fuck you stay да если мы изменяем к это данные то у нас идет перерисовка этого компонента и всех его вложенных детей и удалось обеспечить оптимизацию этого но мы должны 1 понимать что сиси мы используем функциональ подход в разработке на компонентов реактор что к при каждом перемен в ринге компоненты то все например лицензированные переменные они

    00:20:45 - 00:22:16

  • перри за трутся из ведутся еще раз и для этого там когда мы какие-то функции внутри тоже не тоже будет перри создаваться мы оборачиваем в тоже разных у кита миссию столбик из мимо или через узрев мы можем сохранить ту самую переменную что мне использую сесть и узрев это такой хороший хук который позволяет нам сохранить какое-то какую-то информацию какие-то данные без перерыва ринга ну там есть еще разные способы через мы моризо цию то есть омри окне мы едем через чур компонент для того чтобы это обеспечить ну вот опять

    00:21:35 - 00:22:48

  • же нужно четко понимать что как происходит перед эндер про виртуальный дом 6 вы сказать об этом часть the drug постоянно не он создает виртуальный дом это грубо говоря копия существующую дома в браузере и он не меняет дом который в браузере напрямую он постоянно действую делает сравнение между эти виртуальным домом до текущего года дом шесть дом до этаж это дом это это когда но я знаешь эту дом это когда просто мы внутри какого-то тега прячем какой-то какую-то вложенность какой-то функционал то есть

    00:22:13 - 00:23:49

  • с виртуальным домом и тоже похожие концепции думаю через сказать вот первое что приходит голову что нет в реакции есть shadow dom или только virtualdub ник артистку virtual дом честно сказать где может быть я ошибаюсь но вот именно как бы с пониманием этого корня кто но как я понимаю что существует именно virtual дом то есть вот эти вот шедоу дом это когда будете мы создавали такие как бы айфрейм окажется называется и туда там три дамы saully танки когда поединщики подключала например проход похоже на и

    00:23:00 - 00:24:26

  • фрейм когда по сути ты хочешь вовнутрь страницам виде компонента запихнуть другой кусок html чтоб он не торчал в этой странице этот кусок он будет торчать просто в твоем обычном доме и ты можешь по нему того тореро ваться как обычно а тут это скрытый кусок до ног объем реакции нету такого скрыто дарту варианты все выливается в одно дерево shadow умытая концепция веб-компонентов когда мы хотим скрыть внутренность контрола полностью его скрыть чтоб она в страницы не сидела да да да и вынимаем так смотри что там что там

    00:23:49 - 00:25:26

  • вот что в одном в другом подходе вот представь себе что у нас есть какая-то там страница там куча каких-то мелких элементе core там всякие контент какой-то навалим там таблице не знаю какие то куски текста картиночки всякое такое вот где-то там значит на панельке у нас есть кнопочка которая переключает темную и светлую тему то есть это у нас там несколько вложенных там панелька внутри кнопочка вот мы нажимаем эту кнопочку она должна по сути повлиять на все control и вообще на экране вот как это сделать

    00:24:38 - 00:26:02

  • ну ты же из разные способы управления стэйта в акте есть там sequere dax и может через контексте очереди у сыр можно вообще сказать честно я встречался с таким когда просто глобально лежит какой-то стоит и его там меняют но то есть вот она а как типа программирования на флагах этот он такой программе интерес хотя ну да возможно и то есть у нас мы меняем но за десять используем катаре dax то у нас компонента подписывается на какое-то состояние из этого общего сайта и когда она меняется на и пересаживают ее ну и сама

    00:25:23 - 00:26:59

  • сам освоить за ней пересол все остальные и дети ну то есть как я понимаю то что если у нас идет куда компоненты он использует ну вот этот [музыка] хорошо можно можно идти таким способом вода давай отвлечемся от реактор подсказываю отвлечемся от реакции то можно вообще сделать не при помощи реактор и даже более того не при помощи java script а ну вы иметь ввиду что взять какой то не знаю там сделать подписчик опять же этот паттерн я имею ввиду что нужно печь на самый-самый дорожный контейнер css класс

    00:26:11 - 00:27:46

  • дополнительный который будет переключать тему ну да да да да может так сделать после здесь разные подходы ну рендеринг да конечно конечно в принципе тема может оказаться что нужно будет в темной теме что-нибудь реальной и в реакции перри рендерить может не хватить css а может оказаться что чуть-чуть по-другому нужно тоже не знаю что не пункт меняется ну да там ну да и я и да я понимаю чем я так кажется изначально как бы не сильно цеплялся на саму так то есть да он просто по заветам всякий функционал

    00:27:03 - 00:28:21

  • через эти подписчики чтобы компонента случае изменения стоит а изменилась но вообще да конечно глоба я смогу ольгу теоретически конечно может быть к это там ночью мы отображаем в самой в евро одним там отображаем в дуло это самая это идиотская конечно концепция так значит ну какие то могут быть реально разные по разному именно логика отрабатывать дабы рассеять а кто у нас трубы важна цель шубу нас период длился какой-то верхний компонент который затронет период губы а считывание этого свойства до какого-то

    00:27:42 - 00:29:14

  • ну этого глобального или до этого свойства названия темы и она его переключит когда он будет перегреваться так смотри ну еще давай может быть чуть-чуть пробег поговорим ну вот как на ноде какие есть разные способы может быть их перечислишь просто вот такие тебе встречались реализации роутинга когда вот у нас есть поинты какие-то ht типичные и нужно доставить вызов из просто обработчика ну там года он ест на удар quest приходит обработчик у нас есть туда пришли квестеры spans и как аргументы теперь нам нужно в

    00:28:31 - 00:30:10

  • какое-то место программы обработчиков может быть много и они все не в одном файлы лежат для удобства мы хотим как-то разложить вот как этот роутинг можно организовать есть разные подходы и аркадия был замечен и что на набег я и хотел больше привести внимание давайте путинг есть разные квартирные решения качественная кончал судьбе к я почти сразу начал использовать нас который как бы выстроил моей голове правильное такое видение как не за правильно неправильно я такую архитектуру которая позволяет писать

    00:29:24 - 00:30:49

  • не кажется хорошо [музыка] хороший короче рст 5 суток до то есть какие способы но вообще мышь есть у нас гречка проката чистый . как я мог использовать devil вас лекциях что в этом учитывайте с request а там его заголовки видишь это там g3 квестами перенаправляете можно там использовать экспресс в него есть там роутер и можем сделать роутер там год и когда придет но именно get запрос на эту же ссылку которую мы указали это первый аргумент то он вызовет call back который хоть втором аргументе можно вместе

    00:30:06 - 00:31:35

  • использовать контроллер и до такой декоратор контроллер date indicator контроллер в котором можно создавать методы оборачивать их декоратором там год ну какой на нужный метод и которое будет вызывать этот контроллер новые то этот этот эту функцию к мобильным декоратором и есть разные способы то есть этот акцент в 2 называется подход в иметь ввиду медовое то слышал такой подход иногда конечно эта прослойка которая вызывается каждый раз зависимости куда мой талант мы поставим но ты знаешь у меня есть даже лекция

    00:30:51 - 00:32:22

  • почему вы долга это плохо до выхода смотреть еще один подход это как раз те а еще кроме этого есть какие-то другие подходы так и мы разделяем на контроллере до сервисы вот такая структура проекта до может быть ты еще какие-то видел она смотрите а я еще проекта на миг а сервисы да и там у меня за роутинг отвечает ну и джинкс такая прослойка из прокси сервер который раз и redirected его на определенный сервис этот сервис там считывается м джинсов делаешь роутинг то это значит что у тебя каждое приложение куда robotics функцию

    00:31:41 - 00:33:25

  • реализовывать или что но смотрите то есть у меня и не используя джинкс напрямую у меня вот комбинациями используют scaffold и как раз там я прописываю что есть и приходит запрос таким-то такой такой 3 hex то направляемые на такой такой-то сервис и там ты и там уже им занимайся коллектор текстов так да еще я использовал сервер лисин тоже сервисе в конфиг есть это указывая что вот такой такой-то url вызови такой такой-то hinder видимости до то есть посмотреть еще один способ это коллекция текстов

    00:32:33 - 00:34:02

  • где ты прописываешь собственно еще можно но чтобы рига x-plane использовать потому что они все таки havok производительность и экспорта все-таки это достаточно универсальная штука но вот и люблю я вообще стараюсь весь код если у меня только есть такая возможность переписать его сначала можно конечно за прототипировать что-нибудь на regex пах но потом вот в обычном продакшин коде ryback спавне должно быть потому что это и уязвимости в игре куча уязвимости и могут появляться новые слабое такое место где можно ударить по

    00:33:22 - 00:34:44

  • производительности потому до сих при помощи реэкспорт вот имя умеет вопрос такой а мне казалось что она будет например так вот такой экспресс а где у нас комод делаем там роутер . дед да и там вставляем call back мыслям какие-то параметры передаем данный пример она там под капотом нацистов 40 стариками акадо и так это хорошо а как по другому как а если не без реги кс of 3 кредит не начинаются когда споров но чтобы его распарсить но у нас есть вот там типа можно newell просто сделать это встроенный java script такой парсер

    00:34:04 - 00:35:32

  • урлов и потом вот у нас этот url разбился на какие-то кусочки кстати под капотом она может быть партиции regex помета и всего она там парсится очень хорошим врага xpaмe который отложи ну и является частью вот собственно браузера или но воды ну то есть это код который сто процентов поддерживается людьми это не часть java скрипта конечно new era эта часть пая платформы и в общем как бы он хорошо сделан как минимум он хорошо сделан и там мы можем взять потом путь аргументы значит это самое там есть or link 1 все это дело нож чтоб

    00:34:48 - 00:36:39

  • это распарсить не хотелось бы запихивать к себе в плохие шин код который парсит уоррену какое отношение имеет анализ ну нет на самом деле я никогда не использовал интере hex и то есть просто эскудо синтаксис там звездочка да например звездочка понимаешь это какой-то там какой-то упрощенный да но ты не парсер урологи как минимум это делает там фреймворк под капотом но есть вариант такой что ты портишь пути вот у тебя есть путь а путь это практически каталог в каталоге в каталоге это дерево какое-то

    00:35:44 - 00:37:12

  • сделать в памяти сервера вот такое дерево и находить and point и вот собственно поэтому вложенному дереву можно так пойти на даже я видел вы так делали на лет можно положить плоскую коллекцию то есть какой-то map и просто искать в этом мире путь который у тебя есть если ты не находишь этого пути отрицать справа один кота ложек и опять искать путь опять отрезать право один каталог ну пока ты не найдешь этот путь диск пока ты не найдешь вот этот воин который согласен обработать самый глубоко вложенный из

    00:36:28 - 00:37:56

  • возможных этих путей ну и все это можно парсить строковыми операциями обычными deputy можно парсить и можно еще лучше порхать при помощи нодов sky встроенный утилиту keepass которая тоже умеет делать get buy знаем тонны что всякое такое ну в общем можно парсить и по со строковыми операциями потом находить по дереву или по плоской коллекции ну так вообще еще есть членов responsibility можно видом vr организовать реализовать в обычный патрон членов ран способы люди но смысла в этом достаточно мало потому что ну если бы у

    00:37:14 - 00:38:55

  • нас были только класса и нельзя было делать коллекцию функций то это было бы имела бы какой-то смысл в живо скрипте в наводи а так как у нас есть другие способы попроще коллекции использовать где-то так ну смотри вот можем уже где-то этапа суммировать и обобщить в общем то очевидно что на уровне мидла ты очень эффективно можешь находить решение делать собственно проекты и если тебя запустить в инет то ты все найдешь во всем разберешься и все это дело склеишь но не хватает кругозора то есть от можно ты курс по асинхронности еще не

    00:38:10 - 00:39:55

  • смотрел и курс по ноги тоже может быть смотрел не весь да ну и не хватает еще наверное я бы хотя бы пролистал долл куб аноде да просто открывай эту долг у которая там лежит и как нужно пройтись по возможностям ну какие опьянения видел да ну как бы я получу не смотрел но просто заходишь сюда в описании api берешь там какой-то модуль там места вы и и смотришь собственно просто просматриваешь знаешь ты не знаешь этого api оно не такое большое и как минимум в голове может быть останется хотя бы что существует потом сюда

    00:39:08 - 00:40:55

  • придешь и найдешь такая возможность есть или вот там я не знаю качаем 6 проц студия очень редко используют в каждодневной работе в описании там бизнес-логики child процесса и потом когда возникает необходимость они такие о так пойду значит а я слышал там кластер есть вот я хочу значит что использовать child процесс кластер worker и использовать процессы использовать ладно буду процессы использовать так чем отличается от быстро надо разобраться чем их zic atf аркой от спавна отличается блин надо

    00:40:08 - 00:41:29

  • читать долгу ну то есть если это заранее не не знать в чем там разницы и если заранее не прочитать эту доку то потом когда уже проект делая что уходит много времени на то чтобы разобраться в попыхах я им о чем надо глубже копать кластерам он начал процесс и я еще никогда не использовал времена понимаю для чего это нужно а затем вопрос от тоже вот можно батуты мушкой раскрыть какой-то я вот мои это же понимание знания то есть это возможность использовать несколько мер кластерного дайте я не смогу то есть я понимаю что в но уже

    00:40:49 - 00:42:36

  • сдал к вообще всегда про мир не происходят какие-то но приходит нужда у пони ни каких-то задач до большое количество задач и поэтому мы можем там грехи за когда используя этом потоке но но у джесс он там как вы у тебя там под копыта сейчас говоришь про файлов про потоки данных или под потоки исполнении 3d или стримы вот ну просто в русском языке одно слово поток до в английском ну как минимум вот в программистом в программистские терминологии есть два абсолютно разных термина бренды нужно потоки исполнения кода а стримы это

    00:41:46 - 00:43:28

  • потоки передачи данных [музыка] ну наверное исполнения кода я это говорю но да я понимаю что есть разные способы от метких задач просто наверно вот это что у меня в работе никогда не встречалось такое нужды то в своей голове от укоротим могу видеть и там кот и использования до каких-то там клауд решений там когда знаете у нас там как-то под каждого каждый тебя пришел в облака взял сервис и не нужно писать системного кода идея от нагрузки на сам компьютер то есть ну инженер опасно еще не совсем понимаю когда нужно использовать и

    00:42:36 - 00:44:07

  • задача есть наверно когда надо быстро раз постиг это большое количество данных да наверно или вот в рассмотрении рано в этом всем сложности знаете когда там ехать раз слышу там круто идею прочел процессы или про кластеры сразу так немного оси гости ушли все понимаю где то может быть использоваться но день пишешь вот скажем так основная задача это ты пишешь бизнес-логику поэтому до задумываться о том как происходит балансировка там кластеризации все остальное то еще не задумываешься готовы ваться там твой лид и подавать

    00:43:29 - 00:44:43

  • тебе уже какое-то решение наверно если об этом задумываюсь там про нагрузки то есть там там приложение которое пишу им возрастом 10 миллионов пользователей очень большое положение и там все это решено на уровне вот опять же этих клауд функции да там или там числе когда пишу свой под project то есть там чуть кубер не tissue там я пишу раз там возьми этот этот пилинг а вот вот наверно вот такого кода знаете когда вот нужно использовать технологию мне не встречалось поэтому и семьи нет понимание наверное можно и самому нужно

    00:44:08 - 00:45:24

  • найти где-то задачу марку то после ваши лекции где такая значит это можно будет использовать как хватать и я понимаю когда там нужно разбивать данные начинки да и там обрабатывать потом там складывать отдавать это я понимаю зачем нужна а вот вот на эти же технологии кластеры это это было придумано до того как появилось все эти решения через примерно в одно и то же время она сути дано кластер это просто обертка вокруг child процесса которая умеет hand высоки . отдавать между процессами а так больше просто она

    00:44:50 - 00:46:10

  • реализует round robin алгоритм который по очереди по карусели передает то одному варки рута другому worker процессом разным процесс ничего не делается по себе грамм ну как бы тебе нужно что-то почитать ну не знаю может вот есть конференциях и лот плюс плюс возможно оттуда послушать какие-то там есть у них по моему даже не только доклада есть эти самые такие школы для начинающих в высоконагруженных системах там можно какие-то основы кластеризации балансировки услышать ну да интересно диаметр интересном идея

    00:45:29 - 00:47:00

  • о данных роста прокси-сервера чтоб там этом облегчить каждый там у кого-то микро сервис сумме на берлин должна проекте даже на проекте своем и как бы личном поэт progetti на на работе у меня там все нами красиво сделано чтобы там каждый сервис не занимался авторизацией чтобы это все там была на гитаре об этом доклады тоже ну короче уважительных доклад и я не видел его мультику напиши значит там как-то или highload или что нибудь такое элитарность архитектура высоконагруженных систем там короче если

    00:46:19 - 00:47:31

  • не найдешь что писать то тогда знаешь где ты это можешь найти кого про гривен works есть яндекс всех моих докладов надо же я найду его пересмотрел индекс тулс вот яндекс тулс вот в репозитории яндекс и тут по моему архив толк или курса стоукс до вас нет корсаж все-таки так а тут у нас есть ссылочка из корня на него индекс докладов на конференциях вот масштабирование для высоких нагрузок 17 будет в принципе он более-менее ещё актуален не но он устарел конечно но для начала для каких-то основ можно можно

    00:46:56 - 00:48:39

  • использовать где-то где-то у меня помоему и более в последних годах что то есть похоже в принципе где-то на этих семинарах там 20 21 года на семинарах по ноги там тоже есть вопросы вот такие ну короче такая тема больше связана вот с кем-то там старшими позиции мида или каким-то архитекторами или там kinder правильно послушай анолит тоже должен понимать в этом деле как минимум интересоваться всем этим делом потому что к нему приходят задачи эти задачи нужно расписывать на [музыка] программистов и естественно что если он

    00:47:59 - 00:49:34

  • не понимает как в принципе происходит балансировка а вот еще лучше так писать код ну вот это тоже задача ли да наверно так раздавать эти задачи чтобы потом можно было их и отбалансировать средствами ноды средствами потоков трейдов и всего остального тут вот как на одной машине прямо в процессе ноды а можно разбалансировать там насчет внешним балансировщик ам или сервисом балансировки в облаке ну то есть чтобы можно было это решение принять позже чтобы внутрь бизнес-логики не было захардкожены способа который

    00:48:52 - 00:50:18

  • только так балансирую на описать проблему конечно чтобы можно было потом получать какие-то управления от архитектора так архитектор говорит так завтра и тот же самый код должен работать в облаке или там завтра и тот же самый код мы забираем из облака ставим свои железные серваке а тебе не нужно рукин переделывать теперь практически что нужно как-то перри конфигурировать то дело может быть пересобрать как мы максимально изолировать я понимаю наш максимально изолировать роутинг и бизнес-логику от вот этих конкретных

    00:49:35 - 00:50:59

  • архитектурных и инфраструктурных решений как то более менее понятно и общее наверное смотри я тебе хочу посоветовать у первых если преподаешь да ты уже начал ты уже начал использовать такой подход что ты на нескольких языках преподаешь да да и уже людям ну вот я бы это развивал ну в общем когда переписываешь код с языка на язык при собственно своих студентах или детях значит то мне кажется что это развивает и их и собственно тебя как преподавателя сравнение разных технологий сравнение разных языков чтоб они не зацикливались

    00:50:18 - 00:51:52

  • на чем то одном на технологическом стоите на языке и потом там но решение практических задач вот life к динке нужно тоже не только смотреть теорию им нужно видеть как ты мыслишь когда ты пишешь код вот ты открываешь то допустили оптимизация какого-то кода вы вот точно так же как я периодически сейчас начал записывать review как происходит review ты их всех собираешь кто-то один написал код вот мы давайте вместе все разберем попробую чтобы улучшить заря и как-то помочь потом со временем ты им подсказывая чтоб

    00:51:14 - 00:52:39

  • они делали кросс review кода с самим один учащийся другому помогает в работе так старайся брать те проекты которые максимально разные максимально нетипичные для того что ты делал тебе нужно в первые годы ну чтобы значит наработать практику не останавливаться на просто написание это бизнес логики однотипные брать у нибудь допустим вот там стриминга вы и вещание этом сегодня завтра там берешь там какие-то платежные системы там после завтра игры еще там через какое-то время это может какие-нибудь там chat &

    00:51:55 - 00:53:22

  • коммуникации еще там это значит чат-боты там или обработка данных базы данных короче и разные типы или там управления технологическим оборудованием той постарайся чтобы там за 23 года вполне можно кругозор работать чтобы потом и вот смотри лекции и пытайся применить к практическим задачам все что там есть а кстати делать он еще был связан с паттернами было бы интересно вас узнать зомбарей более общий вопрос а потом может быть в нем и выльется цвет если видеть себя как как стремится к уровню 7 когда но джеймс то вот какие

    00:52:42 - 00:54:23

  • обязательное знание должны быть некорректный вопрос ну вот смысл в том что куда куда смотрели никуда идти или семейства это эта практика ну да это чувство опыт и практика вообще в принципе даже умерла у него должны быть практически или общий набор знаний общий кругозор ну давай чтобы быть то что называется крепким medlock нужно или же если не помните то на из уст узнать где найти собственно следующий шаг там до сеньора или до лета это собственно эта практика ты не просто знаешь где найти ты уже

    00:53:34 - 00:55:20

  • многое применял из этого может быть там не вообще все но как минимум на практике ты узнаешь совершенно технологию совершенно с другой стороны ты узнаешь не в том в чём она хороша какие у нее есть слабые места так вот знание как раз слабых мест и отличает там хорошего сеньора или лида он не так хорошо что-то работает он знает как она плохо работает не хвалит это да все так вот программирование тут все через задницу давайте обходить эти слабые места и будем использовать технологию не потому что я от нее в

    00:54:31 - 00:55:59

  • восторге от того что я ее использовал и я понимаю как решить проблемы которые у меня есть от каждой технологии куча проблем жилищный вопрос на счету отеки значит патронов и зрить я и вы бы я читаю книги по паттернам игр большие колеса книг написаны папа там этом java какая то ну и торжественным и панау джесс и вот во многом там используются классы но опять же я больше использую функциональное программирование вот все розыск вопрос на какие вот паттерн и и стоит обратить внимание опыт да да давайте начнем но тебе доу пышные

    00:55:15 - 00:56:35

  • я когда у вас уже наверно они днр записывал когда вы там одного парня он там аналитиком было бы и выдох гриле там про паттерн и их записывал ну вот что вы можете посоветовать по паттернам которой ну смотри как минимум нам нужен observer диап серво был нам нужен chain of responsibility команда адаптер фасад ну это вот самые такие распространенные гуфовский поттер в обще горскими дело не ограничивалось скрипта очень важная важную роль играют еще паттерн ну нестандартное вот такие как открытый конструктор

    00:55:55 - 00:57:25

  • ревелиан конструктор при помощи них ну он скажем так позволяет внедрить в передать в конструктор какого-то за счет класса ту информацию чтобы у тебя instance немножко поменял поведение относительно насчет базового класса стратегии или нет нет открытый конструктор говорит он изображает где ты где ты можешь найти пример его использования это стримы и допустим вот transforms 3 вместо того чтобы делать какой-нибудь май какой нибудь допустим transform стрим с какими-то допустим который там фильтрует

    00:56:39 - 00:58:15

  • пароли из логов и заменяет их звездочками примеру да ты можешь вместо того чтобы делать наследник типа какой-то паспорт фильтр стрим да ты можешь просто сделать transform stream и в конструктор ему передать функцию фильтрации благодаря тому что у нас в же в скрипте есть там функции первого класса в это вообще можем сделать при помощи передачи функции в аргумент конструктора а даже если бы мы так сделать не могли мы бы могли передать структуру в этот конструктор ладно новый класс в этот конструктор

    00:57:30 - 00:58:51

  • избежали бы наследование то есть даже если бы мы сделали класс фильтр и в нем метод фильтр ну грубо говоря мы тогда бы практически вот это вот то что у нас нет возможности сделать функцию первого класса но обернули ее в класс и вот передали его в конструктор получили значит какую-то вот композицию и избежали наследование да вот как раз вот тут убил и рассчитал там даже 1 глава рассказывается про то что вы говорите только я это понял как а потом стратегия то есть они вот вместо того чтобы с помощью наследования

    00:58:11 - 00:59:40

  • изменять какие то какие то например да методы класса они создают как бы инкапсулирует это поведение создан с уткой до что от utc умеет летать и есть там разные утки сам резиновая настоящая такая то мы вносим в интерфейс да да да я понял можем делать как позицию да да ну композиция я понимаю в этом в этом паттерне используя композиция они исследования ну вот смотри вот я открыл гуфовский паттерн языческий них ну понятно синглтон он нам же раз крепление особо важен потому что у нас синглтон там сделали с переменную запихнуть это

    00:58:57 - 01:00:50

  • паттерн который нужен для тех языков в которых [музыка] нельзя делать просто объектов да а у нас обычный модуль экспорт и ты из модуль экспорта объект экспортируешь вот тебе уже синглтон идет от а до в любом месте сделал эквайер и теперь ты забрал этот сингл топ тебе не нужно для этого не класса делать нечего и по сути тут восемьдесят процентов этих паттернов вообще они имеют смысл для языков в которых нет функций первого класса в которых модули работают как нибудь просто по-другому не так как java script

    01:00:05 - 01:01:29

  • тем же вас крипте модуль по сути делает замыкание когда делаешь роковая у тебя оба человека до оканчивается кусок исходник а значит и у тебя у самого модуля есть какой-то свой локальный контекст да ну вот боксе у нас есть встроенный просто язык практику иначе его там не сделать свои white он не особо нужен для java script а у нас вместо этого можно использовать прототипы и классы и фасад нас нас интересует фасад фабрика цепочка ответственности команда итератор у нас тоже встроенный язык есть ну вот

    01:00:48 - 01:02:30

  • сама отстроен этот как его зовут а встроенный вы его должны сами написать ноты вроде он есть кора куда принесут да и я про моду больше время ходил я больше занимаюсь ну да и на работе и бы я попросила не давать контакты тоски туда вот наверно вот вы вы вы так ответили упорство раздавал что якобы из того что нас много чтобы взыскать и реализован начал не других языках то много этих патронов да но takes care where это по сути i want a bitter наш эндометрита некоторые скажем модификация этой идеи так вот команда стиль стратегия вот это

    01:01:40 - 01:03:08

  • вот вот такие надо учить то что нам очень редко вообще нужно это вот там visitor bridge потом interpreter ми-ми deuter момента ну и там штуки которые реально нужны там просто раз в жизни и вообще для ноды они не особо актуальны гитов встроены какие-то нам не особо актуальны а другие могут быть заменены более современными паттернами потому что эти которые тут перечислены они не предполагают что это язык с функциями первого класса вот где-то так хорошо нужно брать книжки не только вот банды четырех

    01:02:30 - 01:04:11

  • но и значит какие-то книжки по энтерпрайз паттерном по коммуникационным паттерном по куча разных поттеров вот таких вот так веселее и понимать этаж по перми да-да-да пересчитать не буду now just design patterns это от не слышал я знаю что существует и не смотрел что тут нечего тебе сказать остальных паттерна я вот я знаю композиции на кодирование акт идеях я честно в работе очень мало когда это при меня может быть и конечно данное я использовал то есть там я как раз помощью кодирования я вам когда показывал этот код помните это не

    01:03:26 - 01:04:59

  • использовал курирование недавно вот применил тоже он показывал паттерн декоратор а у меня в команде не поняли вот почему как-то вот про бросился туда второй аргумент то есть и наверное проблемой документацией или проблемы того что не понимают паттерн декоратор этом писал декоратор в функциональном программировании тоже куча паттернов но из-за их малые распространенности их сложно использовать в коллективах то есть и в коллективе тебе удастся их использовать только когда все ознакомлены с этими темами и а иначе это просто остановят

    01:04:21 - 01:05:42

  • разработку ты где-нибудь там используешь линзы человек с этим столкнется и будет сначала тебя занимает что это такое потом пойдет где-то читать об этом и пойдёт лекции смотреть так вот через месяц только сможет въехать в тему медальоном сила лекция эстетики фст с называется акта библиотека которая позволяет как ну больно как ридак то есть сделайте один способ коммуникации чего-либо так и надо я думаю что уже получил достаточно рекомендации как двигаться дальше спасибо что не побоялся вот вообще без

    01:05:01 - 01:06:34

  • подготовки так как пройти молодец и он спасибо все давай пока пока он остынет

    01:05:49 - 01:06:03