#18 Сеньор в 23? Собеседование Middle Backend разработчика

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

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

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

    00:00:04 - 00:01:51

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

    00:00:59 - 00:02:17

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

    00:01:38 - 00:02:56

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

    00:02:17 - 00:03:25

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

    00:02:51 - 00:04:19

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

    00:03:36 - 00:04:59

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

    00:04:17 - 00:05:45

  • бы land and i can't get a постом потом вас спрашивал я думаю если запрос слишком простое то если соблюдать например лист можно конечно же пакету но на самом деле через прилавок моди можно там более развернуто каких-то фильтрации правильно закидывать поэтому игнорируй арест можно пойти по металлургии герпесе просто вызвать что-то дать команду получить результат я бы смотрел уже строго на вот как какие фильтрации нам нужны то есть если этого tx keep ордер buy то можно еще и через у лопайте но если там уже пойдут каким-то сложный

    00:05:02 - 00:06:30

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

    00:05:47 - 00:07:22

  • качество bad request 403 вроде 401 401 скорее то есть неправильно валидации да если все корректно ну просто они не оказалось данных ну если я был например свои точки возвращая массив то есть не какой-то объект а вот массив то во-первых идется джейсон с пустым массивом фреймворк на сишарпе 201 код сам поставит потому что массив пустой и я трибунал контент данного 10 10 как он тут такой код ну можно руками если хочется 201 created по мама берет весело ты так рейд от даже 200 или три почему например не 404 но типа нету нефига

    00:06:35 - 00:08:20

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

    00:07:26 - 00:09:01

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

    00:08:14 - 00:09:39

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

    00:08:56 - 00:10:20

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

    00:09:38 - 00:10:53

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

    00:10:15 - 00:11:31

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

    00:10:51 - 00:12:13

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

    00:11:34 - 00:12:45

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

    00:12:10 - 00:13:22

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

    00:12:47 - 00:14:00

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

    00:13:26 - 00:14:39

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

    00:14:02 - 00:15:17

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

    00:14:39 - 00:15:57

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

    00:15:19 - 00:16:28

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

    00:15:53 - 00:17:20

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

    00:16:37 - 00:17:52

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

    00:17:15 - 00:18:26

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

    00:17:50 - 00:19:13

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

    00:18:30 - 00:19:50

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

    00:19:11 - 00:20:26

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

    00:19:49 - 00:21:08

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

    00:20:31 - 00:21:53

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

    00:21:11 - 00:22:46

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

    00:22:04 - 00:23:18

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

    00:22:42 - 00:24:01

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

    00:23:22 - 00:24:41

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

    00:24:00 - 00:25:22

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

    00:24:42 - 00:26:00

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

    00:25:20 - 00:26:55

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

    00:26:10 - 00:27:32

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

    00:26:51 - 00:28:15

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

    00:27:34 - 00:28:55

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

    00:28:18 - 00:29:39

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

    00:28:58 - 00:30:24

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

    00:29:41 - 00:31:09

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

    00:30:27 - 00:31:47

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

    00:31:10 - 00:32:29

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

    00:31:51 - 00:33:22

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

    00:32:37 - 00:33:51

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

    00:33:16 - 00:34:53

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

    00:34:06 - 00:35:43

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

    00:34:55 - 00:36:22

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

    00:35:37 - 00:36:56

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

    00:36:18 - 00:37:39

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

    00:36:59 - 00:38:08

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

    00:37:32 - 00:38:49

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

    00:38:11 - 00:39:35

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

    00:38:52 - 00:40:45

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

    00:39:49 - 00:41:11

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

    00:40:30 - 00:42:10

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

    00:41:21 - 00:42:45

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

    00:42:02 - 00:43:39

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

    00:42:51 - 00:43:59

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

    00:43:24 - 00:44:42

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

    00:44:04 - 00:45:12

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

    00:44:38 - 00:46:23

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

    00:45:30 - 00:46:58

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

    00:46:14 - 00:47:42

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

    00:46:58 - 00:48:16

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

    00:47:37 - 00:49:31

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

    00:48:32 - 00:49:54

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

    00:49:15 - 00:50:50

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

    00:50:02 - 00:51:19

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

    00:50:42 - 00:51:51

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

    00:51:16 - 00:52:46

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

    00:52:02 - 00:53:29

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

    00:52:50 - 00:54:26

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

    00:53:42 - 00:55:04

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

    00:54:24 - 00:55:49

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

    00:55:07 - 00:56:17

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

    00:55:41 - 00:57:00

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

    00:56:21 - 00:57:35

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

    00:56:57 - 00:58:23

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

    00:57:41 - 00:59:24

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

    00:58:32 - 00:59:37

  • лабораторное колледжа то есть там стоило бы вызываешь методы или поставив ниц и дальше на функция называется но ничего не зависит и все просто а потом уже натягиваешь на эту базу данных натягиваешь на это там всякие слои applications где-то уже связывают side effect is nice site но с чистым доменным кодом и получается просто а вы просто не пробовал ходить под source то делать кому-то на какое-то долгое время там что-то комитет не у меня там было например участие что я нашел бабу в каком-то проекте

    00:59:04 - 01:00:23

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

    00:59:46 - 01:00:54

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

    01:00:21 - 01:01:30

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

    01:00:55 - 01:02:26

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

    01:01:45 - 01:03:00

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

    01:02:23 - 01:04:07

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

    01:03:17 - 01:04:47

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

    01:04:05 - 01:05:26

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

    01:04:43 - 01:05:39