здравствуйте, недавно ввели виртуальные потоки, но я в целом возможно из-за ненасмотренности не встречал асинхронность (реактивность) в тандеме с многопоточностью. Все книги которые читал по многопоточке были с примерами на чистой джаве, а спринг продвигает концепцию асинхронщины и реактивности. Если можно, можете записать ролик о возможностях использования многопоточки в микросервисах и возможно даже тандем реактивщины и многопоточки. Особенно интересно было бы увидеть на примере модных виртуальных потоков. Спасибо за все что вы делаете
Под капотом у реактивных стримов используется многопоточность - каждая задача в может исполняться в отдельном потоке из выделенного пула потоков. Виртуальные потоки и реактивные стримы, по сути, реализуют одну и ту же задачу - позволяют потоку исполнения переключаться между задачами при появлении блокирующих задач, поэтому не думаю, что есть смысл объединять реактивные стримы с виртуальными потоками, но поддержка виртуальных потоков есть в Project Reactor)
Favorite and favourite mean the same thing. However, the spelling varies depending on whether you're using UK or US English: In US English, “favorite” (no “u”) is standard. In UK English, “favourite” (with a “u”) is correct.
Очень крутой видос, много полезной инфы, но не совсем понятны три момента: 1) для получения списка избранного мы вытягиваем из стороннего сервиса ВСЕ товары, после чего только фильтруем, разве так делают? можно как-будто сразу запрашивать список товаров по готовому у нас списку идентификаторов, разве нет? 2) при отправке отзыва мы осуществляем повторные запросы за данными по товару и по избванному. Для чего это? Почему не использовать готовые данные, мы ведь их уже запросили и получили. 3) зачем при запросе страницы товара мы тащим из таблички избранного его сущность, чтобы потом передавать константный флаг в модель? почему просто не запросить из БД этот флаг (наличие или отсутствие такой сущности), тем самым избежав лишних преобразований, маппинга в сущность из БД и лишнего кода в контроллере?
1. Ну вообще да, тут логичнее было сначала получить список идентификаторов избранных товаров, а потом получить список товаров 2. Данные для товара запрашиваются специально, чтобы не было попыток добавить отзыв к несуществующему товару. Остальное получается уже при ошибке валидации. Этих данных на данном этапе уже нет, т.к. мы их получали в предыдущем запросе. 3. Не спорю, можно сделать проще
@shurik_codes На 25:50 при попытке зайти на страницу накладка получается. Вероятно в каталоге отключена аутентификация. Т.к. если идти последовательно после предыдущих роликов, то новые сервис будет выдавать ошибку 401.
Есть смысл сейчас погружаться в Флакс, делать новые проекты на нем, с учётом того, что есть 21 джава с её виртуальными потоками, и уже поддержка их в спринг Буте?
Здравствуйте! В примере работает на порту 8082, но если кейклок включен, то при запуске появляется сообщение данный порт занят. Вы данный сервис включали с выключенным кейклоком?
подскажите пожалуйста, почему themleaf не хочет обрабатывать Mono, выходит ошибка Property or field 'title' cannot be found on object of type 'reactor.core.publisher.MonoFlatMap' - maybe not public or not valid?
Привет, я прост делаю авторизацию, ну тренируюсь) и у меня почему-то форбиден при использование круд запросов, но регистрация и вход работает правильно, можно-ли получить помощь?
Автор, я в шоке от твоих видео, очень высокое качество, куда лучше чем примеры из документаций, надеюсь и дальше получать уведомления о новом видео :)
Про flux прямо то, что ждал
отличный контент, очень полезно, вы Учитель, с большой буквы!
Спасибо за полезный материал!
Ура. Новый урок
круто, хороший план)
Спасибо, узнал много нового
здравствуйте, недавно ввели виртуальные потоки, но я в целом возможно из-за ненасмотренности не встречал асинхронность (реактивность) в тандеме с многопоточностью. Все книги которые читал по многопоточке были с примерами на чистой джаве, а спринг продвигает концепцию асинхронщины и реактивности. Если можно, можете записать ролик о возможностях использования многопоточки в микросервисах и возможно даже тандем реактивщины и многопоточки. Особенно интересно было бы увидеть на примере модных виртуальных потоков. Спасибо за все что вы делаете
Под капотом у реактивных стримов используется многопоточность - каждая задача в может исполняться в отдельном потоке из выделенного пула потоков. Виртуальные потоки и реактивные стримы, по сути, реализуют одну и ту же задачу - позволяют потоку исполнения переключаться между задачами при появлении блокирующих задач, поэтому не думаю, что есть смысл объединять реактивные стримы с виртуальными потоками, но поддержка виртуальных потоков есть в Project Reactor)
Favorite and favourite mean the same thing. However, the spelling varies depending on whether you're using UK or US English: In US English, “favorite” (no “u”) is standard. In UK English, “favourite” (with a “u”) is correct.
Очень крутой видос, много полезной инфы, но не совсем понятны три момента:
1) для получения списка избранного мы вытягиваем из стороннего сервиса ВСЕ товары, после чего только фильтруем, разве так делают? можно как-будто сразу запрашивать список товаров по готовому у нас списку идентификаторов, разве нет?
2) при отправке отзыва мы осуществляем повторные запросы за данными по товару и по избванному. Для чего это? Почему не использовать готовые данные, мы ведь их уже запросили и получили.
3) зачем при запросе страницы товара мы тащим из таблички избранного его сущность, чтобы потом передавать константный флаг в модель? почему просто не запросить из БД этот флаг (наличие или отсутствие такой сущности), тем самым избежав лишних преобразований, маппинга в сущность из БД и лишнего кода в контроллере?
1. Ну вообще да, тут логичнее было сначала получить список идентификаторов избранных товаров, а потом получить список товаров
2. Данные для товара запрашиваются специально, чтобы не было попыток добавить отзыв к несуществующему товару. Остальное получается уже при ошибке валидации. Этих данных на данном этапе уже нет, т.к. мы их получали в предыдущем запросе.
3. Не спорю, можно сделать проще
Я сейчас читаю Олег Докука, Игорь Лозинский - Практика реактивного программирования в Spring 5, тоже мне кажется, не плохая книга)
Возможно, не читал
реактивка рулит)
Верно ли я понял, что в промышленной разработке Spring WebFlux и Project Reactor сейчас использовать правильнее, чем Executors с CompletableFuture?
@shurik_codes На 25:50 при попытке зайти на страницу накладка получается. Вероятно в каталоге отключена аутентификация. Т.к. если идти последовательно после предыдущих роликов, то новые сервис будет выдавать ошибку 401.
Действительно, я этот момент даже не подсветил
@@shurik_codes Наверное, можно в описании под роликом это подсветить. Заодно проверить как люди читают ))
Есть смысл сейчас погружаться в Флакс, делать новые проекты на нем, с учётом того, что есть 21 джава с её виртуальными потоками, и уже поддержка их в спринг Буте?
Для расширения кругозора и понимания реактивных шаблонов проектирования - почему бы и нет.
Плюс далеко не факт, что у тебя в продакшене будет 21 версия или выше)
Здравствуйте! В примере работает на порту 8082, но если кейклок включен, то при запуске появляется сообщение данный порт занят. Вы данный сервис включали с выключенным кейклоком?
Да, всё верно, я где-то упустил этот момент, порт должен быть 8083, т.к. на 8082 крутится Keycloak
Александр, а реактивные веб-приложения вы часто применяете в проде?
Нет, не часто, да и с появлением виртуальных потоков реактивные стримы стали менее актуальными
подскажите пожалуйста, почему themleaf не хочет обрабатывать Mono, выходит ошибка Property or field 'title' cannot be found on object of type 'reactor.core.publisher.MonoFlatMap' - maybe not public or not valid?
случайно добавил зависимость spring-boot-starter-web, отсюда проблемы
Построил crud с spring,hibernate,mysql. Куда дальше топать?
Security, OAuth/OIDC, кэширование, очереди сообщений, архитектура
@@shurik_codes будет видео про очереди сообщений??
На собес)
Привет, я прост делаю авторизацию, ну тренируюсь) и у меня почему-то форбиден при использование круд запросов, но регистрация и вход работает правильно, можно-ли получить помощь?
В первую очередь смотреть CSRF
Что случилось с автором на 15:34 :D
Голос начал садиться