Красава, Влад, я сразу очень уместно применил его на своем проекте. Был сервис, который при создании сущности делал 3 доп. действия. Прошу продолжать рассказывать нам про подобные фишки
Браво! Как у тебя не заканчиваются идеи для видео? Git, docker, kafka, микросервисы - все, на мой взгляд, очень понятно и не совсем для зеленых. Сейчас еще и паттерны подъехали. А самое клевое то, что почти все это не привязано к языку. Мне вот, как с++ разработчику, очень приятно. Спасибо!
А что ещё можно разобрать? Помимо всего вышеперечисленного? Что ещё существует такое, не привязанное к языку, но желательное к ознакомлению каждым программистом?
@@RaptorT1V agile, system design, алгоритмы и структуры данных, те же паттерны, гит, докер, но глубже. Так еще многопоточное программирование, grpc, rest, websocket. Это то, что за 2 минуты в голову пришло
@@ozimandias1858 а почему именно все про Agile говорят, а не про Waterfall или RAD или Incremental and Iterative model? Это же из области программной инженерии, я правильно понимаю? Методологии разработки. Что за структуры данных? Что за алгоритмы? Какие-то конкретные, типа Дейкстры или Хаффмана? Какие именно паттерны? Что за многопоточное программирование (асинхронное, что ли?) и GRPC, REST, Websocket? И можно, пожалуйста, ещё примеров? Себе хочу записать, чтобы изучить.
@@RaptorT1V если честно, звучит как троллинг ;-) Для меня agile, потому что большинство компаний по этой методологии работают. А вообще да, можно со многими ознакомиться, понять, в чем разница и т.п. Структуры данных, как и алгоритмы - все с литкода чисто для собеседований. Паттерны - стратегия, билдер, фабрика, абстрактный метод, например. Остальное гуглится.
паттерн классный, но лучше уже сразу рассказать про архитетурное решение EDA - event driven development, но уже есть видео про кафку, где это подробро рассказано. Кстати eda и в монолите работает отлично.
События играют мегаклассно в Event driven архитектуре) там ты паблишера и консумеров можешь разносить аж в разные микросервисы) Событие кладется в брокера сообщений, и далее его получают все, кто подписан на данное событие. ВААААУУУУУ
Так то да, классно! Вот только проблема есть, если у нас шина для сообщений нормально не сделана, то сиди и пытайся понять - кому что улетело и почему там что-то выстрелило. Сложность нельзя просто замести под коврик, ее можно перенести в другое место, но это, скорее всего, вызовет накладные расходы. Так что в реальной реальности все немного сложнее.
Ложка дегтя :) При использовании паттерна наблюдатель помните, что вы лишь скрываете связи между объектами, а не устраняете их. То, что ранее присутствовало в коде, теперь должно хранится в вашей голове или, что нечасто, в документации.
Не знаю говорил ли ты или нет, но можешь рассказать про свои первые задачи на первой работе, или может расскажешь какие задачи дают совсем новичкам (не стажерам, а работягам) в вашей конторе.
Если не сложно, хорошо бы еще сразу давать English-вариант всех названий ( а то иногда сомневаешься в переводе- то ли имелся в виду observer, то ли listener ).
Я совсем не спец, но тоже подумал что зря он не объяснил этот момент. По логике, наблюдатель должен подписаться на события, т.е. в публикаторе нужен метод, который добавит наблюдателя в лист.
@@KhodorisfulТ.е. все наблюдатели у нас бины и они при инициализации листа прыгают в лист ?? Ну тогда это надо в конструкторе класса конкретно прописать каждое добавление экземплярами класса?? Да ещё и тип загрузки прописать как @lazy у каждого компонента ?? А то машина насоздает бинов и запутается в них (((
@@dimaskusidze подключите rx и не мучайтесь и генерацией 100500 классов ради 2+2. В ООП самое плохое что может быть это наследование и создание классов ради создания классов. Этот код их 100 тыс классов ни кто не сможет ни читать и не понимать. В rx есть и observer и map и filter и управление потоками. Причем это все работает ОДИНАКОГО на всех языках. В том же rxjs все тоже самое. Обсервер создается знаком доллара и это очень легко писать и понимать БЕЗ единого класса
Влад, спасибо огромное тебе за твой труд! Хотелось бы узнать, как и можно ли вообще устроиться на работу программистом в Европу если не было карьерного опыта? Буду благодарен за ответ
Спасибо за видео, Влад! Как обычно с радостью посмотрел. Если я правильно понимаю, следуя принципам solid, ты как раз будешь придерживаться паттерна наблюдатель?
Добрый день, меня интересует один вопрос на каком устройстве или операционной системе проще работать, виндовс или иос макбук или какой-нибудь Леонова йога 9 вопрос не в деньгах, а в удобстве может совместимости программ, хочется начать заниматься программированием?
Смотря на чем программировать. Если нет прямой необходимости в винде (как в .net и т.п.), то ни в коем случае ее не использовать. Макбук хорош (качество железа на высоте, все эргономично и удобно), на линухе во всех остальных случаях
А вообще, можно создать такой класс наблюдатель, который имеет метод запуска, который на вход получает, не только объект события, но тип события. И после этого можно вообще в основной клас не заходить, а просто добавлять модули :) Прилижение с подгружаемыми модулями :)
Я вот сейчас тоже подумал, что в этом примере не рационально, что продюсер отправляет событие всем наблюдателям в списке.. Лучше отправить одно событие в некий сортировщик который сам решит по типу события что с ним делать и какому наблюдателю отправить.
@@PavelNebo на один и тот же тип события может быть куча разных получателей, каждый из которых обрабатывает его по своему. Эта концепция например широко используется в кафке - на один и тот же топик может быть создано куча консьюмер групп, обрабатывающие одни и те же события по своему, независимо друг от друга.
@@TimLaizaR228 ну я это и описал. Отдельный клас который занимается распределением событий по нужным получателям, а продюсер отправляет одно событие в этот класс
Привет. Спасибо за информацию. Но думаю, что у тебя неточность в схеме про публикатор. Он же записывает информацию в БД, а не отправляет ее напрямую слушателям, слушатели подписываются на события, т.е. делают запросы к базе. Это так?
на самом деле самый популярный паттерн - это стратегия, где-то даже исследование было) и ты как раз его реализовал на самом деле обсервер должен подписываться, на обсерваблы, которые генерируют нотификации, у тебя же прямая передача в потребителя не может фича сама по себе подписаться на сохранение поста, ты в классе сохранения сам добавляешь фичу
По GOF, subject хранит в себе наблюдателей и уведомляет их при наступлении события (метода Notify) с передачей этого события, также в самом наблюдателе может хранится ссылка на наблюдаемый объект (subject), чтобы тот при уведомлении сам мог запрашивать необходимую информацию. Посмотрите книжку там все понятно описано
Привет, отдельного курса по Spring у нас нет, работа с этим фреймворком является частью программы интенсивного обучения - Java Буткемпа, где за 4 месяца ты изучаешь все ключевые инструменты и технологии, которые необходимы разработчику, чтобы получить работу! А также 3 октября в 19:00 по мск состоится вебинар - лекция “Основы Spring для начинающих Java Junior”, где разберем основы его работы, заходи по ссылке в шапке профиля!
"Отдельными компонентами программы являются классы и объекты"? Vlad, ты уверен что хорошо сформулировал свою мысль? Класс - это design-time (если речь не идет про static class - там есть ньюансы), а объект - это run-time.
В начале (5:20) вы указали, что выполняемые действия могут зависеть друг от друга. Но до конца видео так и не указали на решение этой проблемы. Как раз наоборот - Наблюдатели ничего не знают (не должны знать) о других наблюдателях, ровно как и порядок "наблюдения" никак не регламентируется. Также в видео не указано, как организовать "подписку" на событие. Вы утверждаете, что мы исходный класс не правим. Но это не совсем верно - мы же должны добавить нового Наблюдателя в нашу коллекцию наблюдателей.
@АлексейСытник-э9т если что-то происходит автоматически - это все равно происходит. Я к тому, что изменение в исходный класс (регистратор) все равно нужно вносить. Не важно, вручную или автоматически
Полезная фитча такого паттерна - отмена события.. Если один из наблюдателей проверив условия не одобрил дальнейшие действия с данным обьектом - все остальные будут в курсе и так же пропустят мимо обработки.
Непонятно для других языков. Будет ли считаться "наблюдателем" если класс или микросервис создает посты, другой микросервис или класс мониторит появление новых постов в БД и шлет уведомления и т.д.?
Если телеграммом не пользуюсь, то зарегистрироваться не получится? Печально. Вообще мне нужно не сайт сделать, а сервер для Unity приложения (хранение данных по игрокам, регистрация всяких операций типа купил/продал/сделал) соответственно база данных и какой-то апи для взаимодействия из Unity.
Skillfactory отличная школа для изучения базы в программировании, я училась на графического дизайнера с нуля, до этого была экономистом и работаю по новой специальности, хочу пойти на бэкендера опять же в скиллфэктори тк опыт работы с ребятами разработчиками во время обучения мне был комфортен
Могу тоже сказать про sf, потому что они очень хорошие дают материал, и даже если нет никакого опыта помогут, объяснят и направят в нужном направлении изучения и закрепления материала))
Добрый день, меня интересует один вопрос на каком устройстве или операционной системе проще работать, виндовс или иос макбук или какой-нибудь Леонова йога 9 вопрос не в деньгах, а в удобстве может совместимости программ, хочется начать заниматься программированием?
@@Stalker-b7m главное не macos, Линукс лучше всего, а если с ним не дружите, лучше винда на неё много что можно поставить, на крайняк можно через виртуалку запустить Линукс для единичных случаев
Но ведь теперь каждый класс наблюдатель будет получать событие, которое может быть не для него и фильтровать его уже внутри себя. Получается некоторый оверхед производительности
если он меняет сам пост, а не просто реагирует на него, то это не обсервер :) Это происходит на этапе создания и сохранения поста, то есть до того как мы создаем событие
Я конечно не 7, а всего лишь 6 лет в индустрии. Но меня ни разу ни на одном собеседовании не спрашивали про этот паттерн. Хотя собеседуюсь довольно часто. Пару раз было такое, что меня спрашивали о том, какие паттерны я знаю и просили рассказать про парочку. Обычно первыми на ум приходили: стратегия, фабрика, синглтон.
Я прошел только за год 10 собеседований и ни на одном не спросили про паттерн этот. Звучит очень клик-бейтно и плюс еще не очень удачный пример и не совсем правильное и очевидное приминение этого паттерна и особенно в заданном контексте сиутации. Очень рад, что умеете снимать контент и продвигать его, но пригласите, пожалуйста экспертов еще для проверки сценариев. Потому что подача красивая и быстрая, но суть некачественная. А ведь было бы полезно иногда обновлять свои знания какие-то таким образом.
Этот ролик наглядно демонстрирует отсталость Java от C#. В С# весь этот "паттерн" реализован на уровне самого языка (Events) и доступен разработчикам в готовом виде (да еще и с кучей дополнительных фишек) сразу "из коробки". В Java же нужно писать все самому ручками, со всеми погрешностями и дальнейшей дополнительной поддержкой.
Разработчик из Амстердама , скажи хватит ли у тебя оперативки на все объекты в твоей «Мега крутой соц сети»? Если бы ты рассказывал это в контексте SOLID принципов, то в целом ок. Но ты суешь это в идее где у тебя будет много событий , а значит у тебя рано или поздно оперативка кончится и привет memoryExeption
Запишет сообщение в брокер сообщений который доставит его получателям на каком угодно количестве серверов. Да и это очень уж нужно постараться чтобы забить память просто инициализацией обьектов)
Отлично! Давай продолжать разбирать паттерны в таком же формате!
Круто 👍 Спасибо тебе, Влад, за контент. И всё таки, выпуск про Redis ждём)
Супер! 70% ролика - объясняет саму суть для опытного флаттерфовщика!
Красава, Влад, я сразу очень уместно применил его на своем проекте. Был сервис, который при создании сущности делал 3 доп. действия. Прошу продолжать рассказывать нам про подобные фишки
Браво! Как у тебя не заканчиваются идеи для видео? Git, docker, kafka, микросервисы - все, на мой взгляд, очень понятно и не совсем для зеленых. Сейчас еще и паттерны подъехали. А самое клевое то, что почти все это не привязано к языку. Мне вот, как с++ разработчику, очень приятно. Спасибо!
А что ещё можно разобрать? Помимо всего вышеперечисленного?
Что ещё существует такое, не привязанное к языку, но желательное к ознакомлению каждым программистом?
@@RaptorT1V agile, system design, алгоритмы и структуры данных, те же паттерны, гит, докер, но глубже. Так еще многопоточное программирование, grpc, rest, websocket. Это то, что за 2 минуты в голову пришло
@@ozimandias1858 а почему именно все про Agile говорят, а не про Waterfall или RAD или Incremental and Iterative model? Это же из области программной инженерии, я правильно понимаю? Методологии разработки.
Что за структуры данных?
Что за алгоритмы? Какие-то конкретные, типа Дейкстры или Хаффмана?
Какие именно паттерны?
Что за многопоточное программирование (асинхронное, что ли?) и GRPC, REST, Websocket?
И можно, пожалуйста, ещё примеров? Себе хочу записать, чтобы изучить.
@@RaptorT1V если честно, звучит как троллинг ;-)
Для меня agile, потому что большинство компаний по этой методологии работают. А вообще да, можно со многими ознакомиться, понять, в чем разница и т.п.
Структуры данных, как и алгоритмы - все с литкода чисто для собеседований.
Паттерны - стратегия, билдер, фабрика, абстрактный метод, например.
Остальное гуглится.
Супер объяснение! И графика оболденная!!! Спасибо за видео большое!
Жду других патернов!!! Можно было бы целый плей лист! Еще раз спасибо!
А будут видео именно про объяснение разных паттернов? Было бы круто))
Я тоже хочу больше такого контента!
Например GRASP, SOLID
Я об порождающих, структурных и поведенческих)
@@kvaselaпро solid есть видео. Всё четко на примерах разобрано.
@@kvasela SOLID это принципы, а не паттерны.
Отличное видео! Всё понятно. Поймал себя на мысли, что никогда так захватывающе не смог бы объяснять паттерны программирования😁
Не хватило только о том как эти обсерверы перечислять и передавать в класс. А так все классно и наглядно рассказано 👍
Бомба! Реально увлекательно! Спасибо за видос!
Я наконец понял, как называлось то, что часто применял в своих проектах, но не знал, что у этого есть отдельное название)
Можно где то ваши проекты скачать или посмотреть в интернете?😂
@@alexgavril385 ты что это секретные пет проекты под NDA
@@alexgavril385 можно
паттерн классный, но лучше уже сразу рассказать про архитетурное решение EDA - event driven development, но уже есть видео про кафку, где это подробро рассказано. Кстати eda и в монолите работает отлично.
я почему-то сначала думал, что он говорит про синглтон, я думал, что именно он самый популярный паттерн
Чаще всего это самый популярный антипаттерн)
самый нерекомендуемый))
Да, самый полуполярный среди тех, кто второй раз слышит слово "паттерн"
Нужно бооольше таких разборов разных паттернов))
супер объяснение! запишите еще такие же видео про другие паттерны, пожалуйста
Очень доступным языком объяснил. Круто!🔥
Один из моих любимых шаблонов - часто его использую. Еще есть стратегия, тоже круто паттерн
События играют мегаклассно в Event driven архитектуре) там ты паблишера и консумеров можешь разносить аж в разные микросервисы)
Событие кладется в брокера сообщений, и далее его получают все, кто подписан на данное событие. ВААААУУУУУ
Так то да, классно! Вот только проблема есть, если у нас шина для сообщений нормально не сделана, то сиди и пытайся понять - кому что улетело и почему там что-то выстрелило. Сложность нельзя просто замести под коврик, ее можно перенести в другое место, но это, скорее всего, вызовет накладные расходы. Так что в реальной реальности все немного сложнее.
Понравилось! Рассказывай еще про паттерны)
Огонь! Очень полезное и понятное видео, спасибо!
Второй вариант паблишить через ивенты спринга и вешать листенеры в каждой новой фиче. Но этот вариант более понятен для восприятия
Ложка дегтя :) При использовании паттерна наблюдатель помните, что вы лишь скрываете связи между объектами, а не устраняете их. То, что ранее присутствовало в коде, теперь должно хранится в вашей голове или, что нечасто, в документации.
Не знаю говорил ли ты или нет, но можешь рассказать про свои первые задачи на первой работе, или может расскажешь какие задачи дают совсем новичкам (не стажерам, а работягам) в вашей конторе.
Объяснение и анимации топ. Очень хочется видео и про другие паттерны)
Классно было бы еще рассказать об системном и бизнес аналике,их работу,основы,принципы,от лица бэкэнд разраба
ваще, крутой видос
Влад, спасибо! Хорошее объяснение. Даже я понял:)
Круто. На самом деле прикольно будет узнать это на практисе. Жаль что я не Java, но и на шарпе интересно)
Одно и тоже
Уж шарпист-то java, и наоборот, может читать как никто другой.
Я чуть чаем не подавился когда в конце таки сказал что ты шарпист :D ахах, тролль 80го уровня
суть паттернов и причины применений везде одинаковые, будь то шапы, джава, пыха, питон...
Если не сложно, хорошо бы еще сразу давать English-вариант всех названий ( а то иногда сомневаешься в переводе- то ли имелся в виду observer, то ли listener ).
Влад, спасибо за объяснение! Ты крутой 🔥
Классно!
Спасибо , интересный урок . Возможно ты сделаешь еще видео про другие паттерны
прекрасный ролик - ставлю класс!)
Мишустин Влад, ты молодец, отлично сделал
Подскажите пожалуйста , а как наблюдатели дружно запрыгивают в list класса PostSaver?? Им же надо там откуда-то взяться ...
Я совсем не спец, но тоже подумал что зря он не объяснил этот момент. По логике, наблюдатель должен подписаться на события, т.е. в публикаторе нужен метод, который добавит наблюдателя в лист.
либо при инициализации приложения всех обсерверов цепляешь, либо можно это динамически через метод класса добавлять-убирать
DI контейнер. Реализация паттерна Inversion of control
@@KhodorisfulТ.е. все наблюдатели у нас бины и они при инициализации листа прыгают в лист ?? Ну тогда это надо в конструкторе класса конкретно прописать каждое добавление экземплярами класса?? Да ещё и тип загрузки прописать как @lazy у каждого компонента ?? А то машина насоздает бинов и запутается в них (((
@@dimaskusidze подключите rx и не мучайтесь и генерацией 100500 классов ради 2+2. В ООП самое плохое что может быть это наследование и создание классов ради создания классов. Этот код их 100 тыс классов ни кто не сможет ни читать и не понимать. В rx есть и observer и map и filter и управление потоками. Причем это все работает ОДИНАКОГО на всех языках. В том же rxjs все тоже самое. Обсервер создается знаком доллара и это очень легко писать и понимать БЕЗ единого класса
Подача отличная. Если бы смотрел такое впервые, то зашло бы.
Влад, спасибо огромное тебе за твой труд!
Хотелось бы узнать, как и можно ли вообще устроиться на работу программистом в Европу если не было карьерного опыта?
Буду благодарен за ответ
Годнота, практически никогда не ставлю лайк и не подписуюсь, а тут парень просто заслужил! Уважение и благодарность!
Смотрю уже второе видео, Влад, я поражен на сколько сценарий ролика читает мои возникающие вопросы)
Спасибо за видео. Хотя с первого раза не совсем понял. Но у меня и с ООП не оч хорошо, т.к. пока не требуется нигде - всё на процедурном...
Владик, ты топчик! спасибо!
Спасибо за видео, Влад!
Как обычно с радостью посмотрел.
Если я правильно понимаю, следуя принципам solid, ты как раз будешь придерживаться паттерна наблюдатель?
Очень круто) но как нам после создания нового наблюдателя добавить его в лист наблюдателей PostSaver?
Если речь о Spring, то есть такое понятие как "Внедрение зависимостей". Spring сам создаст список всех наблюдателей.
ага, этот момент не расскрыт
+ За паттерны, у тебя хорошо получается)
Добрый день, меня интересует один вопрос на каком устройстве или операционной системе проще работать, виндовс или иос макбук или какой-нибудь Леонова йога 9 вопрос не в деньгах, а в удобстве может совместимости программ, хочется начать заниматься программированием?
Смотря на чем программировать. Если нет прямой необходимости в винде (как в .net и т.п.), то ни в коем случае ее не использовать. Макбук хорош (качество железа на высоте, все эргономично и удобно), на линухе во всех остальных случаях
@@b33blebroxа чем винда плоха?
четко расскзал, про паттерн "посетитель" (visitor) расскажи так же
Аж кайфанул от подачи...) -> List(Действие). Лайк extends Действие. Подписка extends Действие. Уведомления extends Действие. =)))
Сурер понятно и полезно!
А вообще, можно создать такой класс наблюдатель, который имеет метод запуска, который на вход получает, не только объект события, но тип события.
И после этого можно вообще в основной клас не заходить, а просто добавлять модули :)
Прилижение с подгружаемыми модулями :)
Я вот сейчас тоже подумал, что в этом примере не рационально, что продюсер отправляет событие всем наблюдателям в списке.. Лучше отправить одно событие в некий сортировщик который сам решит по типу события что с ним делать и какому наблюдателю отправить.
@@PavelNebo на один и тот же тип события может быть куча разных получателей, каждый из которых обрабатывает его по своему. Эта концепция например широко используется в кафке - на один и тот же топик может быть создано куча консьюмер групп, обрабатывающие одни и те же события по своему, независимо друг от друга.
@@TimLaizaR228 ну я это и описал. Отдельный клас который занимается распределением событий по нужным получателям, а продюсер отправляет одно событие в этот класс
@@PavelNebo вы придумали кафку и систему очередей в целом))
чувак, инфа огонь, мерси!
Привет. Спасибо за информацию. Но думаю, что у тебя неточность в схеме про публикатор. Он же записывает информацию в БД, а не отправляет ее напрямую слушателям, слушатели подписываются на события, т.е. делают запросы к базе. Это так?
на самом деле самый популярный паттерн - это стратегия, где-то даже исследование было) и ты как раз его реализовал на самом деле
обсервер должен подписываться, на обсерваблы, которые генерируют нотификации, у тебя же прямая передача в потребителя
не может фича сама по себе подписаться на сохранение поста, ты в классе сохранения сам добавляешь фичу
По GOF, subject хранит в себе наблюдателей и уведомляет их при наступлении события (метода Notify) с передачей этого события, также в самом наблюдателе может хранится ссылка на наблюдаемый объект (subject), чтобы тот при уведомлении сам мог запрашивать необходимую информацию. Посмотрите книжку там все понятно описано
Влад, привет! Лекцию можно будет посмотреть в записи? Только сегодня увидел твоё видео, а лекция была вчера 😢
Привет, 3 октября проводим повтор, залетай по ссылке в описании, успеешь!
@@fakng-engineer отлично, спасибо!
Классное видео, спасибо
Zdravstvuyte. Skolko stoit kurs Spring ?
Привет, отдельного курса по Spring у нас нет, работа с этим фреймворком является частью программы интенсивного обучения - Java Буткемпа, где за 4 месяца ты изучаешь все ключевые инструменты и технологии, которые необходимы разработчику, чтобы получить работу!
А также 3 октября в 19:00 по мск состоится вебинар - лекция “Основы Spring для начинающих Java Junior”, где разберем основы его работы, заходи по ссылке в шапке профиля!
Теперь понял почему старое железо тормозит. Из за сотен наблюдателей.
топ видео! а как ты делаешь такие крутые анимации ?
Дело говорит)
круто!!! спасибо!!!
Спасибо!
"Отдельными компонентами программы являются классы и объекты"? Vlad, ты уверен что хорошо сформулировал свою мысль? Класс - это design-time (если речь не идет про static class - там есть ньюансы), а объект - это run-time.
В начале (5:20) вы указали, что выполняемые действия могут зависеть друг от друга. Но до конца видео так и не указали на решение этой проблемы. Как раз наоборот - Наблюдатели ничего не знают (не должны знать) о других наблюдателях, ровно как и порядок "наблюдения" никак не регламентируется.
Также в видео не указано, как организовать "подписку" на событие. Вы утверждаете, что мы исходный класс не правим. Но это не совсем верно - мы же должны добавить нового Наблюдателя в нашу коллекцию наблюдателей.
Если работать через авинжект спринга например, то это произойдёт автоматически
@АлексейСытник-э9т если что-то происходит автоматически - это все равно происходит. Я к тому, что изменение в исходный класс (регистратор) все равно нужно вносить. Не важно, вручную или автоматически
Полезная фитча такого паттерна - отмена события..
Если один из наблюдателей проверив условия не одобрил дальнейшие действия с данным обьектом - все остальные будут в курсе и так же пропустят мимо обработки.
БЕСПЛАТНЫЙ ВЕБ “Основы Spring для начинающих Java Junior” 24.09.24 в 19:00 по МСК! Регистрируйтесь по ссылке: www.faang.school/vebinar-spring?
Я знаю где не спросят о нем - на разработчика с использованием библиотеки Qt, ведь она основывается на нем
Непонятно для других языков. Будет ли считаться "наблюдателем" если класс или микросервис создает посты, другой микросервис или класс мониторит появление новых постов в БД и шлет уведомления и т.д.?
Если телеграммом не пользуюсь, то зарегистрироваться не получится? Печально.
Вообще мне нужно не сайт сделать, а сервер для Unity приложения (хранение данных по игрокам, регистрация всяких операций типа купил/продал/сделал) соответственно база данных и какой-то апи для взаимодействия из Unity.
Зарегистрироваться получится, в телеграме общение и всякие приятные бонусы, но все необходимые ссылки дублируются на почту
Привет, запиши пожалуйста видео как работать с очередями
Добрый день, Вы не подскажите курсы программирования для самых нулей?
Skillfactory отличная школа для изучения базы в программировании, я училась на графического дизайнера с нуля, до этого была экономистом и работаю по новой специальности, хочу пойти на бэкендера опять же в скиллфэктори тк опыт работы с ребятами разработчиками во время обучения мне был комфортен
Могу тоже сказать про sf, потому что они очень хорошие дают материал, и даже если нет никакого опыта помогут, объяснят и направят в нужном направлении изучения и закрепления материала))
Добрый день, меня интересует один вопрос на каком устройстве или операционной системе проще работать, виндовс или иос макбук или какой-нибудь Леонова йога 9 вопрос не в деньгах, а в удобстве может совместимости программ, хочется начать заниматься программированием?
@@Stalker-b7m главное не macos, Линукс лучше всего, а если с ним не дружите, лучше винда на неё много что можно поставить, на крайняк можно через виртуалку запустить Линукс для единичных случаев
Патерны-матерны это хорошо.
Но было бы в 💯 раз полезно, если бы вы сделали хотя бы 5 приложений с объяснением🎉
А то на одной "воде" далеко не уедешь ❤
Сохранять пост стоило бы тоже по евенту, и выдавать другое событие
Но ведь теперь каждый класс наблюдатель будет получать событие, которое может быть не для него и фильтровать его уже внутри себя. Получается некоторый оверхед производительности
класс постов нарушает srp из solid
Почему вы указали на 5:54 минуте последовательность: Событие + Публикатор + Наблюдатель ?
Это ошибка или я что-то упустила?
Но ведь наблюдатель добавления рекламы в пост должен менять сам пост, поэтому он должен выполниться самым первым, а это уже декоратор какой-то
если он меняет сам пост, а не просто реагирует на него, то это не обсервер :) Это происходит на этапе создания и сохранения поста, то есть до того как мы создаем событие
Сохранение в базу данных лучше сделать в виде наблюдателя, а не хардкодить в методе создания ивента.
Красава👍🏻
12:40 Это называется Несвязность
Странный паттерн наблюдатель, по факту он не наблюдает, а его пинают. А весь толк даёт наследование с полиморфизмом.
Какой паттерн будет собирать всех наблюдателей в один список?
Я думал, что чамый популярный паттерн - это MVC, да так оно и есть
Это база везде
актуалка для меня, лаййййк, подписка
Я конечно не 7, а всего лишь 6 лет в индустрии. Но меня ни разу ни на одном собеседовании не спрашивали про этот паттерн. Хотя собеседуюсь довольно часто.
Пару раз было такое, что меня спрашивали о том, какие паттерны я знаю и просили рассказать про парочку. Обычно первыми на ум приходили: стратегия, фабрика, синглтон.
+
+
Слушай друг, откуда у тебя столько времени на все это ?
Я прошел только за год 10 собеседований и ни на одном не спросили про паттерн этот. Звучит очень клик-бейтно и плюс еще не очень удачный пример и не совсем правильное и очевидное приминение этого паттерна и особенно в заданном контексте сиутации. Очень рад, что умеете снимать контент и продвигать его, но пригласите, пожалуйста экспертов еще для проверки сценариев. Потому что подача красивая и быстрая, но суть некачественная. А ведь было бы полезно иногда обновлять свои знания какие-то таким образом.
Сингальтон
@@ЮрийДымов-у6щ о, это де отсылка для своих
Зарегистрироваться на вебинар невозможно, форма внизу не отображается, только призыв написан.
Попробуй включить впн, или отключить ADblock в браузере, должно помочь
Спс за видос, норм обьяснил
У меня вопрос, разве этот паттерн в таком исполнении, не нарушает принцип подстановки Лисков?
А в чем проблема? В каком месте у вас сомнения?
Singleton наше все
Жаль что стрима на youtube нет😢
thks, bro! =)
так и не сказано, что же это за зверь паттерн программмирования
Этот ролик наглядно демонстрирует отсталость Java от C#. В С# весь этот "паттерн" реализован на уровне самого языка (Events) и доступен разработчикам в готовом виде (да еще и с кучей дополнительных фишек) сразу "из коробки". В Java же нужно писать все самому ручками, со всеми погрешностями и дальнейшей дополнительной поддержкой.
С# сейчас часто применяется в проектах?
@@userxh-sg6cg Смотря в каких проектах. В крупных компаниях для реализации больших сложных проектах - часто!
Брат, моно побольше патернов
Разработчик из Амстердама , скажи хватит ли у тебя оперативки на все объекты в твоей «Мега крутой соц сети»? Если бы ты рассказывал это в контексте SOLID принципов, то в целом ок. Но ты суешь это в идее где у тебя будет много событий , а значит у тебя рано или поздно оперативка кончится и привет memoryExeption
Запишет сообщение в брокер сообщений который доставит его получателям на каком угодно количестве серверов. Да и это очень уж нужно постараться чтобы забить память просто инициализацией обьектов)
Нет чувак!Самый популярный паттерн стратегия.
в рамках создания поста, новую фичу в список то нужно прописать, а не просто новую создать :)
Список наблюдателей заполняется за пределами PostSaver'а. Тут только ссылка на него.
Братан, ты крут как яйца вкрутую) Как целый мешок яиц вкрутую!) Очень полезный видос! Спасибо)