Как настроить Spring Context
Spring Framework предлагает несколько точек расширения - Bean Post Processor, Bean Factory Post Processor, Bean Definition Registry Post Processor. В видео я рассказываю в каких случаях может быть полезным их использовать и какие задачи с их помощью можно решить.
Поддержать автора:
* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin
#SpringFramework
Spring Framework предлагает несколько точек расширения - Bean Post Processor, Bean Factory Post Processor, Bean Definition Registry Post Processor. В видео я рассказываю в каких случаях может быть полезным их использовать и какие задачи с их помощью можно решить.
Поддержать автора:
* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin
#SpringFramework
Media is too big
VIEW IN TELEGRAM
Пишем свой Spring Boot Starter
Spring Boot создает впечатление магического черного ящика за счет своих Spring Boot Starter-ов - добавляешь зависимость и как по волшебству все работает. Приоткроем завесу этой магии и напишем свой Spring Boot Starter.
Поддержать автора:
* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin
#SpringFramework
Spring Boot создает впечатление магического черного ящика за счет своих Spring Boot Starter-ов - добавляешь зависимость и как по волшебству все работает. Приоткроем завесу этой магии и напишем свой Spring Boot Starter.
Поддержать автора:
* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin
#SpringFramework
Media is too big
VIEW IN TELEGRAM
Как тестировать Spring-овые приложения?
TDD - отличный подход к разработке, так как приложение протестировано еще до того как полностью написано. Spring Framework является отличным инструментом не только для разработки, но еще и для тестирования и сегодня я покажу базовые инструменты для разработки через тестирование в Spring Framework.
Поддержать автора:
* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin
#SpringFramework
TDD - отличный подход к разработке, так как приложение протестировано еще до того как полностью написано. Spring Framework является отличным инструментом не только для разработки, но еще и для тестирования и сегодня я покажу базовые инструменты для разработки через тестирование в Spring Framework.
Поддержать автора:
* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin
#SpringFramework
Media is too big
VIEW IN TELEGRAM
Тестирование веб-приложений со Spring MVC Test
Большая часть современных приложений имеет REST API и Spring Test предоставляет богатые возможности для его тестирования. В новом видео я рассказываю какие инструменты я использую.
Поддержать автора:
* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin
#SpringFramework
Большая часть современных приложений имеет REST API и Spring Test предоставляет богатые возможности для его тестирования. В новом видео я рассказываю какие инструменты я использую.
Поддержать автора:
* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin
#SpringFramework
Media is too big
VIEW IN TELEGRAM
Merge two sorted lists - LeetCode 21
Как и любая другая задача на связные списки решается путем итерирования до тех пор, пока не наступит конец списка. В данном конкретном случае нужно итерировать сразу по двум.
Поддержать автора:
* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin
#LeetCode
Как и любая другая задача на связные списки решается путем итерирования до тех пор, пока не наступит конец списка. В данном конкретном случае нужно итерировать сразу по двум.
Поддержать автора:
* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin
#LeetCode
Media is too big
VIEW IN TELEGRAM
Тестирование слоя доступа к данным со Spring Data JPA Test
Ого, это уже гораздо интереснее - закрываем последний (на текущий момент) непротестированный слой, слой доступа к данным. В обычном спринговом приложении это Spring Data. Spring Data - это круто, если бы не магия под капотом и куча аннотаций на @Entity-классах. К счастью, Spring Test позволяет протестировать и этот слой тоже. Сегодня в выпуске - JDBC, JPA тесты и тесты с Test Containers.
Поддержать автора:
* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin
#SpringFramework
Ого, это уже гораздо интереснее - закрываем последний (на текущий момент) непротестированный слой, слой доступа к данным. В обычном спринговом приложении это Spring Data. Spring Data - это круто, если бы не магия под капотом и куча аннотаций на @Entity-классах. К счастью, Spring Test позволяет протестировать и этот слой тоже. Сегодня в выпуске - JDBC, JPA тесты и тесты с Test Containers.
Поддержать автора:
* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin
#SpringFramework
Media is too big
VIEW IN TELEGRAM
❤1
Generate Parentheses - LeetCode 22
В этот раз задачка динамического программирования, которая решается бектрекингом - генерацией следующего состояния системы до тех пор, пока некоторое условие не будет достигнуто. Таким образом, кстати, автоматизированно решаются судоку.
Поддержать автора:
* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin
#LeetCode
В этот раз задачка динамического программирования, которая решается бектрекингом - генерацией следующего состояния системы до тех пор, пока некоторое условие не будет достигнуто. Таким образом, кстати, автоматизированно решаются судоку.
Поддержать автора:
* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin
#LeetCode
Media is too big
VIEW IN TELEGRAM
End-to-end тестирование со @SpringBootTest
Заключительное видео в серии выпусков про тестирование спринговых приложений. В предыдущих выпусках я рассказал о тестировании отдельных компонентов, контроллеров и репозиториев, в этот раз все части головоломки вместе.
Поддержать автора:
* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin
#SpringFramework
Заключительное видео в серии выпусков про тестирование спринговых приложений. В предыдущих выпусках я рассказал о тестировании отдельных компонентов, контроллеров и репозиториев, в этот раз все части головоломки вместе.
Поддержать автора:
* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin
#SpringFramework
Media is too big
VIEW IN TELEGRAM
Spring Security Basics
Начинаю серию выпусков, посвященных Spring Security. В этом выпуске рассказываю самые базовые вещи:
* какую зависимость добавить, чтобы начать;
* разница между авторизацией и аутентификацией;
* хранение учетных записей пользователей в памяти и в базе данных;
* базовая авторизация на основе полномочий.
Поддержать автора:
* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin
#SpringFramework
Начинаю серию выпусков, посвященных Spring Security. В этом выпуске рассказываю самые базовые вещи:
* какую зависимость добавить, чтобы начать;
* разница между авторизацией и аутентификацией;
* хранение учетных записей пользователей в памяти и в базе данных;
* базовая авторизация на основе полномочий.
Поддержать автора:
* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin
#SpringFramework
Media is too big
VIEW IN TELEGRAM
❤1🔥1
Merge K Sorted Lists - LeetCode #23
Похожую задачку уже решали, но тогда нужно было объединить только два списка. Сейчас же решим ее в общем виде для К списков с использованием стратегии divide & conquer.
Поддержать автора:
* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin
#LeetCode
Похожую задачку уже решали, но тогда нужно было объединить только два списка. Сейчас же решим ее в общем виде для К списков с использованием стратегии divide & conquer.
Поддержать автора:
* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin
#LeetCode
Media is too big
VIEW IN TELEGRAM
❤1
Swap Nodes in k-Groups - LeetCode 25
Очень похоже на то, что мы решали недавно - swap nodes in pairs и теперь задача усложняется. В этом варианте меняем элементы не парами, а группами. На самом деле, задача сводится к задаче динамического программирования и в конце концов, к перестановке двух элементов.
Поддержать автора:
* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin
#LeetCode
Очень похоже на то, что мы решали недавно - swap nodes in pairs и теперь задача усложняется. В этом варианте меняем элементы не парами, а группами. На самом деле, задача сводится к задаче динамического программирования и в конце концов, к перестановке двух элементов.
Поддержать автора:
* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin
#LeetCode
Media is too big
VIEW IN TELEGRAM
❤4
Jackson Serialization and Deserialization
🧑💻 Лайвкодинг - сегодня это кастомизация библиотеки Jackson для сериализации и десериализации иерархии объектов.
Поддержать автора:
* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin
🧑💻 Лайвкодинг - сегодня это кастомизация библиотеки Jackson для сериализации и десериализации иерархии объектов.
Поддержать автора:
* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin
Media is too big
VIEW IN TELEGRAM
❤2
Jackson and Spring Boot
🧑💻 Лайвкодинг - сегодня пишем кастомный сериализатор и десериализатор для Jackson в Spring Boot, а потом тестируем с помощью тестового слоя @JsonTest.
Поддержать автора:
* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin
#SpringFramework
🧑💻 Лайвкодинг - сегодня пишем кастомный сериализатор и десериализатор для Jackson в Spring Boot, а потом тестируем с помощью тестового слоя @JsonTest.
Поддержать автора:
* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin
#SpringFramework
Media is too big
VIEW IN TELEGRAM
❤3
Spring Security Authorisation
Продолжаю рассказывать про Spring Security и сегодня в выпуске:
* Security Context Holder как основной держатель информации о пользователей.
* Authentication Provider и Authentication Manager - как логин и пароль из формы попадают во внутренности спринга и проверяются.
* @WithMockUser & @PreAuthotrised - аннотации для тестирования.
* И другие важные для авторизации внутренности.
Поддержать автора:
* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin
#SpringFramework
Продолжаю рассказывать про Spring Security и сегодня в выпуске:
* Security Context Holder как основной держатель информации о пользователей.
* Authentication Provider и Authentication Manager - как логин и пароль из формы попадают во внутренности спринга и проверяются.
* @WithMockUser & @PreAuthotrised - аннотации для тестирования.
* И другие важные для авторизации внутренности.
Поддержать автора:
* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin
#SpringFramework
Media is too big
VIEW IN TELEGRAM
🔥2
Database scheme migration with Flyway
🧑💻 Лайвкодинг - разбираемся как использовать Flyway для миграции схемы базы данных.
Поддержать автора:
* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin
🧑💻 Лайвкодинг - разбираемся как использовать Flyway для миграции схемы базы данных.
Поддержать автора:
* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin
Media is too big
VIEW IN TELEGRAM
Jooq Basics
🧑💻 Лайвкодинг - используем Jooq для работы с базой данных.
Поддержать автора:
* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin
🧑💻 Лайвкодинг - используем Jooq для работы с базой данных.
Поддержать автора:
* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin
Media is too big
VIEW IN TELEGRAM
Jooq Joins
🧑💻 Лайвкодинг - продолжаем с Jooq и выполняем агрегацию записей и извлекаем записи из связанных таблиц.
Поддержать автора:
* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin
🧑💻 Лайвкодинг - продолжаем с Jooq и выполняем агрегацию записей и извлекаем записи из связанных таблиц.
Поддержать автора:
* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin
Media is too big
VIEW IN TELEGRAM
Remove Duplicates from Sorted Array и Remove Element - LeetCode 26 и 27
Обе задачки начального уровня, но для решения нужно постараться обходить массив от начала до конца только один раз.
Поддержать автора:
* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin
#LeetCode
Обе задачки начального уровня, но для решения нужно постараться обходить массив от начала до конца только один раз.
Поддержать автора:
* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin
#LeetCode
Media is too big
VIEW IN TELEGRAM
👍2❤1
Media is too big
VIEW IN TELEGRAM
Google Login and Spring Security - Weekly Tips 17
🧑💻 Лайвкодинг - как сделать вход через Google в своем приложении всего в несколько строчек кода.
* Google API Credentials - куда зайти в Google Cloud Console чтобы разрешить своему приложению авторизовывать через Google Account.
* Spring Security OAuth2 Client - добавляем и настраиваем зависимость.
* Смотрим на то, как это работает под капотом.
Поддержать автора:
* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin
#SpringFramework
🧑💻 Лайвкодинг - как сделать вход через Google в своем приложении всего в несколько строчек кода.
* Google API Credentials - куда зайти в Google Cloud Console чтобы разрешить своему приложению авторизовывать через Google Account.
* Spring Security OAuth2 Client - добавляем и настраиваем зависимость.
* Смотрим на то, как это работает под капотом.
Поддержать автора:
* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin
#SpringFramework
🔥3
Find a First occurrence in a String - LeetCode 27
Продолжаю решать задачки с LeetCode и сегодня это реализация метода indexOf, который есть почти во всех языках программирования.
Ссылки: Ссылка на задачу | Patreon (если вы не в России) | Boosty (если вы в России) | #LeetCode
Продолжаю решать задачки с LeetCode и сегодня это реализация метода indexOf, который есть почти во всех языках программирования.
Ссылки: Ссылка на задачу | Patreon (если вы не в России) | Boosty (если вы в России) | #LeetCode
Media is too big
VIEW IN TELEGRAM
👍2