Самое полное интервью Golang Middle

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

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

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

    00:00:00 - 00:01:35

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

    00:00:48 - 00:02:02

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

    00:01:24 - 00:02:49

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

    00:02:09 - 00:03:35

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

    00:02:54 - 00:04:15

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

    00:03:34 - 00:05:16

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

    00:04:32 - 00:06:04

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

    00:05:22 - 00:06:43

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

    00:06:02 - 00:07:42

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

    00:06:58 - 00:08:40

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

    00:07:57 - 00:09:21

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

    00:08:39 - 00:09:53

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

    00:09:16 - 00:10:42

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

    00:09:58 - 00:11:27

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

    00:10:43 - 00:12:23

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

    00:11:35 - 00:13:21

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

    00:12:28 - 00:13:58

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

    00:13:13 - 00:14:38

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

    00:13:56 - 00:15:18

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

    00:14:39 - 00:15:57

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

    00:15:18 - 00:17:03

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

    00:16:16 - 00:17:33

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

    00:16:58 - 00:18:54

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

    00:18:01 - 00:19:28

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

    00:18:47 - 00:20:35

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

    00:19:43 - 00:21:21

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

    00:20:33 - 00:21:59

  • сколько у тебя в этой мафия и ты скорее всего захочет уже вокруг нее обертку написать и встанет вопрос можете вокруг обычным up over тогда напишу сделок там сделаем метод там отделите так вот ну это еще не все там разные есть в ней интересности ok хорошо помог понятно вот но мы можем объявлять переменные через быстро объявление : равно сразу с присваиванием специализация можем объявлять через war и это немножко разные объявления они в контексте сальса разные контексте map и разные вот в чем вообще разница им провести у макак

    00:21:16 - 00:22:49

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

    00:22:05 - 00:23:58

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

    00:23:07 - 00:24:33

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

    00:24:06 - 00:25:34

  • извините ну а если мы через воробьи велит у нас ну получается у нас нету да области куда мы смотря нас нет мы сразу же до паникуем но слою менее очевидно бывает просто вроде как опадут на нем почует проходят на мать почему-то не проходит но не проходит вот потому что извинить мы нибудь хорошо мьютекс и тоже упомянул что можно матусов обезопасить с помощью мьютекс of на запись чтобы есть пакет sing вот есть там you take my legs бывает нескольких типов какие используешь ну собственно л м ю так до потопа что я

    00:24:57 - 00:26:39

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

    00:25:48 - 00:27:20

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

    00:26:37 - 00:28:04

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

    00:27:25 - 00:28:55

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

    00:28:12 - 00:29:29

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

    00:28:51 - 00:30:07

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

    00:29:29 - 00:30:45

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

    00:30:07 - 00:31:31

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

    00:30:52 - 00:32:23

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

    00:31:37 - 00:33:07

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

    00:32:22 - 00:33:56

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

    00:33:17 - 00:34:45

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

    00:34:15 - 00:35:41

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

    00:35:03 - 00:36:33

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

    00:35:49 - 00:37:11

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

    00:36:31 - 00:37:58

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

    00:37:15 - 00:38:51

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

    00:38:03 - 00:39:33

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

    00:38:48 - 00:40:23

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

    00:39:39 - 00:41:49

  • можем слуг порассуждать как что мы видим и что в результате у нас будет в пути на каждой итерации но собственно основная основные существа которым мы работаем и the numbers сначала мы ее заполняем заполняем ссылками да получается на конкретные целью 10 20 30 40 при втором проходе мы распечатываем конкретное значение вот разыменования указателя до то есть получается проваливаемся значение под ссылкой и но и чисто бельчик получается смотрим на то что как это получается добавляем к строчечки до 10 пробейте 20

    00:41:15 - 00:43:07

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

    00:42:18 - 00:44:00

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

    00:43:37 - 00:44:43

  • этот велю постоянно соответственно у него в него пишет 10 потом 25 30 потом 40 в в один указатель вот на который в одной области который ты взял указатель ну собственно ты на нее ссылаешься во всех четырех ячейках и получается что мы получили 40 40 секса ok такой немножко tricky мультики вопрос кажется что вопреки но тем не менее вот давай пойдем дальше есть у меня еще пара интересных пример чиков вот я мог бы это сделать без каналу но мне уж очень захотелось вот есть у меня я хочу распечатать в

    00:44:10 - 00:45:42

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

    00:44:56 - 00:46:45

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

    00:45:51 - 00:47:24

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

    00:46:43 - 00:48:01

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

    00:47:22 - 00:48:53

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

    00:48:37 - 00:50:24

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

    00:49:51 - 00:51:16

  • 10 запросов одновременно стонут но наверное не 20000 к сервису одновременно вот мы сделали 7 лить какой то здесь мы long john galt а то мы получим какой-то результат и вот что-то нам open там из канала мы прочтем не в снт print елена куда-то это значение подставим еще куда пойдем это уже 20 дело совершенно неважно я больше про то что у нас немножко сейчас отсутствует синхронизация что мы запустили рутины здесь go фанк запустили 500 миллиардов раз или сколько там нулей поставил кажется что 500 миллиардов раз

    00:50:34 - 00:52:17

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

    00:51:25 - 00:52:53

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

    00:52:12 - 00:53:52

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

    00:53:28 - 00:55:32

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

    00:55:09 - 00:56:39

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

    00:56:04 - 00:57:43

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

    00:57:09 - 00:58:41

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

    00:58:00 - 00:59:18

  • нехорошо тебе паниковать новую паниковать никому не хорошо ну вот если хочешь поймать солдат вариант 3 ковра да да действительно в эфире вызываем recover вот если у нас таки несколько defer авто у нас будет для у нас порядок стыковые или порядок и всего не ну то есть они по очереди ну от первых десятому складываются давят 10 первому выполнять ok еще такой маленький вопрос вот если я так сделаю [музыка] переменные на момент надо на момент то естественно носили зация единичка да а если ну если мы хотим чтобы взять

    00:58:39 - 01:00:12

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

    00:59:28 - 01:00:50

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

    01:00:11 - 01:02:08

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

    01:01:13 - 01:02:40

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

    01:02:00 - 01:03:46

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

    01:02:57 - 01:04:36

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

    01:03:57 - 01:05:40

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

    01:05:00 - 01:06:50

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

    01:06:07 - 01:07:51

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

    01:07:15 - 01:08:31

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

    01:07:52 - 01:09:14

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

    01:08:36 - 01:09:52

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

    01:09:18 - 01:10:34

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

    01:10:01 - 01:11:24

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

    01:10:45 - 01:12:43

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

    01:11:49 - 01:13:38

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

    01:12:51 - 01:14:13

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

    01:13:37 - 01:14:54

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

    01:14:15 - 01:16:02

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

    01:15:09 - 01:16:52

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

    01:16:01 - 01:17:21

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

    01:16:40 - 01:18:11

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

    01:17:36 - 01:19:00

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

    01:18:18 - 01:20:05

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

    01:19:34 - 01:21:18

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

    01:20:49 - 01:22:35

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

    01:21:53 - 01:23:45

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

    01:23:34 - 01:25:14

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

    01:24:26 - 01:25:55

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

    01:25:21 - 01:26:58

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

    01:26:09 - 01:27:33

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

    01:26:52 - 01:28:55

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

    01:27:53 - 01:29:29

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

    01:28:43 - 01:30:18

  • есть ошибка да и мы хотим ее вернуть а потом проверить вызвать нашу функцию и проверить что из например [музыка] вот а я что хочу я хочу что-то дописать сюда я хочу написать что ну какой то свой контекст но если я сделаю я хочу написать какой-то текст вокруг как если я сделаю просто вот фнтр baby drop террор и здесь стрельбой и и сделаю не получится то есть у меня проверка провалиться тут и спамом mtf там по моему есть ключик процент w чтобы добавляет до ошибку да все верно если мы так сделаем то

    01:29:34 - 01:31:40

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

    01:30:52 - 01:32:01

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

    01:31:27 - 01:32:38

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

    01:32:02 - 01:33:21

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

    01:32:43 - 01:34:38

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

    01:33:50 - 01:35:32

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

    01:34:42 - 01:36:11

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

    01:35:35 - 01:36:54

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

    01:36:15 - 01:37:55

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

    01:37:05 - 01:38:40

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

    01:37:57 - 01:39:35

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

    01:38:49 - 01:40:19

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

    01:39:34 - 01:41:02

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

    01:40:18 - 01:41:43

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

    01:41:02 - 01:42:41

  • инициализация всех этих матрешек да ну да можно в этой test suite не объявится в конце теста погасить тоже удобная штука да если вы туда смотрите но возможно оно вам пригодится а может и нет зависит именно от формирования вашего теста чем выше мы обычно поднимаемся интеграция тем больше ты начинаешь откладывать вкладывать вкладывать вкладывать и уже просто copy ok есть еще такая штука в тесте bench используешь есть testing т но бен бенчмарки надо есть такая штука то есть мы пару раз использовали где нам

    01:41:52 - 01:43:14

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

    01:42:33 - 01:44:13

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

    01:43:28 - 01:45:03

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

    01:44:18 - 01:45:41

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

    01:45:07 - 01:46:58

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

    01:46:22 - 01:48:07

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

    01:47:17 - 01:49:01

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

    01:48:13 - 01:49:50

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

    01:49:10 - 01:50:45

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

    01:50:03 - 01:51:23

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

    01:50:49 - 01:52:16

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

    01:51:32 - 01:53:18

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

    01:52:28 - 01:53:58

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

    01:53:15 - 01:54:28

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

    01:53:52 - 01:55:23

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

    01:54:46 - 01:56:24

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

    01:55:40 - 01:57:11

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

    01:56:34 - 01:58:05

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

    01:57:21 - 01:59:31

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

    01:58:25 - 01:59:40

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

    01:59:05 - 02:00:35

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

    01:59:56 - 02:01:14

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

    02:00:38 - 02:02:10

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

    02:01:33 - 02:02:56

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

    02:02:14 - 02:03:45

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

    02:03:06 - 02:04:36

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

    02:03:54 - 02:05:05

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

    02:04:29 - 02:06:15

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

    02:05:32 - 02:07:00

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

    02:06:30 - 02:07:47

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

    02:07:13 - 02:08:59

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

    02:08:09 - 02:09:35

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

    02:08:52 - 02:10:21

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

    02:09:40 - 02:11:09

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

    02:10:25 - 02:11:38

  • вот ты знаешь что такое даты рейс какой риск античности в чем разница татары [музыка] то есть у нас понятно дело что рейс кондишен и это у нас гонка за данными хотя бы логичнее если переводить то наоборот the data rates ну то есть о чем о чем принципе разговор до у нас получается что мы можем в нескольких грудь in как пытаться получать доступ к одному и тому же ресурсу и у нас может войдите ситуация когда мы и одному получается нужно ресурсу одной картинке тесто что же второй картинке должна и получается что

    02:11:01 - 02:12:53

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

    02:12:22 - 02:13:44

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

    02:13:03 - 02:14:15

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

    02:13:39 - 02:15:09

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

    02:14:24 - 02:15:53

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

    02:15:08 - 02:16:31

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

    02:15:50 - 02:17:31

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

    02:16:44 - 02:18:35

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

    02:17:41 - 02:19:08

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

    02:18:27 - 02:19:57

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

    02:19:25 - 02:20:51

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

    02:20:14 - 02:22:04

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

    02:21:17 - 02:22:50

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

    02:22:15 - 02:23:39

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

    02:23:02 - 02:24:33

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

    02:23:56 - 02:25:29

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

    02:24:51 - 02:26:33

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

    02:25:45 - 02:27:09

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

    02:26:27 - 02:27:54

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

    02:27:12 - 02:28:50

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

    02:28:15 - 02:30:09

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

    02:29:21 - 02:31:08

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

    02:30:22 - 02:31:47

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

    02:31:07 - 02:32:39

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

    02:31:55 - 02:33:32

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

    02:32:44 - 02:34:36

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

    02:33:40 - 02:34:55

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

    02:34:21 - 02:36:15

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

    02:35:28 - 02:36:56

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

    02:36:13 - 02:37:36

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

    02:36:55 - 02:38:38

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

    02:37:50 - 02:39:09

  • в колоночки написали сказать всех проблем тепло и колоночку сделали in process или лоб вот петру то есть если это колоночка true значит уже кто-то с ними работает не трожь работает не трожь и мы сдохли то есть у нас вот эти 100 сообщений они зависли с полем лорд true и они не будут отправлены и нам надо это теперь поправить point понятной [музыка] что мы можем делать в принципе нам нужен какой-то механизм который будет контролировать то что условно говоря сообщаем действительно отправились и мы

    02:38:31 - 02:40:02

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

    02:39:26 - 02:41:09

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

    02:40:28 - 02:41:57

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

    02:41:33 - 02:42:56

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

    02:42:16 - 02:43:45

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

    02:43:03 - 02:44:42

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

    02:43:57 - 02:45:19

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

    02:44:43 - 02:45:49

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

    02:45:15 - 02:46:49

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

    02:46:02 - 02:47:34

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

    02:46:51 - 02:48:06

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

    02:47:29 - 02:48:52

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

    02:48:09 - 02:49:41

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

    02:48:56 - 02:50:18

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

    02:49:38 - 02:50:54

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

    02:50:15 - 02:51:41

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

    02:50:58 - 02:52:23

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

    02:51:43 - 02:53:16

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

    02:52:31 - 02:53:57

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

    02:53:17 - 02:54:42

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

    02:53:59 - 02:55:28

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

    02:54:43 - 02:55:58

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

    02:55:22 - 02:56:53

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

    02:56:05 - 02:57:20

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

    02:56:47 - 02:58:01

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

    02:57:24 - 02:58:34

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

    02:57:59 - 02:59:14

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

    02:58:36 - 02:59:48

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

    02:59:13 - 03:00:30

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

    02:59:51 - 03:00:58

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

    03:00:24 - 03:01:38

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

    03:01:01 - 03:02:20

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

    03:01:41 - 03:02:56

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

    03:02:19 - 03:03:34

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

    03:02:57 - 03:04:15

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

    03:03:39 - 03:05:18

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

    03:04:27 - 03:05:58

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

    03:05:15 - 03:06:31

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

    03:05:53 - 03:06:59

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

    03:06:26 - 03:07:54

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

    03:07:10 - 03:08:39

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

    03:07:58 - 03:08:57

Менторы

Специалисты своей области, которые смогут помочь вам

  • Нигма Нурия
    Нигма Нурия

    Middle .Net Developer

  • Сущенко Татьяна
    Сущенко Татьяна

    Senior Product Manager

  • Гудков Денис
    Гудков Денис

    Middle Python Developer

  • Курочкин Константин
    Курочкин Константин

    Ведущий программист

  • Гудман Макс
    Гудман Макс

    Backend Software Engineer (PHP)

  • Гребенкин Антон
    Гребенкин Антон

    Senior .NET/C# developer

  • Ахназаров Фёдор
    Ахназаров Фёдор

    Middle DevOps Engineer | Tbilisi, Georgia

  • Шорохов Дмитрий
    Шорохов Дмитрий

    Middle C# .NET

  • Жуков Александр
    Жуков Александр

    Senior PHP-разработчик

  • Мазикин Павел
    Мазикин Павел

    Middle python developer

© 2024 HireGuru. Сделано в Санкт-Петербурге с hireguru.ru