WebFlux. R2DBC с Postgres в Spring (плюс миграции с Flyway)

  Рет қаралды 23,636

letsCode

letsCode

Күн бұрын

Пікірлер: 106
@Rizomus
@Rizomus 11 ай бұрын
Дай бог тебе здоровья, добрый человек!
@СергейЧубуров
@СергейЧубуров 2 жыл бұрын
Я - человек простой: вижу видосик на letsCode - ставлю лайк) Снимаю шляпу перед автором, всё чётко, без лишней воды, и практично. Сочетание затраченное время/полученное понимание - самое лучшее среди всех ютьюб видосиков что я смотрел❤‍🔥
@rodyslavsinitsyn6812
@rodyslavsinitsyn6812 4 жыл бұрын
Жирный лайк. Запросы на апи через консоль хрома это конечно хардкор)
@sovrinfo
@sovrinfo 2 жыл бұрын
Спасибо за видео.Коммент в поддержку!
@antondoronin1261
@antondoronin1261 4 жыл бұрын
Андрей как всегда на высоте:) P.S.: забавно видеть, как крутые разрабы так же программируют методом "запустили - чёт упало - я всё понял - заработало", но делают это они быстро:)))
@Игорь-б5ц2ъ
@Игорь-б5ц2ъ 4 жыл бұрын
Магия монтажа 😁
@letsCodeDru
@letsCodeDru 4 жыл бұрын
Ну нет. Тут я почти не вырезал лишнего. Пору 20-30 секундный мычание только.
@letsCodeDru
@letsCodeDru 4 жыл бұрын
Ну опытные разрабы тоже ошибаются. Особенно на технологиях, которые ещё не использовали мильён раз в проектах. Какие-то простые вещи бывает пишу с первого раза и сразу удачно, но это обычно что-то до абсолютно понятное. Опытные водители тоже всех ямок объехать не могут, а те, что есть объезжают быстро и с тряской)
@IsaTimur
@IsaTimur 4 жыл бұрын
@@letsCodeDru что тут крутого, это реально доступный и понятный язык и аналогии, которые приводишь, спасибо Андрей
@yuriihizun7183
@yuriihizun7183 4 жыл бұрын
Клас, круто, и все ставим лайк.
@stas4985
@stas4985 4 жыл бұрын
захожу каждые 3 дня проверять когда ждать новую серию
@barrettkepler7618
@barrettkepler7618 2 жыл бұрын
Спасибо большое!
@pompei2
@pompei2 4 жыл бұрын
классно, всё понятно, теперь я умею реактивить в яве. Благодарность автору от души
@yerzhanmeshitbayev6812
@yerzhanmeshitbayev6812 2 жыл бұрын
Крутой канал, круто автор!!!
@zhenyalee2731
@zhenyalee2731 4 жыл бұрын
посмотрел 3 видео о webFlux. Очень крутые и информативные видео!Ещё много видео на канале , которые очень интересны для меня. Буду смотреть! Подписался!
@takhir.atamuratov
@takhir.atamuratov 4 жыл бұрын
Коротко и ясно, то что надо! Благодарность автору за видео!
@Lolikon929
@Lolikon929 3 жыл бұрын
вырос на твоих видосах
@vadympylypchenko5801
@vadympylypchenko5801 4 жыл бұрын
Спасибо за твои видео
@MiSaxap
@MiSaxap Жыл бұрын
Спасибо!) интересно что вы думаете про Liquibase vs Flyway
@phil2964
@phil2964 3 жыл бұрын
Спаисбо, прет норм)
@ZemT861
@ZemT861 4 жыл бұрын
Наконец-то я понял больше чем не понял. Хорошие заметки, очень полезно
@malloc9365
@malloc9365 4 жыл бұрын
Спасибо за видео, оч интересно!
@tonyv3gas
@tonyv3gas 4 жыл бұрын
все чотко по полкам!
@ВадимМитин-и1т
@ВадимМитин-и1т 4 жыл бұрын
Балдежный туториал
@PitiedSpace
@PitiedSpace 4 жыл бұрын
Как раз изучаю R2DBC, видео в тему! Я рад! Ты самый лучший!
@oleksandrdyachuk3951
@oleksandrdyachuk3951 3 жыл бұрын
Спасибо огромное - материал бомба!
@samokysha
@samokysha 4 жыл бұрын
Спасибо за крутой видосик) Мотивация прёт, уже вторую неделю пилю свой пет-проект)
@notanord
@notanord 4 жыл бұрын
Крутой видос!
@nikitaantonenko3287
@nikitaantonenko3287 4 жыл бұрын
Спасибо огромное!)) Очень интересное и полезное видео))
@wouchref2501
@wouchref2501 4 жыл бұрын
Прикольно, но хотелось бы еще глянуть на функциональный подход) В любом случае спасибо за годноту)
@ЛёхаКорчагин-ю7т
@ЛёхаКорчагин-ю7т 3 жыл бұрын
Отличное видео! Хотелось бы еще видос с разбором правильного построения тестов под webFlux и вообще реактивного стиля...
@Максон-ъ1ь
@Максон-ъ1ь 4 жыл бұрын
как раз сейчас перехожу на реактивщину, как закрепление прочтенного в доках - гуд ) больше дичи!) спасибо
@jdjekfhoe
@jdjekfhoe 4 жыл бұрын
А вы работаете спринг разработчиком?
@ЕвгенийЯкшин-ж8щ
@ЕвгенийЯкшин-ж8щ 4 жыл бұрын
осознанный комментарий для продвижения дичи
@vadympylypchenko5801
@vadympylypchenko5801 4 жыл бұрын
Ох, печально за 10 дней и 500 лайков нет, а плейлист то супер интересный мог бы выйти.
@letsCodeDru
@letsCodeDru 4 жыл бұрын
Вот че-то да. Больше просили :(
@Oleg77777100
@Oleg77777100 4 жыл бұрын
@@letsCodeDru максимальные просмотры на нубовых темах, а до реактивных соединений с БД даже не у всех сеньоров руки дошли, еще доберутся)
@eugenea7469
@eugenea7469 3 жыл бұрын
По поводу ОРМ, недавно вышел реактивный JOOQ
@Oleg77777100
@Oleg77777100 4 жыл бұрын
Крутое видео, спасибо! Что думаешь о сравнении Flyway и Liquibase ?!
@bearbear4893
@bearbear4893 4 жыл бұрын
Почаще про какие-либо подводные камни сообщай) конечно набитые шишки дольше помнятся, но лучше их поменьше)
@ДмитрийКомаров-е7ъ
@ДмитрийКомаров-е7ъ 4 жыл бұрын
Андрей, как обычно круто Но почему ты выбрал подход через контроллеры, а не через хэндлеры? Спасибо
@letsCodeDru
@letsCodeDru 4 жыл бұрын
Меньше букаф писать. Читать привычней. Переезжать с готовым кодом проще.
@MrGrzegorz
@MrGrzegorz 4 жыл бұрын
Цитата люблю я так писать код :)
@malkovmaksim2698
@malkovmaksim2698 4 жыл бұрын
Начал смотеть думая о том, что о сейчас расскажут про github.com/davidmoten/rxjava2-jdbc Ждем следующих серий
@andrewblack1684
@andrewblack1684 4 жыл бұрын
А чего йамл свойства не используешь? Или ностальгия по пропертям?
@FlawlessVictory-j8j
@FlawlessVictory-j8j 4 жыл бұрын
Есть ReactiveMongo от спринга.
@ЄгорПавленко-м4ь
@ЄгорПавленко-м4ь 4 жыл бұрын
17:03 Насколько помню, документация Postgresql рекомендует для VARCHAR размер не указывать для performance. P.S. www.postgresql.org/docs/11/datatype-character.html Tip There is no performance difference among these three types, apart from increased storage space when using the blank-padded type, and a few extra CPU cycles to check the length when storing into a length-constrained column. While character(n) has performance advantages in some other database systems, there is no such advantage in PostgreSQL; in fact character(n) is usually the slowest of the three because of its additional storage costs. In most situations text or character varying should be used instead. Хотя, перечитал, это скорее про character(n), чем varchar(n)
@ЄгорПавленко-м4ь
@ЄгорПавленко-м4ь 4 жыл бұрын
Хотя, перечитал, это скорее про character(n), чем varchar(n): www.postgresql.org/docs/11/datatype-character.html Tip There is no performance difference among these three types, apart from increased storage space when using the blank-padded type, and a few extra CPU cycles to check the length when storing into a length-constrained column. While character(n) has performance advantages in some other database systems, there is no such advantage in PostgreSQL; in fact character(n) is usually the slowest of the three because of its additional storage costs. In most situations text or character varying should be used instead.
@zawesome899
@zawesome899 4 жыл бұрын
На варчар тоже никто не ставит;)
@matwego
@matwego 4 жыл бұрын
Андрей, привет, спасибо за видео! Только почему не используешь аннотацию @RequiredArgsConstructor ? Удобнее ведь :)
@letsCodeDru
@letsCodeDru 4 жыл бұрын
Использую, когда уместна
@zawesome899
@zawesome899 4 жыл бұрын
@@letsCodeDru Она очень уместна при инжекте бинов, вместо конструктора с автовайром)
@IIJustIIsicariusII
@IIJustIIsicariusII 2 жыл бұрын
Сейчас уже(Spring boot 2.6.3) с такими зависимостями добавляет: implementation 'org.springframework:spring-jdbc'
@taras7630
@taras7630 4 жыл бұрын
Первый
@anu8is930
@anu8is930 4 жыл бұрын
А как же Linux?))) Спасибо за видос, ждем следующую серию)
@letsCodeDru
@letsCodeDru 4 жыл бұрын
Ноут сломался, перебивают на десктопе
@РоманВладимирович2024
@РоманВладимирович2024 2 жыл бұрын
Что может послужить причиной, для того чтобы переписать jdbc на r2dbc?
@haimlvov10
@haimlvov10 4 жыл бұрын
Здравствуйте! Спасибо за видео! Хотел спросить, какой Linux distribution Вы используете?
@renniqs1084
@renniqs1084 4 жыл бұрын
Тут винда((
@victormog
@victormog 4 жыл бұрын
😁
@aiwprton805
@aiwprton805 4 жыл бұрын
нафик он нужен на десктопе?
@andreyy.k.9775
@andreyy.k.9775 3 жыл бұрын
зачем делать конструкторы у сервисов, когда у ломбока есть наташка "RequiredArgsConstructor" которая все final переменные пихает в конструктор? спасибо за видео, было интересно!
@ИльяДрозд-и3ш
@ИльяДрозд-и3ш 4 жыл бұрын
Почему для отправки запросов не используете Postman? Так ведь гораздо удобнее
@Ivan54r
@Ivan54r 4 жыл бұрын
в идеи же можноspring init кликать
@МаксимКанунников-з1б
@МаксимКанунников-з1б 3 жыл бұрын
Даёшь ReactiveMongoRepository ? ), а еще удобно делать запросы через файл HTTP Request в Idea
@ЄгорПавленко-м4ь
@ЄгорПавленко-м4ь 4 жыл бұрын
Кто-нибудь продакшн уже делал с R2DBC? Можно уже использовать?
@stas4985
@stas4985 4 жыл бұрын
можно
@alexander.shakhov
@alexander.shakhov 4 жыл бұрын
Возможно удобнее было бы автору создавать базу тоже на лету, shell скриптом например и поднимать db в докере? А за видос спасибо! Лайк!
@explo9087
@explo9087 3 жыл бұрын
скачал проект. но почему то не происходит сохранения в базу. ошибки никакой не выдает. а в базе пусто.
@КириллЛомовской
@КириллЛомовской 3 жыл бұрын
А что будет если с WebFlux использовать обычный репозиторий не реактивный, по идее все равно каждый запрос к БД будет обрабатываться, в отдельно потоке, и приложение будет реактивным, только разница, в том, что запросы к БД будут блокирующими, но работать то будет нормально так?
@Kitty-w6q7p
@Kitty-w6q7p 7 ай бұрын
Насколько WebFlux актуален сегодня при том что завезли виртуальные потоки?
@TrololoWoT
@TrololoWoT 4 жыл бұрын
возможно глупый вопрос, но почему не генерируете проект сразу в idea?
@letsCodeDru
@letsCodeDru 4 жыл бұрын
Хз. Привычка, походу
@fachelgo5202
@fachelgo5202 4 жыл бұрын
хелп , пишу "id bigserial primary key " в файле V1__Initial_db.sql, а он пишет что "unable to resolve object type bigserial"
@gwelwan
@gwelwan 4 жыл бұрын
А github.com/hibernate/hibernate-rx разве не ORM с поддержкой реактивности ?
@ЄгорПавленко-м4ь
@ЄгорПавленко-м4ь 4 жыл бұрын
This project is still at an experimental stage of development. Со страницы по ссылке.
@Taluksya
@Taluksya 4 жыл бұрын
если много компонентов нужно автовайрить в классе вы их тоже в конструктор ставите?
@antondoronin1261
@antondoronin1261 4 жыл бұрын
Да, но у нас есть ломбок. @RequiredArgsConstructor сделает это за нас
@gaben-agent
@gaben-agent 4 жыл бұрын
ну, насколько я понимаю, лучше всегда создавать все через миграцию, особенно если разработка идет в несколько лиц. Лучше уж сразу так делать. Кстати, почему не liquibase?
@letsCodeDru
@letsCodeDru 4 жыл бұрын
Люблю sql. Привык к flyway
@ЄгорПавленко-м4ь
@ЄгорПавленко-м4ь 4 жыл бұрын
​@@letsCodeDru Кстати недавно выбирал между ними. Интересно Ваше мнение. Мои краткие выводы были такие: For DB migrations was chosen Liquibase tool between Liquibase and Flyway (both represented in Spring starter tool). Reason: Liquibase has rollback in free version. Еще я не включал migration tool в pom.xml: Liquibase is not incorporated to Spring project itself (not in pom.xml) because in that case it run migrations on app start which is bad practice as I think.
@seatconnect224
@seatconnect224 2 жыл бұрын
не совсем понял суть WebFlux и R2DBC в данном примере, если в конце пришлось обновить страницу, чтобы записи обновились )
@ИльдарШаяхметов-о3ь
@ИльдарШаяхметов-о3ь 4 жыл бұрын
А будет ли webflux с каким-нибудь js фреймворком, типо react
@IsaTimur
@IsaTimur 4 жыл бұрын
бери простой webflux и простой jhipster с React-ом )
@alexeysharandin7364
@alexeysharandin7364 4 жыл бұрын
Взять тот же FE сарафан и мигрировать бэкэнд на флюкс.
@stas4985
@stas4985 4 жыл бұрын
что угодно только не реакт,да и походу он решил через мусташ делать
@romanroman6326
@romanroman6326 4 жыл бұрын
Блин, ребят, давайте поднажмем до 500. Месяц уже продолжения нет
@gaben-agent
@gaben-agent 4 жыл бұрын
лол, так эта хрень вообще не ORM. Я понимаю, более эффективная работа с бд. А если у меня миллиард one/many-to-many связей в бд, я могу тут что-то прикрутить на уровне OneToMany аннотаций, чтобы все автоматом прилетало? Или (возможно пока) придется страдать написанием нативного sql над методами репозитория, как только появляется какая-то из таких связей?
@bearbear4893
@bearbear4893 4 жыл бұрын
Дожмите 500, камоооооооон
@ИльдарШаяхметов-о3ь
@ИльдарШаяхметов-о3ь 4 жыл бұрын
С монгой можно было, там есть реактив
@letsCodeDru
@letsCodeDru 4 жыл бұрын
Не люблю монгу)
@MrAPPOLON123
@MrAPPOLON123 2 жыл бұрын
я так и не понял, тот же контроллер, тот же сервис и репо, а где реактивщина? кроме моно и флакс ниче не поменялось
@СергейКрылов-ж4н
@СергейКрылов-ж4н 4 жыл бұрын
Завозим фуру лайков
@IsaTimur
@IsaTimur 4 жыл бұрын
@letsCode Андрей к ссылке на гит репо приклеилось словоSpring а вот рабочая ссылка github.com/drucoder/catalizator/tree/R2DBC_flyway
@KyivanEnjoyer
@KyivanEnjoyer 4 жыл бұрын
Ужасное видео! Опять бекенд не на NodeJS. Лайк) Кстати, я Flyway пользуюсь, мне никаких доп зависимостей не нужно ;/
@letsCodeDru
@letsCodeDru 4 жыл бұрын
С чем используешь? С spring data? Jpa? Они напару тянут jdbc в транзитивных зависимостях. Ессно тогда не надо отдельно указывать
@KyivanEnjoyer
@KyivanEnjoyer 4 жыл бұрын
@@letsCodeDru а ну да, spring-data-jpa :) буду знать) это когда начал изучать спринг сразу с спринг бута )00
@КоноваловАлександр-т5ж
@КоноваловАлександр-т5ж 4 жыл бұрын
какая то не понятная дичь....Надо пересмотреть и ознакомиться с р2дбс
@victormog
@victormog 4 жыл бұрын
Боюсь показаться тупым, но хотя бы два слова, в чём прикол от R2DBC?!
@letsCodeDru
@letsCodeDru 4 жыл бұрын
Не надо бояться, глупо выглядит тот, кто не понял и не спросил. Реактивный драйвер позволяет более эффективно использовать подключение к бд. Быстрее оно работать не станет, но под большими нагрузками меньше шансов получить отвалившихся клиентов. Более разумное расходование ресурсов как бонус. Т.е. все те же плюсы, что и в реактивном вэбе
@alexeyskakun1088
@alexeyskakun1088 4 жыл бұрын
​@@letsCodeDruНемного добавлю: JDBC априори технология на блокировках, следовательно никак не получиться использовать в реактивнхы приложениях. Ранее спринг умел только реактивные Mongo репозитории (так как реактивный драйвер был), были попытки написать какие-то реактивные дравера для RDBMS, но это не было стандартом! R2DBC Во всяком случае внятная штука, идущая к стандарту (r2dbc.io/). Т.е. Кратко: R2DBC это когда хочеться WebFlux и Reactor в приложении но так же хочеться RDBMS.
@СергейВладимирович-щ5о6ъ
@СергейВладимирович-щ5о6ъ 4 жыл бұрын
Что произошло на 03:38 ? дизлайк ловите за такое!)
@СергейВладимирович-щ5о6ъ
@СергейВладимирович-щ5о6ъ 4 жыл бұрын
откуда этот код?
@dariadralina502
@dariadralina502 2 жыл бұрын
Спасибо за видео!
🔒WebFlux. Spring Security
19:06
letsCode
Рет қаралды 15 М.
WebFlux. Реактивный web с Spring Java
22:41
letsCode
Рет қаралды 63 М.
Сестра обхитрила!
00:17
Victoria Portfolio
Рет қаралды 958 М.
Apache Camel. Малоизвестный комбайн
37:57
Project Reactor - реактивная Java
27:27
letsCode
Рет қаралды 50 М.
Простой HTTP сервер. #1
24:22
letsCode
Рет қаралды 28 М.
JMX - админка на минималках
22:17
letsCode
Рет қаралды 16 М.
WebFlux: JWT
28:06
letsCode
Рет қаралды 18 М.
Про Kafka (основы)
49:23
Владимир Богдановский
Рет қаралды 421 М.
Сестра обхитрила!
00:17
Victoria Portfolio
Рет қаралды 958 М.