Media is too big
VIEW IN TELEGRAM
Пишем RestApi на SpringBoot Java + MySQL
Spring Initializr 00:00
IntellijIdea 01:34
GetMapping 04:28
Class 06:09
API Layer 08:47
PostMapping 11:20
Подключаем MySQL 13:46
Configuration 19:41
Extra Fields 21:57
DeleteMapping 23:22
PutMapping 26:37
Почти готово 31:42
Обработка исключений 31:59
Унифицируем Response 39:56
источник
👉@BookJava
Spring Initializr 00:00
IntellijIdea 01:34
GetMapping 04:28
Class 06:09
API Layer 08:47
PostMapping 11:20
Подключаем MySQL 13:46
Configuration 19:41
Extra Fields 21:57
DeleteMapping 23:22
PutMapping 26:37
Почти готово 31:42
Обработка исключений 31:59
Унифицируем Response 39:56
источник
👉@BookJava
👍4
Media is too big
VIEW IN TELEGRAM
Два SpringBoot проекта за час: Web и Reactive
Пишем сервис коротких ссылок 2 раза.
В обычном исполнении и в reactive.
База данных - Redis.
00:00 Задача
02:06 Spring Initialzr
03:27 AnotherRedisClient
04:22 IntelliJ IDEA Spring Web
06:05 Общий и не общий код
06:24 Queue
10:29 Class для хранения в BD
11:47 RedisConfiguration
15:09 Service работы со ссылками
20:54 Job имитация активности
25:19 SpringWeb - Готов
25:51 @ RestController
29:09 IntelliJ IDEA Reactive Web
30:01 LinksService interface
32:19 LinkServiceReactive #1
32:41 RedisConfiguration Reactive
37:35 LinksServiceReactive #2
40:30 Job Reactive
46:00 Важный фальстарт
48:08 Reactive Rest Controller
50:19 ShellScript
57:18 Bash Test
1:00:34 Мега вывод)
источник
👉@BookJava
Пишем сервис коротких ссылок 2 раза.
В обычном исполнении и в reactive.
База данных - Redis.
00:00 Задача
02:06 Spring Initialzr
03:27 AnotherRedisClient
04:22 IntelliJ IDEA Spring Web
06:05 Общий и не общий код
06:24 Queue
10:29 Class для хранения в BD
11:47 RedisConfiguration
15:09 Service работы со ссылками
20:54 Job имитация активности
25:19 SpringWeb - Готов
25:51 @ RestController
29:09 IntelliJ IDEA Reactive Web
30:01 LinksService interface
32:19 LinkServiceReactive #1
32:41 RedisConfiguration Reactive
37:35 LinksServiceReactive #2
40:30 Job Reactive
46:00 Важный фальстарт
48:08 Reactive Rest Controller
50:19 ShellScript
57:18 Bash Test
1:00:34 Мега вывод)
источник
👉@BookJava
👍7👎1
Media is too big
VIEW IN TELEGRAM
Java spring cache: основы кэширования за 16 минут
00:00 - Определение кэширования
00:25 - Пишем код примера
02:35 - Включаю кэширование, аннотации EnableCaching Cacheable
03:11 - Пример несогласованности данных
05:07 - Обновляю кэш, аннотация CachePut
06:39 - Очищаю кэш, аннотация CacheEvict
08:08 - Пример с использованием аргумента в кэшируемом методе
11:00 - Полное очищение кеша, CacheEvict (allEntries = true)
11:34 - Объявляю название кэша на все методы класса, аннотация CacheConfig
12:05 - Использую CacheManager напрямую
13:28 - Показываю класс Cache в дебаггере
14:35 - Как выглядят ключи в кэше (SimpleKey)
15:55 - Настраиваю ключ
источник
👉@BookJava
00:00 - Определение кэширования
00:25 - Пишем код примера
02:35 - Включаю кэширование, аннотации EnableCaching Cacheable
03:11 - Пример несогласованности данных
05:07 - Обновляю кэш, аннотация CachePut
06:39 - Очищаю кэш, аннотация CacheEvict
08:08 - Пример с использованием аргумента в кэшируемом методе
11:00 - Полное очищение кеша, CacheEvict (allEntries = true)
11:34 - Объявляю название кэша на все методы класса, аннотация CacheConfig
12:05 - Использую CacheManager напрямую
13:28 - Показываю класс Cache в дебаггере
14:35 - Как выглядят ключи в кэше (SimpleKey)
15:55 - Настраиваю ключ
источник
👉@BookJava
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Графический интерфейс для bash, делаем работу в командной строке удобнее
Когда пишешь код в IntelliJ IDEA, привыкаешь что везде есть подсказки, везде где можно работает комплишен, всегда можно одним кликом перейти на декларацию метода или на его юсаджи. После этого интерфейс командной строки выглядит как-то бедно. Конечно, он очень хорошо продуман, сделан настолько удобным, насколько это возможно в текстовом UI, но в графическом UI возможностей намного больше. Представляю вам плагин для JetBrains IDE, позволяющий работать в командной строке cо всеми удобствами IDE.
https://habr.com/ru/articles/715824/
👉@BookJava
Когда пишешь код в IntelliJ IDEA, привыкаешь что везде есть подсказки, везде где можно работает комплишен, всегда можно одним кликом перейти на декларацию метода или на его юсаджи. После этого интерфейс командной строки выглядит как-то бедно. Конечно, он очень хорошо продуман, сделан настолько удобным, насколько это возможно в текстовом UI, но в графическом UI возможностей намного больше. Представляю вам плагин для JetBrains IDE, позволяющий работать в командной строке cо всеми удобствами IDE.
https://habr.com/ru/articles/715824/
👉@BookJava
👍5👎1
Media is too big
VIEW IN TELEGRAM
SpringBoot + WebSocket Fullstack. Мелим муку - многопоточность Java
00:00 Описание проекта
03:31 Spring Initialzr
04:04 Директория проекта
04:36 Intellij Idea
04:44 GSON
05:33 NodeJS download
06:07 NuxtJS
08:25 Импорт UI модуля
08:53 Запускаем UI
09:22 Базовая верстка
14:24 Скачаем картинки
16:07 ProgressBar
18:56 Backend
19:25 Engine Двигатель
20:48 Цех Machine
21:23 Ресурсы мельницы
22:23 Мельница
22:56 Водяное колесо
28:11 Цех: Жернова
34:04 Мельница - Конструктор
35:35 MillState
37:02 Мельница - MillState
38:15 Наполняем MillState
39:51 MillController
42:00 MillService
47:04 Java WebSocket
50:31 Vuex
54:53 Используем Vuex в UI
56:59 Axios Proxy
59:53 WebSocket UI
01:04:07 Анимируем UI
01:10:52 Благодарность
Исходники: https://github.com/azim-ut/mill_java
источник
👉@BookJava
00:00 Описание проекта
03:31 Spring Initialzr
04:04 Директория проекта
04:36 Intellij Idea
04:44 GSON
05:33 NodeJS download
06:07 NuxtJS
08:25 Импорт UI модуля
08:53 Запускаем UI
09:22 Базовая верстка
14:24 Скачаем картинки
16:07 ProgressBar
18:56 Backend
19:25 Engine Двигатель
20:48 Цех Machine
21:23 Ресурсы мельницы
22:23 Мельница
22:56 Водяное колесо
28:11 Цех: Жернова
34:04 Мельница - Конструктор
35:35 MillState
37:02 Мельница - MillState
38:15 Наполняем MillState
39:51 MillController
42:00 MillService
47:04 Java WebSocket
50:31 Vuex
54:53 Используем Vuex в UI
56:59 Axios Proxy
59:53 WebSocket UI
01:04:07 Анимируем UI
01:10:52 Благодарность
Исходники: https://github.com/azim-ut/mill_java
источник
👉@BookJava
👍8
Многие разработчики Java часто упускают из виду возможности функционального программирования. Узнайте, как использовать цепочки Optional и Either для написания лаконичного и красивого кода.
https://dzone.com/articles/the-beauty-of-java-optional-and-either
👉@BookJava
https://dzone.com/articles/the-beauty-of-java-optional-and-either
👉@BookJava
DZone
The Beauty of Java Optional and Either
Many Java developers often overlook its functional programming capabilities. Learn how to chain Optional and Either to write concise and beautiful code.
👍1
Версионная миграция данных в мире DTO
В этой публикации я хотел бы показать несколько известных мне подходов к версионной миграции данных в контексте DTO. Примеры будут продемонстрированы на языке Java.
https://habr.com/ru/articles/720478/
👉@BookJava
В этой публикации я хотел бы показать несколько известных мне подходов к версионной миграции данных в контексте DTO. Примеры будут продемонстрированы на языке Java.
https://habr.com/ru/articles/720478/
👉@BookJava
Хабр
Версионная миграция данных в мире DTO
Доброе время суток, уважаемое Хабр коммьюнити. В этой публикации я хотел бы показать несколько известных мне подходов к версионной миграции данных в контексте DTO . Примеры будут продемонстрированы на...
👍5
Media is too big
VIEW IN TELEGRAM
Spring Security, Формы регистрации и аутентицикации.
04:00 Spring Initializr
06:24 Доп. боблиотеки
09:09 AUTH: Properties
12:17 UserDetails
16:46 UserRepository
17:45 AppUserDetailsService
19:30 AppUser + Annotations
38:33 JwtTokenFilter
44:46 WebSecurityConfig
49:54 Список фильтров
51:20 Auth: Bean package
58:39 RegistrationService
58:39 RegistrationService
1:00:07 Auth: signUpUser
1:03:37 PasswordEncoder
1:08:00 AuthController
1:20:11 LoginService
1:21:48 ProviderManager
1:27:25 Logn: проверка пароля
1:30:01 AuthenticationException
1:31:05 Что вернет Authentication?
1:37:19 Auth: Start
1:37:58 Properties debug
1:38:23 authenticationManagerBean
1:40:08 Client проект
1:40:23 Client properties.yaml
1:42:04 Client: JwtSettingsProvider
1:43:49 Client: CurrentUser
1:44:00 Clients: CurrentUserProvider
1:46:36 Client: AccessFilter
1:56:01 Auth: api/v1/auth/current
1:58:11 Auth: api/v1/auth/logout
1:59:50 Client: api/v1/client/access
2:02:09 UI: NuxtJS
2:02:16 UI: Axios Proxy
2:03:40 UI: Vuex
2:07:36 UI: HTML + формы
2:14:45 Csrf ON
2:15:08 Auth: NPE fix
2:16:12 Запуск и проверка
2:18:05 Csrf проблемка
2:20:27 Спасибо!
GitHub: https://github.com/azim-ut/spring_auth
источник
👉@BookJava
04:00 Spring Initializr
06:24 Доп. боблиотеки
09:09 AUTH: Properties
12:17 UserDetails
16:46 UserRepository
17:45 AppUserDetailsService
19:30 AppUser + Annotations
38:33 JwtTokenFilter
44:46 WebSecurityConfig
49:54 Список фильтров
51:20 Auth: Bean package
58:39 RegistrationService
58:39 RegistrationService
1:00:07 Auth: signUpUser
1:03:37 PasswordEncoder
1:08:00 AuthController
1:20:11 LoginService
1:21:48 ProviderManager
1:27:25 Logn: проверка пароля
1:30:01 AuthenticationException
1:31:05 Что вернет Authentication?
1:37:19 Auth: Start
1:37:58 Properties debug
1:38:23 authenticationManagerBean
1:40:08 Client проект
1:40:23 Client properties.yaml
1:42:04 Client: JwtSettingsProvider
1:43:49 Client: CurrentUser
1:44:00 Clients: CurrentUserProvider
1:46:36 Client: AccessFilter
1:56:01 Auth: api/v1/auth/current
1:58:11 Auth: api/v1/auth/logout
1:59:50 Client: api/v1/client/access
2:02:09 UI: NuxtJS
2:02:16 UI: Axios Proxy
2:03:40 UI: Vuex
2:07:36 UI: HTML + формы
2:14:45 Csrf ON
2:15:08 Auth: NPE fix
2:16:12 Запуск и проверка
2:18:05 Csrf проблемка
2:20:27 Спасибо!
GitHub: https://github.com/azim-ut/spring_auth
источник
👉@BookJava
👍12
Spring-потрошитель: жизненный цикл Spring Framework
Ни для кого не секрет, что Spring Framework один из самых популярных фреймворков для приложений на языке Java. Он интегрировал в себя самые полезные и актуальные технологии, такие как i18n, JPA, MVC, JMS, Cloud и т.п.
Но насколько хорошо вы знакомы с жизненным циклом фреймворка? Наверняка вы сталкивались с проблемами поднятия контекста и освобождением ресурсов при его остановке, когда проект разрастается. Сегодня я попытаюсь наглядно показать вам это.
https://habr.com/ru/articles/720794/
👉@BookJava
Ни для кого не секрет, что Spring Framework один из самых популярных фреймворков для приложений на языке Java. Он интегрировал в себя самые полезные и актуальные технологии, такие как i18n, JPA, MVC, JMS, Cloud и т.п.
Но насколько хорошо вы знакомы с жизненным циклом фреймворка? Наверняка вы сталкивались с проблемами поднятия контекста и освобождением ресурсов при его остановке, когда проект разрастается. Сегодня я попытаюсь наглядно показать вам это.
https://habr.com/ru/articles/720794/
👉@BookJava
Хабр
Spring-потрошитель: жизненный цикл Spring Framework
Введение Ни для кого не секрет, что Spring Framework один из самых популярных фреймворков для приложений на языке Java. Он интегрировал в себя самые полезные и актуальные технологии, такие как i18n,...
👍4
Media is too big
VIEW IN TELEGRAM
Диспетчерская на базе Spring и Kafka. Полный курс.
Разворачиваем кафка на Docker, слушаем, публикуем и обрабтываем сообщения с помощью Spring.
В качестве обертки - делаем проект для распределения маршрутов самолтеов.
GitHub: https://github.com/azim-ut/youtube_kafka_jet
источник
👉@BookJava
Разворачиваем кафка на Docker, слушаем, публикуем и обрабтываем сообщения с помощью Spring.
В качестве обертки - делаем проект для распределения маршрутов самолтеов.
GitHub: https://github.com/azim-ut/youtube_kafka_jet
источник
👉@BookJava
👍5🔥2❤1
Media is too big
VIEW IN TELEGRAM
Java. Класс Object. Разбор вопросов на собеседование.
В данном видео я разбираю вопросы по классу Object на собеседование для начинающих Java разработчиков. Это вопросы из моего личного списка, те что я сам время от времени задаю.
Привожу их тут, чтобы помочь в подготовке, так как практика показывает, что часто этим вопросам уделяется недостаточно внимания:
1.Все классы в Java наследуются от Object, как вы думаете, почему так сделано?
2.Можно ли создать экземпляр класса Object?
3.Зачем кому-то может понадобится создавать экземпляр класса Object?
4.Опишите методы класса Object.
5.Особенности методов wait, notify, notifyAll
6.Что такое хэш-код. Что за значение позвращает метод hashCode класса Object?
7.Как связаны между собой методы equals и hashCode? Что будет, если переопределить equals не переопределяя hashCode? Что будет если у объекта-ключа HashMap изменится хэш-код? Какие могут возникнуть проблемы?
8.Метод finalize, для чего нужен?
источник
👉@BookJava
В данном видео я разбираю вопросы по классу Object на собеседование для начинающих Java разработчиков. Это вопросы из моего личного списка, те что я сам время от времени задаю.
Привожу их тут, чтобы помочь в подготовке, так как практика показывает, что часто этим вопросам уделяется недостаточно внимания:
1.Все классы в Java наследуются от Object, как вы думаете, почему так сделано?
2.Можно ли создать экземпляр класса Object?
3.Зачем кому-то может понадобится создавать экземпляр класса Object?
4.Опишите методы класса Object.
5.Особенности методов wait, notify, notifyAll
6.Что такое хэш-код. Что за значение позвращает метод hashCode класса Object?
7.Как связаны между собой методы equals и hashCode? Что будет, если переопределить equals не переопределяя hashCode? Что будет если у объекта-ключа HashMap изменится хэш-код? Какие могут возникнуть проблемы?
8.Метод finalize, для чего нужен?
источник
👉@BookJava
👍8
Java для сисадминов
Эта статья написана в основном для системных администраторов Java-приложений (DevOps-инженеров, SRE и других производных специализаций). Вероятнее всего, Java-разработчики уже все это прекрасно знают. Хотя Junior Java-разработчикам эта информация может помочь систематизировать знания.
Статья не претендует на полноту или полную непогрешимость. Во-первых, нельзя объять необъятное. Во-вторых, все меняется и проверенные истины могут перестать быть истинами в новых версиях. В сети существует множество статей об устройствах Java, однако в этой статье в блоге ЛАНИТ я стремился сделать выжимку основных моментов, необходимых для администраторов Java-приложений. Для более глубокого погружения в тот или иной вопрос потребуется обратиться к другим источникам.
https://habr.com/ru/companies/lanit/articles/721210/
👉@BookJava
Эта статья написана в основном для системных администраторов Java-приложений (DevOps-инженеров, SRE и других производных специализаций). Вероятнее всего, Java-разработчики уже все это прекрасно знают. Хотя Junior Java-разработчикам эта информация может помочь систематизировать знания.
Статья не претендует на полноту или полную непогрешимость. Во-первых, нельзя объять необъятное. Во-вторых, все меняется и проверенные истины могут перестать быть истинами в новых версиях. В сети существует множество статей об устройствах Java, однако в этой статье в блоге ЛАНИТ я стремился сделать выжимку основных моментов, необходимых для администраторов Java-приложений. Для более глубокого погружения в тот или иной вопрос потребуется обратиться к другим источникам.
https://habr.com/ru/companies/lanit/articles/721210/
👉@BookJava
👍4
Media is too big
VIEW IN TELEGRAM
Хранилище файлов. Java + WebDav
Java + WebDav - загружаем файл на webdav через Rest запрос.
00:00 Приветствие
00:34 Spring Init
00:55 Docker Hub
01:54 docker-compose
04:25 webdav.conf
06:00 application.yaml
06:50 Sardine
07:36 WebDavConfig
09:15 WebConfig
11:40 FileService
14:09 Controller
17:22 Docker Fix
17:47 Postman
18:16 что не так?
20:46 Подписывайтесь
источник
👉@BookJava
Java + WebDav - загружаем файл на webdav через Rest запрос.
00:00 Приветствие
00:34 Spring Init
00:55 Docker Hub
01:54 docker-compose
04:25 webdav.conf
06:00 application.yaml
06:50 Sardine
07:36 WebDavConfig
09:15 WebConfig
11:40 FileService
14:09 Controller
17:22 Docker Fix
17:47 Postman
18:16 что не так?
20:46 Подписывайтесь
источник
👉@BookJava
👍5
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Java
Spring Initializr: создаём maven-проект на Java
Spring Initializr: создаём maven-проект на Java в IntelliJ Idea Ultimate Edition
Алгоритмы: пузырьковая сортировка на Java
Коллекции в Java: очередь и стек
Коллекции в Java: List, Set и Map
Парсинг HTML страниц на Java с помощью Jsoup
Алгоритмы: проверка вложенных скобок на Java
Алгоритмы: поиск простых чисел на Java
источник
👉@BookJava
Spring Initializr: создаём maven-проект на Java
Spring Initializr: создаём maven-проект на Java в IntelliJ Idea Ultimate Edition
Алгоритмы: пузырьковая сортировка на Java
Коллекции в Java: очередь и стек
Коллекции в Java: List, Set и Map
Парсинг HTML страниц на Java с помощью Jsoup
Алгоритмы: проверка вложенных скобок на Java
Алгоритмы: поиск простых чисел на Java
источник
👉@BookJava
👍7