ЭТОТ Паттерн Спрашивают на 99% Собесов

  Рет қаралды 71,476

Vlad Mishustin

Vlad Mishustin

Күн бұрын

Пікірлер: 246
@fakng-engineer
@fakng-engineer 4 ай бұрын
БЕСПЛАТНЫЙ ВЕБ “Основы Spring для начинающих Java Junior” 24.09.24 в 19:00 по МСК! Регистрируйтесь по ссылке: www.faang.school/vebinar-spring?
@followthewhiterabbit982
@followthewhiterabbit982 4 ай бұрын
Отлично! Давай продолжать разбирать паттерны в таком же формате!
@АртемМихневич-н7б
@АртемМихневич-н7б 21 күн бұрын
Тема паттернов сложна для многих , по причине того, что в книгах используется псевдокод , и примеры из 90х годов . Не хватает их правильно адаптировать под современные реальности , и показать примеры как на видео, тем более многие фреймворки уже многие паттерны содержат внутри себя
@ГеннадийШушпанов-д1ч
@ГеннадийШушпанов-д1ч 3 ай бұрын
Ложка дегтя :) При использовании паттерна наблюдатель помните, что вы лишь скрываете связи между объектами, а не устраняете их. То, что ранее присутствовало в коде, теперь должно хранится в вашей голове или, что нечасто, в документации.
@stanislavkuprienko6475
@stanislavkuprienko6475 4 ай бұрын
Круто 👍 Спасибо тебе, Влад, за контент. И всё таки, выпуск про Redis ждём)
@ozimandias1858
@ozimandias1858 4 ай бұрын
Браво! Как у тебя не заканчиваются идеи для видео? Git, docker, kafka, микросервисы - все, на мой взгляд, очень понятно и не совсем для зеленых. Сейчас еще и паттерны подъехали. А самое клевое то, что почти все это не привязано к языку. Мне вот, как с++ разработчику, очень приятно. Спасибо!
@RaptorT1V
@RaptorT1V 4 ай бұрын
А что ещё можно разобрать? Помимо всего вышеперечисленного? Что ещё существует такое, не привязанное к языку, но желательное к ознакомлению каждым программистом?
@ozimandias1858
@ozimandias1858 4 ай бұрын
@@RaptorT1V agile, system design, алгоритмы и структуры данных, те же паттерны, гит, докер, но глубже. Так еще многопоточное программирование, grpc, rest, websocket. Это то, что за 2 минуты в голову пришло
@RaptorT1V
@RaptorT1V 4 ай бұрын
@@ozimandias1858 а почему именно все про Agile говорят, а не про Waterfall или RAD или Incremental and Iterative model? Это же из области программной инженерии, я правильно понимаю? Методологии разработки. Что за структуры данных? Что за алгоритмы? Какие-то конкретные, типа Дейкстры или Хаффмана? Какие именно паттерны? Что за многопоточное программирование (асинхронное, что ли?) и GRPC, REST, Websocket? И можно, пожалуйста, ещё примеров? Себе хочу записать, чтобы изучить.
@ozimandias1858
@ozimandias1858 4 ай бұрын
​@@RaptorT1V если честно, звучит как троллинг ;-) Для меня agile, потому что большинство компаний по этой методологии работают. А вообще да, можно со многими ознакомиться, понять, в чем разница и т.п. Структуры данных, как и алгоритмы - все с литкода чисто для собеседований. Паттерны - стратегия, билдер, фабрика, абстрактный метод, например. Остальное гуглится.
@zzzahon8519
@zzzahon8519 3 ай бұрын
паттерн классный, но лучше уже сразу рассказать про архитетурное решение EDA - event driven development, но уже есть видео про кафку, где это подробро рассказано. Кстати eda и в монолите работает отлично.
@volodymyr_76
@volodymyr_76 4 ай бұрын
Не хватило только о том как эти обсерверы перечислять и передавать в класс. А так все классно и наглядно рассказано 👍
@michelleasrolabus1533
@michelleasrolabus1533 4 ай бұрын
Супер объяснение! И графика оболденная!!! Спасибо за видео большое! Жду других патернов!!! Можно было бы целый плей лист! Еще раз спасибо!
@hurricane-rus
@hurricane-rus 4 ай бұрын
Я наконец понял, как называлось то, что часто применял в своих проектах, но не знал, что у этого есть отдельное название)
@alexgavril385
@alexgavril385 4 ай бұрын
Можно где то ваши проекты скачать или посмотреть в интернете?😂
@root-developer
@root-developer 4 ай бұрын
@@alexgavril385 ты что это секретные пет проекты под NDA
@donlinoleum831
@donlinoleum831 4 ай бұрын
@@alexgavril385 можно
@lelikpunk1
@lelikpunk1 4 ай бұрын
А будут видео именно про объяснение разных паттернов? Было бы круто))
@nehz_ttv
@nehz_ttv 4 ай бұрын
Я тоже хочу больше такого контента!
@kvasela
@kvasela 4 ай бұрын
Например GRASP, SOLID
@lelikpunk1
@lelikpunk1 4 ай бұрын
Я об порождающих, структурных и поведенческих)
@iha206
@iha206 4 ай бұрын
@@kvaselaпро solid есть видео. Всё четко на примерах разобрано.
@evan_kirk
@evan_kirk 4 ай бұрын
@@kvasela SOLID это принципы, а не паттерны.
@dryadliker
@dryadliker 4 ай бұрын
Отличное видео! Всё понятно. Поймал себя на мысли, что никогда так захватывающе не смог бы объяснять паттерны программирования😁
@WadeChannal
@WadeChannal 4 ай бұрын
Красава, Влад, я сразу очень уместно применил его на своем проекте. Был сервис, который при создании сущности делал 3 доп. действия. Прошу продолжать рассказывать нам про подобные фишки
@andystravelsrus1139
@andystravelsrus1139 4 ай бұрын
Бомба! Реально увлекательно! Спасибо за видос!
@ДмитрийКарпич
@ДмитрийКарпич 4 ай бұрын
Так то да, классно! Вот только проблема есть, если у нас шина для сообщений нормально не сделана, то сиди и пытайся понять - кому что улетело и почему там что-то выстрелило. Сложность нельзя просто замести под коврик, ее можно перенести в другое место, но это, скорее всего, вызовет накладные расходы. Так что в реальной реальности все немного сложнее.
@BoyarinLex
@BoyarinLex 4 ай бұрын
Огонь! Очень полезное и понятное видео, спасибо!
@PaulDeVille
@PaulDeVille 4 ай бұрын
Очень доступным языком объяснил. Круто!🔥
@Abobus-e5s
@Abobus-e5s 4 ай бұрын
я почему-то сначала думал, что он говорит про синглтон, я думал, что именно он самый популярный паттерн
@P7Vagrant
@P7Vagrant 3 ай бұрын
Чаще всего это самый популярный антипаттерн)
@ПавелФомин-ъ4с
@ПавелФомин-ъ4с 3 ай бұрын
самый нерекомендуемый))
@boost_456
@boost_456 3 ай бұрын
Да, самый полуполярный среди тех, кто второй раз слышит слово "паттерн"
@kind1y
@kind1y 4 ай бұрын
Нужно бооольше таких разборов разных паттернов))
@slevin31231
@slevin31231 4 ай бұрын
Понравилось! Рассказывай еще про паттерны)
@АндрейХалин-н7ъ
@АндрейХалин-н7ъ 4 ай бұрын
Спасибо , интересный урок . Возможно ты сделаешь еще видео про другие паттерны
@AkhmerovRustem
@AkhmerovRustem 3 ай бұрын
Супер! 70% ролика - объясняет саму суть для опытного флаттерфовщика!
@oraxis7372
@oraxis7372 4 ай бұрын
Объяснение и анимации топ. Очень хочется видео и про другие паттерны)
@andrzejsotnikow7494
@andrzejsotnikow7494 3 ай бұрын
ваще, крутой видос
@coox4546
@coox4546 3 ай бұрын
Второй вариант паблишить через ивенты спринга и вешать листенеры в каждой новой фиче. Но этот вариант более понятен для восприятия
@ОльгаЛукина-о9в
@ОльгаЛукина-о9в 4 ай бұрын
супер объяснение! запишите еще такие же видео про другие паттерны, пожалуйста
@coscosru
@coscosru 3 ай бұрын
Классно!
@ТестировщикНиконов
@ТестировщикНиконов 4 ай бұрын
Влад, спасибо! Хорошее объяснение. Даже я понял:)
@androidpasha
@androidpasha 3 ай бұрын
Теперь понял почему старое железо тормозит. Из за сотен наблюдателей.
@MRFox-c8x
@MRFox-c8x 4 ай бұрын
Не знаю говорил ли ты или нет, но можешь рассказать про свои первые задачи на первой работе, или может расскажешь какие задачи дают совсем новичкам (не стажерам, а работягам) в вашей конторе.
@АртёмМеркулов-ю3к
@АртёмМеркулов-ю3к 3 ай бұрын
Спасибо за видео. Хотя с первого раза не совсем понял. Но у меня и с ООП не оч хорошо, т.к. пока не требуется нигде - всё на процедурном...
@programmer-inwall
@programmer-inwall 4 ай бұрын
Спасибо за видео, Влад! Как обычно с радостью посмотрел. Если я правильно понимаю, следуя принципам solid, ты как раз будешь придерживаться паттерна наблюдатель?
@albanec4702
@albanec4702 4 ай бұрын
прекрасный ролик - ставлю класс!)
@with-nikita
@with-nikita 4 ай бұрын
Круто. На самом деле прикольно будет узнать это на практисе. Жаль что я не Java, но и на шарпе интересно)
@MrRomanvideo
@MrRomanvideo 4 ай бұрын
Одно и тоже
@gibbedhead
@gibbedhead 4 ай бұрын
Уж шарпист-то java, и наоборот, может читать как никто другой.
@hakooplayplay3212
@hakooplayplay3212 4 ай бұрын
Я чуть чаем не подавился когда в конце таки сказал что ты шарпист :D ахах, тролль 80го уровня
@BurmAlex
@BurmAlex 4 ай бұрын
суть паттернов и причины применений везде одинаковые, будь то шапы, джава, пыха, питон...
@tatianaf3857
@tatianaf3857 3 ай бұрын
Если не сложно, хорошо бы еще сразу давать English-вариант всех названий ( а то иногда сомневаешься в переводе- то ли имелся в виду observer, то ли listener ).
@Mr43046721
@Mr43046721 4 ай бұрын
События играют мегаклассно в Event driven архитектуре) там ты паблишера и консумеров можешь разносить аж в разные микросервисы) Событие кладется в брокера сообщений, и далее его получают все, кто подписан на данное событие. ВААААУУУУУ
@Inos25
@Inos25 4 ай бұрын
Влад, спасибо за объяснение! Ты крутой 🔥
@dimaskusidze
@dimaskusidze 4 ай бұрын
Подскажите пожалуйста , а как наблюдатели дружно запрыгивают в list класса PostSaver?? Им же надо там откуда-то взяться ...
@gibbedhead
@gibbedhead 4 ай бұрын
Я совсем не спец, но тоже подумал что зря он не объяснил этот момент. По логике, наблюдатель должен подписаться на события, т.е. в публикаторе нужен метод, который добавит наблюдателя в лист.
@hakooplayplay3212
@hakooplayplay3212 4 ай бұрын
либо при инициализации приложения всех обсерверов цепляешь, либо можно это динамически через метод класса добавлять-убирать
@Khodorisful
@Khodorisful 4 ай бұрын
DI контейнер. Реализация паттерна Inversion of control
@dimaskusidze
@dimaskusidze 4 ай бұрын
​@@KhodorisfulТ.е. все наблюдатели у нас бины и они при инициализации листа прыгают в лист ?? Ну тогда это надо в конструкторе класса конкретно прописать каждое добавление экземплярами класса?? Да ещё и тип загрузки прописать как @lazy у каждого компонента ?? А то машина насоздает бинов и запутается в них (((
@serhiis_
@serhiis_ 4 ай бұрын
@@dimaskusidze подключите rx и не мучайтесь и генерацией 100500 классов ради 2+2. В ООП самое плохое что может быть это наследование и создание классов ради создания классов. Этот код их 100 тыс классов ни кто не сможет ни читать и не понимать. В rx есть и observer и map и filter и управление потоками. Причем это все работает ОДИНАКОГО на всех языках. В том же rxjs все тоже самое. Обсервер создается знаком доллара и это очень легко писать и понимать БЕЗ единого класса
@-SRE
@-SRE 3 ай бұрын
Подача отличная. Если бы смотрел такое впервые, то зашло бы.
@MRshtoraThe
@MRshtoraThe 4 ай бұрын
Классно было бы еще рассказать об системном и бизнес аналике,их работу,основы,принципы,от лица бэкэнд разраба
@ololo2755
@ololo2755 2 ай бұрын
у нас на работе аналитики это кривые дауны, которые нихрена не в чем не шарят, убери их и почти ничего не изменится, это банк если что
@evgeniyzhukov502
@evgeniyzhukov502 4 ай бұрын
Привет. Спасибо за информацию. Но думаю, что у тебя неточность в схеме про публикатор. Он же записывает информацию в БД, а не отправляет ее напрямую слушателям, слушатели подписываются на события, т.е. делают запросы к базе. Это так?
@ivt6325
@ivt6325 4 ай бұрын
Годнота, практически никогда не ставлю лайк и не подписуюсь, а тут парень просто заслужил! Уважение и благодарность!
@БогданДаной-к1р
@БогданДаной-к1р 4 ай бұрын
Влад, спасибо огромное тебе за твой труд! Хотелось бы узнать, как и можно ли вообще устроиться на работу программистом в Европу если не было карьерного опыта? Буду благодарен за ответ
@РомаНенавижугуглплюс
@РомаНенавижугуглплюс 4 ай бұрын
Странный паттерн наблюдатель, по факту он не наблюдает, а его пинают. А весь толк даёт наследование с полиморфизмом.
@edv_ccode
@edv_ccode 3 ай бұрын
В начале (5:20) вы указали, что выполняемые действия могут зависеть друг от друга. Но до конца видео так и не указали на решение этой проблемы. Как раз наоборот - Наблюдатели ничего не знают (не должны знать) о других наблюдателях, ровно как и порядок "наблюдения" никак не регламентируется. Также в видео не указано, как организовать "подписку" на событие. Вы утверждаете, что мы исходный класс не правим. Но это не совсем верно - мы же должны добавить нового Наблюдателя в нашу коллекцию наблюдателей.
@АлексейСытник-э9т
@АлексейСытник-э9т 3 ай бұрын
Если работать через авинжект спринга например, то это произойдёт автоматически
@edv_ccode
@edv_ccode 3 ай бұрын
@АлексейСытник-э9т если что-то происходит автоматически - это все равно происходит. Я к тому, что изменение в исходный класс (регистратор) все равно нужно вносить. Не важно, вручную или автоматически
@osoboechuvstvo
@osoboechuvstvo 4 ай бұрын
Почему вы указали на 5:54 минуте последовательность: Событие + Публикатор + Наблюдатель ? Это ошибка или я что-то упустила?
@Grigoren_com
@Grigoren_com 4 ай бұрын
Владик, ты топчик! спасибо!
@Alex-ry7ur
@Alex-ry7ur 4 ай бұрын
Влад, привет! Лекцию можно будет посмотреть в записи? Только сегодня увидел твоё видео, а лекция была вчера 😢
@fakng-engineer
@fakng-engineer 4 ай бұрын
Привет, 3 октября проводим повтор, залетай по ссылке в описании, успеешь!
@Alex-ry7ur
@Alex-ry7ur 4 ай бұрын
@@fakng-engineer отлично, спасибо!
@snatvb
@snatvb 4 ай бұрын
на самом деле самый популярный паттерн - это стратегия, где-то даже исследование было) и ты как раз его реализовал на самом деле обсервер должен подписываться, на обсерваблы, которые генерируют нотификации, у тебя же прямая передача в потребителя не может фича сама по себе подписаться на сохранение поста, ты в классе сохранения сам добавляешь фичу
@apostol_fet
@apostol_fet 4 ай бұрын
По GOF, subject хранит в себе наблюдателей и уведомляет их при наступлении события (метода Notify) с передачей этого события, также в самом наблюдателе может хранится ссылка на наблюдаемый объект (subject), чтобы тот при уведомлении сам мог запрашивать необходимую информацию. Посмотрите книжку там все понятно описано
@uladzimirdrazdou1563
@uladzimirdrazdou1563 4 ай бұрын
Сурер понятно и полезно!
@PBmAsTeP
@PBmAsTeP 3 ай бұрын
Полезная фитча такого паттерна - отмена события.. Если один из наблюдателей проверив условия не одобрил дальнейшие действия с данным обьектом - все остальные будут в курсе и так же пропустят мимо обработки.
@arthur.v.babayan
@arthur.v.babayan 4 ай бұрын
А вообще, можно создать такой класс наблюдатель, который имеет метод запуска, который на вход получает, не только объект события, но тип события. И после этого можно вообще в основной клас не заходить, а просто добавлять модули :) Прилижение с подгружаемыми модулями :)
@PavelNebo
@PavelNebo 4 ай бұрын
Я вот сейчас тоже подумал, что в этом примере не рационально, что продюсер отправляет событие всем наблюдателям в списке.. Лучше отправить одно событие в некий сортировщик который сам решит по типу события что с ним делать и какому наблюдателю отправить.
@TimLaizaR228
@TimLaizaR228 4 ай бұрын
@@PavelNebo на один и тот же тип события может быть куча разных получателей, каждый из которых обрабатывает его по своему. Эта концепция например широко используется в кафке - на один и тот же топик может быть создано куча консьюмер групп, обрабатывающие одни и те же события по своему, независимо друг от друга.
@PavelNebo
@PavelNebo 4 ай бұрын
@@TimLaizaR228 ну я это и описал. Отдельный клас который занимается распределением событий по нужным получателям, а продюсер отправляет одно событие в этот класс
@naximchik
@naximchik 3 ай бұрын
@@PavelNebo вы придумали кафку и систему очередей в целом))
@megaboy2k
@megaboy2k 3 ай бұрын
Но ведь теперь каждый класс наблюдатель будет получать событие, которое может быть не для него и фильтровать его уже внутри себя. Получается некоторый оверхед производительности
@Monax-go6vq
@Monax-go6vq 4 ай бұрын
Я думал, что чамый популярный паттерн - это MVC, да так оно и есть
@lev431
@lev431 4 ай бұрын
Это база везде
@wil9921
@wil9921 4 ай бұрын
Очень круто) но как нам после создания нового наблюдателя добавить его в лист наблюдателей PostSaver?
@letsplay6051
@letsplay6051 4 ай бұрын
Если речь о Spring, то есть такое понятие как "Внедрение зависимостей". Spring сам создаст список всех наблюдателей.
@naximchik
@naximchik 3 ай бұрын
ага, этот момент не расскрыт
@uzurbatya
@uzurbatya 4 ай бұрын
Мишустин Влад, ты молодец, отлично сделал
@prosvet7731
@prosvet7731 4 ай бұрын
+ За паттерны, у тебя хорошо получается)
@mirrorcoder1992
@mirrorcoder1992 4 ай бұрын
Я прошел только за год 10 собеседований и ни на одном не спросили про паттерн этот. Звучит очень клик-бейтно и плюс еще не очень удачный пример и не совсем правильное и очевидное приминение этого паттерна и особенно в заданном контексте сиутации. Очень рад, что умеете снимать контент и продвигать его, но пригласите, пожалуйста экспертов еще для проверки сценариев. Потому что подача красивая и быстрая, но суть некачественная. А ведь было бы полезно иногда обновлять свои знания какие-то таким образом.
@ВасилийГоловко-д9и
@ВасилийГоловко-д9и 4 ай бұрын
Один из моих любимых шаблонов - часто его использую. Еще есть стратегия, тоже круто паттерн
@СашаИванов-д8щ2ь
@СашаИванов-д8щ2ь 4 ай бұрын
четко расскзал, про паттерн "посетитель" (visitor) расскажи так же
@ВВВППП-в6г
@ВВВППП-в6г 4 ай бұрын
Непонятно для других языков. Будет ли считаться "наблюдателем" если класс или микросервис создает посты, другой микросервис или класс мониторит появление новых постов в БД и шлет уведомления и т.д.?
@EgorFrade
@EgorFrade 4 ай бұрын
топ видео! а как ты делаешь такие крутые анимации ?
@dfbdtrhgwtwd7149
@dfbdtrhgwtwd7149 4 ай бұрын
"Отдельными компонентами программы являются классы и объекты"? Vlad, ты уверен что хорошо сформулировал свою мысль? Класс - это design-time (если речь не идет про static class - там есть ньюансы), а объект - это run-time.
@nnz13
@nnz13 4 ай бұрын
Но ведь наблюдатель добавления рекламы в пост должен менять сам пост, поэтому он должен выполниться самым первым, а это уже декоратор какой-то
@hakooplayplay3212
@hakooplayplay3212 4 ай бұрын
если он меняет сам пост, а не просто реагирует на него, то это не обсервер :) Это происходит на этапе создания и сохранения поста, то есть до того как мы создаем событие
@vitaliykolomiets6609
@vitaliykolomiets6609 4 ай бұрын
круто!!! спасибо!!!
@tregubov
@tregubov 4 ай бұрын
чувак, инфа огонь, мерси!
@КириллИгоревич-к1ф
@КириллИгоревич-к1ф 4 ай бұрын
Аж кайфанул от подачи...) -> List(Действие). Лайк extends Действие. Подписка extends Действие. Уведомления extends Действие. =)))
@user-aytan
@user-aytan 4 ай бұрын
Zdravstvuyte. Skolko stoit kurs Spring ?
@fakng-engineer
@fakng-engineer 4 ай бұрын
Привет, отдельного курса по Spring у нас нет, работа с этим фреймворком является частью программы интенсивного обучения - Java Буткемпа, где за 4 месяца ты изучаешь все ключевые инструменты и технологии, которые необходимы разработчику, чтобы получить работу! А также 3 октября в 19:00 по мск состоится вебинар - лекция “Основы Spring для начинающих Java Junior”, где разберем основы его работы, заходи по ссылке в шапке профиля!
@Stalker-b7m
@Stalker-b7m 4 ай бұрын
Добрый день, меня интересует один вопрос на каком устройстве или операционной системе проще работать, виндовс или иос макбук или какой-нибудь Леонова йога 9 вопрос не в деньгах, а в удобстве может совместимости программ, хочется начать заниматься программированием?
@b33blebrox
@b33blebrox 3 ай бұрын
Смотря на чем программировать. Если нет прямой необходимости в винде (как в .net и т.п.), то ни в коем случае ее не использовать. Макбук хорош (качество железа на высоте, все эргономично и удобно), на линухе во всех остальных случаях
@quadroninja2708
@quadroninja2708 3 ай бұрын
​@@b33blebroxа чем винда плоха?
@sodz5144
@sodz5144 3 ай бұрын
12:40 Это называется Несвязность
@maroo2014
@maroo2014 3 ай бұрын
Сохранение в базу данных лучше сделать в виде наблюдателя, а не хардкодить в методе создания ивента.
@decimaldelimiter587
@decimaldelimiter587 4 ай бұрын
По-моему, самый популярный - синглтон.
@hakooplayplay3212
@hakooplayplay3212 4 ай бұрын
@@ВысоцкийАндрей-г5э согласен :) про синглтон можно упомянуть если уже назвал штук 5 паттернов :) так до кучи
@decimaldelimiter587
@decimaldelimiter587 4 ай бұрын
@@ВысоцкийАндрей-г5э Я ж не говорю, что он самый эффектный для собеседования; скорее, наоборот - один из самых тривиальных (=популярных).
@serhiis_
@serhiis_ 4 ай бұрын
@@decimaldelimiter587 вообще синглтон это АНТИпаттерн
@weekendshow7567
@weekendshow7567 4 ай бұрын
Патерны-матерны это хорошо. Но было бы в 💯 раз полезно, если бы вы сделали хотя бы 5 приложений с объяснением🎉 А то на одной "воде" далеко не уедешь ❤
@Nisitka
@Nisitka 4 ай бұрын
Я знаю где не спросят о нем - на разработчика с использованием библиотеки Qt, ведь она основывается на нем
@JimmyBaevsky
@JimmyBaevsky 4 ай бұрын
Какие "собесы"?! Пришел программист. В каких проектах вы принимали участие, в каких фирмах? Запрограммируйте вот эту задачу за 15 минут. Кто будет экзаменовать программиста по знанию языка программирования? Только с дуба рухнувший!😂 А если экзаменуют, бежать из такого дурдома без оглядки.😅
@ГеннадийШушпанов-д1ч
@ГеннадийШушпанов-д1ч 3 ай бұрын
Программирование не любит суеты. Просьба "Запрограммируйте вот эту задачу за 15 минут" такой же повод "бежать из такого дурдома без оглядки".
@JimmyBaevsky
@JimmyBaevsky 3 ай бұрын
@ГеннадийШушпанов-д1ч Возможно. Однако пресловутые тесты IQ не случайно имеют ограничение по времени выполнения. Решение задач за деньги должно быть производительным. )) В программировании, которое теперь предпочитают называть "написанием кода", подчеркивая этим банальность этого занятия и отсутствие в нем таорческого начала, приобретает едва ли не главенствующее значение производительность. Прошли времена "суперпрограммистов", серенький руководитель предпочитает иметь дело с программистами того же оттенка, главное, чтобы они работали вместе и укладывались в поставленные им сроки. Есть мнение, что с появлением ИИ этот процесс станет еше более рутинным. Много также говорится об индийских программистах, которые пишут удивительно быстро. По этому скорость "кодирования" сейчас становится для работодателя важным показателем профессионализма програмииста. И тест на время, при всей его пошлости, имеет определенный смысл.
@igorseledtsov7345
@igorseledtsov7345 4 ай бұрын
так и не сказано, что же это за зверь паттерн программмирования
@victoriahitro3203
@victoriahitro3203 3 ай бұрын
Классное видео, спасибо
@ebelmania2550
@ebelmania2550 4 ай бұрын
У меня вопрос, разве этот паттерн в таком исполнении, не нарушает принцип подстановки Лисков?
@VoiceStudioTube
@VoiceStudioTube 3 ай бұрын
А в чем проблема? В каком месте у вас сомнения?
@ruslanm.1120
@ruslanm.1120 4 ай бұрын
Какой паттерн будет собирать всех наблюдателей в один список?
@FightRebelAndRiot
@FightRebelAndRiot 4 ай бұрын
Я конечно не 7, а всего лишь 6 лет в индустрии. Но меня ни разу ни на одном собеседовании не спрашивали про этот паттерн. Хотя собеседуюсь довольно часто. Пару раз было такое, что меня спрашивали о том, какие паттерны я знаю и просили рассказать про парочку. Обычно первыми на ум приходили: стратегия, фабрика, синглтон.
@xesax
@xesax 4 ай бұрын
+
@КириллЛомовской
@КириллЛомовской 3 ай бұрын
+
@enterprise7585
@enterprise7585 4 ай бұрын
Сохранять пост стоило бы тоже по евенту, и выдавать другое событие
@БАХА-в1о
@БАХА-в1о 4 ай бұрын
Слушай друг, откуда у тебя столько времени на все это ?
@mikhailsloushch5052
@mikhailsloushch5052 4 ай бұрын
Самый главный паттерн - это абстрактный метод
@АндрейБелозеров-н1з
@АндрейБелозеров-н1з 4 ай бұрын
Брат, моно побольше патернов
@DeadRabbitCanDance
@DeadRabbitCanDance 4 ай бұрын
Если телеграммом не пользуюсь, то зарегистрироваться не получится? Печально. Вообще мне нужно не сайт сделать, а сервер для Unity приложения (хранение данных по игрокам, регистрация всяких операций типа купил/продал/сделал) соответственно база данных и какой-то апи для взаимодействия из Unity.
@fakng-engineer
@fakng-engineer 4 ай бұрын
Зарегистрироваться получится, в телеграме общение и всякие приятные бонусы, но все необходимые ссылки дублируются на почту
@mihhha8552
@mihhha8552 4 ай бұрын
Привет, запиши пожалуйста видео как работать с очередями
@dimalegendarypro
@dimalegendarypro 3 ай бұрын
Нет чувак!Самый популярный паттерн стратегия.
@TheDustyChannel3334
@TheDustyChannel3334 4 ай бұрын
Зарегистрироваться на вебинар невозможно, форма внизу не отображается, только призыв написан.
@fakng-engineer
@fakng-engineer 4 ай бұрын
Попробуй включить впн, или отключить ADblock в браузере, должно помочь
@AbcDef-nv7qy
@AbcDef-nv7qy 4 ай бұрын
Спасибо!
@evgeniyzhukov502
@evgeniyzhukov502 4 ай бұрын
А как слушатель понимает, что это событие он еще не получал?
@VoiceStudioTube
@VoiceStudioTube 3 ай бұрын
В конце видео гоготнул со слова лаконичный)
@donlinoleum831
@donlinoleum831 4 ай бұрын
Братан, ты крут как яйца вкрутую) Как целый мешок яиц вкрутую!) Очень полезный видос! Спасибо)
@aleks_versus
@aleks_versus 4 ай бұрын
Нихрена не понял. Начал с функции, в которую мы напихиваем вызовы других функций, а потом перескочил к событиям. Откуда взялись события, чего ради это должно быть проще спронктировать?
@dfbdtrhgwtwd7149
@dfbdtrhgwtwd7149 4 ай бұрын
Этот ролик наглядно демонстрирует отсталость Java от C#. В С# весь этот "паттерн" реализован на уровне самого языка (Events) и доступен разработчикам в готовом виде (да еще и с кучей дополнительных фишек) сразу "из коробки". В Java же нужно писать все самому ручками, со всеми погрешностями и дальнейшей дополнительной поддержкой.
@userxh-sg6cg
@userxh-sg6cg 4 ай бұрын
С# сейчас часто применяется в проектах?
@dfbdtrhgwtwd7149
@dfbdtrhgwtwd7149 4 ай бұрын
@@userxh-sg6cg Смотря в каких проектах. В крупных компаниях для реализации больших сложных проектах - часто!
@Kil41kk
@Kil41kk 4 күн бұрын
Интересно твоё мнение о джанго
@AndreyJDev
@AndreyJDev 4 ай бұрын
Не знаю, какой у вас самый популярный патерн, а у меня собесах про солид все спрашивают.
@MrRomanvideo
@MrRomanvideo 4 ай бұрын
Это не паттерн😅
@koller18
@koller18 4 ай бұрын
@@ВысоцкийАндрей-г5э , штука у черепахи на спине панцирь, а он говорит о каком то непрерывном потоке слов
@BurmAlex
@BurmAlex 4 ай бұрын
Dependency Injection/Inversion?
@iosswiftuipractice3793
@iosswiftuipractice3793 4 ай бұрын
Этим солидам никто уже не следует в России, говнокодеров много. Главное чтобы работало. А те кто спрашивают это на сабесе просто пытаются найти лоха который будет работать за них и кому можно платить в 3 раза меньше. То же касается с тест заданием и лайфкодингом. Мне насрать что чел знает, главное чтобы он сделал то что ему говорят сделать. Пока hr годами ищут и смотрят на текучку, другие тупо берут и дообувают типа. Еще валите оттуда где там вам говорят что будет 2-3 или более сабесов, сразу нахер
@Khodorisful
@Khodorisful 4 ай бұрын
Получается, что PostSaver занимается больше чем одной задачей. Его код постоянно необходимо править , добавляя новых наблюдателей да и еще код их вызова циклического постоянно будет во всех подобных классах с наблюдателями. А если потом окажется что не про все посты нужно отправлять уведомление? По-моему логика оповещения должна быть вынесена на уровень выше, где вызывается сам PostSaver.
@testdeim
@testdeim 4 ай бұрын
Автор видео не понял как работает этот паттерн. Да и вы тоже. Если окажется, что уведомления нужно отправлять не на все посты, то одписчик отправляющий уведомления сам может решить это на основе информации из события. Как я написал ниже в своём коментарии - PostSaver это по сути модель, если брать архитектуру MVC. Модель ничего не должна знать о подписчиках (вот эти все классы уведомлений, рекламы, статистики). Она должна знать всего об одном классе - классе Наблюдателя. Одного. И после сохранения поста бросать событие в этот Наблюдатель, вы зывая его метод accept(event). А уже Наблюдатель знает кто подписан на принимаемый им тип событий и он отправляет это событие обработчикам (классам работы с уведомнениями, рекламой, статистикой). Таким образом у нас получается чистая модель, код которой мы больше не трогаем. Это позволяет использовать её в других местах, для кототых, например, вот эти все уведомления, статистика, реклама не нужны. А также эта моель легко покрывается тестами, потому что не содержит в себе лишних классов.
@testdeim
@testdeim 4 ай бұрын
На счёт вынести логику оповещения выше. В целом, да, она обычно вынесена выше. Но это реализовано не вынесением её туда, откуда вызывается этот PostSaver, а вызовом её в событиях модели. Но там реализован такой же паттерн Наблюдатель. Поэтому в контексте обучающего видео, эти вещи приплетатть сюда не стоит, чтобы не усложнять понимание сути паттерна. Т.к. это уже касается не паттерна как такогвого, а конкретной реализации.
@Khodorisful
@Khodorisful 4 ай бұрын
@@testdeim Инжектим PostObserver где прописана логика оповещение что кому и при каких условиях. В PostSaver мы только один раз вызываем PostObserver и передаем туда актуальный объект Post. Это годится если в самом Post есть вся необходимая информация для того чтобы решить уведомлять или нет. Но что если отправка будет зависеть от каких либо других факторов, о которых нет информации в Post? Прокидывать какой то "notify=false" флаг?
@testdeim
@testdeim 4 ай бұрын
@@Khodorisful тут либо в ивент добавляем нужную информацию (не обязательно же в ивент кидать весь объект Post и/или только его). Тоесть собираем ивент со всеми нужными данными (хоть весь Post, хоть его часть, хоть ещё чо то кроме него, да хоть бы и тот же notify=false). Но notify=false можно в том случае, если PostSaver обладает информацией о том делать ли уведомление. Но обычно не обладает и не должен. Эту информацию знает (или должен узнавать) непосредственно сам обрабочик события. Если брать в пример уведомления, то класс отправляющий уведомления, принимает событие с постом, понимает из него какого типа этот пост, делает запрос в хранилище пользователей у которых настройка "получать уведомления" и им отправляет эти уведомления. Ни сам PostSaver, ни Наблюдатель ничего знать не знают об уведомлениях и не должны.
@Fjaieb
@Fjaieb 4 ай бұрын
Разработчик из Амстердама , скажи хватит ли у тебя оперативки на все объекты в твоей «Мега крутой соц сети»? Если бы ты рассказывал это в контексте SOLID принципов, то в целом ок. Но ты суешь это в идее где у тебя будет много событий , а значит у тебя рано или поздно оперативка кончится и привет memoryExeption
@Khodorisful
@Khodorisful 4 ай бұрын
Запишет сообщение в брокер сообщений который доставит его получателям на каком угодно количестве серверов. Да и это очень уж нужно постараться чтобы забить память просто инициализацией обьектов)
@ЮрийДымов-у6щ
@ЮрийДымов-у6щ 4 ай бұрын
Сингальтон
@НиколайСкородумов-л7з
@НиколайСкородумов-л7з 4 ай бұрын
thks, bro! =)
@alexanderkuznetsov634
@alexanderkuznetsov634 4 ай бұрын
звук печатающей машинки в левом ухе честно отвлекает
Микросервисы Простыми Словами за 1 Час
48:56
小丑教训坏蛋 #小丑 #天使 #shorts
00:49
好人小丑
Рет қаралды 54 МЛН
Сестра обхитрила!
00:17
Victoria Portfolio
Рет қаралды 958 М.
Правильный подход к детям
00:18
Beatrise
Рет қаралды 11 МЛН
黑天使只对C罗有感觉#short #angel #clown
00:39
Super Beauty team
Рет қаралды 36 МЛН
Лучший Гайд по Логированию За 12 Минут
12:33
Евгений Борисов - Spring Patterns
56:38
TechTrain
Рет қаралды 139 М.
Как я стал разработчиком в Uber в 25 лет
33:44
CI/CD - Простым языком на понятном примере
15:29
Артём Шумейко
Рет қаралды 143 М.
как тебе будут продавать в 2025
16:22
Тихон Смирнов
Рет қаралды 470 М.
小丑教训坏蛋 #小丑 #天使 #shorts
00:49
好人小丑
Рет қаралды 54 МЛН