Техническое интервью Java Developer - Артем Таужнянский

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

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

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

    00:00:02 - 00:01:10

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

    00:00:36 - 00:01:41

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

    00:01:08 - 00:02:11

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

    00:01:39 - 00:03:13

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

    00:02:26 - 00:03:47

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

    00:03:10 - 00:04:57

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

    00:04:04 - 00:05:30

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

    00:04:47 - 00:05:55

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

    00:05:20 - 00:06:51

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

    00:06:06 - 00:07:34

  • вот такие ничего себе ну да мне знакома эта программа но виду не раз детская томительно очень много затрагивается ну вот так вот где ты помимо джавы чувствуют себя уверенно ну то есть python печь пи си плюс плюс ну все через это нам никак с проход в любом с этим надо где-то реально чувствуешь себя уверенно что скажем так если сегодня себе джалла дает завтра ты пойдешь и легко найдёшь работу джином web америке до сих sharp он очень похож на джаву только с больших букв все ну и другие freemarker с is pinned

    00:06:52 - 00:08:16

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

    00:07:33 - 00:09:18

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

    00:08:33 - 00:09:51

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

    00:09:12 - 00:10:32

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

    00:09:52 - 00:11:04

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

    00:10:28 - 00:11:51

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

    00:11:10 - 00:12:33

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

    00:11:52 - 00:13:47

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

    00:12:54 - 00:14:21

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

    00:13:37 - 00:14:58

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

    00:14:19 - 00:15:37

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

    00:15:07 - 00:16:20

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

    00:15:44 - 00:16:58

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

    00:16:21 - 00:17:43

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

    00:17:02 - 00:18:39

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

    00:17:54 - 00:19:26

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

    00:18:40 - 00:20:03

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

    00:19:22 - 00:20:46

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

    00:20:05 - 00:21:33

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

    00:20:50 - 00:22:07

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

    00:21:28 - 00:23:03

  • непосредственно целый класс который так и называется обжиг он же класс обжиг да не путаемся понятием класс и отдельно с понятием объекта вот расскажи пожалуйста что такое класс объекта и какие основные методы в нем ты знаешь ну все объекты наследуется не явно от него какие методы у него есть методы связаны с многопоточность you want натянуть файл есть и квас хэш-код клон есть fine life по-моему все еще in this ring the street ok ok а скажи чем различия между методами файна царя не войну между метками файнал айс и

    00:22:19 - 00:23:55

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

    00:23:09 - 00:24:43

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

    00:23:56 - 00:25:07

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

    00:24:32 - 00:26:06

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

    00:25:18 - 00:26:52

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

    00:26:08 - 00:27:40

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

    00:26:56 - 00:28:19

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

    00:27:38 - 00:28:58

  • the exception англо бабло другие а вот именно концептуальные ranking на каких ножках куриных и порой куриных стоит вся иерархия которую мы используем каждый у нас есть roll-a-ball самый верхний класс дальше есть два пленника exception-ы ррр связано с ошибками виртуальной машины accept он уже с нашими ошибками в ходе тоже делятся там runtime exception-ы вот путь exception-ы the big screen exception и различные но самое главное что есть чек и анчик исключение и вот runtime наши исключение exception-ы

    00:28:18 - 00:29:53

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

    00:29:04 - 00:30:39

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

    00:29:56 - 00:31:32

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

    00:30:48 - 00:32:05

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

    00:31:26 - 00:32:49

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

    00:32:08 - 00:33:26

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

    00:32:46 - 00:34:09

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

    00:33:28 - 00:34:54

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

    00:34:16 - 00:35:33

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

    00:34:55 - 00:36:33

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

    00:35:44 - 00:37:13

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

    00:36:29 - 00:38:04

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

    00:37:18 - 00:38:33

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

    00:37:57 - 00:39:34

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

    00:38:51 - 00:40:04

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

    00:39:27 - 00:40:51

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

    00:40:09 - 00:41:22

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

    00:40:48 - 00:42:04

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

    00:41:26 - 00:42:51

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

    00:42:08 - 00:43:36

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

    00:42:58 - 00:44:33

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

    00:43:53 - 00:45:11

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

    00:44:31 - 00:46:05

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

    00:45:20 - 00:46:30

  • xp делает с джи би би си тимплей там ведь джонни би си джей он тоже придется sql exception-ы как и о и spring ушел от этого именно тем способом который ты предложил вор но ты сказал что input stream и они автокласс был а что нам это дает то что он мы должны обязательно закрыть использовать либо трой с ресурсом либо самому писать финале класс ну это надо еще и и проглатывать различные там ошибки но ведь ты scale of the clone болоту меня sociales автоколонны вот что она автоматически закрывается то есть но

    00:45:55 - 00:47:31

  • если ты сказал что все-таки самому то есть сделать так ли это правильно летописца как бы ну и можно использовать то есть ресурсами и тогда он сам за минует а можно не сможет и интерфейс который ребят и там метод клаус да да правильно можно использовать тот самый какой-нибудь объект с конструкцией про его из resources но если этот объект не реализует интерфейс auto club я не знаю может там есть какие-то ограничения по морю и сет не туда мужчин надолго vigenere как мы можем написать t extends на самом деле обязательное требование

    00:46:42 - 00:48:20

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

    00:47:40 - 00:48:55

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

    00:48:17 - 00:49:48

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

    00:49:03 - 00:50:27

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

    00:49:46 - 00:51:19

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

    00:50:35 - 00:51:49

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

    00:51:14 - 00:52:30

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

    00:51:52 - 00:53:14

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

    00:52:33 - 00:53:50

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

    00:53:11 - 00:54:34

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

    00:53:55 - 00:54:57

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

    00:54:26 - 00:55:54

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

    00:55:10 - 00:56:25

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

    00:55:50 - 00:57:21

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

    00:56:39 - 00:58:04

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

    00:57:20 - 00:58:53

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

    00:58:08 - 00:59:38

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

    00:58:53 - 01:00:15

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

    00:59:34 - 01:00:48

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

    01:00:11 - 01:01:38

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

    01:00:57 - 01:02:16

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

    01:01:36 - 01:03:10

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

    01:02:23 - 01:04:02

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

    01:03:13 - 01:04:28

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

    01:03:50 - 01:05:22

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

    01:04:35 - 01:06:21

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

    01:05:28 - 01:06:51

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

    01:06:10 - 01:07:32

  • почему так плохо байт массе у нас есть делать его ключом для кошмар ключом байт мотив до воду от у нас есть кошмар мы знаем что есть кэш map структура ключ-значение ключ это generique значения человек значит нам же подложить объект массив это тоже объекта и вот у меня вот реально их и шмап у которого ключ от massive attack of a значения стриме вот чё не так наоборот должно быть было использовать ключи и ньюта был так как измени и этого ключа мужем можем не достать наше значение 0 и хорошо но лучше использовать им youtube но

    01:06:52 - 01:08:29

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

    01:07:40 - 01:09:02

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

    01:08:21 - 01:09:51

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

    01:09:06 - 01:10:57

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

    01:10:06 - 01:11:35

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

    01:10:58 - 01:12:45

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

    01:11:53 - 01:13:15

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

    01:12:35 - 01:13:40

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

    01:13:08 - 01:14:43

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

    01:13:54 - 01:15:21

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

    01:14:39 - 01:15:56

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

    01:15:17 - 01:16:54

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

    01:16:08 - 01:17:19

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

    01:16:43 - 01:18:31

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

    01:17:43 - 01:19:06

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

    01:18:25 - 01:19:47

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

    01:19:15 - 01:20:34

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

    01:19:58 - 01:21:22

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

    01:20:39 - 01:22:22

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

    01:21:31 - 01:23:06

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

    01:22:18 - 01:23:39

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

    01:22:59 - 01:24:39

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

    01:23:51 - 01:25:37

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

    01:24:45 - 01:26:04

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

    01:25:25 - 01:26:38

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

    01:26:02 - 01:27:16

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

    01:26:46 - 01:28:02

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

    01:27:23 - 01:28:50

  • key for enkei ну достаточно на самом деле достаточно а скажи прайма реки понятно взял это первичный ключ нужен для определения значение которое будет идентифицировать определенную запись а вот прайма реки можно ли вы назвать с основным контентом то есть он состоит и у других компаний ну да он еще служит для связи он uniq not all in or и и и яндекс да окей здорово этот возвращаюсь к словом индекс история ты говоришь что ты работал с моя сказал из postgres я знаю что когда мы работаем с primary key мы добавляем ему такую интересную

    01:28:07 - 01:29:36

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

    01:28:55 - 01:30:20

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

    01:29:40 - 01:31:10

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

    01:30:26 - 01:31:43

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

    01:31:04 - 01:32:37

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

    01:31:50 - 01:33:17

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

    01:32:37 - 01:34:16

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

    01:33:27 - 01:34:48

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

    01:34:10 - 01:35:38

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

    01:34:56 - 01:36:21

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

    01:35:37 - 01:37:06

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

    01:36:21 - 01:37:43

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

    01:37:06 - 01:38:30

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

    01:37:48 - 01:39:22

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

    01:38:35 - 01:40:09

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

    01:39:22 - 01:41:18

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

    01:40:25 - 01:41:49

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

    01:41:11 - 01:42:35

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

    01:41:53 - 01:43:39

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

    01:42:45 - 01:44:10

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

    01:43:29 - 01:44:46

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

    01:44:08 - 01:45:38

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

    01:44:58 - 01:46:23

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

    01:45:41 - 01:47:12

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

    01:46:26 - 01:47:50

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

    01:47:12 - 01:48:30

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

    01:47:51 - 01:49:23

  • hibernate а мы уже хотел мы взяли из базы данных родительской и с этим туда дочерней да да и пытаемся обновить ради и пытаемся обновить родительские во время обновления говорит в transcend состоянии chi man и тогда мы можем вызвать flash это изменение пойдут в базу и тогда нас попадет и у нас быть доступ к вечернему на самом деле не все проще то есть первый вариант мы вполне работоспособный на самом деле stack overflow прямо першит этим всем действительности мы можем сначала добавить persistent контекст добавить

    01:48:36 - 01:50:11

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

    01:49:24 - 01:50:37

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

    01:50:01 - 01:51:14

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

    01:50:37 - 01:52:09

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

    01:51:26 - 01:53:09

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

    01:52:17 - 01:53:58

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

    01:53:10 - 01:54:43

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

    01:54:00 - 01:55:26

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

    01:54:42 - 01:56:08

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

    01:55:26 - 01:57:01

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

    01:56:15 - 01:57:30

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

    01:56:53 - 01:58:24

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

    01:57:39 - 01:59:03

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

    01:58:20 - 02:00:03

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

    01:59:15 - 02:00:30

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

    01:59:54 - 02:01:45

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

    02:00:55 - 02:02:37

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

    02:01:48 - 02:03:32

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

    02:02:42 - 02:04:13

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

    02:03:28 - 02:04:49

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

    02:04:09 - 02:05:33

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

    02:04:53 - 02:06:19

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

    02:05:37 - 02:06:48

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

    02:06:12 - 02:07:21

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

    02:06:47 - 02:08:06

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

    02:07:29 - 02:08:35

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

    02:08:02 - 02:09:19

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

    02:08:40 - 02:09:47

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

    02:09:15 - 02:10:17

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

    02:09:46 - 02:10:50

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

    02:10:18 - 02:11:11