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