Java & Spring Weekly
211 subscribers
17 photos
63 videos
55 links
Рассказываю о новинках Java & Spring Framework, выпускаю практические обучающие видео
Download Telegram
Ощущаете ли вы замедление YouTube? Если да, то на каких площадках продублировать контент?
Anonymous Poll
50%
Ощущаю😢
39%
Не ощущаю😁
14%
Не знаю, свой вариант ответа🤔
Spring Boot Observability

Собираем логи и метрики с приложения, написанного на Spring Boot. Логи в Loki, метрики в Prometheus, все смотрим в Grafana. Заодно быстро познакомимся со Spring Boot Actuator и Buildpacks.

Поддержать автора:

* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin

#SpringFramework
Media is too big
VIEW IN TELEGRAM
🔔 Если вам кажется, что старые посты пропадают, а новые появляются, то так и есть - я перезаливаю видео, чтобы не было ссылок на YouTube, а у вас была возможность смотреть видео без проблем. Постепенно, добавлю и старые посты из канала на YouTube. К сожалению, я не могу поставить видео на свои места по датам, поэтому будет как получится.

Напишите мне в комментариях, если можно как-то менять дату публикации видео.
Java & Spring Weekly pinned «🔔 Если вам кажется, что старые посты пропадают, а новые появляются, то так и есть - я перезаливаю видео, чтобы не было ссылок на YouTube, а у вас была возможность смотреть видео без проблем. Постепенно, добавлю и старые посты из канала на YouTube. К сожалению…»
Media is too big
VIEW IN TELEGRAM
Gson Serialization and Deserialization

🧑‍💻 Лайвкодинг - сегодня это кастомизация библиотеки Gson для сериализации и десериализации иерархии объектов.

Поддержать автора:

* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin
Как работает Spring Context?

Spring Framework это про Application Context и бины. В видео я рассказываю о том, как именно можно добавить определения бинов - через XML-конфигурацию, через классы с аннотацией @Configuration, через сканированием Class Path в поисках классов, аннотированных @Component.

Поддержать автора:

* Patreon (если вы не в России): https://www.patreon.com/abarmin
* Boosty (если вы в России): https://boosty.to/abarmin

#SpringFramework
Media is too big
VIEW IN TELEGRAM
Как настроить 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
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
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
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
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
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
Media is too big
VIEW IN TELEGRAM
❤1
Generate Parentheses - LeetCode 22

В этот раз задачка динамического программирования, которая решается бектрекингом - генерацией следующего состояния системы до тех пор, пока некоторое условие не будет достигнуто. Таким образом, кстати, автоматизированно решаются судоку.

Поддержать автора:

* 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
Media is too big
VIEW IN TELEGRAM
Spring Security Basics

Начинаю серию выпусков, посвященных 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
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
Media is too big
VIEW IN TELEGRAM
❤4
Jackson Serialization and Deserialization

🧑‍💻 Лайвкодинг - сегодня это кастомизация библиотеки 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
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
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
Media is too big
VIEW IN TELEGRAM