Подготовка к собеседованию на Java 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 каналы и чаты
Транскрипция видео:
и так всем привет сегодня у нас в гостях игорь игорь раскрывай себе кто откуда какие то ставишь четыре года москвы что касается целей назад сподвиг меня на это в принципе на изучение там брат мой вот и как раз таки перед он показал что касается цели но если тянулся любопытно и интересно стало вот поэтому хочется все таки как то освоить мало-мальски ну и применять хорошо хорошо я немножко бар детально что на текущий момент успел лечить какими источниками пользовался в изучении но что касается изучения
00:00:00 - 00:02:31
источников до начала самого начала до 1 знакомство произошло там кинули какой то видеоролик большой где совсем пальцах объясняет java for что как в чем состоит понятно что одними роликами каким-то информации там многому не научишься при условии того что очень много всего в интернете да и нужно фильтровать вопрос качества соответственно было принято решение с братом на пойти на курсы то есть заниматься непосредственно с преподавателем который будет давать изучил изучать принципе основные вещи которые используются популярно до этого
00:01:16 - 00:02:46
само-реализацию как spring соответственно hibernate безусловно там коллекции досмотрели вот ну базы данных до леску или бонус посмотрели смотрел многопоточность да тоже захватывали принципе наверно так общих чертах чтобы подзабыл всего касались совсем знакомились все старались разобрать ее как бы как это получилось наверно сейчас мы посмотрим хорошо хорошо ну тогда давайте против потихоньку и начинать смотри вот давайте такие простые просто начнет есть такое выражение передавать по значению и по ссылке да вот параметры
00:02:01 - 00:03:38
канала метод отдаем что это такое кирпичи и как же все таки мы передаем параметры в языке java посылки по значению да но это понял как сказать своими словами да не туда по ссылке да ну то есть мы ссылаемся да на какой-то объект получается если мы говорим по ссылке да а по значению это уже непосредственно не так понимаю по значению объект снова ну не поспоришь да а в чем в чем получится разница в этом случае то есть как все таки мы передаем вот когда пишем код как мы передаем эти параметры в методы и такое поведение я ожидаю
00:02:49 - 00:04:22
передаем норды наверно скорее не знаю правильно сформулировать ну хорошо давать на более дали карту быстрый заём нам нужно вот давай тогда перейдём к более стандартном вопросу к методам класса обжиг ну во первых что это такое имена классов и какие его методы ты знаешь ну класс общества это понимаем прародитель стекла соответственно что касается ментов то там ту string и код и именно по точности что касается самих методов внутри у нас в принципе да и представление объекта склону на складе объекта ну как сказать
00:03:42 - 00:05:30
не вид и наверное по умолчанию определенный у нас поверхность на копирование проводят и уже со вложенными объектами эклз и хэш-код соответственно у нас в принципе тут сказано всем случайное число при определенных хэш-код это уже формируется на основе объект что касается сравнение тоже перри определенные объекты . ну это у нас так скажу поток засыпаем в соответственно [музыка] давай пока более дальние углубимся какой-то метод вот давай например вот и сравнил не 3 класса хэш-код давайте рассмотрим есть у меня класс person
00:04:52 - 00:07:13
класса персона есть поле string name и все больше ничего нет теперь непонятно конструктора геттер и сеттер и я пишу person t1 равно new person и передаю имя коль а потом пишу person p2 равно new person передаю имя коля то есть моем понимании как человека это галя то есть одинаковые персоны вопрос следующим если я сейчас попробую сравнить два этих объекта через равно равно я получу true или false и почему если я помню правильно что там через равно равно мы стринги несравнимо вроде как вот если мы говорим про
00:06:04 - 00:07:32
true или false краски и идет стрим пули речь string and только одно из полей объекта классно хорошо хорошо мы когда мы говорим о используем оператор неутомимость взаимного обед и даже несмотря на значения объекта у нас были одинаковые но объекты будут раз потому что создавали как бы под это дело определяем соответственно давай так вот я почитал документацию там написали что сравнение объектов нужно выполнить размера тыкву лс опишу опять-таки person t1 равно гиперсна колья person к 2 равно new person холли и пишу p1 .
00:06:48 - 00:08:33
apple sp2 получаем falls почему ну потому что мы при создании мы отделяя но выделяем отдельную область памяти да и даже не смотря на то что у нас как я сказал что он значение поля ну используя оператор не каждый раз вот если вы такой может быть что ссылаться мы можем на on a bus память стрим понимает тогда в данном случае можно говорить что это одинаково объекта даже несмотря то что них значение запутался поправь меня почему а ты при таране объектов уходишь кастрюльку интересен острове имена объектов посмотрел я скорее всего здесь
00:07:40 - 00:10:11
просто создаем каждый раз новый поэтому не может быть одинаково хорошо внутри давай так устал то есть вот я разработчик там пишут ну там начинаете разработчик нужно сделать такой значок срани два объекта person p1 по имени то есть вот я теперь сначала я попробую сравнить через равно равно hills потом прочитал что нужно сравнить через николас объекты потому что уме то угля пестик вас получила пять фолз и не могу понять почему происходит так почему я получение фолз не труа фолз и как не исправит чтобы сравнение было корректным
00:09:01 - 00:10:23
в этом случае чтобы быстро то я думаю что можно просто проинициализировать то есть наверное string там t1 равно там поля и string и создаем я хочу сравнить два объекта пришли два объекты не у меня бизнес логика такая что имя является уникальным идентификатором на этом видео вы видите путает string давай так у меня есть и н.н. вот этот налоговый номер это будет да пусть интеджер вот у меня есть теперь person p1 rovinj и person один два три четыре и пирсинг двора и не перст один два три четыре вот я сейчас
00:09:38 - 00:11:05
все равно сделал p1 . eagle sp2 получил falls почему это так и как мне сделать так чтобы у меня при сравнении двух персон of если у них одинаковые гиены это одно и то же лицо я думаю наверное вот как раз таки не использует шкоты и галсы как я использую то есть что не сделал я не код класса он голый вот допустим public class a person открылся скобочки там правят интеджер . , геттер и сеттер эту string все больше ничего нет и теперь я их сравню через apple получая фолз почему так как по умолчанию работает методы и
00:10:35 - 00:12:25
классы хэш-код что они возвращают что сравнивают у нас по умолчанию всем случайно часов до перри определенный соответственно он же castrol именно сравнивает объекты так как я хочу добиться из поля которым необходимо и класс соответственно по умолчанию при определенной он уже по полям хорошо супер что теперь мне необходимо сделать в рамках моего класса person для того чтобы все работало корректно как не необходимо что при сравнении персов я учитывал individuals сравнение переплет момент супер хорошо смотри а
00:11:30 - 00:13:16
почему почему происходит так что мы обычно переопределяем метод эклз хэш-код в паре почему если ну не стоит и делать это по отдельности карта между ними есть контракт контракт в том что если у нас хэш-код может быть разный но допустим то соответственно это объект вот раз сто процентов но если одинаковый волнует еще не гарантия того что это объект вот одинаковые условия является стопроцентно верными прикрепите комбинации после схода ну соответственно если мы получили одинаковый хэш-код как раз таки мы используем сразу метод и
00:12:28 - 00:13:58
чтобы понять уже сравниваем по полям понимаем что по полям что это уже раз не только немножко по-другому 3 то есть утверждение которое истины всегда но для нормальной je manque не багнутый смысл говорить о том что если два объекта при сравнении прикол свернули true to any обязан иметь одинаковый хэш-код то есть все остальное она просто выводится сюда хорошо согласен смотри то есть отсюда мы немножко затронули такую тему как об и переопределение методов к какому принципу об и относятся переопределение методов и что этот
00:13:15 - 00:14:30
принцип гласит означает в более широком приближу отдалении то есть более высокой ст и молодежи ним сока высота но что касается принципа мне так видится что мне кажется переопределение методов имеет отношения к паркет это когда мы своими словами полиморфизм когда мы можем одну задачу решить несколько мест ос соответственно переопределяем метод допустим наследником может принципе добавить туда какой-то like a что мне как разработчику повседневной жизни дает принцип полиморфизма гибкость что если мы можем
00:13:53 - 00:15:41
решить пример взять если например допустим вместе корректно роли полиморфизма то есть если мы говорим что нам нужно найти допустим уникальное число в алгоритме то мы можем разного рода вещать на способами это сделать то есть мы можем воспользоваться коллекция мы можем поспорить со стримами и мы можем просто там через цикл for я работал хорошо на хороший пример на самом деле супер давай тогда поди немного дальше вот если мы уже закрыли так более детально про а.п. и какие преимущества дает это все не мог
00:14:46 - 00:16:09
бы ты рассказать что такое solid solid но это четыре принципа в принципе да который нужно четыре принципа основных которые соблюдаются при разработки произвести единственной ответственность я точно помню интерфейсов то есть плюс принцип ничего не изменяем только смотрим я не совсем понимала решать каких-то логик готов случае какой-то ошибки вообще вот что касается мы должны реализовывать один последний реализовать создали еще один давайте давай поговорим про принцип допустим на букву де то есть вот что там
00:15:28 - 00:18:24
dependency чего у нас там идет эта инверсия что такое вроде нет их о чем-то принцип что он гласит дай бог память ибо но точно помню что для изменения должен быть закрыт а для расширение открыли ниокр и к изменению хорошо хорошо давай немножко дальше пойдем смотри вот есть такое понятие как и мутабельные классы и мутабельные объекты не могут и пожалуйста более детально рассказать или охарактеризовать имеют а был объекты что это такое зачем мне нам нужны в целом но и мобильные объекты я не изменяется и если мы говорим
00:17:31 - 00:20:30
допустим допустим класс string класс далее файл класс будет и мутабельным объект или класс ринге бывает наоборот объекты мутабельные 3 класс хорошо прогреться к чему это все зачем мне в реальной жизни мог понадобится мы табельный объекта то есть чем они хороши что они как говорят их используют ну наверное как сказать логически рассуждать берем какой-то вектор еf в течение всей работы не будет изменяться соответственно нам уже не нужно будет возвращаться в начале да там какой был соответственно моего ног
00:19:01 - 00:22:07
создали вам неизменяемые просто по надобности вы всегда берем своим примитивным своими словами кармапа как она устроена что это как она устроена но у нас она немножко находится отдельно от наших коллекций до стороне чуток если можно выразиться наш объект entry у нас есть пара ключ-значение вот соответственно зная размерность массива мы находим наш элемент нужны как в mapper можно положить на один раз соответственно и все ключи api уникальное соответственно если попадает ключ повторяемый то он просто
00:20:43 - 00:22:26
перетирается ну и естественно это ассоциативный массив вот хорошо хорошо давай просто чтобы не терять ни следующим вопросом вот если в качестве ключа в шляпе будет выступать mouth обильный объект чем это может нам поэтому грозить ну наверное мне представляется да логически то есть в качестве участи будет изменяемый объект там и погрозить наверно будет проблем с поиском по ключу соответственно если он будет постоянно меняться то есть сколько лет у нас есть массив допустим она там имеет определенное умолчанию размерность
00:21:34 - 00:23:14
и слишком 16 и например неправильно понял то есть если у нас получается массив увеличивается соответственно по хэш-кода мы уже совсем другой получим то есть нежели чем был там раньше до 16 опять же в формулу не вспомню болотам деление остаток как раз таки отделение это и есть наш очень немного по-другому . хэшкод остаток по модули вот от skoda хорошо рассмотреть то есть отлично ты правильно говоришь что если мы будем иметь в качестве ключа but обильный объект который меняется поможет поднять объект а теперь только первом просто
00:22:23 - 00:23:48
если это так передаем ли мы объекты по ссылке или по значению в наши методы ну чтобы не потерять наш объект думаю что передаем по значению до чтобы понимать постоянно какое значение не тот объект назначению хорошо какая тогда проблема вот потери объекта ты смотри мы же от сравним то есть если меня примеру будет в качестве ключа к это класс персон в чем проблема то есть передала по значению что то есть я храню именно в качестве ключа значений или что ключи ты у нас должно быть уникальное соответственно мы не можем в качестве
00:23:06 - 00:24:37
ключа использовать торса потому что он вы просто перетирать нам перс эти соответственно по значению передавать снова наверно как мне представляется логически опять же правильно можем просто нужно найти дать через хорошо понял давайте пойдем дальше смотри вот тысячи помимо такими ты вот как там way to define типа l давно ну в классе облик смотри когда я создаю объект какой-то имя завоеванием метод white скажи в этом случае что или кто является монитором для данного объекта то есть что здесь чувствует но это
00:23:53 - 00:25:39
монитором знаменитый пример с одной не знаменитого очень распространенная со мне кажется мы понятно начинающим да как работает метод то есть у нас есть производитель есть магазин и покупать и соответственно при условии того что допустим производитель приводит какую-то продукцию магазин и условие должно что в магазине должно быть больше трех и если это условие наступает то как раз таки срабатывает метод уэйд и в тот момент начинает работать другой поток это покупать но не может выбрать допустимо товаров больше трех есть друга
00:24:43 - 00:26:00
выбирает то это танцы поит и просыпается потока производитель что касается монитора сегодня буквально вид определения монитор это своего рода он не знаю про лето из него исходит потоки то есть я в определении не вспомнил что выступает монитором 3 мониторов моем понимании поворотник следа не так то есть где мы видим вот объект допустим активный ли не кенты смогли получить доступ к нему или нет блин вот сложно момент я забыл просто в голове монитор слова она все время сбивала то реально значит можно пройти то
00:25:26 - 00:27:17
неправильно сказал нет я боюсь ошибиться потому что точно не вспомню и не хочу выдавать хорошо бывает по группам пойдем смотри вот у нас помимо вот таких стандартных метров до которые в классе обжиг есть там набор классов синхронизаторов вот давайте для примера класс рим трант лак да у нас есть обычный вот когда приходит поток и хочет получить доступ к ресурсу который защищен данным рен трант лаком что является монитором в этом случае я сталкивался хорошо хорошо давайте дальше работали со стримами прямой 5 ну да
00:26:21 - 00:28:01
сталкивался в принципе что могу работу то есть позволяет нам в принципе работать с данными да как использовать какие-то пиратством есть терминальные из промежуточные соответственно сметану сортировка или такое более интересно просится попробовать нестандартный смотри вот у меня есть ряд функций ных интерфейсов ряд метров вот прямо передо там ип радиуса и так далее скажи пожалуйста с каким функционален трофей сам мы взаимодействуем при использовании метода map при использовании у нас превращает получается поток наши данные да то есть
00:27:10 - 00:28:52
что касается какой функциональный интерфейс там у нас в принципе что консилиум заканчивать потребляет просто ради вот мы на самом деле все не терминальные методы они как бы возвращают поток nature bisse а что конкретно делает метод map ну он соответственно как на чтобы на бытовом примере допустим он из допустим допустим из автобуса до мог бы сработал пример в моем понимании из автобуса превращает в поток ну допустим хорошо то есть он преобразует данные из входного формата в выходной формат который мне необходим
00:28:05 - 00:29:39
есть это возможно хорошо то есть какой выдавать такие функции интерфейсы ты знаешь из коробки в целом функции бинарные критики знаю что еще какие вот из названного что далеко не уходите из названных что модного подойти для вот работы с методами мне кажется функционер ну да да математически то есть функция это преобразование два вида в другой супер нарочно согласен согласен давай тогда еще наверно еще пара пустяков по коре смотри вот что такое связка trike ведь файл или для чего я могу использовать ну
00:28:55 - 00:30:40
блок троевич я сталкивался с этим блоком строке чем это когда нас просят определить этот блок ну вообще в принципе для исключения сталкивался с этим когда проверяем на кручение исключения у нас под не скомпилировать как раз-таки тот блок то есть и скинулись на базу данных например кого-то еще мало в базе данных этого нет и он скажет что давай сделать сначала исключение друг этого нет ну это как бы насколько я понимаю блок finally он в принципе не всегда отрабатывает дай если выбрасывается исключения мы так ранит это так то
00:29:46 - 00:31:39
допустим ситуация вот допустим месяц доктора и там идет к такой ход работы с файлами в hatch ярославлю допустим file not found exception-ы тыкве что если допустим я словил file not found exception в блоке catch the block фонари мы не дойдем правильно мне кажется представляется исходя из высоты моего опыта что наверное нет смысла в чем тогда отличие будет вот эта конструкция от обычно тратят мы могли тогда писатель на вход просто сразу по 2 блока у меня с вами тяжело я знаю что есть families иисус такие вещи есть по моему
00:30:49 - 00:32:21
файл или вообще не отрабатывай но исключением боюсь ошибаться на эту тему я я понял какая штука нам дан try not close у которого есть буквально ну там en tvel то есть значение нашей есть ссылка на левой налево потомка и направо потомка есть класс 3 тест или три танской которой содержится и метод a public boolean из 73 задача которого определить что является ли эти два дерева которые переданы одинаково то есть почему я передаю на так присмотри допустим я сейчас передал дерево вот такого вида допустим 10 9 а тут допустим 12 уже
00:31:35 - 00:32:59
передал дерево 10 912 то есть уходя вот и мы передаем и первый нод просто как бы родительская родительский узел и дальше мы сравниваем для меня два дерева одинаково потому что они как бы на уровне то есть все элементы попарное сравнение дают ни один труп даты значения например от метод вот такой где много здесь будет например у да он будет фонд потому что некорректно работает и вот в таком ключе нам необходимо реализовать метод который будет сравнивать два таких но да и скажет не равны 2 дерева или не равны
00:32:22 - 00:33:46
все вопросы и президенты но то есть получается сравнение наверное так вот чтобы прям воспроизвести метод да прям и написать я наверное смогу принцип если говорить на словах то есть мы получается ну то есть мы получим мы должны сравнить два дерева правильно понимаем два дерева должны сравнить соответственно сравнения начнется но с головы десятки получается вот соответственно как там 30 лет это наш левого дерево ну соответственно какой принцип да то есть если мы видом вопрос каштанова когда то есть если мы сравниваем
00:33:01 - 00:35:09
допустим 30 лет там интервала равно 10 с райтом да и соответственно если они там равны этом там возвращается значение до если неровным тоном выбрасывать -1 то есть принцип такой наверное да можно построить если я правильно понимаю смотри вопрос вот и грыж -1 а к чему мне в начале все -1 если например сравнение объектов вывернула фолз то я могу сказать что наши боли надо проверку и вернуть да да если у нас при есть у нас это равно ты мог зачем труд если не равно то возвращаем фолз но это наверное ну вот честно не хватит мне еще
00:34:09 - 00:35:57
наука чтобы самому руками написать знатного фильм стыда про не сдавались смотри то есть ты говоришь что мне необходимо для каждого узла для каждого узла выполнить сравнение значений да то есть если они не равны дайте значение то тогда мы возвращаем false я тоже не равны мы идем дальше на то есть и отмоем до конца дерево внутри есть два подхода есть немножко больше новые основные то есть итеративный и рекурсивных до подход такой подход могли выбрать для данного конкретного случая то есть рекурсивный либо итеративный ну
00:35:09 - 00:36:26
я тонкости мне кажется через через условии их да если то есть циклом for наверное мы пробегаемся задаем дополнительно условия и в соответственно где мы говорим что есть у нас равно товару либо просто либо выбрасывает грунт хорошо давай так вот и гриши тратим на от доколе мы будем двигаться и проверять ты гришь for что будет вторым терминальным условием для my для блока фар ист игорь что мы хотим оперативно пройтись но да нам нужно ну как бы нам нужно понять вообще размер допустим не требует элемент больше он
00:35:46 - 00:37:41
сколько будет нам искать так вот что касается ну она в условиях мы задаем что не больше трех да там соответственно а почему 3 пути подожди у меня допустим может быть как мы сможем это узнать на самом деле даже нет такого простого способа но есть на самом деле это не так просто понять размер дерева да то есть как мы еще подруга можно построить но как мы можем это по-другому ну хорошо хорошо я понял давайте немножко по-другому сделаем то есть ты играешься с базами данных доработал чтобы практической части
00:36:44 - 00:38:22
пропустить давай рассмотрим такую ситуацию то есть убрали то есть алгарве создать я потом тебе скину что почитать чтоб тебе было проще именно с этим а пока давай мы с тобой рассмотрим такую ситуацию представим что у меня есть таблица таблица под названием и прибыл к 100 мерс в которой есть к примеру но это будет какой-то и be mine автоинкремент автоинкремент и давай не будет email это будет varchar весит 6 нот нал и будет с примеру у меня еще city проворчал 100 элементов ног на то есть который греть из какого города человек и
00:37:41 - 00:39:23
в не пошли запись там миллион записывать меня миллион клиентов и хорошей компании вопрос следующим я хочу узнать в каком городе у меня есть более тысячи клиентов то есть допустим запустит иметь такой вид есть там а and mail точка ком 1 запись допустим и потом я идет воронеж до боли у меня запись кого b и mail.com и будет там new york парте записи и вот я хочу понять в каком городе допустим запись воронеж может повториться сто раз 200 раз 300 до той смысл понять с.б. поэтому если вы раньше попадается больше
00:38:34 - 00:40:14
там тысячи раз в моей таблице я хочу вернуть именно вот этот город не магниты реализовать эскель запрос который может не это сделать можно попробовать конечно соответственно мы нам нужно таблица далее мы выбираем эту таблицу select from только просто а чего мы будем сынок то есть звездочка поле что мы хотим играть но поскольку нам нужна город правильно же да только select сити то есть выбираем поля city from каста мир и условия одинаковы и даже нам нужно где понять же где больше всего мне нужны все я хочу
00:39:25 - 00:41:29
получить все города которые у меня повторяется больше тысячи раз goes to more соответственно а где в таблицу касавир где то есть мы хотим сделать с тобой какие-то подсчета то есть куда агрегацию к таки хорошо хорошо к он допустим какие агрегат связке с каунтом у что обычно используем развивая что мы все можно использовать кроме вот в функции ты знаешь много ищет что сменил максимум средние супер хорошо а в связке с чем обычных используем с каким ключевым словам как бы скорее его знаю просто что такую
00:40:51 - 00:43:03
группировка мы как раз таки будем группировать по то есть опыт из поля поранишь к он подчиняется да да да можем если мы хотим тогда не пустим на тогда как будет запрос выглядит и салатики франко саммерс почему бы нет ни в грубой наверно хорошо грубой сети получается а условия как не задать условие бровки как адские условия через его это понимаю да почему как мы взываем услуга при работе скрыть его слова грубой развивая шо делает ключевое слово having to это как раз таки она используется в паре с группой отлично пишем пишем
00:42:04 - 00:44:41
что он дает дополнительные условия то есть днк вот какой у нас будет условия этом случае больше тысячи да там рассказали как мы это пропишем гриднев квиллинг ну какие вот ты хочешь почитать какой агрегируется функциям не подсчитывают отлично hain kaun' что новинка und в скобочках пиши теперь сити до сети меня не любой город нет новый любой город который больше тысячи раз повторяется если воронеж я бы прописал через два я допустим пардон допустим это примерно выглядело бы допустим это мы оставим на по полкам про он больше 1000
00:43:22 - 00:46:16
до например если нас какое число идет и поехали то есть у меня получается здесь select city from a costume грубой city хоян аккаунта больше 1000 хорошо хорошо смотри то есть гибрид отработала то есть опыт с кибер на этом давай с тобою такую штуку разберем смотри вот к примеру у меня есть это же сам от глазка stomer да у меня есть который есть и допустим у него есть ордер есть классы ордер который у каждой свои таблицы пакостными своя таблица ордеров и своя таблица есть два клоссовски ордер и у костра из коллекции
00:44:54 - 00:46:16
ордеров то есть это правило tlist ордер or does he я пишу теперь вот когда матриц настраиваю точно будет avant умение и пишу хоть type blaze что это такое зачем я использую плейдо что он делает это делается это можно сказать нам особенно начинающих программистов это работает как линию ученик когда попросишь выучить тогда он только учит поэтому это ленивый инициализация доставит объектом его вопросе вот что хорошо давайте рассмотрим вот допустим у меня есть просто мерсу которого армеро ленивы а теперь я хочу этих эти ордера получить
00:45:36 - 00:47:25
как мне это сделать допустил слой репозиторий скота репозиторий рядового классный важно который работает с базой данных а чуть при вытащить кастами раз его ордерами ну совсем то есть не совсем понял то есть нам не что нужно что прим то есть как мы это делать да там ну через get метод имеет цель что ну давай хорошо давай я хочу найти кастом рапу email то есть и при получении каст европа email я хочу еще подтянуть вместе с данными пока сам его ордера который я пока сделал ленивыми рассмотрим давай у нас есть конкретный
00:46:31 - 00:47:48
стаса бага вот есть допустим у тебя метод который использовать гель там пишет from каста мир твц . email равен там такой топорам есть такая штука супер и ты получишь свой указ . попытавшись обратиться к его ордером получил какую-то там мая ошибку что там section девайса шиндо 1000 бла бла бла ну не работает и спала малостью как тебе сделать так чтобы эту ошибку исправить и получить его ордера служить я знаю сходу не приду прядь и ну давай попробую свой стран затем если мы говорили про обычной square здесь нет кибер на это просто не
00:47:16 - 00:48:58
хватает теперь у меня я хочу получить каста мира и все его ордера какой механизм языке и спирт и использовать для этих целей если хотим получить кассового ордера внутри то есть в базе данных мне как был был был бы было бы тоже сама таблица кастамере с которым мы сейчас описывали отлично да join date is допустим лавджоя использовал супер и как теперь от перенести вот sql join на модели как это сделать хороший вопрос этим дизайн в языке и как это будет выглядеть не скажу хорошо нашему как сделать у джунгли пиквери но
00:48:08 - 00:50:02
мы там яда псевдонимами дамы а зачем седане на и осуществляем выборку что касается джонов где-то мы говорим допустим кругу и касмир там . там айди равно ордер ну да это стандартного допустили сильные покинут идентичны то есть и а как получить теперь вот . еле михеева ордера если мне ленивые я можно пасти знаю но формулировка не смогу так сказать нечистых если навести может быть нам уже наводить там я произнес не смогу как-то не назвав навестим в том что есть такая штука вот допустим был там самом сердце лице .
00:49:16 - 00:51:16
ордер хорошо работал ли ты сын интернете когда мы как раз таки пишем запросы у нас несколько запросов пишем сталкивался опять же такой какой в чем смысл их использование зачем они нужны насколько я помню как раз таки мы как раз говорим какой и сливной нативный другой не с помощью свод учиться еще есть критерия наверное для насколько я помню критерии только получать что-то никакие изменения на себя просто выборка наверно я понял хорошо хорошо да смотри вот есть мне spring да на работу с трудом уверен
00:50:14 - 00:52:16
расскажи пожалуйста вот у меня есть такая штука кабин постпроцессор что это такое сначала мне нужно q работу он выполняет но сколько фатальной памяти до то есть бен вас процесса это как раз-таки тот метод который тем как положить некотором смысле расширяет расширить сам наш то есть вот как раз таки после того но это вот в моменте лишь мы получили дар прочитал получился иметь данные после чего вам как раскатаем наш бен секторе наших где мы будем изготовлен ошмяны и вот перед тем как положить на шее
00:51:33 - 00:53:36
собаки хорошо хорошо сталкивался ли ты с циклическим зависимости бинов с циклическими зависимостями bengi так сразу не скажу наверное скорее нет чем да нет потому что хорошо хорошо смотри вот что такое sculpey бинов никакие скупые тебе известны точно знаю что в спине пятом изменились они добавили что-то убрал что добавилось 4 катает и ищешь хорошо хорошо давай так глобально spring это from our который работает что делает в целом ну глобальное совсем говорит объекты ранее это своего рода как я понял вообще
00:52:39 - 00:55:14
контейнер в котором слоями накладываются на зависимость зависимость от логики и наклоном и позволяет наше предложение создавать хорошо более глобальный вопрос что такое ольхи иди ой вот если мы говорим conti gonna do и сидя это как раз таки и версия контроля и внедрения зависимостей принцип механизм работать но опять же если так я совсем примитивно скажу то есть внедрять зависимости уже spring знает за нас что нам нужно что что нужно взять ещё нужно поработать хорошо буквально углубляется в этот же вопрос о
00:53:59 - 00:55:52
продолжении что отличает обычный под заказ админа в принципе объект вставляем наши классы из и не прямо сейчас позже то есть позже объект вот play all java объект то быть что отличает обычный объекту бина отличием обычно который допустил пирсинг праве new person и допустим person сервис который является компонентом моего ос пинга вопросом в логике может быть о том что сервисе так сразу скажу так у меня есть класс к вот допустим есть интерфейс person сервис и допустим person сервис им паладин который примете в интерфейсе
00:54:58 - 00:56:41
над ним стоит аннотация сервис есть по миру меня вот класс person сервис apple 2 который им комментирует person сальность но при этом на демонтаж сервис нет в чем отличие это как раз таки отличие в том что надо ним стоит она другом нет соответственно получается spring где не стоит он не будет знать [музыка] какой жизненный цикл ребенок стринги ну жизненный цикл бина то есть инициализация классов наши методы init соответственно после того как работал уничтожается вызвал нет дестрой правильно там аннотациями тасс контракт
00:55:56 - 00:57:39
и перестройка позировал поместили в контейнер отработали хорошо хорошо скажи просто с какими стрельцами сборки ты работал там grail другой griddle мейлан нокс movano опять же это громко сказано который позволяет нам собрать весь наш проект собираем делаем фактически сборщик кто помогает нам собрать наш проект как я понимаю рабочее приложение то есть машина в так ваш то что является результатом сборки проекта во что она собирает как то есть он нам насобирать уже в рабочие приложения таком виде то
00:57:00 - 00:58:56
есть что я хочу получить конкретно какой файл редкие вещи то есть с чем работа пустим создаем веб-приложения которая должна подняться как-то вот где-то крутится вот веб-серверу ну или что то есть что и в результата сборки проекта готов работать хорошо а потом мы можем просто принципе нет какие то просто может у тебя появились могу ответить сразу не скажет нет вроде достаточно все казалось бы что я видел сталкивался но как кнопку да ты запала и нужно освежить например сильно расстроился что не сказал про solid хотя понимал что это да
00:58:13 - 01:00:15
не неприятность утомила тут же цель стоит как раз дают пробелы то есть чтобы могли ты ведь я потом те написал что-то на что тебе посмотреть почитать ты мог их закрыть чтобы как бы не знание было ни на не на совете я здесь это нормально переживать спорта тренировка обычно спасибо сказать полезный ресурс все все видео все которые все сам пересмотрел и ноги комментария читал списыванием вопросов с разборы с поиска в интернете самостоятельно читаешь что правильный подход что не нужно говорить ответ на
00:59:33 - 01:01:03
вопрос что человек можно найти у сам этого как бы больше expense так сказать вот ну очень познавательно опять же то есть видео опубликую фидбэк тебе лично и материал игроки с рекомендациями под видео и буду все хорошо будет вопросы и поэт момента жалую предложения пиши обращайте так удачи и дерзай читают все
01:00:17 - 01:01:24