Подготовка к собеседованию на Frontend Developer
Менторы
Специалисты своей области, которые смогут помочь вам
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
Каналы
Полезные Telegram каналы и чаты
Транскрипция видео:
привет сегодня у нас интервью с одним из контрибьютором технологического стаками торги будем считать что это даже сертификация наша ми торфяные в общем я думаю что мы начнем прямо вот с архитектуры prema вот того как строить большие приложения и ну там конечно же будут какие то вопросы по java script упа но deep асинхронности по всему остальному но значит основные принципы по которым строить большие приложения чтобы их было удобно поддерживать чтобы их было удобно модифицировать потому что конечно же
00:00:00 - 00:01:49
модификации приложений и их поддержка занимают большую вообще часть усилий которые мы над приложением чем конечно первичная разработка так что вот какие ты используешь подходы для того чтобы написать приложение которое поддерживать проще чем первоначальную разработку делать я использую мои тревоги дизайн и один его его ему подход заключается в том что ты разделяешь удачи приложения на такие две категории первое это domain задачи и второй такой infrastructure задачи то есть ты разделяешь все приложение на слои
00:00:56 - 00:02:30
абстракции и у тебя и слои который отвечает за ядро твоего приложения есть ли который отличается даме например 100 мин у тебя от еще и доменной модель и доменные сервисы если мы говорим про простую ли-мин модель сим-сим пол думает вот инфраструктура у тебя есть свой связи там комитет транспорт snr устроить данным д архитектуру ты знаешь я не знаю и не использую классифицируются все эти штуки на порты и адаптеры до диких сигнальная архитектура она ну в языках которые где есть интерфейс и на мой взгляд только хорошо применимо ну
00:01:53 - 00:03:38
вот например так скрипте потому что порты когда ты проектируешь гексагональной архитектуре доменная сервисы да тебе ты их подключаю к старому стилю приложения через порты и адаптеры и вот их удобно короче вот эти той точки сборки их удобно конечной профессии псы ну а в java скрипте что на что можем заменить интерфейсы таки описывать контракты каким-то образом подписывать контракты например схемами да например внезапно схемами по сути у нас описание контактов нам нужно просто записывать наши структур
00:02:49 - 00:04:27
данных поэтому мы можем использовать любой удобный формат который позволяет нам период работе рабочие пользуюсь ими интерфейсами даже даже как вспомогательный джон skype либо пользуясь такими tasker нашей вспомогательного это как ну вспомогательным это когда ты можешь разобрать весь код писать файл скрипта и писать файл dts котором ты описываешь интерфейсы да я посмотрю ты наверное когда то писал на си плюс плюс еще хедер файлы вспоминается нет опыта разработки на си плюс плюс и хорошо потому что это просто знаешь
00:03:43 - 00:05:18
такой вот классический подход значит описать контракт их и дыры в одном файле имплементацию в другом файле ну это в общем рабочий подход и очень удобно потом эти даты из ники потом кому-то отдать вот интегрируется со мной вот по этим интерфейсом на тебе интерфейсы а кот не дам ну так ну и вот если мы говорим про слоеную архитектуру или там domain-driven design или чистую архитектуру то для ее реализации нам нужны куча всякой машинерии вот какой какой именно и для чего не разделить сервисы с инфраструктурой там с надменной моделью
00:04:42 - 00:06:17
ну да потому что они все таки зацеплены как понизить это зацепление но мы выделяем слои абстракции и у нас чтобы не было практически абстракции мы можем использовать in version of control ну и дикон sygic можем использовать ну да ну приведем примеры потому что у нас вот номерная логика допустимом и из этой домины и логики хотим дернуть какое-то api мы можем захотеть полезть в базу мы можем захотеть что-то залакировать вот как нам к этому всему достучаться масштаб снаружи где-то мы не можем об этом ничего знать
00:05:46 - 00:07:03
там есть несколько способов внедрение зависимости первое что но самое первое что приходит в голову . не явля с неграми зависимости это просто сделать и по но от не является и не является не дадим зависимость это просто зависишь на то что импортируем вторая техника которая существует это передача в конструктор класса экземпляра другого объекта но это как i butler в джерси реализовано что ты можешь заняться лидировать какой-то сервис передачи во конструктор ну и есть еще один контейнер да есть еще
00:06:27 - 00:08:01
liposuction контейнеры в которых ты можешь по какому-то символу или указателю да ну или название сервиса получать экземпляр и ты знаешь только про его интерфейс опять же можно сделать в концов перекоса ну еще есть всякие суррогатный способы типа через рукава яр через динамический импорт вот локаторы сделать каких-то сервисов но причем навыки локаторы придется делать не так как они вроде сделаны через rocawear конкретного модуля чтобы можно было найти модуль с нужным интерфейсом потому что мы импортировать
00:07:22 - 00:08:50
через день должны интерфейсы а не конкретные модули ним не привязываться и у нас еще возможность но джесси есть доступ к утечке мид вы берете как который позволяет исполнять код и в одном контексте но в песочницу примерно также как работает по кромке на ну по аналогии обработать программы на линуксе песочнице или на марсе сушиться можешь выиграть как каким конкретно и бодрым и отёкам ты даешь доступ кодом и пройтись но и по сути ты можешь вот такой контейнер созда мать и у тебя [музыка] указателями того что ты внедряя что
00:08:05 - 00:09:47
будут и идентификаторы ты хочешь севда глобальны aliexpress и так но может быть какие-нибудь ты еще применял шаблоны проектирования типа очереди сообщений или там асинхронной пулы и не значит какие-то шина enterprise бас или и when sorting или разделение команд кларе с анализ и григоришин что-то из этого с очередями я работал и ван сорс некий работал комната respiration я тоже шить чем почем из этого поговорить может быть да ну может быть на каком-нибудь примере реального проекта где ты что применял и
00:09:01 - 00:10:50
какой результат появился от этого ну вот как come un cuore separation как я не катался закон трех этапов о ком кларе separation это securos фигерас секи вареса что-то мэр значит я уже не помню но суть его проста и что мы перед раз и чтение записи разделяем потому что у нас в любом приложении операции чтения гораздо больше чем мы операции записи и если у нас источник данных до говорит модуль ожидают база данных она очень большая и распределенная то у нас и они и по смыслу очень сильно отличаются эти операции вот потому что
00:10:00 - 00:12:00
пластика который например раскат он по принципу macy's lives мы пишем оси рассчитаемся слышно ну да то есть таким образом у нас получается что мы в общем решаем проблему вот этого сплит брейна у нас всегда есть точка в которой мы записываем на записи мало чтение много и у нас исчисление чуть-чуть будет отставать в принципе это можно жить с таким небольшим отставанием может быть ты приведешь примеры каких-то архитектурных решений для проектов на ноде возможно на этом самом ну на каких-нибудь фреймворков но до
00:11:10 - 00:12:49
выходкой который часто распространены и какие там были у тебя какой был опыт и какой результат мы бывший чуть-чуть немножечко всех алистеру счету те стивен собственник про который тоже не могу что можно рассказать и хорошо вот носик secures это принцип вот айван сашенька это ну такой как ну это короче и инсульта pro compact pro коммуникатор коммуникационный шаблона шаблон в котором ты обмениваешься данными посредством передачи событий через шину событий ну что она из себя представляет у тебя но точка входа в приложение это может
00:12:06 - 00:13:51
быть просто записи вызов да ну и request как почти типе как часто или у тебя от точкой входа в приложение может быть какой-то контракт вот и когда у тебя используется мы когда ты хочешь сделать приложение таким способом чтобы не важно какое количество из носа псковского к из конкретного приложения запущена вот они могут все работать одинаково но на любом короче в масштабе часто применяется моторчик такой способ масштабирования называется микро сервисами 900 штук не только миг интересно имеется но это как из
00:13:00 - 00:14:30
популярные варианты на куда больше объяснить вот и у тебя есть ну как трудность у тебя есть общая шина событий ты проектируешь сами эти события как контракта до как статора данных вот и эти события самая шли на уже отправляют на обработку микро сервисом который ожидает то чтоб не придется события определенного типа и они уже ну имеет все там все механизм для того чтобы обрабатывать вот сама сама короче шли на события на по структурам данных представляет из себя лог но это просто событий лак операции и
00:13:48 - 00:15:21
не практической работе до его совсем показ мод из специфики того что это вот как операции и стычки того что событие но и такие контракты на ход по факту в точке входа в приложение это во-первых события должны проектироваться как контракты как интерфейс либо вот ну как ну просто контракт нет зачем интерфейс это более шипов вот хорошим хороший очень практике считается если ты свои события mircea неру ишь какой то их описание есть описание то тут же versio нирования да потому что если ты изменяешь события
00:14:34 - 00:16:18
у тебя работа всей системы может поменяться поэтому тебе нужно при изменении контракт писать тоже дополнительные скрипты которые будут подгонять там журнал блок событий в консистентные состояние и и также позволять но делать очень простым образом андрей системы когда ты просто пишешь функцию который преобразовывает старый вариант событий в новое и принципе это можешь очень быстро там число гримлок привести в конце тем cостояние вот и есть ты можешь еще просто небольшое изменение событие добавлять например добавил туда
00:15:28 - 00:17:02
1 поле тогда тебе конечно не обязательно все там пытаться переписать и пытаться там пик перри заполнить по данным и так далее но тебе нужно просто добавить поле его использовать везде и про это знать постучим вот короче зачем вот это все нужно да зачем нужны вот эти вот версии не рование событий логов прочее для то что просто большой проект на этой нити чтобы у тебя и твои ну evolve stage in as a british на данных она у нас лежала себе историю изменения то есть система что ты в случае чего мог по событиям восставливать состоянии
00:16:16 - 00:17:37
это ты вот все это дело не гнешь ли в сторону использование про табов не потом автоматизации ну я понимаю да ну вот в нем же все вот эти вещи знаешь как принято реализовывать а когда люди пишут на java скрипте и ноги они обычно ничего не версии они роют они просто но это что в порто баффи это принято это им только плюс они минус потому что они тебе уже подсказку хороший дают и а хороших практиках вот но вот так просто баф использовать то там где используется герпесе я не видел что вы использовали
00:16:56 - 00:18:15
где-то если люди не используют все это про фарма цивилизации на самом деле мы какую-то похожую штуку в такоме скорее всего будем использовать пока что у нас она конечно не на таком этапе развития и развитости вообще инфраструктура но уже как минимум и versio неру им интерфейсы и описываем интерфейс и метохия приложениях и существами то колер ну в общем да ладненько давай тогда к чему-то другому еще давай поговорим про высоконагруженные системы и системы реального времени вот может быть что-то из этого ты
00:17:41 - 00:19:16
имел дело большой ценитель пара request for second или же лет intense системы имел дело с обстрел to you this way to possess a real-time систему ну который в классическом понимании это когда мы процесс иное время считаем с ними невилл какого то значит научиться кроме обучающим ну может быть я не знаю может быть ты для наших слушателей объяснишь в чем разница почему есть существенная разница между системами приближенными к реальному времени и системами реального времени на производство потому что java script in
00:18:31 - 00:19:54
au джесс разработчики не всегда это дело система края на временно производстве так как производство эта штука очень требовательна к надежности тебе там нужно строго в определенное максимально точное время подать там струю там не знаю там расплавленного металла под определенным давлением определенной температуры тогда из за того что у тебя очень строгие требования у тебя должно должна быть обеспечена я на уровне но на уровне на уровне работы с процессором максимальная надежность и программу как это достигается очень
00:19:16 - 00:20:41
просто у тебя пишу программу ты работаешь непосредственно с процесс ним времени с тактами и ты по сути управляешь полностью за счет того что тебя есть доступ к направлению процессом временем ты полностью но управляешься за счет этого своей работой своей программой вот на самом ее низком уровне ком-то может быть ты можешь почитать так ты грубо говоря это будет там не сильно точно но достаточно точно вот на контроллере можно было что-то выполнить то что называется в реальном режиме времени с точностью там до микросекунд
00:19:59 - 00:21:17
никита плюс очень часто используется подобных сферах ты не стоит machines но машины машины состоянии которые принимают только детерминированные число состояний почему вы не можем писать вот такие вот штуки с технологически управления технологическими процессами в языках со сборщиками мусора таких вот как же вас три java se шарф и нам нужно просто это писать носили на сервере или си плюс плюс подходит раз подходит был опыт каких-то других языков вот низкоуровневых может быть си си плюс плюс 1 но я чуть-чуть писал на расти и чу-щу
00:20:43 - 00:22:18
писал совсем чуть-чуть писалось и пирс из а все еще и писалось и еще плюс такой ознакомления на россия там просто попробовал возможность языка достаточно высокоуровневый язык почему не можем писать вот такие технологические процессы она здесь мы же будем говорить про работу с оперативной памяти потому что это ключевой фактор отличия вообще когда ты пишешь на нескольких языках классический дать ему папуля это си си плюс плюс ты полностью занимаешься управлением памяти ты сдаешься этом скаляры виктора
00:21:31 - 00:23:01
pointer и и сам делаешь себе молоке чтобы ну короче ты ты когда всегда пишет программу ты еще всегда пишу то как она с памятью работы памяти практически тристан ну в общем у тебя всегда помимо задачи решение задачи всегда есть задачи сделать это понятным для компьютера образом чтобы постоянно выделять нужно количество памяти вот там указатели код скалярное значение у виктора и тебе нужно всю эту память потом освобождать очищать тогда но как еще попроще объяснить эту сцену можно [музыка] посетив горбач коллекторами garbage
00:22:21 - 00:24:10
collector а вот как он . в россии реализован механизм владение тебя когда ты убегаешь ты словно функцию то если ты в ней объявил какую-то переменную функцией владеет и за счет этого механизма владения как раз и происходит ну не так компиляции там происходит для добавления того кода который выделил блокирует и но выделяет и удар очищает память то есть по сути мы сводим управление памятью она не ручное то есть не нужно это писать самому но при этом и garbage collection она тоже нету и нам всего лишь хватает собственно того что у
00:23:22 - 00:25:08
нас есть вызовы вход и выход из каких-то лексических контекстов и таким образом мы можем понимать то есть короче один кусок памяти может быть доступен только в одном контексте [музыка] не даже более того ты не можешь обращаться не каким образом нет механизма по которому ты можешь но спешу тебя уже кто-то владеет переменной ты не сможешь ли не как получить не доступа но там есть подпольный способы этого дела то есть небезопасной но их нельзя использовать случайно как вот это очень просто сделать из
00:24:14 - 00:25:37
так давай может быть ещё что-нибудь по поводу работой или но теперь для подключения в моду кода разных других языков но изменение процесса сам не не писала дон и вот я работала уже с готовыми может быть какие-то проблемы ты встречал с ними как там если ну там такие аддоны которые покачивание такие мощные вот они зачастую зависит на всякие там типы vita от и они могут сломаться если ты там одна вешь но да и нет и не посмотришь обновился ли аддон под новый движок на той там пример короче тот пока был
00:24:59 - 00:26:29
который я сейчас как раз досок 3 л т м приложение to give up соки джесс вот это носки стапеля несколько странных и лечиться написали программисты но по сути ешьте теперь только сервер на плюсах и пятен bending на но дух нему и он показывает максимально высокую производительность прямо очень серьезную прошло не там за пошли с оптимизация me и поэтому его часто часто использует либо для экономии трафика к немного либо использовать для приложений где тебе нужно купить инсей сэкономить и не время но и не
00:25:52 - 00:27:23
ресурсы которые у тебя на один там как соки выделенные положи их количество нужно спинами вот наносим и как раз этот аддон на примере его когда он поманил постели версии когда работа 17 ноды в 17 ноги поменяли типы верить поменял типы array баферов вот и они стали более сложными у них изотопа несколько пара появилась вот они не делают resalte все они просто по северу андрича ты поэтому на там короче по факту стебль версия была не самой свежей версии ok какие у нас давай еще подумаем по поводу доступа к базам данных из прикладного
00:26:37 - 00:28:17
кода вот какие есть к этому разные подходы может быть там active record все вот эти вот понятия может быть и какой-то обзор такая что такое я уже не помню это что-то из-за ruby on rails [музыка] когда что-то аналогично так как тоже ты организовываешь слой доступа к данным вот какой у тебя подход и я понимаю что не них не все же все подходы используют и мы все-таки находимся еще какой культурном контексте ноды ну ну мне нравится подход только доктор бен карсон доступа данными но таких же принципам копеек ну короче по похожим по
00:27:32 - 00:29:11
налоги секунду маймон когда у тебя есть отдельно структура данных описанная схема мида твоя модель да вот есть отдельно сервисы которые уже непосредственно вызывают и сельского запросы либо там мангака ирисы либо какой-то перебьют за вспомогательный который упрощает часть задач в работе краски голам рамки допустим а не может их сравнить есть подход он сжег 3 лыж слендер мен нам но нам наша задача это кроме селекционного сдан фродо наша задача это завопить объект который у нас есть коде в relations из цельных ну в
00:28:27 - 00:30:04
терминологической это верил а еще называется ну не таблица и марина еще ну короче завопить объект структуру таблицы завопить короче и так как у нас объект может содержать там и сочный мелисса пирс но должен содержать методы которые позволяют работать как короче позволяет генерировать эскель который будет ли аналогичную логику исполнить ну например кору crud операции подход к вере builder am он отличается тем что он по она просто так обличает туда как который мы например используем гитарке или можно использовать там взяв
00:29:22 - 00:30:48
библиотеку тоже призма подход в котором ты облегчает работу с моделью потому что ты используешь короче модели как только декларативно как описание структуры как оксане relation ну да и у тебя ты ты ним apes ну короче модели то в таком случае не объект который содержит методы как с ним работать вот у тебя есть сервисы которые умеют работать с самой моделью непосредственно как в чем короче div в виде в том что которым подходе ты в коде там допустим и из репозитория достаешь там сущность далее entity и у этой интерес методы для
00:30:13 - 00:31:52
того чтобы если запрос создавать новый ты короче не через точку можешь вот подходите другу ты просто сидишь запрос который ты как бы передаёт информацию о ком relations окей так давай мы еще сделаем какой-то обзор и сравнение систем модульности которые используются в его скрипте ноги и может быть какие-то расскажешь там проблемы с ними или сконцентрируемся на каких-то недостатках и как можно их обойти у разных систем модульности но у нас же скрипте если раскрыть это наш стандарт языка отнести к скрипт модуль модуль и которая
00:31:14 - 00:32:59
синтетическим рынка импорт-экспорт и они но являются стандартом отпускай стандартная штука вроде исторически так сложилось что у нас тогда не было стандартов я не помню были ли модуль стратег поставит кайдо надо только появилась но короче так сложилось что у нас по факту изначально ноги был стандарту - да не было даже модулей но там было реально просто таких стандартов как он же было два три десятка какой-то другой стандарт там вообще не было стандартов и потом уже ну придумали кома джесс чтобы хоть
00:32:13 - 00:33:35
что-то было ну люди придумали а м д коммон джесс и куча всяких штуковин в основном для того чтобы сделать сборку во front-end и чтобы кучу разных модулей упаковать в 1g с файл и заизолировать там кот один от другого у них не было общего контекста и всякая сном это сводилась к тому что люди оборачивали все в efi и просто склеивали и импортировали экспортировали через глобальный контекст эти зависимости но я честно не застал тебя уже застал времена когда были кован же с потом поднялись его сторожку хорошо
00:33:01 - 00:34:28
начинаем с комнат в чем его особенности и команд с ты приближаешь модули с помощью там встроенный глобальный контекст функции рекламе вот и сохраняешь там чем модули которые ты подключаешь покрышек по пути до одну или портом принятому в стандарте идентификатору просто название библиотеки если она из mpm пакета или пути к файлу если это [музыка] погружается модель что это из себя представляет вот реклама он просто один раз исполняет весь код рекурсивный ну все вложенные прорыв там все которые в этой библиотеке есть вот и
00:33:46 - 00:35:20
создает ну короче механист каша и второй раз у нас а мы можем бросить да там есть это и 5 для того чтобы работать скажу никогда не работал . это просто коллекция из которой можно сделать для да ну тебя просто модули там руслан структур данных который там а это все три модуля экспорт они там собираются дерево такое ну ну которые там перекусили друг друге вызывается вот и у тебя есть там на выход то что в файле который ты как точкой входа в модуль объяснил или files как рот и просто подгрузил вот то что у него
00:34:35 - 00:36:10
модуль экспорта у тебя ну при рекламе погружается в оперативку и при этом исполняется весь код который внутри там кроме импорта-экспорта в аква скрипт модулях может там же есть что то такое вещи практически тесьмой экспорт мире kyron синхронный вот поэтому но это покороче по сути из себя предстоят вопрос о votes замыкание которая под капотом делать рид file system file on пока что все ждут нет никакой возможности написать асинхронную загрузку модули через рекавери да да а через импорт-экспорт и а
00:35:32 - 00:37:05
через и импорт-экспорт и и cmyк скриптовые можно потому что импорт-экспорт они как раз-таки погружается из-под колпака пруф к этому то что там существует топливом upgrade ну ты можешь создавать но еще у нас есть динамический импорт который возвращает entre amis да промеж модулем то есть по сути как бы это же у нас на фронте и мы там не можем себе позволить чтобы пока происходит какой-то экспорта все все застыло там рендеринг и там макс ну а кроме итмо скрипт модулей и комнат желез модулей что у нас еще есть
00:36:40 - 00:38:01
из системы модульности таких вот живых которые используются или ты больше ничего не использовал но если мы можем назвать металлическую систему воду не себя как свой удар и вот ну можно сказать что вот еще есть вариант когда ты можешь использовать биотику грэму на джерси и ты можешь создавать контекст и зовут подгружать скрипт и [музыка] исполнять его в этом контексте соответственно по сути чем тебе не системы могут ну да да да она работает благодаря тому что экспортируются в мид архи что из файла
00:37:28 - 00:39:00
металлы импортируется по факту до последних порошенку да то есть мы по сути я хотел сказать функция или объект типа имя потом да ну это реально последний экспресс а после мы можем дописать еще каких-то функций до этого экспресс она и они будут как бы локальными для этого модуля и в результате это самое экспортируется просто последний экспресс так хорошо значит ещё у нас есть ноги такие механизмы я не знаю работал ты с ними не работал я вот не в курсе domain и а sings они взаимозаменяемые на не полностью ну в
00:38:18 - 00:39:43
общем может быть ты что-нибудь про них расскажешь я прям не так давно про них смотрел пройду принцессе в том где зачем они нам вообще даны вот у нас в библиотеке это тест у нас все на дома иных написано это покажут боль с этими domain'ом ники день простоя в мы группируем а ее операции собираем культа группу и ну это короче я проституток типа не особо использовал что с этими заменами вообще потому что написано что дикие так и не довелось ним работать с вот здесь окей тут начиная с шестой версии ноды это вообще он короче
00:39:09 - 00:40:52
уже не знаю там пять лет для брекетов но пока что скажем так мы не можем от него избавиться потому что sings не полностью его заменил весь год воды этими доменами он сожалению напичкан нужны они для того чтоб трекать последовательность ну то что это контекст и а ее операции то есть мы должны понимать что несколько а ее операций происходит внутри одного контекста и нужно каким-то образом трекать эти ресурсы трек от память это и трекать stack trace в общем то нам нужен такой вот последовательности этого вызова и когда
00:40:16 - 00:41:45
какая-то из этих операций в общем неудачно или удачно вы должны из нее вынуть контекст и благодаря тому что у нас есть вот этот tracking мы можем сделать continues in local storage тоже развивается и leasing local storage я не знаю ты наверное с этим не работал сиквел курсор еще знаешь на какой на его нее не использовал я просто мы пока не представляю где можно поменять да я его тоже реально вот не люблю и вообще сама идея мне не нравится но машинерия интересная но сама идея мне не нравится я считаю что контекст
00:41:01 - 00:42:23
исполнения нужно держать совершенно в другом месте и вот это вот оборачивание в такие неявные асинхронные контекст и и потом откуда то значит в общем но это можно сравнить с тем как ло скрипте библиотеки начали зона что нас там условно ну какая-то группу чай асинхронных операций которые идут в базу вынимает об его данный 7 работает они объединены в группу по сути до сути вот там же у нас немного скрипте да да да если мы хотим идти по сделать из них последовательность вызова так как композицию вот то им же нужны
00:41:45 - 00:43:02
данные из предыдущих этапов но которые в предыдущие сезоны операции выполнили вот у нас как раз подобные механизмы они нужны только вот подобные сценарии а то стеклохолста если ты просто такой он покупали general механизм который позволяет и скрипте я же написал без них дано имею что я делаю clarus сейчас люди будет слушать аниш не знает что ты там реализации лоске такой твари скажу что у нас воск и все это только для методов которые ты задал уже бизнес-процессы да но только для тех функций которые бизнес-процессами это
00:42:24 - 00:43:43
отношение posing app store счета божьего слова на любые функции и брать из этого контекста везде где ты на тебе нравится но опять таки это все приводит к обертка всяким починку этих самых асинхронных ресурсов но в общем не это все вся эта машинерия не нравится но пока что как это сделать хорошо мы везде в мид архи используем всякие частные случаи у нас нету общее решение какого-то для этого его его ноги сейчас нет то есть старое решение очевидно плохое domain новое не полностью дописана ну ладно
00:43:04 - 00:44:38
короче это еще вопрос такой на переднем краю надо еще инженере тут труд это же просто вопрос это вещи которые сейчас они более применимы к ну редко применимы при голом коде и часто применимы там не часто конечно они больше имеют свою специфику в системном коде где там нам нужно мониторить ресурсы в основном под это все окей ну давай может быть еще рассмотрим такую штуку как грейс пул shutdown и где это применяется в чём идея грейс shadow такая штука которая была придумана запросто но долго очень долгое время
00:43:57 - 00:45:28
плохо развивалась потому что ну у тебя и как раньше когда есть участь ну происходил которые exception да вот и он не обрабатывался он у тебя в теракте сваливал полностью со приложения и во вторых у тебя не было никакой зачастую информации о том а что собственно ошибка произошла ну просто бани короче я это это за это как раз да и когда я только красну ты зашел за этой много но друга ли люди из других языков из за того что у вас то тут и ну такие базы вещи как нормально там эллинг ошибок не сделал
00:44:43 - 00:46:04
нас коробки вам нужен самим его прикручивать я ходил какой-то вид у тебя ошибка может знаешь как выскочит просто и в стеке ты увидишь что какие-то там таймер и какую-то там внутрянку ноды откуда у тебя из кода это ошибка пришла вообще ничего нету и только я не знаю асинхронные стектрейсы у нас подъехали не знаю наверное где-то в 6 или 8 то может еще и соответственно но и тут еще у тебя есть рыбы на эту проблему еще наложился недостаток ноды когда говорят и так доклад даже есть в таллине ставим же вот
00:45:28 - 00:46:45
хороший доклад по которым из за того что у тебя но до синхронно и ты можешь в одном потоке обслуживать кучу клиентов в случае если с каким-то клиентам что-то пойдет не так и он сравнит can't hold exception у тебя свалится весь процесс и состояния все клиентов испортится эти штуки они как бы между собой пересекаются ну некоторой степени вот потому что ну проблемы с вашего характера это проблемы обработки ошибок изоляции контекстах и соответственно кристалл сюда он это то что внутри уже как раз допиливает каноне чтобы на
00:46:10 - 00:47:32
отлавливал а подобные вещи на критические ошибки которые но который возникает в коде и которые без ранее не предусмотрел там цесис какими-то богами и момент подплывайте к ошибок она исполняет определенную функцию и завершает работу сетку ну то есть там выполнять cute полезу работу которую нужно по блокирует вытяжки отчетность по пишет и завершает работу ну если какая-то ошибка это можно описать потом можно было раз колупать а кстати этот чип который мы прописали мы каким образом потом можем его посмотреть
00:46:53 - 00:48:18
ярая вот так вот обычно не нагрелся до они не делал ну на горшочек не смотрел так чтобы мне не было крафта данных которой оперативки и лежат но если ты делаешь конечно уровне сервер приложений от об этом каша может что-то решать и тебе наверное надо его сбросить на видим натиска как минимум ну да куча всяких завершающих процедур конечно а если что вот обычный вот этот хип который мы можем подписать из но ты так он открывается просто в хроме это можно взять по нему и ну да я хотел сказать да что я обычно канал youtube
00:47:43 - 00:49:05
статьи пели бы там прикручиваете profile флаги вот молдавский либо эти либо прикручиваю там мистер фокс просто делала тип насчет каких-то конкретных местах если нигде такой спасти либо я просто запускаю в режиме баги и смотрю вернуться к там так науки в общем я думаю что мы достаточно поговорили но так как у нас это не просто публично интервью это сертификация это я еще выполню формальные признаки сертификации я отправлю ссылку на этот видос еще нескольким нашим членам сообщества и контрибьютором и в общем они его тоже
00:48:27 - 00:49:53
посмотрят дадут тоже свое заключение и тогда уже мы вместе сделаем какой-то коммент к тебе профиль чтобы там было видно что ты в общем-то созванивался и отвечал собственно может быть мы тебе какую-то даже придумаем штуку которую можно в рамочку под стекло повесить и гордиться и да нет ну я то думал более более жестко ну слушай более жестко кто на такой хороший репетиция на на сертификацию но ощутить то есть моменты за которые меня можно теперь на сертификации вздернут спокойно например просил cookies а
00:49:12 - 00:50:42
значит и еще пересекает перес сертификации не зашёл баги не посмотрел я просто не готовился тоже не буду знать вдоль и поперек на самом деле как бы то что есть как бы какой-то определенный процент знаний по ноги я тебя достаточно много вообще погонял пары + у + мышь microsoft real-time так нормально не поговорили некоторые просто губка мест потому что из разговора чисто на интуитивном уровне но мы же не можем понятно но также стоит full короче выстрел чиж поэтому там же есть у тебя и состоянии которые урне избежать никаким образом и
00:50:00 - 00:51:37
теперь можно управлять и этого у тебя куча вопроса как ты тоске и лишь та ну и пошло-поехало ну конечно у в общем мне кажется что это для того чтобы все наши специалисты могли на интуитивном уровне мы же не говорим про у нас неформальное оценивание правильно интуитивное оценивание чтобы они могли признать в тебе уровень профессионализма этого достаточно вот как я по своему опыту тебе скажу все понятно из разговора мы сделаем такое общее заключение и напишем тебе вред всем спасибо да этот ну и там
00:50:49 - 00:52:30
что ну вот после записи там но сказать там недочет недочет и тут сам назвал достаточно потому что абсолютно очевидно что у ноды очень широкая api и такие вещи там значит как перформанс fucks a sin kooks домены а там сейчас допустим еще свой test runner появился вот ты точно test runner новый не щупал правильно нет . ну 18 версии же конечно там столько всего нового появляется каждый день что естественно каждый человек который пишет на ноги он просто не успевает даже проследить за всеми этими новыми штуками
00:51:40 - 00:53:26
поэтому всегда конечно есть какие-то пробелы ну ты их прекрасно понимаешь насколько я вот чтобы сейчас поговорил и в общем то около концептуально может ложки текстурным архитектурная ну смотри я вижу что ты вполне развиваешься в сторону от программиста к архитектору и руководителю команды поэтому то что ты там стесняешься допустим в общем-то давать какие-то управленческие решения пока что это одно но во всяком случае я уже чувствую вижу в тебе такой вот управленческий потенциал и потенциал того что принимать
00:52:34 - 00:54:07
архитектурные технологические решения ну в общем то это брать ответственность это тоже важная штука и в общем то но мне кажется что это нормально и направлении то есть кто то развивается в сторону значит технологической экспертизы кто-то в сторону экспертизы управленческой но при этом конечно же нужно понимать ну невозможно управлять людьми которые значит что-то пишут на технологии в которой ты ничего не шаришь поэтому нужно достаточно глубоко понимать и мощь все это сделать самому почти так же как и все
00:53:26 - 00:54:55
подчиненные вот мне кажется только на этом только она глубокая технологическая экспертизе может стоять прочно стоять управленческая экспертиза где-то так также ну нормально отношусь к этим соседям 4 хорошими карт дрова и в целом когда-нибудь я доберусь до и за со и посмотрю как он обязательно пройдёт ну из всех этих платформ на самом деле мы можем черпать идеи и перетягивать их и реализовывать в в ноги в java скрипте в нашем технологическом стыке мид архи у меня просто подход такой что но они обременены но лучше чем куница не
00:54:10 - 00:55:41
обременены куча legacy которым нужно поддерживать но и так принципе уже и правое за можно сказать тоже были движок re и наберем на куче всяких всяких штук а горы тянуться годами со скриптом которая я уверен что большинство разработчиков сама движка хотят просто уже сзади крики эти удалить но из-за того что они не могут сломать интернет это конечно все вспоминаем лезет в рот и и то же самое у крупных на этих придурков и других технологиях они также развиваются нормальные туда я и веке для работы с трудностью добавляют и
00:55:07 - 00:56:17
не перенимает лучшие практики по работе со склонностью из но мы тоже записывать и у них есть а у них есть зато уже куча хороших практик по построению там архитектуру модульности по написанное приложение по построению ну там внутрянки приложения как там конкретно же библиотеки проектировать и тогда ну вот все вот эти вот вещи по солиду grasp удаленной архитектуре они вообще на самом деле начали в java script и ноду проникать только может быть там два года назад а до этого все писали как попало да но я
00:55:42 - 00:57:02
вот такой тип но представители сообщества который очень хорошо относится к другим спонсором другими дыркам есть простаивает стоит смотреть и сизо 400 костьми которые только вот твоя это носа своя коробочка и вот оно самое хорошее ну да чем больше у нас кругозора тем лучше мы будем на свои коробочки писать меня к сожалению нет вы столько времени что бог писатель на чем-то но сейчас кроме но ты вообще не хватает на это все время как если бы она была его уже и росла на серьёзный уровень освоил мы просто чтобы знать язык и vacancies
00:56:22 - 00:57:49
есть например то что я конечно со изучил система макросов но это же там тоже используется куча техники мета-протонирование сама вот эта идея но сам механизм как они реализовали работа с памятью это же тоже по сути вид метапрограммирование какой-то степени как минимум это классная идея ладненько тогда в общем донбасс нас простая очень там нужную книги но чтобы как то вот эти все разрозненные техники метапрограммирование оформить уже видать все термин ну книги понимаешь как тут ты присоединяйся лучше к ее написании этом
00:57:05 - 00:58:36
такое тут я конечно по чуть-чуть пишу ну видишь сколько всего приходится параллельно еще делать бог в общем-то да спасибо и до связи пока пока
00:57:56 - 00:58:32