для любителей использовать котлин что-то поменяется?
@EugeneSuleimanov3 сағат бұрын
Нет, любовь к котлину не исчезнет :)
@user-ou2ix1cm7y22 сағат бұрын
"Идет загрузка, загрузка идет, и она, наконец, закончилась")))
@OlI1551-vx5thКүн бұрын
Актуально в 2024
@13eXisTenZz132 күн бұрын
Четко, ясно с расстановкой! Спасибо большое!👍👍👍
@EugeneSuleimanov2 күн бұрын
Спасибо за отзыв!
@alexpan24632 күн бұрын
Лайк, подписка!
@EugeneSuleimanov2 күн бұрын
Спасибо за поддержку!
@TTTuTTT3 күн бұрын
Годнота! Может чуть подробнее стоило, и там в одном месте текст не дописан, но, в целом, отлично.
@EugeneSuleimanov3 күн бұрын
Большое спасибо за отзыв!
@TTTuTTT3 күн бұрын
Годно. Видно, что видос от практика. Странно, правда, что говоря про брокеры сообщений забыл кафку.
@AnatolShalobas4 күн бұрын
Огромное спасибо за видео. Увидел небольшую недоработку хотел бы указать на нее. К сожалению на 29:59 некорректный пример для наглядного показа как работает синхронизация для двух разных счетчиков. Проблема которую я тут вижу в том, что вы в разных потоках, инкрементируете (пусть и потоконебезопасно) разные счетчики. Т.е. даже теоретически они не смогут повлиять друг на друга, а следовательно будут выводиться всегда верно. Даже если не будут синхронизированы.
@EugeneSuleimanov4 күн бұрын
Большое спасибо за отзыв и замечание. Здесь больше упор был на введение в мьютексы, но я должным образом не акцентировал на этом внимание, поэтому этот пример вызывает недоумение. Еще раз спасибо!
@AnatolShalobas4 күн бұрын
@@EugeneSuleimanov вам огромное спасибо за контент!
@user-zt7tn3xy3y5 күн бұрын
Не пойму за что его тут нахваливают, если он свои действия нихрена почти не объясняет. "Тут кликнем это, а тут напишем это" и так 99 процентов видео. Видео сделано для тех, кто уже такое приложение написать может и без этого недоАвтора
@Pakmen_gamer6 күн бұрын
+вайб, респект
@EugeneSuleimanov5 күн бұрын
Спасибо за поддержку!
@user-un6zf5mc7g6 күн бұрын
На мой взгляд, 2PC не подходит в банковских системах, т. к. в 2PC у нас может быть зафиксированы изменения первой транзакции, а для 2 транзакции - зафейлены, и откатить изменения 1 транзакции мы не можем, и тогда, получится так, что у клиента деньги списались, а услуга не подключена (ну или деньги не перенеслись на другой счет), насчет микросервисной архитектуры: все, кто упоминали 2PC, говорили, что очень плохо и показывали затем лучшее решение - сагу, сам я не реализовывал ни то, ни другое, поэтому утверждать не могу
@user-un6zf5mc7g6 күн бұрын
Тем более существенном недостатком 2PC является то, что при горизонтальном масштабировании у нас Производительность падает (про это есть статья 2014 года)
@EugeneSuleimanov6 күн бұрын
SAGA это логическое продолжение 2PC и 3PC. Если мы говорим о сложной распределенной транзакции, то SAGA - хороший выбор.
@elnar_12069 күн бұрын
Спасибо за полезную информацию 🔥🔥🔥
@EugeneSuleimanov9 күн бұрын
Спасибо за комментарий!
@anjelomanoranjan390810 күн бұрын
А сколько вообще способов есть для решения этой задачи?
@anjelomanoranjan390810 күн бұрын
Круто смотреть как тех. диры щелкачают задачки для джунов)))
@anjelomanoranjan390810 күн бұрын
Благодарю и жду новые гайдов)))
@EugeneSuleimanov10 күн бұрын
Спасибо за отзыв!
@THE4yk13 күн бұрын
ну это самое крутое видео ведь, даже англоязычные источники не имеют аналогов
@user-ek8mk7gt5c14 күн бұрын
Евгений, спасибо за видео и примеры)
@EugeneSuleimanov14 күн бұрын
Спасибо за поддержку!
@geringer_16 күн бұрын
4:00 ZZZZZZZZZZZ ⬜🟦🟥🤙
@Devivl16 күн бұрын
Отличный цикл роликов, которые были записаны в далеком 2016 и не потеряли своей актуальности. Спасибо, Евгений, за труд. Убежден, что Ваш труд многим помог стать компетентнее. Могу только предположить, сколько раз Вы получили и получаете слова благодарности. Хочу в Вашу копилку добавить еще одно сердечное "Благодарю". Такие люди, как Вы, меняют людей в лучшую сторону. Спасибо, Женя!
@EugeneSuleimanov16 күн бұрын
Большое спасибо за отзыв! Рад, что материал оказался полезен :)
@Devivl17 күн бұрын
С гитхабом хороший пример придумал. Отличный урок. Спасибо, Женя.
@EugeneSuleimanov17 күн бұрын
Спасибо за отзыв, Виталий!
@dmitry_shelemekh17 күн бұрын
@EugeneSuleimanov 2:51:21 а почему зависимость io.r2dbc:r2dbc-postgresql а не org.postgresql:r2dbc-postgresql ?
@EugeneSuleimanov17 күн бұрын
Спасибо за вопрос. Чаще работаю с ней, поэтому взял эту зависимость.
@alevadnaya17 күн бұрын
Очень полезное видео и сколько труда вложено, благодарю!
@EugeneSuleimanov17 күн бұрын
Большое спасибо за отзыв!
@caffeinejavacode147518 күн бұрын
топ
@EugeneSuleimanov18 күн бұрын
Спасибо за поддержку!
@vladik_vinogradik18 күн бұрын
Евгений, приветствую! При тестировании сервисного слоя ( 1:15:00 и далее ) мы присваиваем методам мока репозитория findByEmail и getById поведение, которым они не обладают и обладать, в моём понимании, не должны - пробрасывание исключений. Не было бы правильнее делать .willReturn(null) ? И уже этот null обрабатывать в методе сервиса и дожидаться проброса исключения там? Просто в моём понимании мы не тестируем функциональность по пробросу исключений в методе сервиса при получении null от репозитория. Надеюсь понятно написал) Для наглядности укажу код : Метод из ролика : -- public void givenIncorrectEmail_whenGetDeveloperByEmail_thanExceptionIsThrown() { //given BDDMockito.given(repository.findByEmail(anyString())) .willThrow(DeveloperIsNotExistException.class); //when assertThrows(DeveloperIsNotExistException.class, ()-> serviceUnderTest.getDeveloperByEmail(DataUtils.getJohnScottTransient().getEmail())); //then } Мой метод : -- public void givenIncorrectEmail_whenGetDeveloperByEmail_thanExceptionIsThrown() { //given BDDMockito.given( repository.findByEmail(anyString())) .willReturn(null); //when assertThrows(DeveloperIsNotExistException.class, ()-> serviceUnderTest.getDeveloperByEmail(DataUtils.getJohnScottTransient().getEmail())); //then }
Помогите разобраться, плиз! А что мы пытаемся протестировать, когда задаем BDDMockito результат, который хотим получить? Тесты ведь никогда не упадут, т.к. мы указали результат, который получим (при вызове методов репозитория или сервиса), а затем проверили наличие его же. Или я чего то не понимаю...
@UGEEGO14 күн бұрын
Тестируются методы, в них есть логика и есть данные, некоторые данные мы можем прописать на месте, но некоторые идут к нам из каких-то источников, так вот мокито нам позволяет прописать данные для источников. В мокито не прописывается логика всего метода, а только данные для одно из источников.
@caffeinejavacode147522 күн бұрын
Спасибо за видео. Видите ли вы roadmap для среднего Java разработчика в сегодняшних реалих? Немного не понял какую експертность мне нужно иметь
@EugeneSuleimanov22 күн бұрын
Спасибо за отзыв! Если резюмировать, то мое мнение такое: 1. Высокий уровень знаний/умений (экспертность) в конкретной технологии/технологиях. 2. Высокий уровень знаний/умений в домене (фин.тех., ИИ, высокие нагрузки и т.д.).
@alevadnaya25 күн бұрын
Огромное спасибо за ваш труд, Евгений
@EugeneSuleimanov25 күн бұрын
Спасибо за поддержку!
@miami-life26 күн бұрын
Евген красавчік!!! Дуже гарно все пояснив, детально структуровано!! Дуже хотілося б почути від тебе розбори і приклади створення високонавантажених розподілених систем типу Нетфлікс, Ютуб.. Дякую за твою роботу!
@kergshi984726 күн бұрын
Не понимаю людей ,которые пишут про понятное объяснение. Что тут понятно? Для чего куча всего этого создается? Ничего не понятно. А статичный метод? Серьезно? А если на разработчиков всех языков программирования выводить,то какое же это полотно получится. Что за бред? И сколько будет доп класс с переопределенными методами,в которых будет выводиться строка под каждого. Это же с ума сойти можно. Я не разработчик,может сейчас фигню сморожу. Но не проще было бы сделать,что бы этот статичный метод принимал не строку с названием специальности а ОБЪЕКТ? Интерфейс ,блин. И в main вместо строки лямбду передавать. И не придется каждый раз при добавлении нового создавать доп классы, лепить доп условия.
@user-pc9jp2fs1v28 күн бұрын
Лучшее объясние во всём рунете!
@kensaitakeso28 күн бұрын
Спасибо, Женя! по качеству этот материал намного превосходит все подобные платные курсы. я бы не пожалел даже купить такое.
@EugeneSuleimanov28 күн бұрын
Большое спасибо за поддержку!
@Steklopod28 күн бұрын
Четко 👍🏻
@EugeneSuleimanov28 күн бұрын
Спасибо за отзыв!
@MrRomanvideo29 күн бұрын
Нужно ли делать showPageContent() - с модификатором доступа protected?
@davitkostandyan5103Ай бұрын
Низкий поклон к твоему труду, спасибо большое, за то, что ты делаешь!
@EugeneSuleimanovАй бұрын
Спасибо за поддержку!
@tiy2000Ай бұрын
3:40:52 не понял, зачем в entity сетится email? Ведь мы проверяем изменение email, поэтому в сущности должен быть старый email, а в dto - новый. Или я чего-то не понимаю?
@immortal-spirit-13Ай бұрын
Так и не понял а как же у вас отработало на 2:17:57? мы падаем с NPE когда в контролере используем сохранение в сервисе developerService.saveDeveloper(entity)
@davitkostandyan5103Ай бұрын
Как всегда все максимально понятно, спаси большое за твой труд!
@EugeneSuleimanovАй бұрын
Большое спасибо за отзыв!
@arturfrimu4161Ай бұрын
Это самый лучший канал по Java)
@EugeneSuleimanovАй бұрын
Спасибо за поддержку :)
@igorpavlenkov3658Ай бұрын
Евгений, спасибо за отличное видео!)
@EugeneSuleimanovАй бұрын
Спасибо за отзыв!
@user-hm8wx2us8lАй бұрын
Что с Игорем? Он отвалился?
@EugeneSuleimanovАй бұрын
Спасибо за вопрос! Да, к сожалению не смог продолжить. Быстро нашёл работу и не смог совмещать с обучением.
@user-hm8wx2us8lАй бұрын
@@EugeneSuleimanov ну удачи этому добряку)
@DevivlАй бұрын
Женя, большое спасибо за экспертизу! Очень приятно слушать тебя. Без воды, чётко и с примерами на экране. Такие знания продают, а ты делишься ими безвозмездно. Это просто не передать словами. Огромное человеческое спасибо.
@EugeneSuleimanovАй бұрын
Большое спасибо за поддержку!
@dmitry_shelemekhАй бұрын
А вот я так понял делейт сделен не идемпотентным для примера просто? Показать работу эксепшнов, да?
@EugeneSuleimanovАй бұрын
Спасибо за вопрос! Да, все верно, акцент на тестировании.
@dmitry_shelemekhАй бұрын
@@EugeneSuleimanov спасибо
@olzhastokanovАй бұрын
Это бриллиант из мира видео про программирование. Мало кому удается настолько подробно объяснить тяжелые темы доступным способом, без воды, и с максимальным количеством примеров, браво!